@hyperline/cli 0.1.0-build.1.027b80a → 0.1.0-build.1.02c8787
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 +1239 -790
- package/package.json +1 -1
|
@@ -34985,10 +34985,10 @@ var require_shared = __commonJS({
|
|
|
34985
34985
|
ZodId: () => ZodId,
|
|
34986
34986
|
ZodTranslationsSchemaFn: () => ZodTranslationsSchemaFn
|
|
34987
34987
|
});
|
|
34988
|
-
var
|
|
34988
|
+
var import_zod23 = require_lib();
|
|
34989
34989
|
var countryIds2 = ["all", ...countries.map(({ id }) => id)];
|
|
34990
|
-
var ZodId =
|
|
34991
|
-
var ZodTranslationsSchemaFn = (schema) =>
|
|
34990
|
+
var ZodId = import_zod23.z.enum(countryIds2);
|
|
34991
|
+
var ZodTranslationsSchemaFn = (schema) => import_zod23.z.record(import_zod23.z.string(), schema.optional());
|
|
34992
34992
|
var UsStates = [
|
|
34993
34993
|
{ id: "AA", name: "Armed Forces Americas" },
|
|
34994
34994
|
{ id: "AE", name: "Armed Forces Europe" },
|
|
@@ -36287,14 +36287,14 @@ var require_shared = __commonJS({
|
|
|
36287
36287
|
ZodNumberCurrencyPositiveValue: () => ZodNumberCurrencyPositiveValue,
|
|
36288
36288
|
ZodNumberCurrencyPositiveValueExcludingZero: () => ZodNumberCurrencyPositiveValueExcludingZero
|
|
36289
36289
|
});
|
|
36290
|
-
var
|
|
36291
|
-
var ZodCurrencyId =
|
|
36290
|
+
var import_zod24 = require_lib();
|
|
36291
|
+
var ZodCurrencyId = import_zod24.z.enum(
|
|
36292
36292
|
all_default.map(({ id }) => id)
|
|
36293
36293
|
);
|
|
36294
|
-
var ZodNumberCurrency =
|
|
36295
|
-
var ZodNumberCurrencyPositiveValue =
|
|
36296
|
-
var ZodNumberCurrencyPositiveValueExcludingZero =
|
|
36297
|
-
var ZodCurrencyMap =
|
|
36294
|
+
var ZodNumberCurrency = import_zod24.z.string().or(import_zod24.z.number().transform((number4) => number4)).transform((number4) => number4);
|
|
36295
|
+
var ZodNumberCurrencyPositiveValue = import_zod24.z.number().min(0).transform((number4) => number4).transform((number4) => number4);
|
|
36296
|
+
var ZodNumberCurrencyPositiveValueExcludingZero = import_zod24.z.number().gt(0).transform((number4) => number4).transform((number4) => number4);
|
|
36297
|
+
var ZodCurrencyMap = import_zod24.z.record(ZodNumberCurrency).refine(
|
|
36298
36298
|
(data) => Object.keys(data).every((key) => ZodCurrencyId.safeParse(key).success),
|
|
36299
36299
|
{
|
|
36300
36300
|
message: "Invalid currency key.",
|
|
@@ -38864,7 +38864,7 @@ Examples:
|
|
|
38864
38864
|
// build/commands/generated/accounting-rules.js
|
|
38865
38865
|
function registerAccounting_RulesCommands(parent) {
|
|
38866
38866
|
const resource = parent.command("accounting-rules").description("Manage accounting > rules");
|
|
38867
|
-
resource.command("list").description(`Retrieve existing accounting rules with optional filtering.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `ledger_id`).option("--ledger-id.not <value>", `ledger_id__not`).option("--ledger-id.
|
|
38867
|
+
resource.command("list").description(`Retrieve existing accounting rules with optional filtering.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `ledger_id`).option("--ledger-id.not <value>", `ledger_id__not`).option("--ledger-id.equals <value>", `ledger_id__equals`).option("--ledger-id.contains <value>", `ledger_id__contains`).option("--ledger-id.starts-with <value>", `ledger_id__startsWith`).option("--ledger-id.end-with <value>", `ledger_id__endWith`).option("--category <value>", `category`).option("--category.not <value>", `category__not`).option("--category.equals <value>", `category__equals`).option("--category.contains <value>", `category__contains`).option("--category.starts-with <value>", `category__startsWith`).option("--category.end-with <value>", `category__endWith`).addHelpText("after", `
|
|
38868
38868
|
Examples:
|
|
38869
38869
|
hyperline accounting-rules list
|
|
38870
38870
|
hyperline accounting-rules list --take <take> --ledger-id <ledger_id>`).action(async (opts) => {
|
|
@@ -38878,10 +38878,6 @@ Examples:
|
|
|
38878
38878
|
args.ledger_id = opts.ledgerId;
|
|
38879
38879
|
if (opts["ledgerId.not"] !== void 0)
|
|
38880
38880
|
args.ledger_id__not = opts["ledgerId.not"];
|
|
38881
|
-
if (opts["ledgerId.isNull"] !== void 0)
|
|
38882
|
-
args.ledger_id__isNull = opts["ledgerId.isNull"];
|
|
38883
|
-
if (opts["ledgerId.isNotNull"] !== void 0)
|
|
38884
|
-
args.ledger_id__isNotNull = opts["ledgerId.isNotNull"];
|
|
38885
38881
|
if (opts["ledgerId.equals"] !== void 0)
|
|
38886
38882
|
args.ledger_id__equals = opts["ledgerId.equals"];
|
|
38887
38883
|
if (opts["ledgerId.contains"] !== void 0)
|
|
@@ -38894,10 +38890,6 @@ Examples:
|
|
|
38894
38890
|
args.category = opts.category;
|
|
38895
38891
|
if (opts["category.not"] !== void 0)
|
|
38896
38892
|
args.category__not = opts["category.not"];
|
|
38897
|
-
if (opts["category.isNull"] !== void 0)
|
|
38898
|
-
args.category__isNull = opts["category.isNull"];
|
|
38899
|
-
if (opts["category.isNotNull"] !== void 0)
|
|
38900
|
-
args.category__isNotNull = opts["category.isNotNull"];
|
|
38901
38893
|
if (opts["category.equals"] !== void 0)
|
|
38902
38894
|
args.category__equals = opts["category.equals"];
|
|
38903
38895
|
if (opts["category.contains"] !== void 0)
|
|
@@ -38919,16 +38911,12 @@ Examples:
|
|
|
38919
38911
|
"skip",
|
|
38920
38912
|
"ledger_id",
|
|
38921
38913
|
"ledger_id__not",
|
|
38922
|
-
"ledger_id__isNull",
|
|
38923
|
-
"ledger_id__isNotNull",
|
|
38924
38914
|
"ledger_id__equals",
|
|
38925
38915
|
"ledger_id__contains",
|
|
38926
38916
|
"ledger_id__startsWith",
|
|
38927
38917
|
"ledger_id__endWith",
|
|
38928
38918
|
"category",
|
|
38929
38919
|
"category__not",
|
|
38930
|
-
"category__isNull",
|
|
38931
|
-
"category__isNotNull",
|
|
38932
38920
|
"category__equals",
|
|
38933
38921
|
"category__contains",
|
|
38934
38922
|
"category__startsWith",
|
|
@@ -39008,7 +38996,7 @@ Examples:
|
|
|
39008
38996
|
queryParamKeys: []
|
|
39009
38997
|
});
|
|
39010
38998
|
});
|
|
39011
|
-
resource.command("create").description(`Create a new accounting rule for account code routing or journal posting, with the filters, accounts and required fields the rule editor applies to its category.`).option("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).option("--name <value>", `Optional user-defined name for the rule.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).requiredOption("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).option("--custom-property-filters <json>", `Invoice custom property filters. A rule matches only when every entry matches (AND across entries), and an entry matches when the invoice value is one of its \`values\` (any-of). Matching is strict: an invoice without a value for the property never matches. Each entry adds 10 to the \`suggested_priority\` returned by the rule defaults endpoint. Allowed on invoice_posted, invoice_settled, revenue_recognition, credit_note_created and accounting_software (invoice side) rules. An invoice_settled rule with filters cannot set \`payments_clearing_ledger_account_id\`, as PSP payouts are booked without the invoice. Empty means match all.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible.
|
|
38999
|
+
resource.command("create").description(`Create a new accounting rule for account code routing or journal posting, with the filters, accounts and required fields the rule editor applies to its category.`).option("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).option("--name <value>", `Optional user-defined name for the rule.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).requiredOption("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).option("--custom-property-filters <json>", `Invoice custom property filters. A rule matches only when every entry matches (AND across entries), and an entry matches when the invoice value is one of its \`values\` (any-of). Matching is strict: an invoice without a value for the property never matches. Each entry adds 10 to the \`suggested_priority\` returned by the rule defaults endpoint. Allowed on invoice_posted, invoice_settled, revenue_recognition, credit_note_created and accounting_software (invoice side) rules. An invoice_settled rule with filters cannot set \`payments_clearing_ledger_account_id\`, as PSP payouts are booked without the invoice. Empty means match all.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing. Must be a \`revenue\` account. On accounting_software rules, a \`revenue\` or \`contra_revenue\` account with entity_type invoice, an \`asset\` or \`contra_asset\` account with entity_type payment.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized. Must be a \`liability\` account.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized. Must be an \`asset\` or \`contra_liability\` account.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue. Must be a \`contra_revenue\` account.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts. Must be a \`contra_revenue\` account.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting. Must be an \`asset\` account.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement. Must be an \`asset\` account.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle. Must be an \`asset\` account.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability. Must be a \`liability\` account.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible. Must be an \`asset\` account, for doubtful-receivable reclassification, or an \`expense\` account, for direct write-off.`).option("--allowance-for-doubtful-accounts-id <value>", `Allowance for doubtful accounts ledger account ID, set on credit_note_created rules. Must be a \`contra_asset\` account.`).option("--provider-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment provider fees when a payment settles. Must be an \`expense\` account.`).option("--payment-processing-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment processing fees when a payment settles. Takes precedence over \`provider_fees_expense_ledger_account_id\` when set by the same or a higher priority rule. Must be an \`expense\` account.`).option("--payment-processing-fees-revenue-ledger-account-id <value>", `Payment processing fees revenue ledger account ID, set on invoice_settled rules. Must be a \`revenue\` account.`).option("--customer-credits-ledger-account-id <value>", `Customer credits ledger account ID used for credit balances. Must be a \`liability\` account.`).option("--rev-rec-method <value>", `Revenue recognition method.`).option("--rev-rec-granularity <value>", `Recognition period granularity. Used when \`rev_rec_method\` is \`over_time\`.`).option("--rev-rec-point-in-time-basis <value>", `Date revenue is recognized on. Used when \`rev_rec_method\` is \`point_in_time\`.`).option("--discount-recognition-method <value>", `Method used to recognize discounts.`).option("--journal-id <value>", `Journal ID used to route entries in the accounting provider.`).option("--entity-type <value>", `Entity type the rule applies to.`).addHelpText("after", `
|
|
39012
39000
|
Examples:
|
|
39013
39001
|
hyperline accounting-rules create --category <category> --priority <priority>
|
|
39014
39002
|
hyperline accounting-rules create --category <category> --priority <priority> --ledger-id <ledger_id> --name <name>
|
|
@@ -39108,7 +39096,7 @@ Examples:
|
|
|
39108
39096
|
queryParamKeys: []
|
|
39109
39097
|
});
|
|
39110
39098
|
});
|
|
39111
|
-
resource.command("update").description(`Update an existing accounting rule, with the filters, accounts and required fields the rule editor applies to its category.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Optional user-defined name for the rule.`).option("--category <value>", `Rule category. Cannot be changed after creation, must match the current category when sent.`).option("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).option("--custom-property-filters <json>", `Invoice custom property filters. A rule matches only when every entry matches (AND across entries), and an entry matches when the invoice value is one of its \`values\` (any-of). Matching is strict: an invoice without a value for the property never matches. Each entry adds 10 to the \`suggested_priority\` returned by the rule defaults endpoint. Allowed on invoice_posted, invoice_settled, revenue_recognition, credit_note_created and accounting_software (invoice side) rules. An invoice_settled rule with filters cannot set \`payments_clearing_ledger_account_id\`, as PSP payouts are booked without the invoice. Empty means match all.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible.
|
|
39099
|
+
resource.command("update").description(`Update an existing accounting rule, with the filters, accounts and required fields the rule editor applies to its category.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Optional user-defined name for the rule.`).option("--category <value>", `Rule category. Cannot be changed after creation, must match the current category when sent.`).option("--priority <number>", `Override order. Higher priority wins when multiple rules match.`).option("--product-ids <json>", `Product IDs to match. Empty means match all.`).option("--product-types <json>", `Product types to match. Allowed values: flat_fee, dynamic, seat, credit. Empty means match all.`).option("--customer-ids <json>", `Customer IDs for customer-specific overrides.`).option("--currencies <json>", `Currency codes to match (e.g. EUR, USD).`).option("--countries <json>", `Country codes for jurisdiction-based overrides.`).option("--tax-schemes <json>", `Tax schemes to match. A context without a tax scheme never matches a rule that sets this filter. Empty means match all.`).option("--tax-territories <json>", `Tax territory country codes to match. A context without a tax territory never matches a rule that sets this filter. Empty means match all.`).option("--tax-rate-classes <json>", `Tax rate classes to match. A context without a tax rate class never matches a rule that sets this filter. Empty means match all.`).option("--coupon-ids <json>", `Coupon IDs to match. Empty means match all.`).option("--client-provider-ids <json>", `Client provider IDs to match. Empty means match all.`).option("--payment-method-types <json>", `Payment method types to match. Empty means match all.`).option("--bank-account-ids <json>", `Bank account IDs to match. Empty means match all.`).option("--invoice-types <json>", `Invoice kinds to match: \`invoice\` or \`document\`. Refunds and other standard invoices match as \`invoice\`. A context without an invoice, such as a PSP payout, never matches a rule that sets this filter. Empty means match all.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).option("--custom-property-filters <json>", `Invoice custom property filters. A rule matches only when every entry matches (AND across entries), and an entry matches when the invoice value is one of its \`values\` (any-of). Matching is strict: an invoice without a value for the property never matches. Each entry adds 10 to the \`suggested_priority\` returned by the rule defaults endpoint. Allowed on invoice_posted, invoice_settled, revenue_recognition, credit_note_created and accounting_software (invoice side) rules. An invoice_settled rule with filters cannot set \`payments_clearing_ledger_account_id\`, as PSP payouts are booked without the invoice. Empty means match all.`).option("--revenue-ledger-account-id <value>", `Revenue ledger account ID used for invoice line revenue routing. Must be a \`revenue\` account. On accounting_software rules, a \`revenue\` or \`contra_revenue\` account with entity_type invoice, an \`asset\` or \`contra_asset\` account with entity_type payment.`).option("--deferred-revenue-ledger-account-id <value>", `Deferred revenue ledger account ID used before revenue is recognized. Must be a \`liability\` account.`).option("--deferred-discount-ledger-account-id <value>", `Deferred discount ledger account ID used before discounts are recognized. Must be an \`asset\` or \`contra_liability\` account.`).option("--contra-revenue-ledger-account-id <value>", `Contra revenue ledger account ID used for amounts that reduce revenue. Must be a \`contra_revenue\` account.`).option("--discount-ledger-account-id <value>", `Discount ledger account ID used for recognized discounts. Must be a \`contra_revenue\` account.`).option("--ar-ledger-account-id <value>", `Accounts receivable ledger account ID used for invoice posting. Must be an \`asset\` account.`).option("--cash-ledger-account-id <value>", `Cash ledger account ID used for payment settlement. Must be an \`asset\` account.`).option("--payments-clearing-ledger-account-id <value>", `Payments clearing ledger account ID used while payments settle. Must be an \`asset\` account.`).option("--output-tax-ledger-account-id <value>", `Output tax ledger account ID used for tax liability. Must be a \`liability\` account.`).option("--uncollectible-debit-ledger-account-id <value>", `Ledger account ID debited when an invoice becomes uncollectible. Must be an \`asset\` account, for doubtful-receivable reclassification, or an \`expense\` account, for direct write-off.`).option("--allowance-for-doubtful-accounts-id <value>", `Allowance for doubtful accounts ledger account ID, set on credit_note_created rules. Must be a \`contra_asset\` account.`).option("--provider-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment provider fees when a payment settles. Must be an \`expense\` account.`).option("--payment-processing-fees-expense-ledger-account-id <value>", `Expense ledger account ID debited for payment processing fees when a payment settles. Takes precedence over \`provider_fees_expense_ledger_account_id\` when set by the same or a higher priority rule. Must be an \`expense\` account.`).option("--payment-processing-fees-revenue-ledger-account-id <value>", `Payment processing fees revenue ledger account ID, set on invoice_settled rules. Must be a \`revenue\` account.`).option("--customer-credits-ledger-account-id <value>", `Customer credits ledger account ID used for credit balances. Must be a \`liability\` account.`).option("--rev-rec-method <value>", `Revenue recognition method.`).option("--rev-rec-granularity <value>", `Recognition period granularity. Used when \`rev_rec_method\` is \`over_time\`.`).option("--rev-rec-point-in-time-basis <value>", `Date revenue is recognized on. Used when \`rev_rec_method\` is \`point_in_time\`.`).option("--discount-recognition-method <value>", `Method used to recognize discounts.`).option("--journal-id <value>", `Journal ID used to route entries in the accounting provider.`).option("--entity-type <value>", `Entity type the rule applies to.`).addHelpText("after", `
|
|
39112
39100
|
Examples:
|
|
39113
39101
|
hyperline accounting-rules update --id <id>
|
|
39114
39102
|
hyperline accounting-rules update --id <id> --name <name> --category <category>
|
|
@@ -40505,6 +40493,71 @@ Examples:
|
|
|
40505
40493
|
});
|
|
40506
40494
|
}
|
|
40507
40495
|
|
|
40496
|
+
// build/commands/generated/ai-monitoring.js
|
|
40497
|
+
function registerAi_MonitoringCommands(parent) {
|
|
40498
|
+
const resource = parent.command("ai-monitoring").description("Manage ai > monitoring");
|
|
40499
|
+
resource.command("list-monitoring-analyses").description(`List customer health analyses from the monitoring agent, newest first: health score (0-100), tier, summary, per-dimension scores, risk factors and positive signals. Filter by customer (Hyperline or external ID) with limit=1 to get a customer's current health score, or by customer_id__in (up to 100 Hyperline IDs) for several customers; the first analysis per customer is its latest. Only completed analyses unless status is set.`).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.`).option("--customer-id <value>", `Return only analyses of this customer. Accepts the Hyperline ID or your own external ID.`).option("--customer-id.in <value>", `Comma-separated list of up to 100 Hyperline customer IDs. Return only analyses of these customers. Cannot be combined with \`customer_id\`.`).option("--status <value>", `Return only analyses with this status. Defaults to \`completed\`, the analyses that carry a score.`).option("--created-at.gte <value>", `Return only analyses created at or after this date.`).option("--created-at.lte <value>", `Return only analyses created at or before this date.`).addHelpText("after", `
|
|
40500
|
+
Examples:
|
|
40501
|
+
hyperline ai-monitoring list-monitoring-analyses
|
|
40502
|
+
hyperline ai-monitoring list-monitoring-analyses --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
40503
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40504
|
+
if (!ctx) {
|
|
40505
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40506
|
+
process.exit(1);
|
|
40507
|
+
}
|
|
40508
|
+
const args = {};
|
|
40509
|
+
if (opts.cursor !== void 0)
|
|
40510
|
+
args.cursor = opts.cursor;
|
|
40511
|
+
if (opts.includeTotal !== void 0)
|
|
40512
|
+
args.include_total = opts.includeTotal;
|
|
40513
|
+
if (opts.customerId !== void 0)
|
|
40514
|
+
args.customer_id = opts.customerId;
|
|
40515
|
+
if (opts["customerId.in"] !== void 0)
|
|
40516
|
+
args.customer_id__in = opts["customerId.in"];
|
|
40517
|
+
if (opts.status !== void 0)
|
|
40518
|
+
args.status = opts.status;
|
|
40519
|
+
if (opts["createdAt.gte"] !== void 0)
|
|
40520
|
+
args.created_at__gte = opts["createdAt.gte"];
|
|
40521
|
+
if (opts["createdAt.lte"] !== void 0)
|
|
40522
|
+
args.created_at__lte = opts["createdAt.lte"];
|
|
40523
|
+
if (opts.limit !== void 0)
|
|
40524
|
+
args.limit = Number(opts.limit);
|
|
40525
|
+
await ctx.execute({
|
|
40526
|
+
method: "GET",
|
|
40527
|
+
path: "/v1/agents/monitoring/analyses",
|
|
40528
|
+
args,
|
|
40529
|
+
queryParamKeys: [
|
|
40530
|
+
"limit",
|
|
40531
|
+
"cursor",
|
|
40532
|
+
"include_total",
|
|
40533
|
+
"customer_id",
|
|
40534
|
+
"customer_id__in",
|
|
40535
|
+
"status",
|
|
40536
|
+
"created_at__gte",
|
|
40537
|
+
"created_at__lte"
|
|
40538
|
+
]
|
|
40539
|
+
});
|
|
40540
|
+
});
|
|
40541
|
+
resource.command("get-monitoring-analysis").description(`Get one customer health analysis by ID: health score (0-100), tier, summary, per-dimension scores, risk factors and positive signals.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
40542
|
+
Examples:
|
|
40543
|
+
hyperline ai-monitoring get-monitoring-analysis --id <id>`).action(async (opts) => {
|
|
40544
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40545
|
+
if (!ctx) {
|
|
40546
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40547
|
+
process.exit(1);
|
|
40548
|
+
}
|
|
40549
|
+
const args = {};
|
|
40550
|
+
if (opts.id !== void 0)
|
|
40551
|
+
args.id = opts.id;
|
|
40552
|
+
await ctx.execute({
|
|
40553
|
+
method: "GET",
|
|
40554
|
+
path: "/v1/agents/monitoring/analyses/{id}",
|
|
40555
|
+
args,
|
|
40556
|
+
queryParamKeys: []
|
|
40557
|
+
});
|
|
40558
|
+
});
|
|
40559
|
+
}
|
|
40560
|
+
|
|
40508
40561
|
// build/commands/generated/analytics.js
|
|
40509
40562
|
function registerAnalyticsCommands(parent) {
|
|
40510
40563
|
const resource = parent.command("analytics").description("Manage analytics");
|
|
@@ -40664,7 +40717,7 @@ Examples:
|
|
|
40664
40717
|
queryParamKeys: ["take", "skip"]
|
|
40665
40718
|
});
|
|
40666
40719
|
});
|
|
40667
|
-
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 <json>", `
|
|
40720
|
+
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 <json>", `Products the coupon is scoped to, read together with \`product_scope\`: the only discounted products when \`include\`, the products never discounted when \`exclude\`, empty when \`all\`.`).option("--product-scope <value>", `Which products the coupon discounts. \`all\`: every product (\`product_ids\` must be empty). \`include\`: only the products in \`product_ids\`. \`exclude\`: every product except those in \`product_ids\` (lines without a product stay discounted). \`include\` and \`exclude\` require a non-empty \`product_ids\`. When omitted on create/update, it is inferred: \`include\` if \`product_ids\` is non-empty, \`all\` otherwise. Integrations that read \`product_ids\` without \`product_scope\` will misread an \`exclude\` list as the products the coupon applies to.`).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 <json>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).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", `
|
|
40668
40721
|
Examples:
|
|
40669
40722
|
hyperline coupons create --name <name> --type <type>
|
|
40670
40723
|
hyperline coupons create --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -40681,6 +40734,8 @@ Examples:
|
|
|
40681
40734
|
args.description = opts.description;
|
|
40682
40735
|
if (opts.expirationDate !== void 0)
|
|
40683
40736
|
args.expiration_date = opts.expirationDate;
|
|
40737
|
+
if (opts.productScope !== void 0)
|
|
40738
|
+
args.product_scope = opts.productScope;
|
|
40684
40739
|
if (opts.repeat !== void 0)
|
|
40685
40740
|
args.repeat = opts.repeat;
|
|
40686
40741
|
if (opts.type !== void 0)
|
|
@@ -40724,7 +40779,7 @@ Examples:
|
|
|
40724
40779
|
queryParamKeys: []
|
|
40725
40780
|
});
|
|
40726
40781
|
});
|
|
40727
|
-
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 <json>", `
|
|
40782
|
+
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 <json>", `Products the coupon is scoped to, read together with \`product_scope\`: the only discounted products when \`include\`, the products never discounted when \`exclude\`, empty when \`all\`.`).option("--product-scope <value>", `Which products the coupon discounts. \`all\`: every product (\`product_ids\` must be empty). \`include\`: only the products in \`product_ids\`. \`exclude\`: every product except those in \`product_ids\` (lines without a product stay discounted). \`include\` and \`exclude\` require a non-empty \`product_ids\`. When omitted on create/update, it is inferred: \`include\` if \`product_ids\` is non-empty, \`all\` otherwise. Integrations that read \`product_ids\` without \`product_scope\` will misread an \`exclude\` list as the products the coupon applies to.`).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 <json>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).option("--properties <json>", `Key/value pairs to store any metadata useful in your context.`).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", `
|
|
40728
40783
|
Examples:
|
|
40729
40784
|
hyperline coupons update --id <id> --name <name> --type <type>
|
|
40730
40785
|
hyperline coupons update --id <id> --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -40743,6 +40798,8 @@ Examples:
|
|
|
40743
40798
|
args.description = opts.description;
|
|
40744
40799
|
if (opts.expirationDate !== void 0)
|
|
40745
40800
|
args.expiration_date = opts.expirationDate;
|
|
40801
|
+
if (opts.productScope !== void 0)
|
|
40802
|
+
args.product_scope = opts.productScope;
|
|
40746
40803
|
if (opts.repeat !== void 0)
|
|
40747
40804
|
args.repeat = opts.repeat;
|
|
40748
40805
|
if (opts.type !== void 0)
|
|
@@ -40799,7 +40856,7 @@ Examples:
|
|
|
40799
40856
|
// build/commands/generated/coupons-promotion-codes.js
|
|
40800
40857
|
function registerCoupons_Promotion_CodesCommands(parent) {
|
|
40801
40858
|
const resource = parent.command("coupons-promotion-codes").description("Manage coupons > promotion codes");
|
|
40802
|
-
resource.command("list-promotion-codes").description(`List promotion codes with optional filter by coupon_id. Promotion codes are shareable codes that reference a coupon. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--coupon-id <value>", `coupon_id`).option("--coupon-id.not <value>", `coupon_id__not`).option("--coupon-id.
|
|
40859
|
+
resource.command("list-promotion-codes").description(`List promotion codes with optional filter by coupon_id. Promotion codes are shareable codes that reference a coupon. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--coupon-id <value>", `coupon_id`).option("--coupon-id.not <value>", `coupon_id__not`).option("--coupon-id.equals <value>", `coupon_id__equals`).option("--coupon-id.contains <value>", `coupon_id__contains`).option("--coupon-id.starts-with <value>", `coupon_id__startsWith`).option("--coupon-id.end-with <value>", `coupon_id__endWith`).addHelpText("after", `
|
|
40803
40860
|
Examples:
|
|
40804
40861
|
hyperline coupons-promotion-codes list-promotion-codes
|
|
40805
40862
|
hyperline coupons-promotion-codes list-promotion-codes --take <take> --coupon-id <coupon_id>`).action(async (opts) => {
|
|
@@ -40813,10 +40870,6 @@ Examples:
|
|
|
40813
40870
|
args.coupon_id = opts.couponId;
|
|
40814
40871
|
if (opts["couponId.not"] !== void 0)
|
|
40815
40872
|
args.coupon_id__not = opts["couponId.not"];
|
|
40816
|
-
if (opts["couponId.isNull"] !== void 0)
|
|
40817
|
-
args.coupon_id__isNull = opts["couponId.isNull"];
|
|
40818
|
-
if (opts["couponId.isNotNull"] !== void 0)
|
|
40819
|
-
args.coupon_id__isNotNull = opts["couponId.isNotNull"];
|
|
40820
40873
|
if (opts["couponId.equals"] !== void 0)
|
|
40821
40874
|
args.coupon_id__equals = opts["couponId.equals"];
|
|
40822
40875
|
if (opts["couponId.contains"] !== void 0)
|
|
@@ -40838,8 +40891,6 @@ Examples:
|
|
|
40838
40891
|
"skip",
|
|
40839
40892
|
"coupon_id",
|
|
40840
40893
|
"coupon_id__not",
|
|
40841
|
-
"coupon_id__isNull",
|
|
40842
|
-
"coupon_id__isNotNull",
|
|
40843
40894
|
"coupon_id__equals",
|
|
40844
40895
|
"coupon_id__contains",
|
|
40845
40896
|
"coupon_id__startsWith",
|
|
@@ -41093,7 +41144,15 @@ Examples:
|
|
|
41093
41144
|
// build/commands/generated/customers.js
|
|
41094
41145
|
function registerCustomersCommands(parent) {
|
|
41095
41146
|
const resource = parent.command("customers").description("Manage customers");
|
|
41096
|
-
resource.command("list").description(`List customers with optional filters for name, type, status, currency, country, external_id, billing_email, search, tax_id, subscription_status, invoicing_entity_id, segment_id, custom_properties, payment_method_type, integration_entity_id, created_at, and updated_at. Sortable by created_at or updated_at. Paginated with limit/cursor.`).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.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--
|
|
41147
|
+
resource.command("list").description(`List customers with optional filters for name, type, status, currency, country, external_id, billing_email, search, tax_id, tax_id_status, subscription_status, invoicing_entity_id, segment_id, custom_properties, payment_method_type, integration_entity_id, created_at, and updated_at. Sortable by created_at or updated_at. Paginated with limit/cursor.`).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.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--tax-id-status <value>", `
|
|
41148
|
+
Verification status of the customer tax ID.
|
|
41149
|
+
|
|
41150
|
+
- \`valid\`: Tax ID has been verified and is valid.
|
|
41151
|
+
- \`invalid\`: Tax ID has been verified and is invalid.
|
|
41152
|
+
- \`mismatch\`: Tax ID is valid but is for a different country than the customer's country.
|
|
41153
|
+
- \`unverified\`: Tax ID has not been verified yet.
|
|
41154
|
+
- \`unsupported\`: Tax ID verification for this type not supported yet.
|
|
41155
|
+
`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).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("--type <value>", `type`).option("--type.in <value>", `type__in`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--currency <value>", `currency`).option("--currency.not <value>", `currency__not`).option("--currency.equals <value>", `currency__equals`).option("--currency.contains <value>", `currency__contains`).option("--currency.starts-with <value>", `currency__startsWith`).option("--currency.end-with <value>", `currency__endWith`).option("--currency.is-null <value>", `currency__isNull`).option("--currency.is-not-null <value>", `currency__isNotNull`).option("--country <value>", `country`).option("--country.not <value>", `country__not`).option("--country.equals <value>", `country__equals`).option("--country.contains <value>", `country__contains`).option("--country.starts-with <value>", `country__startsWith`).option("--country.end-with <value>", `country__endWith`).option("--country.is-null <value>", `country__isNull`).option("--country.is-not-null <value>", `country__isNotNull`).option("--external-id <value>", `external_id`).option("--external-id.not <value>", `external_id__not`).option("--external-id.equals <value>", `external_id__equals`).option("--external-id.contains <value>", `external_id__contains`).option("--external-id.starts-with <value>", `external_id__startsWith`).option("--external-id.end-with <value>", `external_id__endWith`).option("--external-id.is-null <value>", `external_id__isNull`).option("--external-id.is-not-null <value>", `external_id__isNotNull`).option("--billing-email <value>", `billing_email`).option("--billing-email.not <value>", `billing_email__not`).option("--billing-email.equals <value>", `billing_email__equals`).option("--billing-email.contains <value>", `billing_email__contains`).option("--billing-email.starts-with <value>", `billing_email__startsWith`).option("--billing-email.end-with <value>", `billing_email__endWith`).option("--billing-email.is-null <value>", `billing_email__isNull`).option("--billing-email.is-not-null <value>", `billing_email__isNotNull`).option("--search <value>", `search`).option("--tax-id <value>", `tax_id`).option("--tax-id.not <value>", `tax_id__not`).option("--tax-id.equals <value>", `tax_id__equals`).option("--tax-id.contains <value>", `tax_id__contains`).option("--tax-id.starts-with <value>", `tax_id__startsWith`).option("--tax-id.end-with <value>", `tax_id__endWith`).option("--tax-id.is-null <value>", `tax_id__isNull`).option("--tax-id.is-not-null <value>", `tax_id__isNotNull`).option("--subscription-status <value>", `subscription_status`).option("--subscription-status.in <value>", `subscription_status__in`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--invoicing-entity-id.not <value>", `invoicing_entity_id__not`).option("--invoicing-entity-id.equals <value>", `invoicing_entity_id__equals`).option("--invoicing-entity-id.contains <value>", `invoicing_entity_id__contains`).option("--invoicing-entity-id.starts-with <value>", `invoicing_entity_id__startsWith`).option("--invoicing-entity-id.end-with <value>", `invoicing_entity_id__endWith`).option("--segment-id <value>", `segment_id`).option("--custom-properties <value>", `custom_properties`).option("--payment-method-type <value>", `payment_method_type`).option("--payment-method-type.in <value>", `payment_method_type__in`).option("--integration-entity-id <value>", `integration_entity_id`).option("--created-at <value>", `created_at`).option("--created-at.not <value>", `created_at__not`).option("--created-at.equals <value>", `created_at__equals`).option("--created-at.lt <value>", `created_at__lt`).option("--created-at.lte <value>", `created_at__lte`).option("--created-at.gt <value>", `created_at__gt`).option("--created-at.gte <value>", `created_at__gte`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
41097
41156
|
Examples:
|
|
41098
41157
|
hyperline customers list
|
|
41099
41158
|
hyperline customers list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -41111,14 +41170,12 @@ Examples:
|
|
|
41111
41170
|
args.order = opts.order;
|
|
41112
41171
|
if (opts.sort !== void 0)
|
|
41113
41172
|
args.sort = opts.sort;
|
|
41173
|
+
if (opts.taxIdStatus !== void 0)
|
|
41174
|
+
args.tax_id_status = opts.taxIdStatus;
|
|
41114
41175
|
if (opts.name !== void 0)
|
|
41115
41176
|
args.name = opts.name;
|
|
41116
41177
|
if (opts["name.not"] !== void 0)
|
|
41117
41178
|
args.name__not = opts["name.not"];
|
|
41118
|
-
if (opts["name.isNull"] !== void 0)
|
|
41119
|
-
args.name__isNull = opts["name.isNull"];
|
|
41120
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
41121
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
41122
41179
|
if (opts["name.equals"] !== void 0)
|
|
41123
41180
|
args.name__equals = opts["name.equals"];
|
|
41124
41181
|
if (opts["name.contains"] !== void 0)
|
|
@@ -41139,10 +41196,6 @@ Examples:
|
|
|
41139
41196
|
args.currency = opts.currency;
|
|
41140
41197
|
if (opts["currency.not"] !== void 0)
|
|
41141
41198
|
args.currency__not = opts["currency.not"];
|
|
41142
|
-
if (opts["currency.isNull"] !== void 0)
|
|
41143
|
-
args.currency__isNull = opts["currency.isNull"];
|
|
41144
|
-
if (opts["currency.isNotNull"] !== void 0)
|
|
41145
|
-
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
41146
41199
|
if (opts["currency.equals"] !== void 0)
|
|
41147
41200
|
args.currency__equals = opts["currency.equals"];
|
|
41148
41201
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -41151,14 +41204,14 @@ Examples:
|
|
|
41151
41204
|
args.currency__startsWith = opts["currency.startsWith"];
|
|
41152
41205
|
if (opts["currency.endWith"] !== void 0)
|
|
41153
41206
|
args.currency__endWith = opts["currency.endWith"];
|
|
41207
|
+
if (opts["currency.isNull"] !== void 0)
|
|
41208
|
+
args.currency__isNull = opts["currency.isNull"];
|
|
41209
|
+
if (opts["currency.isNotNull"] !== void 0)
|
|
41210
|
+
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
41154
41211
|
if (opts.country !== void 0)
|
|
41155
41212
|
args.country = opts.country;
|
|
41156
41213
|
if (opts["country.not"] !== void 0)
|
|
41157
41214
|
args.country__not = opts["country.not"];
|
|
41158
|
-
if (opts["country.isNull"] !== void 0)
|
|
41159
|
-
args.country__isNull = opts["country.isNull"];
|
|
41160
|
-
if (opts["country.isNotNull"] !== void 0)
|
|
41161
|
-
args.country__isNotNull = opts["country.isNotNull"];
|
|
41162
41215
|
if (opts["country.equals"] !== void 0)
|
|
41163
41216
|
args.country__equals = opts["country.equals"];
|
|
41164
41217
|
if (opts["country.contains"] !== void 0)
|
|
@@ -41167,14 +41220,14 @@ Examples:
|
|
|
41167
41220
|
args.country__startsWith = opts["country.startsWith"];
|
|
41168
41221
|
if (opts["country.endWith"] !== void 0)
|
|
41169
41222
|
args.country__endWith = opts["country.endWith"];
|
|
41223
|
+
if (opts["country.isNull"] !== void 0)
|
|
41224
|
+
args.country__isNull = opts["country.isNull"];
|
|
41225
|
+
if (opts["country.isNotNull"] !== void 0)
|
|
41226
|
+
args.country__isNotNull = opts["country.isNotNull"];
|
|
41170
41227
|
if (opts.externalId !== void 0)
|
|
41171
41228
|
args.external_id = opts.externalId;
|
|
41172
41229
|
if (opts["externalId.not"] !== void 0)
|
|
41173
41230
|
args.external_id__not = opts["externalId.not"];
|
|
41174
|
-
if (opts["externalId.isNull"] !== void 0)
|
|
41175
|
-
args.external_id__isNull = opts["externalId.isNull"];
|
|
41176
|
-
if (opts["externalId.isNotNull"] !== void 0)
|
|
41177
|
-
args.external_id__isNotNull = opts["externalId.isNotNull"];
|
|
41178
41231
|
if (opts["externalId.equals"] !== void 0)
|
|
41179
41232
|
args.external_id__equals = opts["externalId.equals"];
|
|
41180
41233
|
if (opts["externalId.contains"] !== void 0)
|
|
@@ -41183,14 +41236,14 @@ Examples:
|
|
|
41183
41236
|
args.external_id__startsWith = opts["externalId.startsWith"];
|
|
41184
41237
|
if (opts["externalId.endWith"] !== void 0)
|
|
41185
41238
|
args.external_id__endWith = opts["externalId.endWith"];
|
|
41239
|
+
if (opts["externalId.isNull"] !== void 0)
|
|
41240
|
+
args.external_id__isNull = opts["externalId.isNull"];
|
|
41241
|
+
if (opts["externalId.isNotNull"] !== void 0)
|
|
41242
|
+
args.external_id__isNotNull = opts["externalId.isNotNull"];
|
|
41186
41243
|
if (opts.billingEmail !== void 0)
|
|
41187
41244
|
args.billing_email = opts.billingEmail;
|
|
41188
41245
|
if (opts["billingEmail.not"] !== void 0)
|
|
41189
41246
|
args.billing_email__not = opts["billingEmail.not"];
|
|
41190
|
-
if (opts["billingEmail.isNull"] !== void 0)
|
|
41191
|
-
args.billing_email__isNull = opts["billingEmail.isNull"];
|
|
41192
|
-
if (opts["billingEmail.isNotNull"] !== void 0)
|
|
41193
|
-
args.billing_email__isNotNull = opts["billingEmail.isNotNull"];
|
|
41194
41247
|
if (opts["billingEmail.equals"] !== void 0)
|
|
41195
41248
|
args.billing_email__equals = opts["billingEmail.equals"];
|
|
41196
41249
|
if (opts["billingEmail.contains"] !== void 0)
|
|
@@ -41199,16 +41252,16 @@ Examples:
|
|
|
41199
41252
|
args.billing_email__startsWith = opts["billingEmail.startsWith"];
|
|
41200
41253
|
if (opts["billingEmail.endWith"] !== void 0)
|
|
41201
41254
|
args.billing_email__endWith = opts["billingEmail.endWith"];
|
|
41255
|
+
if (opts["billingEmail.isNull"] !== void 0)
|
|
41256
|
+
args.billing_email__isNull = opts["billingEmail.isNull"];
|
|
41257
|
+
if (opts["billingEmail.isNotNull"] !== void 0)
|
|
41258
|
+
args.billing_email__isNotNull = opts["billingEmail.isNotNull"];
|
|
41202
41259
|
if (opts.search !== void 0)
|
|
41203
41260
|
args.search = opts.search;
|
|
41204
41261
|
if (opts.taxId !== void 0)
|
|
41205
41262
|
args.tax_id = opts.taxId;
|
|
41206
41263
|
if (opts["taxId.not"] !== void 0)
|
|
41207
41264
|
args.tax_id__not = opts["taxId.not"];
|
|
41208
|
-
if (opts["taxId.isNull"] !== void 0)
|
|
41209
|
-
args.tax_id__isNull = opts["taxId.isNull"];
|
|
41210
|
-
if (opts["taxId.isNotNull"] !== void 0)
|
|
41211
|
-
args.tax_id__isNotNull = opts["taxId.isNotNull"];
|
|
41212
41265
|
if (opts["taxId.equals"] !== void 0)
|
|
41213
41266
|
args.tax_id__equals = opts["taxId.equals"];
|
|
41214
41267
|
if (opts["taxId.contains"] !== void 0)
|
|
@@ -41217,6 +41270,10 @@ Examples:
|
|
|
41217
41270
|
args.tax_id__startsWith = opts["taxId.startsWith"];
|
|
41218
41271
|
if (opts["taxId.endWith"] !== void 0)
|
|
41219
41272
|
args.tax_id__endWith = opts["taxId.endWith"];
|
|
41273
|
+
if (opts["taxId.isNull"] !== void 0)
|
|
41274
|
+
args.tax_id__isNull = opts["taxId.isNull"];
|
|
41275
|
+
if (opts["taxId.isNotNull"] !== void 0)
|
|
41276
|
+
args.tax_id__isNotNull = opts["taxId.isNotNull"];
|
|
41220
41277
|
if (opts.subscriptionStatus !== void 0)
|
|
41221
41278
|
args.subscription_status = opts.subscriptionStatus;
|
|
41222
41279
|
if (opts["subscriptionStatus.in"] !== void 0)
|
|
@@ -41225,10 +41282,6 @@ Examples:
|
|
|
41225
41282
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
41226
41283
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
41227
41284
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
41228
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
41229
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
41230
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
41231
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
41232
41285
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
41233
41286
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
41234
41287
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -41251,10 +41304,6 @@ Examples:
|
|
|
41251
41304
|
args.created_at = opts.createdAt;
|
|
41252
41305
|
if (opts["createdAt.not"] !== void 0)
|
|
41253
41306
|
args.created_at__not = opts["createdAt.not"];
|
|
41254
|
-
if (opts["createdAt.isNull"] !== void 0)
|
|
41255
|
-
args.created_at__isNull = opts["createdAt.isNull"];
|
|
41256
|
-
if (opts["createdAt.isNotNull"] !== void 0)
|
|
41257
|
-
args.created_at__isNotNull = opts["createdAt.isNotNull"];
|
|
41258
41307
|
if (opts["createdAt.equals"] !== void 0)
|
|
41259
41308
|
args.created_at__equals = opts["createdAt.equals"];
|
|
41260
41309
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -41269,10 +41318,6 @@ Examples:
|
|
|
41269
41318
|
args.updated_at = opts.updatedAt;
|
|
41270
41319
|
if (opts["updatedAt.not"] !== void 0)
|
|
41271
41320
|
args.updated_at__not = opts["updatedAt.not"];
|
|
41272
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
41273
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
41274
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
41275
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
41276
41321
|
if (opts["updatedAt.equals"] !== void 0)
|
|
41277
41322
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
41278
41323
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -41295,10 +41340,9 @@ Examples:
|
|
|
41295
41340
|
"include_total",
|
|
41296
41341
|
"order",
|
|
41297
41342
|
"sort",
|
|
41343
|
+
"tax_id_status",
|
|
41298
41344
|
"name",
|
|
41299
41345
|
"name__not",
|
|
41300
|
-
"name__isNull",
|
|
41301
|
-
"name__isNotNull",
|
|
41302
41346
|
"name__equals",
|
|
41303
41347
|
"name__contains",
|
|
41304
41348
|
"name__startsWith",
|
|
@@ -41309,51 +41353,49 @@ Examples:
|
|
|
41309
41353
|
"status__in",
|
|
41310
41354
|
"currency",
|
|
41311
41355
|
"currency__not",
|
|
41312
|
-
"currency__isNull",
|
|
41313
|
-
"currency__isNotNull",
|
|
41314
41356
|
"currency__equals",
|
|
41315
41357
|
"currency__contains",
|
|
41316
41358
|
"currency__startsWith",
|
|
41317
41359
|
"currency__endWith",
|
|
41360
|
+
"currency__isNull",
|
|
41361
|
+
"currency__isNotNull",
|
|
41318
41362
|
"country",
|
|
41319
41363
|
"country__not",
|
|
41320
|
-
"country__isNull",
|
|
41321
|
-
"country__isNotNull",
|
|
41322
41364
|
"country__equals",
|
|
41323
41365
|
"country__contains",
|
|
41324
41366
|
"country__startsWith",
|
|
41325
41367
|
"country__endWith",
|
|
41368
|
+
"country__isNull",
|
|
41369
|
+
"country__isNotNull",
|
|
41326
41370
|
"external_id",
|
|
41327
41371
|
"external_id__not",
|
|
41328
|
-
"external_id__isNull",
|
|
41329
|
-
"external_id__isNotNull",
|
|
41330
41372
|
"external_id__equals",
|
|
41331
41373
|
"external_id__contains",
|
|
41332
41374
|
"external_id__startsWith",
|
|
41333
41375
|
"external_id__endWith",
|
|
41376
|
+
"external_id__isNull",
|
|
41377
|
+
"external_id__isNotNull",
|
|
41334
41378
|
"billing_email",
|
|
41335
41379
|
"billing_email__not",
|
|
41336
|
-
"billing_email__isNull",
|
|
41337
|
-
"billing_email__isNotNull",
|
|
41338
41380
|
"billing_email__equals",
|
|
41339
41381
|
"billing_email__contains",
|
|
41340
41382
|
"billing_email__startsWith",
|
|
41341
41383
|
"billing_email__endWith",
|
|
41384
|
+
"billing_email__isNull",
|
|
41385
|
+
"billing_email__isNotNull",
|
|
41342
41386
|
"search",
|
|
41343
41387
|
"tax_id",
|
|
41344
41388
|
"tax_id__not",
|
|
41345
|
-
"tax_id__isNull",
|
|
41346
|
-
"tax_id__isNotNull",
|
|
41347
41389
|
"tax_id__equals",
|
|
41348
41390
|
"tax_id__contains",
|
|
41349
41391
|
"tax_id__startsWith",
|
|
41350
41392
|
"tax_id__endWith",
|
|
41393
|
+
"tax_id__isNull",
|
|
41394
|
+
"tax_id__isNotNull",
|
|
41351
41395
|
"subscription_status",
|
|
41352
41396
|
"subscription_status__in",
|
|
41353
41397
|
"invoicing_entity_id",
|
|
41354
41398
|
"invoicing_entity_id__not",
|
|
41355
|
-
"invoicing_entity_id__isNull",
|
|
41356
|
-
"invoicing_entity_id__isNotNull",
|
|
41357
41399
|
"invoicing_entity_id__equals",
|
|
41358
41400
|
"invoicing_entity_id__contains",
|
|
41359
41401
|
"invoicing_entity_id__startsWith",
|
|
@@ -41365,8 +41407,6 @@ Examples:
|
|
|
41365
41407
|
"integration_entity_id",
|
|
41366
41408
|
"created_at",
|
|
41367
41409
|
"created_at__not",
|
|
41368
|
-
"created_at__isNull",
|
|
41369
|
-
"created_at__isNotNull",
|
|
41370
41410
|
"created_at__equals",
|
|
41371
41411
|
"created_at__lt",
|
|
41372
41412
|
"created_at__lte",
|
|
@@ -41374,8 +41414,6 @@ Examples:
|
|
|
41374
41414
|
"created_at__gte",
|
|
41375
41415
|
"updated_at",
|
|
41376
41416
|
"updated_at__not",
|
|
41377
|
-
"updated_at__isNull",
|
|
41378
|
-
"updated_at__isNotNull",
|
|
41379
41417
|
"updated_at__equals",
|
|
41380
41418
|
"updated_at__lt",
|
|
41381
41419
|
"updated_at__lte",
|
|
@@ -41944,7 +41982,7 @@ Examples:
|
|
|
41944
41982
|
// build/commands/generated/customers-credits.js
|
|
41945
41983
|
function registerCustomers_CreditsCommands(parent) {
|
|
41946
41984
|
const resource = parent.command("customers-credits").description("Manage customers > credits");
|
|
41947
|
-
resource.command("list").description(`List credit products across all customers with optional filters for product_id, customer_id, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.
|
|
41985
|
+
resource.command("list").description(`List credit products across all customers with optional filters for product_id, customer_id, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.equals <value>", `product_id__equals`).option("--product-id.contains <value>", `product_id__contains`).option("--product-id.starts-with <value>", `product_id__startsWith`).option("--product-id.end-with <value>", `product_id__endWith`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
41948
41986
|
Examples:
|
|
41949
41987
|
hyperline customers-credits list
|
|
41950
41988
|
hyperline customers-credits list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -41958,10 +41996,6 @@ Examples:
|
|
|
41958
41996
|
args.product_id = opts.productId;
|
|
41959
41997
|
if (opts["productId.not"] !== void 0)
|
|
41960
41998
|
args.product_id__not = opts["productId.not"];
|
|
41961
|
-
if (opts["productId.isNull"] !== void 0)
|
|
41962
|
-
args.product_id__isNull = opts["productId.isNull"];
|
|
41963
|
-
if (opts["productId.isNotNull"] !== void 0)
|
|
41964
|
-
args.product_id__isNotNull = opts["productId.isNotNull"];
|
|
41965
41999
|
if (opts["productId.equals"] !== void 0)
|
|
41966
42000
|
args.product_id__equals = opts["productId.equals"];
|
|
41967
42001
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -41974,10 +42008,6 @@ Examples:
|
|
|
41974
42008
|
args.customer_id = opts.customerId;
|
|
41975
42009
|
if (opts["customerId.not"] !== void 0)
|
|
41976
42010
|
args.customer_id__not = opts["customerId.not"];
|
|
41977
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
41978
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
41979
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
41980
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
41981
42011
|
if (opts["customerId.equals"] !== void 0)
|
|
41982
42012
|
args.customer_id__equals = opts["customerId.equals"];
|
|
41983
42013
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -41990,10 +42020,6 @@ Examples:
|
|
|
41990
42020
|
args.updated_at = opts.updatedAt;
|
|
41991
42021
|
if (opts["updatedAt.not"] !== void 0)
|
|
41992
42022
|
args.updated_at__not = opts["updatedAt.not"];
|
|
41993
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
41994
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
41995
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
41996
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
41997
42023
|
if (opts["updatedAt.equals"] !== void 0)
|
|
41998
42024
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
41999
42025
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -42017,24 +42043,18 @@ Examples:
|
|
|
42017
42043
|
"skip",
|
|
42018
42044
|
"product_id",
|
|
42019
42045
|
"product_id__not",
|
|
42020
|
-
"product_id__isNull",
|
|
42021
|
-
"product_id__isNotNull",
|
|
42022
42046
|
"product_id__equals",
|
|
42023
42047
|
"product_id__contains",
|
|
42024
42048
|
"product_id__startsWith",
|
|
42025
42049
|
"product_id__endWith",
|
|
42026
42050
|
"customer_id",
|
|
42027
42051
|
"customer_id__not",
|
|
42028
|
-
"customer_id__isNull",
|
|
42029
|
-
"customer_id__isNotNull",
|
|
42030
42052
|
"customer_id__equals",
|
|
42031
42053
|
"customer_id__contains",
|
|
42032
42054
|
"customer_id__startsWith",
|
|
42033
42055
|
"customer_id__endWith",
|
|
42034
42056
|
"updated_at",
|
|
42035
42057
|
"updated_at__not",
|
|
42036
|
-
"updated_at__isNull",
|
|
42037
|
-
"updated_at__isNotNull",
|
|
42038
42058
|
"updated_at__equals",
|
|
42039
42059
|
"updated_at__lt",
|
|
42040
42060
|
"updated_at__lte",
|
|
@@ -42307,6 +42327,88 @@ Examples:
|
|
|
42307
42327
|
});
|
|
42308
42328
|
}
|
|
42309
42329
|
|
|
42330
|
+
// build/commands/generated/customers-features.js
|
|
42331
|
+
function registerCustomers_FeaturesCommands(parent) {
|
|
42332
|
+
const resource = parent.command("customers-features").description("Manage customers > features");
|
|
42333
|
+
resource.command("resolve-customer-features").description(`Resolve feature values for a customer.`).requiredOption("--id <value>", `id parameter`).option("--at <value>", `Resolution date.`).addHelpText("after", `
|
|
42334
|
+
Examples:
|
|
42335
|
+
hyperline customers-features resolve-customer-features --id <id>
|
|
42336
|
+
hyperline customers-features resolve-customer-features --id <id> --at <at>`).action(async (opts) => {
|
|
42337
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42338
|
+
if (!ctx) {
|
|
42339
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42340
|
+
process.exit(1);
|
|
42341
|
+
}
|
|
42342
|
+
const args = {};
|
|
42343
|
+
if (opts.id !== void 0)
|
|
42344
|
+
args.id = opts.id;
|
|
42345
|
+
if (opts.at !== void 0)
|
|
42346
|
+
args.at = opts.at;
|
|
42347
|
+
await ctx.execute({
|
|
42348
|
+
method: "GET",
|
|
42349
|
+
path: "/v1/customers/{id}/features",
|
|
42350
|
+
args,
|
|
42351
|
+
queryParamKeys: ["at"]
|
|
42352
|
+
});
|
|
42353
|
+
});
|
|
42354
|
+
resource.command("set-customer-feature").description(`Set a feature override for a customer.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).requiredOption("--value", `Feature value.`).option("--reason <value>", `Reason associated with a customer feature override.`).option("--expires-at <value>", `Expiration date of a customer feature override.`).addHelpText("after", `
|
|
42355
|
+
Examples:
|
|
42356
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value
|
|
42357
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value --reason <reason> --expires-at <expires_at>
|
|
42358
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value --output json`).action(async (opts) => {
|
|
42359
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42360
|
+
if (!ctx) {
|
|
42361
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42362
|
+
process.exit(1);
|
|
42363
|
+
}
|
|
42364
|
+
const args = {};
|
|
42365
|
+
if (opts.id !== void 0)
|
|
42366
|
+
args.id = opts.id;
|
|
42367
|
+
if (opts.code !== void 0)
|
|
42368
|
+
args.code = opts.code;
|
|
42369
|
+
if (opts.reason !== void 0)
|
|
42370
|
+
args.reason = opts.reason;
|
|
42371
|
+
if (opts.expiresAt !== void 0)
|
|
42372
|
+
args.expires_at = opts.expiresAt;
|
|
42373
|
+
if (opts.value !== void 0)
|
|
42374
|
+
args.value = true;
|
|
42375
|
+
await ctx.execute({
|
|
42376
|
+
method: "PUT",
|
|
42377
|
+
path: "/v1/customers/{id}/features/{code}",
|
|
42378
|
+
args,
|
|
42379
|
+
queryParamKeys: []
|
|
42380
|
+
});
|
|
42381
|
+
});
|
|
42382
|
+
resource.command("delete-customer-feature").description(`Delete a feature override from a customer.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
42383
|
+
Examples:
|
|
42384
|
+
hyperline customers-features delete-customer-feature --id <id> --code <code>
|
|
42385
|
+
hyperline customers-features delete-customer-feature --id <id> --code <code> --output json`).action(async (opts) => {
|
|
42386
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42387
|
+
if (!ctx) {
|
|
42388
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42389
|
+
process.exit(1);
|
|
42390
|
+
}
|
|
42391
|
+
const args = {};
|
|
42392
|
+
if (opts.id !== void 0)
|
|
42393
|
+
args.id = opts.id;
|
|
42394
|
+
if (opts.code !== void 0)
|
|
42395
|
+
args.code = opts.code;
|
|
42396
|
+
if (!opts.yes) {
|
|
42397
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
42398
|
+
if (!confirmed) {
|
|
42399
|
+
process.stdout.write("Aborted.\n");
|
|
42400
|
+
return;
|
|
42401
|
+
}
|
|
42402
|
+
}
|
|
42403
|
+
await ctx.execute({
|
|
42404
|
+
method: "DELETE",
|
|
42405
|
+
path: "/v1/customers/{id}/features/{code}",
|
|
42406
|
+
args,
|
|
42407
|
+
queryParamKeys: []
|
|
42408
|
+
});
|
|
42409
|
+
});
|
|
42410
|
+
}
|
|
42411
|
+
|
|
42310
42412
|
// build/commands/generated/customers-payment-methods.js
|
|
42311
42413
|
function registerCustomers_Payment_MethodsCommands(parent) {
|
|
42312
42414
|
const resource = parent.command("customers-payment-methods").description("Manage customers > payment methods");
|
|
@@ -42756,45 +42858,35 @@ Examples:
|
|
|
42756
42858
|
});
|
|
42757
42859
|
}
|
|
42758
42860
|
|
|
42759
|
-
// build/commands/generated/
|
|
42760
|
-
function
|
|
42761
|
-
const resource = parent.command("
|
|
42762
|
-
resource.command("
|
|
42763
|
-
Examples:
|
|
42764
|
-
hyperline files download --id <id>`).action(async (opts) => {
|
|
42765
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
42766
|
-
if (!ctx) {
|
|
42767
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
42768
|
-
process.exit(1);
|
|
42769
|
-
}
|
|
42770
|
-
const args = {};
|
|
42771
|
-
if (opts.id !== void 0)
|
|
42772
|
-
args.id = opts.id;
|
|
42773
|
-
await ctx.execute({
|
|
42774
|
-
method: "GET",
|
|
42775
|
-
path: "/v1/files/{id}/download",
|
|
42776
|
-
args,
|
|
42777
|
-
queryParamKeys: []
|
|
42778
|
-
});
|
|
42779
|
-
});
|
|
42780
|
-
resource.command("list").description(`List uploaded files with optional filters for name and customer_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).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("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.is-null <value>", `customer_id__isNull`).option("--customer-id.is-not-null <value>", `customer_id__isNotNull`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).addHelpText("after", `
|
|
42861
|
+
// build/commands/generated/features.js
|
|
42862
|
+
function registerFeaturesCommands(parent) {
|
|
42863
|
+
const resource = parent.command("features").description("Manage features");
|
|
42864
|
+
resource.command("list").description(`List feature definitions.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--code <value>", `code`).option("--code.not <value>", `code__not`).option("--code.equals <value>", `code__equals`).option("--code.contains <value>", `code__contains`).option("--code.starts-with <value>", `code__startsWith`).option("--code.end-with <value>", `code__endWith`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).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("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--search <value>", `search`).addHelpText("after", `
|
|
42781
42865
|
Examples:
|
|
42782
|
-
hyperline
|
|
42783
|
-
hyperline
|
|
42866
|
+
hyperline features list
|
|
42867
|
+
hyperline features list --take <take> --code <code>`).action(async (opts) => {
|
|
42784
42868
|
const ctx = resource.parent?.opts()._ctx;
|
|
42785
42869
|
if (!ctx) {
|
|
42786
42870
|
process.stderr.write("Error: Not authenticated\n");
|
|
42787
42871
|
process.exit(1);
|
|
42788
42872
|
}
|
|
42789
42873
|
const args = {};
|
|
42874
|
+
if (opts.code !== void 0)
|
|
42875
|
+
args.code = opts.code;
|
|
42876
|
+
if (opts["code.not"] !== void 0)
|
|
42877
|
+
args.code__not = opts["code.not"];
|
|
42878
|
+
if (opts["code.equals"] !== void 0)
|
|
42879
|
+
args.code__equals = opts["code.equals"];
|
|
42880
|
+
if (opts["code.contains"] !== void 0)
|
|
42881
|
+
args.code__contains = opts["code.contains"];
|
|
42882
|
+
if (opts["code.startsWith"] !== void 0)
|
|
42883
|
+
args.code__startsWith = opts["code.startsWith"];
|
|
42884
|
+
if (opts["code.endWith"] !== void 0)
|
|
42885
|
+
args.code__endWith = opts["code.endWith"];
|
|
42790
42886
|
if (opts.name !== void 0)
|
|
42791
42887
|
args.name = opts.name;
|
|
42792
42888
|
if (opts["name.not"] !== void 0)
|
|
42793
42889
|
args.name__not = opts["name.not"];
|
|
42794
|
-
if (opts["name.isNull"] !== void 0)
|
|
42795
|
-
args.name__isNull = opts["name.isNull"];
|
|
42796
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
42797
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
42798
42890
|
if (opts["name.equals"] !== void 0)
|
|
42799
42891
|
args.name__equals = opts["name.equals"];
|
|
42800
42892
|
if (opts["name.contains"] !== void 0)
|
|
@@ -42803,50 +42895,270 @@ Examples:
|
|
|
42803
42895
|
args.name__startsWith = opts["name.startsWith"];
|
|
42804
42896
|
if (opts["name.endWith"] !== void 0)
|
|
42805
42897
|
args.name__endWith = opts["name.endWith"];
|
|
42806
|
-
if (opts.
|
|
42807
|
-
args.
|
|
42808
|
-
if (opts["
|
|
42809
|
-
args.
|
|
42810
|
-
if (opts
|
|
42811
|
-
args.
|
|
42812
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42813
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42814
|
-
if (opts["customerId.equals"] !== void 0)
|
|
42815
|
-
args.customer_id__equals = opts["customerId.equals"];
|
|
42816
|
-
if (opts["customerId.contains"] !== void 0)
|
|
42817
|
-
args.customer_id__contains = opts["customerId.contains"];
|
|
42818
|
-
if (opts["customerId.startsWith"] !== void 0)
|
|
42819
|
-
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
42820
|
-
if (opts["customerId.endWith"] !== void 0)
|
|
42821
|
-
args.customer_id__endWith = opts["customerId.endWith"];
|
|
42898
|
+
if (opts.status !== void 0)
|
|
42899
|
+
args.status = opts.status;
|
|
42900
|
+
if (opts["status.in"] !== void 0)
|
|
42901
|
+
args.status__in = opts["status.in"];
|
|
42902
|
+
if (opts.search !== void 0)
|
|
42903
|
+
args.search = opts.search;
|
|
42822
42904
|
if (opts.take !== void 0)
|
|
42823
42905
|
args.take = Number(opts.take);
|
|
42824
42906
|
if (opts.skip !== void 0)
|
|
42825
42907
|
args.skip = Number(opts.skip);
|
|
42826
42908
|
await ctx.execute({
|
|
42827
42909
|
method: "GET",
|
|
42828
|
-
path: "/v1/
|
|
42910
|
+
path: "/v1/features",
|
|
42829
42911
|
args,
|
|
42830
42912
|
queryParamKeys: [
|
|
42831
42913
|
"take",
|
|
42832
42914
|
"skip",
|
|
42915
|
+
"code",
|
|
42916
|
+
"code__not",
|
|
42917
|
+
"code__equals",
|
|
42918
|
+
"code__contains",
|
|
42919
|
+
"code__startsWith",
|
|
42920
|
+
"code__endWith",
|
|
42833
42921
|
"name",
|
|
42834
42922
|
"name__not",
|
|
42835
|
-
"name__isNull",
|
|
42836
|
-
"name__isNotNull",
|
|
42837
42923
|
"name__equals",
|
|
42838
42924
|
"name__contains",
|
|
42839
42925
|
"name__startsWith",
|
|
42840
42926
|
"name__endWith",
|
|
42841
|
-
"
|
|
42842
|
-
"
|
|
42843
|
-
"
|
|
42844
|
-
|
|
42845
|
-
|
|
42846
|
-
|
|
42847
|
-
|
|
42848
|
-
|
|
42849
|
-
|
|
42927
|
+
"status",
|
|
42928
|
+
"status__in",
|
|
42929
|
+
"search"
|
|
42930
|
+
]
|
|
42931
|
+
});
|
|
42932
|
+
});
|
|
42933
|
+
resource.command("create").description(`Create a feature definition.`).requiredOption("--code <value>", `Feature code.`).requiredOption("--name <value>", `Feature name.`).option("--description <value>", `Feature description.`).requiredOption("--value-type <value>", `Type of feature value.`).requiredOption("--default-value", `Default value used when no product or customer feature value applies. Null means no default.`).option("--resolution-strategy <value>", `Strategy used to combine multiple product feature values for number features.`).addHelpText("after", `
|
|
42934
|
+
Examples:
|
|
42935
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value
|
|
42936
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value --description <description> --resolution-strategy <resolution_strategy>
|
|
42937
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value --output json`).action(async (opts) => {
|
|
42938
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42939
|
+
if (!ctx) {
|
|
42940
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42941
|
+
process.exit(1);
|
|
42942
|
+
}
|
|
42943
|
+
const args = {};
|
|
42944
|
+
if (opts.code !== void 0)
|
|
42945
|
+
args.code = opts.code;
|
|
42946
|
+
if (opts.name !== void 0)
|
|
42947
|
+
args.name = opts.name;
|
|
42948
|
+
if (opts.description !== void 0)
|
|
42949
|
+
args.description = opts.description;
|
|
42950
|
+
if (opts.valueType !== void 0)
|
|
42951
|
+
args.value_type = opts.valueType;
|
|
42952
|
+
if (opts.resolutionStrategy !== void 0)
|
|
42953
|
+
args.resolution_strategy = opts.resolutionStrategy;
|
|
42954
|
+
if (opts.defaultValue !== void 0)
|
|
42955
|
+
args.default_value = true;
|
|
42956
|
+
await ctx.execute({
|
|
42957
|
+
method: "POST",
|
|
42958
|
+
path: "/v1/features",
|
|
42959
|
+
args,
|
|
42960
|
+
queryParamKeys: []
|
|
42961
|
+
});
|
|
42962
|
+
});
|
|
42963
|
+
resource.command("get").description(`Retrieve a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
42964
|
+
Examples:
|
|
42965
|
+
hyperline features get --code <code>`).action(async (opts) => {
|
|
42966
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42967
|
+
if (!ctx) {
|
|
42968
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42969
|
+
process.exit(1);
|
|
42970
|
+
}
|
|
42971
|
+
const args = {};
|
|
42972
|
+
if (opts.code !== void 0)
|
|
42973
|
+
args.code = opts.code;
|
|
42974
|
+
await ctx.execute({
|
|
42975
|
+
method: "GET",
|
|
42976
|
+
path: "/v1/features/{code}",
|
|
42977
|
+
args,
|
|
42978
|
+
queryParamKeys: []
|
|
42979
|
+
});
|
|
42980
|
+
});
|
|
42981
|
+
resource.command("update").description(`Update a feature definition.`).requiredOption("--code <value>", `code parameter`).option("--name <value>", `Feature name.`).option("--description <value>", `Feature description.`).option("--value-type <value>", `value_type`).option("--default-value", `Default value used when no product or customer feature value applies. Null means no default.`).option("--resolution-strategy <value>", `Strategy used to combine multiple product feature values for number features.`).addHelpText("after", `
|
|
42982
|
+
Examples:
|
|
42983
|
+
hyperline features update --code <code>
|
|
42984
|
+
hyperline features update --code <code> --name <name> --description <description>
|
|
42985
|
+
hyperline features update --code <code> --output json`).action(async (opts) => {
|
|
42986
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42987
|
+
if (!ctx) {
|
|
42988
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42989
|
+
process.exit(1);
|
|
42990
|
+
}
|
|
42991
|
+
const args = {};
|
|
42992
|
+
if (opts.code !== void 0)
|
|
42993
|
+
args.code = opts.code;
|
|
42994
|
+
if (opts.name !== void 0)
|
|
42995
|
+
args.name = opts.name;
|
|
42996
|
+
if (opts.description !== void 0)
|
|
42997
|
+
args.description = opts.description;
|
|
42998
|
+
if (opts.valueType !== void 0)
|
|
42999
|
+
args.value_type = opts.valueType;
|
|
43000
|
+
if (opts.resolutionStrategy !== void 0)
|
|
43001
|
+
args.resolution_strategy = opts.resolutionStrategy;
|
|
43002
|
+
if (opts.defaultValue !== void 0)
|
|
43003
|
+
args.default_value = true;
|
|
43004
|
+
await ctx.execute({
|
|
43005
|
+
method: "PUT",
|
|
43006
|
+
path: "/v1/features/{code}",
|
|
43007
|
+
args,
|
|
43008
|
+
queryParamKeys: []
|
|
43009
|
+
});
|
|
43010
|
+
});
|
|
43011
|
+
resource.command("archive").description(`Archive a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
43012
|
+
Examples:
|
|
43013
|
+
hyperline features archive --code <code>
|
|
43014
|
+
hyperline features archive --code <code> --output json`).action(async (opts) => {
|
|
43015
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43016
|
+
if (!ctx) {
|
|
43017
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43018
|
+
process.exit(1);
|
|
43019
|
+
}
|
|
43020
|
+
const args = {};
|
|
43021
|
+
if (opts.code !== void 0)
|
|
43022
|
+
args.code = opts.code;
|
|
43023
|
+
await ctx.execute({
|
|
43024
|
+
method: "PUT",
|
|
43025
|
+
path: "/v1/features/{code}/archive",
|
|
43026
|
+
args,
|
|
43027
|
+
queryParamKeys: []
|
|
43028
|
+
});
|
|
43029
|
+
});
|
|
43030
|
+
resource.command("delete").description(`Delete an archived feature definition that is not in use.`).requiredOption("--code <value>", `code parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
43031
|
+
Examples:
|
|
43032
|
+
hyperline features delete --code <code>
|
|
43033
|
+
hyperline features delete --code <code> --output json`).action(async (opts) => {
|
|
43034
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43035
|
+
if (!ctx) {
|
|
43036
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43037
|
+
process.exit(1);
|
|
43038
|
+
}
|
|
43039
|
+
const args = {};
|
|
43040
|
+
if (opts.code !== void 0)
|
|
43041
|
+
args.code = opts.code;
|
|
43042
|
+
if (!opts.yes) {
|
|
43043
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
43044
|
+
if (!confirmed) {
|
|
43045
|
+
process.stdout.write("Aborted.\n");
|
|
43046
|
+
return;
|
|
43047
|
+
}
|
|
43048
|
+
}
|
|
43049
|
+
await ctx.execute({
|
|
43050
|
+
method: "DELETE",
|
|
43051
|
+
path: "/v1/features/{code}",
|
|
43052
|
+
args,
|
|
43053
|
+
queryParamKeys: []
|
|
43054
|
+
});
|
|
43055
|
+
});
|
|
43056
|
+
resource.command("unarchive").description(`Unarchive a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
43057
|
+
Examples:
|
|
43058
|
+
hyperline features unarchive --code <code>
|
|
43059
|
+
hyperline features unarchive --code <code> --output json`).action(async (opts) => {
|
|
43060
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43061
|
+
if (!ctx) {
|
|
43062
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43063
|
+
process.exit(1);
|
|
43064
|
+
}
|
|
43065
|
+
const args = {};
|
|
43066
|
+
if (opts.code !== void 0)
|
|
43067
|
+
args.code = opts.code;
|
|
43068
|
+
await ctx.execute({
|
|
43069
|
+
method: "PUT",
|
|
43070
|
+
path: "/v1/features/{code}/unarchive",
|
|
43071
|
+
args,
|
|
43072
|
+
queryParamKeys: []
|
|
43073
|
+
});
|
|
43074
|
+
});
|
|
43075
|
+
}
|
|
43076
|
+
|
|
43077
|
+
// build/commands/generated/files.js
|
|
43078
|
+
function registerFilesCommands(parent) {
|
|
43079
|
+
const resource = parent.command("files").description("Manage files");
|
|
43080
|
+
resource.command("download").description(`Download the raw content of a file by ID. Returns the file binary with appropriate content type.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
43081
|
+
Examples:
|
|
43082
|
+
hyperline files download --id <id>`).action(async (opts) => {
|
|
43083
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43084
|
+
if (!ctx) {
|
|
43085
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43086
|
+
process.exit(1);
|
|
43087
|
+
}
|
|
43088
|
+
const args = {};
|
|
43089
|
+
if (opts.id !== void 0)
|
|
43090
|
+
args.id = opts.id;
|
|
43091
|
+
await ctx.execute({
|
|
43092
|
+
method: "GET",
|
|
43093
|
+
path: "/v1/files/{id}/download",
|
|
43094
|
+
args,
|
|
43095
|
+
queryParamKeys: []
|
|
43096
|
+
});
|
|
43097
|
+
});
|
|
43098
|
+
resource.command("list").description(`List uploaded files with optional filters for name and customer_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).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("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--customer-id.is-null <value>", `customer_id__isNull`).option("--customer-id.is-not-null <value>", `customer_id__isNotNull`).addHelpText("after", `
|
|
43099
|
+
Examples:
|
|
43100
|
+
hyperline files list
|
|
43101
|
+
hyperline files list --take <take> --name <name>`).action(async (opts) => {
|
|
43102
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43103
|
+
if (!ctx) {
|
|
43104
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43105
|
+
process.exit(1);
|
|
43106
|
+
}
|
|
43107
|
+
const args = {};
|
|
43108
|
+
if (opts.name !== void 0)
|
|
43109
|
+
args.name = opts.name;
|
|
43110
|
+
if (opts["name.not"] !== void 0)
|
|
43111
|
+
args.name__not = opts["name.not"];
|
|
43112
|
+
if (opts["name.equals"] !== void 0)
|
|
43113
|
+
args.name__equals = opts["name.equals"];
|
|
43114
|
+
if (opts["name.contains"] !== void 0)
|
|
43115
|
+
args.name__contains = opts["name.contains"];
|
|
43116
|
+
if (opts["name.startsWith"] !== void 0)
|
|
43117
|
+
args.name__startsWith = opts["name.startsWith"];
|
|
43118
|
+
if (opts["name.endWith"] !== void 0)
|
|
43119
|
+
args.name__endWith = opts["name.endWith"];
|
|
43120
|
+
if (opts.customerId !== void 0)
|
|
43121
|
+
args.customer_id = opts.customerId;
|
|
43122
|
+
if (opts["customerId.not"] !== void 0)
|
|
43123
|
+
args.customer_id__not = opts["customerId.not"];
|
|
43124
|
+
if (opts["customerId.equals"] !== void 0)
|
|
43125
|
+
args.customer_id__equals = opts["customerId.equals"];
|
|
43126
|
+
if (opts["customerId.contains"] !== void 0)
|
|
43127
|
+
args.customer_id__contains = opts["customerId.contains"];
|
|
43128
|
+
if (opts["customerId.startsWith"] !== void 0)
|
|
43129
|
+
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
43130
|
+
if (opts["customerId.endWith"] !== void 0)
|
|
43131
|
+
args.customer_id__endWith = opts["customerId.endWith"];
|
|
43132
|
+
if (opts["customerId.isNull"] !== void 0)
|
|
43133
|
+
args.customer_id__isNull = opts["customerId.isNull"];
|
|
43134
|
+
if (opts["customerId.isNotNull"] !== void 0)
|
|
43135
|
+
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
43136
|
+
if (opts.take !== void 0)
|
|
43137
|
+
args.take = Number(opts.take);
|
|
43138
|
+
if (opts.skip !== void 0)
|
|
43139
|
+
args.skip = Number(opts.skip);
|
|
43140
|
+
await ctx.execute({
|
|
43141
|
+
method: "GET",
|
|
43142
|
+
path: "/v1/files",
|
|
43143
|
+
args,
|
|
43144
|
+
queryParamKeys: [
|
|
43145
|
+
"take",
|
|
43146
|
+
"skip",
|
|
43147
|
+
"name",
|
|
43148
|
+
"name__not",
|
|
43149
|
+
"name__equals",
|
|
43150
|
+
"name__contains",
|
|
43151
|
+
"name__startsWith",
|
|
43152
|
+
"name__endWith",
|
|
43153
|
+
"customer_id",
|
|
43154
|
+
"customer_id__not",
|
|
43155
|
+
"customer_id__equals",
|
|
43156
|
+
"customer_id__contains",
|
|
43157
|
+
"customer_id__startsWith",
|
|
43158
|
+
"customer_id__endWith",
|
|
43159
|
+
"customer_id__isNull",
|
|
43160
|
+
"customer_id__isNotNull"
|
|
43161
|
+
]
|
|
42850
43162
|
});
|
|
42851
43163
|
});
|
|
42852
43164
|
resource.command("create").description(`Upload a new file (max 10MB). Requires multipart form data with a file field and metadata (name and customer_id).`).requiredOption("--name <value>", `Name of the file to be uploaded.`).requiredOption("--customer-id <value>", `ID of the customer to link the file to.`).addHelpText("after", `
|
|
@@ -42901,7 +43213,7 @@ Examples:
|
|
|
42901
43213
|
// build/commands/generated/invoices.js
|
|
42902
43214
|
function registerInvoicesCommands(parent) {
|
|
42903
43215
|
const resource = parent.command("invoices").description("Manage invoices");
|
|
42904
|
-
resource.command("list").description(`List invoices with filters for type, status, customer_id, customer_external_id, subscription_id, invoicing_entity_id, invoice_number, period dates, emission_date, due_date, and updated_at. Sortable by created_at or emitted_at. By default, open invoices are excluded. Paginated with limit/cursor.`).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.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--type <value>", `type`).option("--type.in <value>", `type__in`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.
|
|
43216
|
+
resource.command("list").description(`List invoices with filters for type, status, customer_id, customer_external_id, subscription_id, invoicing_entity_id, invoice_number, period dates, emission_date, due_date, and updated_at. Sortable by created_at or emitted_at. By default, open invoices are excluded. Paginated with limit/cursor.`).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.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--type <value>", `type`).option("--type.in <value>", `type__in`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--customer-external-id <value>", `customer_external_id`).option("--subscription-id <value>", `subscription_id`).option("--subscription-id.not <value>", `subscription_id__not`).option("--subscription-id.equals <value>", `subscription_id__equals`).option("--subscription-id.contains <value>", `subscription_id__contains`).option("--subscription-id.starts-with <value>", `subscription_id__startsWith`).option("--subscription-id.end-with <value>", `subscription_id__endWith`).option("--subscription-id.is-null <value>", `subscription_id__isNull`).option("--subscription-id.is-not-null <value>", `subscription_id__isNotNull`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--invoicing-entity-id.not <value>", `invoicing_entity_id__not`).option("--invoicing-entity-id.equals <value>", `invoicing_entity_id__equals`).option("--invoicing-entity-id.contains <value>", `invoicing_entity_id__contains`).option("--invoicing-entity-id.starts-with <value>", `invoicing_entity_id__startsWith`).option("--invoicing-entity-id.end-with <value>", `invoicing_entity_id__endWith`).option("--invoice-number <value>", `invoice_number`).option("--invoice-number.not <value>", `invoice_number__not`).option("--invoice-number.equals <value>", `invoice_number__equals`).option("--invoice-number.contains <value>", `invoice_number__contains`).option("--invoice-number.starts-with <value>", `invoice_number__startsWith`).option("--invoice-number.end-with <value>", `invoice_number__endWith`).option("--original-invoice-id <value>", `original_invoice_id`).option("--original-invoice-id.not <value>", `original_invoice_id__not`).option("--original-invoice-id.equals <value>", `original_invoice_id__equals`).option("--original-invoice-id.contains <value>", `original_invoice_id__contains`).option("--original-invoice-id.starts-with <value>", `original_invoice_id__startsWith`).option("--original-invoice-id.end-with <value>", `original_invoice_id__endWith`).option("--original-invoice-id.is-null <value>", `original_invoice_id__isNull`).option("--original-invoice-id.is-not-null <value>", `original_invoice_id__isNotNull`).option("--original-invoice-number <value>", `original_invoice_number`).option("--original-invoice-number.not <value>", `original_invoice_number__not`).option("--original-invoice-number.equals <value>", `original_invoice_number__equals`).option("--original-invoice-number.contains <value>", `original_invoice_number__contains`).option("--original-invoice-number.starts-with <value>", `original_invoice_number__startsWith`).option("--original-invoice-number.end-with <value>", `original_invoice_number__endWith`).option("--original-invoice-number.is-null <value>", `original_invoice_number__isNull`).option("--original-invoice-number.is-not-null <value>", `original_invoice_number__isNotNull`).option("--line-item-id <value>", `line_item_id`).option("--period-start <value>", `period_start`).option("--period-start.not <value>", `period_start__not`).option("--period-start.equals <value>", `period_start__equals`).option("--period-start.lt <value>", `period_start__lt`).option("--period-start.lte <value>", `period_start__lte`).option("--period-start.gt <value>", `period_start__gt`).option("--period-start.gte <value>", `period_start__gte`).option("--period-start.is-null <value>", `period_start__isNull`).option("--period-start.is-not-null <value>", `period_start__isNotNull`).option("--period-end <value>", `period_end`).option("--period-end.not <value>", `period_end__not`).option("--period-end.equals <value>", `period_end__equals`).option("--period-end.lt <value>", `period_end__lt`).option("--period-end.lte <value>", `period_end__lte`).option("--period-end.gt <value>", `period_end__gt`).option("--period-end.gte <value>", `period_end__gte`).option("--period-end.is-null <value>", `period_end__isNull`).option("--period-end.is-not-null <value>", `period_end__isNotNull`).option("--issued-at <value>", `issued_at`).option("--issued-at.not <value>", `issued_at__not`).option("--issued-at.equals <value>", `issued_at__equals`).option("--issued-at.lt <value>", `issued_at__lt`).option("--issued-at.lte <value>", `issued_at__lte`).option("--issued-at.gt <value>", `issued_at__gt`).option("--issued-at.gte <value>", `issued_at__gte`).option("--due-at <value>", `due_at`).option("--due-at.not <value>", `due_at__not`).option("--due-at.equals <value>", `due_at__equals`).option("--due-at.lt <value>", `due_at__lt`).option("--due-at.lte <value>", `due_at__lte`).option("--due-at.gt <value>", `due_at__gt`).option("--due-at.gte <value>", `due_at__gte`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
42905
43217
|
Examples:
|
|
42906
43218
|
hyperline invoices list
|
|
42907
43219
|
hyperline invoices list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -42931,10 +43243,6 @@ Examples:
|
|
|
42931
43243
|
args.customer_id = opts.customerId;
|
|
42932
43244
|
if (opts["customerId.not"] !== void 0)
|
|
42933
43245
|
args.customer_id__not = opts["customerId.not"];
|
|
42934
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42935
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42936
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42937
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42938
43246
|
if (opts["customerId.equals"] !== void 0)
|
|
42939
43247
|
args.customer_id__equals = opts["customerId.equals"];
|
|
42940
43248
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -42949,10 +43257,6 @@ Examples:
|
|
|
42949
43257
|
args.subscription_id = opts.subscriptionId;
|
|
42950
43258
|
if (opts["subscriptionId.not"] !== void 0)
|
|
42951
43259
|
args.subscription_id__not = opts["subscriptionId.not"];
|
|
42952
|
-
if (opts["subscriptionId.isNull"] !== void 0)
|
|
42953
|
-
args.subscription_id__isNull = opts["subscriptionId.isNull"];
|
|
42954
|
-
if (opts["subscriptionId.isNotNull"] !== void 0)
|
|
42955
|
-
args.subscription_id__isNotNull = opts["subscriptionId.isNotNull"];
|
|
42956
43260
|
if (opts["subscriptionId.equals"] !== void 0)
|
|
42957
43261
|
args.subscription_id__equals = opts["subscriptionId.equals"];
|
|
42958
43262
|
if (opts["subscriptionId.contains"] !== void 0)
|
|
@@ -42961,14 +43265,14 @@ Examples:
|
|
|
42961
43265
|
args.subscription_id__startsWith = opts["subscriptionId.startsWith"];
|
|
42962
43266
|
if (opts["subscriptionId.endWith"] !== void 0)
|
|
42963
43267
|
args.subscription_id__endWith = opts["subscriptionId.endWith"];
|
|
43268
|
+
if (opts["subscriptionId.isNull"] !== void 0)
|
|
43269
|
+
args.subscription_id__isNull = opts["subscriptionId.isNull"];
|
|
43270
|
+
if (opts["subscriptionId.isNotNull"] !== void 0)
|
|
43271
|
+
args.subscription_id__isNotNull = opts["subscriptionId.isNotNull"];
|
|
42964
43272
|
if (opts.invoicingEntityId !== void 0)
|
|
42965
43273
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
42966
43274
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
42967
43275
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
42968
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
42969
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
42970
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
42971
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
42972
43276
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
42973
43277
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
42974
43278
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -42981,10 +43285,6 @@ Examples:
|
|
|
42981
43285
|
args.invoice_number = opts.invoiceNumber;
|
|
42982
43286
|
if (opts["invoiceNumber.not"] !== void 0)
|
|
42983
43287
|
args.invoice_number__not = opts["invoiceNumber.not"];
|
|
42984
|
-
if (opts["invoiceNumber.isNull"] !== void 0)
|
|
42985
|
-
args.invoice_number__isNull = opts["invoiceNumber.isNull"];
|
|
42986
|
-
if (opts["invoiceNumber.isNotNull"] !== void 0)
|
|
42987
|
-
args.invoice_number__isNotNull = opts["invoiceNumber.isNotNull"];
|
|
42988
43288
|
if (opts["invoiceNumber.equals"] !== void 0)
|
|
42989
43289
|
args.invoice_number__equals = opts["invoiceNumber.equals"];
|
|
42990
43290
|
if (opts["invoiceNumber.contains"] !== void 0)
|
|
@@ -42997,10 +43297,6 @@ Examples:
|
|
|
42997
43297
|
args.original_invoice_id = opts.originalInvoiceId;
|
|
42998
43298
|
if (opts["originalInvoiceId.not"] !== void 0)
|
|
42999
43299
|
args.original_invoice_id__not = opts["originalInvoiceId.not"];
|
|
43000
|
-
if (opts["originalInvoiceId.isNull"] !== void 0)
|
|
43001
|
-
args.original_invoice_id__isNull = opts["originalInvoiceId.isNull"];
|
|
43002
|
-
if (opts["originalInvoiceId.isNotNull"] !== void 0)
|
|
43003
|
-
args.original_invoice_id__isNotNull = opts["originalInvoiceId.isNotNull"];
|
|
43004
43300
|
if (opts["originalInvoiceId.equals"] !== void 0)
|
|
43005
43301
|
args.original_invoice_id__equals = opts["originalInvoiceId.equals"];
|
|
43006
43302
|
if (opts["originalInvoiceId.contains"] !== void 0)
|
|
@@ -43009,14 +43305,14 @@ Examples:
|
|
|
43009
43305
|
args.original_invoice_id__startsWith = opts["originalInvoiceId.startsWith"];
|
|
43010
43306
|
if (opts["originalInvoiceId.endWith"] !== void 0)
|
|
43011
43307
|
args.original_invoice_id__endWith = opts["originalInvoiceId.endWith"];
|
|
43308
|
+
if (opts["originalInvoiceId.isNull"] !== void 0)
|
|
43309
|
+
args.original_invoice_id__isNull = opts["originalInvoiceId.isNull"];
|
|
43310
|
+
if (opts["originalInvoiceId.isNotNull"] !== void 0)
|
|
43311
|
+
args.original_invoice_id__isNotNull = opts["originalInvoiceId.isNotNull"];
|
|
43012
43312
|
if (opts.originalInvoiceNumber !== void 0)
|
|
43013
43313
|
args.original_invoice_number = opts.originalInvoiceNumber;
|
|
43014
43314
|
if (opts["originalInvoiceNumber.not"] !== void 0)
|
|
43015
43315
|
args.original_invoice_number__not = opts["originalInvoiceNumber.not"];
|
|
43016
|
-
if (opts["originalInvoiceNumber.isNull"] !== void 0)
|
|
43017
|
-
args.original_invoice_number__isNull = opts["originalInvoiceNumber.isNull"];
|
|
43018
|
-
if (opts["originalInvoiceNumber.isNotNull"] !== void 0)
|
|
43019
|
-
args.original_invoice_number__isNotNull = opts["originalInvoiceNumber.isNotNull"];
|
|
43020
43316
|
if (opts["originalInvoiceNumber.equals"] !== void 0)
|
|
43021
43317
|
args.original_invoice_number__equals = opts["originalInvoiceNumber.equals"];
|
|
43022
43318
|
if (opts["originalInvoiceNumber.contains"] !== void 0)
|
|
@@ -43025,16 +43321,16 @@ Examples:
|
|
|
43025
43321
|
args.original_invoice_number__startsWith = opts["originalInvoiceNumber.startsWith"];
|
|
43026
43322
|
if (opts["originalInvoiceNumber.endWith"] !== void 0)
|
|
43027
43323
|
args.original_invoice_number__endWith = opts["originalInvoiceNumber.endWith"];
|
|
43324
|
+
if (opts["originalInvoiceNumber.isNull"] !== void 0)
|
|
43325
|
+
args.original_invoice_number__isNull = opts["originalInvoiceNumber.isNull"];
|
|
43326
|
+
if (opts["originalInvoiceNumber.isNotNull"] !== void 0)
|
|
43327
|
+
args.original_invoice_number__isNotNull = opts["originalInvoiceNumber.isNotNull"];
|
|
43028
43328
|
if (opts.lineItemId !== void 0)
|
|
43029
43329
|
args.line_item_id = opts.lineItemId;
|
|
43030
43330
|
if (opts.periodStart !== void 0)
|
|
43031
43331
|
args.period_start = opts.periodStart;
|
|
43032
43332
|
if (opts["periodStart.not"] !== void 0)
|
|
43033
43333
|
args.period_start__not = opts["periodStart.not"];
|
|
43034
|
-
if (opts["periodStart.isNull"] !== void 0)
|
|
43035
|
-
args.period_start__isNull = opts["periodStart.isNull"];
|
|
43036
|
-
if (opts["periodStart.isNotNull"] !== void 0)
|
|
43037
|
-
args.period_start__isNotNull = opts["periodStart.isNotNull"];
|
|
43038
43334
|
if (opts["periodStart.equals"] !== void 0)
|
|
43039
43335
|
args.period_start__equals = opts["periodStart.equals"];
|
|
43040
43336
|
if (opts["periodStart.lt"] !== void 0)
|
|
@@ -43045,14 +43341,14 @@ Examples:
|
|
|
43045
43341
|
args.period_start__gt = opts["periodStart.gt"];
|
|
43046
43342
|
if (opts["periodStart.gte"] !== void 0)
|
|
43047
43343
|
args.period_start__gte = opts["periodStart.gte"];
|
|
43344
|
+
if (opts["periodStart.isNull"] !== void 0)
|
|
43345
|
+
args.period_start__isNull = opts["periodStart.isNull"];
|
|
43346
|
+
if (opts["periodStart.isNotNull"] !== void 0)
|
|
43347
|
+
args.period_start__isNotNull = opts["periodStart.isNotNull"];
|
|
43048
43348
|
if (opts.periodEnd !== void 0)
|
|
43049
43349
|
args.period_end = opts.periodEnd;
|
|
43050
43350
|
if (opts["periodEnd.not"] !== void 0)
|
|
43051
43351
|
args.period_end__not = opts["periodEnd.not"];
|
|
43052
|
-
if (opts["periodEnd.isNull"] !== void 0)
|
|
43053
|
-
args.period_end__isNull = opts["periodEnd.isNull"];
|
|
43054
|
-
if (opts["periodEnd.isNotNull"] !== void 0)
|
|
43055
|
-
args.period_end__isNotNull = opts["periodEnd.isNotNull"];
|
|
43056
43352
|
if (opts["periodEnd.equals"] !== void 0)
|
|
43057
43353
|
args.period_end__equals = opts["periodEnd.equals"];
|
|
43058
43354
|
if (opts["periodEnd.lt"] !== void 0)
|
|
@@ -43063,14 +43359,14 @@ Examples:
|
|
|
43063
43359
|
args.period_end__gt = opts["periodEnd.gt"];
|
|
43064
43360
|
if (opts["periodEnd.gte"] !== void 0)
|
|
43065
43361
|
args.period_end__gte = opts["periodEnd.gte"];
|
|
43362
|
+
if (opts["periodEnd.isNull"] !== void 0)
|
|
43363
|
+
args.period_end__isNull = opts["periodEnd.isNull"];
|
|
43364
|
+
if (opts["periodEnd.isNotNull"] !== void 0)
|
|
43365
|
+
args.period_end__isNotNull = opts["periodEnd.isNotNull"];
|
|
43066
43366
|
if (opts.issuedAt !== void 0)
|
|
43067
43367
|
args.issued_at = opts.issuedAt;
|
|
43068
43368
|
if (opts["issuedAt.not"] !== void 0)
|
|
43069
43369
|
args.issued_at__not = opts["issuedAt.not"];
|
|
43070
|
-
if (opts["issuedAt.isNull"] !== void 0)
|
|
43071
|
-
args.issued_at__isNull = opts["issuedAt.isNull"];
|
|
43072
|
-
if (opts["issuedAt.isNotNull"] !== void 0)
|
|
43073
|
-
args.issued_at__isNotNull = opts["issuedAt.isNotNull"];
|
|
43074
43370
|
if (opts["issuedAt.equals"] !== void 0)
|
|
43075
43371
|
args.issued_at__equals = opts["issuedAt.equals"];
|
|
43076
43372
|
if (opts["issuedAt.lt"] !== void 0)
|
|
@@ -43085,10 +43381,6 @@ Examples:
|
|
|
43085
43381
|
args.due_at = opts.dueAt;
|
|
43086
43382
|
if (opts["dueAt.not"] !== void 0)
|
|
43087
43383
|
args.due_at__not = opts["dueAt.not"];
|
|
43088
|
-
if (opts["dueAt.isNull"] !== void 0)
|
|
43089
|
-
args.due_at__isNull = opts["dueAt.isNull"];
|
|
43090
|
-
if (opts["dueAt.isNotNull"] !== void 0)
|
|
43091
|
-
args.due_at__isNotNull = opts["dueAt.isNotNull"];
|
|
43092
43384
|
if (opts["dueAt.equals"] !== void 0)
|
|
43093
43385
|
args.due_at__equals = opts["dueAt.equals"];
|
|
43094
43386
|
if (opts["dueAt.lt"] !== void 0)
|
|
@@ -43103,10 +43395,6 @@ Examples:
|
|
|
43103
43395
|
args.updated_at = opts.updatedAt;
|
|
43104
43396
|
if (opts["updatedAt.not"] !== void 0)
|
|
43105
43397
|
args.updated_at__not = opts["updatedAt.not"];
|
|
43106
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
43107
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
43108
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
43109
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
43110
43398
|
if (opts["updatedAt.equals"] !== void 0)
|
|
43111
43399
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
43112
43400
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -43135,8 +43423,6 @@ Examples:
|
|
|
43135
43423
|
"status__in",
|
|
43136
43424
|
"customer_id",
|
|
43137
43425
|
"customer_id__not",
|
|
43138
|
-
"customer_id__isNull",
|
|
43139
|
-
"customer_id__isNotNull",
|
|
43140
43426
|
"customer_id__equals",
|
|
43141
43427
|
"customer_id__contains",
|
|
43142
43428
|
"customer_id__startsWith",
|
|
@@ -43144,67 +43430,61 @@ Examples:
|
|
|
43144
43430
|
"customer_external_id",
|
|
43145
43431
|
"subscription_id",
|
|
43146
43432
|
"subscription_id__not",
|
|
43147
|
-
"subscription_id__isNull",
|
|
43148
|
-
"subscription_id__isNotNull",
|
|
43149
43433
|
"subscription_id__equals",
|
|
43150
43434
|
"subscription_id__contains",
|
|
43151
43435
|
"subscription_id__startsWith",
|
|
43152
43436
|
"subscription_id__endWith",
|
|
43437
|
+
"subscription_id__isNull",
|
|
43438
|
+
"subscription_id__isNotNull",
|
|
43153
43439
|
"invoicing_entity_id",
|
|
43154
43440
|
"invoicing_entity_id__not",
|
|
43155
|
-
"invoicing_entity_id__isNull",
|
|
43156
|
-
"invoicing_entity_id__isNotNull",
|
|
43157
43441
|
"invoicing_entity_id__equals",
|
|
43158
43442
|
"invoicing_entity_id__contains",
|
|
43159
43443
|
"invoicing_entity_id__startsWith",
|
|
43160
43444
|
"invoicing_entity_id__endWith",
|
|
43161
43445
|
"invoice_number",
|
|
43162
43446
|
"invoice_number__not",
|
|
43163
|
-
"invoice_number__isNull",
|
|
43164
|
-
"invoice_number__isNotNull",
|
|
43165
43447
|
"invoice_number__equals",
|
|
43166
43448
|
"invoice_number__contains",
|
|
43167
43449
|
"invoice_number__startsWith",
|
|
43168
43450
|
"invoice_number__endWith",
|
|
43169
43451
|
"original_invoice_id",
|
|
43170
43452
|
"original_invoice_id__not",
|
|
43171
|
-
"original_invoice_id__isNull",
|
|
43172
|
-
"original_invoice_id__isNotNull",
|
|
43173
43453
|
"original_invoice_id__equals",
|
|
43174
43454
|
"original_invoice_id__contains",
|
|
43175
43455
|
"original_invoice_id__startsWith",
|
|
43176
43456
|
"original_invoice_id__endWith",
|
|
43457
|
+
"original_invoice_id__isNull",
|
|
43458
|
+
"original_invoice_id__isNotNull",
|
|
43177
43459
|
"original_invoice_number",
|
|
43178
43460
|
"original_invoice_number__not",
|
|
43179
|
-
"original_invoice_number__isNull",
|
|
43180
|
-
"original_invoice_number__isNotNull",
|
|
43181
43461
|
"original_invoice_number__equals",
|
|
43182
43462
|
"original_invoice_number__contains",
|
|
43183
43463
|
"original_invoice_number__startsWith",
|
|
43184
43464
|
"original_invoice_number__endWith",
|
|
43465
|
+
"original_invoice_number__isNull",
|
|
43466
|
+
"original_invoice_number__isNotNull",
|
|
43185
43467
|
"line_item_id",
|
|
43186
43468
|
"period_start",
|
|
43187
43469
|
"period_start__not",
|
|
43188
|
-
"period_start__isNull",
|
|
43189
|
-
"period_start__isNotNull",
|
|
43190
43470
|
"period_start__equals",
|
|
43191
43471
|
"period_start__lt",
|
|
43192
43472
|
"period_start__lte",
|
|
43193
43473
|
"period_start__gt",
|
|
43194
43474
|
"period_start__gte",
|
|
43475
|
+
"period_start__isNull",
|
|
43476
|
+
"period_start__isNotNull",
|
|
43195
43477
|
"period_end",
|
|
43196
43478
|
"period_end__not",
|
|
43197
|
-
"period_end__isNull",
|
|
43198
|
-
"period_end__isNotNull",
|
|
43199
43479
|
"period_end__equals",
|
|
43200
43480
|
"period_end__lt",
|
|
43201
43481
|
"period_end__lte",
|
|
43202
43482
|
"period_end__gt",
|
|
43203
43483
|
"period_end__gte",
|
|
43484
|
+
"period_end__isNull",
|
|
43485
|
+
"period_end__isNotNull",
|
|
43204
43486
|
"issued_at",
|
|
43205
43487
|
"issued_at__not",
|
|
43206
|
-
"issued_at__isNull",
|
|
43207
|
-
"issued_at__isNotNull",
|
|
43208
43488
|
"issued_at__equals",
|
|
43209
43489
|
"issued_at__lt",
|
|
43210
43490
|
"issued_at__lte",
|
|
@@ -43212,8 +43492,6 @@ Examples:
|
|
|
43212
43492
|
"issued_at__gte",
|
|
43213
43493
|
"due_at",
|
|
43214
43494
|
"due_at__not",
|
|
43215
|
-
"due_at__isNull",
|
|
43216
|
-
"due_at__isNotNull",
|
|
43217
43495
|
"due_at__equals",
|
|
43218
43496
|
"due_at__lt",
|
|
43219
43497
|
"due_at__lte",
|
|
@@ -43221,8 +43499,6 @@ Examples:
|
|
|
43221
43499
|
"due_at__gte",
|
|
43222
43500
|
"updated_at",
|
|
43223
43501
|
"updated_at__not",
|
|
43224
|
-
"updated_at__isNull",
|
|
43225
|
-
"updated_at__isNotNull",
|
|
43226
43502
|
"updated_at__equals",
|
|
43227
43503
|
"updated_at__lt",
|
|
43228
43504
|
"updated_at__lte",
|
|
@@ -43910,88 +44186,19 @@ Examples:
|
|
|
43910
44186
|
args.credit_note_wallet_refund_enabled = true;
|
|
43911
44187
|
if (opts.standaloneCreditNoteCreationEnabled !== void 0)
|
|
43912
44188
|
args.standalone_credit_note_creation_enabled = true;
|
|
43913
|
-
if (opts.fxConversionDisplayEnabled !== void 0)
|
|
43914
|
-
args.fx_conversion_display_enabled = true;
|
|
43915
|
-
await ctx.execute({
|
|
43916
|
-
method: "PUT",
|
|
43917
|
-
path: "/v1/invoicing-entities/{id}",
|
|
43918
|
-
args,
|
|
43919
|
-
queryParamKeys: []
|
|
43920
|
-
});
|
|
43921
|
-
});
|
|
43922
|
-
resource.command("delete-invoicing-entity").description(`Soft-delete an invoicing entity by ID. Existing invoices linked to it are preserved.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
43923
|
-
Examples:
|
|
43924
|
-
hyperline invoicing-entities delete-invoicing-entity --id <id>
|
|
43925
|
-
hyperline invoicing-entities delete-invoicing-entity --id <id> --output json`).action(async (opts) => {
|
|
43926
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
43927
|
-
if (!ctx) {
|
|
43928
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
43929
|
-
process.exit(1);
|
|
43930
|
-
}
|
|
43931
|
-
const args = {};
|
|
43932
|
-
if (opts.id !== void 0)
|
|
43933
|
-
args.id = opts.id;
|
|
43934
|
-
if (!opts.yes) {
|
|
43935
|
-
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
43936
|
-
if (!confirmed) {
|
|
43937
|
-
process.stdout.write("Aborted.\n");
|
|
43938
|
-
return;
|
|
43939
|
-
}
|
|
43940
|
-
}
|
|
43941
|
-
await ctx.execute({
|
|
43942
|
-
method: "DELETE",
|
|
43943
|
-
path: "/v1/invoicing-entities/{id}",
|
|
43944
|
-
args,
|
|
43945
|
-
queryParamKeys: []
|
|
43946
|
-
});
|
|
43947
|
-
});
|
|
43948
|
-
}
|
|
43949
|
-
|
|
43950
|
-
// build/commands/generated/monitoring.js
|
|
43951
|
-
function registerMonitoringCommands(parent) {
|
|
43952
|
-
const resource = parent.command("monitoring").description("Manage monitoring");
|
|
43953
|
-
resource.command("list-monitoring-analyses").description(`List customer health analyses from the monitoring agent, newest first: health score (0-100), tier, summary, per-dimension scores, risk factors and positive signals. Filter by customer (Hyperline or external ID) with limit=1 to get a customer's current health score. Only completed analyses unless status is set.`).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.`).option("--customer-id <value>", `Return only analyses of this customer. Accepts the Hyperline ID or your own external ID.`).option("--status <value>", `Return only analyses with this status. Defaults to \`completed\`, the analyses that carry a score.`).option("--created-at.gte <value>", `Return only analyses created at or after this date.`).option("--created-at.lte <value>", `Return only analyses created at or before this date.`).addHelpText("after", `
|
|
43954
|
-
Examples:
|
|
43955
|
-
hyperline monitoring list-monitoring-analyses
|
|
43956
|
-
hyperline monitoring list-monitoring-analyses --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
43957
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
43958
|
-
if (!ctx) {
|
|
43959
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
43960
|
-
process.exit(1);
|
|
43961
|
-
}
|
|
43962
|
-
const args = {};
|
|
43963
|
-
if (opts.cursor !== void 0)
|
|
43964
|
-
args.cursor = opts.cursor;
|
|
43965
|
-
if (opts.includeTotal !== void 0)
|
|
43966
|
-
args.include_total = opts.includeTotal;
|
|
43967
|
-
if (opts.customerId !== void 0)
|
|
43968
|
-
args.customer_id = opts.customerId;
|
|
43969
|
-
if (opts.status !== void 0)
|
|
43970
|
-
args.status = opts.status;
|
|
43971
|
-
if (opts["createdAt.gte"] !== void 0)
|
|
43972
|
-
args.created_at__gte = opts["createdAt.gte"];
|
|
43973
|
-
if (opts["createdAt.lte"] !== void 0)
|
|
43974
|
-
args.created_at__lte = opts["createdAt.lte"];
|
|
43975
|
-
if (opts.limit !== void 0)
|
|
43976
|
-
args.limit = Number(opts.limit);
|
|
43977
|
-
await ctx.execute({
|
|
43978
|
-
method: "GET",
|
|
43979
|
-
path: "/v1/agents/monitoring/analyses",
|
|
43980
|
-
args,
|
|
43981
|
-
queryParamKeys: [
|
|
43982
|
-
"limit",
|
|
43983
|
-
"cursor",
|
|
43984
|
-
"include_total",
|
|
43985
|
-
"customer_id",
|
|
43986
|
-
"status",
|
|
43987
|
-
"created_at__gte",
|
|
43988
|
-
"created_at__lte"
|
|
43989
|
-
]
|
|
44189
|
+
if (opts.fxConversionDisplayEnabled !== void 0)
|
|
44190
|
+
args.fx_conversion_display_enabled = true;
|
|
44191
|
+
await ctx.execute({
|
|
44192
|
+
method: "PUT",
|
|
44193
|
+
path: "/v1/invoicing-entities/{id}",
|
|
44194
|
+
args,
|
|
44195
|
+
queryParamKeys: []
|
|
43990
44196
|
});
|
|
43991
44197
|
});
|
|
43992
|
-
resource.command("
|
|
44198
|
+
resource.command("delete-invoicing-entity").description(`Soft-delete an invoicing entity by ID. Existing invoices linked to it are preserved.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
43993
44199
|
Examples:
|
|
43994
|
-
hyperline
|
|
44200
|
+
hyperline invoicing-entities delete-invoicing-entity --id <id>
|
|
44201
|
+
hyperline invoicing-entities delete-invoicing-entity --id <id> --output json`).action(async (opts) => {
|
|
43995
44202
|
const ctx = resource.parent?.opts()._ctx;
|
|
43996
44203
|
if (!ctx) {
|
|
43997
44204
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -44000,9 +44207,16 @@ Examples:
|
|
|
44000
44207
|
const args = {};
|
|
44001
44208
|
if (opts.id !== void 0)
|
|
44002
44209
|
args.id = opts.id;
|
|
44210
|
+
if (!opts.yes) {
|
|
44211
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
44212
|
+
if (!confirmed) {
|
|
44213
|
+
process.stdout.write("Aborted.\n");
|
|
44214
|
+
return;
|
|
44215
|
+
}
|
|
44216
|
+
}
|
|
44003
44217
|
await ctx.execute({
|
|
44004
|
-
method: "
|
|
44005
|
-
path: "/v1/
|
|
44218
|
+
method: "DELETE",
|
|
44219
|
+
path: "/v1/invoicing-entities/{id}",
|
|
44006
44220
|
args,
|
|
44007
44221
|
queryParamKeys: []
|
|
44008
44222
|
});
|
|
@@ -44012,7 +44226,7 @@ Examples:
|
|
|
44012
44226
|
// build/commands/generated/organisations.js
|
|
44013
44227
|
function registerOrganisationsCommands(parent) {
|
|
44014
44228
|
const resource = parent.command("organisations").description("Manage organisations");
|
|
44015
|
-
resource.command("list").description(`Retrieve organisations with their billing details and child customer IDs.`).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.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--created-at <value>", `created_at`).option("--created-at.not <value>", `created_at__not`).option("--created-at.
|
|
44229
|
+
resource.command("list").description(`Retrieve organisations with their billing details and child customer IDs.`).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.`).option("--order <value>", `Sort direction.`).option("--sort <value>", `Field used to sort the results.`).option("--created-at <value>", `created_at`).option("--created-at.not <value>", `created_at__not`).option("--created-at.equals <value>", `created_at__equals`).option("--created-at.lt <value>", `created_at__lt`).option("--created-at.lte <value>", `created_at__lte`).option("--created-at.gt <value>", `created_at__gt`).option("--created-at.gte <value>", `created_at__gte`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
44016
44230
|
Examples:
|
|
44017
44231
|
hyperline organisations list
|
|
44018
44232
|
hyperline organisations list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -44034,10 +44248,6 @@ Examples:
|
|
|
44034
44248
|
args.created_at = opts.createdAt;
|
|
44035
44249
|
if (opts["createdAt.not"] !== void 0)
|
|
44036
44250
|
args.created_at__not = opts["createdAt.not"];
|
|
44037
|
-
if (opts["createdAt.isNull"] !== void 0)
|
|
44038
|
-
args.created_at__isNull = opts["createdAt.isNull"];
|
|
44039
|
-
if (opts["createdAt.isNotNull"] !== void 0)
|
|
44040
|
-
args.created_at__isNotNull = opts["createdAt.isNotNull"];
|
|
44041
44251
|
if (opts["createdAt.equals"] !== void 0)
|
|
44042
44252
|
args.created_at__equals = opts["createdAt.equals"];
|
|
44043
44253
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -44052,10 +44262,6 @@ Examples:
|
|
|
44052
44262
|
args.updated_at = opts.updatedAt;
|
|
44053
44263
|
if (opts["updatedAt.not"] !== void 0)
|
|
44054
44264
|
args.updated_at__not = opts["updatedAt.not"];
|
|
44055
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
44056
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
44057
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
44058
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
44059
44265
|
if (opts["updatedAt.equals"] !== void 0)
|
|
44060
44266
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44061
44267
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44080,8 +44286,6 @@ Examples:
|
|
|
44080
44286
|
"sort",
|
|
44081
44287
|
"created_at",
|
|
44082
44288
|
"created_at__not",
|
|
44083
|
-
"created_at__isNull",
|
|
44084
|
-
"created_at__isNotNull",
|
|
44085
44289
|
"created_at__equals",
|
|
44086
44290
|
"created_at__lt",
|
|
44087
44291
|
"created_at__lte",
|
|
@@ -44089,8 +44293,6 @@ Examples:
|
|
|
44089
44293
|
"created_at__gte",
|
|
44090
44294
|
"updated_at",
|
|
44091
44295
|
"updated_at__not",
|
|
44092
|
-
"updated_at__isNull",
|
|
44093
|
-
"updated_at__isNotNull",
|
|
44094
44296
|
"updated_at__equals",
|
|
44095
44297
|
"updated_at__lt",
|
|
44096
44298
|
"updated_at__lte",
|
|
@@ -44204,7 +44406,7 @@ Examples:
|
|
|
44204
44406
|
// build/commands/generated/price-configurations.js
|
|
44205
44407
|
function registerPrice_ConfigurationsCommands(parent) {
|
|
44206
44408
|
const resource = parent.command("price-configurations").description("Manage price configurations");
|
|
44207
|
-
resource.command("list").description(`List price configurations with optional filters for product_id and price_book_id. Price configurations define how a product is priced (tiers, volume, graduated, etc.). Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.
|
|
44409
|
+
resource.command("list").description(`List price configurations with optional filters for product_id and price_book_id. Price configurations define how a product is priced (tiers, volume, graduated, etc.). Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--product-id <value>", `product_id`).option("--product-id.not <value>", `product_id__not`).option("--product-id.equals <value>", `product_id__equals`).option("--product-id.contains <value>", `product_id__contains`).option("--product-id.starts-with <value>", `product_id__startsWith`).option("--product-id.end-with <value>", `product_id__endWith`).option("--price-book-id <value>", `price_book_id`).option("--price-book-id.not <value>", `price_book_id__not`).option("--price-book-id.equals <value>", `price_book_id__equals`).option("--price-book-id.contains <value>", `price_book_id__contains`).option("--price-book-id.starts-with <value>", `price_book_id__startsWith`).option("--price-book-id.end-with <value>", `price_book_id__endWith`).option("--price-book-id.is-null <value>", `price_book_id__isNull`).option("--price-book-id.is-not-null <value>", `price_book_id__isNotNull`).addHelpText("after", `
|
|
44208
44410
|
Examples:
|
|
44209
44411
|
hyperline price-configurations list
|
|
44210
44412
|
hyperline price-configurations list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -44218,10 +44420,6 @@ Examples:
|
|
|
44218
44420
|
args.product_id = opts.productId;
|
|
44219
44421
|
if (opts["productId.not"] !== void 0)
|
|
44220
44422
|
args.product_id__not = opts["productId.not"];
|
|
44221
|
-
if (opts["productId.isNull"] !== void 0)
|
|
44222
|
-
args.product_id__isNull = opts["productId.isNull"];
|
|
44223
|
-
if (opts["productId.isNotNull"] !== void 0)
|
|
44224
|
-
args.product_id__isNotNull = opts["productId.isNotNull"];
|
|
44225
44423
|
if (opts["productId.equals"] !== void 0)
|
|
44226
44424
|
args.product_id__equals = opts["productId.equals"];
|
|
44227
44425
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -44234,10 +44432,6 @@ Examples:
|
|
|
44234
44432
|
args.price_book_id = opts.priceBookId;
|
|
44235
44433
|
if (opts["priceBookId.not"] !== void 0)
|
|
44236
44434
|
args.price_book_id__not = opts["priceBookId.not"];
|
|
44237
|
-
if (opts["priceBookId.isNull"] !== void 0)
|
|
44238
|
-
args.price_book_id__isNull = opts["priceBookId.isNull"];
|
|
44239
|
-
if (opts["priceBookId.isNotNull"] !== void 0)
|
|
44240
|
-
args.price_book_id__isNotNull = opts["priceBookId.isNotNull"];
|
|
44241
44435
|
if (opts["priceBookId.equals"] !== void 0)
|
|
44242
44436
|
args.price_book_id__equals = opts["priceBookId.equals"];
|
|
44243
44437
|
if (opts["priceBookId.contains"] !== void 0)
|
|
@@ -44246,6 +44440,10 @@ Examples:
|
|
|
44246
44440
|
args.price_book_id__startsWith = opts["priceBookId.startsWith"];
|
|
44247
44441
|
if (opts["priceBookId.endWith"] !== void 0)
|
|
44248
44442
|
args.price_book_id__endWith = opts["priceBookId.endWith"];
|
|
44443
|
+
if (opts["priceBookId.isNull"] !== void 0)
|
|
44444
|
+
args.price_book_id__isNull = opts["priceBookId.isNull"];
|
|
44445
|
+
if (opts["priceBookId.isNotNull"] !== void 0)
|
|
44446
|
+
args.price_book_id__isNotNull = opts["priceBookId.isNotNull"];
|
|
44249
44447
|
if (opts.take !== void 0)
|
|
44250
44448
|
args.take = Number(opts.take);
|
|
44251
44449
|
if (opts.skip !== void 0)
|
|
@@ -44259,20 +44457,18 @@ Examples:
|
|
|
44259
44457
|
"skip",
|
|
44260
44458
|
"product_id",
|
|
44261
44459
|
"product_id__not",
|
|
44262
|
-
"product_id__isNull",
|
|
44263
|
-
"product_id__isNotNull",
|
|
44264
44460
|
"product_id__equals",
|
|
44265
44461
|
"product_id__contains",
|
|
44266
44462
|
"product_id__startsWith",
|
|
44267
44463
|
"product_id__endWith",
|
|
44268
44464
|
"price_book_id",
|
|
44269
44465
|
"price_book_id__not",
|
|
44270
|
-
"price_book_id__isNull",
|
|
44271
|
-
"price_book_id__isNotNull",
|
|
44272
44466
|
"price_book_id__equals",
|
|
44273
44467
|
"price_book_id__contains",
|
|
44274
44468
|
"price_book_id__startsWith",
|
|
44275
|
-
"price_book_id__endWith"
|
|
44469
|
+
"price_book_id__endWith",
|
|
44470
|
+
"price_book_id__isNull",
|
|
44471
|
+
"price_book_id__isNotNull"
|
|
44276
44472
|
]
|
|
44277
44473
|
});
|
|
44278
44474
|
});
|
|
@@ -44294,7 +44490,7 @@ Examples:
|
|
|
44294
44490
|
queryParamKeys: []
|
|
44295
44491
|
});
|
|
44296
44492
|
});
|
|
44297
|
-
resource.command("create").description(`Create a new price configuration on an existing product. Specify the product_id, pricing type (fee, volume, bulk, packaged, bps, bundle), currency, billing interval, and price tiers. Supports metering_filter for dynamic products.`).requiredOption("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--countries <json>", `Countries this price configuration is eligible in. Omit or send \`null\` to make it eligible in every country. An empty array restricts it to customers that have no country set.`).option("--price-book-id <value>", `ID of the price book to which this price configuration belongs to. If null, the price configuration belongs to the default price book.`).requiredOption("--billing-interval <json>", `Billing interval on which the price configuration is eligible.`).option("--commitment-interval <json>", `Commitment interval on which the price configuration is eligible.`).requiredOption("--type <value>", `type`).requiredOption("--prices <json>", `Price tiers of the price configuration. If fixed amount, only one price is available.`).requiredOption("--product-id <value>", `ID of the product to add the price configuration to.`).option("--metering-filter <json>", `Filter to scope which billable events are eligible for this price configuration.`).option("--allow-on-portal", `allow_on_portal`).addHelpText("after", `
|
|
44493
|
+
resource.command("create").description(`Create a new price configuration on an existing product. Specify the product_id, pricing type (fee, volume, bulk, packaged, bps, bundle), currency, billing interval, and price tiers. Supports metering_filter for dynamic products.`).requiredOption("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--countries <json>", `Countries this price configuration is eligible in. Omit or send \`null\` to make it eligible in every country. An empty array restricts it to customers that have no country set.`).option("--price-book-id <value>", `ID of the price book to which this price configuration belongs to. If null, the price configuration belongs to the default price book.`).requiredOption("--billing-interval <json>", `Billing interval on which the price configuration is eligible.`).option("--commitment-interval <json>", `Commitment interval on which the price configuration is eligible.`).requiredOption("--type <value>", `type`).requiredOption("--prices <json>", `Price tiers of the price configuration. If fixed amount, only one price is available.`).requiredOption("--product-id <value>", `ID of the product to add the price configuration to.`).option("--metering-filter <json>", `Filter to scope which billable events are eligible for this price configuration.`).option("--aggregator-filter-id <value>", `ID of an existing metering filter of the product's aggregator to attach to this price configuration, instead of creating a new one with \`metering_filter\`.`).option("--allow-on-portal", `allow_on_portal`).addHelpText("after", `
|
|
44298
44494
|
Examples:
|
|
44299
44495
|
hyperline price-configurations create --currency <currency> --billing-interval <billing_interval> --type <type> --prices <prices> --product-id <product_id>
|
|
44300
44496
|
hyperline price-configurations create --currency <currency> --billing-interval <billing_interval> --type <type> --prices <prices> --product-id <product_id> --countries <countries> --price-book-id <price_book_id>
|
|
@@ -44313,6 +44509,8 @@ Examples:
|
|
|
44313
44509
|
args.type = opts.type;
|
|
44314
44510
|
if (opts.productId !== void 0)
|
|
44315
44511
|
args.product_id = opts.productId;
|
|
44512
|
+
if (opts.aggregatorFilterId !== void 0)
|
|
44513
|
+
args.aggregator_filter_id = opts.aggregatorFilterId;
|
|
44316
44514
|
if (opts.allowOnPortal !== void 0)
|
|
44317
44515
|
args.allow_on_portal = true;
|
|
44318
44516
|
if (opts.countries !== void 0)
|
|
@@ -44396,7 +44594,7 @@ Examples:
|
|
|
44396
44594
|
// build/commands/generated/products.js
|
|
44397
44595
|
function registerProductsCommands(parent) {
|
|
44398
44596
|
const resource = parent.command("products").description("Manage products");
|
|
44399
|
-
resource.command("list").description(`List products with optional filters for id, status, name, description, type, and price_book_id. Products define what is being sold (flat fee, per-unit, usage-based, etc.). Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.
|
|
44597
|
+
resource.command("list").description(`List products with optional filters for id, status, name, description, type, and price_book_id. Products define what is being sold (flat fee, per-unit, usage-based, etc.). Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).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("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).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("--description <value>", `description`).option("--description.not <value>", `description__not`).option("--description.equals <value>", `description__equals`).option("--description.contains <value>", `description__contains`).option("--description.starts-with <value>", `description__startsWith`).option("--description.end-with <value>", `description__endWith`).option("--description.is-null <value>", `description__isNull`).option("--description.is-not-null <value>", `description__isNotNull`).option("--type <value>", `type`).option("--type.not <value>", `type__not`).option("--type.equals <value>", `type__equals`).option("--type.contains <value>", `type__contains`).option("--type.starts-with <value>", `type__startsWith`).option("--type.end-with <value>", `type__endWith`).option("--price-book-id <value>", `price_book_id`).addHelpText("after", `
|
|
44400
44598
|
Examples:
|
|
44401
44599
|
hyperline products list
|
|
44402
44600
|
hyperline products list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44410,10 +44608,6 @@ Examples:
|
|
|
44410
44608
|
args.id = opts.id;
|
|
44411
44609
|
if (opts["id.not"] !== void 0)
|
|
44412
44610
|
args.id__not = opts["id.not"];
|
|
44413
|
-
if (opts["id.isNull"] !== void 0)
|
|
44414
|
-
args.id__isNull = opts["id.isNull"];
|
|
44415
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
44416
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
44417
44611
|
if (opts["id.equals"] !== void 0)
|
|
44418
44612
|
args.id__equals = opts["id.equals"];
|
|
44419
44613
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44430,10 +44624,6 @@ Examples:
|
|
|
44430
44624
|
args.name = opts.name;
|
|
44431
44625
|
if (opts["name.not"] !== void 0)
|
|
44432
44626
|
args.name__not = opts["name.not"];
|
|
44433
|
-
if (opts["name.isNull"] !== void 0)
|
|
44434
|
-
args.name__isNull = opts["name.isNull"];
|
|
44435
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
44436
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
44437
44627
|
if (opts["name.equals"] !== void 0)
|
|
44438
44628
|
args.name__equals = opts["name.equals"];
|
|
44439
44629
|
if (opts["name.contains"] !== void 0)
|
|
@@ -44446,10 +44636,6 @@ Examples:
|
|
|
44446
44636
|
args.description = opts.description;
|
|
44447
44637
|
if (opts["description.not"] !== void 0)
|
|
44448
44638
|
args.description__not = opts["description.not"];
|
|
44449
|
-
if (opts["description.isNull"] !== void 0)
|
|
44450
|
-
args.description__isNull = opts["description.isNull"];
|
|
44451
|
-
if (opts["description.isNotNull"] !== void 0)
|
|
44452
|
-
args.description__isNotNull = opts["description.isNotNull"];
|
|
44453
44639
|
if (opts["description.equals"] !== void 0)
|
|
44454
44640
|
args.description__equals = opts["description.equals"];
|
|
44455
44641
|
if (opts["description.contains"] !== void 0)
|
|
@@ -44458,14 +44644,14 @@ Examples:
|
|
|
44458
44644
|
args.description__startsWith = opts["description.startsWith"];
|
|
44459
44645
|
if (opts["description.endWith"] !== void 0)
|
|
44460
44646
|
args.description__endWith = opts["description.endWith"];
|
|
44647
|
+
if (opts["description.isNull"] !== void 0)
|
|
44648
|
+
args.description__isNull = opts["description.isNull"];
|
|
44649
|
+
if (opts["description.isNotNull"] !== void 0)
|
|
44650
|
+
args.description__isNotNull = opts["description.isNotNull"];
|
|
44461
44651
|
if (opts.type !== void 0)
|
|
44462
44652
|
args.type = opts.type;
|
|
44463
44653
|
if (opts["type.not"] !== void 0)
|
|
44464
44654
|
args.type__not = opts["type.not"];
|
|
44465
|
-
if (opts["type.isNull"] !== void 0)
|
|
44466
|
-
args.type__isNull = opts["type.isNull"];
|
|
44467
|
-
if (opts["type.isNotNull"] !== void 0)
|
|
44468
|
-
args.type__isNotNull = opts["type.isNotNull"];
|
|
44469
44655
|
if (opts["type.equals"] !== void 0)
|
|
44470
44656
|
args.type__equals = opts["type.equals"];
|
|
44471
44657
|
if (opts["type.contains"] !== void 0)
|
|
@@ -44489,8 +44675,6 @@ Examples:
|
|
|
44489
44675
|
"skip",
|
|
44490
44676
|
"id",
|
|
44491
44677
|
"id__not",
|
|
44492
|
-
"id__isNull",
|
|
44493
|
-
"id__isNotNull",
|
|
44494
44678
|
"id__equals",
|
|
44495
44679
|
"id__contains",
|
|
44496
44680
|
"id__startsWith",
|
|
@@ -44499,24 +44683,20 @@ Examples:
|
|
|
44499
44683
|
"status__in",
|
|
44500
44684
|
"name",
|
|
44501
44685
|
"name__not",
|
|
44502
|
-
"name__isNull",
|
|
44503
|
-
"name__isNotNull",
|
|
44504
44686
|
"name__equals",
|
|
44505
44687
|
"name__contains",
|
|
44506
44688
|
"name__startsWith",
|
|
44507
44689
|
"name__endWith",
|
|
44508
44690
|
"description",
|
|
44509
44691
|
"description__not",
|
|
44510
|
-
"description__isNull",
|
|
44511
|
-
"description__isNotNull",
|
|
44512
44692
|
"description__equals",
|
|
44513
44693
|
"description__contains",
|
|
44514
44694
|
"description__startsWith",
|
|
44515
44695
|
"description__endWith",
|
|
44696
|
+
"description__isNull",
|
|
44697
|
+
"description__isNotNull",
|
|
44516
44698
|
"type",
|
|
44517
44699
|
"type__not",
|
|
44518
|
-
"type__isNull",
|
|
44519
|
-
"type__isNotNull",
|
|
44520
44700
|
"type__equals",
|
|
44521
44701
|
"type__contains",
|
|
44522
44702
|
"type__startsWith",
|
|
@@ -44717,6 +44897,80 @@ Examples:
|
|
|
44717
44897
|
});
|
|
44718
44898
|
}
|
|
44719
44899
|
|
|
44900
|
+
// build/commands/generated/products-features.js
|
|
44901
|
+
function registerProducts_FeaturesCommands(parent) {
|
|
44902
|
+
const resource = parent.command("products-features").description("Manage products > features");
|
|
44903
|
+
resource.command("list-product-features").description(`List feature values assigned to a product.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
44904
|
+
Examples:
|
|
44905
|
+
hyperline products-features list-product-features --id <id>`).action(async (opts) => {
|
|
44906
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
44907
|
+
if (!ctx) {
|
|
44908
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
44909
|
+
process.exit(1);
|
|
44910
|
+
}
|
|
44911
|
+
const args = {};
|
|
44912
|
+
if (opts.id !== void 0)
|
|
44913
|
+
args.id = opts.id;
|
|
44914
|
+
await ctx.execute({
|
|
44915
|
+
method: "GET",
|
|
44916
|
+
path: "/v1/products/{id}/features",
|
|
44917
|
+
args,
|
|
44918
|
+
queryParamKeys: []
|
|
44919
|
+
});
|
|
44920
|
+
});
|
|
44921
|
+
resource.command("set-product-feature").description(`Set a feature value for a product.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).requiredOption("--value", `Feature value.`).addHelpText("after", `
|
|
44922
|
+
Examples:
|
|
44923
|
+
hyperline products-features set-product-feature --id <id> --code <code> --value
|
|
44924
|
+
hyperline products-features set-product-feature --id <id> --code <code> --value --output json`).action(async (opts) => {
|
|
44925
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
44926
|
+
if (!ctx) {
|
|
44927
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
44928
|
+
process.exit(1);
|
|
44929
|
+
}
|
|
44930
|
+
const args = {};
|
|
44931
|
+
if (opts.id !== void 0)
|
|
44932
|
+
args.id = opts.id;
|
|
44933
|
+
if (opts.code !== void 0)
|
|
44934
|
+
args.code = opts.code;
|
|
44935
|
+
if (opts.value !== void 0)
|
|
44936
|
+
args.value = true;
|
|
44937
|
+
await ctx.execute({
|
|
44938
|
+
method: "PUT",
|
|
44939
|
+
path: "/v1/products/{id}/features/{code}",
|
|
44940
|
+
args,
|
|
44941
|
+
queryParamKeys: []
|
|
44942
|
+
});
|
|
44943
|
+
});
|
|
44944
|
+
resource.command("delete-product-feature").description(`Delete a feature value from a product.`).requiredOption("--id <value>", `id parameter`).requiredOption("--code <value>", `code parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
44945
|
+
Examples:
|
|
44946
|
+
hyperline products-features delete-product-feature --id <id> --code <code>
|
|
44947
|
+
hyperline products-features delete-product-feature --id <id> --code <code> --output json`).action(async (opts) => {
|
|
44948
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
44949
|
+
if (!ctx) {
|
|
44950
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
44951
|
+
process.exit(1);
|
|
44952
|
+
}
|
|
44953
|
+
const args = {};
|
|
44954
|
+
if (opts.id !== void 0)
|
|
44955
|
+
args.id = opts.id;
|
|
44956
|
+
if (opts.code !== void 0)
|
|
44957
|
+
args.code = opts.code;
|
|
44958
|
+
if (!opts.yes) {
|
|
44959
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
44960
|
+
if (!confirmed) {
|
|
44961
|
+
process.stdout.write("Aborted.\n");
|
|
44962
|
+
return;
|
|
44963
|
+
}
|
|
44964
|
+
}
|
|
44965
|
+
await ctx.execute({
|
|
44966
|
+
method: "DELETE",
|
|
44967
|
+
path: "/v1/products/{id}/features/{code}",
|
|
44968
|
+
args,
|
|
44969
|
+
queryParamKeys: []
|
|
44970
|
+
});
|
|
44971
|
+
});
|
|
44972
|
+
}
|
|
44973
|
+
|
|
44720
44974
|
// build/commands/generated/quotes.js
|
|
44721
44975
|
function registerQuotesCommands(parent) {
|
|
44722
44976
|
const resource = parent.command("quotes").description("Manage quotes");
|
|
@@ -44726,12 +44980,12 @@ Quote status.
|
|
|
44726
44980
|
- \`draft\`: The quote is a draft.
|
|
44727
44981
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
44728
44982
|
- \`pending_signature\`: The quote is awaiting the customer's signature.
|
|
44729
|
-
`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. 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("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).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 <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `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.
|
|
44983
|
+
`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation. 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("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. 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("--contract-value <number>", `What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for \`subscription\` and \`subscription_update\` quotes, unless set manually. Not set on \`one_off\` quotes. When specified, overrides the computed value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `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.
|
|
44730
44984
|
|
|
44731
44985
|
- \`all\`: Display all pricing tiers.
|
|
44732
44986
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
44733
44987
|
- \`none\`: Hide all pricing tiers.
|
|
44734
|
-
`).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("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).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 <json>", `Subscription configuration constituting the quote.`).option("--invoice <json>", `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", `
|
|
44988
|
+
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-discounts-on-total <value>", `Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.`).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("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).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 <json>", `Subscription configuration constituting the quote.`).option("--invoice <json>", `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", `
|
|
44735
44989
|
Examples:
|
|
44736
44990
|
hyperline quotes create --customer-id <customer_id>
|
|
44737
44991
|
hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
|
|
@@ -44770,6 +45024,8 @@ Examples:
|
|
|
44770
45024
|
args.display_price_tiers = opts.displayPriceTiers;
|
|
44771
45025
|
if (opts.displayPhaseValue !== void 0)
|
|
44772
45026
|
args.display_phase_value = opts.displayPhaseValue;
|
|
45027
|
+
if (opts.displayDiscountsOnTotal !== void 0)
|
|
45028
|
+
args.display_discounts_on_total = opts.displayDiscountsOnTotal;
|
|
44773
45029
|
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
44774
45030
|
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
44775
45031
|
if (opts.displayDocumentsInPreview !== void 0)
|
|
@@ -44784,6 +45040,8 @@ Examples:
|
|
|
44784
45040
|
args.expires_at = opts.expiresAt;
|
|
44785
45041
|
if (opts.amount !== void 0)
|
|
44786
45042
|
args.amount = Number(opts.amount);
|
|
45043
|
+
if (opts.contractValue !== void 0)
|
|
45044
|
+
args.contract_value = Number(opts.contractValue);
|
|
44787
45045
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
44788
45046
|
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
44789
45047
|
if (opts.contractClauseIds !== void 0)
|
|
@@ -44799,7 +45057,7 @@ Examples:
|
|
|
44799
45057
|
queryParamKeys: []
|
|
44800
45058
|
});
|
|
44801
45059
|
});
|
|
44802
|
-
resource.command("list").description(`List quotes with optional filters for id, number, status, customer_id, template_id, crm_opportunity_id, type, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.
|
|
45060
|
+
resource.command("list").description(`List quotes with optional filters for id, number, status, customer_id, template_id, crm_opportunity_id, type, and updated_at. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).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("--number <value>", `number`).option("--number.not <value>", `number__not`).option("--number.equals <value>", `number__equals`).option("--number.contains <value>", `number__contains`).option("--number.starts-with <value>", `number__startsWith`).option("--number.end-with <value>", `number__endWith`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--template-id <value>", `template_id`).option("--template-id.not <value>", `template_id__not`).option("--template-id.equals <value>", `template_id__equals`).option("--template-id.contains <value>", `template_id__contains`).option("--template-id.starts-with <value>", `template_id__startsWith`).option("--template-id.end-with <value>", `template_id__endWith`).option("--template-id.is-null <value>", `template_id__isNull`).option("--template-id.is-not-null <value>", `template_id__isNotNull`).option("--crm-opportunity-id <value>", `crm_opportunity_id`).option("--crm-opportunity-id.not <value>", `crm_opportunity_id__not`).option("--crm-opportunity-id.equals <value>", `crm_opportunity_id__equals`).option("--crm-opportunity-id.contains <value>", `crm_opportunity_id__contains`).option("--crm-opportunity-id.starts-with <value>", `crm_opportunity_id__startsWith`).option("--crm-opportunity-id.end-with <value>", `crm_opportunity_id__endWith`).option("--crm-opportunity-id.is-null <value>", `crm_opportunity_id__isNull`).option("--crm-opportunity-id.is-not-null <value>", `crm_opportunity_id__isNotNull`).option("--type <value>", `type`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).addHelpText("after", `
|
|
44803
45061
|
Examples:
|
|
44804
45062
|
hyperline quotes list
|
|
44805
45063
|
hyperline quotes list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44813,10 +45071,6 @@ Examples:
|
|
|
44813
45071
|
args.id = opts.id;
|
|
44814
45072
|
if (opts["id.not"] !== void 0)
|
|
44815
45073
|
args.id__not = opts["id.not"];
|
|
44816
|
-
if (opts["id.isNull"] !== void 0)
|
|
44817
|
-
args.id__isNull = opts["id.isNull"];
|
|
44818
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
44819
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
44820
45074
|
if (opts["id.equals"] !== void 0)
|
|
44821
45075
|
args.id__equals = opts["id.equals"];
|
|
44822
45076
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44829,10 +45083,6 @@ Examples:
|
|
|
44829
45083
|
args.number = opts.number;
|
|
44830
45084
|
if (opts["number.not"] !== void 0)
|
|
44831
45085
|
args.number__not = opts["number.not"];
|
|
44832
|
-
if (opts["number.isNull"] !== void 0)
|
|
44833
|
-
args.number__isNull = opts["number.isNull"];
|
|
44834
|
-
if (opts["number.isNotNull"] !== void 0)
|
|
44835
|
-
args.number__isNotNull = opts["number.isNotNull"];
|
|
44836
45086
|
if (opts["number.equals"] !== void 0)
|
|
44837
45087
|
args.number__equals = opts["number.equals"];
|
|
44838
45088
|
if (opts["number.contains"] !== void 0)
|
|
@@ -44849,10 +45099,6 @@ Examples:
|
|
|
44849
45099
|
args.customer_id = opts.customerId;
|
|
44850
45100
|
if (opts["customerId.not"] !== void 0)
|
|
44851
45101
|
args.customer_id__not = opts["customerId.not"];
|
|
44852
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
44853
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
44854
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
44855
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
44856
45102
|
if (opts["customerId.equals"] !== void 0)
|
|
44857
45103
|
args.customer_id__equals = opts["customerId.equals"];
|
|
44858
45104
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -44865,10 +45111,6 @@ Examples:
|
|
|
44865
45111
|
args.template_id = opts.templateId;
|
|
44866
45112
|
if (opts["templateId.not"] !== void 0)
|
|
44867
45113
|
args.template_id__not = opts["templateId.not"];
|
|
44868
|
-
if (opts["templateId.isNull"] !== void 0)
|
|
44869
|
-
args.template_id__isNull = opts["templateId.isNull"];
|
|
44870
|
-
if (opts["templateId.isNotNull"] !== void 0)
|
|
44871
|
-
args.template_id__isNotNull = opts["templateId.isNotNull"];
|
|
44872
45114
|
if (opts["templateId.equals"] !== void 0)
|
|
44873
45115
|
args.template_id__equals = opts["templateId.equals"];
|
|
44874
45116
|
if (opts["templateId.contains"] !== void 0)
|
|
@@ -44877,14 +45119,14 @@ Examples:
|
|
|
44877
45119
|
args.template_id__startsWith = opts["templateId.startsWith"];
|
|
44878
45120
|
if (opts["templateId.endWith"] !== void 0)
|
|
44879
45121
|
args.template_id__endWith = opts["templateId.endWith"];
|
|
45122
|
+
if (opts["templateId.isNull"] !== void 0)
|
|
45123
|
+
args.template_id__isNull = opts["templateId.isNull"];
|
|
45124
|
+
if (opts["templateId.isNotNull"] !== void 0)
|
|
45125
|
+
args.template_id__isNotNull = opts["templateId.isNotNull"];
|
|
44880
45126
|
if (opts.crmOpportunityId !== void 0)
|
|
44881
45127
|
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
44882
45128
|
if (opts["crmOpportunityId.not"] !== void 0)
|
|
44883
45129
|
args.crm_opportunity_id__not = opts["crmOpportunityId.not"];
|
|
44884
|
-
if (opts["crmOpportunityId.isNull"] !== void 0)
|
|
44885
|
-
args.crm_opportunity_id__isNull = opts["crmOpportunityId.isNull"];
|
|
44886
|
-
if (opts["crmOpportunityId.isNotNull"] !== void 0)
|
|
44887
|
-
args.crm_opportunity_id__isNotNull = opts["crmOpportunityId.isNotNull"];
|
|
44888
45130
|
if (opts["crmOpportunityId.equals"] !== void 0)
|
|
44889
45131
|
args.crm_opportunity_id__equals = opts["crmOpportunityId.equals"];
|
|
44890
45132
|
if (opts["crmOpportunityId.contains"] !== void 0)
|
|
@@ -44893,30 +45135,16 @@ Examples:
|
|
|
44893
45135
|
args.crm_opportunity_id__startsWith = opts["crmOpportunityId.startsWith"];
|
|
44894
45136
|
if (opts["crmOpportunityId.endWith"] !== void 0)
|
|
44895
45137
|
args.crm_opportunity_id__endWith = opts["crmOpportunityId.endWith"];
|
|
45138
|
+
if (opts["crmOpportunityId.isNull"] !== void 0)
|
|
45139
|
+
args.crm_opportunity_id__isNull = opts["crmOpportunityId.isNull"];
|
|
45140
|
+
if (opts["crmOpportunityId.isNotNull"] !== void 0)
|
|
45141
|
+
args.crm_opportunity_id__isNotNull = opts["crmOpportunityId.isNotNull"];
|
|
44896
45142
|
if (opts.type !== void 0)
|
|
44897
45143
|
args.type = opts.type;
|
|
44898
|
-
if (opts["type.not"] !== void 0)
|
|
44899
|
-
args.type__not = opts["type.not"];
|
|
44900
|
-
if (opts["type.isNull"] !== void 0)
|
|
44901
|
-
args.type__isNull = opts["type.isNull"];
|
|
44902
|
-
if (opts["type.isNotNull"] !== void 0)
|
|
44903
|
-
args.type__isNotNull = opts["type.isNotNull"];
|
|
44904
|
-
if (opts["type.equals"] !== void 0)
|
|
44905
|
-
args.type__equals = opts["type.equals"];
|
|
44906
|
-
if (opts["type.contains"] !== void 0)
|
|
44907
|
-
args.type__contains = opts["type.contains"];
|
|
44908
|
-
if (opts["type.startsWith"] !== void 0)
|
|
44909
|
-
args.type__startsWith = opts["type.startsWith"];
|
|
44910
|
-
if (opts["type.endWith"] !== void 0)
|
|
44911
|
-
args.type__endWith = opts["type.endWith"];
|
|
44912
45144
|
if (opts.updatedAt !== void 0)
|
|
44913
45145
|
args.updated_at = opts.updatedAt;
|
|
44914
45146
|
if (opts["updatedAt.not"] !== void 0)
|
|
44915
45147
|
args.updated_at__not = opts["updatedAt.not"];
|
|
44916
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
44917
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
44918
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
44919
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
44920
45148
|
if (opts["updatedAt.equals"] !== void 0)
|
|
44921
45149
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44922
45150
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44940,16 +45168,12 @@ Examples:
|
|
|
44940
45168
|
"skip",
|
|
44941
45169
|
"id",
|
|
44942
45170
|
"id__not",
|
|
44943
|
-
"id__isNull",
|
|
44944
|
-
"id__isNotNull",
|
|
44945
45171
|
"id__equals",
|
|
44946
45172
|
"id__contains",
|
|
44947
45173
|
"id__startsWith",
|
|
44948
45174
|
"id__endWith",
|
|
44949
45175
|
"number",
|
|
44950
45176
|
"number__not",
|
|
44951
|
-
"number__isNull",
|
|
44952
|
-
"number__isNotNull",
|
|
44953
45177
|
"number__equals",
|
|
44954
45178
|
"number__contains",
|
|
44955
45179
|
"number__startsWith",
|
|
@@ -44958,40 +45182,29 @@ Examples:
|
|
|
44958
45182
|
"status__in",
|
|
44959
45183
|
"customer_id",
|
|
44960
45184
|
"customer_id__not",
|
|
44961
|
-
"customer_id__isNull",
|
|
44962
|
-
"customer_id__isNotNull",
|
|
44963
45185
|
"customer_id__equals",
|
|
44964
45186
|
"customer_id__contains",
|
|
44965
45187
|
"customer_id__startsWith",
|
|
44966
45188
|
"customer_id__endWith",
|
|
44967
45189
|
"template_id",
|
|
44968
45190
|
"template_id__not",
|
|
44969
|
-
"template_id__isNull",
|
|
44970
|
-
"template_id__isNotNull",
|
|
44971
45191
|
"template_id__equals",
|
|
44972
45192
|
"template_id__contains",
|
|
44973
45193
|
"template_id__startsWith",
|
|
44974
45194
|
"template_id__endWith",
|
|
45195
|
+
"template_id__isNull",
|
|
45196
|
+
"template_id__isNotNull",
|
|
44975
45197
|
"crm_opportunity_id",
|
|
44976
45198
|
"crm_opportunity_id__not",
|
|
44977
|
-
"crm_opportunity_id__isNull",
|
|
44978
|
-
"crm_opportunity_id__isNotNull",
|
|
44979
45199
|
"crm_opportunity_id__equals",
|
|
44980
45200
|
"crm_opportunity_id__contains",
|
|
44981
45201
|
"crm_opportunity_id__startsWith",
|
|
44982
45202
|
"crm_opportunity_id__endWith",
|
|
45203
|
+
"crm_opportunity_id__isNull",
|
|
45204
|
+
"crm_opportunity_id__isNotNull",
|
|
44983
45205
|
"type",
|
|
44984
|
-
"type__not",
|
|
44985
|
-
"type__isNull",
|
|
44986
|
-
"type__isNotNull",
|
|
44987
|
-
"type__equals",
|
|
44988
|
-
"type__contains",
|
|
44989
|
-
"type__startsWith",
|
|
44990
|
-
"type__endWith",
|
|
44991
45206
|
"updated_at",
|
|
44992
45207
|
"updated_at__not",
|
|
44993
|
-
"updated_at__isNull",
|
|
44994
|
-
"updated_at__isNotNull",
|
|
44995
45208
|
"updated_at__equals",
|
|
44996
45209
|
"updated_at__lt",
|
|
44997
45210
|
"updated_at__lte",
|
|
@@ -45018,12 +45231,12 @@ Examples:
|
|
|
45018
45231
|
queryParamKeys: []
|
|
45019
45232
|
});
|
|
45020
45233
|
});
|
|
45021
|
-
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` inline \u2014 the full configuration, not a reference to an existing subscription \u2014 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. Discover product and price configuration IDs with \`get_catalog_context\`.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.`).option("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).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 <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `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.
|
|
45234
|
+
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` inline \u2014 the full configuration, not a reference to an existing subscription \u2014 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. Discover product and price configuration IDs with \`get_catalog_context\`.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The owner requests approval when the quote is finalized using an API key or finalized during creation.`).option("--catalog-version-id <value>", `ID of a published catalog version to price every product of the quote from, instead of the live products catalog. A product's own \`catalog_version_id\` takes precedence, and explicit \`prices\` always win over both.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. When computed, a subscription phase with neither an end date nor a fixed duration is counted over a conventional horizon: the contract's length for a single phase on a contract that has one, otherwise 12 months or the longest billing interval if longer. That horizon is not an end date: the subscription can run past it. Usage-based and connected seat lines are priced at their estimated quantity when it exceeds the committed quantity and, for seats, the live seat count. Set to \`null\` to clear the manually set value.`).option("--contract-value <number>", `What the customer pays over the contract, each coupon counted on the invoices it applies to. Computed from the subscription for \`subscription\` and \`subscription_update\` quotes, unless set manually. Not set on \`one_off\` quotes. When specified, overrides the computed value. Set to \`null\` to go back to the computed value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <json>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <json>", `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.
|
|
45022
45235
|
|
|
45023
45236
|
- \`all\`: Display all pricing tiers.
|
|
45024
45237
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
45025
45238
|
- \`none\`: Hide all pricing tiers.
|
|
45026
|
-
`).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("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).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 <json>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <json>", `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", `
|
|
45239
|
+
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-discounts-on-total <value>", `Display discounts on the totals, with product prices before discount. Totals then follow the contract value, so discounts with a limited duration are included.`).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("--subscription-update-display <value>", `Sections displayed on subscription update quotes: quote_update_details, subscription_details, or both. Takes precedence over display_subscription_on_update.`).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 <json>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <json>", `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", `
|
|
45027
45240
|
Examples:
|
|
45028
45241
|
hyperline quotes update --id <id>
|
|
45029
45242
|
hyperline quotes update --id <id> --owner-email <owner_email> --catalog-version-id <catalog_version_id>
|
|
@@ -45058,6 +45271,8 @@ Examples:
|
|
|
45058
45271
|
args.display_price_tiers = opts.displayPriceTiers;
|
|
45059
45272
|
if (opts.displayPhaseValue !== void 0)
|
|
45060
45273
|
args.display_phase_value = opts.displayPhaseValue;
|
|
45274
|
+
if (opts.displayDiscountsOnTotal !== void 0)
|
|
45275
|
+
args.display_discounts_on_total = opts.displayDiscountsOnTotal;
|
|
45061
45276
|
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
45062
45277
|
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
45063
45278
|
if (opts.displayDocumentsInPreview !== void 0)
|
|
@@ -45072,6 +45287,8 @@ Examples:
|
|
|
45072
45287
|
args.expires_at = opts.expiresAt;
|
|
45073
45288
|
if (opts.amount !== void 0)
|
|
45074
45289
|
args.amount = Number(opts.amount);
|
|
45290
|
+
if (opts.contractValue !== void 0)
|
|
45291
|
+
args.contract_value = Number(opts.contractValue);
|
|
45075
45292
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
45076
45293
|
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
45077
45294
|
if (opts.contractClauseIds !== void 0)
|
|
@@ -45149,6 +45366,25 @@ Examples:
|
|
|
45149
45366
|
queryParamKeys: []
|
|
45150
45367
|
});
|
|
45151
45368
|
});
|
|
45369
|
+
resource.command("redraft").description(`Switch a quote back to draft so its subscription or invoice configuration can be updated. Works on quotes pending approval, with changes requested, approved, or awaiting signature. Cancels pending approval requests and the signature request; the quote must then be finalized again.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
45370
|
+
Examples:
|
|
45371
|
+
hyperline quotes redraft --id <id>
|
|
45372
|
+
hyperline quotes redraft --id <id> --output json`).action(async (opts) => {
|
|
45373
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45374
|
+
if (!ctx) {
|
|
45375
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45376
|
+
process.exit(1);
|
|
45377
|
+
}
|
|
45378
|
+
const args = {};
|
|
45379
|
+
if (opts.id !== void 0)
|
|
45380
|
+
args.id = opts.id;
|
|
45381
|
+
await ctx.execute({
|
|
45382
|
+
method: "POST",
|
|
45383
|
+
path: "/v1/quotes/{id}/redraft",
|
|
45384
|
+
args,
|
|
45385
|
+
queryParamKeys: []
|
|
45386
|
+
});
|
|
45387
|
+
});
|
|
45152
45388
|
resource.command("send").description(`Send a quote by email for customer signature. Requires the quote to be approved first.`).requiredOption("--id <value>", `id parameter`).option("--email <value>", `Email address to which the quote will be sent for signature. Required unless the quote has signers, in which case the email goes to the signers of the current step and this field is ignored.`).option("--message <value>", `Custom message used in the email content.`).addHelpText("after", `
|
|
45153
45389
|
Examples:
|
|
45154
45390
|
hyperline quotes send --id <id>
|
|
@@ -45346,7 +45582,7 @@ Examples:
|
|
|
45346
45582
|
// build/commands/generated/quotes-templates.js
|
|
45347
45583
|
function registerQuotes_TemplatesCommands(parent) {
|
|
45348
45584
|
const resource = parent.command("quotes-templates").description("Manage quotes > templates");
|
|
45349
|
-
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.
|
|
45585
|
+
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.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.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.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("--subscription-template-id.is-null <value>", `subscription_template_id__isNull`).option("--subscription-template-id.is-not-null <value>", `subscription_template_id__isNotNull`).option("--search <value>", `search`).addHelpText("after", `
|
|
45350
45586
|
Examples:
|
|
45351
45587
|
hyperline quotes-templates list-quote-templates
|
|
45352
45588
|
hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -45360,10 +45596,6 @@ Examples:
|
|
|
45360
45596
|
args.id = opts.id;
|
|
45361
45597
|
if (opts["id.not"] !== void 0)
|
|
45362
45598
|
args.id__not = opts["id.not"];
|
|
45363
|
-
if (opts["id.isNull"] !== void 0)
|
|
45364
|
-
args.id__isNull = opts["id.isNull"];
|
|
45365
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
45366
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
45367
45599
|
if (opts["id.equals"] !== void 0)
|
|
45368
45600
|
args.id__equals = opts["id.equals"];
|
|
45369
45601
|
if (opts["id.contains"] !== void 0)
|
|
@@ -45376,10 +45608,6 @@ Examples:
|
|
|
45376
45608
|
args.name = opts.name;
|
|
45377
45609
|
if (opts["name.not"] !== void 0)
|
|
45378
45610
|
args.name__not = opts["name.not"];
|
|
45379
|
-
if (opts["name.isNull"] !== void 0)
|
|
45380
|
-
args.name__isNull = opts["name.isNull"];
|
|
45381
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
45382
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
45383
45611
|
if (opts["name.equals"] !== void 0)
|
|
45384
45612
|
args.name__equals = opts["name.equals"];
|
|
45385
45613
|
if (opts["name.contains"] !== void 0)
|
|
@@ -45392,10 +45620,6 @@ Examples:
|
|
|
45392
45620
|
args.subscription_template_id = opts.subscriptionTemplateId;
|
|
45393
45621
|
if (opts["subscriptionTemplateId.not"] !== void 0)
|
|
45394
45622
|
args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
|
|
45395
|
-
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
45396
|
-
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
45397
|
-
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
45398
|
-
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
45399
45623
|
if (opts["subscriptionTemplateId.equals"] !== void 0)
|
|
45400
45624
|
args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
|
|
45401
45625
|
if (opts["subscriptionTemplateId.contains"] !== void 0)
|
|
@@ -45404,6 +45628,10 @@ Examples:
|
|
|
45404
45628
|
args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
|
|
45405
45629
|
if (opts["subscriptionTemplateId.endWith"] !== void 0)
|
|
45406
45630
|
args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
|
|
45631
|
+
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
45632
|
+
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
45633
|
+
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
45634
|
+
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
45407
45635
|
if (opts.search !== void 0)
|
|
45408
45636
|
args.search = opts.search;
|
|
45409
45637
|
if (opts.take !== void 0)
|
|
@@ -45419,28 +45647,24 @@ Examples:
|
|
|
45419
45647
|
"skip",
|
|
45420
45648
|
"id",
|
|
45421
45649
|
"id__not",
|
|
45422
|
-
"id__isNull",
|
|
45423
|
-
"id__isNotNull",
|
|
45424
45650
|
"id__equals",
|
|
45425
45651
|
"id__contains",
|
|
45426
45652
|
"id__startsWith",
|
|
45427
45653
|
"id__endWith",
|
|
45428
45654
|
"name",
|
|
45429
45655
|
"name__not",
|
|
45430
|
-
"name__isNull",
|
|
45431
|
-
"name__isNotNull",
|
|
45432
45656
|
"name__equals",
|
|
45433
45657
|
"name__contains",
|
|
45434
45658
|
"name__startsWith",
|
|
45435
45659
|
"name__endWith",
|
|
45436
45660
|
"subscription_template_id",
|
|
45437
45661
|
"subscription_template_id__not",
|
|
45438
|
-
"subscription_template_id__isNull",
|
|
45439
|
-
"subscription_template_id__isNotNull",
|
|
45440
45662
|
"subscription_template_id__equals",
|
|
45441
45663
|
"subscription_template_id__contains",
|
|
45442
45664
|
"subscription_template_id__startsWith",
|
|
45443
45665
|
"subscription_template_id__endWith",
|
|
45666
|
+
"subscription_template_id__isNull",
|
|
45667
|
+
"subscription_template_id__isNotNull",
|
|
45444
45668
|
"search"
|
|
45445
45669
|
]
|
|
45446
45670
|
});
|
|
@@ -45842,7 +46066,7 @@ Examples:
|
|
|
45842
46066
|
queryParamKeys: []
|
|
45843
46067
|
});
|
|
45844
46068
|
});
|
|
45845
|
-
resource.command("list").description(`List subscriptions with filters for activation_strategy, status, currency, plan_id, original_quote_id, integration_entity_id, customer_id, invoicing_entity_id, purchase_order, updated_at, custom_properties. Draft, voided, cancelled and archived excluded by default (status=all applies the same exclusion); status=any returns every status. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--activation-strategy <value>", `activation_strategy`).option("--activation-strategy.in <value>", `activation_strategy__in`).option("--status <value>", `
|
|
46069
|
+
resource.command("list").description(`List subscriptions with filters for activation_strategy, status, currency, plan_id, original_quote_id, integration_entity_id, customer_id, invoicing_entity_id, purchase_order, updated_at, cancel_at, custom_properties, and the active contract: contract_start__gte/__lte, contract_end__gte/__lte, renew_automatically. For upcoming renewals, combine contract_end__gte/__lte with renew_automatically, plus cancel_at for scheduled cancellations. Draft, voided, cancelled and archived excluded by default (status=all applies the same exclusion); status=any returns every status. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--activation-strategy <value>", `activation_strategy`).option("--activation-strategy.in <value>", `activation_strategy__in`).option("--status <value>", `
|
|
45846
46070
|
Subscription status filter.
|
|
45847
46071
|
|
|
45848
46072
|
- \`active\`, \`pending\`, \`paused\`, \`errored\`, \`cancelled\`, \`draft\`, \`voided\`, \`archived\`: match that status.
|
|
@@ -45851,7 +46075,7 @@ Subscription status filter.
|
|
|
45851
46075
|
- \`any\`: every status, no exclusion.
|
|
45852
46076
|
|
|
45853
46077
|
Use \`status__in\` with comma-separated values to combine statuses. When the filter is omitted, \`draft\`, \`voided\`, \`cancelled\` and \`archived\` subscriptions are excluded.
|
|
45854
|
-
`).option("--status.in <value>", `Comma-separated list of subscription statuses to include. Same values as \`status\`.`).option("--currency <value>", `currency`).option("--currency.not <value>", `currency__not`).option("--currency.
|
|
46078
|
+
`).option("--status.in <value>", `Comma-separated list of subscription statuses to include. Same values as \`status\`.`).option("--currency <value>", `currency`).option("--currency.not <value>", `currency__not`).option("--currency.equals <value>", `currency__equals`).option("--currency.contains <value>", `currency__contains`).option("--currency.starts-with <value>", `currency__startsWith`).option("--currency.end-with <value>", `currency__endWith`).option("--plan-id <value>", `plan_id`).option("--plan-id.not <value>", `plan_id__not`).option("--plan-id.equals <value>", `plan_id__equals`).option("--plan-id.contains <value>", `plan_id__contains`).option("--plan-id.starts-with <value>", `plan_id__startsWith`).option("--plan-id.end-with <value>", `plan_id__endWith`).option("--plan-id.is-null <value>", `plan_id__isNull`).option("--plan-id.is-not-null <value>", `plan_id__isNotNull`).option("--original-quote-id <value>", `original_quote_id`).option("--original-quote-id.not <value>", `original_quote_id__not`).option("--original-quote-id.equals <value>", `original_quote_id__equals`).option("--original-quote-id.contains <value>", `original_quote_id__contains`).option("--original-quote-id.starts-with <value>", `original_quote_id__startsWith`).option("--original-quote-id.end-with <value>", `original_quote_id__endWith`).option("--original-quote-id.is-null <value>", `original_quote_id__isNull`).option("--original-quote-id.is-not-null <value>", `original_quote_id__isNotNull`).option("--customer-id <value>", `customer_id`).option("--customer-id.not <value>", `customer_id__not`).option("--customer-id.equals <value>", `customer_id__equals`).option("--customer-id.contains <value>", `customer_id__contains`).option("--customer-id.starts-with <value>", `customer_id__startsWith`).option("--customer-id.end-with <value>", `customer_id__endWith`).option("--customer-id.is-null <value>", `customer_id__isNull`).option("--customer-id.is-not-null <value>", `customer_id__isNotNull`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--purchase-order <value>", `purchase_order`).option("--purchase-order.not <value>", `purchase_order__not`).option("--purchase-order.equals <value>", `purchase_order__equals`).option("--purchase-order.contains <value>", `purchase_order__contains`).option("--purchase-order.starts-with <value>", `purchase_order__startsWith`).option("--purchase-order.end-with <value>", `purchase_order__endWith`).option("--purchase-order.is-null <value>", `purchase_order__isNull`).option("--purchase-order.is-not-null <value>", `purchase_order__isNotNull`).option("--custom-properties <value>", `custom_properties`).option("--invoice-drafts <value>", `invoice_drafts`).option("--integration-entity-id <value>", `integration_entity_id`).option("--updated-at <value>", `updated_at`).option("--updated-at.not <value>", `updated_at__not`).option("--updated-at.equals <value>", `updated_at__equals`).option("--updated-at.lt <value>", `updated_at__lt`).option("--updated-at.lte <value>", `updated_at__lte`).option("--updated-at.gt <value>", `updated_at__gt`).option("--updated-at.gte <value>", `updated_at__gte`).option("--cancel-at <value>", `cancel_at`).option("--cancel-at.not <value>", `cancel_at__not`).option("--cancel-at.equals <value>", `cancel_at__equals`).option("--cancel-at.lt <value>", `cancel_at__lt`).option("--cancel-at.lte <value>", `cancel_at__lte`).option("--cancel-at.gt <value>", `cancel_at__gt`).option("--cancel-at.gte <value>", `cancel_at__gte`).option("--cancel-at.is-null <value>", `cancel_at__isNull`).option("--cancel-at.is-not-null <value>", `cancel_at__isNotNull`).option("--contract-start.gte <value>", `Return only subscriptions whose active contract starts on or after this date.`).option("--contract-start.lte <value>", `Return only subscriptions whose active contract starts on or before this date.`).option("--contract-end.gte <value>", `Return only subscriptions whose active contract ends on or after this date.`).option("--contract-end.lte <value>", `Return only subscriptions whose active contract ends on or before this date.`).option("--renew-automatically <value>", `Return only subscriptions whose active contract renews automatically (\`true\`) or not (\`false\`).`).addHelpText("after", `
|
|
45855
46079
|
Examples:
|
|
45856
46080
|
hyperline subscriptions list
|
|
45857
46081
|
hyperline subscriptions list --take <take> --activation-strategy <activation_strategy>`).action(async (opts) => {
|
|
@@ -45873,10 +46097,6 @@ Examples:
|
|
|
45873
46097
|
args.currency = opts.currency;
|
|
45874
46098
|
if (opts["currency.not"] !== void 0)
|
|
45875
46099
|
args.currency__not = opts["currency.not"];
|
|
45876
|
-
if (opts["currency.isNull"] !== void 0)
|
|
45877
|
-
args.currency__isNull = opts["currency.isNull"];
|
|
45878
|
-
if (opts["currency.isNotNull"] !== void 0)
|
|
45879
|
-
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
45880
46100
|
if (opts["currency.equals"] !== void 0)
|
|
45881
46101
|
args.currency__equals = opts["currency.equals"];
|
|
45882
46102
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -45889,10 +46109,6 @@ Examples:
|
|
|
45889
46109
|
args.plan_id = opts.planId;
|
|
45890
46110
|
if (opts["planId.not"] !== void 0)
|
|
45891
46111
|
args.plan_id__not = opts["planId.not"];
|
|
45892
|
-
if (opts["planId.isNull"] !== void 0)
|
|
45893
|
-
args.plan_id__isNull = opts["planId.isNull"];
|
|
45894
|
-
if (opts["planId.isNotNull"] !== void 0)
|
|
45895
|
-
args.plan_id__isNotNull = opts["planId.isNotNull"];
|
|
45896
46112
|
if (opts["planId.equals"] !== void 0)
|
|
45897
46113
|
args.plan_id__equals = opts["planId.equals"];
|
|
45898
46114
|
if (opts["planId.contains"] !== void 0)
|
|
@@ -45901,14 +46117,14 @@ Examples:
|
|
|
45901
46117
|
args.plan_id__startsWith = opts["planId.startsWith"];
|
|
45902
46118
|
if (opts["planId.endWith"] !== void 0)
|
|
45903
46119
|
args.plan_id__endWith = opts["planId.endWith"];
|
|
46120
|
+
if (opts["planId.isNull"] !== void 0)
|
|
46121
|
+
args.plan_id__isNull = opts["planId.isNull"];
|
|
46122
|
+
if (opts["planId.isNotNull"] !== void 0)
|
|
46123
|
+
args.plan_id__isNotNull = opts["planId.isNotNull"];
|
|
45904
46124
|
if (opts.originalQuoteId !== void 0)
|
|
45905
46125
|
args.original_quote_id = opts.originalQuoteId;
|
|
45906
46126
|
if (opts["originalQuoteId.not"] !== void 0)
|
|
45907
46127
|
args.original_quote_id__not = opts["originalQuoteId.not"];
|
|
45908
|
-
if (opts["originalQuoteId.isNull"] !== void 0)
|
|
45909
|
-
args.original_quote_id__isNull = opts["originalQuoteId.isNull"];
|
|
45910
|
-
if (opts["originalQuoteId.isNotNull"] !== void 0)
|
|
45911
|
-
args.original_quote_id__isNotNull = opts["originalQuoteId.isNotNull"];
|
|
45912
46128
|
if (opts["originalQuoteId.equals"] !== void 0)
|
|
45913
46129
|
args.original_quote_id__equals = opts["originalQuoteId.equals"];
|
|
45914
46130
|
if (opts["originalQuoteId.contains"] !== void 0)
|
|
@@ -45917,14 +46133,14 @@ Examples:
|
|
|
45917
46133
|
args.original_quote_id__startsWith = opts["originalQuoteId.startsWith"];
|
|
45918
46134
|
if (opts["originalQuoteId.endWith"] !== void 0)
|
|
45919
46135
|
args.original_quote_id__endWith = opts["originalQuoteId.endWith"];
|
|
46136
|
+
if (opts["originalQuoteId.isNull"] !== void 0)
|
|
46137
|
+
args.original_quote_id__isNull = opts["originalQuoteId.isNull"];
|
|
46138
|
+
if (opts["originalQuoteId.isNotNull"] !== void 0)
|
|
46139
|
+
args.original_quote_id__isNotNull = opts["originalQuoteId.isNotNull"];
|
|
45920
46140
|
if (opts.customerId !== void 0)
|
|
45921
46141
|
args.customer_id = opts.customerId;
|
|
45922
46142
|
if (opts["customerId.not"] !== void 0)
|
|
45923
46143
|
args.customer_id__not = opts["customerId.not"];
|
|
45924
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
45925
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
45926
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
45927
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
45928
46144
|
if (opts["customerId.equals"] !== void 0)
|
|
45929
46145
|
args.customer_id__equals = opts["customerId.equals"];
|
|
45930
46146
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -45933,16 +46149,16 @@ Examples:
|
|
|
45933
46149
|
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
45934
46150
|
if (opts["customerId.endWith"] !== void 0)
|
|
45935
46151
|
args.customer_id__endWith = opts["customerId.endWith"];
|
|
46152
|
+
if (opts["customerId.isNull"] !== void 0)
|
|
46153
|
+
args.customer_id__isNull = opts["customerId.isNull"];
|
|
46154
|
+
if (opts["customerId.isNotNull"] !== void 0)
|
|
46155
|
+
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
45936
46156
|
if (opts.invoicingEntityId !== void 0)
|
|
45937
46157
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
45938
46158
|
if (opts.purchaseOrder !== void 0)
|
|
45939
46159
|
args.purchase_order = opts.purchaseOrder;
|
|
45940
46160
|
if (opts["purchaseOrder.not"] !== void 0)
|
|
45941
46161
|
args.purchase_order__not = opts["purchaseOrder.not"];
|
|
45942
|
-
if (opts["purchaseOrder.isNull"] !== void 0)
|
|
45943
|
-
args.purchase_order__isNull = opts["purchaseOrder.isNull"];
|
|
45944
|
-
if (opts["purchaseOrder.isNotNull"] !== void 0)
|
|
45945
|
-
args.purchase_order__isNotNull = opts["purchaseOrder.isNotNull"];
|
|
45946
46162
|
if (opts["purchaseOrder.equals"] !== void 0)
|
|
45947
46163
|
args.purchase_order__equals = opts["purchaseOrder.equals"];
|
|
45948
46164
|
if (opts["purchaseOrder.contains"] !== void 0)
|
|
@@ -45951,6 +46167,10 @@ Examples:
|
|
|
45951
46167
|
args.purchase_order__startsWith = opts["purchaseOrder.startsWith"];
|
|
45952
46168
|
if (opts["purchaseOrder.endWith"] !== void 0)
|
|
45953
46169
|
args.purchase_order__endWith = opts["purchaseOrder.endWith"];
|
|
46170
|
+
if (opts["purchaseOrder.isNull"] !== void 0)
|
|
46171
|
+
args.purchase_order__isNull = opts["purchaseOrder.isNull"];
|
|
46172
|
+
if (opts["purchaseOrder.isNotNull"] !== void 0)
|
|
46173
|
+
args.purchase_order__isNotNull = opts["purchaseOrder.isNotNull"];
|
|
45954
46174
|
if (opts.customProperties !== void 0)
|
|
45955
46175
|
args.custom_properties = opts.customProperties;
|
|
45956
46176
|
if (opts.invoiceDrafts !== void 0)
|
|
@@ -45961,10 +46181,6 @@ Examples:
|
|
|
45961
46181
|
args.updated_at = opts.updatedAt;
|
|
45962
46182
|
if (opts["updatedAt.not"] !== void 0)
|
|
45963
46183
|
args.updated_at__not = opts["updatedAt.not"];
|
|
45964
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
45965
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
45966
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
45967
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
45968
46184
|
if (opts["updatedAt.equals"] !== void 0)
|
|
45969
46185
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
45970
46186
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -45975,6 +46191,34 @@ Examples:
|
|
|
45975
46191
|
args.updated_at__gt = opts["updatedAt.gt"];
|
|
45976
46192
|
if (opts["updatedAt.gte"] !== void 0)
|
|
45977
46193
|
args.updated_at__gte = opts["updatedAt.gte"];
|
|
46194
|
+
if (opts.cancelAt !== void 0)
|
|
46195
|
+
args.cancel_at = opts.cancelAt;
|
|
46196
|
+
if (opts["cancelAt.not"] !== void 0)
|
|
46197
|
+
args.cancel_at__not = opts["cancelAt.not"];
|
|
46198
|
+
if (opts["cancelAt.equals"] !== void 0)
|
|
46199
|
+
args.cancel_at__equals = opts["cancelAt.equals"];
|
|
46200
|
+
if (opts["cancelAt.lt"] !== void 0)
|
|
46201
|
+
args.cancel_at__lt = opts["cancelAt.lt"];
|
|
46202
|
+
if (opts["cancelAt.lte"] !== void 0)
|
|
46203
|
+
args.cancel_at__lte = opts["cancelAt.lte"];
|
|
46204
|
+
if (opts["cancelAt.gt"] !== void 0)
|
|
46205
|
+
args.cancel_at__gt = opts["cancelAt.gt"];
|
|
46206
|
+
if (opts["cancelAt.gte"] !== void 0)
|
|
46207
|
+
args.cancel_at__gte = opts["cancelAt.gte"];
|
|
46208
|
+
if (opts["cancelAt.isNull"] !== void 0)
|
|
46209
|
+
args.cancel_at__isNull = opts["cancelAt.isNull"];
|
|
46210
|
+
if (opts["cancelAt.isNotNull"] !== void 0)
|
|
46211
|
+
args.cancel_at__isNotNull = opts["cancelAt.isNotNull"];
|
|
46212
|
+
if (opts["contractStart.gte"] !== void 0)
|
|
46213
|
+
args.contract_start__gte = opts["contractStart.gte"];
|
|
46214
|
+
if (opts["contractStart.lte"] !== void 0)
|
|
46215
|
+
args.contract_start__lte = opts["contractStart.lte"];
|
|
46216
|
+
if (opts["contractEnd.gte"] !== void 0)
|
|
46217
|
+
args.contract_end__gte = opts["contractEnd.gte"];
|
|
46218
|
+
if (opts["contractEnd.lte"] !== void 0)
|
|
46219
|
+
args.contract_end__lte = opts["contractEnd.lte"];
|
|
46220
|
+
if (opts.renewAutomatically !== void 0)
|
|
46221
|
+
args.renew_automatically = opts.renewAutomatically;
|
|
45978
46222
|
if (opts.take !== void 0)
|
|
45979
46223
|
args.take = Number(opts.take);
|
|
45980
46224
|
if (opts.skip !== void 0)
|
|
@@ -45992,57 +46236,67 @@ Examples:
|
|
|
45992
46236
|
"status__in",
|
|
45993
46237
|
"currency",
|
|
45994
46238
|
"currency__not",
|
|
45995
|
-
"currency__isNull",
|
|
45996
|
-
"currency__isNotNull",
|
|
45997
46239
|
"currency__equals",
|
|
45998
46240
|
"currency__contains",
|
|
45999
46241
|
"currency__startsWith",
|
|
46000
46242
|
"currency__endWith",
|
|
46001
46243
|
"plan_id",
|
|
46002
46244
|
"plan_id__not",
|
|
46003
|
-
"plan_id__isNull",
|
|
46004
|
-
"plan_id__isNotNull",
|
|
46005
46245
|
"plan_id__equals",
|
|
46006
46246
|
"plan_id__contains",
|
|
46007
46247
|
"plan_id__startsWith",
|
|
46008
46248
|
"plan_id__endWith",
|
|
46249
|
+
"plan_id__isNull",
|
|
46250
|
+
"plan_id__isNotNull",
|
|
46009
46251
|
"original_quote_id",
|
|
46010
46252
|
"original_quote_id__not",
|
|
46011
|
-
"original_quote_id__isNull",
|
|
46012
|
-
"original_quote_id__isNotNull",
|
|
46013
46253
|
"original_quote_id__equals",
|
|
46014
46254
|
"original_quote_id__contains",
|
|
46015
46255
|
"original_quote_id__startsWith",
|
|
46016
46256
|
"original_quote_id__endWith",
|
|
46257
|
+
"original_quote_id__isNull",
|
|
46258
|
+
"original_quote_id__isNotNull",
|
|
46017
46259
|
"customer_id",
|
|
46018
46260
|
"customer_id__not",
|
|
46019
|
-
"customer_id__isNull",
|
|
46020
|
-
"customer_id__isNotNull",
|
|
46021
46261
|
"customer_id__equals",
|
|
46022
46262
|
"customer_id__contains",
|
|
46023
46263
|
"customer_id__startsWith",
|
|
46024
46264
|
"customer_id__endWith",
|
|
46265
|
+
"customer_id__isNull",
|
|
46266
|
+
"customer_id__isNotNull",
|
|
46025
46267
|
"invoicing_entity_id",
|
|
46026
46268
|
"purchase_order",
|
|
46027
46269
|
"purchase_order__not",
|
|
46028
|
-
"purchase_order__isNull",
|
|
46029
|
-
"purchase_order__isNotNull",
|
|
46030
46270
|
"purchase_order__equals",
|
|
46031
46271
|
"purchase_order__contains",
|
|
46032
46272
|
"purchase_order__startsWith",
|
|
46033
46273
|
"purchase_order__endWith",
|
|
46274
|
+
"purchase_order__isNull",
|
|
46275
|
+
"purchase_order__isNotNull",
|
|
46034
46276
|
"custom_properties",
|
|
46035
46277
|
"invoice_drafts",
|
|
46036
46278
|
"integration_entity_id",
|
|
46037
46279
|
"updated_at",
|
|
46038
46280
|
"updated_at__not",
|
|
46039
|
-
"updated_at__isNull",
|
|
46040
|
-
"updated_at__isNotNull",
|
|
46041
46281
|
"updated_at__equals",
|
|
46042
46282
|
"updated_at__lt",
|
|
46043
46283
|
"updated_at__lte",
|
|
46044
46284
|
"updated_at__gt",
|
|
46045
|
-
"updated_at__gte"
|
|
46285
|
+
"updated_at__gte",
|
|
46286
|
+
"cancel_at",
|
|
46287
|
+
"cancel_at__not",
|
|
46288
|
+
"cancel_at__equals",
|
|
46289
|
+
"cancel_at__lt",
|
|
46290
|
+
"cancel_at__lte",
|
|
46291
|
+
"cancel_at__gt",
|
|
46292
|
+
"cancel_at__gte",
|
|
46293
|
+
"cancel_at__isNull",
|
|
46294
|
+
"cancel_at__isNotNull",
|
|
46295
|
+
"contract_start__gte",
|
|
46296
|
+
"contract_start__lte",
|
|
46297
|
+
"contract_end__gte",
|
|
46298
|
+
"contract_end__lte",
|
|
46299
|
+
"renew_automatically"
|
|
46046
46300
|
]
|
|
46047
46301
|
});
|
|
46048
46302
|
});
|
|
@@ -46324,7 +46578,7 @@ Examples:
|
|
|
46324
46578
|
// build/commands/generated/subscriptions-transitions.js
|
|
46325
46579
|
function registerSubscriptions_TransitionsCommands(parent) {
|
|
46326
46580
|
const resource = parent.command("subscriptions-transitions").description("Manage subscriptions > transitions");
|
|
46327
|
-
resource.command("list-subscription-transitions").description(`List subscription transitions (migrations from one subscription to another). Filterable and paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--source-subscription-id <value>", `source_subscription_id`).option("--source-subscription-id.not <value>", `source_subscription_id__not`).option("--source-subscription-id.
|
|
46581
|
+
resource.command("list-subscription-transitions").description(`List subscription transitions (migrations from one subscription to another). Filterable and paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--status <value>", `status`).option("--status.in <value>", `status__in`).option("--source-subscription-id <value>", `source_subscription_id`).option("--source-subscription-id.not <value>", `source_subscription_id__not`).option("--source-subscription-id.equals <value>", `source_subscription_id__equals`).option("--source-subscription-id.contains <value>", `source_subscription_id__contains`).option("--source-subscription-id.starts-with <value>", `source_subscription_id__startsWith`).option("--source-subscription-id.end-with <value>", `source_subscription_id__endWith`).option("--base-subscription-id <value>", `base_subscription_id`).option("--base-subscription-id.not <value>", `base_subscription_id__not`).option("--base-subscription-id.equals <value>", `base_subscription_id__equals`).option("--base-subscription-id.contains <value>", `base_subscription_id__contains`).option("--base-subscription-id.starts-with <value>", `base_subscription_id__startsWith`).option("--base-subscription-id.end-with <value>", `base_subscription_id__endWith`).option("--target-subscription-id <value>", `target_subscription_id`).option("--target-subscription-id.not <value>", `target_subscription_id__not`).option("--target-subscription-id.equals <value>", `target_subscription_id__equals`).option("--target-subscription-id.contains <value>", `target_subscription_id__contains`).option("--target-subscription-id.starts-with <value>", `target_subscription_id__startsWith`).option("--target-subscription-id.end-with <value>", `target_subscription_id__endWith`).option("--target-subscription-id.is-null <value>", `target_subscription_id__isNull`).option("--target-subscription-id.is-not-null <value>", `target_subscription_id__isNotNull`).option("--transition-date <value>", `transition_date`).option("--transition-date.not <value>", `transition_date__not`).option("--transition-date.equals <value>", `transition_date__equals`).option("--transition-date.lt <value>", `transition_date__lt`).option("--transition-date.lte <value>", `transition_date__lte`).option("--transition-date.gt <value>", `transition_date__gt`).option("--transition-date.gte <value>", `transition_date__gte`).option("--transition-date.is-null <value>", `transition_date__isNull`).option("--transition-date.is-not-null <value>", `transition_date__isNotNull`).option("--transitioned-at <value>", `transitioned_at`).option("--transitioned-at.not <value>", `transitioned_at__not`).option("--transitioned-at.equals <value>", `transitioned_at__equals`).option("--transitioned-at.lt <value>", `transitioned_at__lt`).option("--transitioned-at.lte <value>", `transitioned_at__lte`).option("--transitioned-at.gt <value>", `transitioned_at__gt`).option("--transitioned-at.gte <value>", `transitioned_at__gte`).option("--transitioned-at.is-null <value>", `transitioned_at__isNull`).option("--transitioned-at.is-not-null <value>", `transitioned_at__isNotNull`).addHelpText("after", `
|
|
46328
46582
|
Examples:
|
|
46329
46583
|
hyperline subscriptions-transitions list-subscription-transitions
|
|
46330
46584
|
hyperline subscriptions-transitions list-subscription-transitions --take <take> --status <status>`).action(async (opts) => {
|
|
@@ -46342,10 +46596,6 @@ Examples:
|
|
|
46342
46596
|
args.source_subscription_id = opts.sourceSubscriptionId;
|
|
46343
46597
|
if (opts["sourceSubscriptionId.not"] !== void 0)
|
|
46344
46598
|
args.source_subscription_id__not = opts["sourceSubscriptionId.not"];
|
|
46345
|
-
if (opts["sourceSubscriptionId.isNull"] !== void 0)
|
|
46346
|
-
args.source_subscription_id__isNull = opts["sourceSubscriptionId.isNull"];
|
|
46347
|
-
if (opts["sourceSubscriptionId.isNotNull"] !== void 0)
|
|
46348
|
-
args.source_subscription_id__isNotNull = opts["sourceSubscriptionId.isNotNull"];
|
|
46349
46599
|
if (opts["sourceSubscriptionId.equals"] !== void 0)
|
|
46350
46600
|
args.source_subscription_id__equals = opts["sourceSubscriptionId.equals"];
|
|
46351
46601
|
if (opts["sourceSubscriptionId.contains"] !== void 0)
|
|
@@ -46358,10 +46608,6 @@ Examples:
|
|
|
46358
46608
|
args.base_subscription_id = opts.baseSubscriptionId;
|
|
46359
46609
|
if (opts["baseSubscriptionId.not"] !== void 0)
|
|
46360
46610
|
args.base_subscription_id__not = opts["baseSubscriptionId.not"];
|
|
46361
|
-
if (opts["baseSubscriptionId.isNull"] !== void 0)
|
|
46362
|
-
args.base_subscription_id__isNull = opts["baseSubscriptionId.isNull"];
|
|
46363
|
-
if (opts["baseSubscriptionId.isNotNull"] !== void 0)
|
|
46364
|
-
args.base_subscription_id__isNotNull = opts["baseSubscriptionId.isNotNull"];
|
|
46365
46611
|
if (opts["baseSubscriptionId.equals"] !== void 0)
|
|
46366
46612
|
args.base_subscription_id__equals = opts["baseSubscriptionId.equals"];
|
|
46367
46613
|
if (opts["baseSubscriptionId.contains"] !== void 0)
|
|
@@ -46374,10 +46620,6 @@ Examples:
|
|
|
46374
46620
|
args.target_subscription_id = opts.targetSubscriptionId;
|
|
46375
46621
|
if (opts["targetSubscriptionId.not"] !== void 0)
|
|
46376
46622
|
args.target_subscription_id__not = opts["targetSubscriptionId.not"];
|
|
46377
|
-
if (opts["targetSubscriptionId.isNull"] !== void 0)
|
|
46378
|
-
args.target_subscription_id__isNull = opts["targetSubscriptionId.isNull"];
|
|
46379
|
-
if (opts["targetSubscriptionId.isNotNull"] !== void 0)
|
|
46380
|
-
args.target_subscription_id__isNotNull = opts["targetSubscriptionId.isNotNull"];
|
|
46381
46623
|
if (opts["targetSubscriptionId.equals"] !== void 0)
|
|
46382
46624
|
args.target_subscription_id__equals = opts["targetSubscriptionId.equals"];
|
|
46383
46625
|
if (opts["targetSubscriptionId.contains"] !== void 0)
|
|
@@ -46386,14 +46628,14 @@ Examples:
|
|
|
46386
46628
|
args.target_subscription_id__startsWith = opts["targetSubscriptionId.startsWith"];
|
|
46387
46629
|
if (opts["targetSubscriptionId.endWith"] !== void 0)
|
|
46388
46630
|
args.target_subscription_id__endWith = opts["targetSubscriptionId.endWith"];
|
|
46631
|
+
if (opts["targetSubscriptionId.isNull"] !== void 0)
|
|
46632
|
+
args.target_subscription_id__isNull = opts["targetSubscriptionId.isNull"];
|
|
46633
|
+
if (opts["targetSubscriptionId.isNotNull"] !== void 0)
|
|
46634
|
+
args.target_subscription_id__isNotNull = opts["targetSubscriptionId.isNotNull"];
|
|
46389
46635
|
if (opts.transitionDate !== void 0)
|
|
46390
46636
|
args.transition_date = opts.transitionDate;
|
|
46391
46637
|
if (opts["transitionDate.not"] !== void 0)
|
|
46392
46638
|
args.transition_date__not = opts["transitionDate.not"];
|
|
46393
|
-
if (opts["transitionDate.isNull"] !== void 0)
|
|
46394
|
-
args.transition_date__isNull = opts["transitionDate.isNull"];
|
|
46395
|
-
if (opts["transitionDate.isNotNull"] !== void 0)
|
|
46396
|
-
args.transition_date__isNotNull = opts["transitionDate.isNotNull"];
|
|
46397
46639
|
if (opts["transitionDate.equals"] !== void 0)
|
|
46398
46640
|
args.transition_date__equals = opts["transitionDate.equals"];
|
|
46399
46641
|
if (opts["transitionDate.lt"] !== void 0)
|
|
@@ -46404,14 +46646,14 @@ Examples:
|
|
|
46404
46646
|
args.transition_date__gt = opts["transitionDate.gt"];
|
|
46405
46647
|
if (opts["transitionDate.gte"] !== void 0)
|
|
46406
46648
|
args.transition_date__gte = opts["transitionDate.gte"];
|
|
46649
|
+
if (opts["transitionDate.isNull"] !== void 0)
|
|
46650
|
+
args.transition_date__isNull = opts["transitionDate.isNull"];
|
|
46651
|
+
if (opts["transitionDate.isNotNull"] !== void 0)
|
|
46652
|
+
args.transition_date__isNotNull = opts["transitionDate.isNotNull"];
|
|
46407
46653
|
if (opts.transitionedAt !== void 0)
|
|
46408
46654
|
args.transitioned_at = opts.transitionedAt;
|
|
46409
46655
|
if (opts["transitionedAt.not"] !== void 0)
|
|
46410
46656
|
args.transitioned_at__not = opts["transitionedAt.not"];
|
|
46411
|
-
if (opts["transitionedAt.isNull"] !== void 0)
|
|
46412
|
-
args.transitioned_at__isNull = opts["transitionedAt.isNull"];
|
|
46413
|
-
if (opts["transitionedAt.isNotNull"] !== void 0)
|
|
46414
|
-
args.transitioned_at__isNotNull = opts["transitionedAt.isNotNull"];
|
|
46415
46657
|
if (opts["transitionedAt.equals"] !== void 0)
|
|
46416
46658
|
args.transitioned_at__equals = opts["transitionedAt.equals"];
|
|
46417
46659
|
if (opts["transitionedAt.lt"] !== void 0)
|
|
@@ -46422,6 +46664,10 @@ Examples:
|
|
|
46422
46664
|
args.transitioned_at__gt = opts["transitionedAt.gt"];
|
|
46423
46665
|
if (opts["transitionedAt.gte"] !== void 0)
|
|
46424
46666
|
args.transitioned_at__gte = opts["transitionedAt.gte"];
|
|
46667
|
+
if (opts["transitionedAt.isNull"] !== void 0)
|
|
46668
|
+
args.transitioned_at__isNull = opts["transitionedAt.isNull"];
|
|
46669
|
+
if (opts["transitionedAt.isNotNull"] !== void 0)
|
|
46670
|
+
args.transitioned_at__isNotNull = opts["transitionedAt.isNotNull"];
|
|
46425
46671
|
if (opts.take !== void 0)
|
|
46426
46672
|
args.take = Number(opts.take);
|
|
46427
46673
|
if (opts.skip !== void 0)
|
|
@@ -46437,46 +46683,42 @@ Examples:
|
|
|
46437
46683
|
"status__in",
|
|
46438
46684
|
"source_subscription_id",
|
|
46439
46685
|
"source_subscription_id__not",
|
|
46440
|
-
"source_subscription_id__isNull",
|
|
46441
|
-
"source_subscription_id__isNotNull",
|
|
46442
46686
|
"source_subscription_id__equals",
|
|
46443
46687
|
"source_subscription_id__contains",
|
|
46444
46688
|
"source_subscription_id__startsWith",
|
|
46445
46689
|
"source_subscription_id__endWith",
|
|
46446
46690
|
"base_subscription_id",
|
|
46447
46691
|
"base_subscription_id__not",
|
|
46448
|
-
"base_subscription_id__isNull",
|
|
46449
|
-
"base_subscription_id__isNotNull",
|
|
46450
46692
|
"base_subscription_id__equals",
|
|
46451
46693
|
"base_subscription_id__contains",
|
|
46452
46694
|
"base_subscription_id__startsWith",
|
|
46453
46695
|
"base_subscription_id__endWith",
|
|
46454
46696
|
"target_subscription_id",
|
|
46455
46697
|
"target_subscription_id__not",
|
|
46456
|
-
"target_subscription_id__isNull",
|
|
46457
|
-
"target_subscription_id__isNotNull",
|
|
46458
46698
|
"target_subscription_id__equals",
|
|
46459
46699
|
"target_subscription_id__contains",
|
|
46460
46700
|
"target_subscription_id__startsWith",
|
|
46461
46701
|
"target_subscription_id__endWith",
|
|
46702
|
+
"target_subscription_id__isNull",
|
|
46703
|
+
"target_subscription_id__isNotNull",
|
|
46462
46704
|
"transition_date",
|
|
46463
46705
|
"transition_date__not",
|
|
46464
|
-
"transition_date__isNull",
|
|
46465
|
-
"transition_date__isNotNull",
|
|
46466
46706
|
"transition_date__equals",
|
|
46467
46707
|
"transition_date__lt",
|
|
46468
46708
|
"transition_date__lte",
|
|
46469
46709
|
"transition_date__gt",
|
|
46470
46710
|
"transition_date__gte",
|
|
46711
|
+
"transition_date__isNull",
|
|
46712
|
+
"transition_date__isNotNull",
|
|
46471
46713
|
"transitioned_at",
|
|
46472
46714
|
"transitioned_at__not",
|
|
46473
|
-
"transitioned_at__isNull",
|
|
46474
|
-
"transitioned_at__isNotNull",
|
|
46475
46715
|
"transitioned_at__equals",
|
|
46476
46716
|
"transitioned_at__lt",
|
|
46477
46717
|
"transitioned_at__lte",
|
|
46478
46718
|
"transitioned_at__gt",
|
|
46479
|
-
"transitioned_at__gte"
|
|
46719
|
+
"transitioned_at__gte",
|
|
46720
|
+
"transitioned_at__isNull",
|
|
46721
|
+
"transitioned_at__isNotNull"
|
|
46480
46722
|
]
|
|
46481
46723
|
});
|
|
46482
46724
|
});
|
|
@@ -46554,7 +46796,7 @@ Examples:
|
|
|
46554
46796
|
// build/commands/generated/taxes.js
|
|
46555
46797
|
function registerTaxesCommands(parent) {
|
|
46556
46798
|
const resource = parent.command("taxes").description("Manage taxes");
|
|
46557
|
-
resource.command("list-tax-rates").description(`List custom and default tax rate mappings with optional filters for id, name, description, and invoicing_entity_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.
|
|
46799
|
+
resource.command("list-tax-rates").description(`List custom and default tax rate mappings with optional filters for id, name, description, and invoicing_entity_id. Paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).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.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("--name.is-null <value>", `name__isNull`).option("--name.is-not-null <value>", `name__isNotNull`).option("--description <value>", `description`).option("--description.not <value>", `description__not`).option("--description.equals <value>", `description__equals`).option("--description.contains <value>", `description__contains`).option("--description.starts-with <value>", `description__startsWith`).option("--description.end-with <value>", `description__endWith`).option("--description.is-null <value>", `description__isNull`).option("--description.is-not-null <value>", `description__isNotNull`).option("--invoicing-entity-id <value>", `invoicing_entity_id`).option("--invoicing-entity-id.not <value>", `invoicing_entity_id__not`).option("--invoicing-entity-id.equals <value>", `invoicing_entity_id__equals`).option("--invoicing-entity-id.contains <value>", `invoicing_entity_id__contains`).option("--invoicing-entity-id.starts-with <value>", `invoicing_entity_id__startsWith`).option("--invoicing-entity-id.end-with <value>", `invoicing_entity_id__endWith`).addHelpText("after", `
|
|
46558
46800
|
Examples:
|
|
46559
46801
|
hyperline taxes list-tax-rates
|
|
46560
46802
|
hyperline taxes list-tax-rates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -46568,10 +46810,6 @@ Examples:
|
|
|
46568
46810
|
args.id = opts.id;
|
|
46569
46811
|
if (opts["id.not"] !== void 0)
|
|
46570
46812
|
args.id__not = opts["id.not"];
|
|
46571
|
-
if (opts["id.isNull"] !== void 0)
|
|
46572
|
-
args.id__isNull = opts["id.isNull"];
|
|
46573
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
46574
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
46575
46813
|
if (opts["id.equals"] !== void 0)
|
|
46576
46814
|
args.id__equals = opts["id.equals"];
|
|
46577
46815
|
if (opts["id.contains"] !== void 0)
|
|
@@ -46584,10 +46822,6 @@ Examples:
|
|
|
46584
46822
|
args.name = opts.name;
|
|
46585
46823
|
if (opts["name.not"] !== void 0)
|
|
46586
46824
|
args.name__not = opts["name.not"];
|
|
46587
|
-
if (opts["name.isNull"] !== void 0)
|
|
46588
|
-
args.name__isNull = opts["name.isNull"];
|
|
46589
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
46590
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
46591
46825
|
if (opts["name.equals"] !== void 0)
|
|
46592
46826
|
args.name__equals = opts["name.equals"];
|
|
46593
46827
|
if (opts["name.contains"] !== void 0)
|
|
@@ -46596,14 +46830,14 @@ Examples:
|
|
|
46596
46830
|
args.name__startsWith = opts["name.startsWith"];
|
|
46597
46831
|
if (opts["name.endWith"] !== void 0)
|
|
46598
46832
|
args.name__endWith = opts["name.endWith"];
|
|
46833
|
+
if (opts["name.isNull"] !== void 0)
|
|
46834
|
+
args.name__isNull = opts["name.isNull"];
|
|
46835
|
+
if (opts["name.isNotNull"] !== void 0)
|
|
46836
|
+
args.name__isNotNull = opts["name.isNotNull"];
|
|
46599
46837
|
if (opts.description !== void 0)
|
|
46600
46838
|
args.description = opts.description;
|
|
46601
46839
|
if (opts["description.not"] !== void 0)
|
|
46602
46840
|
args.description__not = opts["description.not"];
|
|
46603
|
-
if (opts["description.isNull"] !== void 0)
|
|
46604
|
-
args.description__isNull = opts["description.isNull"];
|
|
46605
|
-
if (opts["description.isNotNull"] !== void 0)
|
|
46606
|
-
args.description__isNotNull = opts["description.isNotNull"];
|
|
46607
46841
|
if (opts["description.equals"] !== void 0)
|
|
46608
46842
|
args.description__equals = opts["description.equals"];
|
|
46609
46843
|
if (opts["description.contains"] !== void 0)
|
|
@@ -46612,14 +46846,14 @@ Examples:
|
|
|
46612
46846
|
args.description__startsWith = opts["description.startsWith"];
|
|
46613
46847
|
if (opts["description.endWith"] !== void 0)
|
|
46614
46848
|
args.description__endWith = opts["description.endWith"];
|
|
46849
|
+
if (opts["description.isNull"] !== void 0)
|
|
46850
|
+
args.description__isNull = opts["description.isNull"];
|
|
46851
|
+
if (opts["description.isNotNull"] !== void 0)
|
|
46852
|
+
args.description__isNotNull = opts["description.isNotNull"];
|
|
46615
46853
|
if (opts.invoicingEntityId !== void 0)
|
|
46616
46854
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
46617
46855
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
46618
46856
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
46619
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
46620
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
46621
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
46622
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
46623
46857
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
46624
46858
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
46625
46859
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -46641,32 +46875,28 @@ Examples:
|
|
|
46641
46875
|
"skip",
|
|
46642
46876
|
"id",
|
|
46643
46877
|
"id__not",
|
|
46644
|
-
"id__isNull",
|
|
46645
|
-
"id__isNotNull",
|
|
46646
46878
|
"id__equals",
|
|
46647
46879
|
"id__contains",
|
|
46648
46880
|
"id__startsWith",
|
|
46649
46881
|
"id__endWith",
|
|
46650
46882
|
"name",
|
|
46651
46883
|
"name__not",
|
|
46652
|
-
"name__isNull",
|
|
46653
|
-
"name__isNotNull",
|
|
46654
46884
|
"name__equals",
|
|
46655
46885
|
"name__contains",
|
|
46656
46886
|
"name__startsWith",
|
|
46657
46887
|
"name__endWith",
|
|
46888
|
+
"name__isNull",
|
|
46889
|
+
"name__isNotNull",
|
|
46658
46890
|
"description",
|
|
46659
46891
|
"description__not",
|
|
46660
|
-
"description__isNull",
|
|
46661
|
-
"description__isNotNull",
|
|
46662
46892
|
"description__equals",
|
|
46663
46893
|
"description__contains",
|
|
46664
46894
|
"description__startsWith",
|
|
46665
46895
|
"description__endWith",
|
|
46896
|
+
"description__isNull",
|
|
46897
|
+
"description__isNotNull",
|
|
46666
46898
|
"invoicing_entity_id",
|
|
46667
46899
|
"invoicing_entity_id__not",
|
|
46668
|
-
"invoicing_entity_id__isNull",
|
|
46669
|
-
"invoicing_entity_id__isNotNull",
|
|
46670
46900
|
"invoicing_entity_id__equals",
|
|
46671
46901
|
"invoicing_entity_id__contains",
|
|
46672
46902
|
"invoicing_entity_id__startsWith",
|
|
@@ -47250,6 +47480,7 @@ function registerAllCommands(program2) {
|
|
|
47250
47480
|
registerCouponsCommands(program2);
|
|
47251
47481
|
registerCoupons_Promotion_CodesCommands(program2);
|
|
47252
47482
|
registerCustomers_CreditsCommands(program2);
|
|
47483
|
+
registerCustomers_FeaturesCommands(program2);
|
|
47253
47484
|
registerCustomers_Payment_MethodsCommands(program2);
|
|
47254
47485
|
registerCustomers_AddressCommands(program2);
|
|
47255
47486
|
registerCustomers_ShippingCommands(program2);
|
|
@@ -47258,12 +47489,14 @@ function registerAllCommands(program2) {
|
|
|
47258
47489
|
registerOrganisationsCommands(program2);
|
|
47259
47490
|
registerCustomers_SegmentsCommands(program2);
|
|
47260
47491
|
registerExportsCommands(program2);
|
|
47492
|
+
registerFeaturesCommands(program2);
|
|
47261
47493
|
registerFilesCommands(program2);
|
|
47262
47494
|
registerInvoicesCommands(program2);
|
|
47263
47495
|
registerInvoices_TransactionsCommands(program2);
|
|
47264
47496
|
registerInvoicing_EntitiesCommands(program2);
|
|
47265
|
-
|
|
47497
|
+
registerAi_MonitoringCommands(program2);
|
|
47266
47498
|
registerPaymentsCommands(program2);
|
|
47499
|
+
registerProducts_FeaturesCommands(program2);
|
|
47267
47500
|
registerProductsCommands(program2);
|
|
47268
47501
|
registerPrice_ConfigurationsCommands(program2);
|
|
47269
47502
|
registerQuotesCommands(program2);
|
|
@@ -63297,6 +63530,8 @@ var de = {
|
|
|
63297
63530
|
"einvoicing.paymentFromWallet": "Zahlung aus Guthaben",
|
|
63298
63531
|
"einvoicing.paymentProcessed": "Zahlung verarbeitet",
|
|
63299
63532
|
"einvoicing.paymentReceived": "Zahlung erhalten",
|
|
63533
|
+
"invoices.minimumFee.adjustmentName": "Anpassung der Mindestgeb\xFChr",
|
|
63534
|
+
"invoices.minimumFee.name": "Mindestgeb\xFChr",
|
|
63300
63535
|
"invoices.outstandingProduct.description": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{date}}",
|
|
63301
63536
|
"invoices.outstandingProduct.descriptionPeriod": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{periodStart}} bis {{periodEnd}}",
|
|
63302
63537
|
"invoices.outstandingProduct.name": "Offener Saldo",
|
|
@@ -63330,6 +63565,8 @@ var en = {
|
|
|
63330
63565
|
"creditNotes.refundChargeName": "Refund for invoice",
|
|
63331
63566
|
"credits.bundleOf": "{{productName}} - Pack of {{creditCount}} credits",
|
|
63332
63567
|
"credits.unitsOf": "{{productName}} - {{creditCount}} credits",
|
|
63568
|
+
"invoices.minimumFee.adjustmentName": "Minimum fee adjustment",
|
|
63569
|
+
"invoices.minimumFee.name": "Minimum fee",
|
|
63333
63570
|
"invoices.outstandingProduct.description": "Unpaid amount from the invoice{{invoiceNumber}} emitted on {{date}}",
|
|
63334
63571
|
"invoices.outstandingProduct.descriptionPeriod": "Unpaid amount from the invoice{{invoiceNumber}} from {{periodStart}} to {{periodEnd}}",
|
|
63335
63572
|
"invoices.outstandingProduct.name": "Outstanding balance",
|
|
@@ -63393,6 +63630,8 @@ var es = {
|
|
|
63393
63630
|
"einvoicing.paymentFromWallet": "Pago desde el monedero",
|
|
63394
63631
|
"einvoicing.paymentProcessed": "Pago procesado",
|
|
63395
63632
|
"einvoicing.paymentReceived": "Pago recibido",
|
|
63633
|
+
"invoices.minimumFee.adjustmentName": "Ajuste del cargo m\xEDnimo",
|
|
63634
|
+
"invoices.minimumFee.name": "Cargo m\xEDnimo",
|
|
63396
63635
|
"invoices.outstandingProduct.description": "Monto pendiente de la factura{{invoiceNumber}} emitida el {{date}}",
|
|
63397
63636
|
"invoices.outstandingProduct.descriptionPeriod": "Monto pendiente de la factura{{invoiceNumber}} del {{periodStart}} al {{periodEnd}}",
|
|
63398
63637
|
"invoices.outstandingProduct.name": "Saldo pendiente",
|
|
@@ -63441,6 +63680,8 @@ var fr = {
|
|
|
63441
63680
|
"einvoicing.paymentFromWallet": "Paiement depuis le portefeuille",
|
|
63442
63681
|
"einvoicing.paymentProcessed": "Paiement effectu\xE9",
|
|
63443
63682
|
"einvoicing.paymentReceived": "Paiement re\xE7u",
|
|
63683
|
+
"invoices.minimumFee.adjustmentName": "Ajustement des frais minimums",
|
|
63684
|
+
"invoices.minimumFee.name": "Frais minimums",
|
|
63444
63685
|
"invoices.outstandingProduct.description": "Montant impay\xE9 de la facture{{invoiceNumber}} \xE9mise le {{date}}",
|
|
63445
63686
|
"invoices.outstandingProduct.descriptionPeriod": "Montant impay\xE9 de la facture{{invoiceNumber}} du {{periodStart}} au {{periodEnd}}",
|
|
63446
63687
|
"invoices.outstandingProduct.name": "Solde impay\xE9",
|
|
@@ -63489,6 +63730,8 @@ var it = {
|
|
|
63489
63730
|
"einvoicing.paymentFromWallet": "Pagamento dal portafoglio",
|
|
63490
63731
|
"einvoicing.paymentProcessed": "Pagamento elaborato",
|
|
63491
63732
|
"einvoicing.paymentReceived": "Pagamento ricevuto",
|
|
63733
|
+
"invoices.minimumFee.adjustmentName": "Adeguamento all\u2019importo minimo",
|
|
63734
|
+
"invoices.minimumFee.name": "Importo minimo",
|
|
63492
63735
|
"invoices.outstandingProduct.description": "Importo insoluto della fattura{{invoiceNumber}} emessa il {{date}}",
|
|
63493
63736
|
"invoices.outstandingProduct.descriptionPeriod": "Importo insoluto della fattura{{invoiceNumber}} dal {{periodStart}} al {{periodEnd}}",
|
|
63494
63737
|
"invoices.outstandingProduct.name": "Saldo insoluto",
|
|
@@ -63537,6 +63780,8 @@ var lt = {
|
|
|
63537
63780
|
"einvoicing.paymentFromWallet": "Mok\u0117jimas i\u0161 pinigin\u0117s",
|
|
63538
63781
|
"einvoicing.paymentProcessed": "Mok\u0117jimas apdorotas",
|
|
63539
63782
|
"einvoicing.paymentReceived": "Mok\u0117jimas gautas",
|
|
63783
|
+
"invoices.minimumFee.adjustmentName": "Minimalaus mokes\u010Dio koregavimas",
|
|
63784
|
+
"invoices.minimumFee.name": "Minimalus mokestis",
|
|
63540
63785
|
"invoices.outstandingProduct.description": "Neapmok\u0117ta {{date}} i\u0161ra\u0161ytos s\u0105skaitos fakt\u016Bros{{invoiceNumber}} suma",
|
|
63541
63786
|
"invoices.outstandingProduct.descriptionPeriod": "Neapmok\u0117ta s\u0105skaitos fakt\u016Bros{{invoiceNumber}} suma u\u017E laikotarp\u012F nuo {{periodStart}} iki {{periodEnd}}",
|
|
63542
63787
|
"invoices.outstandingProduct.name": "Neapmok\u0117tas likutis",
|
|
@@ -63585,6 +63830,8 @@ var nl = {
|
|
|
63585
63830
|
"einvoicing.paymentFromWallet": "Betaling uit tegoed",
|
|
63586
63831
|
"einvoicing.paymentProcessed": "Betaling verwerkt",
|
|
63587
63832
|
"einvoicing.paymentReceived": "Betaling ontvangen",
|
|
63833
|
+
"invoices.minimumFee.adjustmentName": "Aanpassing minimumbedrag",
|
|
63834
|
+
"invoices.minimumFee.name": "Minimumbedrag",
|
|
63588
63835
|
"invoices.outstandingProduct.description": "Onbetaald bedrag van de factuur{{invoiceNumber}} uitgegeven op {{date}}",
|
|
63589
63836
|
"invoices.outstandingProduct.descriptionPeriod": "Onbetaald bedrag van de factuur{{invoiceNumber}} van {{periodStart}} tot {{periodEnd}}",
|
|
63590
63837
|
"invoices.outstandingProduct.name": "Openstaand saldo",
|
|
@@ -63633,6 +63880,8 @@ var pl = {
|
|
|
63633
63880
|
"einvoicing.paymentFromWallet": "P\u0142atno\u015B\u0107 z portfela",
|
|
63634
63881
|
"einvoicing.paymentProcessed": "P\u0142atno\u015B\u0107 przetworzona",
|
|
63635
63882
|
"einvoicing.paymentReceived": "P\u0142atno\u015B\u0107 otrzymana",
|
|
63883
|
+
"invoices.minimumFee.adjustmentName": "Wyr\xF3wnanie do op\u0142aty minimalnej",
|
|
63884
|
+
"invoices.minimumFee.name": "Op\u0142ata minimalna",
|
|
63636
63885
|
"invoices.outstandingProduct.description": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} wystawionej {{date}}",
|
|
63637
63886
|
"invoices.outstandingProduct.descriptionPeriod": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} od {{periodStart}} do {{periodEnd}}",
|
|
63638
63887
|
"invoices.outstandingProduct.name": "Niezap\u0142acone saldo",
|
|
@@ -63681,6 +63930,8 @@ var pt = {
|
|
|
63681
63930
|
"einvoicing.paymentFromWallet": "Pagamento da carteira",
|
|
63682
63931
|
"einvoicing.paymentProcessed": "Pagamento processado",
|
|
63683
63932
|
"einvoicing.paymentReceived": "Pagamento recebido",
|
|
63933
|
+
"invoices.minimumFee.adjustmentName": "Ajuste do valor m\xEDnimo",
|
|
63934
|
+
"invoices.minimumFee.name": "Valor m\xEDnimo",
|
|
63684
63935
|
"invoices.outstandingProduct.description": "Valor em aberto da fatura{{invoiceNumber}} emitida em {{date}}",
|
|
63685
63936
|
"invoices.outstandingProduct.descriptionPeriod": "Valor em aberto da fatura{{invoiceNumber}} de {{periodStart}} a {{periodEnd}}",
|
|
63686
63937
|
"invoices.outstandingProduct.name": "Saldo em aberto",
|
|
@@ -63778,97 +64029,314 @@ var executionContextStorage = new AsyncLocalStorage();
|
|
|
63778
64029
|
function getExecutionContext() {
|
|
63779
64030
|
return executionContextStorage.getStore();
|
|
63780
64031
|
}
|
|
63781
|
-
|
|
63782
|
-
// ../hyperline-monitoring/build/context/correlationId.js
|
|
63783
|
-
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
63784
|
-
var correlationIdStorage = new AsyncLocalStorage2();
|
|
63785
|
-
function getCorrelationId() {
|
|
63786
|
-
return correlationIdStorage.getStore();
|
|
64032
|
+
|
|
64033
|
+
// ../hyperline-monitoring/build/context/correlationId.js
|
|
64034
|
+
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
64035
|
+
var correlationIdStorage = new AsyncLocalStorage2();
|
|
64036
|
+
function getCorrelationId() {
|
|
64037
|
+
return correlationIdStorage.getStore();
|
|
64038
|
+
}
|
|
64039
|
+
|
|
64040
|
+
// ../hyperline-config/build/index.js
|
|
64041
|
+
import "dotenv/config";
|
|
64042
|
+
import * as stackTraceParser from "stacktrace-parser";
|
|
64043
|
+
function coerceBoolean() {
|
|
64044
|
+
return external_exports.any().refine((value) => ["true", "false"].includes(value), {
|
|
64045
|
+
message: "Expected boolean"
|
|
64046
|
+
}).transform((value) => (
|
|
64047
|
+
// biome-ignore lint/complexity/noUselessTernary: ignore
|
|
64048
|
+
value === "true" ? true : false
|
|
64049
|
+
));
|
|
64050
|
+
}
|
|
64051
|
+
var types = {
|
|
64052
|
+
string: external_exports.coerce.string,
|
|
64053
|
+
number: external_exports.coerce.number,
|
|
64054
|
+
boolean: coerceBoolean,
|
|
64055
|
+
enum: external_exports.enum
|
|
64056
|
+
};
|
|
64057
|
+
function getConfig(schema, testValues) {
|
|
64058
|
+
const validator = external_exports.object(Object.fromEntries(Object.entries(schema).map(([key, zodType]) => {
|
|
64059
|
+
if (zodType instanceof ZodOptional) {
|
|
64060
|
+
return [key, external_exports.string().optional()];
|
|
64061
|
+
}
|
|
64062
|
+
return [key, external_exports.string()];
|
|
64063
|
+
})));
|
|
64064
|
+
const processEnv = process.env;
|
|
64065
|
+
const isTestMode = processEnv.NODE_ENV === "test";
|
|
64066
|
+
const envVariables = {
|
|
64067
|
+
...processEnv,
|
|
64068
|
+
...isTestMode && testValues ? Object.fromEntries(Object.entries(testValues).map(([key, value]) => [key, String(value)])) : {}
|
|
64069
|
+
};
|
|
64070
|
+
const packageName = envVariables.npm_package_name;
|
|
64071
|
+
const parseProcessEnvResult = validator.safeParse(envVariables);
|
|
64072
|
+
if (!parseProcessEnvResult.success) {
|
|
64073
|
+
const parsedStackTrace = stackTraceParser.parse(parseProcessEnvResult.error.stack ?? "");
|
|
64074
|
+
const getConfigCallLine = parsedStackTrace.find((line) => {
|
|
64075
|
+
return !line.file?.includes("hyperline-config") && (line.file?.includes("apps/") || line.file?.includes("core/") || line.file?.includes("packages/"));
|
|
64076
|
+
});
|
|
64077
|
+
const callerFile = getConfigCallLine?.file;
|
|
64078
|
+
console.error(`Invalid environment variables for service \`${packageName}\`: \`${callerFile}\``);
|
|
64079
|
+
console.error(parseProcessEnvResult.error.format());
|
|
64080
|
+
process.exit(1);
|
|
64081
|
+
}
|
|
64082
|
+
const coercion = external_exports.object(schema);
|
|
64083
|
+
return coercion.parse(parseProcessEnvResult.data);
|
|
64084
|
+
}
|
|
64085
|
+
|
|
64086
|
+
// ../hyperline-monitoring/build/config.js
|
|
64087
|
+
var config2 = getConfig({
|
|
64088
|
+
// config
|
|
64089
|
+
APP_VERSION: types.string().optional(),
|
|
64090
|
+
// Deployment environment for log tagging, when it cannot be read off
|
|
64091
|
+
// NODE_ENV. Set only by the PDF render worker pools, which must run with
|
|
64092
|
+
// NODE_ENV="production" to get the production React build regardless of which
|
|
64093
|
+
// environment the pod is actually in (see core/invoicing/services/pdf/index.ts).
|
|
64094
|
+
// Unset everywhere else, so the NODE_ENV fallback keeps current behaviour.
|
|
64095
|
+
APP_ENV: types.string().optional(),
|
|
64096
|
+
DD_SERVICE: types.string().optional(),
|
|
64097
|
+
LOGGER_CONSOLE_ENABLED: types.boolean().optional(),
|
|
64098
|
+
LOGGER_STDOUT_ENABLED: types.boolean().optional(),
|
|
64099
|
+
NODE_ENV: types.enum(["local", "test", "staging", "sandbox", "production"]),
|
|
64100
|
+
EVENT_LOOP_MONITORING_ENABLED: types.boolean().optional(),
|
|
64101
|
+
MEMORY_MONITORING_ENABLED: types.boolean().optional(),
|
|
64102
|
+
MEMORY_MONITORING_INTERVAL_MS: types.number().optional()
|
|
64103
|
+
// secrets
|
|
64104
|
+
}, {
|
|
64105
|
+
APP_VERSION: void 0,
|
|
64106
|
+
APP_ENV: void 0,
|
|
64107
|
+
DD_SERVICE: void 0,
|
|
64108
|
+
LOGGER_CONSOLE_ENABLED: false,
|
|
64109
|
+
LOGGER_STDOUT_ENABLED: false,
|
|
64110
|
+
EVENT_LOOP_MONITORING_ENABLED: false,
|
|
64111
|
+
MEMORY_MONITORING_ENABLED: false,
|
|
64112
|
+
MEMORY_MONITORING_INTERVAL_MS: 3e4,
|
|
64113
|
+
NODE_ENV: "test"
|
|
64114
|
+
});
|
|
64115
|
+
|
|
64116
|
+
// ../hyperline-monitoring/build/logger/logger.js
|
|
64117
|
+
import * as util from "node:util";
|
|
64118
|
+
import prune2 from "json-prune";
|
|
64119
|
+
import * as winston from "winston";
|
|
64120
|
+
|
|
64121
|
+
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
64122
|
+
import prune from "json-prune";
|
|
64123
|
+
|
|
64124
|
+
// ../hyperline-monitoring/build/logger/formatting/logRedaction.js
|
|
64125
|
+
var REDACTED_KEY_NAMES = /* @__PURE__ */ new Set([
|
|
64126
|
+
"accesstoken",
|
|
64127
|
+
"apitoken",
|
|
64128
|
+
"assertion",
|
|
64129
|
+
"authorization",
|
|
64130
|
+
"authtoken",
|
|
64131
|
+
"cardnumber",
|
|
64132
|
+
"clientassertion",
|
|
64133
|
+
"codeverifier",
|
|
64134
|
+
"connectionurl",
|
|
64135
|
+
"consumerkey",
|
|
64136
|
+
"cookie",
|
|
64137
|
+
"credential",
|
|
64138
|
+
"credentials",
|
|
64139
|
+
"iban",
|
|
64140
|
+
"idtoken",
|
|
64141
|
+
"privatekey",
|
|
64142
|
+
"publictoken",
|
|
64143
|
+
"refreshtoken",
|
|
64144
|
+
"sessiontoken",
|
|
64145
|
+
"token",
|
|
64146
|
+
"tokenid",
|
|
64147
|
+
"verificationcode"
|
|
64148
|
+
]);
|
|
64149
|
+
var REDACTED_KEY_SUFFIX_PATTERN = /(secret|password|passphrase|apikey)$/;
|
|
64150
|
+
var REDACTED_KEY_CANDIDATE_PATTERN = /token|key|secret|pass|assertion|verifier|credential|authorization|cookie|iban|cardnumber|code|connectionurl/i;
|
|
64151
|
+
var URL_ONLY_REDACTED_KEYS = /* @__PURE__ */ new Set(["key"]);
|
|
64152
|
+
var OAUTH_CODE_KEY = "code";
|
|
64153
|
+
var OAUTH_CODE_CONTEXT_KEYS = ["state", "grant_type"];
|
|
64154
|
+
var REDACTED_VALUE = "<redacted>";
|
|
64155
|
+
var TRUNCATED_VALUE = "[TRUNCATED: not redacted]";
|
|
64156
|
+
var TRUNCATED_KEY = "[TRUNCATED]";
|
|
64157
|
+
var MAX_REDACTION_DEPTH = 6;
|
|
64158
|
+
var MAX_ARRAY_ENTRIES = 50;
|
|
64159
|
+
var MAX_PARSED_STRING_LENGTH = 16384;
|
|
64160
|
+
var MAX_VISITED_NODES = 5e3;
|
|
64161
|
+
var MAX_CONTAINER_ENTRIES = 1e3;
|
|
64162
|
+
var MAX_STRING_CHARACTERS = 256e3;
|
|
64163
|
+
function redactLogBody({ body }) {
|
|
64164
|
+
return redactValue({
|
|
64165
|
+
value: body,
|
|
64166
|
+
depth: MAX_REDACTION_DEPTH,
|
|
64167
|
+
budget: {
|
|
64168
|
+
remainingNodes: MAX_VISITED_NODES,
|
|
64169
|
+
remainingChars: MAX_STRING_CHARACTERS
|
|
64170
|
+
}
|
|
64171
|
+
});
|
|
64172
|
+
}
|
|
64173
|
+
function redactLogUrl({ url: url2 }) {
|
|
64174
|
+
const queryIndex = url2.indexOf("?");
|
|
64175
|
+
if (queryIndex === -1) {
|
|
64176
|
+
return url2;
|
|
64177
|
+
}
|
|
64178
|
+
if (url2.length > MAX_PARSED_STRING_LENGTH) {
|
|
64179
|
+
return `${url2.slice(0, queryIndex)}?${TRUNCATED_VALUE}`;
|
|
64180
|
+
}
|
|
64181
|
+
const redactedQuery = redactFormEncoded({
|
|
64182
|
+
text: url2.slice(queryIndex + 1),
|
|
64183
|
+
extraRedactedKeys: URL_ONLY_REDACTED_KEYS
|
|
64184
|
+
});
|
|
64185
|
+
return redactedQuery === void 0 ? url2 : `${url2.slice(0, queryIndex)}?${redactedQuery}`;
|
|
64186
|
+
}
|
|
64187
|
+
function redactValue({ value, depth, budget }) {
|
|
64188
|
+
if (isOpaqueObject({ value })) {
|
|
64189
|
+
return replaceOpaqueObject({ value });
|
|
64190
|
+
}
|
|
64191
|
+
if (typeof value === "string") {
|
|
64192
|
+
if (value.length > budget.remainingChars) {
|
|
64193
|
+
return TRUNCATED_VALUE;
|
|
64194
|
+
}
|
|
64195
|
+
budget.remainingChars -= value.length;
|
|
64196
|
+
}
|
|
64197
|
+
if (depth <= 0 || budget.remainingNodes <= 0) {
|
|
64198
|
+
return isInspectable({ value }) ? TRUNCATED_VALUE : value;
|
|
64199
|
+
}
|
|
64200
|
+
budget.remainingNodes -= 1;
|
|
64201
|
+
if (typeof value === "string") {
|
|
64202
|
+
return redactString({ text: value, budget });
|
|
64203
|
+
}
|
|
64204
|
+
if (value instanceof URLSearchParams) {
|
|
64205
|
+
return redactValue({ value: value.toString(), depth, budget });
|
|
64206
|
+
}
|
|
64207
|
+
if (Array.isArray(value)) {
|
|
64208
|
+
return redactArray({ items: value, depth, budget });
|
|
64209
|
+
}
|
|
64210
|
+
if (isPlainObject2(value)) {
|
|
64211
|
+
return redactObject({ record: value, depth, budget });
|
|
64212
|
+
}
|
|
64213
|
+
return value;
|
|
64214
|
+
}
|
|
64215
|
+
function isOpaqueObject({ value }) {
|
|
64216
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) && !isPlainObject2(value) && !(value instanceof URLSearchParams);
|
|
64217
|
+
}
|
|
64218
|
+
function replaceOpaqueObject({ value }) {
|
|
64219
|
+
if (typeof value !== "object" || value === null || value instanceof Date) {
|
|
64220
|
+
return value;
|
|
64221
|
+
}
|
|
64222
|
+
if (value instanceof ArrayBuffer || ArrayBuffer.isView(value)) {
|
|
64223
|
+
return `[BINARY ${value.byteLength} bytes]`;
|
|
64224
|
+
}
|
|
64225
|
+
if (value instanceof Blob) {
|
|
64226
|
+
return `[BINARY ${value.size} bytes]`;
|
|
64227
|
+
}
|
|
64228
|
+
if (value instanceof FormData || typeof Reflect.get(value, "pipe") === "function") {
|
|
64229
|
+
return "[BINARY stream]";
|
|
64230
|
+
}
|
|
64231
|
+
return TRUNCATED_VALUE;
|
|
64232
|
+
}
|
|
64233
|
+
function redactArray({ items, depth, budget }) {
|
|
64234
|
+
const isTruncated = items.length > MAX_ARRAY_ENTRIES;
|
|
64235
|
+
const keptItems = isTruncated ? items.slice(0, MAX_ARRAY_ENTRIES) : items;
|
|
64236
|
+
let redactedItems;
|
|
64237
|
+
for (const [index, item] of keptItems.entries()) {
|
|
64238
|
+
const redactedItem = redactValue({ value: item, depth: depth - 1, budget });
|
|
64239
|
+
if (redactedItem !== item) {
|
|
64240
|
+
redactedItems ??= [...keptItems];
|
|
64241
|
+
redactedItems[index] = redactedItem;
|
|
64242
|
+
}
|
|
64243
|
+
}
|
|
64244
|
+
const result = redactedItems ?? keptItems;
|
|
64245
|
+
return isTruncated ? [...result, TRUNCATED_VALUE] : result;
|
|
64246
|
+
}
|
|
64247
|
+
function redactObject({ record: record2, depth, budget }) {
|
|
64248
|
+
const redactedEntries = /* @__PURE__ */ new Map();
|
|
64249
|
+
const carriesOAuthCode = OAUTH_CODE_CONTEXT_KEYS.some((contextKey) => Object.hasOwn(record2, contextKey));
|
|
64250
|
+
const keptKeys = [];
|
|
64251
|
+
let isTruncated = false;
|
|
64252
|
+
for (const key in record2) {
|
|
64253
|
+
if (!Object.hasOwn(record2, key)) {
|
|
64254
|
+
continue;
|
|
64255
|
+
}
|
|
64256
|
+
if (keptKeys.length >= MAX_CONTAINER_ENTRIES || key.length > budget.remainingChars) {
|
|
64257
|
+
isTruncated = true;
|
|
64258
|
+
break;
|
|
64259
|
+
}
|
|
64260
|
+
budget.remainingChars -= key.length;
|
|
64261
|
+
keptKeys.push(key);
|
|
64262
|
+
const nestedValue = record2[key];
|
|
64263
|
+
const isSensitiveKey = isRedactedKey({ key }) || carriesOAuthCode && key === OAUTH_CODE_KEY;
|
|
64264
|
+
const shouldRedact = isSensitiveKey && nestedValue != null && typeof nestedValue !== "boolean";
|
|
64265
|
+
if (shouldRedact) {
|
|
64266
|
+
budget.remainingNodes -= 1;
|
|
64267
|
+
}
|
|
64268
|
+
const redactedNestedValue = shouldRedact ? REDACTED_VALUE : redactValue({ value: nestedValue, depth: depth - 1, budget });
|
|
64269
|
+
if (redactedNestedValue !== nestedValue) {
|
|
64270
|
+
redactedEntries.set(key, redactedNestedValue);
|
|
64271
|
+
}
|
|
64272
|
+
}
|
|
64273
|
+
if (isTruncated) {
|
|
64274
|
+
const keptRecord = {};
|
|
64275
|
+
for (const key of keptKeys) {
|
|
64276
|
+
keptRecord[key] = redactedEntries.has(key) ? redactedEntries.get(key) : record2[key];
|
|
64277
|
+
}
|
|
64278
|
+
keptRecord[TRUNCATED_KEY] = TRUNCATED_VALUE;
|
|
64279
|
+
return keptRecord;
|
|
64280
|
+
}
|
|
64281
|
+
return redactedEntries.size === 0 ? record2 : { ...record2, ...Object.fromEntries(redactedEntries) };
|
|
64282
|
+
}
|
|
64283
|
+
function redactString({ text, budget }) {
|
|
64284
|
+
if (text.length > MAX_PARSED_STRING_LENGTH) {
|
|
64285
|
+
return TRUNCATED_VALUE;
|
|
64286
|
+
}
|
|
64287
|
+
if (!isInspectable({ value: text })) {
|
|
64288
|
+
return text;
|
|
64289
|
+
}
|
|
64290
|
+
const trimmedText = text.trim();
|
|
64291
|
+
if (trimmedText.startsWith("{") || trimmedText.startsWith("[")) {
|
|
64292
|
+
try {
|
|
64293
|
+
const parsedValue = JSON.parse(trimmedText);
|
|
64294
|
+
const redactedValue = redactValue({
|
|
64295
|
+
value: parsedValue,
|
|
64296
|
+
depth: MAX_REDACTION_DEPTH,
|
|
64297
|
+
budget
|
|
64298
|
+
});
|
|
64299
|
+
return redactedValue === parsedValue ? text : JSON.stringify(redactedValue);
|
|
64300
|
+
} catch {
|
|
64301
|
+
return REDACTED_KEY_CANDIDATE_PATTERN.test(text) ? TRUNCATED_VALUE : redactFormEncoded({ text }) ?? text;
|
|
64302
|
+
}
|
|
64303
|
+
}
|
|
64304
|
+
return redactFormEncoded({ text }) ?? text;
|
|
64305
|
+
}
|
|
64306
|
+
function redactFormEncoded({ text, extraRedactedKeys }) {
|
|
64307
|
+
if (!text.includes("=") || !REDACTED_KEY_CANDIDATE_PATTERN.test(text)) {
|
|
64308
|
+
return void 0;
|
|
64309
|
+
}
|
|
64310
|
+
const params = new URLSearchParams(text);
|
|
64311
|
+
const carriesOAuthCode = OAUTH_CODE_CONTEXT_KEYS.some((contextKey) => params.has(contextKey));
|
|
64312
|
+
let hasRedactedParam = false;
|
|
64313
|
+
for (const key of new Set(params.keys())) {
|
|
64314
|
+
if (isRedactedKey({ key }) || extraRedactedKeys?.has(key.toLowerCase()) || carriesOAuthCode && key === OAUTH_CODE_KEY) {
|
|
64315
|
+
params.set(key, REDACTED_VALUE);
|
|
64316
|
+
hasRedactedParam = true;
|
|
64317
|
+
}
|
|
64318
|
+
}
|
|
64319
|
+
return hasRedactedParam ? params.toString() : void 0;
|
|
64320
|
+
}
|
|
64321
|
+
function isRedactedKey({ key }) {
|
|
64322
|
+
const normalizedKey = key.toLowerCase().replace(/[_-]/g, "");
|
|
64323
|
+
return REDACTED_KEY_NAMES.has(normalizedKey) || REDACTED_KEY_SUFFIX_PATTERN.test(normalizedKey);
|
|
63787
64324
|
}
|
|
63788
|
-
|
|
63789
|
-
|
|
63790
|
-
|
|
63791
|
-
|
|
63792
|
-
|
|
63793
|
-
return external_exports.any().refine((value) => ["true", "false"].includes(value), {
|
|
63794
|
-
message: "Expected boolean"
|
|
63795
|
-
}).transform((value) => (
|
|
63796
|
-
// biome-ignore lint/complexity/noUselessTernary: ignore
|
|
63797
|
-
value === "true" ? true : false
|
|
63798
|
-
));
|
|
64325
|
+
function isInspectable({ value }) {
|
|
64326
|
+
if (typeof value === "string") {
|
|
64327
|
+
return value.length > MAX_PARSED_STRING_LENGTH || /^\s*[{[]/.test(value) || value.includes("=") && REDACTED_KEY_CANDIDATE_PATTERN.test(value);
|
|
64328
|
+
}
|
|
64329
|
+
return value instanceof URLSearchParams || Array.isArray(value) || isPlainObject2(value);
|
|
63799
64330
|
}
|
|
63800
|
-
|
|
63801
|
-
|
|
63802
|
-
|
|
63803
|
-
boolean: coerceBoolean,
|
|
63804
|
-
enum: external_exports.enum
|
|
63805
|
-
};
|
|
63806
|
-
function getConfig(schema, testValues) {
|
|
63807
|
-
const validator = external_exports.object(Object.fromEntries(Object.entries(schema).map(([key, zodType]) => {
|
|
63808
|
-
if (zodType instanceof ZodOptional) {
|
|
63809
|
-
return [key, external_exports.string().optional()];
|
|
63810
|
-
}
|
|
63811
|
-
return [key, external_exports.string()];
|
|
63812
|
-
})));
|
|
63813
|
-
const processEnv = process.env;
|
|
63814
|
-
const isTestMode = processEnv.NODE_ENV === "test";
|
|
63815
|
-
const envVariables = {
|
|
63816
|
-
...processEnv,
|
|
63817
|
-
...isTestMode && testValues ? Object.fromEntries(Object.entries(testValues).map(([key, value]) => [key, String(value)])) : {}
|
|
63818
|
-
};
|
|
63819
|
-
const packageName = envVariables.npm_package_name;
|
|
63820
|
-
const parseProcessEnvResult = validator.safeParse(envVariables);
|
|
63821
|
-
if (!parseProcessEnvResult.success) {
|
|
63822
|
-
const parsedStackTrace = stackTraceParser.parse(parseProcessEnvResult.error.stack ?? "");
|
|
63823
|
-
const getConfigCallLine = parsedStackTrace.find((line) => {
|
|
63824
|
-
return !line.file?.includes("hyperline-config") && (line.file?.includes("apps/") || line.file?.includes("core/") || line.file?.includes("packages/"));
|
|
63825
|
-
});
|
|
63826
|
-
const callerFile = getConfigCallLine?.file;
|
|
63827
|
-
console.error(`Invalid environment variables for service \`${packageName}\`: \`${callerFile}\``);
|
|
63828
|
-
console.error(parseProcessEnvResult.error.format());
|
|
63829
|
-
process.exit(1);
|
|
64331
|
+
function isPlainObject2(value) {
|
|
64332
|
+
if (typeof value !== "object" || value === null) {
|
|
64333
|
+
return false;
|
|
63830
64334
|
}
|
|
63831
|
-
const
|
|
63832
|
-
return
|
|
64335
|
+
const prototype = Object.getPrototypeOf(value);
|
|
64336
|
+
return prototype === Object.prototype || prototype === null;
|
|
63833
64337
|
}
|
|
63834
64338
|
|
|
63835
|
-
// ../hyperline-monitoring/build/config.js
|
|
63836
|
-
var config2 = getConfig({
|
|
63837
|
-
// config
|
|
63838
|
-
APP_VERSION: types.string().optional(),
|
|
63839
|
-
// Deployment environment for log tagging, when it cannot be read off
|
|
63840
|
-
// NODE_ENV. Set only by the PDF render worker pools, which must run with
|
|
63841
|
-
// NODE_ENV="production" to get the production React build regardless of which
|
|
63842
|
-
// environment the pod is actually in (see core/invoicing/services/pdf/index.ts).
|
|
63843
|
-
// Unset everywhere else, so the NODE_ENV fallback keeps current behaviour.
|
|
63844
|
-
APP_ENV: types.string().optional(),
|
|
63845
|
-
DD_SERVICE: types.string().optional(),
|
|
63846
|
-
LOGGER_CONSOLE_ENABLED: types.boolean().optional(),
|
|
63847
|
-
LOGGER_STDOUT_ENABLED: types.boolean().optional(),
|
|
63848
|
-
NODE_ENV: types.enum(["local", "test", "staging", "sandbox", "production"]),
|
|
63849
|
-
EVENT_LOOP_MONITORING_ENABLED: types.boolean().optional(),
|
|
63850
|
-
MEMORY_MONITORING_ENABLED: types.boolean().optional(),
|
|
63851
|
-
MEMORY_MONITORING_INTERVAL_MS: types.number().optional()
|
|
63852
|
-
// secrets
|
|
63853
|
-
}, {
|
|
63854
|
-
APP_VERSION: void 0,
|
|
63855
|
-
APP_ENV: void 0,
|
|
63856
|
-
DD_SERVICE: void 0,
|
|
63857
|
-
LOGGER_CONSOLE_ENABLED: false,
|
|
63858
|
-
LOGGER_STDOUT_ENABLED: false,
|
|
63859
|
-
EVENT_LOOP_MONITORING_ENABLED: false,
|
|
63860
|
-
MEMORY_MONITORING_ENABLED: false,
|
|
63861
|
-
MEMORY_MONITORING_INTERVAL_MS: 3e4,
|
|
63862
|
-
NODE_ENV: "test"
|
|
63863
|
-
});
|
|
63864
|
-
|
|
63865
|
-
// ../hyperline-monitoring/build/logger/logger.js
|
|
63866
|
-
import * as util from "node:util";
|
|
63867
|
-
import prune2 from "json-prune";
|
|
63868
|
-
import * as winston from "winston";
|
|
63869
|
-
|
|
63870
64339
|
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
63871
|
-
import prune from "json-prune";
|
|
63872
64340
|
var REDACTED_HEADER_KEY_PATTERN = /authorization|authenticate|cookie|secret|token|credential|signature|jwt|api[_-]?key|access[_-]?token|refresh[_-]?token|private[_-]?key/i;
|
|
63873
64341
|
function jsonFormat(info) {
|
|
63874
64342
|
const prunedInfo = JSON.parse(prune(info));
|
|
@@ -63929,14 +64397,106 @@ function transformPrune(info) {
|
|
|
63929
64397
|
});
|
|
63930
64398
|
return info;
|
|
63931
64399
|
}
|
|
64400
|
+
var MAX_AXIOS_ERROR_DEPTH = 5;
|
|
64401
|
+
var MAX_AXIOS_ERROR_CONTAINER_ENTRIES = 1e3;
|
|
64402
|
+
var MAX_AXIOS_ERROR_VISITED_NODES = 5e3;
|
|
64403
|
+
var REDACTED_BODY_KEYS = /* @__PURE__ */ new Set(["requestBody", "responseBody"]);
|
|
63932
64404
|
function transformAxiosError(info) {
|
|
63933
|
-
|
|
63934
|
-
|
|
63935
|
-
|
|
64405
|
+
let walk;
|
|
64406
|
+
for (const [key, value] of Object.entries(info)) {
|
|
64407
|
+
if (typeof value !== "object" || value === null || REDACTED_BODY_KEYS.has(key)) {
|
|
64408
|
+
continue;
|
|
63936
64409
|
}
|
|
63937
|
-
|
|
64410
|
+
walk ??= {
|
|
64411
|
+
formatted: /* @__PURE__ */ new Map(),
|
|
64412
|
+
remainingNodes: MAX_AXIOS_ERROR_VISITED_NODES
|
|
64413
|
+
};
|
|
64414
|
+
const formattedValue = formatNestedAxiosErrors({
|
|
64415
|
+
value,
|
|
64416
|
+
depth: MAX_AXIOS_ERROR_DEPTH,
|
|
64417
|
+
walk
|
|
64418
|
+
});
|
|
64419
|
+
if (formattedValue !== value) {
|
|
64420
|
+
info[key] = formattedValue;
|
|
64421
|
+
}
|
|
64422
|
+
}
|
|
63938
64423
|
return info;
|
|
63939
64424
|
}
|
|
64425
|
+
function formatNestedAxiosErrors({ value, depth, walk }) {
|
|
64426
|
+
if (typeof value !== "object" || value === null) {
|
|
64427
|
+
return value;
|
|
64428
|
+
}
|
|
64429
|
+
if (walk.formatted.has(value)) {
|
|
64430
|
+
return walk.formatted.get(value);
|
|
64431
|
+
}
|
|
64432
|
+
if (Reflect.get(value, "name") === "AxiosError") {
|
|
64433
|
+
const formattedError = walk.remainingNodes > 0 ? formatAxiosError(value) : summarizeAxiosError({ error: value });
|
|
64434
|
+
walk.remainingNodes -= 1;
|
|
64435
|
+
walk.formatted.set(value, formattedError);
|
|
64436
|
+
return formattedError;
|
|
64437
|
+
}
|
|
64438
|
+
const isWalkable = Array.isArray(value) || value instanceof Error || isPlainRecord(value);
|
|
64439
|
+
if (!isWalkable || depth <= 0 || walk.remainingNodes <= 0) {
|
|
64440
|
+
return value;
|
|
64441
|
+
}
|
|
64442
|
+
walk.formatted.set(value, "[Circular]");
|
|
64443
|
+
walk.remainingNodes -= 1;
|
|
64444
|
+
const formattedValue = formatWalkableValue({ value, depth, walk });
|
|
64445
|
+
walk.formatted.set(value, formattedValue);
|
|
64446
|
+
return formattedValue;
|
|
64447
|
+
}
|
|
64448
|
+
function summarizeAxiosError({ error: error48 }) {
|
|
64449
|
+
return {
|
|
64450
|
+
name: Reflect.get(error48, "name"),
|
|
64451
|
+
message: Reflect.get(error48, "message"),
|
|
64452
|
+
code: Reflect.get(error48, "code")
|
|
64453
|
+
};
|
|
64454
|
+
}
|
|
64455
|
+
function formatWalkableValue({ value, depth, walk }) {
|
|
64456
|
+
if (Array.isArray(value)) {
|
|
64457
|
+
if (value.length > MAX_AXIOS_ERROR_CONTAINER_ENTRIES) {
|
|
64458
|
+
return value;
|
|
64459
|
+
}
|
|
64460
|
+
let formattedItems;
|
|
64461
|
+
for (const [index, item] of value.entries()) {
|
|
64462
|
+
const formattedItem = formatNestedAxiosErrors({
|
|
64463
|
+
value: item,
|
|
64464
|
+
depth: depth - 1,
|
|
64465
|
+
walk
|
|
64466
|
+
});
|
|
64467
|
+
if (formattedItem !== item) {
|
|
64468
|
+
formattedItems ??= [...value];
|
|
64469
|
+
formattedItems[index] = formattedItem;
|
|
64470
|
+
}
|
|
64471
|
+
}
|
|
64472
|
+
return formattedItems ?? value;
|
|
64473
|
+
}
|
|
64474
|
+
const keys = Object.keys(value);
|
|
64475
|
+
if (keys.length > MAX_AXIOS_ERROR_CONTAINER_ENTRIES) {
|
|
64476
|
+
return value;
|
|
64477
|
+
}
|
|
64478
|
+
const formattedEntries = /* @__PURE__ */ new Map();
|
|
64479
|
+
for (const key of keys) {
|
|
64480
|
+
const nestedValue = Reflect.get(value, key);
|
|
64481
|
+
const formattedNestedValue = formatNestedAxiosErrors({
|
|
64482
|
+
value: nestedValue,
|
|
64483
|
+
depth: depth - 1,
|
|
64484
|
+
walk
|
|
64485
|
+
});
|
|
64486
|
+
if (formattedNestedValue !== nestedValue) {
|
|
64487
|
+
formattedEntries.set(key, formattedNestedValue);
|
|
64488
|
+
}
|
|
64489
|
+
}
|
|
64490
|
+
if (formattedEntries.size === 0) {
|
|
64491
|
+
return value;
|
|
64492
|
+
}
|
|
64493
|
+
return {
|
|
64494
|
+
...value,
|
|
64495
|
+
// Error properties are not enumerable, so the spread would drop them.
|
|
64496
|
+
...value instanceof Error ? { name: value.name, message: value.message, stack: value.stack } : {},
|
|
64497
|
+
...Object.fromEntries(formattedEntries)
|
|
64498
|
+
};
|
|
64499
|
+
}
|
|
63940
64500
|
function formatAxiosError(error48) {
|
|
63941
64501
|
if (!isRecord(error48) || error48.name !== "AxiosError") {
|
|
63942
64502
|
return error48;
|
|
@@ -63949,9 +64509,9 @@ function formatAxiosError(error48) {
|
|
|
63949
64509
|
code: error48.code,
|
|
63950
64510
|
request: {
|
|
63951
64511
|
method: request?.method,
|
|
63952
|
-
url: request?.url,
|
|
64512
|
+
url: typeof request?.url === "string" ? redactLogUrl({ url: request.url }) : request?.url,
|
|
63953
64513
|
baseURL: request?.baseURL,
|
|
63954
|
-
params: request?.params,
|
|
64514
|
+
params: redactLogBody({ body: request?.params }),
|
|
63955
64515
|
headers: redactHeaders({ headers: request?.headers }),
|
|
63956
64516
|
"axios-retry": request?.["axios-retry"]
|
|
63957
64517
|
},
|
|
@@ -63959,7 +64519,7 @@ function formatAxiosError(error48) {
|
|
|
63959
64519
|
status: response?.status,
|
|
63960
64520
|
statusText: response?.statusText,
|
|
63961
64521
|
headers: redactHeaders({ headers: response?.headers }),
|
|
63962
|
-
data: response?.data
|
|
64522
|
+
data: redactLogBody({ body: response?.data })
|
|
63963
64523
|
}
|
|
63964
64524
|
};
|
|
63965
64525
|
}
|
|
@@ -63972,6 +64532,10 @@ function redactHeaders({ headers }) {
|
|
|
63972
64532
|
REDACTED_HEADER_KEY_PATTERN.test(headerKey) ? "<redacted>" : headerValue
|
|
63973
64533
|
]));
|
|
63974
64534
|
}
|
|
64535
|
+
function isPlainRecord(value) {
|
|
64536
|
+
const prototype = Object.getPrototypeOf(value);
|
|
64537
|
+
return prototype === Object.prototype || prototype === null;
|
|
64538
|
+
}
|
|
63975
64539
|
function isRecord(value) {
|
|
63976
64540
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
63977
64541
|
}
|
|
@@ -64001,7 +64565,7 @@ function logHttpResponse(logger2, response, responseTime, extra) {
|
|
|
64001
64565
|
const responseMetadata = {
|
|
64002
64566
|
statusCode,
|
|
64003
64567
|
responseTime,
|
|
64004
|
-
responseBody,
|
|
64568
|
+
responseBody: redactLogBody({ body: responseBody }),
|
|
64005
64569
|
// Redacted so secrets (authorization/cookie/token/…) never reach the logs
|
|
64006
64570
|
// while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
|
|
64007
64571
|
responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
|
|
@@ -64014,14 +64578,15 @@ function logHttpResponse(logger2, response, responseTime, extra) {
|
|
|
64014
64578
|
}
|
|
64015
64579
|
function transform2(request) {
|
|
64016
64580
|
const method = request.method.toUpperCase();
|
|
64017
|
-
const
|
|
64581
|
+
const originalUrl = redactLogUrl({ url: request.originalUrl });
|
|
64582
|
+
const message = `${method} ${originalUrl}`;
|
|
64018
64583
|
const metadata = {};
|
|
64019
64584
|
metadata.method = method;
|
|
64020
|
-
metadata.url = request.url;
|
|
64021
|
-
metadata.path = request.path;
|
|
64585
|
+
metadata.url = redactLogUrl({ url: request.url });
|
|
64586
|
+
metadata.path = redactLogUrl({ url: request.path });
|
|
64022
64587
|
metadata.hostname = request.hostname;
|
|
64023
|
-
metadata.originalUrl =
|
|
64024
|
-
metadata.requestBody =
|
|
64588
|
+
metadata.originalUrl = originalUrl;
|
|
64589
|
+
metadata.requestBody = redactLogBody({ body: request.body });
|
|
64025
64590
|
metadata.routePath = transformUrlIntoRoutePath(request);
|
|
64026
64591
|
metadata.apiKeyEnd = request.headers["authorization"]?.slice(-6);
|
|
64027
64592
|
return { message, metadata };
|
|
@@ -64068,7 +64633,16 @@ function buildLoggerFactory({ config: config4, context }) {
|
|
|
64068
64633
|
const internalLogger = winston.createLogger({
|
|
64069
64634
|
transports: transports2,
|
|
64070
64635
|
defaultMeta,
|
|
64071
|
-
format: winston.format.combine(
|
|
64636
|
+
format: winston.format.combine(
|
|
64637
|
+
winston.format.splat(),
|
|
64638
|
+
winston.format(addMetadata({ getCorrelationId, getExecutionContext }))(),
|
|
64639
|
+
// Before pruning: json-prune would otherwise serialize a binary
|
|
64640
|
+
// `response.data` byte by byte before it is summarised (#6006).
|
|
64641
|
+
winston.format(transformAxiosError)(),
|
|
64642
|
+
winston.format(transformErrorEnrich)({ depth: 5 }),
|
|
64643
|
+
winston.format(transformPrune)(),
|
|
64644
|
+
winston.format.timestamp()
|
|
64645
|
+
),
|
|
64072
64646
|
exitOnError: false
|
|
64073
64647
|
});
|
|
64074
64648
|
function createLogger3({ serviceName }) {
|
|
@@ -66415,11 +66989,25 @@ import { deepEqual } from "fast-equals";
|
|
|
66415
66989
|
|
|
66416
66990
|
// ../hyperline-lib/build/utils/realignDatesToTimezone.js
|
|
66417
66991
|
var import_shared4 = __toESM(require_shared(), 1);
|
|
66418
|
-
var
|
|
66992
|
+
var MILLISECONDS_PER_HOUR = 60 * 60 * 1e3;
|
|
66993
|
+
var MILLISECONDS_PER_DAY = 24 * MILLISECONDS_PER_HOUR;
|
|
66419
66994
|
var LAST_MILLISECOND_OF_DAY = MILLISECONDS_PER_DAY - 1;
|
|
66995
|
+
var dateRealignmentModeSchema = external_exports.enum([
|
|
66996
|
+
"utc_midnight_import",
|
|
66997
|
+
"dst_hour_drift",
|
|
66998
|
+
"month_start_drift",
|
|
66999
|
+
"manual_phase_end_midnight"
|
|
67000
|
+
]).default("utc_midnight_import");
|
|
67001
|
+
var DST_HOUR_SHIFT_BY_LOCAL_MILLISECOND_OF_DAY = /* @__PURE__ */ new Map([
|
|
67002
|
+
[23 * MILLISECONDS_PER_HOUR, MILLISECONDS_PER_HOUR],
|
|
67003
|
+
[LAST_MILLISECOND_OF_DAY - MILLISECONDS_PER_HOUR, MILLISECONDS_PER_HOUR],
|
|
67004
|
+
[MILLISECONDS_PER_HOUR, -MILLISECONDS_PER_HOUR],
|
|
67005
|
+
[MILLISECONDS_PER_HOUR - 1, -MILLISECONDS_PER_HOUR]
|
|
67006
|
+
]);
|
|
66420
67007
|
|
|
66421
67008
|
// ../hyperline-lib/build/utils/api/filterBuilder.js
|
|
66422
|
-
var
|
|
67009
|
+
var nullAuthorizedOperators = ["isNull", "isNotNull"];
|
|
67010
|
+
var baseAuthorizedOperators = ["not", ...nullAuthorizedOperators];
|
|
66423
67011
|
var booleanAuthorizedOperators = [
|
|
66424
67012
|
...baseAuthorizedOperators,
|
|
66425
67013
|
"equals"
|
|
@@ -66448,6 +67036,7 @@ var authorizedOperators = [
|
|
|
66448
67036
|
...arrayAuthorizedOperators,
|
|
66449
67037
|
...mapAuthorizedOperators
|
|
66450
67038
|
];
|
|
67039
|
+
var NullFilterValueSchema = BooleanSchema.or(external_exports.literal("")).optional();
|
|
66451
67040
|
|
|
66452
67041
|
// ../hyperline-lib/build/http/dto/state.js
|
|
66453
67042
|
var StateSchema = external_exports.enum(usStates).openapi({
|
|
@@ -66485,150 +67074,6 @@ var isAxiosError = axios.isAxiosError;
|
|
|
66485
67074
|
// ../hyperline-lib/build/httpClient/httpClient.js
|
|
66486
67075
|
import axios2 from "axios";
|
|
66487
67076
|
import axiosRetry, { isNetworkOrIdempotentRequestError, retryAfter } from "axios-retry";
|
|
66488
|
-
|
|
66489
|
-
// ../hyperline-lib/build/httpClient/logRedaction.js
|
|
66490
|
-
var REDACTED_KEY_NAMES = /* @__PURE__ */ new Set([
|
|
66491
|
-
"accesstoken",
|
|
66492
|
-
"apikey",
|
|
66493
|
-
"apitoken",
|
|
66494
|
-
"assertion",
|
|
66495
|
-
"authtoken",
|
|
66496
|
-
"clientassertion",
|
|
66497
|
-
"codeverifier",
|
|
66498
|
-
"credentials",
|
|
66499
|
-
"idtoken",
|
|
66500
|
-
"privatekey",
|
|
66501
|
-
"refreshtoken",
|
|
66502
|
-
"sessiontoken",
|
|
66503
|
-
"token"
|
|
66504
|
-
]);
|
|
66505
|
-
var REDACTED_KEY_SUFFIX_PATTERN = /(secret|password)$/;
|
|
66506
|
-
var REDACTED_KEY_CANDIDATE_PATTERN = /token|key|secret|password|assertion|verifier|credentials/i;
|
|
66507
|
-
var REDACTED_VALUE = "<redacted>";
|
|
66508
|
-
var MAX_REDACTION_DEPTH = 10;
|
|
66509
|
-
var MAX_PARSED_STRING_LENGTH = 16384;
|
|
66510
|
-
var MAX_VISITED_NODES = 1e3;
|
|
66511
|
-
var MAX_CONTAINER_ENTRIES = MAX_VISITED_NODES;
|
|
66512
|
-
function redactLogBody({ body }) {
|
|
66513
|
-
return redactValue({
|
|
66514
|
-
value: body,
|
|
66515
|
-
depth: MAX_REDACTION_DEPTH,
|
|
66516
|
-
budget: { remainingNodes: MAX_VISITED_NODES }
|
|
66517
|
-
});
|
|
66518
|
-
}
|
|
66519
|
-
function redactLogUrl({ url: url2 }) {
|
|
66520
|
-
const queryIndex = url2.indexOf("?");
|
|
66521
|
-
if (queryIndex === -1 || url2.length > MAX_PARSED_STRING_LENGTH) {
|
|
66522
|
-
return url2;
|
|
66523
|
-
}
|
|
66524
|
-
const redactedQuery = redactFormEncoded({ text: url2.slice(queryIndex + 1) });
|
|
66525
|
-
return redactedQuery === void 0 ? url2 : `${url2.slice(0, queryIndex)}?${redactedQuery}`;
|
|
66526
|
-
}
|
|
66527
|
-
function redactValue({ value, depth, budget }) {
|
|
66528
|
-
if (depth <= 0 || budget.remainingNodes <= 0) {
|
|
66529
|
-
return value;
|
|
66530
|
-
}
|
|
66531
|
-
budget.remainingNodes -= 1;
|
|
66532
|
-
if (typeof value === "string") {
|
|
66533
|
-
return redactString({ text: value, budget });
|
|
66534
|
-
}
|
|
66535
|
-
if (value instanceof URLSearchParams) {
|
|
66536
|
-
return redactFormEncoded({ text: value.toString() }) ?? value;
|
|
66537
|
-
}
|
|
66538
|
-
if (Array.isArray(value)) {
|
|
66539
|
-
return redactArray({ items: value, depth, budget });
|
|
66540
|
-
}
|
|
66541
|
-
if (isPlainObject2(value)) {
|
|
66542
|
-
return redactObject({ record: value, depth, budget });
|
|
66543
|
-
}
|
|
66544
|
-
return value;
|
|
66545
|
-
}
|
|
66546
|
-
function redactArray({ items, depth, budget }) {
|
|
66547
|
-
if (items.length > MAX_CONTAINER_ENTRIES) {
|
|
66548
|
-
return items;
|
|
66549
|
-
}
|
|
66550
|
-
let redactedItems;
|
|
66551
|
-
for (const [index, item] of items.entries()) {
|
|
66552
|
-
if (budget.remainingNodes <= 0) {
|
|
66553
|
-
break;
|
|
66554
|
-
}
|
|
66555
|
-
const redactedItem = redactValue({ value: item, depth: depth - 1, budget });
|
|
66556
|
-
if (redactedItem !== item) {
|
|
66557
|
-
redactedItems ??= [...items];
|
|
66558
|
-
redactedItems[index] = redactedItem;
|
|
66559
|
-
}
|
|
66560
|
-
}
|
|
66561
|
-
return redactedItems ?? items;
|
|
66562
|
-
}
|
|
66563
|
-
function redactObject({ record: record2, depth, budget }) {
|
|
66564
|
-
const redactedEntries = /* @__PURE__ */ new Map();
|
|
66565
|
-
let entryCount = 0;
|
|
66566
|
-
for (const key in record2) {
|
|
66567
|
-
if (!Object.hasOwn(record2, key)) {
|
|
66568
|
-
continue;
|
|
66569
|
-
}
|
|
66570
|
-
entryCount += 1;
|
|
66571
|
-
if (entryCount > MAX_CONTAINER_ENTRIES) {
|
|
66572
|
-
return record2;
|
|
66573
|
-
}
|
|
66574
|
-
if (budget.remainingNodes <= 0) {
|
|
66575
|
-
break;
|
|
66576
|
-
}
|
|
66577
|
-
const nestedValue = record2[key];
|
|
66578
|
-
const redactedNestedValue = isRedactedKey({ key }) && nestedValue != null ? REDACTED_VALUE : redactValue({ value: nestedValue, depth: depth - 1, budget });
|
|
66579
|
-
if (redactedNestedValue !== nestedValue) {
|
|
66580
|
-
redactedEntries.set(key, redactedNestedValue);
|
|
66581
|
-
}
|
|
66582
|
-
}
|
|
66583
|
-
return redactedEntries.size === 0 ? record2 : { ...record2, ...Object.fromEntries(redactedEntries) };
|
|
66584
|
-
}
|
|
66585
|
-
function redactString({ text, budget }) {
|
|
66586
|
-
if (text.length > MAX_PARSED_STRING_LENGTH) {
|
|
66587
|
-
return text;
|
|
66588
|
-
}
|
|
66589
|
-
const trimmedText = text.trim();
|
|
66590
|
-
if (trimmedText.startsWith("{") || trimmedText.startsWith("[")) {
|
|
66591
|
-
try {
|
|
66592
|
-
const parsedValue = JSON.parse(trimmedText);
|
|
66593
|
-
const redactedValue = redactValue({
|
|
66594
|
-
value: parsedValue,
|
|
66595
|
-
depth: MAX_REDACTION_DEPTH,
|
|
66596
|
-
budget
|
|
66597
|
-
});
|
|
66598
|
-
return redactedValue === parsedValue ? text : JSON.stringify(redactedValue);
|
|
66599
|
-
} catch {
|
|
66600
|
-
return text;
|
|
66601
|
-
}
|
|
66602
|
-
}
|
|
66603
|
-
return redactFormEncoded({ text }) ?? text;
|
|
66604
|
-
}
|
|
66605
|
-
function redactFormEncoded({ text }) {
|
|
66606
|
-
if (!text.includes("=") || !REDACTED_KEY_CANDIDATE_PATTERN.test(text)) {
|
|
66607
|
-
return void 0;
|
|
66608
|
-
}
|
|
66609
|
-
const params = new URLSearchParams(text);
|
|
66610
|
-
let hasRedactedParam = false;
|
|
66611
|
-
for (const key of new Set(params.keys())) {
|
|
66612
|
-
if (isRedactedKey({ key })) {
|
|
66613
|
-
params.set(key, REDACTED_VALUE);
|
|
66614
|
-
hasRedactedParam = true;
|
|
66615
|
-
}
|
|
66616
|
-
}
|
|
66617
|
-
return hasRedactedParam ? params.toString() : void 0;
|
|
66618
|
-
}
|
|
66619
|
-
function isRedactedKey({ key }) {
|
|
66620
|
-
const normalizedKey = key.toLowerCase().replace(/[_-]/g, "");
|
|
66621
|
-
return REDACTED_KEY_NAMES.has(normalizedKey) || REDACTED_KEY_SUFFIX_PATTERN.test(normalizedKey);
|
|
66622
|
-
}
|
|
66623
|
-
function isPlainObject2(value) {
|
|
66624
|
-
if (typeof value !== "object" || value === null) {
|
|
66625
|
-
return false;
|
|
66626
|
-
}
|
|
66627
|
-
const prototype = Object.getPrototypeOf(value);
|
|
66628
|
-
return prototype === Object.prototype || prototype === null;
|
|
66629
|
-
}
|
|
66630
|
-
|
|
66631
|
-
// ../hyperline-lib/build/httpClient/httpClient.js
|
|
66632
67077
|
import { AxiosError } from "axios";
|
|
66633
67078
|
var recommendedRetryConfig = {
|
|
66634
67079
|
retries: 3,
|
|
@@ -66696,14 +67141,14 @@ function isTooManyRequestsError(error48) {
|
|
|
66696
67141
|
return error48.response?.status === 429;
|
|
66697
67142
|
}
|
|
66698
67143
|
var toLogRequest = (config4) => {
|
|
66699
|
-
const url2 =
|
|
67144
|
+
const url2 = config4.url ?? "";
|
|
66700
67145
|
return {
|
|
66701
67146
|
method: config4.method ?? "",
|
|
66702
67147
|
url: url2,
|
|
66703
67148
|
path: url2,
|
|
66704
67149
|
hostname: config4.baseURL ?? "",
|
|
66705
67150
|
originalUrl: `${config4.baseURL ?? ""}${url2}`,
|
|
66706
|
-
body:
|
|
67151
|
+
body: config4.data,
|
|
66707
67152
|
headers: {}
|
|
66708
67153
|
};
|
|
66709
67154
|
};
|
|
@@ -66723,9 +67168,13 @@ import multer2 from "multer";
|
|
|
66723
67168
|
// ../hyperline-lib/build/httpRouter/file.js
|
|
66724
67169
|
import helmet from "helmet";
|
|
66725
67170
|
|
|
66726
|
-
// ../hyperline-lib/build/publicApi/auth/
|
|
67171
|
+
// ../hyperline-lib/build/publicApi/auth/apiKey.js
|
|
66727
67172
|
import { randomBytes as randomBytes2, scryptSync } from "node:crypto";
|
|
66728
67173
|
|
|
67174
|
+
// ../hyperline-lib/build/publicApi/auth/apiKeyHashCache.js
|
|
67175
|
+
import { createHash as createHash4 } from "node:crypto";
|
|
67176
|
+
var TTL_MS = 5 * 6e4;
|
|
67177
|
+
|
|
66729
67178
|
// ../hyperline-mcp/build/requestBuilder.js
|
|
66730
67179
|
function buildRequestConfig(path2, args, method, queryParamKeys = []) {
|
|
66731
67180
|
const { url: url2, usedKeys } = replacePathParams(path2, args);
|