@hyperline/cli 0.1.0-build.1.6c88049 → 0.1.0-build.1.6cb0510
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 +1570 -689
- package/package.json +2 -2
|
@@ -34985,10 +34985,10 @@ var require_shared = __commonJS({
|
|
|
34985
34985
|
ZodId: () => ZodId,
|
|
34986
34986
|
ZodTranslationsSchemaFn: () => ZodTranslationsSchemaFn
|
|
34987
34987
|
});
|
|
34988
|
-
var
|
|
34988
|
+
var import_zod24 = require_lib();
|
|
34989
34989
|
var countryIds2 = ["all", ...countries.map(({ id }) => id)];
|
|
34990
|
-
var ZodId =
|
|
34991
|
-
var ZodTranslationsSchemaFn = (schema) =>
|
|
34990
|
+
var ZodId = import_zod24.z.enum(countryIds2);
|
|
34991
|
+
var ZodTranslationsSchemaFn = (schema) => import_zod24.z.record(import_zod24.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_zod25 = require_lib();
|
|
36291
|
+
var ZodCurrencyId = import_zod25.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_zod25.z.string().or(import_zod25.z.number().transform((number4) => number4)).transform((number4) => number4);
|
|
36295
|
+
var ZodNumberCurrencyPositiveValue = import_zod25.z.number().min(0).transform((number4) => number4).transform((number4) => number4);
|
|
36296
|
+
var ZodNumberCurrencyPositiveValueExcludingZero = import_zod25.z.number().gt(0).transform((number4) => number4).transform((number4) => number4);
|
|
36297
|
+
var ZodCurrencyMap = import_zod25.z.record(ZodNumberCurrency).refine(
|
|
36298
36298
|
(data) => Object.keys(data).every((key) => ZodCurrencyId.safeParse(key).success),
|
|
36299
36299
|
{
|
|
36300
36300
|
message: "Invalid currency key.",
|
|
@@ -38165,7 +38165,7 @@ Examples:
|
|
|
38165
38165
|
// build/commands/generated/accounting-journal-entries.js
|
|
38166
38166
|
function registerAccounting_Journal_EntriesCommands(parent) {
|
|
38167
38167
|
const resource = parent.command("accounting-journal-entries").description("Manage accounting > journal entries");
|
|
38168
|
-
resource.command("list-journal-entries").description(`List accounting journal entries with optional filters.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--entry-number <value>", `Filter by journal entry number.`).option("--status <value>", `Filter by journal entry status.`).option("--origin <value>", `Filter by automatic or manual origin.`).option("--ledger-id <value>", `Filter by ledger identifier.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).option("--invoice-id <value>", `Filter by invoice identifier.`).option("--customer-id <value>", `Filter by customer identifier.`).option("--subscription-id <value>", `Filter by subscription identifier.`).option("--transaction-id <value>", `Filter by transaction identifier.`).option("--ledger-account-id <value>", `Filter entries containing a ledger account.`).option("--rule-id <value>", `Filter entries containing an accounting rule.`).option("--search <value>", `Search entry number, description, customer, or
|
|
38168
|
+
resource.command("list-journal-entries").description(`List accounting journal entries with optional filters.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--entry-number <value>", `Filter by journal entry number.`).option("--status <value>", `Filter by journal entry status.`).option("--origin <value>", `Filter by automatic or manual origin.`).option("--ledger-id <value>", `Filter by ledger identifier.`).option("--invoicing-entity-id <value>", `Filter by invoicing entity identifier.`).option("--invoice-id <value>", `Filter by invoice identifier.`).option("--customer-id <value>", `Filter by customer identifier.`).option("--subscription-id <value>", `Filter by subscription identifier.`).option("--transaction-id <value>", `Filter by transaction identifier.`).option("--ledger-account-id <value>", `Filter entries containing a ledger account.`).option("--rule-id <value>", `Filter entries containing an accounting rule.`).option("--search <value>", `Search entry number, description, amount, invoice number or ID, customer name or ID, or subscription ID.`).option("--year <number>", `Filter by entry year.`).option("--quarter <number>", `Filter by entry quarter.`).addHelpText("after", `
|
|
38169
38169
|
Examples:
|
|
38170
38170
|
hyperline accounting-journal-entries list-journal-entries
|
|
38171
38171
|
hyperline accounting-journal-entries list-journal-entries --take <take> --entry-number <entry_number>`).action(async (opts) => {
|
|
@@ -38409,9 +38409,10 @@ Examples:
|
|
|
38409
38409
|
queryParamKeys: ["invoicing_entity_id"]
|
|
38410
38410
|
});
|
|
38411
38411
|
});
|
|
38412
|
-
resource.command("create-ledger").description(`Create an accounting ledger for an invoicing entity.`).requiredOption("--invoicing-entity-id <value>", `Identifier of the invoicing entity that owns the ledger.`).requiredOption("--name <value>", `Display name of the ledger.`).requiredOption("--code <value>", `Optional accounting code of the ledger.`).requiredOption("--description <value>", `Optional description of the ledger.`).requiredOption("--type <value>", `Type of ledger.`).requiredOption("--currency <value>", `ISO 4217 currency used by the ledger.`).requiredOption("--entry-number-pattern <value>", `Entry numbering pattern containing \`{number}\`.`).requiredOption("--is-primary", `Whether this is the primary ledger for the invoicing entity.`).requiredOption("--is-inactive", `Whether the ledger is inactive.`).addHelpText("after", `
|
|
38412
|
+
resource.command("create-ledger").description(`Create an accounting ledger for an invoicing entity.`).requiredOption("--invoicing-entity-id <value>", `Identifier of the invoicing entity that owns the ledger.`).requiredOption("--name <value>", `Display name of the ledger.`).requiredOption("--code <value>", `Optional accounting code of the ledger.`).requiredOption("--description <value>", `Optional description of the ledger.`).requiredOption("--type <value>", `Type of ledger.`).requiredOption("--currency <value>", `ISO 4217 currency used by the ledger.`).option("--fiscal-year-end-month <number>", `Last month of the ledger's fiscal year, from 1 (January) to 12 (December). Reports split profit between past fiscal years and the current one from it. Defaults to 12. It cannot be changed after creation.`).requiredOption("--entry-number-pattern <value>", `Entry numbering pattern containing \`{number}\`.`).requiredOption("--is-primary", `Whether this is the primary ledger for the invoicing entity.`).requiredOption("--is-inactive", `Whether the ledger is inactive.`).addHelpText("after", `
|
|
38413
38413
|
Examples:
|
|
38414
38414
|
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive
|
|
38415
|
+
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive --fiscal-year-end-month <fiscal_year_end_month>
|
|
38415
38416
|
hyperline accounting-ledgers create-ledger --invoicing-entity-id <invoicing_entity_id> --name <name> --code <code> --description <description> --type <type> --currency <currency> --entry-number-pattern <entry_number_pattern> --is-primary --is-inactive --output json`).action(async (opts) => {
|
|
38416
38417
|
const ctx = resource.parent?.opts()._ctx;
|
|
38417
38418
|
if (!ctx) {
|
|
@@ -38433,6 +38434,8 @@ Examples:
|
|
|
38433
38434
|
args.currency = opts.currency;
|
|
38434
38435
|
if (opts.entryNumberPattern !== void 0)
|
|
38435
38436
|
args.entry_number_pattern = opts.entryNumberPattern;
|
|
38437
|
+
if (opts.fiscalYearEndMonth !== void 0)
|
|
38438
|
+
args.fiscal_year_end_month = Number(opts.fiscalYearEndMonth);
|
|
38436
38439
|
if (opts.isPrimary !== void 0)
|
|
38437
38440
|
args.is_primary = true;
|
|
38438
38441
|
if (opts.isInactive !== void 0)
|
|
@@ -38504,6 +38507,94 @@ Examples:
|
|
|
38504
38507
|
queryParamKeys: []
|
|
38505
38508
|
});
|
|
38506
38509
|
});
|
|
38510
|
+
resource.command("get-ledger-close-state").description(`Retrieve the last closed month of a ledger and the latest month that can be closed.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
38511
|
+
Examples:
|
|
38512
|
+
hyperline accounting-ledgers get-ledger-close-state --id <id>`).action(async (opts) => {
|
|
38513
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38514
|
+
if (!ctx) {
|
|
38515
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38516
|
+
process.exit(1);
|
|
38517
|
+
}
|
|
38518
|
+
const args = {};
|
|
38519
|
+
if (opts.id !== void 0)
|
|
38520
|
+
args.id = opts.id;
|
|
38521
|
+
await ctx.execute({
|
|
38522
|
+
method: "GET",
|
|
38523
|
+
path: "/v1/accounting/ledgers/{id}/close",
|
|
38524
|
+
args,
|
|
38525
|
+
queryParamKeys: []
|
|
38526
|
+
});
|
|
38527
|
+
});
|
|
38528
|
+
resource.command("list-ledger-close-events").description(`List the closes and reopens of a ledger, newest first, with who did them and why.`).requiredOption("--id <value>", `id parameter`).option("--take <number>", `take`).option("--skip <number>", `skip`).addHelpText("after", `
|
|
38529
|
+
Examples:
|
|
38530
|
+
hyperline accounting-ledgers list-ledger-close-events --id <id>
|
|
38531
|
+
hyperline accounting-ledgers list-ledger-close-events --id <id> --take <take>`).action(async (opts) => {
|
|
38532
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38533
|
+
if (!ctx) {
|
|
38534
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38535
|
+
process.exit(1);
|
|
38536
|
+
}
|
|
38537
|
+
const args = {};
|
|
38538
|
+
if (opts.id !== void 0)
|
|
38539
|
+
args.id = opts.id;
|
|
38540
|
+
if (opts.take !== void 0)
|
|
38541
|
+
args.take = Number(opts.take);
|
|
38542
|
+
if (opts.skip !== void 0)
|
|
38543
|
+
args.skip = Number(opts.skip);
|
|
38544
|
+
await ctx.execute({
|
|
38545
|
+
method: "GET",
|
|
38546
|
+
path: "/v1/accounting/ledgers/{id}/close-events",
|
|
38547
|
+
args,
|
|
38548
|
+
queryParamKeys: ["take", "skip"]
|
|
38549
|
+
});
|
|
38550
|
+
});
|
|
38551
|
+
resource.command("close-ledger-period").description(`Close every month of a ledger through an ended month, after posting the revenue recognition due by its end; a user token needs the accounting_close permission.`).requiredOption("--id <value>", `id parameter`).requiredOption("--through-month <value>", `Last month to close, formatted YYYY-MM: an ended month after the last closed month. Every earlier month is closed too.`).option("--reason <value>", `Why the months are closed, 1 to 500 characters.`).addHelpText("after", `
|
|
38552
|
+
Examples:
|
|
38553
|
+
hyperline accounting-ledgers close-ledger-period --id <id> --through-month <through_month>
|
|
38554
|
+
hyperline accounting-ledgers close-ledger-period --id <id> --through-month <through_month> --reason <reason>
|
|
38555
|
+
hyperline accounting-ledgers close-ledger-period --id <id> --through-month <through_month> --output json`).action(async (opts) => {
|
|
38556
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38557
|
+
if (!ctx) {
|
|
38558
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38559
|
+
process.exit(1);
|
|
38560
|
+
}
|
|
38561
|
+
const args = {};
|
|
38562
|
+
if (opts.id !== void 0)
|
|
38563
|
+
args.id = opts.id;
|
|
38564
|
+
if (opts.throughMonth !== void 0)
|
|
38565
|
+
args.through_month = opts.throughMonth;
|
|
38566
|
+
if (opts.reason !== void 0)
|
|
38567
|
+
args.reason = opts.reason;
|
|
38568
|
+
await ctx.execute({
|
|
38569
|
+
method: "POST",
|
|
38570
|
+
path: "/v1/accounting/ledgers/{id}/close",
|
|
38571
|
+
args,
|
|
38572
|
+
queryParamKeys: []
|
|
38573
|
+
});
|
|
38574
|
+
});
|
|
38575
|
+
resource.command("reopen-ledger-period").description(`Reopen a closed month of a ledger and every later month, with a mandatory reason; a user token needs the accounting_close permission.`).requiredOption("--id <value>", `id parameter`).requiredOption("--from-month <value>", `First month to reopen, formatted YYYY-MM: a closed month. Every later month is reopened too.`).requiredOption("--reason <value>", `Why the months are reopened, 1 to 500 characters.`).addHelpText("after", `
|
|
38576
|
+
Examples:
|
|
38577
|
+
hyperline accounting-ledgers reopen-ledger-period --id <id> --from-month <from_month> --reason <reason>
|
|
38578
|
+
hyperline accounting-ledgers reopen-ledger-period --id <id> --from-month <from_month> --reason <reason> --output json`).action(async (opts) => {
|
|
38579
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
38580
|
+
if (!ctx) {
|
|
38581
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
38582
|
+
process.exit(1);
|
|
38583
|
+
}
|
|
38584
|
+
const args = {};
|
|
38585
|
+
if (opts.id !== void 0)
|
|
38586
|
+
args.id = opts.id;
|
|
38587
|
+
if (opts.fromMonth !== void 0)
|
|
38588
|
+
args.from_month = opts.fromMonth;
|
|
38589
|
+
if (opts.reason !== void 0)
|
|
38590
|
+
args.reason = opts.reason;
|
|
38591
|
+
await ctx.execute({
|
|
38592
|
+
method: "POST",
|
|
38593
|
+
path: "/v1/accounting/ledgers/{id}/reopen",
|
|
38594
|
+
args,
|
|
38595
|
+
queryParamKeys: []
|
|
38596
|
+
});
|
|
38597
|
+
});
|
|
38507
38598
|
}
|
|
38508
38599
|
|
|
38509
38600
|
// build/commands/generated/accounting-reports.js
|
|
@@ -38864,7 +38955,7 @@ Examples:
|
|
|
38864
38955
|
// build/commands/generated/accounting-rules.js
|
|
38865
38956
|
function registerAccounting_RulesCommands(parent) {
|
|
38866
38957
|
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.
|
|
38958
|
+
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
38959
|
Examples:
|
|
38869
38960
|
hyperline accounting-rules list
|
|
38870
38961
|
hyperline accounting-rules list --take <take> --ledger-id <ledger_id>`).action(async (opts) => {
|
|
@@ -38878,10 +38969,6 @@ Examples:
|
|
|
38878
38969
|
args.ledger_id = opts.ledgerId;
|
|
38879
38970
|
if (opts["ledgerId.not"] !== void 0)
|
|
38880
38971
|
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
38972
|
if (opts["ledgerId.equals"] !== void 0)
|
|
38886
38973
|
args.ledger_id__equals = opts["ledgerId.equals"];
|
|
38887
38974
|
if (opts["ledgerId.contains"] !== void 0)
|
|
@@ -38894,10 +38981,6 @@ Examples:
|
|
|
38894
38981
|
args.category = opts.category;
|
|
38895
38982
|
if (opts["category.not"] !== void 0)
|
|
38896
38983
|
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
38984
|
if (opts["category.equals"] !== void 0)
|
|
38902
38985
|
args.category__equals = opts["category.equals"];
|
|
38903
38986
|
if (opts["category.contains"] !== void 0)
|
|
@@ -38919,16 +39002,12 @@ Examples:
|
|
|
38919
39002
|
"skip",
|
|
38920
39003
|
"ledger_id",
|
|
38921
39004
|
"ledger_id__not",
|
|
38922
|
-
"ledger_id__isNull",
|
|
38923
|
-
"ledger_id__isNotNull",
|
|
38924
39005
|
"ledger_id__equals",
|
|
38925
39006
|
"ledger_id__contains",
|
|
38926
39007
|
"ledger_id__startsWith",
|
|
38927
39008
|
"ledger_id__endWith",
|
|
38928
39009
|
"category",
|
|
38929
39010
|
"category__not",
|
|
38930
|
-
"category__isNull",
|
|
38931
|
-
"category__isNotNull",
|
|
38932
39011
|
"category__equals",
|
|
38933
39012
|
"category__contains",
|
|
38934
39013
|
"category__startsWith",
|
|
@@ -39008,7 +39087,7 @@ Examples:
|
|
|
39008
39087
|
queryParamKeys: []
|
|
39009
39088
|
});
|
|
39010
39089
|
});
|
|
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.
|
|
39090
|
+
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
39091
|
Examples:
|
|
39013
39092
|
hyperline accounting-rules create --category <category> --priority <priority>
|
|
39014
39093
|
hyperline accounting-rules create --category <category> --priority <priority> --ledger-id <ledger_id> --name <name>
|
|
@@ -39108,7 +39187,7 @@ Examples:
|
|
|
39108
39187
|
queryParamKeys: []
|
|
39109
39188
|
});
|
|
39110
39189
|
});
|
|
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.
|
|
39190
|
+
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
39191
|
Examples:
|
|
39113
39192
|
hyperline accounting-rules update --id <id>
|
|
39114
39193
|
hyperline accounting-rules update --id <id> --name <name> --category <category>
|
|
@@ -40508,7 +40587,7 @@ Examples:
|
|
|
40508
40587
|
// build/commands/generated/ai-monitoring.js
|
|
40509
40588
|
function registerAi_MonitoringCommands(parent) {
|
|
40510
40589
|
const resource = parent.command("ai-monitoring").description("Manage ai > monitoring");
|
|
40511
|
-
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", `
|
|
40590
|
+
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", `
|
|
40512
40591
|
Examples:
|
|
40513
40592
|
hyperline ai-monitoring list-monitoring-analyses
|
|
40514
40593
|
hyperline ai-monitoring list-monitoring-analyses --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -40524,6 +40603,8 @@ Examples:
|
|
|
40524
40603
|
args.include_total = opts.includeTotal;
|
|
40525
40604
|
if (opts.customerId !== void 0)
|
|
40526
40605
|
args.customer_id = opts.customerId;
|
|
40606
|
+
if (opts["customerId.in"] !== void 0)
|
|
40607
|
+
args.customer_id__in = opts["customerId.in"];
|
|
40527
40608
|
if (opts.status !== void 0)
|
|
40528
40609
|
args.status = opts.status;
|
|
40529
40610
|
if (opts["createdAt.gte"] !== void 0)
|
|
@@ -40541,6 +40622,7 @@ Examples:
|
|
|
40541
40622
|
"cursor",
|
|
40542
40623
|
"include_total",
|
|
40543
40624
|
"customer_id",
|
|
40625
|
+
"customer_id__in",
|
|
40544
40626
|
"status",
|
|
40545
40627
|
"created_at__gte",
|
|
40546
40628
|
"created_at__lte"
|
|
@@ -40591,6 +40673,52 @@ Examples:
|
|
|
40591
40673
|
});
|
|
40592
40674
|
}
|
|
40593
40675
|
|
|
40676
|
+
// build/commands/generated/approval-workflows.js
|
|
40677
|
+
function registerApproval_WorkflowsCommands(parent) {
|
|
40678
|
+
const resource = parent.command("approval-workflows").description("Manage approval workflows");
|
|
40679
|
+
resource.command("list").description(`List approval workflows with their steps and approvers. Those whose \`applicable_flows\` include \`workflow_step\` can be picked as the \`approvalWorkflowId\` of a workflow's Request approval step (\`hyperline.request_approval\`). Filter with \`is_active\`; paginated with take/skip.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--is-active <value>", `Only return workflows matching this active state.`).addHelpText("after", `
|
|
40680
|
+
Examples:
|
|
40681
|
+
hyperline approval-workflows list
|
|
40682
|
+
hyperline approval-workflows list --take <take> --is-active <is_active>`).action(async (opts) => {
|
|
40683
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40684
|
+
if (!ctx) {
|
|
40685
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40686
|
+
process.exit(1);
|
|
40687
|
+
}
|
|
40688
|
+
const args = {};
|
|
40689
|
+
if (opts.isActive !== void 0)
|
|
40690
|
+
args.is_active = opts.isActive;
|
|
40691
|
+
if (opts.take !== void 0)
|
|
40692
|
+
args.take = Number(opts.take);
|
|
40693
|
+
if (opts.skip !== void 0)
|
|
40694
|
+
args.skip = Number(opts.skip);
|
|
40695
|
+
await ctx.execute({
|
|
40696
|
+
method: "GET",
|
|
40697
|
+
path: "/v1/approvals/workflows",
|
|
40698
|
+
args,
|
|
40699
|
+
queryParamKeys: ["take", "skip", "is_active"]
|
|
40700
|
+
});
|
|
40701
|
+
});
|
|
40702
|
+
resource.command("get").description(`Retrieve a single approval workflow.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
40703
|
+
Examples:
|
|
40704
|
+
hyperline approval-workflows get --id <id>`).action(async (opts) => {
|
|
40705
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40706
|
+
if (!ctx) {
|
|
40707
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40708
|
+
process.exit(1);
|
|
40709
|
+
}
|
|
40710
|
+
const args = {};
|
|
40711
|
+
if (opts.id !== void 0)
|
|
40712
|
+
args.id = opts.id;
|
|
40713
|
+
await ctx.execute({
|
|
40714
|
+
method: "GET",
|
|
40715
|
+
path: "/v1/approvals/workflows/{id}",
|
|
40716
|
+
args,
|
|
40717
|
+
queryParamKeys: []
|
|
40718
|
+
});
|
|
40719
|
+
});
|
|
40720
|
+
}
|
|
40721
|
+
|
|
40594
40722
|
// build/commands/generated/bank-accounts.js
|
|
40595
40723
|
function registerBank_AccountsCommands(parent) {
|
|
40596
40724
|
const resource = parent.command("bank-accounts").description("Manage bank accounts");
|
|
@@ -40660,6 +40788,84 @@ Examples:
|
|
|
40660
40788
|
});
|
|
40661
40789
|
}
|
|
40662
40790
|
|
|
40791
|
+
// build/commands/generated/catalog.js
|
|
40792
|
+
function registerCatalogCommands(parent) {
|
|
40793
|
+
const resource = parent.command("catalog").description("Manage catalog");
|
|
40794
|
+
resource.command("list-catalog-versions").description(`List product catalog versions (pending draft and published history). Catalog versioning must be enabled for the organisation.`).addHelpText("after", `
|
|
40795
|
+
Examples:
|
|
40796
|
+
hyperline catalog list-catalog-versions`).action(async (_opts) => {
|
|
40797
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40798
|
+
if (!ctx) {
|
|
40799
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40800
|
+
process.exit(1);
|
|
40801
|
+
}
|
|
40802
|
+
const args = {};
|
|
40803
|
+
await ctx.execute({
|
|
40804
|
+
method: "GET",
|
|
40805
|
+
path: "/v1/catalog/versions",
|
|
40806
|
+
args,
|
|
40807
|
+
queryParamKeys: []
|
|
40808
|
+
});
|
|
40809
|
+
});
|
|
40810
|
+
resource.command("get-catalog-draft").description(`Get the pending product catalog draft (null when there is none).`).addHelpText("after", `
|
|
40811
|
+
Examples:
|
|
40812
|
+
hyperline catalog get-catalog-draft`).action(async (_opts) => {
|
|
40813
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40814
|
+
if (!ctx) {
|
|
40815
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40816
|
+
process.exit(1);
|
|
40817
|
+
}
|
|
40818
|
+
const args = {};
|
|
40819
|
+
await ctx.execute({
|
|
40820
|
+
method: "GET",
|
|
40821
|
+
path: "/v1/catalog/versions/draft",
|
|
40822
|
+
args,
|
|
40823
|
+
queryParamKeys: []
|
|
40824
|
+
});
|
|
40825
|
+
});
|
|
40826
|
+
resource.command("publish-catalog-draft").description(`Publish the pending product catalog draft: its changes become the live catalog.`).addHelpText("after", `
|
|
40827
|
+
Examples:
|
|
40828
|
+
hyperline catalog publish-catalog-draft
|
|
40829
|
+
hyperline catalog publish-catalog-draft --output json`).action(async (_opts) => {
|
|
40830
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40831
|
+
if (!ctx) {
|
|
40832
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40833
|
+
process.exit(1);
|
|
40834
|
+
}
|
|
40835
|
+
const args = {};
|
|
40836
|
+
await ctx.execute({
|
|
40837
|
+
method: "POST",
|
|
40838
|
+
path: "/v1/catalog/versions/draft/publish",
|
|
40839
|
+
args,
|
|
40840
|
+
queryParamKeys: []
|
|
40841
|
+
});
|
|
40842
|
+
});
|
|
40843
|
+
resource.command("discard-catalog-draft").description(`Discard the pending product catalog draft without publishing it.`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
40844
|
+
Examples:
|
|
40845
|
+
hyperline catalog discard-catalog-draft
|
|
40846
|
+
hyperline catalog discard-catalog-draft --output json`).action(async (opts) => {
|
|
40847
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40848
|
+
if (!ctx) {
|
|
40849
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40850
|
+
process.exit(1);
|
|
40851
|
+
}
|
|
40852
|
+
const args = {};
|
|
40853
|
+
if (!opts.yes) {
|
|
40854
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
40855
|
+
if (!confirmed) {
|
|
40856
|
+
process.stdout.write("Aborted.\n");
|
|
40857
|
+
return;
|
|
40858
|
+
}
|
|
40859
|
+
}
|
|
40860
|
+
await ctx.execute({
|
|
40861
|
+
method: "DELETE",
|
|
40862
|
+
path: "/v1/catalog/versions/draft",
|
|
40863
|
+
args,
|
|
40864
|
+
queryParamKeys: []
|
|
40865
|
+
});
|
|
40866
|
+
});
|
|
40867
|
+
}
|
|
40868
|
+
|
|
40663
40869
|
// build/commands/generated/companies.js
|
|
40664
40870
|
function registerCompaniesCommands(parent) {
|
|
40665
40871
|
const resource = parent.command("companies").description("Manage companies");
|
|
@@ -40726,7 +40932,7 @@ Examples:
|
|
|
40726
40932
|
queryParamKeys: ["take", "skip"]
|
|
40727
40933
|
});
|
|
40728
40934
|
});
|
|
40729
|
-
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>", `
|
|
40935
|
+
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", `
|
|
40730
40936
|
Examples:
|
|
40731
40937
|
hyperline coupons create --name <name> --type <type>
|
|
40732
40938
|
hyperline coupons create --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -40743,6 +40949,8 @@ Examples:
|
|
|
40743
40949
|
args.description = opts.description;
|
|
40744
40950
|
if (opts.expirationDate !== void 0)
|
|
40745
40951
|
args.expiration_date = opts.expirationDate;
|
|
40952
|
+
if (opts.productScope !== void 0)
|
|
40953
|
+
args.product_scope = opts.productScope;
|
|
40746
40954
|
if (opts.repeat !== void 0)
|
|
40747
40955
|
args.repeat = opts.repeat;
|
|
40748
40956
|
if (opts.type !== void 0)
|
|
@@ -40786,7 +40994,7 @@ Examples:
|
|
|
40786
40994
|
queryParamKeys: []
|
|
40787
40995
|
});
|
|
40788
40996
|
});
|
|
40789
|
-
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>", `
|
|
40997
|
+
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", `
|
|
40790
40998
|
Examples:
|
|
40791
40999
|
hyperline coupons update --id <id> --name <name> --type <type>
|
|
40792
41000
|
hyperline coupons update --id <id> --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -40805,6 +41013,8 @@ Examples:
|
|
|
40805
41013
|
args.description = opts.description;
|
|
40806
41014
|
if (opts.expirationDate !== void 0)
|
|
40807
41015
|
args.expiration_date = opts.expirationDate;
|
|
41016
|
+
if (opts.productScope !== void 0)
|
|
41017
|
+
args.product_scope = opts.productScope;
|
|
40808
41018
|
if (opts.repeat !== void 0)
|
|
40809
41019
|
args.repeat = opts.repeat;
|
|
40810
41020
|
if (opts.type !== void 0)
|
|
@@ -40861,7 +41071,7 @@ Examples:
|
|
|
40861
41071
|
// build/commands/generated/coupons-promotion-codes.js
|
|
40862
41072
|
function registerCoupons_Promotion_CodesCommands(parent) {
|
|
40863
41073
|
const resource = parent.command("coupons-promotion-codes").description("Manage coupons > promotion codes");
|
|
40864
|
-
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.
|
|
41074
|
+
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", `
|
|
40865
41075
|
Examples:
|
|
40866
41076
|
hyperline coupons-promotion-codes list-promotion-codes
|
|
40867
41077
|
hyperline coupons-promotion-codes list-promotion-codes --take <take> --coupon-id <coupon_id>`).action(async (opts) => {
|
|
@@ -40875,10 +41085,6 @@ Examples:
|
|
|
40875
41085
|
args.coupon_id = opts.couponId;
|
|
40876
41086
|
if (opts["couponId.not"] !== void 0)
|
|
40877
41087
|
args.coupon_id__not = opts["couponId.not"];
|
|
40878
|
-
if (opts["couponId.isNull"] !== void 0)
|
|
40879
|
-
args.coupon_id__isNull = opts["couponId.isNull"];
|
|
40880
|
-
if (opts["couponId.isNotNull"] !== void 0)
|
|
40881
|
-
args.coupon_id__isNotNull = opts["couponId.isNotNull"];
|
|
40882
41088
|
if (opts["couponId.equals"] !== void 0)
|
|
40883
41089
|
args.coupon_id__equals = opts["couponId.equals"];
|
|
40884
41090
|
if (opts["couponId.contains"] !== void 0)
|
|
@@ -40900,8 +41106,6 @@ Examples:
|
|
|
40900
41106
|
"skip",
|
|
40901
41107
|
"coupon_id",
|
|
40902
41108
|
"coupon_id__not",
|
|
40903
|
-
"coupon_id__isNull",
|
|
40904
|
-
"coupon_id__isNotNull",
|
|
40905
41109
|
"coupon_id__equals",
|
|
40906
41110
|
"coupon_id__contains",
|
|
40907
41111
|
"coupon_id__startsWith",
|
|
@@ -41155,7 +41359,15 @@ Examples:
|
|
|
41155
41359
|
// build/commands/generated/customers.js
|
|
41156
41360
|
function registerCustomersCommands(parent) {
|
|
41157
41361
|
const resource = parent.command("customers").description("Manage customers");
|
|
41158
|
-
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("--
|
|
41362
|
+
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 (JSON object of slug to exact value, e.g. {"my_slug":"value"}; slugs matching no custom property are ignored), 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>", `
|
|
41363
|
+
Verification status of the customer tax ID.
|
|
41364
|
+
|
|
41365
|
+
- \`valid\`: Tax ID has been verified and is valid.
|
|
41366
|
+
- \`invalid\`: Tax ID has been verified and is invalid.
|
|
41367
|
+
- \`mismatch\`: Tax ID is valid but is for a different country than the customer's country.
|
|
41368
|
+
- \`unverified\`: Tax ID has not been verified yet.
|
|
41369
|
+
- \`unsupported\`: Tax ID verification for this type not supported yet.
|
|
41370
|
+
`).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>", `Filter by custom property values, as a JSON object mapping a custom property slug to the exact value to match. Suffix a slug with \`__contains\` for a case-sensitive substring match on text values. Several entries are combined with AND. Entries whose slug matches no custom property, or whose value is \`false\`, \`0\`, \`null\` or an empty string, are ignored.`).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", `
|
|
41159
41371
|
Examples:
|
|
41160
41372
|
hyperline customers list
|
|
41161
41373
|
hyperline customers list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -41173,14 +41385,12 @@ Examples:
|
|
|
41173
41385
|
args.order = opts.order;
|
|
41174
41386
|
if (opts.sort !== void 0)
|
|
41175
41387
|
args.sort = opts.sort;
|
|
41388
|
+
if (opts.taxIdStatus !== void 0)
|
|
41389
|
+
args.tax_id_status = opts.taxIdStatus;
|
|
41176
41390
|
if (opts.name !== void 0)
|
|
41177
41391
|
args.name = opts.name;
|
|
41178
41392
|
if (opts["name.not"] !== void 0)
|
|
41179
41393
|
args.name__not = opts["name.not"];
|
|
41180
|
-
if (opts["name.isNull"] !== void 0)
|
|
41181
|
-
args.name__isNull = opts["name.isNull"];
|
|
41182
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
41183
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
41184
41394
|
if (opts["name.equals"] !== void 0)
|
|
41185
41395
|
args.name__equals = opts["name.equals"];
|
|
41186
41396
|
if (opts["name.contains"] !== void 0)
|
|
@@ -41201,10 +41411,6 @@ Examples:
|
|
|
41201
41411
|
args.currency = opts.currency;
|
|
41202
41412
|
if (opts["currency.not"] !== void 0)
|
|
41203
41413
|
args.currency__not = opts["currency.not"];
|
|
41204
|
-
if (opts["currency.isNull"] !== void 0)
|
|
41205
|
-
args.currency__isNull = opts["currency.isNull"];
|
|
41206
|
-
if (opts["currency.isNotNull"] !== void 0)
|
|
41207
|
-
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
41208
41414
|
if (opts["currency.equals"] !== void 0)
|
|
41209
41415
|
args.currency__equals = opts["currency.equals"];
|
|
41210
41416
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -41213,14 +41419,14 @@ Examples:
|
|
|
41213
41419
|
args.currency__startsWith = opts["currency.startsWith"];
|
|
41214
41420
|
if (opts["currency.endWith"] !== void 0)
|
|
41215
41421
|
args.currency__endWith = opts["currency.endWith"];
|
|
41422
|
+
if (opts["currency.isNull"] !== void 0)
|
|
41423
|
+
args.currency__isNull = opts["currency.isNull"];
|
|
41424
|
+
if (opts["currency.isNotNull"] !== void 0)
|
|
41425
|
+
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
41216
41426
|
if (opts.country !== void 0)
|
|
41217
41427
|
args.country = opts.country;
|
|
41218
41428
|
if (opts["country.not"] !== void 0)
|
|
41219
41429
|
args.country__not = opts["country.not"];
|
|
41220
|
-
if (opts["country.isNull"] !== void 0)
|
|
41221
|
-
args.country__isNull = opts["country.isNull"];
|
|
41222
|
-
if (opts["country.isNotNull"] !== void 0)
|
|
41223
|
-
args.country__isNotNull = opts["country.isNotNull"];
|
|
41224
41430
|
if (opts["country.equals"] !== void 0)
|
|
41225
41431
|
args.country__equals = opts["country.equals"];
|
|
41226
41432
|
if (opts["country.contains"] !== void 0)
|
|
@@ -41229,14 +41435,14 @@ Examples:
|
|
|
41229
41435
|
args.country__startsWith = opts["country.startsWith"];
|
|
41230
41436
|
if (opts["country.endWith"] !== void 0)
|
|
41231
41437
|
args.country__endWith = opts["country.endWith"];
|
|
41438
|
+
if (opts["country.isNull"] !== void 0)
|
|
41439
|
+
args.country__isNull = opts["country.isNull"];
|
|
41440
|
+
if (opts["country.isNotNull"] !== void 0)
|
|
41441
|
+
args.country__isNotNull = opts["country.isNotNull"];
|
|
41232
41442
|
if (opts.externalId !== void 0)
|
|
41233
41443
|
args.external_id = opts.externalId;
|
|
41234
41444
|
if (opts["externalId.not"] !== void 0)
|
|
41235
41445
|
args.external_id__not = opts["externalId.not"];
|
|
41236
|
-
if (opts["externalId.isNull"] !== void 0)
|
|
41237
|
-
args.external_id__isNull = opts["externalId.isNull"];
|
|
41238
|
-
if (opts["externalId.isNotNull"] !== void 0)
|
|
41239
|
-
args.external_id__isNotNull = opts["externalId.isNotNull"];
|
|
41240
41446
|
if (opts["externalId.equals"] !== void 0)
|
|
41241
41447
|
args.external_id__equals = opts["externalId.equals"];
|
|
41242
41448
|
if (opts["externalId.contains"] !== void 0)
|
|
@@ -41245,14 +41451,14 @@ Examples:
|
|
|
41245
41451
|
args.external_id__startsWith = opts["externalId.startsWith"];
|
|
41246
41452
|
if (opts["externalId.endWith"] !== void 0)
|
|
41247
41453
|
args.external_id__endWith = opts["externalId.endWith"];
|
|
41454
|
+
if (opts["externalId.isNull"] !== void 0)
|
|
41455
|
+
args.external_id__isNull = opts["externalId.isNull"];
|
|
41456
|
+
if (opts["externalId.isNotNull"] !== void 0)
|
|
41457
|
+
args.external_id__isNotNull = opts["externalId.isNotNull"];
|
|
41248
41458
|
if (opts.billingEmail !== void 0)
|
|
41249
41459
|
args.billing_email = opts.billingEmail;
|
|
41250
41460
|
if (opts["billingEmail.not"] !== void 0)
|
|
41251
41461
|
args.billing_email__not = opts["billingEmail.not"];
|
|
41252
|
-
if (opts["billingEmail.isNull"] !== void 0)
|
|
41253
|
-
args.billing_email__isNull = opts["billingEmail.isNull"];
|
|
41254
|
-
if (opts["billingEmail.isNotNull"] !== void 0)
|
|
41255
|
-
args.billing_email__isNotNull = opts["billingEmail.isNotNull"];
|
|
41256
41462
|
if (opts["billingEmail.equals"] !== void 0)
|
|
41257
41463
|
args.billing_email__equals = opts["billingEmail.equals"];
|
|
41258
41464
|
if (opts["billingEmail.contains"] !== void 0)
|
|
@@ -41261,16 +41467,16 @@ Examples:
|
|
|
41261
41467
|
args.billing_email__startsWith = opts["billingEmail.startsWith"];
|
|
41262
41468
|
if (opts["billingEmail.endWith"] !== void 0)
|
|
41263
41469
|
args.billing_email__endWith = opts["billingEmail.endWith"];
|
|
41470
|
+
if (opts["billingEmail.isNull"] !== void 0)
|
|
41471
|
+
args.billing_email__isNull = opts["billingEmail.isNull"];
|
|
41472
|
+
if (opts["billingEmail.isNotNull"] !== void 0)
|
|
41473
|
+
args.billing_email__isNotNull = opts["billingEmail.isNotNull"];
|
|
41264
41474
|
if (opts.search !== void 0)
|
|
41265
41475
|
args.search = opts.search;
|
|
41266
41476
|
if (opts.taxId !== void 0)
|
|
41267
41477
|
args.tax_id = opts.taxId;
|
|
41268
41478
|
if (opts["taxId.not"] !== void 0)
|
|
41269
41479
|
args.tax_id__not = opts["taxId.not"];
|
|
41270
|
-
if (opts["taxId.isNull"] !== void 0)
|
|
41271
|
-
args.tax_id__isNull = opts["taxId.isNull"];
|
|
41272
|
-
if (opts["taxId.isNotNull"] !== void 0)
|
|
41273
|
-
args.tax_id__isNotNull = opts["taxId.isNotNull"];
|
|
41274
41480
|
if (opts["taxId.equals"] !== void 0)
|
|
41275
41481
|
args.tax_id__equals = opts["taxId.equals"];
|
|
41276
41482
|
if (opts["taxId.contains"] !== void 0)
|
|
@@ -41279,6 +41485,10 @@ Examples:
|
|
|
41279
41485
|
args.tax_id__startsWith = opts["taxId.startsWith"];
|
|
41280
41486
|
if (opts["taxId.endWith"] !== void 0)
|
|
41281
41487
|
args.tax_id__endWith = opts["taxId.endWith"];
|
|
41488
|
+
if (opts["taxId.isNull"] !== void 0)
|
|
41489
|
+
args.tax_id__isNull = opts["taxId.isNull"];
|
|
41490
|
+
if (opts["taxId.isNotNull"] !== void 0)
|
|
41491
|
+
args.tax_id__isNotNull = opts["taxId.isNotNull"];
|
|
41282
41492
|
if (opts.subscriptionStatus !== void 0)
|
|
41283
41493
|
args.subscription_status = opts.subscriptionStatus;
|
|
41284
41494
|
if (opts["subscriptionStatus.in"] !== void 0)
|
|
@@ -41287,10 +41497,6 @@ Examples:
|
|
|
41287
41497
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
41288
41498
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
41289
41499
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
41290
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
41291
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
41292
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
41293
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
41294
41500
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
41295
41501
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
41296
41502
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -41313,10 +41519,6 @@ Examples:
|
|
|
41313
41519
|
args.created_at = opts.createdAt;
|
|
41314
41520
|
if (opts["createdAt.not"] !== void 0)
|
|
41315
41521
|
args.created_at__not = opts["createdAt.not"];
|
|
41316
|
-
if (opts["createdAt.isNull"] !== void 0)
|
|
41317
|
-
args.created_at__isNull = opts["createdAt.isNull"];
|
|
41318
|
-
if (opts["createdAt.isNotNull"] !== void 0)
|
|
41319
|
-
args.created_at__isNotNull = opts["createdAt.isNotNull"];
|
|
41320
41522
|
if (opts["createdAt.equals"] !== void 0)
|
|
41321
41523
|
args.created_at__equals = opts["createdAt.equals"];
|
|
41322
41524
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -41331,10 +41533,6 @@ Examples:
|
|
|
41331
41533
|
args.updated_at = opts.updatedAt;
|
|
41332
41534
|
if (opts["updatedAt.not"] !== void 0)
|
|
41333
41535
|
args.updated_at__not = opts["updatedAt.not"];
|
|
41334
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
41335
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
41336
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
41337
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
41338
41536
|
if (opts["updatedAt.equals"] !== void 0)
|
|
41339
41537
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
41340
41538
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -41357,10 +41555,9 @@ Examples:
|
|
|
41357
41555
|
"include_total",
|
|
41358
41556
|
"order",
|
|
41359
41557
|
"sort",
|
|
41558
|
+
"tax_id_status",
|
|
41360
41559
|
"name",
|
|
41361
41560
|
"name__not",
|
|
41362
|
-
"name__isNull",
|
|
41363
|
-
"name__isNotNull",
|
|
41364
41561
|
"name__equals",
|
|
41365
41562
|
"name__contains",
|
|
41366
41563
|
"name__startsWith",
|
|
@@ -41371,51 +41568,49 @@ Examples:
|
|
|
41371
41568
|
"status__in",
|
|
41372
41569
|
"currency",
|
|
41373
41570
|
"currency__not",
|
|
41374
|
-
"currency__isNull",
|
|
41375
|
-
"currency__isNotNull",
|
|
41376
41571
|
"currency__equals",
|
|
41377
41572
|
"currency__contains",
|
|
41378
41573
|
"currency__startsWith",
|
|
41379
41574
|
"currency__endWith",
|
|
41575
|
+
"currency__isNull",
|
|
41576
|
+
"currency__isNotNull",
|
|
41380
41577
|
"country",
|
|
41381
41578
|
"country__not",
|
|
41382
|
-
"country__isNull",
|
|
41383
|
-
"country__isNotNull",
|
|
41384
41579
|
"country__equals",
|
|
41385
41580
|
"country__contains",
|
|
41386
41581
|
"country__startsWith",
|
|
41387
41582
|
"country__endWith",
|
|
41583
|
+
"country__isNull",
|
|
41584
|
+
"country__isNotNull",
|
|
41388
41585
|
"external_id",
|
|
41389
41586
|
"external_id__not",
|
|
41390
|
-
"external_id__isNull",
|
|
41391
|
-
"external_id__isNotNull",
|
|
41392
41587
|
"external_id__equals",
|
|
41393
41588
|
"external_id__contains",
|
|
41394
41589
|
"external_id__startsWith",
|
|
41395
41590
|
"external_id__endWith",
|
|
41591
|
+
"external_id__isNull",
|
|
41592
|
+
"external_id__isNotNull",
|
|
41396
41593
|
"billing_email",
|
|
41397
41594
|
"billing_email__not",
|
|
41398
|
-
"billing_email__isNull",
|
|
41399
|
-
"billing_email__isNotNull",
|
|
41400
41595
|
"billing_email__equals",
|
|
41401
41596
|
"billing_email__contains",
|
|
41402
41597
|
"billing_email__startsWith",
|
|
41403
41598
|
"billing_email__endWith",
|
|
41599
|
+
"billing_email__isNull",
|
|
41600
|
+
"billing_email__isNotNull",
|
|
41404
41601
|
"search",
|
|
41405
41602
|
"tax_id",
|
|
41406
41603
|
"tax_id__not",
|
|
41407
|
-
"tax_id__isNull",
|
|
41408
|
-
"tax_id__isNotNull",
|
|
41409
41604
|
"tax_id__equals",
|
|
41410
41605
|
"tax_id__contains",
|
|
41411
41606
|
"tax_id__startsWith",
|
|
41412
41607
|
"tax_id__endWith",
|
|
41608
|
+
"tax_id__isNull",
|
|
41609
|
+
"tax_id__isNotNull",
|
|
41413
41610
|
"subscription_status",
|
|
41414
41611
|
"subscription_status__in",
|
|
41415
41612
|
"invoicing_entity_id",
|
|
41416
41613
|
"invoicing_entity_id__not",
|
|
41417
|
-
"invoicing_entity_id__isNull",
|
|
41418
|
-
"invoicing_entity_id__isNotNull",
|
|
41419
41614
|
"invoicing_entity_id__equals",
|
|
41420
41615
|
"invoicing_entity_id__contains",
|
|
41421
41616
|
"invoicing_entity_id__startsWith",
|
|
@@ -41427,8 +41622,6 @@ Examples:
|
|
|
41427
41622
|
"integration_entity_id",
|
|
41428
41623
|
"created_at",
|
|
41429
41624
|
"created_at__not",
|
|
41430
|
-
"created_at__isNull",
|
|
41431
|
-
"created_at__isNotNull",
|
|
41432
41625
|
"created_at__equals",
|
|
41433
41626
|
"created_at__lt",
|
|
41434
41627
|
"created_at__lte",
|
|
@@ -41436,8 +41629,6 @@ Examples:
|
|
|
41436
41629
|
"created_at__gte",
|
|
41437
41630
|
"updated_at",
|
|
41438
41631
|
"updated_at__not",
|
|
41439
|
-
"updated_at__isNull",
|
|
41440
|
-
"updated_at__isNotNull",
|
|
41441
41632
|
"updated_at__equals",
|
|
41442
41633
|
"updated_at__lt",
|
|
41443
41634
|
"updated_at__lte",
|
|
@@ -42006,7 +42197,7 @@ Examples:
|
|
|
42006
42197
|
// build/commands/generated/customers-credits.js
|
|
42007
42198
|
function registerCustomers_CreditsCommands(parent) {
|
|
42008
42199
|
const resource = parent.command("customers-credits").description("Manage customers > credits");
|
|
42009
|
-
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.
|
|
42200
|
+
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", `
|
|
42010
42201
|
Examples:
|
|
42011
42202
|
hyperline customers-credits list
|
|
42012
42203
|
hyperline customers-credits list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -42020,10 +42211,6 @@ Examples:
|
|
|
42020
42211
|
args.product_id = opts.productId;
|
|
42021
42212
|
if (opts["productId.not"] !== void 0)
|
|
42022
42213
|
args.product_id__not = opts["productId.not"];
|
|
42023
|
-
if (opts["productId.isNull"] !== void 0)
|
|
42024
|
-
args.product_id__isNull = opts["productId.isNull"];
|
|
42025
|
-
if (opts["productId.isNotNull"] !== void 0)
|
|
42026
|
-
args.product_id__isNotNull = opts["productId.isNotNull"];
|
|
42027
42214
|
if (opts["productId.equals"] !== void 0)
|
|
42028
42215
|
args.product_id__equals = opts["productId.equals"];
|
|
42029
42216
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -42036,10 +42223,6 @@ Examples:
|
|
|
42036
42223
|
args.customer_id = opts.customerId;
|
|
42037
42224
|
if (opts["customerId.not"] !== void 0)
|
|
42038
42225
|
args.customer_id__not = opts["customerId.not"];
|
|
42039
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42040
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42041
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42042
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42043
42226
|
if (opts["customerId.equals"] !== void 0)
|
|
42044
42227
|
args.customer_id__equals = opts["customerId.equals"];
|
|
42045
42228
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -42052,10 +42235,6 @@ Examples:
|
|
|
42052
42235
|
args.updated_at = opts.updatedAt;
|
|
42053
42236
|
if (opts["updatedAt.not"] !== void 0)
|
|
42054
42237
|
args.updated_at__not = opts["updatedAt.not"];
|
|
42055
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
42056
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
42057
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
42058
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
42059
42238
|
if (opts["updatedAt.equals"] !== void 0)
|
|
42060
42239
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
42061
42240
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -42079,24 +42258,18 @@ Examples:
|
|
|
42079
42258
|
"skip",
|
|
42080
42259
|
"product_id",
|
|
42081
42260
|
"product_id__not",
|
|
42082
|
-
"product_id__isNull",
|
|
42083
|
-
"product_id__isNotNull",
|
|
42084
42261
|
"product_id__equals",
|
|
42085
42262
|
"product_id__contains",
|
|
42086
42263
|
"product_id__startsWith",
|
|
42087
42264
|
"product_id__endWith",
|
|
42088
42265
|
"customer_id",
|
|
42089
42266
|
"customer_id__not",
|
|
42090
|
-
"customer_id__isNull",
|
|
42091
|
-
"customer_id__isNotNull",
|
|
42092
42267
|
"customer_id__equals",
|
|
42093
42268
|
"customer_id__contains",
|
|
42094
42269
|
"customer_id__startsWith",
|
|
42095
42270
|
"customer_id__endWith",
|
|
42096
42271
|
"updated_at",
|
|
42097
42272
|
"updated_at__not",
|
|
42098
|
-
"updated_at__isNull",
|
|
42099
|
-
"updated_at__isNotNull",
|
|
42100
42273
|
"updated_at__equals",
|
|
42101
42274
|
"updated_at__lt",
|
|
42102
42275
|
"updated_at__lte",
|
|
@@ -42369,12 +42542,13 @@ Examples:
|
|
|
42369
42542
|
});
|
|
42370
42543
|
}
|
|
42371
42544
|
|
|
42372
|
-
// build/commands/generated/customers-
|
|
42373
|
-
function
|
|
42374
|
-
const resource = parent.command("customers-
|
|
42375
|
-
resource.command("
|
|
42545
|
+
// build/commands/generated/customers-features.js
|
|
42546
|
+
function registerCustomers_FeaturesCommands(parent) {
|
|
42547
|
+
const resource = parent.command("customers-features").description("Manage customers > features");
|
|
42548
|
+
resource.command("resolve-customer-features").description(`Resolve feature values for a customer.`).requiredOption("--id <value>", `id parameter`).option("--at <value>", `Resolution date.`).addHelpText("after", `
|
|
42376
42549
|
Examples:
|
|
42377
|
-
hyperline customers-
|
|
42550
|
+
hyperline customers-features resolve-customer-features --id <id>
|
|
42551
|
+
hyperline customers-features resolve-customer-features --id <id> --at <at>`).action(async (opts) => {
|
|
42378
42552
|
const ctx = resource.parent?.opts()._ctx;
|
|
42379
42553
|
if (!ctx) {
|
|
42380
42554
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -42383,18 +42557,20 @@ Examples:
|
|
|
42383
42557
|
const args = {};
|
|
42384
42558
|
if (opts.id !== void 0)
|
|
42385
42559
|
args.id = opts.id;
|
|
42560
|
+
if (opts.at !== void 0)
|
|
42561
|
+
args.at = opts.at;
|
|
42386
42562
|
await ctx.execute({
|
|
42387
42563
|
method: "GET",
|
|
42388
|
-
path: "/v1/customers/{id}/
|
|
42564
|
+
path: "/v1/customers/{id}/features",
|
|
42389
42565
|
args,
|
|
42390
|
-
queryParamKeys: []
|
|
42566
|
+
queryParamKeys: ["at"]
|
|
42391
42567
|
});
|
|
42392
42568
|
});
|
|
42393
|
-
resource.command("
|
|
42569
|
+
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", `
|
|
42394
42570
|
Examples:
|
|
42395
|
-
hyperline customers-
|
|
42396
|
-
hyperline customers-
|
|
42397
|
-
hyperline customers-
|
|
42571
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value
|
|
42572
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value --reason <reason> --expires-at <expires_at>
|
|
42573
|
+
hyperline customers-features set-customer-feature --id <id> --code <code> --value --output json`).action(async (opts) => {
|
|
42398
42574
|
const ctx = resource.parent?.opts()._ctx;
|
|
42399
42575
|
if (!ctx) {
|
|
42400
42576
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -42403,14 +42579,93 @@ Examples:
|
|
|
42403
42579
|
const args = {};
|
|
42404
42580
|
if (opts.id !== void 0)
|
|
42405
42581
|
args.id = opts.id;
|
|
42406
|
-
if (opts.
|
|
42407
|
-
args.
|
|
42408
|
-
if (opts.
|
|
42409
|
-
args.
|
|
42410
|
-
if (opts.
|
|
42411
|
-
args.
|
|
42412
|
-
|
|
42413
|
-
|
|
42582
|
+
if (opts.code !== void 0)
|
|
42583
|
+
args.code = opts.code;
|
|
42584
|
+
if (opts.reason !== void 0)
|
|
42585
|
+
args.reason = opts.reason;
|
|
42586
|
+
if (opts.expiresAt !== void 0)
|
|
42587
|
+
args.expires_at = opts.expiresAt;
|
|
42588
|
+
if (opts.value !== void 0)
|
|
42589
|
+
args.value = true;
|
|
42590
|
+
await ctx.execute({
|
|
42591
|
+
method: "PUT",
|
|
42592
|
+
path: "/v1/customers/{id}/features/{code}",
|
|
42593
|
+
args,
|
|
42594
|
+
queryParamKeys: []
|
|
42595
|
+
});
|
|
42596
|
+
});
|
|
42597
|
+
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", `
|
|
42598
|
+
Examples:
|
|
42599
|
+
hyperline customers-features delete-customer-feature --id <id> --code <code>
|
|
42600
|
+
hyperline customers-features delete-customer-feature --id <id> --code <code> --output json`).action(async (opts) => {
|
|
42601
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42602
|
+
if (!ctx) {
|
|
42603
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42604
|
+
process.exit(1);
|
|
42605
|
+
}
|
|
42606
|
+
const args = {};
|
|
42607
|
+
if (opts.id !== void 0)
|
|
42608
|
+
args.id = opts.id;
|
|
42609
|
+
if (opts.code !== void 0)
|
|
42610
|
+
args.code = opts.code;
|
|
42611
|
+
if (!opts.yes) {
|
|
42612
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
42613
|
+
if (!confirmed) {
|
|
42614
|
+
process.stdout.write("Aborted.\n");
|
|
42615
|
+
return;
|
|
42616
|
+
}
|
|
42617
|
+
}
|
|
42618
|
+
await ctx.execute({
|
|
42619
|
+
method: "DELETE",
|
|
42620
|
+
path: "/v1/customers/{id}/features/{code}",
|
|
42621
|
+
args,
|
|
42622
|
+
queryParamKeys: []
|
|
42623
|
+
});
|
|
42624
|
+
});
|
|
42625
|
+
}
|
|
42626
|
+
|
|
42627
|
+
// build/commands/generated/customers-payment-methods.js
|
|
42628
|
+
function registerCustomers_Payment_MethodsCommands(parent) {
|
|
42629
|
+
const resource = parent.command("customers-payment-methods").description("Manage customers > payment methods");
|
|
42630
|
+
resource.command("list-customer-payment-methods").description(`List all payment methods attached to a specific customer (cards, SEPA mandates, etc.).`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
42631
|
+
Examples:
|
|
42632
|
+
hyperline customers-payment-methods list-customer-payment-methods --id <id>`).action(async (opts) => {
|
|
42633
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42634
|
+
if (!ctx) {
|
|
42635
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42636
|
+
process.exit(1);
|
|
42637
|
+
}
|
|
42638
|
+
const args = {};
|
|
42639
|
+
if (opts.id !== void 0)
|
|
42640
|
+
args.id = opts.id;
|
|
42641
|
+
await ctx.execute({
|
|
42642
|
+
method: "GET",
|
|
42643
|
+
path: "/v1/customers/{id}/payment-methods",
|
|
42644
|
+
args,
|
|
42645
|
+
queryParamKeys: []
|
|
42646
|
+
});
|
|
42647
|
+
});
|
|
42648
|
+
resource.command("create-customer-payment-method").description(`Import an existing payment method from a connected payment provider (e.g. Stripe) for a customer.`).requiredOption("--id <value>", `id parameter`).requiredOption("--provider-name <value>", `Provider name.`).option("--provider-id <value>", `Provider ID. Required if multiple instances of the same provider are connected in Hyperline.`).requiredOption("--provider-payment-method-id <value>", `ID of the payment method on the provider's side.`).addHelpText("after", `
|
|
42649
|
+
Examples:
|
|
42650
|
+
hyperline customers-payment-methods create-customer-payment-method --id <id> --provider-name <provider_name> --provider-payment-method-id <provider_payment_method_id>
|
|
42651
|
+
hyperline customers-payment-methods create-customer-payment-method --id <id> --provider-name <provider_name> --provider-payment-method-id <provider_payment_method_id> --provider-id <provider_id>
|
|
42652
|
+
hyperline customers-payment-methods create-customer-payment-method --id <id> --provider-name <provider_name> --provider-payment-method-id <provider_payment_method_id> --output json`).action(async (opts) => {
|
|
42653
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42654
|
+
if (!ctx) {
|
|
42655
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42656
|
+
process.exit(1);
|
|
42657
|
+
}
|
|
42658
|
+
const args = {};
|
|
42659
|
+
if (opts.id !== void 0)
|
|
42660
|
+
args.id = opts.id;
|
|
42661
|
+
if (opts.providerName !== void 0)
|
|
42662
|
+
args.provider_name = opts.providerName;
|
|
42663
|
+
if (opts.providerId !== void 0)
|
|
42664
|
+
args.provider_id = opts.providerId;
|
|
42665
|
+
if (opts.providerPaymentMethodId !== void 0)
|
|
42666
|
+
args.provider_payment_method_id = opts.providerPaymentMethodId;
|
|
42667
|
+
await ctx.execute({
|
|
42668
|
+
method: "POST",
|
|
42414
42669
|
path: "/v1/customers/{id}/payment-methods",
|
|
42415
42670
|
args,
|
|
42416
42671
|
queryParamKeys: []
|
|
@@ -42818,6 +43073,222 @@ Examples:
|
|
|
42818
43073
|
});
|
|
42819
43074
|
}
|
|
42820
43075
|
|
|
43076
|
+
// build/commands/generated/features.js
|
|
43077
|
+
function registerFeaturesCommands(parent) {
|
|
43078
|
+
const resource = parent.command("features").description("Manage features");
|
|
43079
|
+
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", `
|
|
43080
|
+
Examples:
|
|
43081
|
+
hyperline features list
|
|
43082
|
+
hyperline features list --take <take> --code <code>`).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.code !== void 0)
|
|
43090
|
+
args.code = opts.code;
|
|
43091
|
+
if (opts["code.not"] !== void 0)
|
|
43092
|
+
args.code__not = opts["code.not"];
|
|
43093
|
+
if (opts["code.equals"] !== void 0)
|
|
43094
|
+
args.code__equals = opts["code.equals"];
|
|
43095
|
+
if (opts["code.contains"] !== void 0)
|
|
43096
|
+
args.code__contains = opts["code.contains"];
|
|
43097
|
+
if (opts["code.startsWith"] !== void 0)
|
|
43098
|
+
args.code__startsWith = opts["code.startsWith"];
|
|
43099
|
+
if (opts["code.endWith"] !== void 0)
|
|
43100
|
+
args.code__endWith = opts["code.endWith"];
|
|
43101
|
+
if (opts.name !== void 0)
|
|
43102
|
+
args.name = opts.name;
|
|
43103
|
+
if (opts["name.not"] !== void 0)
|
|
43104
|
+
args.name__not = opts["name.not"];
|
|
43105
|
+
if (opts["name.equals"] !== void 0)
|
|
43106
|
+
args.name__equals = opts["name.equals"];
|
|
43107
|
+
if (opts["name.contains"] !== void 0)
|
|
43108
|
+
args.name__contains = opts["name.contains"];
|
|
43109
|
+
if (opts["name.startsWith"] !== void 0)
|
|
43110
|
+
args.name__startsWith = opts["name.startsWith"];
|
|
43111
|
+
if (opts["name.endWith"] !== void 0)
|
|
43112
|
+
args.name__endWith = opts["name.endWith"];
|
|
43113
|
+
if (opts.status !== void 0)
|
|
43114
|
+
args.status = opts.status;
|
|
43115
|
+
if (opts["status.in"] !== void 0)
|
|
43116
|
+
args.status__in = opts["status.in"];
|
|
43117
|
+
if (opts.search !== void 0)
|
|
43118
|
+
args.search = opts.search;
|
|
43119
|
+
if (opts.take !== void 0)
|
|
43120
|
+
args.take = Number(opts.take);
|
|
43121
|
+
if (opts.skip !== void 0)
|
|
43122
|
+
args.skip = Number(opts.skip);
|
|
43123
|
+
await ctx.execute({
|
|
43124
|
+
method: "GET",
|
|
43125
|
+
path: "/v1/features",
|
|
43126
|
+
args,
|
|
43127
|
+
queryParamKeys: [
|
|
43128
|
+
"take",
|
|
43129
|
+
"skip",
|
|
43130
|
+
"code",
|
|
43131
|
+
"code__not",
|
|
43132
|
+
"code__equals",
|
|
43133
|
+
"code__contains",
|
|
43134
|
+
"code__startsWith",
|
|
43135
|
+
"code__endWith",
|
|
43136
|
+
"name",
|
|
43137
|
+
"name__not",
|
|
43138
|
+
"name__equals",
|
|
43139
|
+
"name__contains",
|
|
43140
|
+
"name__startsWith",
|
|
43141
|
+
"name__endWith",
|
|
43142
|
+
"status",
|
|
43143
|
+
"status__in",
|
|
43144
|
+
"search"
|
|
43145
|
+
]
|
|
43146
|
+
});
|
|
43147
|
+
});
|
|
43148
|
+
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", `
|
|
43149
|
+
Examples:
|
|
43150
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value
|
|
43151
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value --description <description> --resolution-strategy <resolution_strategy>
|
|
43152
|
+
hyperline features create --code <code> --name <name> --value-type <value_type> --default-value --output json`).action(async (opts) => {
|
|
43153
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43154
|
+
if (!ctx) {
|
|
43155
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43156
|
+
process.exit(1);
|
|
43157
|
+
}
|
|
43158
|
+
const args = {};
|
|
43159
|
+
if (opts.code !== void 0)
|
|
43160
|
+
args.code = opts.code;
|
|
43161
|
+
if (opts.name !== void 0)
|
|
43162
|
+
args.name = opts.name;
|
|
43163
|
+
if (opts.description !== void 0)
|
|
43164
|
+
args.description = opts.description;
|
|
43165
|
+
if (opts.valueType !== void 0)
|
|
43166
|
+
args.value_type = opts.valueType;
|
|
43167
|
+
if (opts.resolutionStrategy !== void 0)
|
|
43168
|
+
args.resolution_strategy = opts.resolutionStrategy;
|
|
43169
|
+
if (opts.defaultValue !== void 0)
|
|
43170
|
+
args.default_value = true;
|
|
43171
|
+
await ctx.execute({
|
|
43172
|
+
method: "POST",
|
|
43173
|
+
path: "/v1/features",
|
|
43174
|
+
args,
|
|
43175
|
+
queryParamKeys: []
|
|
43176
|
+
});
|
|
43177
|
+
});
|
|
43178
|
+
resource.command("get").description(`Retrieve a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
43179
|
+
Examples:
|
|
43180
|
+
hyperline features get --code <code>`).action(async (opts) => {
|
|
43181
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43182
|
+
if (!ctx) {
|
|
43183
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43184
|
+
process.exit(1);
|
|
43185
|
+
}
|
|
43186
|
+
const args = {};
|
|
43187
|
+
if (opts.code !== void 0)
|
|
43188
|
+
args.code = opts.code;
|
|
43189
|
+
await ctx.execute({
|
|
43190
|
+
method: "GET",
|
|
43191
|
+
path: "/v1/features/{code}",
|
|
43192
|
+
args,
|
|
43193
|
+
queryParamKeys: []
|
|
43194
|
+
});
|
|
43195
|
+
});
|
|
43196
|
+
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", `
|
|
43197
|
+
Examples:
|
|
43198
|
+
hyperline features update --code <code>
|
|
43199
|
+
hyperline features update --code <code> --name <name> --description <description>
|
|
43200
|
+
hyperline features update --code <code> --output json`).action(async (opts) => {
|
|
43201
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43202
|
+
if (!ctx) {
|
|
43203
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43204
|
+
process.exit(1);
|
|
43205
|
+
}
|
|
43206
|
+
const args = {};
|
|
43207
|
+
if (opts.code !== void 0)
|
|
43208
|
+
args.code = opts.code;
|
|
43209
|
+
if (opts.name !== void 0)
|
|
43210
|
+
args.name = opts.name;
|
|
43211
|
+
if (opts.description !== void 0)
|
|
43212
|
+
args.description = opts.description;
|
|
43213
|
+
if (opts.valueType !== void 0)
|
|
43214
|
+
args.value_type = opts.valueType;
|
|
43215
|
+
if (opts.resolutionStrategy !== void 0)
|
|
43216
|
+
args.resolution_strategy = opts.resolutionStrategy;
|
|
43217
|
+
if (opts.defaultValue !== void 0)
|
|
43218
|
+
args.default_value = true;
|
|
43219
|
+
await ctx.execute({
|
|
43220
|
+
method: "PUT",
|
|
43221
|
+
path: "/v1/features/{code}",
|
|
43222
|
+
args,
|
|
43223
|
+
queryParamKeys: []
|
|
43224
|
+
});
|
|
43225
|
+
});
|
|
43226
|
+
resource.command("archive").description(`Archive a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
43227
|
+
Examples:
|
|
43228
|
+
hyperline features archive --code <code>
|
|
43229
|
+
hyperline features archive --code <code> --output json`).action(async (opts) => {
|
|
43230
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43231
|
+
if (!ctx) {
|
|
43232
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43233
|
+
process.exit(1);
|
|
43234
|
+
}
|
|
43235
|
+
const args = {};
|
|
43236
|
+
if (opts.code !== void 0)
|
|
43237
|
+
args.code = opts.code;
|
|
43238
|
+
await ctx.execute({
|
|
43239
|
+
method: "PUT",
|
|
43240
|
+
path: "/v1/features/{code}/archive",
|
|
43241
|
+
args,
|
|
43242
|
+
queryParamKeys: []
|
|
43243
|
+
});
|
|
43244
|
+
});
|
|
43245
|
+
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", `
|
|
43246
|
+
Examples:
|
|
43247
|
+
hyperline features delete --code <code>
|
|
43248
|
+
hyperline features delete --code <code> --output json`).action(async (opts) => {
|
|
43249
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43250
|
+
if (!ctx) {
|
|
43251
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43252
|
+
process.exit(1);
|
|
43253
|
+
}
|
|
43254
|
+
const args = {};
|
|
43255
|
+
if (opts.code !== void 0)
|
|
43256
|
+
args.code = opts.code;
|
|
43257
|
+
if (!opts.yes) {
|
|
43258
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
43259
|
+
if (!confirmed) {
|
|
43260
|
+
process.stdout.write("Aborted.\n");
|
|
43261
|
+
return;
|
|
43262
|
+
}
|
|
43263
|
+
}
|
|
43264
|
+
await ctx.execute({
|
|
43265
|
+
method: "DELETE",
|
|
43266
|
+
path: "/v1/features/{code}",
|
|
43267
|
+
args,
|
|
43268
|
+
queryParamKeys: []
|
|
43269
|
+
});
|
|
43270
|
+
});
|
|
43271
|
+
resource.command("unarchive").description(`Unarchive a feature definition.`).requiredOption("--code <value>", `code parameter`).addHelpText("after", `
|
|
43272
|
+
Examples:
|
|
43273
|
+
hyperline features unarchive --code <code>
|
|
43274
|
+
hyperline features unarchive --code <code> --output json`).action(async (opts) => {
|
|
43275
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43276
|
+
if (!ctx) {
|
|
43277
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43278
|
+
process.exit(1);
|
|
43279
|
+
}
|
|
43280
|
+
const args = {};
|
|
43281
|
+
if (opts.code !== void 0)
|
|
43282
|
+
args.code = opts.code;
|
|
43283
|
+
await ctx.execute({
|
|
43284
|
+
method: "PUT",
|
|
43285
|
+
path: "/v1/features/{code}/unarchive",
|
|
43286
|
+
args,
|
|
43287
|
+
queryParamKeys: []
|
|
43288
|
+
});
|
|
43289
|
+
});
|
|
43290
|
+
}
|
|
43291
|
+
|
|
42821
43292
|
// build/commands/generated/files.js
|
|
42822
43293
|
function registerFilesCommands(parent) {
|
|
42823
43294
|
const resource = parent.command("files").description("Manage files");
|
|
@@ -42839,7 +43310,7 @@ Examples:
|
|
|
42839
43310
|
queryParamKeys: []
|
|
42840
43311
|
});
|
|
42841
43312
|
});
|
|
42842
|
-
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.
|
|
43313
|
+
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", `
|
|
42843
43314
|
Examples:
|
|
42844
43315
|
hyperline files list
|
|
42845
43316
|
hyperline files list --take <take> --name <name>`).action(async (opts) => {
|
|
@@ -42853,10 +43324,6 @@ Examples:
|
|
|
42853
43324
|
args.name = opts.name;
|
|
42854
43325
|
if (opts["name.not"] !== void 0)
|
|
42855
43326
|
args.name__not = opts["name.not"];
|
|
42856
|
-
if (opts["name.isNull"] !== void 0)
|
|
42857
|
-
args.name__isNull = opts["name.isNull"];
|
|
42858
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
42859
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
42860
43327
|
if (opts["name.equals"] !== void 0)
|
|
42861
43328
|
args.name__equals = opts["name.equals"];
|
|
42862
43329
|
if (opts["name.contains"] !== void 0)
|
|
@@ -42869,10 +43336,6 @@ Examples:
|
|
|
42869
43336
|
args.customer_id = opts.customerId;
|
|
42870
43337
|
if (opts["customerId.not"] !== void 0)
|
|
42871
43338
|
args.customer_id__not = opts["customerId.not"];
|
|
42872
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42873
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42874
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42875
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42876
43339
|
if (opts["customerId.equals"] !== void 0)
|
|
42877
43340
|
args.customer_id__equals = opts["customerId.equals"];
|
|
42878
43341
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -42881,6 +43344,10 @@ Examples:
|
|
|
42881
43344
|
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
42882
43345
|
if (opts["customerId.endWith"] !== void 0)
|
|
42883
43346
|
args.customer_id__endWith = opts["customerId.endWith"];
|
|
43347
|
+
if (opts["customerId.isNull"] !== void 0)
|
|
43348
|
+
args.customer_id__isNull = opts["customerId.isNull"];
|
|
43349
|
+
if (opts["customerId.isNotNull"] !== void 0)
|
|
43350
|
+
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42884
43351
|
if (opts.take !== void 0)
|
|
42885
43352
|
args.take = Number(opts.take);
|
|
42886
43353
|
if (opts.skip !== void 0)
|
|
@@ -42894,20 +43361,18 @@ Examples:
|
|
|
42894
43361
|
"skip",
|
|
42895
43362
|
"name",
|
|
42896
43363
|
"name__not",
|
|
42897
|
-
"name__isNull",
|
|
42898
|
-
"name__isNotNull",
|
|
42899
43364
|
"name__equals",
|
|
42900
43365
|
"name__contains",
|
|
42901
43366
|
"name__startsWith",
|
|
42902
43367
|
"name__endWith",
|
|
42903
43368
|
"customer_id",
|
|
42904
43369
|
"customer_id__not",
|
|
42905
|
-
"customer_id__isNull",
|
|
42906
|
-
"customer_id__isNotNull",
|
|
42907
43370
|
"customer_id__equals",
|
|
42908
43371
|
"customer_id__contains",
|
|
42909
43372
|
"customer_id__startsWith",
|
|
42910
|
-
"customer_id__endWith"
|
|
43373
|
+
"customer_id__endWith",
|
|
43374
|
+
"customer_id__isNull",
|
|
43375
|
+
"customer_id__isNotNull"
|
|
42911
43376
|
]
|
|
42912
43377
|
});
|
|
42913
43378
|
});
|
|
@@ -42963,7 +43428,7 @@ Examples:
|
|
|
42963
43428
|
// build/commands/generated/invoices.js
|
|
42964
43429
|
function registerInvoicesCommands(parent) {
|
|
42965
43430
|
const resource = parent.command("invoices").description("Manage invoices");
|
|
42966
|
-
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.
|
|
43431
|
+
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", `
|
|
42967
43432
|
Examples:
|
|
42968
43433
|
hyperline invoices list
|
|
42969
43434
|
hyperline invoices list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -42993,10 +43458,6 @@ Examples:
|
|
|
42993
43458
|
args.customer_id = opts.customerId;
|
|
42994
43459
|
if (opts["customerId.not"] !== void 0)
|
|
42995
43460
|
args.customer_id__not = opts["customerId.not"];
|
|
42996
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42997
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42998
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42999
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
43000
43461
|
if (opts["customerId.equals"] !== void 0)
|
|
43001
43462
|
args.customer_id__equals = opts["customerId.equals"];
|
|
43002
43463
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -43011,10 +43472,6 @@ Examples:
|
|
|
43011
43472
|
args.subscription_id = opts.subscriptionId;
|
|
43012
43473
|
if (opts["subscriptionId.not"] !== void 0)
|
|
43013
43474
|
args.subscription_id__not = opts["subscriptionId.not"];
|
|
43014
|
-
if (opts["subscriptionId.isNull"] !== void 0)
|
|
43015
|
-
args.subscription_id__isNull = opts["subscriptionId.isNull"];
|
|
43016
|
-
if (opts["subscriptionId.isNotNull"] !== void 0)
|
|
43017
|
-
args.subscription_id__isNotNull = opts["subscriptionId.isNotNull"];
|
|
43018
43475
|
if (opts["subscriptionId.equals"] !== void 0)
|
|
43019
43476
|
args.subscription_id__equals = opts["subscriptionId.equals"];
|
|
43020
43477
|
if (opts["subscriptionId.contains"] !== void 0)
|
|
@@ -43023,14 +43480,14 @@ Examples:
|
|
|
43023
43480
|
args.subscription_id__startsWith = opts["subscriptionId.startsWith"];
|
|
43024
43481
|
if (opts["subscriptionId.endWith"] !== void 0)
|
|
43025
43482
|
args.subscription_id__endWith = opts["subscriptionId.endWith"];
|
|
43483
|
+
if (opts["subscriptionId.isNull"] !== void 0)
|
|
43484
|
+
args.subscription_id__isNull = opts["subscriptionId.isNull"];
|
|
43485
|
+
if (opts["subscriptionId.isNotNull"] !== void 0)
|
|
43486
|
+
args.subscription_id__isNotNull = opts["subscriptionId.isNotNull"];
|
|
43026
43487
|
if (opts.invoicingEntityId !== void 0)
|
|
43027
43488
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
43028
43489
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
43029
43490
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
43030
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
43031
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
43032
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
43033
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
43034
43491
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
43035
43492
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
43036
43493
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -43043,10 +43500,6 @@ Examples:
|
|
|
43043
43500
|
args.invoice_number = opts.invoiceNumber;
|
|
43044
43501
|
if (opts["invoiceNumber.not"] !== void 0)
|
|
43045
43502
|
args.invoice_number__not = opts["invoiceNumber.not"];
|
|
43046
|
-
if (opts["invoiceNumber.isNull"] !== void 0)
|
|
43047
|
-
args.invoice_number__isNull = opts["invoiceNumber.isNull"];
|
|
43048
|
-
if (opts["invoiceNumber.isNotNull"] !== void 0)
|
|
43049
|
-
args.invoice_number__isNotNull = opts["invoiceNumber.isNotNull"];
|
|
43050
43503
|
if (opts["invoiceNumber.equals"] !== void 0)
|
|
43051
43504
|
args.invoice_number__equals = opts["invoiceNumber.equals"];
|
|
43052
43505
|
if (opts["invoiceNumber.contains"] !== void 0)
|
|
@@ -43059,10 +43512,6 @@ Examples:
|
|
|
43059
43512
|
args.original_invoice_id = opts.originalInvoiceId;
|
|
43060
43513
|
if (opts["originalInvoiceId.not"] !== void 0)
|
|
43061
43514
|
args.original_invoice_id__not = opts["originalInvoiceId.not"];
|
|
43062
|
-
if (opts["originalInvoiceId.isNull"] !== void 0)
|
|
43063
|
-
args.original_invoice_id__isNull = opts["originalInvoiceId.isNull"];
|
|
43064
|
-
if (opts["originalInvoiceId.isNotNull"] !== void 0)
|
|
43065
|
-
args.original_invoice_id__isNotNull = opts["originalInvoiceId.isNotNull"];
|
|
43066
43515
|
if (opts["originalInvoiceId.equals"] !== void 0)
|
|
43067
43516
|
args.original_invoice_id__equals = opts["originalInvoiceId.equals"];
|
|
43068
43517
|
if (opts["originalInvoiceId.contains"] !== void 0)
|
|
@@ -43071,14 +43520,14 @@ Examples:
|
|
|
43071
43520
|
args.original_invoice_id__startsWith = opts["originalInvoiceId.startsWith"];
|
|
43072
43521
|
if (opts["originalInvoiceId.endWith"] !== void 0)
|
|
43073
43522
|
args.original_invoice_id__endWith = opts["originalInvoiceId.endWith"];
|
|
43523
|
+
if (opts["originalInvoiceId.isNull"] !== void 0)
|
|
43524
|
+
args.original_invoice_id__isNull = opts["originalInvoiceId.isNull"];
|
|
43525
|
+
if (opts["originalInvoiceId.isNotNull"] !== void 0)
|
|
43526
|
+
args.original_invoice_id__isNotNull = opts["originalInvoiceId.isNotNull"];
|
|
43074
43527
|
if (opts.originalInvoiceNumber !== void 0)
|
|
43075
43528
|
args.original_invoice_number = opts.originalInvoiceNumber;
|
|
43076
43529
|
if (opts["originalInvoiceNumber.not"] !== void 0)
|
|
43077
43530
|
args.original_invoice_number__not = opts["originalInvoiceNumber.not"];
|
|
43078
|
-
if (opts["originalInvoiceNumber.isNull"] !== void 0)
|
|
43079
|
-
args.original_invoice_number__isNull = opts["originalInvoiceNumber.isNull"];
|
|
43080
|
-
if (opts["originalInvoiceNumber.isNotNull"] !== void 0)
|
|
43081
|
-
args.original_invoice_number__isNotNull = opts["originalInvoiceNumber.isNotNull"];
|
|
43082
43531
|
if (opts["originalInvoiceNumber.equals"] !== void 0)
|
|
43083
43532
|
args.original_invoice_number__equals = opts["originalInvoiceNumber.equals"];
|
|
43084
43533
|
if (opts["originalInvoiceNumber.contains"] !== void 0)
|
|
@@ -43087,16 +43536,16 @@ Examples:
|
|
|
43087
43536
|
args.original_invoice_number__startsWith = opts["originalInvoiceNumber.startsWith"];
|
|
43088
43537
|
if (opts["originalInvoiceNumber.endWith"] !== void 0)
|
|
43089
43538
|
args.original_invoice_number__endWith = opts["originalInvoiceNumber.endWith"];
|
|
43539
|
+
if (opts["originalInvoiceNumber.isNull"] !== void 0)
|
|
43540
|
+
args.original_invoice_number__isNull = opts["originalInvoiceNumber.isNull"];
|
|
43541
|
+
if (opts["originalInvoiceNumber.isNotNull"] !== void 0)
|
|
43542
|
+
args.original_invoice_number__isNotNull = opts["originalInvoiceNumber.isNotNull"];
|
|
43090
43543
|
if (opts.lineItemId !== void 0)
|
|
43091
43544
|
args.line_item_id = opts.lineItemId;
|
|
43092
43545
|
if (opts.periodStart !== void 0)
|
|
43093
43546
|
args.period_start = opts.periodStart;
|
|
43094
43547
|
if (opts["periodStart.not"] !== void 0)
|
|
43095
43548
|
args.period_start__not = opts["periodStart.not"];
|
|
43096
|
-
if (opts["periodStart.isNull"] !== void 0)
|
|
43097
|
-
args.period_start__isNull = opts["periodStart.isNull"];
|
|
43098
|
-
if (opts["periodStart.isNotNull"] !== void 0)
|
|
43099
|
-
args.period_start__isNotNull = opts["periodStart.isNotNull"];
|
|
43100
43549
|
if (opts["periodStart.equals"] !== void 0)
|
|
43101
43550
|
args.period_start__equals = opts["periodStart.equals"];
|
|
43102
43551
|
if (opts["periodStart.lt"] !== void 0)
|
|
@@ -43107,14 +43556,14 @@ Examples:
|
|
|
43107
43556
|
args.period_start__gt = opts["periodStart.gt"];
|
|
43108
43557
|
if (opts["periodStart.gte"] !== void 0)
|
|
43109
43558
|
args.period_start__gte = opts["periodStart.gte"];
|
|
43559
|
+
if (opts["periodStart.isNull"] !== void 0)
|
|
43560
|
+
args.period_start__isNull = opts["periodStart.isNull"];
|
|
43561
|
+
if (opts["periodStart.isNotNull"] !== void 0)
|
|
43562
|
+
args.period_start__isNotNull = opts["periodStart.isNotNull"];
|
|
43110
43563
|
if (opts.periodEnd !== void 0)
|
|
43111
43564
|
args.period_end = opts.periodEnd;
|
|
43112
43565
|
if (opts["periodEnd.not"] !== void 0)
|
|
43113
43566
|
args.period_end__not = opts["periodEnd.not"];
|
|
43114
|
-
if (opts["periodEnd.isNull"] !== void 0)
|
|
43115
|
-
args.period_end__isNull = opts["periodEnd.isNull"];
|
|
43116
|
-
if (opts["periodEnd.isNotNull"] !== void 0)
|
|
43117
|
-
args.period_end__isNotNull = opts["periodEnd.isNotNull"];
|
|
43118
43567
|
if (opts["periodEnd.equals"] !== void 0)
|
|
43119
43568
|
args.period_end__equals = opts["periodEnd.equals"];
|
|
43120
43569
|
if (opts["periodEnd.lt"] !== void 0)
|
|
@@ -43125,14 +43574,14 @@ Examples:
|
|
|
43125
43574
|
args.period_end__gt = opts["periodEnd.gt"];
|
|
43126
43575
|
if (opts["periodEnd.gte"] !== void 0)
|
|
43127
43576
|
args.period_end__gte = opts["periodEnd.gte"];
|
|
43577
|
+
if (opts["periodEnd.isNull"] !== void 0)
|
|
43578
|
+
args.period_end__isNull = opts["periodEnd.isNull"];
|
|
43579
|
+
if (opts["periodEnd.isNotNull"] !== void 0)
|
|
43580
|
+
args.period_end__isNotNull = opts["periodEnd.isNotNull"];
|
|
43128
43581
|
if (opts.issuedAt !== void 0)
|
|
43129
43582
|
args.issued_at = opts.issuedAt;
|
|
43130
43583
|
if (opts["issuedAt.not"] !== void 0)
|
|
43131
43584
|
args.issued_at__not = opts["issuedAt.not"];
|
|
43132
|
-
if (opts["issuedAt.isNull"] !== void 0)
|
|
43133
|
-
args.issued_at__isNull = opts["issuedAt.isNull"];
|
|
43134
|
-
if (opts["issuedAt.isNotNull"] !== void 0)
|
|
43135
|
-
args.issued_at__isNotNull = opts["issuedAt.isNotNull"];
|
|
43136
43585
|
if (opts["issuedAt.equals"] !== void 0)
|
|
43137
43586
|
args.issued_at__equals = opts["issuedAt.equals"];
|
|
43138
43587
|
if (opts["issuedAt.lt"] !== void 0)
|
|
@@ -43147,10 +43596,6 @@ Examples:
|
|
|
43147
43596
|
args.due_at = opts.dueAt;
|
|
43148
43597
|
if (opts["dueAt.not"] !== void 0)
|
|
43149
43598
|
args.due_at__not = opts["dueAt.not"];
|
|
43150
|
-
if (opts["dueAt.isNull"] !== void 0)
|
|
43151
|
-
args.due_at__isNull = opts["dueAt.isNull"];
|
|
43152
|
-
if (opts["dueAt.isNotNull"] !== void 0)
|
|
43153
|
-
args.due_at__isNotNull = opts["dueAt.isNotNull"];
|
|
43154
43599
|
if (opts["dueAt.equals"] !== void 0)
|
|
43155
43600
|
args.due_at__equals = opts["dueAt.equals"];
|
|
43156
43601
|
if (opts["dueAt.lt"] !== void 0)
|
|
@@ -43165,10 +43610,6 @@ Examples:
|
|
|
43165
43610
|
args.updated_at = opts.updatedAt;
|
|
43166
43611
|
if (opts["updatedAt.not"] !== void 0)
|
|
43167
43612
|
args.updated_at__not = opts["updatedAt.not"];
|
|
43168
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
43169
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
43170
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
43171
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
43172
43613
|
if (opts["updatedAt.equals"] !== void 0)
|
|
43173
43614
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
43174
43615
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -43197,8 +43638,6 @@ Examples:
|
|
|
43197
43638
|
"status__in",
|
|
43198
43639
|
"customer_id",
|
|
43199
43640
|
"customer_id__not",
|
|
43200
|
-
"customer_id__isNull",
|
|
43201
|
-
"customer_id__isNotNull",
|
|
43202
43641
|
"customer_id__equals",
|
|
43203
43642
|
"customer_id__contains",
|
|
43204
43643
|
"customer_id__startsWith",
|
|
@@ -43206,67 +43645,61 @@ Examples:
|
|
|
43206
43645
|
"customer_external_id",
|
|
43207
43646
|
"subscription_id",
|
|
43208
43647
|
"subscription_id__not",
|
|
43209
|
-
"subscription_id__isNull",
|
|
43210
|
-
"subscription_id__isNotNull",
|
|
43211
43648
|
"subscription_id__equals",
|
|
43212
43649
|
"subscription_id__contains",
|
|
43213
43650
|
"subscription_id__startsWith",
|
|
43214
43651
|
"subscription_id__endWith",
|
|
43652
|
+
"subscription_id__isNull",
|
|
43653
|
+
"subscription_id__isNotNull",
|
|
43215
43654
|
"invoicing_entity_id",
|
|
43216
43655
|
"invoicing_entity_id__not",
|
|
43217
|
-
"invoicing_entity_id__isNull",
|
|
43218
|
-
"invoicing_entity_id__isNotNull",
|
|
43219
43656
|
"invoicing_entity_id__equals",
|
|
43220
43657
|
"invoicing_entity_id__contains",
|
|
43221
43658
|
"invoicing_entity_id__startsWith",
|
|
43222
43659
|
"invoicing_entity_id__endWith",
|
|
43223
43660
|
"invoice_number",
|
|
43224
43661
|
"invoice_number__not",
|
|
43225
|
-
"invoice_number__isNull",
|
|
43226
|
-
"invoice_number__isNotNull",
|
|
43227
43662
|
"invoice_number__equals",
|
|
43228
43663
|
"invoice_number__contains",
|
|
43229
43664
|
"invoice_number__startsWith",
|
|
43230
43665
|
"invoice_number__endWith",
|
|
43231
43666
|
"original_invoice_id",
|
|
43232
43667
|
"original_invoice_id__not",
|
|
43233
|
-
"original_invoice_id__isNull",
|
|
43234
|
-
"original_invoice_id__isNotNull",
|
|
43235
43668
|
"original_invoice_id__equals",
|
|
43236
43669
|
"original_invoice_id__contains",
|
|
43237
43670
|
"original_invoice_id__startsWith",
|
|
43238
43671
|
"original_invoice_id__endWith",
|
|
43672
|
+
"original_invoice_id__isNull",
|
|
43673
|
+
"original_invoice_id__isNotNull",
|
|
43239
43674
|
"original_invoice_number",
|
|
43240
43675
|
"original_invoice_number__not",
|
|
43241
|
-
"original_invoice_number__isNull",
|
|
43242
|
-
"original_invoice_number__isNotNull",
|
|
43243
43676
|
"original_invoice_number__equals",
|
|
43244
43677
|
"original_invoice_number__contains",
|
|
43245
43678
|
"original_invoice_number__startsWith",
|
|
43246
43679
|
"original_invoice_number__endWith",
|
|
43680
|
+
"original_invoice_number__isNull",
|
|
43681
|
+
"original_invoice_number__isNotNull",
|
|
43247
43682
|
"line_item_id",
|
|
43248
43683
|
"period_start",
|
|
43249
43684
|
"period_start__not",
|
|
43250
|
-
"period_start__isNull",
|
|
43251
|
-
"period_start__isNotNull",
|
|
43252
43685
|
"period_start__equals",
|
|
43253
43686
|
"period_start__lt",
|
|
43254
43687
|
"period_start__lte",
|
|
43255
43688
|
"period_start__gt",
|
|
43256
43689
|
"period_start__gte",
|
|
43690
|
+
"period_start__isNull",
|
|
43691
|
+
"period_start__isNotNull",
|
|
43257
43692
|
"period_end",
|
|
43258
43693
|
"period_end__not",
|
|
43259
|
-
"period_end__isNull",
|
|
43260
|
-
"period_end__isNotNull",
|
|
43261
43694
|
"period_end__equals",
|
|
43262
43695
|
"period_end__lt",
|
|
43263
43696
|
"period_end__lte",
|
|
43264
43697
|
"period_end__gt",
|
|
43265
43698
|
"period_end__gte",
|
|
43699
|
+
"period_end__isNull",
|
|
43700
|
+
"period_end__isNotNull",
|
|
43266
43701
|
"issued_at",
|
|
43267
43702
|
"issued_at__not",
|
|
43268
|
-
"issued_at__isNull",
|
|
43269
|
-
"issued_at__isNotNull",
|
|
43270
43703
|
"issued_at__equals",
|
|
43271
43704
|
"issued_at__lt",
|
|
43272
43705
|
"issued_at__lte",
|
|
@@ -43274,8 +43707,6 @@ Examples:
|
|
|
43274
43707
|
"issued_at__gte",
|
|
43275
43708
|
"due_at",
|
|
43276
43709
|
"due_at__not",
|
|
43277
|
-
"due_at__isNull",
|
|
43278
|
-
"due_at__isNotNull",
|
|
43279
43710
|
"due_at__equals",
|
|
43280
43711
|
"due_at__lt",
|
|
43281
43712
|
"due_at__lte",
|
|
@@ -43283,8 +43714,6 @@ Examples:
|
|
|
43283
43714
|
"due_at__gte",
|
|
43284
43715
|
"updated_at",
|
|
43285
43716
|
"updated_at__not",
|
|
43286
|
-
"updated_at__isNull",
|
|
43287
|
-
"updated_at__isNotNull",
|
|
43288
43717
|
"updated_at__equals",
|
|
43289
43718
|
"updated_at__lt",
|
|
43290
43719
|
"updated_at__lte",
|
|
@@ -43518,6 +43947,36 @@ Examples:
|
|
|
43518
43947
|
queryParamKeys: []
|
|
43519
43948
|
});
|
|
43520
43949
|
});
|
|
43950
|
+
resource.command("send-invoice-emails").description(`Send a specific email (\`email_type\`, e.g. \`invoice_ready\` for the to-pay email) to the customer for a list of invoice IDs, asynchronously in batch. Returns a batch_id only; outcomes arrive via webhooks (invoice.batch.email_succeeded / invoice.batch.email_skipped / invoice.batch.email_failed). An invoice whose status doesn't match the email (e.g. a draft or an invoice still pending approval after validate_invoice) is skipped, so check each invoice's status with get_invoice first. Every call sends the emails again: never re-call it to retry or check status.`).option("--batch-id <value>", `Optional client-supplied identifier for the batch. Echoed back in the response and on the emitted webhook events. Generated if omitted.`).requiredOption("--email-type <value>", `The email to send. The invoice's status must resolve to this email, otherwise it is skipped with reason \`email_type_mismatch\`.
|
|
43951
|
+
|
|
43952
|
+
- \`invoice_ready\`: The to-pay invoice email (for \`to_pay\`, \`partially_paid\`, \`late\` invoices).
|
|
43953
|
+
- \`invoice_settled\`: The paid-invoice email (for \`paid\` invoices).
|
|
43954
|
+
- \`invoice_errored\`: The failed-payment email (for \`error\` invoices with a payment method).
|
|
43955
|
+
- \`credit_note_ready\`: The issued-credit-note email (for \`to_pay\`, \`partially_paid\` refunds).
|
|
43956
|
+
- \`credit_note_settled\`: The credit-note email (for paid refunds).`).requiredOption("--ids <json>", `IDs of the invoices to send the email for. Processed asynchronously; each outcome is reported via webhook events.`).addHelpText("after", `
|
|
43957
|
+
Examples:
|
|
43958
|
+
hyperline invoices send-invoice-emails --email-type <email_type> --ids <ids>
|
|
43959
|
+
hyperline invoices send-invoice-emails --email-type <email_type> --ids <ids> --batch-id <batch_id>
|
|
43960
|
+
hyperline invoices send-invoice-emails --email-type <email_type> --ids <ids> --output json`).action(async (opts) => {
|
|
43961
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43962
|
+
if (!ctx) {
|
|
43963
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43964
|
+
process.exit(1);
|
|
43965
|
+
}
|
|
43966
|
+
const args = {};
|
|
43967
|
+
if (opts.batchId !== void 0)
|
|
43968
|
+
args.batch_id = opts.batchId;
|
|
43969
|
+
if (opts.emailType !== void 0)
|
|
43970
|
+
args.email_type = opts.emailType;
|
|
43971
|
+
if (opts.ids !== void 0)
|
|
43972
|
+
args.ids = JSON.parse(opts.ids);
|
|
43973
|
+
await ctx.execute({
|
|
43974
|
+
method: "POST",
|
|
43975
|
+
path: "/v1/invoices/send-email",
|
|
43976
|
+
args,
|
|
43977
|
+
queryParamKeys: []
|
|
43978
|
+
});
|
|
43979
|
+
});
|
|
43521
43980
|
resource.command("mark-invoice-as-uncollectible").description(`Mark an invoice as uncollectible for accounting write-off purposes. The invoice remains in the system for record keeping.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
43522
43981
|
Examples:
|
|
43523
43982
|
hyperline invoices mark-invoice-as-uncollectible --id <id>
|
|
@@ -44012,7 +44471,7 @@ Examples:
|
|
|
44012
44471
|
// build/commands/generated/organisations.js
|
|
44013
44472
|
function registerOrganisationsCommands(parent) {
|
|
44014
44473
|
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.
|
|
44474
|
+
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
44475
|
Examples:
|
|
44017
44476
|
hyperline organisations list
|
|
44018
44477
|
hyperline organisations list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -44034,10 +44493,6 @@ Examples:
|
|
|
44034
44493
|
args.created_at = opts.createdAt;
|
|
44035
44494
|
if (opts["createdAt.not"] !== void 0)
|
|
44036
44495
|
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
44496
|
if (opts["createdAt.equals"] !== void 0)
|
|
44042
44497
|
args.created_at__equals = opts["createdAt.equals"];
|
|
44043
44498
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -44052,10 +44507,6 @@ Examples:
|
|
|
44052
44507
|
args.updated_at = opts.updatedAt;
|
|
44053
44508
|
if (opts["updatedAt.not"] !== void 0)
|
|
44054
44509
|
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
44510
|
if (opts["updatedAt.equals"] !== void 0)
|
|
44060
44511
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44061
44512
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44080,8 +44531,6 @@ Examples:
|
|
|
44080
44531
|
"sort",
|
|
44081
44532
|
"created_at",
|
|
44082
44533
|
"created_at__not",
|
|
44083
|
-
"created_at__isNull",
|
|
44084
|
-
"created_at__isNotNull",
|
|
44085
44534
|
"created_at__equals",
|
|
44086
44535
|
"created_at__lt",
|
|
44087
44536
|
"created_at__lte",
|
|
@@ -44089,8 +44538,6 @@ Examples:
|
|
|
44089
44538
|
"created_at__gte",
|
|
44090
44539
|
"updated_at",
|
|
44091
44540
|
"updated_at__not",
|
|
44092
|
-
"updated_at__isNull",
|
|
44093
|
-
"updated_at__isNotNull",
|
|
44094
44541
|
"updated_at__equals",
|
|
44095
44542
|
"updated_at__lt",
|
|
44096
44543
|
"updated_at__lte",
|
|
@@ -44204,7 +44651,7 @@ Examples:
|
|
|
44204
44651
|
// build/commands/generated/price-configurations.js
|
|
44205
44652
|
function registerPrice_ConfigurationsCommands(parent) {
|
|
44206
44653
|
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.
|
|
44654
|
+
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
44655
|
Examples:
|
|
44209
44656
|
hyperline price-configurations list
|
|
44210
44657
|
hyperline price-configurations list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -44218,10 +44665,6 @@ Examples:
|
|
|
44218
44665
|
args.product_id = opts.productId;
|
|
44219
44666
|
if (opts["productId.not"] !== void 0)
|
|
44220
44667
|
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
44668
|
if (opts["productId.equals"] !== void 0)
|
|
44226
44669
|
args.product_id__equals = opts["productId.equals"];
|
|
44227
44670
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -44234,10 +44677,6 @@ Examples:
|
|
|
44234
44677
|
args.price_book_id = opts.priceBookId;
|
|
44235
44678
|
if (opts["priceBookId.not"] !== void 0)
|
|
44236
44679
|
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
44680
|
if (opts["priceBookId.equals"] !== void 0)
|
|
44242
44681
|
args.price_book_id__equals = opts["priceBookId.equals"];
|
|
44243
44682
|
if (opts["priceBookId.contains"] !== void 0)
|
|
@@ -44246,6 +44685,10 @@ Examples:
|
|
|
44246
44685
|
args.price_book_id__startsWith = opts["priceBookId.startsWith"];
|
|
44247
44686
|
if (opts["priceBookId.endWith"] !== void 0)
|
|
44248
44687
|
args.price_book_id__endWith = opts["priceBookId.endWith"];
|
|
44688
|
+
if (opts["priceBookId.isNull"] !== void 0)
|
|
44689
|
+
args.price_book_id__isNull = opts["priceBookId.isNull"];
|
|
44690
|
+
if (opts["priceBookId.isNotNull"] !== void 0)
|
|
44691
|
+
args.price_book_id__isNotNull = opts["priceBookId.isNotNull"];
|
|
44249
44692
|
if (opts.take !== void 0)
|
|
44250
44693
|
args.take = Number(opts.take);
|
|
44251
44694
|
if (opts.skip !== void 0)
|
|
@@ -44259,20 +44702,18 @@ Examples:
|
|
|
44259
44702
|
"skip",
|
|
44260
44703
|
"product_id",
|
|
44261
44704
|
"product_id__not",
|
|
44262
|
-
"product_id__isNull",
|
|
44263
|
-
"product_id__isNotNull",
|
|
44264
44705
|
"product_id__equals",
|
|
44265
44706
|
"product_id__contains",
|
|
44266
44707
|
"product_id__startsWith",
|
|
44267
44708
|
"product_id__endWith",
|
|
44268
44709
|
"price_book_id",
|
|
44269
44710
|
"price_book_id__not",
|
|
44270
|
-
"price_book_id__isNull",
|
|
44271
|
-
"price_book_id__isNotNull",
|
|
44272
44711
|
"price_book_id__equals",
|
|
44273
44712
|
"price_book_id__contains",
|
|
44274
44713
|
"price_book_id__startsWith",
|
|
44275
|
-
"price_book_id__endWith"
|
|
44714
|
+
"price_book_id__endWith",
|
|
44715
|
+
"price_book_id__isNull",
|
|
44716
|
+
"price_book_id__isNotNull"
|
|
44276
44717
|
]
|
|
44277
44718
|
});
|
|
44278
44719
|
});
|
|
@@ -44294,7 +44735,7 @@ Examples:
|
|
|
44294
44735
|
queryParamKeys: []
|
|
44295
44736
|
});
|
|
44296
44737
|
});
|
|
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", `
|
|
44738
|
+
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
44739
|
Examples:
|
|
44299
44740
|
hyperline price-configurations create --currency <currency> --billing-interval <billing_interval> --type <type> --prices <prices> --product-id <product_id>
|
|
44300
44741
|
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 +44754,8 @@ Examples:
|
|
|
44313
44754
|
args.type = opts.type;
|
|
44314
44755
|
if (opts.productId !== void 0)
|
|
44315
44756
|
args.product_id = opts.productId;
|
|
44757
|
+
if (opts.aggregatorFilterId !== void 0)
|
|
44758
|
+
args.aggregator_filter_id = opts.aggregatorFilterId;
|
|
44316
44759
|
if (opts.allowOnPortal !== void 0)
|
|
44317
44760
|
args.allow_on_portal = true;
|
|
44318
44761
|
if (opts.countries !== void 0)
|
|
@@ -44396,7 +44839,7 @@ Examples:
|
|
|
44396
44839
|
// build/commands/generated/products.js
|
|
44397
44840
|
function registerProductsCommands(parent) {
|
|
44398
44841
|
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
|
|
44842
|
+
resource.command("list").description(`List products with optional filters for id, status, name, description, type, price_book_id, and custom_properties (JSON object of slug to exact value, e.g. {"my_slug":"value"}; slugs matching no custom property are rejected). 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`).option("--custom-properties <value>", `Filter by custom property values, as a JSON object mapping a custom property slug to the exact value to match. Suffix a slug with \`__contains\` for a case-sensitive substring match on text values. Several entries are combined with AND. A slug that matches no custom property returns a \`400\` error.`).addHelpText("after", `
|
|
44400
44843
|
Examples:
|
|
44401
44844
|
hyperline products list
|
|
44402
44845
|
hyperline products list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44410,10 +44853,6 @@ Examples:
|
|
|
44410
44853
|
args.id = opts.id;
|
|
44411
44854
|
if (opts["id.not"] !== void 0)
|
|
44412
44855
|
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
44856
|
if (opts["id.equals"] !== void 0)
|
|
44418
44857
|
args.id__equals = opts["id.equals"];
|
|
44419
44858
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44430,10 +44869,6 @@ Examples:
|
|
|
44430
44869
|
args.name = opts.name;
|
|
44431
44870
|
if (opts["name.not"] !== void 0)
|
|
44432
44871
|
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
44872
|
if (opts["name.equals"] !== void 0)
|
|
44438
44873
|
args.name__equals = opts["name.equals"];
|
|
44439
44874
|
if (opts["name.contains"] !== void 0)
|
|
@@ -44446,10 +44881,6 @@ Examples:
|
|
|
44446
44881
|
args.description = opts.description;
|
|
44447
44882
|
if (opts["description.not"] !== void 0)
|
|
44448
44883
|
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
44884
|
if (opts["description.equals"] !== void 0)
|
|
44454
44885
|
args.description__equals = opts["description.equals"];
|
|
44455
44886
|
if (opts["description.contains"] !== void 0)
|
|
@@ -44458,14 +44889,14 @@ Examples:
|
|
|
44458
44889
|
args.description__startsWith = opts["description.startsWith"];
|
|
44459
44890
|
if (opts["description.endWith"] !== void 0)
|
|
44460
44891
|
args.description__endWith = opts["description.endWith"];
|
|
44892
|
+
if (opts["description.isNull"] !== void 0)
|
|
44893
|
+
args.description__isNull = opts["description.isNull"];
|
|
44894
|
+
if (opts["description.isNotNull"] !== void 0)
|
|
44895
|
+
args.description__isNotNull = opts["description.isNotNull"];
|
|
44461
44896
|
if (opts.type !== void 0)
|
|
44462
44897
|
args.type = opts.type;
|
|
44463
44898
|
if (opts["type.not"] !== void 0)
|
|
44464
44899
|
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
44900
|
if (opts["type.equals"] !== void 0)
|
|
44470
44901
|
args.type__equals = opts["type.equals"];
|
|
44471
44902
|
if (opts["type.contains"] !== void 0)
|
|
@@ -44476,6 +44907,8 @@ Examples:
|
|
|
44476
44907
|
args.type__endWith = opts["type.endWith"];
|
|
44477
44908
|
if (opts.priceBookId !== void 0)
|
|
44478
44909
|
args.price_book_id = opts.priceBookId;
|
|
44910
|
+
if (opts.customProperties !== void 0)
|
|
44911
|
+
args.custom_properties = opts.customProperties;
|
|
44479
44912
|
if (opts.take !== void 0)
|
|
44480
44913
|
args.take = Number(opts.take);
|
|
44481
44914
|
if (opts.skip !== void 0)
|
|
@@ -44489,8 +44922,6 @@ Examples:
|
|
|
44489
44922
|
"skip",
|
|
44490
44923
|
"id",
|
|
44491
44924
|
"id__not",
|
|
44492
|
-
"id__isNull",
|
|
44493
|
-
"id__isNotNull",
|
|
44494
44925
|
"id__equals",
|
|
44495
44926
|
"id__contains",
|
|
44496
44927
|
"id__startsWith",
|
|
@@ -44499,33 +44930,30 @@ Examples:
|
|
|
44499
44930
|
"status__in",
|
|
44500
44931
|
"name",
|
|
44501
44932
|
"name__not",
|
|
44502
|
-
"name__isNull",
|
|
44503
|
-
"name__isNotNull",
|
|
44504
44933
|
"name__equals",
|
|
44505
44934
|
"name__contains",
|
|
44506
44935
|
"name__startsWith",
|
|
44507
44936
|
"name__endWith",
|
|
44508
44937
|
"description",
|
|
44509
44938
|
"description__not",
|
|
44510
|
-
"description__isNull",
|
|
44511
|
-
"description__isNotNull",
|
|
44512
44939
|
"description__equals",
|
|
44513
44940
|
"description__contains",
|
|
44514
44941
|
"description__startsWith",
|
|
44515
44942
|
"description__endWith",
|
|
44943
|
+
"description__isNull",
|
|
44944
|
+
"description__isNotNull",
|
|
44516
44945
|
"type",
|
|
44517
44946
|
"type__not",
|
|
44518
|
-
"type__isNull",
|
|
44519
|
-
"type__isNotNull",
|
|
44520
44947
|
"type__equals",
|
|
44521
44948
|
"type__contains",
|
|
44522
44949
|
"type__startsWith",
|
|
44523
44950
|
"type__endWith",
|
|
44524
|
-
"price_book_id"
|
|
44951
|
+
"price_book_id",
|
|
44952
|
+
"custom_properties"
|
|
44525
44953
|
]
|
|
44526
44954
|
});
|
|
44527
44955
|
});
|
|
44528
|
-
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <json>", `Price configurations for the product.`).option("--aggregator <json>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <json>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--credits-grant-mode <value>", `
|
|
44956
|
+
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration. With catalog versioning enabled, the change is staged in the pending catalog draft and only goes live after publish_catalog_draft.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <json>", `Price configurations for the product.`).option("--aggregator <json>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <json>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--credits-grant-mode <value>", `
|
|
44529
44957
|
How the periodic credit allowance is granted for partial billing periods.
|
|
44530
44958
|
|
|
44531
44959
|
- \`prorated\` (default): the granted credits are prorated to the elapsed period.
|
|
@@ -44613,7 +45041,7 @@ Examples:
|
|
|
44613
45041
|
queryParamKeys: ["price_book_id"]
|
|
44614
45042
|
});
|
|
44615
45043
|
});
|
|
44616
|
-
resource.command("update").description(`Update a product's name, description, type, or configuration by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--properties <json>", `properties`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).addHelpText("after", `
|
|
45044
|
+
resource.command("update").description(`Update a product's name, description, type, or configuration by ID. With catalog versioning enabled, the change is staged in the pending catalog draft and only goes live after publish_catalog_draft.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--public-description <value>", `Public description of the product.`).option("--translations <json>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--properties <json>", `properties`).option("--custom-properties <json>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <json>", `Mapping invoicing entity ID/accounting settings.`).addHelpText("after", `
|
|
44617
45045
|
Examples:
|
|
44618
45046
|
hyperline products update --id <id> --name <name>
|
|
44619
45047
|
hyperline products update --id <id> --name <name> --description <description> --public-description <public_description>
|
|
@@ -44717,6 +45145,80 @@ Examples:
|
|
|
44717
45145
|
});
|
|
44718
45146
|
}
|
|
44719
45147
|
|
|
45148
|
+
// build/commands/generated/products-features.js
|
|
45149
|
+
function registerProducts_FeaturesCommands(parent) {
|
|
45150
|
+
const resource = parent.command("products-features").description("Manage products > features");
|
|
45151
|
+
resource.command("list-product-features").description(`List feature values assigned to a product.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
45152
|
+
Examples:
|
|
45153
|
+
hyperline products-features list-product-features --id <id>`).action(async (opts) => {
|
|
45154
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45155
|
+
if (!ctx) {
|
|
45156
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45157
|
+
process.exit(1);
|
|
45158
|
+
}
|
|
45159
|
+
const args = {};
|
|
45160
|
+
if (opts.id !== void 0)
|
|
45161
|
+
args.id = opts.id;
|
|
45162
|
+
await ctx.execute({
|
|
45163
|
+
method: "GET",
|
|
45164
|
+
path: "/v1/products/{id}/features",
|
|
45165
|
+
args,
|
|
45166
|
+
queryParamKeys: []
|
|
45167
|
+
});
|
|
45168
|
+
});
|
|
45169
|
+
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", `
|
|
45170
|
+
Examples:
|
|
45171
|
+
hyperline products-features set-product-feature --id <id> --code <code> --value
|
|
45172
|
+
hyperline products-features set-product-feature --id <id> --code <code> --value --output json`).action(async (opts) => {
|
|
45173
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45174
|
+
if (!ctx) {
|
|
45175
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45176
|
+
process.exit(1);
|
|
45177
|
+
}
|
|
45178
|
+
const args = {};
|
|
45179
|
+
if (opts.id !== void 0)
|
|
45180
|
+
args.id = opts.id;
|
|
45181
|
+
if (opts.code !== void 0)
|
|
45182
|
+
args.code = opts.code;
|
|
45183
|
+
if (opts.value !== void 0)
|
|
45184
|
+
args.value = true;
|
|
45185
|
+
await ctx.execute({
|
|
45186
|
+
method: "PUT",
|
|
45187
|
+
path: "/v1/products/{id}/features/{code}",
|
|
45188
|
+
args,
|
|
45189
|
+
queryParamKeys: []
|
|
45190
|
+
});
|
|
45191
|
+
});
|
|
45192
|
+
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", `
|
|
45193
|
+
Examples:
|
|
45194
|
+
hyperline products-features delete-product-feature --id <id> --code <code>
|
|
45195
|
+
hyperline products-features delete-product-feature --id <id> --code <code> --output json`).action(async (opts) => {
|
|
45196
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45197
|
+
if (!ctx) {
|
|
45198
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45199
|
+
process.exit(1);
|
|
45200
|
+
}
|
|
45201
|
+
const args = {};
|
|
45202
|
+
if (opts.id !== void 0)
|
|
45203
|
+
args.id = opts.id;
|
|
45204
|
+
if (opts.code !== void 0)
|
|
45205
|
+
args.code = opts.code;
|
|
45206
|
+
if (!opts.yes) {
|
|
45207
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
45208
|
+
if (!confirmed) {
|
|
45209
|
+
process.stdout.write("Aborted.\n");
|
|
45210
|
+
return;
|
|
45211
|
+
}
|
|
45212
|
+
}
|
|
45213
|
+
await ctx.execute({
|
|
45214
|
+
method: "DELETE",
|
|
45215
|
+
path: "/v1/products/{id}/features/{code}",
|
|
45216
|
+
args,
|
|
45217
|
+
queryParamKeys: []
|
|
45218
|
+
});
|
|
45219
|
+
});
|
|
45220
|
+
}
|
|
45221
|
+
|
|
44720
45222
|
// build/commands/generated/quotes.js
|
|
44721
45223
|
function registerQuotesCommands(parent) {
|
|
44722
45224
|
const resource = parent.command("quotes").description("Manage quotes");
|
|
@@ -44726,12 +45228,12 @@ Quote status.
|
|
|
44726
45228
|
- \`draft\`: The quote is a draft.
|
|
44727
45229
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
44728
45230
|
- \`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.
|
|
45231
|
+
`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. The user must be a member of your Hyperline account. 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
45232
|
|
|
44731
45233
|
- \`all\`: Display all pricing tiers.
|
|
44732
45234
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
44733
45235
|
- \`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", `
|
|
45236
|
+
`).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
45237
|
Examples:
|
|
44736
45238
|
hyperline quotes create --customer-id <customer_id>
|
|
44737
45239
|
hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
|
|
@@ -44770,6 +45272,8 @@ Examples:
|
|
|
44770
45272
|
args.display_price_tiers = opts.displayPriceTiers;
|
|
44771
45273
|
if (opts.displayPhaseValue !== void 0)
|
|
44772
45274
|
args.display_phase_value = opts.displayPhaseValue;
|
|
45275
|
+
if (opts.displayDiscountsOnTotal !== void 0)
|
|
45276
|
+
args.display_discounts_on_total = opts.displayDiscountsOnTotal;
|
|
44773
45277
|
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
44774
45278
|
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
44775
45279
|
if (opts.displayDocumentsInPreview !== void 0)
|
|
@@ -44784,6 +45288,8 @@ Examples:
|
|
|
44784
45288
|
args.expires_at = opts.expiresAt;
|
|
44785
45289
|
if (opts.amount !== void 0)
|
|
44786
45290
|
args.amount = Number(opts.amount);
|
|
45291
|
+
if (opts.contractValue !== void 0)
|
|
45292
|
+
args.contract_value = Number(opts.contractValue);
|
|
44787
45293
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
44788
45294
|
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
44789
45295
|
if (opts.contractClauseIds !== void 0)
|
|
@@ -44799,7 +45305,7 @@ Examples:
|
|
|
44799
45305
|
queryParamKeys: []
|
|
44800
45306
|
});
|
|
44801
45307
|
});
|
|
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.
|
|
45308
|
+
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
45309
|
Examples:
|
|
44804
45310
|
hyperline quotes list
|
|
44805
45311
|
hyperline quotes list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44813,10 +45319,6 @@ Examples:
|
|
|
44813
45319
|
args.id = opts.id;
|
|
44814
45320
|
if (opts["id.not"] !== void 0)
|
|
44815
45321
|
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
45322
|
if (opts["id.equals"] !== void 0)
|
|
44821
45323
|
args.id__equals = opts["id.equals"];
|
|
44822
45324
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44829,10 +45331,6 @@ Examples:
|
|
|
44829
45331
|
args.number = opts.number;
|
|
44830
45332
|
if (opts["number.not"] !== void 0)
|
|
44831
45333
|
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
45334
|
if (opts["number.equals"] !== void 0)
|
|
44837
45335
|
args.number__equals = opts["number.equals"];
|
|
44838
45336
|
if (opts["number.contains"] !== void 0)
|
|
@@ -44849,10 +45347,6 @@ Examples:
|
|
|
44849
45347
|
args.customer_id = opts.customerId;
|
|
44850
45348
|
if (opts["customerId.not"] !== void 0)
|
|
44851
45349
|
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
45350
|
if (opts["customerId.equals"] !== void 0)
|
|
44857
45351
|
args.customer_id__equals = opts["customerId.equals"];
|
|
44858
45352
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -44865,10 +45359,6 @@ Examples:
|
|
|
44865
45359
|
args.template_id = opts.templateId;
|
|
44866
45360
|
if (opts["templateId.not"] !== void 0)
|
|
44867
45361
|
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
45362
|
if (opts["templateId.equals"] !== void 0)
|
|
44873
45363
|
args.template_id__equals = opts["templateId.equals"];
|
|
44874
45364
|
if (opts["templateId.contains"] !== void 0)
|
|
@@ -44877,14 +45367,14 @@ Examples:
|
|
|
44877
45367
|
args.template_id__startsWith = opts["templateId.startsWith"];
|
|
44878
45368
|
if (opts["templateId.endWith"] !== void 0)
|
|
44879
45369
|
args.template_id__endWith = opts["templateId.endWith"];
|
|
45370
|
+
if (opts["templateId.isNull"] !== void 0)
|
|
45371
|
+
args.template_id__isNull = opts["templateId.isNull"];
|
|
45372
|
+
if (opts["templateId.isNotNull"] !== void 0)
|
|
45373
|
+
args.template_id__isNotNull = opts["templateId.isNotNull"];
|
|
44880
45374
|
if (opts.crmOpportunityId !== void 0)
|
|
44881
45375
|
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
44882
45376
|
if (opts["crmOpportunityId.not"] !== void 0)
|
|
44883
45377
|
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
45378
|
if (opts["crmOpportunityId.equals"] !== void 0)
|
|
44889
45379
|
args.crm_opportunity_id__equals = opts["crmOpportunityId.equals"];
|
|
44890
45380
|
if (opts["crmOpportunityId.contains"] !== void 0)
|
|
@@ -44893,30 +45383,16 @@ Examples:
|
|
|
44893
45383
|
args.crm_opportunity_id__startsWith = opts["crmOpportunityId.startsWith"];
|
|
44894
45384
|
if (opts["crmOpportunityId.endWith"] !== void 0)
|
|
44895
45385
|
args.crm_opportunity_id__endWith = opts["crmOpportunityId.endWith"];
|
|
45386
|
+
if (opts["crmOpportunityId.isNull"] !== void 0)
|
|
45387
|
+
args.crm_opportunity_id__isNull = opts["crmOpportunityId.isNull"];
|
|
45388
|
+
if (opts["crmOpportunityId.isNotNull"] !== void 0)
|
|
45389
|
+
args.crm_opportunity_id__isNotNull = opts["crmOpportunityId.isNotNull"];
|
|
44896
45390
|
if (opts.type !== void 0)
|
|
44897
45391
|
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
45392
|
if (opts.updatedAt !== void 0)
|
|
44913
45393
|
args.updated_at = opts.updatedAt;
|
|
44914
45394
|
if (opts["updatedAt.not"] !== void 0)
|
|
44915
45395
|
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
45396
|
if (opts["updatedAt.equals"] !== void 0)
|
|
44921
45397
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44922
45398
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44940,16 +45416,12 @@ Examples:
|
|
|
44940
45416
|
"skip",
|
|
44941
45417
|
"id",
|
|
44942
45418
|
"id__not",
|
|
44943
|
-
"id__isNull",
|
|
44944
|
-
"id__isNotNull",
|
|
44945
45419
|
"id__equals",
|
|
44946
45420
|
"id__contains",
|
|
44947
45421
|
"id__startsWith",
|
|
44948
45422
|
"id__endWith",
|
|
44949
45423
|
"number",
|
|
44950
45424
|
"number__not",
|
|
44951
|
-
"number__isNull",
|
|
44952
|
-
"number__isNotNull",
|
|
44953
45425
|
"number__equals",
|
|
44954
45426
|
"number__contains",
|
|
44955
45427
|
"number__startsWith",
|
|
@@ -44958,40 +45430,29 @@ Examples:
|
|
|
44958
45430
|
"status__in",
|
|
44959
45431
|
"customer_id",
|
|
44960
45432
|
"customer_id__not",
|
|
44961
|
-
"customer_id__isNull",
|
|
44962
|
-
"customer_id__isNotNull",
|
|
44963
45433
|
"customer_id__equals",
|
|
44964
45434
|
"customer_id__contains",
|
|
44965
45435
|
"customer_id__startsWith",
|
|
44966
45436
|
"customer_id__endWith",
|
|
44967
45437
|
"template_id",
|
|
44968
45438
|
"template_id__not",
|
|
44969
|
-
"template_id__isNull",
|
|
44970
|
-
"template_id__isNotNull",
|
|
44971
45439
|
"template_id__equals",
|
|
44972
45440
|
"template_id__contains",
|
|
44973
45441
|
"template_id__startsWith",
|
|
44974
45442
|
"template_id__endWith",
|
|
45443
|
+
"template_id__isNull",
|
|
45444
|
+
"template_id__isNotNull",
|
|
44975
45445
|
"crm_opportunity_id",
|
|
44976
45446
|
"crm_opportunity_id__not",
|
|
44977
|
-
"crm_opportunity_id__isNull",
|
|
44978
|
-
"crm_opportunity_id__isNotNull",
|
|
44979
45447
|
"crm_opportunity_id__equals",
|
|
44980
45448
|
"crm_opportunity_id__contains",
|
|
44981
45449
|
"crm_opportunity_id__startsWith",
|
|
44982
45450
|
"crm_opportunity_id__endWith",
|
|
45451
|
+
"crm_opportunity_id__isNull",
|
|
45452
|
+
"crm_opportunity_id__isNotNull",
|
|
44983
45453
|
"type",
|
|
44984
|
-
"type__not",
|
|
44985
|
-
"type__isNull",
|
|
44986
|
-
"type__isNotNull",
|
|
44987
|
-
"type__equals",
|
|
44988
|
-
"type__contains",
|
|
44989
|
-
"type__startsWith",
|
|
44990
|
-
"type__endWith",
|
|
44991
45454
|
"updated_at",
|
|
44992
45455
|
"updated_at__not",
|
|
44993
|
-
"updated_at__isNull",
|
|
44994
|
-
"updated_at__isNotNull",
|
|
44995
45456
|
"updated_at__equals",
|
|
44996
45457
|
"updated_at__lt",
|
|
44997
45458
|
"updated_at__lte",
|
|
@@ -45018,12 +45479,12 @@ Examples:
|
|
|
45018
45479
|
queryParamKeys: []
|
|
45019
45480
|
});
|
|
45020
45481
|
});
|
|
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.
|
|
45482
|
+
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 user must be a member of your Hyperline account. 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
45483
|
|
|
45023
45484
|
- \`all\`: Display all pricing tiers.
|
|
45024
45485
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
45025
45486
|
- \`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", `
|
|
45487
|
+
`).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
45488
|
Examples:
|
|
45028
45489
|
hyperline quotes update --id <id>
|
|
45029
45490
|
hyperline quotes update --id <id> --owner-email <owner_email> --catalog-version-id <catalog_version_id>
|
|
@@ -45058,6 +45519,8 @@ Examples:
|
|
|
45058
45519
|
args.display_price_tiers = opts.displayPriceTiers;
|
|
45059
45520
|
if (opts.displayPhaseValue !== void 0)
|
|
45060
45521
|
args.display_phase_value = opts.displayPhaseValue;
|
|
45522
|
+
if (opts.displayDiscountsOnTotal !== void 0)
|
|
45523
|
+
args.display_discounts_on_total = opts.displayDiscountsOnTotal;
|
|
45061
45524
|
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
45062
45525
|
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
45063
45526
|
if (opts.displayDocumentsInPreview !== void 0)
|
|
@@ -45072,6 +45535,8 @@ Examples:
|
|
|
45072
45535
|
args.expires_at = opts.expiresAt;
|
|
45073
45536
|
if (opts.amount !== void 0)
|
|
45074
45537
|
args.amount = Number(opts.amount);
|
|
45538
|
+
if (opts.contractValue !== void 0)
|
|
45539
|
+
args.contract_value = Number(opts.contractValue);
|
|
45075
45540
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
45076
45541
|
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
45077
45542
|
if (opts.contractClauseIds !== void 0)
|
|
@@ -45149,6 +45614,25 @@ Examples:
|
|
|
45149
45614
|
queryParamKeys: []
|
|
45150
45615
|
});
|
|
45151
45616
|
});
|
|
45617
|
+
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", `
|
|
45618
|
+
Examples:
|
|
45619
|
+
hyperline quotes redraft --id <id>
|
|
45620
|
+
hyperline quotes redraft --id <id> --output json`).action(async (opts) => {
|
|
45621
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45622
|
+
if (!ctx) {
|
|
45623
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45624
|
+
process.exit(1);
|
|
45625
|
+
}
|
|
45626
|
+
const args = {};
|
|
45627
|
+
if (opts.id !== void 0)
|
|
45628
|
+
args.id = opts.id;
|
|
45629
|
+
await ctx.execute({
|
|
45630
|
+
method: "POST",
|
|
45631
|
+
path: "/v1/quotes/{id}/redraft",
|
|
45632
|
+
args,
|
|
45633
|
+
queryParamKeys: []
|
|
45634
|
+
});
|
|
45635
|
+
});
|
|
45152
45636
|
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
45637
|
Examples:
|
|
45154
45638
|
hyperline quotes send --id <id>
|
|
@@ -45346,7 +45830,7 @@ Examples:
|
|
|
45346
45830
|
// build/commands/generated/quotes-templates.js
|
|
45347
45831
|
function registerQuotes_TemplatesCommands(parent) {
|
|
45348
45832
|
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.
|
|
45833
|
+
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
45834
|
Examples:
|
|
45351
45835
|
hyperline quotes-templates list-quote-templates
|
|
45352
45836
|
hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -45360,10 +45844,6 @@ Examples:
|
|
|
45360
45844
|
args.id = opts.id;
|
|
45361
45845
|
if (opts["id.not"] !== void 0)
|
|
45362
45846
|
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
45847
|
if (opts["id.equals"] !== void 0)
|
|
45368
45848
|
args.id__equals = opts["id.equals"];
|
|
45369
45849
|
if (opts["id.contains"] !== void 0)
|
|
@@ -45376,10 +45856,6 @@ Examples:
|
|
|
45376
45856
|
args.name = opts.name;
|
|
45377
45857
|
if (opts["name.not"] !== void 0)
|
|
45378
45858
|
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
45859
|
if (opts["name.equals"] !== void 0)
|
|
45384
45860
|
args.name__equals = opts["name.equals"];
|
|
45385
45861
|
if (opts["name.contains"] !== void 0)
|
|
@@ -45392,10 +45868,6 @@ Examples:
|
|
|
45392
45868
|
args.subscription_template_id = opts.subscriptionTemplateId;
|
|
45393
45869
|
if (opts["subscriptionTemplateId.not"] !== void 0)
|
|
45394
45870
|
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
45871
|
if (opts["subscriptionTemplateId.equals"] !== void 0)
|
|
45400
45872
|
args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
|
|
45401
45873
|
if (opts["subscriptionTemplateId.contains"] !== void 0)
|
|
@@ -45404,6 +45876,10 @@ Examples:
|
|
|
45404
45876
|
args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
|
|
45405
45877
|
if (opts["subscriptionTemplateId.endWith"] !== void 0)
|
|
45406
45878
|
args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
|
|
45879
|
+
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
45880
|
+
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
45881
|
+
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
45882
|
+
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
45407
45883
|
if (opts.search !== void 0)
|
|
45408
45884
|
args.search = opts.search;
|
|
45409
45885
|
if (opts.take !== void 0)
|
|
@@ -45419,28 +45895,24 @@ Examples:
|
|
|
45419
45895
|
"skip",
|
|
45420
45896
|
"id",
|
|
45421
45897
|
"id__not",
|
|
45422
|
-
"id__isNull",
|
|
45423
|
-
"id__isNotNull",
|
|
45424
45898
|
"id__equals",
|
|
45425
45899
|
"id__contains",
|
|
45426
45900
|
"id__startsWith",
|
|
45427
45901
|
"id__endWith",
|
|
45428
45902
|
"name",
|
|
45429
45903
|
"name__not",
|
|
45430
|
-
"name__isNull",
|
|
45431
|
-
"name__isNotNull",
|
|
45432
45904
|
"name__equals",
|
|
45433
45905
|
"name__contains",
|
|
45434
45906
|
"name__startsWith",
|
|
45435
45907
|
"name__endWith",
|
|
45436
45908
|
"subscription_template_id",
|
|
45437
45909
|
"subscription_template_id__not",
|
|
45438
|
-
"subscription_template_id__isNull",
|
|
45439
|
-
"subscription_template_id__isNotNull",
|
|
45440
45910
|
"subscription_template_id__equals",
|
|
45441
45911
|
"subscription_template_id__contains",
|
|
45442
45912
|
"subscription_template_id__startsWith",
|
|
45443
45913
|
"subscription_template_id__endWith",
|
|
45914
|
+
"subscription_template_id__isNull",
|
|
45915
|
+
"subscription_template_id__isNotNull",
|
|
45444
45916
|
"search"
|
|
45445
45917
|
]
|
|
45446
45918
|
});
|
|
@@ -45842,7 +46314,7 @@ Examples:
|
|
|
45842
46314
|
queryParamKeys: []
|
|
45843
46315
|
});
|
|
45844
46316
|
});
|
|
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>", `
|
|
46317
|
+
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 (JSON object of slug to exact value, e.g. {"my_slug":"value"}; slugs matching no custom property are ignored), 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
46318
|
Subscription status filter.
|
|
45847
46319
|
|
|
45848
46320
|
- \`active\`, \`pending\`, \`paused\`, \`errored\`, \`cancelled\`, \`draft\`, \`voided\`, \`archived\`: match that status.
|
|
@@ -45851,7 +46323,7 @@ Subscription status filter.
|
|
|
45851
46323
|
- \`any\`: every status, no exclusion.
|
|
45852
46324
|
|
|
45853
46325
|
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.
|
|
46326
|
+
`).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>", `Filter by custom property values, as a JSON object mapping a custom property slug to the exact value to match. Suffix a slug with \`__contains\` for a case-sensitive substring match on text values. Several entries are combined with AND. Entries whose slug matches no custom property, or whose value is \`false\`, \`0\`, \`null\` or an empty string, are ignored.`).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
46327
|
Examples:
|
|
45856
46328
|
hyperline subscriptions list
|
|
45857
46329
|
hyperline subscriptions list --take <take> --activation-strategy <activation_strategy>`).action(async (opts) => {
|
|
@@ -45873,10 +46345,6 @@ Examples:
|
|
|
45873
46345
|
args.currency = opts.currency;
|
|
45874
46346
|
if (opts["currency.not"] !== void 0)
|
|
45875
46347
|
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
46348
|
if (opts["currency.equals"] !== void 0)
|
|
45881
46349
|
args.currency__equals = opts["currency.equals"];
|
|
45882
46350
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -45889,10 +46357,6 @@ Examples:
|
|
|
45889
46357
|
args.plan_id = opts.planId;
|
|
45890
46358
|
if (opts["planId.not"] !== void 0)
|
|
45891
46359
|
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
46360
|
if (opts["planId.equals"] !== void 0)
|
|
45897
46361
|
args.plan_id__equals = opts["planId.equals"];
|
|
45898
46362
|
if (opts["planId.contains"] !== void 0)
|
|
@@ -45901,14 +46365,14 @@ Examples:
|
|
|
45901
46365
|
args.plan_id__startsWith = opts["planId.startsWith"];
|
|
45902
46366
|
if (opts["planId.endWith"] !== void 0)
|
|
45903
46367
|
args.plan_id__endWith = opts["planId.endWith"];
|
|
46368
|
+
if (opts["planId.isNull"] !== void 0)
|
|
46369
|
+
args.plan_id__isNull = opts["planId.isNull"];
|
|
46370
|
+
if (opts["planId.isNotNull"] !== void 0)
|
|
46371
|
+
args.plan_id__isNotNull = opts["planId.isNotNull"];
|
|
45904
46372
|
if (opts.originalQuoteId !== void 0)
|
|
45905
46373
|
args.original_quote_id = opts.originalQuoteId;
|
|
45906
46374
|
if (opts["originalQuoteId.not"] !== void 0)
|
|
45907
46375
|
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
46376
|
if (opts["originalQuoteId.equals"] !== void 0)
|
|
45913
46377
|
args.original_quote_id__equals = opts["originalQuoteId.equals"];
|
|
45914
46378
|
if (opts["originalQuoteId.contains"] !== void 0)
|
|
@@ -45917,14 +46381,14 @@ Examples:
|
|
|
45917
46381
|
args.original_quote_id__startsWith = opts["originalQuoteId.startsWith"];
|
|
45918
46382
|
if (opts["originalQuoteId.endWith"] !== void 0)
|
|
45919
46383
|
args.original_quote_id__endWith = opts["originalQuoteId.endWith"];
|
|
46384
|
+
if (opts["originalQuoteId.isNull"] !== void 0)
|
|
46385
|
+
args.original_quote_id__isNull = opts["originalQuoteId.isNull"];
|
|
46386
|
+
if (opts["originalQuoteId.isNotNull"] !== void 0)
|
|
46387
|
+
args.original_quote_id__isNotNull = opts["originalQuoteId.isNotNull"];
|
|
45920
46388
|
if (opts.customerId !== void 0)
|
|
45921
46389
|
args.customer_id = opts.customerId;
|
|
45922
46390
|
if (opts["customerId.not"] !== void 0)
|
|
45923
46391
|
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
46392
|
if (opts["customerId.equals"] !== void 0)
|
|
45929
46393
|
args.customer_id__equals = opts["customerId.equals"];
|
|
45930
46394
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -45933,16 +46397,16 @@ Examples:
|
|
|
45933
46397
|
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
45934
46398
|
if (opts["customerId.endWith"] !== void 0)
|
|
45935
46399
|
args.customer_id__endWith = opts["customerId.endWith"];
|
|
46400
|
+
if (opts["customerId.isNull"] !== void 0)
|
|
46401
|
+
args.customer_id__isNull = opts["customerId.isNull"];
|
|
46402
|
+
if (opts["customerId.isNotNull"] !== void 0)
|
|
46403
|
+
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
45936
46404
|
if (opts.invoicingEntityId !== void 0)
|
|
45937
46405
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
45938
46406
|
if (opts.purchaseOrder !== void 0)
|
|
45939
46407
|
args.purchase_order = opts.purchaseOrder;
|
|
45940
46408
|
if (opts["purchaseOrder.not"] !== void 0)
|
|
45941
46409
|
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
46410
|
if (opts["purchaseOrder.equals"] !== void 0)
|
|
45947
46411
|
args.purchase_order__equals = opts["purchaseOrder.equals"];
|
|
45948
46412
|
if (opts["purchaseOrder.contains"] !== void 0)
|
|
@@ -45951,6 +46415,10 @@ Examples:
|
|
|
45951
46415
|
args.purchase_order__startsWith = opts["purchaseOrder.startsWith"];
|
|
45952
46416
|
if (opts["purchaseOrder.endWith"] !== void 0)
|
|
45953
46417
|
args.purchase_order__endWith = opts["purchaseOrder.endWith"];
|
|
46418
|
+
if (opts["purchaseOrder.isNull"] !== void 0)
|
|
46419
|
+
args.purchase_order__isNull = opts["purchaseOrder.isNull"];
|
|
46420
|
+
if (opts["purchaseOrder.isNotNull"] !== void 0)
|
|
46421
|
+
args.purchase_order__isNotNull = opts["purchaseOrder.isNotNull"];
|
|
45954
46422
|
if (opts.customProperties !== void 0)
|
|
45955
46423
|
args.custom_properties = opts.customProperties;
|
|
45956
46424
|
if (opts.invoiceDrafts !== void 0)
|
|
@@ -45961,10 +46429,6 @@ Examples:
|
|
|
45961
46429
|
args.updated_at = opts.updatedAt;
|
|
45962
46430
|
if (opts["updatedAt.not"] !== void 0)
|
|
45963
46431
|
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
46432
|
if (opts["updatedAt.equals"] !== void 0)
|
|
45969
46433
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
45970
46434
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -45975,6 +46439,34 @@ Examples:
|
|
|
45975
46439
|
args.updated_at__gt = opts["updatedAt.gt"];
|
|
45976
46440
|
if (opts["updatedAt.gte"] !== void 0)
|
|
45977
46441
|
args.updated_at__gte = opts["updatedAt.gte"];
|
|
46442
|
+
if (opts.cancelAt !== void 0)
|
|
46443
|
+
args.cancel_at = opts.cancelAt;
|
|
46444
|
+
if (opts["cancelAt.not"] !== void 0)
|
|
46445
|
+
args.cancel_at__not = opts["cancelAt.not"];
|
|
46446
|
+
if (opts["cancelAt.equals"] !== void 0)
|
|
46447
|
+
args.cancel_at__equals = opts["cancelAt.equals"];
|
|
46448
|
+
if (opts["cancelAt.lt"] !== void 0)
|
|
46449
|
+
args.cancel_at__lt = opts["cancelAt.lt"];
|
|
46450
|
+
if (opts["cancelAt.lte"] !== void 0)
|
|
46451
|
+
args.cancel_at__lte = opts["cancelAt.lte"];
|
|
46452
|
+
if (opts["cancelAt.gt"] !== void 0)
|
|
46453
|
+
args.cancel_at__gt = opts["cancelAt.gt"];
|
|
46454
|
+
if (opts["cancelAt.gte"] !== void 0)
|
|
46455
|
+
args.cancel_at__gte = opts["cancelAt.gte"];
|
|
46456
|
+
if (opts["cancelAt.isNull"] !== void 0)
|
|
46457
|
+
args.cancel_at__isNull = opts["cancelAt.isNull"];
|
|
46458
|
+
if (opts["cancelAt.isNotNull"] !== void 0)
|
|
46459
|
+
args.cancel_at__isNotNull = opts["cancelAt.isNotNull"];
|
|
46460
|
+
if (opts["contractStart.gte"] !== void 0)
|
|
46461
|
+
args.contract_start__gte = opts["contractStart.gte"];
|
|
46462
|
+
if (opts["contractStart.lte"] !== void 0)
|
|
46463
|
+
args.contract_start__lte = opts["contractStart.lte"];
|
|
46464
|
+
if (opts["contractEnd.gte"] !== void 0)
|
|
46465
|
+
args.contract_end__gte = opts["contractEnd.gte"];
|
|
46466
|
+
if (opts["contractEnd.lte"] !== void 0)
|
|
46467
|
+
args.contract_end__lte = opts["contractEnd.lte"];
|
|
46468
|
+
if (opts.renewAutomatically !== void 0)
|
|
46469
|
+
args.renew_automatically = opts.renewAutomatically;
|
|
45978
46470
|
if (opts.take !== void 0)
|
|
45979
46471
|
args.take = Number(opts.take);
|
|
45980
46472
|
if (opts.skip !== void 0)
|
|
@@ -45992,57 +46484,67 @@ Examples:
|
|
|
45992
46484
|
"status__in",
|
|
45993
46485
|
"currency",
|
|
45994
46486
|
"currency__not",
|
|
45995
|
-
"currency__isNull",
|
|
45996
|
-
"currency__isNotNull",
|
|
45997
46487
|
"currency__equals",
|
|
45998
46488
|
"currency__contains",
|
|
45999
46489
|
"currency__startsWith",
|
|
46000
46490
|
"currency__endWith",
|
|
46001
46491
|
"plan_id",
|
|
46002
46492
|
"plan_id__not",
|
|
46003
|
-
"plan_id__isNull",
|
|
46004
|
-
"plan_id__isNotNull",
|
|
46005
46493
|
"plan_id__equals",
|
|
46006
46494
|
"plan_id__contains",
|
|
46007
46495
|
"plan_id__startsWith",
|
|
46008
46496
|
"plan_id__endWith",
|
|
46497
|
+
"plan_id__isNull",
|
|
46498
|
+
"plan_id__isNotNull",
|
|
46009
46499
|
"original_quote_id",
|
|
46010
46500
|
"original_quote_id__not",
|
|
46011
|
-
"original_quote_id__isNull",
|
|
46012
|
-
"original_quote_id__isNotNull",
|
|
46013
46501
|
"original_quote_id__equals",
|
|
46014
46502
|
"original_quote_id__contains",
|
|
46015
46503
|
"original_quote_id__startsWith",
|
|
46016
46504
|
"original_quote_id__endWith",
|
|
46505
|
+
"original_quote_id__isNull",
|
|
46506
|
+
"original_quote_id__isNotNull",
|
|
46017
46507
|
"customer_id",
|
|
46018
46508
|
"customer_id__not",
|
|
46019
|
-
"customer_id__isNull",
|
|
46020
|
-
"customer_id__isNotNull",
|
|
46021
46509
|
"customer_id__equals",
|
|
46022
46510
|
"customer_id__contains",
|
|
46023
46511
|
"customer_id__startsWith",
|
|
46024
46512
|
"customer_id__endWith",
|
|
46513
|
+
"customer_id__isNull",
|
|
46514
|
+
"customer_id__isNotNull",
|
|
46025
46515
|
"invoicing_entity_id",
|
|
46026
46516
|
"purchase_order",
|
|
46027
46517
|
"purchase_order__not",
|
|
46028
|
-
"purchase_order__isNull",
|
|
46029
|
-
"purchase_order__isNotNull",
|
|
46030
46518
|
"purchase_order__equals",
|
|
46031
46519
|
"purchase_order__contains",
|
|
46032
46520
|
"purchase_order__startsWith",
|
|
46033
46521
|
"purchase_order__endWith",
|
|
46522
|
+
"purchase_order__isNull",
|
|
46523
|
+
"purchase_order__isNotNull",
|
|
46034
46524
|
"custom_properties",
|
|
46035
46525
|
"invoice_drafts",
|
|
46036
46526
|
"integration_entity_id",
|
|
46037
46527
|
"updated_at",
|
|
46038
46528
|
"updated_at__not",
|
|
46039
|
-
"updated_at__isNull",
|
|
46040
|
-
"updated_at__isNotNull",
|
|
46041
46529
|
"updated_at__equals",
|
|
46042
46530
|
"updated_at__lt",
|
|
46043
46531
|
"updated_at__lte",
|
|
46044
46532
|
"updated_at__gt",
|
|
46045
|
-
"updated_at__gte"
|
|
46533
|
+
"updated_at__gte",
|
|
46534
|
+
"cancel_at",
|
|
46535
|
+
"cancel_at__not",
|
|
46536
|
+
"cancel_at__equals",
|
|
46537
|
+
"cancel_at__lt",
|
|
46538
|
+
"cancel_at__lte",
|
|
46539
|
+
"cancel_at__gt",
|
|
46540
|
+
"cancel_at__gte",
|
|
46541
|
+
"cancel_at__isNull",
|
|
46542
|
+
"cancel_at__isNotNull",
|
|
46543
|
+
"contract_start__gte",
|
|
46544
|
+
"contract_start__lte",
|
|
46545
|
+
"contract_end__gte",
|
|
46546
|
+
"contract_end__lte",
|
|
46547
|
+
"renew_automatically"
|
|
46046
46548
|
]
|
|
46047
46549
|
});
|
|
46048
46550
|
});
|
|
@@ -46324,7 +46826,7 @@ Examples:
|
|
|
46324
46826
|
// build/commands/generated/subscriptions-transitions.js
|
|
46325
46827
|
function registerSubscriptions_TransitionsCommands(parent) {
|
|
46326
46828
|
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.
|
|
46829
|
+
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
46830
|
Examples:
|
|
46329
46831
|
hyperline subscriptions-transitions list-subscription-transitions
|
|
46330
46832
|
hyperline subscriptions-transitions list-subscription-transitions --take <take> --status <status>`).action(async (opts) => {
|
|
@@ -46342,10 +46844,6 @@ Examples:
|
|
|
46342
46844
|
args.source_subscription_id = opts.sourceSubscriptionId;
|
|
46343
46845
|
if (opts["sourceSubscriptionId.not"] !== void 0)
|
|
46344
46846
|
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
46847
|
if (opts["sourceSubscriptionId.equals"] !== void 0)
|
|
46350
46848
|
args.source_subscription_id__equals = opts["sourceSubscriptionId.equals"];
|
|
46351
46849
|
if (opts["sourceSubscriptionId.contains"] !== void 0)
|
|
@@ -46358,10 +46856,6 @@ Examples:
|
|
|
46358
46856
|
args.base_subscription_id = opts.baseSubscriptionId;
|
|
46359
46857
|
if (opts["baseSubscriptionId.not"] !== void 0)
|
|
46360
46858
|
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
46859
|
if (opts["baseSubscriptionId.equals"] !== void 0)
|
|
46366
46860
|
args.base_subscription_id__equals = opts["baseSubscriptionId.equals"];
|
|
46367
46861
|
if (opts["baseSubscriptionId.contains"] !== void 0)
|
|
@@ -46374,10 +46868,6 @@ Examples:
|
|
|
46374
46868
|
args.target_subscription_id = opts.targetSubscriptionId;
|
|
46375
46869
|
if (opts["targetSubscriptionId.not"] !== void 0)
|
|
46376
46870
|
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
46871
|
if (opts["targetSubscriptionId.equals"] !== void 0)
|
|
46382
46872
|
args.target_subscription_id__equals = opts["targetSubscriptionId.equals"];
|
|
46383
46873
|
if (opts["targetSubscriptionId.contains"] !== void 0)
|
|
@@ -46386,14 +46876,14 @@ Examples:
|
|
|
46386
46876
|
args.target_subscription_id__startsWith = opts["targetSubscriptionId.startsWith"];
|
|
46387
46877
|
if (opts["targetSubscriptionId.endWith"] !== void 0)
|
|
46388
46878
|
args.target_subscription_id__endWith = opts["targetSubscriptionId.endWith"];
|
|
46879
|
+
if (opts["targetSubscriptionId.isNull"] !== void 0)
|
|
46880
|
+
args.target_subscription_id__isNull = opts["targetSubscriptionId.isNull"];
|
|
46881
|
+
if (opts["targetSubscriptionId.isNotNull"] !== void 0)
|
|
46882
|
+
args.target_subscription_id__isNotNull = opts["targetSubscriptionId.isNotNull"];
|
|
46389
46883
|
if (opts.transitionDate !== void 0)
|
|
46390
46884
|
args.transition_date = opts.transitionDate;
|
|
46391
46885
|
if (opts["transitionDate.not"] !== void 0)
|
|
46392
46886
|
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
46887
|
if (opts["transitionDate.equals"] !== void 0)
|
|
46398
46888
|
args.transition_date__equals = opts["transitionDate.equals"];
|
|
46399
46889
|
if (opts["transitionDate.lt"] !== void 0)
|
|
@@ -46404,14 +46894,14 @@ Examples:
|
|
|
46404
46894
|
args.transition_date__gt = opts["transitionDate.gt"];
|
|
46405
46895
|
if (opts["transitionDate.gte"] !== void 0)
|
|
46406
46896
|
args.transition_date__gte = opts["transitionDate.gte"];
|
|
46897
|
+
if (opts["transitionDate.isNull"] !== void 0)
|
|
46898
|
+
args.transition_date__isNull = opts["transitionDate.isNull"];
|
|
46899
|
+
if (opts["transitionDate.isNotNull"] !== void 0)
|
|
46900
|
+
args.transition_date__isNotNull = opts["transitionDate.isNotNull"];
|
|
46407
46901
|
if (opts.transitionedAt !== void 0)
|
|
46408
46902
|
args.transitioned_at = opts.transitionedAt;
|
|
46409
46903
|
if (opts["transitionedAt.not"] !== void 0)
|
|
46410
46904
|
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
46905
|
if (opts["transitionedAt.equals"] !== void 0)
|
|
46416
46906
|
args.transitioned_at__equals = opts["transitionedAt.equals"];
|
|
46417
46907
|
if (opts["transitionedAt.lt"] !== void 0)
|
|
@@ -46422,6 +46912,10 @@ Examples:
|
|
|
46422
46912
|
args.transitioned_at__gt = opts["transitionedAt.gt"];
|
|
46423
46913
|
if (opts["transitionedAt.gte"] !== void 0)
|
|
46424
46914
|
args.transitioned_at__gte = opts["transitionedAt.gte"];
|
|
46915
|
+
if (opts["transitionedAt.isNull"] !== void 0)
|
|
46916
|
+
args.transitioned_at__isNull = opts["transitionedAt.isNull"];
|
|
46917
|
+
if (opts["transitionedAt.isNotNull"] !== void 0)
|
|
46918
|
+
args.transitioned_at__isNotNull = opts["transitionedAt.isNotNull"];
|
|
46425
46919
|
if (opts.take !== void 0)
|
|
46426
46920
|
args.take = Number(opts.take);
|
|
46427
46921
|
if (opts.skip !== void 0)
|
|
@@ -46437,46 +46931,42 @@ Examples:
|
|
|
46437
46931
|
"status__in",
|
|
46438
46932
|
"source_subscription_id",
|
|
46439
46933
|
"source_subscription_id__not",
|
|
46440
|
-
"source_subscription_id__isNull",
|
|
46441
|
-
"source_subscription_id__isNotNull",
|
|
46442
46934
|
"source_subscription_id__equals",
|
|
46443
46935
|
"source_subscription_id__contains",
|
|
46444
46936
|
"source_subscription_id__startsWith",
|
|
46445
46937
|
"source_subscription_id__endWith",
|
|
46446
46938
|
"base_subscription_id",
|
|
46447
46939
|
"base_subscription_id__not",
|
|
46448
|
-
"base_subscription_id__isNull",
|
|
46449
|
-
"base_subscription_id__isNotNull",
|
|
46450
46940
|
"base_subscription_id__equals",
|
|
46451
46941
|
"base_subscription_id__contains",
|
|
46452
46942
|
"base_subscription_id__startsWith",
|
|
46453
46943
|
"base_subscription_id__endWith",
|
|
46454
46944
|
"target_subscription_id",
|
|
46455
46945
|
"target_subscription_id__not",
|
|
46456
|
-
"target_subscription_id__isNull",
|
|
46457
|
-
"target_subscription_id__isNotNull",
|
|
46458
46946
|
"target_subscription_id__equals",
|
|
46459
46947
|
"target_subscription_id__contains",
|
|
46460
46948
|
"target_subscription_id__startsWith",
|
|
46461
46949
|
"target_subscription_id__endWith",
|
|
46950
|
+
"target_subscription_id__isNull",
|
|
46951
|
+
"target_subscription_id__isNotNull",
|
|
46462
46952
|
"transition_date",
|
|
46463
46953
|
"transition_date__not",
|
|
46464
|
-
"transition_date__isNull",
|
|
46465
|
-
"transition_date__isNotNull",
|
|
46466
46954
|
"transition_date__equals",
|
|
46467
46955
|
"transition_date__lt",
|
|
46468
46956
|
"transition_date__lte",
|
|
46469
46957
|
"transition_date__gt",
|
|
46470
46958
|
"transition_date__gte",
|
|
46959
|
+
"transition_date__isNull",
|
|
46960
|
+
"transition_date__isNotNull",
|
|
46471
46961
|
"transitioned_at",
|
|
46472
46962
|
"transitioned_at__not",
|
|
46473
|
-
"transitioned_at__isNull",
|
|
46474
|
-
"transitioned_at__isNotNull",
|
|
46475
46963
|
"transitioned_at__equals",
|
|
46476
46964
|
"transitioned_at__lt",
|
|
46477
46965
|
"transitioned_at__lte",
|
|
46478
46966
|
"transitioned_at__gt",
|
|
46479
|
-
"transitioned_at__gte"
|
|
46967
|
+
"transitioned_at__gte",
|
|
46968
|
+
"transitioned_at__isNull",
|
|
46969
|
+
"transitioned_at__isNotNull"
|
|
46480
46970
|
]
|
|
46481
46971
|
});
|
|
46482
46972
|
});
|
|
@@ -46554,7 +47044,7 @@ Examples:
|
|
|
46554
47044
|
// build/commands/generated/taxes.js
|
|
46555
47045
|
function registerTaxesCommands(parent) {
|
|
46556
47046
|
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.
|
|
47047
|
+
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
47048
|
Examples:
|
|
46559
47049
|
hyperline taxes list-tax-rates
|
|
46560
47050
|
hyperline taxes list-tax-rates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -46568,10 +47058,6 @@ Examples:
|
|
|
46568
47058
|
args.id = opts.id;
|
|
46569
47059
|
if (opts["id.not"] !== void 0)
|
|
46570
47060
|
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
47061
|
if (opts["id.equals"] !== void 0)
|
|
46576
47062
|
args.id__equals = opts["id.equals"];
|
|
46577
47063
|
if (opts["id.contains"] !== void 0)
|
|
@@ -46584,10 +47070,6 @@ Examples:
|
|
|
46584
47070
|
args.name = opts.name;
|
|
46585
47071
|
if (opts["name.not"] !== void 0)
|
|
46586
47072
|
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
47073
|
if (opts["name.equals"] !== void 0)
|
|
46592
47074
|
args.name__equals = opts["name.equals"];
|
|
46593
47075
|
if (opts["name.contains"] !== void 0)
|
|
@@ -46596,14 +47078,14 @@ Examples:
|
|
|
46596
47078
|
args.name__startsWith = opts["name.startsWith"];
|
|
46597
47079
|
if (opts["name.endWith"] !== void 0)
|
|
46598
47080
|
args.name__endWith = opts["name.endWith"];
|
|
47081
|
+
if (opts["name.isNull"] !== void 0)
|
|
47082
|
+
args.name__isNull = opts["name.isNull"];
|
|
47083
|
+
if (opts["name.isNotNull"] !== void 0)
|
|
47084
|
+
args.name__isNotNull = opts["name.isNotNull"];
|
|
46599
47085
|
if (opts.description !== void 0)
|
|
46600
47086
|
args.description = opts.description;
|
|
46601
47087
|
if (opts["description.not"] !== void 0)
|
|
46602
47088
|
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
47089
|
if (opts["description.equals"] !== void 0)
|
|
46608
47090
|
args.description__equals = opts["description.equals"];
|
|
46609
47091
|
if (opts["description.contains"] !== void 0)
|
|
@@ -46612,14 +47094,14 @@ Examples:
|
|
|
46612
47094
|
args.description__startsWith = opts["description.startsWith"];
|
|
46613
47095
|
if (opts["description.endWith"] !== void 0)
|
|
46614
47096
|
args.description__endWith = opts["description.endWith"];
|
|
47097
|
+
if (opts["description.isNull"] !== void 0)
|
|
47098
|
+
args.description__isNull = opts["description.isNull"];
|
|
47099
|
+
if (opts["description.isNotNull"] !== void 0)
|
|
47100
|
+
args.description__isNotNull = opts["description.isNotNull"];
|
|
46615
47101
|
if (opts.invoicingEntityId !== void 0)
|
|
46616
47102
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
46617
47103
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
46618
47104
|
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
47105
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
46624
47106
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
46625
47107
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -46641,32 +47123,28 @@ Examples:
|
|
|
46641
47123
|
"skip",
|
|
46642
47124
|
"id",
|
|
46643
47125
|
"id__not",
|
|
46644
|
-
"id__isNull",
|
|
46645
|
-
"id__isNotNull",
|
|
46646
47126
|
"id__equals",
|
|
46647
47127
|
"id__contains",
|
|
46648
47128
|
"id__startsWith",
|
|
46649
47129
|
"id__endWith",
|
|
46650
47130
|
"name",
|
|
46651
47131
|
"name__not",
|
|
46652
|
-
"name__isNull",
|
|
46653
|
-
"name__isNotNull",
|
|
46654
47132
|
"name__equals",
|
|
46655
47133
|
"name__contains",
|
|
46656
47134
|
"name__startsWith",
|
|
46657
47135
|
"name__endWith",
|
|
47136
|
+
"name__isNull",
|
|
47137
|
+
"name__isNotNull",
|
|
46658
47138
|
"description",
|
|
46659
47139
|
"description__not",
|
|
46660
|
-
"description__isNull",
|
|
46661
|
-
"description__isNotNull",
|
|
46662
47140
|
"description__equals",
|
|
46663
47141
|
"description__contains",
|
|
46664
47142
|
"description__startsWith",
|
|
46665
47143
|
"description__endWith",
|
|
47144
|
+
"description__isNull",
|
|
47145
|
+
"description__isNotNull",
|
|
46666
47146
|
"invoicing_entity_id",
|
|
46667
47147
|
"invoicing_entity_id__not",
|
|
46668
|
-
"invoicing_entity_id__isNull",
|
|
46669
|
-
"invoicing_entity_id__isNotNull",
|
|
46670
47148
|
"invoicing_entity_id__equals",
|
|
46671
47149
|
"invoicing_entity_id__contains",
|
|
46672
47150
|
"invoicing_entity_id__startsWith",
|
|
@@ -47245,11 +47723,14 @@ function registerAllCommands(program2) {
|
|
|
47245
47723
|
registerAi_BillingCommands(program2);
|
|
47246
47724
|
registerAi_CostsCommands(program2);
|
|
47247
47725
|
registerAnalyticsCommands(program2);
|
|
47726
|
+
registerApproval_WorkflowsCommands(program2);
|
|
47248
47727
|
registerBank_AccountsCommands(program2);
|
|
47728
|
+
registerCatalogCommands(program2);
|
|
47249
47729
|
registerCompaniesCommands(program2);
|
|
47250
47730
|
registerCouponsCommands(program2);
|
|
47251
47731
|
registerCoupons_Promotion_CodesCommands(program2);
|
|
47252
47732
|
registerCustomers_CreditsCommands(program2);
|
|
47733
|
+
registerCustomers_FeaturesCommands(program2);
|
|
47253
47734
|
registerCustomers_Payment_MethodsCommands(program2);
|
|
47254
47735
|
registerCustomers_AddressCommands(program2);
|
|
47255
47736
|
registerCustomers_ShippingCommands(program2);
|
|
@@ -47258,12 +47739,14 @@ function registerAllCommands(program2) {
|
|
|
47258
47739
|
registerOrganisationsCommands(program2);
|
|
47259
47740
|
registerCustomers_SegmentsCommands(program2);
|
|
47260
47741
|
registerExportsCommands(program2);
|
|
47742
|
+
registerFeaturesCommands(program2);
|
|
47261
47743
|
registerFilesCommands(program2);
|
|
47262
47744
|
registerInvoicesCommands(program2);
|
|
47263
47745
|
registerInvoices_TransactionsCommands(program2);
|
|
47264
47746
|
registerInvoicing_EntitiesCommands(program2);
|
|
47265
47747
|
registerAi_MonitoringCommands(program2);
|
|
47266
47748
|
registerPaymentsCommands(program2);
|
|
47749
|
+
registerProducts_FeaturesCommands(program2);
|
|
47267
47750
|
registerProductsCommands(program2);
|
|
47268
47751
|
registerPrice_ConfigurationsCommands(program2);
|
|
47269
47752
|
registerQuotesCommands(program2);
|
|
@@ -63297,6 +63780,8 @@ var de = {
|
|
|
63297
63780
|
"einvoicing.paymentFromWallet": "Zahlung aus Guthaben",
|
|
63298
63781
|
"einvoicing.paymentProcessed": "Zahlung verarbeitet",
|
|
63299
63782
|
"einvoicing.paymentReceived": "Zahlung erhalten",
|
|
63783
|
+
"invoices.minimumFee.adjustmentName": "Anpassung der Mindestgeb\xFChr",
|
|
63784
|
+
"invoices.minimumFee.name": "Mindestgeb\xFChr",
|
|
63300
63785
|
"invoices.outstandingProduct.description": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{date}}",
|
|
63301
63786
|
"invoices.outstandingProduct.descriptionPeriod": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{periodStart}} bis {{periodEnd}}",
|
|
63302
63787
|
"invoices.outstandingProduct.name": "Offener Saldo",
|
|
@@ -63322,7 +63807,25 @@ var de = {
|
|
|
63322
63807
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Diese Position wurde f\xFCr den anteiligen Zeitraum in Rechnung gestellt",
|
|
63323
63808
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Betrag von {{amount}} f\xFCr den anteiligen Zeitraum nicht in Rechnung gestellt",
|
|
63324
63809
|
"subscriptions.updates.updatePrices": "Preise f\xFCr {{productName}} aktualisieren",
|
|
63325
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 abgelaufenes Guthaben"
|
|
63810
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 abgelaufenes Guthaben",
|
|
63811
|
+
"quotes.blockers.quote_not_draft": "Setzen Sie das Angebot auf Entwurf zur\xFCck, bevor Sie seine Konfigurationen \xE4ndern",
|
|
63812
|
+
"quotes.blockers.quote_expiration_date_missing": "Das Angebot muss ein Ablaufdatum haben, um zur Genehmigung gesendet zu werden",
|
|
63813
|
+
"quotes.blockers.quote_configuration_missing": "F\xFCgen Sie mindestens eine Konfiguration hinzu, bevor Sie das Angebot einreichen",
|
|
63814
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Abonnement\xE4nderungen m\xFCssen den Kunden des Angebots verwenden",
|
|
63815
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Aktivieren Sie mehrere Konfigurationen, bevor Sie einen untergeordneten Kunden zuweisen",
|
|
63816
|
+
"quotes.blockers.quote_configuration_customer_not_child": "W\xE4hlen Sie einen untergeordneten Kunden des Angebotskunden",
|
|
63817
|
+
"quotes.blockers.quote_configuration_type_mismatch": "Die verkn\xFCpfte Konfiguration entspricht nicht dem Konfigurationstyp",
|
|
63818
|
+
"quotes.blockers.quote_configuration_not_draft": "W\xE4hlen Sie eine Konfiguration im Entwurf",
|
|
63819
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "Die Konfiguration muss zum Kunden der Konfiguration geh\xF6ren",
|
|
63820
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "Die Konfiguration muss die W\xE4hrung des Angebots verwenden",
|
|
63821
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "Die Rechnung muss die Rechnungsstellungseinheit des Angebots verwenden",
|
|
63822
|
+
"quotes.blockers.quote_configuration_already_linked": "Die Konfiguration ist bereits mit einer Angebotskonfiguration verkn\xFCpft",
|
|
63823
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "W\xE4hlen Sie eine Konfiguration f\xFCr eine Abonnement\xE4nderung",
|
|
63824
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "W\xE4hlen Sie eine Konfiguration f\xFCr ein neues Abonnement",
|
|
63825
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Ein Abonnement kann in einem Angebot nur einmal ge\xE4ndert werden",
|
|
63826
|
+
"quotes.blockers.quote_draft_invoice_missing": "Das Angebot muss eine Rechnung im Entwurf haben, um abgeschlossen zu werden",
|
|
63827
|
+
"quotes.blockers.quote_draft_subscription_missing": "Das Angebot muss ein Abonnement im Entwurf haben, um abgeschlossen zu werden",
|
|
63828
|
+
"quotes.blockers.quote_expiry_after_transition_date": "Das Ablaufdatum des Angebots muss sp\xE4testens am Ende des aktuellen Abrechnungszeitraums liegen, oder am geplanten \xDCbergangsdatum, wenn dieses sp\xE4ter liegt"
|
|
63326
63829
|
};
|
|
63327
63830
|
|
|
63328
63831
|
// ../hyperline-i18n/build/locales/en.js
|
|
@@ -63330,6 +63833,8 @@ var en = {
|
|
|
63330
63833
|
"creditNotes.refundChargeName": "Refund for invoice",
|
|
63331
63834
|
"credits.bundleOf": "{{productName}} - Pack of {{creditCount}} credits",
|
|
63332
63835
|
"credits.unitsOf": "{{productName}} - {{creditCount}} credits",
|
|
63836
|
+
"invoices.minimumFee.adjustmentName": "Minimum fee adjustment",
|
|
63837
|
+
"invoices.minimumFee.name": "Minimum fee",
|
|
63333
63838
|
"invoices.outstandingProduct.description": "Unpaid amount from the invoice{{invoiceNumber}} emitted on {{date}}",
|
|
63334
63839
|
"invoices.outstandingProduct.descriptionPeriod": "Unpaid amount from the invoice{{invoiceNumber}} from {{periodStart}} to {{periodEnd}}",
|
|
63335
63840
|
"invoices.outstandingProduct.name": "Outstanding balance",
|
|
@@ -63370,7 +63875,25 @@ var en = {
|
|
|
63370
63875
|
"accounting.revrec.closedPeriodFallbackNote": " (posted to next open period \u2014 target accounting period closed; original date {{originalDate}})",
|
|
63371
63876
|
"einvoicing.paymentProcessed": "Payment processed",
|
|
63372
63877
|
"einvoicing.paymentReceived": "Payment received",
|
|
63373
|
-
"einvoicing.paymentFromWallet": "Payment from wallet"
|
|
63878
|
+
"einvoicing.paymentFromWallet": "Payment from wallet",
|
|
63879
|
+
"quotes.blockers.quote_not_draft": "Redraft the quote before changing its configurations",
|
|
63880
|
+
"quotes.blockers.quote_expiration_date_missing": "Quote must have an expiration date to be sent for approval",
|
|
63881
|
+
"quotes.blockers.quote_configuration_missing": "Add at least one configuration before submitting the quote",
|
|
63882
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Subscription updates must use the quote customer",
|
|
63883
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Enable multiple configurations before assigning a child customer",
|
|
63884
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Select a child customer of the quote customer",
|
|
63885
|
+
"quotes.blockers.quote_configuration_type_mismatch": "The linked configuration does not match the configuration type",
|
|
63886
|
+
"quotes.blockers.quote_configuration_not_draft": "Select a draft configuration",
|
|
63887
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "The configuration must belong to the configuration customer",
|
|
63888
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "The configuration must use the quote currency",
|
|
63889
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "The invoice must use the quote invoicing entity",
|
|
63890
|
+
"quotes.blockers.quote_configuration_already_linked": "The configuration is already linked to a quote configuration",
|
|
63891
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Select a subscription update configuration",
|
|
63892
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Select a new subscription configuration",
|
|
63893
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "A subscription can only be updated once in a quote",
|
|
63894
|
+
"quotes.blockers.quote_draft_invoice_missing": "Quote must have a draft invoice to be finalized",
|
|
63895
|
+
"quotes.blockers.quote_draft_subscription_missing": "Quote must have a draft subscription to be finalized",
|
|
63896
|
+
"quotes.blockers.quote_expiry_after_transition_date": "The quote expiration date must be on or before the end of the current billing period, or the scheduled transition date when it falls later"
|
|
63374
63897
|
};
|
|
63375
63898
|
|
|
63376
63899
|
// ../hyperline-i18n/build/locales/es.js
|
|
@@ -63393,6 +63916,8 @@ var es = {
|
|
|
63393
63916
|
"einvoicing.paymentFromWallet": "Pago desde el monedero",
|
|
63394
63917
|
"einvoicing.paymentProcessed": "Pago procesado",
|
|
63395
63918
|
"einvoicing.paymentReceived": "Pago recibido",
|
|
63919
|
+
"invoices.minimumFee.adjustmentName": "Ajuste del cargo m\xEDnimo",
|
|
63920
|
+
"invoices.minimumFee.name": "Cargo m\xEDnimo",
|
|
63396
63921
|
"invoices.outstandingProduct.description": "Monto pendiente de la factura{{invoiceNumber}} emitida el {{date}}",
|
|
63397
63922
|
"invoices.outstandingProduct.descriptionPeriod": "Monto pendiente de la factura{{invoiceNumber}} del {{periodStart}} al {{periodEnd}}",
|
|
63398
63923
|
"invoices.outstandingProduct.name": "Saldo pendiente",
|
|
@@ -63418,7 +63943,25 @@ var es = {
|
|
|
63418
63943
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Esta l\xEDnea ha sido facturada para el per\xEDodo prorrateado",
|
|
63419
63944
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Importe de {{amount}} no facturado para el per\xEDodo prorrateado",
|
|
63420
63945
|
"subscriptions.updates.updatePrices": "Actualizar precios para {{productName}}",
|
|
63421
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo caducado"
|
|
63946
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo caducado",
|
|
63947
|
+
"quotes.blockers.quote_not_draft": "Vuelve a poner el presupuesto en borrador antes de cambiar sus configuraciones",
|
|
63948
|
+
"quotes.blockers.quote_expiration_date_missing": "El presupuesto debe tener una fecha de vencimiento para enviarse a aprobaci\xF3n",
|
|
63949
|
+
"quotes.blockers.quote_configuration_missing": "A\xF1ade al menos una configuraci\xF3n antes de enviar el presupuesto",
|
|
63950
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Las actualizaciones de suscripci\xF3n deben usar el cliente del presupuesto",
|
|
63951
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Activa las configuraciones m\xFAltiples antes de asignar un cliente hijo",
|
|
63952
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Selecciona un cliente hijo del cliente del presupuesto",
|
|
63953
|
+
"quotes.blockers.quote_configuration_type_mismatch": "La configuraci\xF3n vinculada no coincide con el tipo de configuraci\xF3n",
|
|
63954
|
+
"quotes.blockers.quote_configuration_not_draft": "Selecciona una configuraci\xF3n en borrador",
|
|
63955
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "La configuraci\xF3n debe pertenecer al cliente de la configuraci\xF3n",
|
|
63956
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "La configuraci\xF3n debe usar la moneda del presupuesto",
|
|
63957
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "La factura debe usar la entidad de facturaci\xF3n del presupuesto",
|
|
63958
|
+
"quotes.blockers.quote_configuration_already_linked": "La configuraci\xF3n ya est\xE1 vinculada a una configuraci\xF3n de presupuesto",
|
|
63959
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Selecciona una configuraci\xF3n de actualizaci\xF3n de suscripci\xF3n",
|
|
63960
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Selecciona una configuraci\xF3n de nueva suscripci\xF3n",
|
|
63961
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Una suscripci\xF3n solo puede actualizarse una vez en un presupuesto",
|
|
63962
|
+
"quotes.blockers.quote_draft_invoice_missing": "El presupuesto debe tener una factura en borrador para finalizarse",
|
|
63963
|
+
"quotes.blockers.quote_draft_subscription_missing": "El presupuesto debe tener una suscripci\xF3n en borrador para finalizarse",
|
|
63964
|
+
"quotes.blockers.quote_expiry_after_transition_date": "La fecha de vencimiento del presupuesto debe ser, como m\xE1ximo, el final del periodo de facturaci\xF3n actual, o la fecha de transici\xF3n programada si es posterior"
|
|
63422
63965
|
};
|
|
63423
63966
|
|
|
63424
63967
|
// ../hyperline-i18n/build/locales/fr.js
|
|
@@ -63441,6 +63984,8 @@ var fr = {
|
|
|
63441
63984
|
"einvoicing.paymentFromWallet": "Paiement depuis le portefeuille",
|
|
63442
63985
|
"einvoicing.paymentProcessed": "Paiement effectu\xE9",
|
|
63443
63986
|
"einvoicing.paymentReceived": "Paiement re\xE7u",
|
|
63987
|
+
"invoices.minimumFee.adjustmentName": "Ajustement des frais minimums",
|
|
63988
|
+
"invoices.minimumFee.name": "Frais minimums",
|
|
63444
63989
|
"invoices.outstandingProduct.description": "Montant impay\xE9 de la facture{{invoiceNumber}} \xE9mise le {{date}}",
|
|
63445
63990
|
"invoices.outstandingProduct.descriptionPeriod": "Montant impay\xE9 de la facture{{invoiceNumber}} du {{periodStart}} au {{periodEnd}}",
|
|
63446
63991
|
"invoices.outstandingProduct.name": "Solde impay\xE9",
|
|
@@ -63466,7 +64011,25 @@ var fr = {
|
|
|
63466
64011
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Cette ligne a \xE9t\xE9 factur\xE9e pour la p\xE9riode proratis\xE9e",
|
|
63467
64012
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Montant de {{amount}} non factur\xE9 pour la p\xE9riode proratis\xE9e",
|
|
63468
64013
|
"subscriptions.updates.updatePrices": "Mise \xE0 jour des prix pour {{productName}}",
|
|
63469
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 solde expir\xE9"
|
|
64014
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 solde expir\xE9",
|
|
64015
|
+
"quotes.blockers.quote_not_draft": "Repassez le devis en brouillon avant de modifier ses configurations",
|
|
64016
|
+
"quotes.blockers.quote_expiration_date_missing": "Le devis doit avoir une date d'expiration pour \xEAtre envoy\xE9 en validation",
|
|
64017
|
+
"quotes.blockers.quote_configuration_missing": "Ajoutez au moins une configuration avant de soumettre le devis",
|
|
64018
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Les mises \xE0 jour d'abonnement doivent utiliser le client du devis",
|
|
64019
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Activez les configurations multiples avant d'assigner un client enfant",
|
|
64020
|
+
"quotes.blockers.quote_configuration_customer_not_child": "S\xE9lectionnez un client enfant du client du devis",
|
|
64021
|
+
"quotes.blockers.quote_configuration_type_mismatch": "La configuration li\xE9e ne correspond pas au type de configuration",
|
|
64022
|
+
"quotes.blockers.quote_configuration_not_draft": "S\xE9lectionnez une configuration en brouillon",
|
|
64023
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "La configuration doit appartenir au client de la configuration",
|
|
64024
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "La configuration doit utiliser la devise du devis",
|
|
64025
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "La facture doit utiliser l'entit\xE9 de facturation du devis",
|
|
64026
|
+
"quotes.blockers.quote_configuration_already_linked": "La configuration est d\xE9j\xE0 li\xE9e \xE0 une configuration de devis",
|
|
64027
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "S\xE9lectionnez une configuration de mise \xE0 jour d'abonnement",
|
|
64028
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "S\xE9lectionnez une configuration de nouvel abonnement",
|
|
64029
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Un abonnement ne peut \xEAtre mis \xE0 jour qu'une seule fois dans un devis",
|
|
64030
|
+
"quotes.blockers.quote_draft_invoice_missing": "Le devis doit avoir une facture en brouillon pour \xEAtre finalis\xE9",
|
|
64031
|
+
"quotes.blockers.quote_draft_subscription_missing": "Le devis doit avoir un abonnement en brouillon pour \xEAtre finalis\xE9",
|
|
64032
|
+
"quotes.blockers.quote_expiry_after_transition_date": "La date d'expiration du devis doit \xEAtre au plus tard la fin de la p\xE9riode de facturation en cours, ou la date de transition planifi\xE9e si elle est post\xE9rieure"
|
|
63470
64033
|
};
|
|
63471
64034
|
|
|
63472
64035
|
// ../hyperline-i18n/build/locales/it.js
|
|
@@ -63489,6 +64052,8 @@ var it = {
|
|
|
63489
64052
|
"einvoicing.paymentFromWallet": "Pagamento dal portafoglio",
|
|
63490
64053
|
"einvoicing.paymentProcessed": "Pagamento elaborato",
|
|
63491
64054
|
"einvoicing.paymentReceived": "Pagamento ricevuto",
|
|
64055
|
+
"invoices.minimumFee.adjustmentName": "Adeguamento all\u2019importo minimo",
|
|
64056
|
+
"invoices.minimumFee.name": "Importo minimo",
|
|
63492
64057
|
"invoices.outstandingProduct.description": "Importo insoluto della fattura{{invoiceNumber}} emessa il {{date}}",
|
|
63493
64058
|
"invoices.outstandingProduct.descriptionPeriod": "Importo insoluto della fattura{{invoiceNumber}} dal {{periodStart}} al {{periodEnd}}",
|
|
63494
64059
|
"invoices.outstandingProduct.name": "Saldo insoluto",
|
|
@@ -63514,7 +64079,25 @@ var it = {
|
|
|
63514
64079
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Questa voce \xE8 stata fatturata per il periodo proporzionato",
|
|
63515
64080
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Importo di {{amount}} non fatturato per il periodo proporzionato",
|
|
63516
64081
|
"subscriptions.updates.updatePrices": "Aggiorna prezzi per {{productName}}",
|
|
63517
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo scaduto"
|
|
64082
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo scaduto",
|
|
64083
|
+
"quotes.blockers.quote_not_draft": "Riporta il preventivo in bozza prima di modificarne le configurazioni",
|
|
64084
|
+
"quotes.blockers.quote_expiration_date_missing": "Il preventivo deve avere una data di scadenza per essere inviato per approvazione",
|
|
64085
|
+
"quotes.blockers.quote_configuration_missing": "Aggiungi almeno una configurazione prima di inviare il preventivo",
|
|
64086
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Gli aggiornamenti dell'abbonamento devono usare il cliente del preventivo",
|
|
64087
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Attiva le configurazioni multiple prima di assegnare un cliente figlio",
|
|
64088
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Seleziona un cliente figlio del cliente del preventivo",
|
|
64089
|
+
"quotes.blockers.quote_configuration_type_mismatch": "La configurazione collegata non corrisponde al tipo di configurazione",
|
|
64090
|
+
"quotes.blockers.quote_configuration_not_draft": "Seleziona una configurazione in bozza",
|
|
64091
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "La configurazione deve appartenere al cliente della configurazione",
|
|
64092
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "La configurazione deve usare la valuta del preventivo",
|
|
64093
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "La fattura deve usare l'entit\xE0 di fatturazione del preventivo",
|
|
64094
|
+
"quotes.blockers.quote_configuration_already_linked": "La configurazione \xE8 gi\xE0 collegata a una configurazione del preventivo",
|
|
64095
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Seleziona una configurazione di aggiornamento dell'abbonamento",
|
|
64096
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Seleziona una configurazione di nuovo abbonamento",
|
|
64097
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Un abbonamento pu\xF2 essere aggiornato una sola volta in un preventivo",
|
|
64098
|
+
"quotes.blockers.quote_draft_invoice_missing": "Il preventivo deve avere una fattura in bozza per essere finalizzato",
|
|
64099
|
+
"quotes.blockers.quote_draft_subscription_missing": "Il preventivo deve avere un abbonamento in bozza per essere finalizzato",
|
|
64100
|
+
"quotes.blockers.quote_expiry_after_transition_date": "La data di scadenza del preventivo deve essere entro la fine del periodo di fatturazione corrente, o la data di transizione pianificata se successiva"
|
|
63518
64101
|
};
|
|
63519
64102
|
|
|
63520
64103
|
// ../hyperline-i18n/build/locales/lt.js
|
|
@@ -63537,6 +64120,8 @@ var lt = {
|
|
|
63537
64120
|
"einvoicing.paymentFromWallet": "Mok\u0117jimas i\u0161 pinigin\u0117s",
|
|
63538
64121
|
"einvoicing.paymentProcessed": "Mok\u0117jimas apdorotas",
|
|
63539
64122
|
"einvoicing.paymentReceived": "Mok\u0117jimas gautas",
|
|
64123
|
+
"invoices.minimumFee.adjustmentName": "Minimalaus mokes\u010Dio koregavimas",
|
|
64124
|
+
"invoices.minimumFee.name": "Minimalus mokestis",
|
|
63540
64125
|
"invoices.outstandingProduct.description": "Neapmok\u0117ta {{date}} i\u0161ra\u0161ytos s\u0105skaitos fakt\u016Bros{{invoiceNumber}} suma",
|
|
63541
64126
|
"invoices.outstandingProduct.descriptionPeriod": "Neapmok\u0117ta s\u0105skaitos fakt\u016Bros{{invoiceNumber}} suma u\u017E laikotarp\u012F nuo {{periodStart}} iki {{periodEnd}}",
|
|
63542
64127
|
"invoices.outstandingProduct.name": "Neapmok\u0117tas likutis",
|
|
@@ -63562,7 +64147,25 @@ var lt = {
|
|
|
63562
64147
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "U\u017E \u0161i\u0105 eilut\u0119 proporcingam laikotarpiui s\u0105skaita fakt\u016Bra i\u0161ra\u0161yta",
|
|
63563
64148
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Proporcingam laikotarpiui nei\u0161ra\u0161yta {{amount}} suma",
|
|
63564
64149
|
"subscriptions.updates.updatePrices": "Atnaujinti {{productName}} kainas",
|
|
63565
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 nebegaliojantis likutis"
|
|
64150
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 nebegaliojantis likutis",
|
|
64151
|
+
"quotes.blockers.quote_not_draft": "Prie\u0161 keisdami pasi\u016Blymo konfig\u016Bracijas, gr\u0105\u017Einkite j\u012F \u012F juodra\u0161t\u012F",
|
|
64152
|
+
"quotes.blockers.quote_expiration_date_missing": "Pasi\u016Blymas turi tur\u0117ti galiojimo pabaigos dat\u0105, kad b\u016Bt\u0173 i\u0161si\u0173stas tvirtinti",
|
|
64153
|
+
"quotes.blockers.quote_configuration_missing": "Prie\u0161 pateikdami pasi\u016Blym\u0105, prid\u0117kite bent vien\u0105 konfig\u016Bracij\u0105",
|
|
64154
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Prenumeratos atnaujinimai turi naudoti pasi\u016Blymo klient\u0105",
|
|
64155
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Prie\u0161 priskirdami antrin\u012F klient\u0105, \u012Fjunkite kelias konfig\u016Bracijas",
|
|
64156
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Pasirinkite pasi\u016Blymo kliento antrin\u012F klient\u0105",
|
|
64157
|
+
"quotes.blockers.quote_configuration_type_mismatch": "Susieta konfig\u016Bracija neatitinka konfig\u016Bracijos tipo",
|
|
64158
|
+
"quotes.blockers.quote_configuration_not_draft": "Pasirinkite konfig\u016Bracijos juodra\u0161t\u012F",
|
|
64159
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "Konfig\u016Bracija turi priklausyti konfig\u016Bracijos klientui",
|
|
64160
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "Konfig\u016Bracija turi naudoti pasi\u016Blymo valiut\u0105",
|
|
64161
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "S\u0105skaita fakt\u016Bra turi naudoti pasi\u016Blymo s\u0105skait\u0173 i\u0161ra\u0161ymo subjekt\u0105",
|
|
64162
|
+
"quotes.blockers.quote_configuration_already_linked": "Konfig\u016Bracija jau susieta su pasi\u016Blymo konfig\u016Bracija",
|
|
64163
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Pasirinkite prenumeratos atnaujinimo konfig\u016Bracij\u0105",
|
|
64164
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Pasirinkite naujos prenumeratos konfig\u016Bracij\u0105",
|
|
64165
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Prenumerat\u0105 pasi\u016Blyme galima atnaujinti tik vien\u0105 kart\u0105",
|
|
64166
|
+
"quotes.blockers.quote_draft_invoice_missing": "Pasi\u016Blymas turi tur\u0117ti s\u0105skaitos fakt\u016Bros juodra\u0161t\u012F, kad b\u016Bt\u0173 u\u017Ebaigtas",
|
|
64167
|
+
"quotes.blockers.quote_draft_subscription_missing": "Pasi\u016Blymas turi tur\u0117ti prenumeratos juodra\u0161t\u012F, kad b\u016Bt\u0173 u\u017Ebaigtas",
|
|
64168
|
+
"quotes.blockers.quote_expiry_after_transition_date": "Pasi\u016Blymo galiojimo pabaigos data turi b\u016Bti ne v\u0117lesn\u0117 nei dabartinio atsiskaitymo laikotarpio pabaiga arba suplanuota per\u0117jimo data, jei ji v\u0117lesn\u0117"
|
|
63566
64169
|
};
|
|
63567
64170
|
|
|
63568
64171
|
// ../hyperline-i18n/build/locales/nl.js
|
|
@@ -63585,6 +64188,8 @@ var nl = {
|
|
|
63585
64188
|
"einvoicing.paymentFromWallet": "Betaling uit tegoed",
|
|
63586
64189
|
"einvoicing.paymentProcessed": "Betaling verwerkt",
|
|
63587
64190
|
"einvoicing.paymentReceived": "Betaling ontvangen",
|
|
64191
|
+
"invoices.minimumFee.adjustmentName": "Aanpassing minimumbedrag",
|
|
64192
|
+
"invoices.minimumFee.name": "Minimumbedrag",
|
|
63588
64193
|
"invoices.outstandingProduct.description": "Onbetaald bedrag van de factuur{{invoiceNumber}} uitgegeven op {{date}}",
|
|
63589
64194
|
"invoices.outstandingProduct.descriptionPeriod": "Onbetaald bedrag van de factuur{{invoiceNumber}} van {{periodStart}} tot {{periodEnd}}",
|
|
63590
64195
|
"invoices.outstandingProduct.name": "Openstaand saldo",
|
|
@@ -63610,7 +64215,25 @@ var nl = {
|
|
|
63610
64215
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Deze regel is gefactureerd voor de geproportioneerde periode",
|
|
63611
64216
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Bedrag van {{amount}} niet gefactureerd voor de geproportioneerde periode",
|
|
63612
64217
|
"subscriptions.updates.updatePrices": "Prijzen bijwerken voor {{productName}}",
|
|
63613
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 verlopen saldo"
|
|
64218
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 verlopen saldo",
|
|
64219
|
+
"quotes.blockers.quote_not_draft": "Zet de offerte terug naar concept voordat u de configuraties wijzigt",
|
|
64220
|
+
"quotes.blockers.quote_expiration_date_missing": "De offerte moet een vervaldatum hebben om ter goedkeuring te worden verzonden",
|
|
64221
|
+
"quotes.blockers.quote_configuration_missing": "Voeg ten minste \xE9\xE9n configuratie toe voordat u de offerte indient",
|
|
64222
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Abonnementswijzigingen moeten de klant van de offerte gebruiken",
|
|
64223
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Schakel meerdere configuraties in voordat u een onderliggende klant toewijst",
|
|
64224
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Selecteer een onderliggende klant van de offerteklant",
|
|
64225
|
+
"quotes.blockers.quote_configuration_type_mismatch": "De gekoppelde configuratie komt niet overeen met het configuratietype",
|
|
64226
|
+
"quotes.blockers.quote_configuration_not_draft": "Selecteer een conceptconfiguratie",
|
|
64227
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "De configuratie moet bij de klant van de configuratie horen",
|
|
64228
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "De configuratie moet de valuta van de offerte gebruiken",
|
|
64229
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "De factuur moet de facturatie-entiteit van de offerte gebruiken",
|
|
64230
|
+
"quotes.blockers.quote_configuration_already_linked": "De configuratie is al gekoppeld aan een offerteconfiguratie",
|
|
64231
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Selecteer een configuratie voor een abonnementswijziging",
|
|
64232
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Selecteer een configuratie voor een nieuw abonnement",
|
|
64233
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Een abonnement kan maar \xE9\xE9n keer per offerte worden gewijzigd",
|
|
64234
|
+
"quotes.blockers.quote_draft_invoice_missing": "De offerte moet een conceptfactuur hebben om te worden afgerond",
|
|
64235
|
+
"quotes.blockers.quote_draft_subscription_missing": "De offerte moet een conceptabonnement hebben om te worden afgerond",
|
|
64236
|
+
"quotes.blockers.quote_expiry_after_transition_date": "De vervaldatum van de offerte moet uiterlijk het einde van de huidige factuurperiode zijn, of de geplande overgangsdatum als die later valt"
|
|
63614
64237
|
};
|
|
63615
64238
|
|
|
63616
64239
|
// ../hyperline-i18n/build/locales/pl.js
|
|
@@ -63633,6 +64256,8 @@ var pl = {
|
|
|
63633
64256
|
"einvoicing.paymentFromWallet": "P\u0142atno\u015B\u0107 z portfela",
|
|
63634
64257
|
"einvoicing.paymentProcessed": "P\u0142atno\u015B\u0107 przetworzona",
|
|
63635
64258
|
"einvoicing.paymentReceived": "P\u0142atno\u015B\u0107 otrzymana",
|
|
64259
|
+
"invoices.minimumFee.adjustmentName": "Wyr\xF3wnanie do op\u0142aty minimalnej",
|
|
64260
|
+
"invoices.minimumFee.name": "Op\u0142ata minimalna",
|
|
63636
64261
|
"invoices.outstandingProduct.description": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} wystawionej {{date}}",
|
|
63637
64262
|
"invoices.outstandingProduct.descriptionPeriod": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} od {{periodStart}} do {{periodEnd}}",
|
|
63638
64263
|
"invoices.outstandingProduct.name": "Niezap\u0142acone saldo",
|
|
@@ -63658,7 +64283,25 @@ var pl = {
|
|
|
63658
64283
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Ta pozycja zosta\u0142a zafakturowana za okres proporcjonalny",
|
|
63659
64284
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Kwota {{amount}} niefakturowana za okres proporcjonalny",
|
|
63660
64285
|
"subscriptions.updates.updatePrices": "Aktualizuj ceny dla {{productName}}",
|
|
63661
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 wygas\u0142e saldo"
|
|
64286
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 wygas\u0142e saldo",
|
|
64287
|
+
"quotes.blockers.quote_not_draft": "Przywr\xF3\u0107 ofert\u0119 do wersji roboczej przed zmian\u0105 jej konfiguracji",
|
|
64288
|
+
"quotes.blockers.quote_expiration_date_missing": "Oferta musi mie\u0107 dat\u0119 wyga\u015Bni\u0119cia, aby zosta\u0142a wys\u0142ana do zatwierdzenia",
|
|
64289
|
+
"quotes.blockers.quote_configuration_missing": "Dodaj co najmniej jedn\u0105 konfiguracj\u0119 przed przes\u0142aniem oferty",
|
|
64290
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "Aktualizacje subskrypcji musz\u0105 u\u017Cywa\u0107 klienta oferty",
|
|
64291
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "W\u0142\u0105cz wiele konfiguracji przed przypisaniem klienta podrz\u0119dnego",
|
|
64292
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Wybierz klienta podrz\u0119dnego klienta oferty",
|
|
64293
|
+
"quotes.blockers.quote_configuration_type_mismatch": "Powi\u0105zana konfiguracja nie odpowiada typowi konfiguracji",
|
|
64294
|
+
"quotes.blockers.quote_configuration_not_draft": "Wybierz konfiguracj\u0119 w wersji roboczej",
|
|
64295
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "Konfiguracja musi nale\u017Ce\u0107 do klienta konfiguracji",
|
|
64296
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "Konfiguracja musi u\u017Cywa\u0107 waluty oferty",
|
|
64297
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "Faktura musi u\u017Cywa\u0107 podmiotu fakturuj\u0105cego oferty",
|
|
64298
|
+
"quotes.blockers.quote_configuration_already_linked": "Konfiguracja jest ju\u017C powi\u0105zana z konfiguracj\u0105 oferty",
|
|
64299
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Wybierz konfiguracj\u0119 aktualizacji subskrypcji",
|
|
64300
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Wybierz konfiguracj\u0119 nowej subskrypcji",
|
|
64301
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Subskrypcj\u0119 mo\u017Cna zaktualizowa\u0107 w ofercie tylko raz",
|
|
64302
|
+
"quotes.blockers.quote_draft_invoice_missing": "Oferta musi mie\u0107 faktur\u0119 w wersji roboczej, aby zosta\u0142a sfinalizowana",
|
|
64303
|
+
"quotes.blockers.quote_draft_subscription_missing": "Oferta musi mie\u0107 subskrypcj\u0119 w wersji roboczej, aby zosta\u0142a sfinalizowana",
|
|
64304
|
+
"quotes.blockers.quote_expiry_after_transition_date": "Data wyga\u015Bni\u0119cia oferty musi przypada\u0107 najp\xF3\u017Aniej na koniec bie\u017C\u0105cego okresu rozliczeniowego lub na zaplanowan\u0105 dat\u0119 przej\u015Bcia, je\u015Bli jest p\xF3\u017Aniejsza"
|
|
63662
64305
|
};
|
|
63663
64306
|
|
|
63664
64307
|
// ../hyperline-i18n/build/locales/pt.js
|
|
@@ -63681,6 +64324,8 @@ var pt = {
|
|
|
63681
64324
|
"einvoicing.paymentFromWallet": "Pagamento da carteira",
|
|
63682
64325
|
"einvoicing.paymentProcessed": "Pagamento processado",
|
|
63683
64326
|
"einvoicing.paymentReceived": "Pagamento recebido",
|
|
64327
|
+
"invoices.minimumFee.adjustmentName": "Ajuste do valor m\xEDnimo",
|
|
64328
|
+
"invoices.minimumFee.name": "Valor m\xEDnimo",
|
|
63684
64329
|
"invoices.outstandingProduct.description": "Valor em aberto da fatura{{invoiceNumber}} emitida em {{date}}",
|
|
63685
64330
|
"invoices.outstandingProduct.descriptionPeriod": "Valor em aberto da fatura{{invoiceNumber}} de {{periodStart}} a {{periodEnd}}",
|
|
63686
64331
|
"invoices.outstandingProduct.name": "Saldo em aberto",
|
|
@@ -63706,7 +64351,25 @@ var pt = {
|
|
|
63706
64351
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Esta linha foi faturada para o per\xEDodo proporcional",
|
|
63707
64352
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Valor de {{amount}} n\xE3o faturado para o per\xEDodo proporcional",
|
|
63708
64353
|
"subscriptions.updates.updatePrices": "Atualizar pre\xE7os para {{productName}}",
|
|
63709
|
-
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo expirado"
|
|
64354
|
+
"wallets.expiredBalanceInvoiceLineName": "{{walletName}} \u2013 saldo expirado",
|
|
64355
|
+
"quotes.blockers.quote_not_draft": "Volte a colocar o or\xE7amento em rascunho antes de alterar as suas configura\xE7\xF5es",
|
|
64356
|
+
"quotes.blockers.quote_expiration_date_missing": "O or\xE7amento deve ter uma data de expira\xE7\xE3o para ser enviado para aprova\xE7\xE3o",
|
|
64357
|
+
"quotes.blockers.quote_configuration_missing": "Adicione pelo menos uma configura\xE7\xE3o antes de submeter o or\xE7amento",
|
|
64358
|
+
"quotes.blockers.quote_configuration_subscription_update_customer": "As atualiza\xE7\xF5es de subscri\xE7\xE3o devem usar o cliente do or\xE7amento",
|
|
64359
|
+
"quotes.blockers.quote_configuration_multiple_configurations_disabled": "Ative as configura\xE7\xF5es m\xFAltiplas antes de atribuir um cliente filho",
|
|
64360
|
+
"quotes.blockers.quote_configuration_customer_not_child": "Selecione um cliente filho do cliente do or\xE7amento",
|
|
64361
|
+
"quotes.blockers.quote_configuration_type_mismatch": "A configura\xE7\xE3o associada n\xE3o corresponde ao tipo de configura\xE7\xE3o",
|
|
64362
|
+
"quotes.blockers.quote_configuration_not_draft": "Selecione uma configura\xE7\xE3o em rascunho",
|
|
64363
|
+
"quotes.blockers.quote_configuration_customer_mismatch": "A configura\xE7\xE3o deve pertencer ao cliente da configura\xE7\xE3o",
|
|
64364
|
+
"quotes.blockers.quote_configuration_currency_mismatch": "A configura\xE7\xE3o deve usar a moeda do or\xE7amento",
|
|
64365
|
+
"quotes.blockers.quote_configuration_invoicing_entity_mismatch": "A fatura deve usar a entidade de fatura\xE7\xE3o do or\xE7amento",
|
|
64366
|
+
"quotes.blockers.quote_configuration_already_linked": "A configura\xE7\xE3o j\xE1 est\xE1 associada a uma configura\xE7\xE3o de or\xE7amento",
|
|
64367
|
+
"quotes.blockers.quote_configuration_not_subscription_update": "Selecione uma configura\xE7\xE3o de atualiza\xE7\xE3o de subscri\xE7\xE3o",
|
|
64368
|
+
"quotes.blockers.quote_configuration_not_new_subscription": "Selecione uma configura\xE7\xE3o de nova subscri\xE7\xE3o",
|
|
64369
|
+
"quotes.blockers.quote_configuration_duplicate_subscription_update": "Uma subscri\xE7\xE3o s\xF3 pode ser atualizada uma vez num or\xE7amento",
|
|
64370
|
+
"quotes.blockers.quote_draft_invoice_missing": "O or\xE7amento deve ter uma fatura em rascunho para ser finalizado",
|
|
64371
|
+
"quotes.blockers.quote_draft_subscription_missing": "O or\xE7amento deve ter uma subscri\xE7\xE3o em rascunho para ser finalizado",
|
|
64372
|
+
"quotes.blockers.quote_expiry_after_transition_date": "A data de expira\xE7\xE3o do or\xE7amento deve ser, no m\xE1ximo, o fim do per\xEDodo de fatura\xE7\xE3o atual, ou a data de transi\xE7\xE3o agendada se for posterior"
|
|
63710
64373
|
};
|
|
63711
64374
|
|
|
63712
64375
|
// ../hyperline-i18n/build/language.js
|
|
@@ -63797,78 +64460,298 @@ function coerceBoolean() {
|
|
|
63797
64460
|
value === "true" ? true : false
|
|
63798
64461
|
));
|
|
63799
64462
|
}
|
|
63800
|
-
var types = {
|
|
63801
|
-
string: external_exports.coerce.string,
|
|
63802
|
-
number: external_exports.coerce.number,
|
|
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()];
|
|
64463
|
+
var types = {
|
|
64464
|
+
string: external_exports.coerce.string,
|
|
64465
|
+
number: external_exports.coerce.number,
|
|
64466
|
+
boolean: coerceBoolean,
|
|
64467
|
+
enum: external_exports.enum
|
|
64468
|
+
};
|
|
64469
|
+
function getConfig(schema, testValues) {
|
|
64470
|
+
const validator = external_exports.object(Object.fromEntries(Object.entries(schema).map(([key, zodType]) => {
|
|
64471
|
+
if (zodType instanceof ZodOptional) {
|
|
64472
|
+
return [key, external_exports.string().optional()];
|
|
64473
|
+
}
|
|
64474
|
+
return [key, external_exports.string()];
|
|
64475
|
+
})));
|
|
64476
|
+
const processEnv = process.env;
|
|
64477
|
+
const isTestMode = processEnv.NODE_ENV === "test";
|
|
64478
|
+
const envVariables = {
|
|
64479
|
+
...processEnv,
|
|
64480
|
+
...isTestMode && testValues ? Object.fromEntries(Object.entries(testValues).map(([key, value]) => [key, String(value)])) : {}
|
|
64481
|
+
};
|
|
64482
|
+
const packageName = envVariables.npm_package_name;
|
|
64483
|
+
const parseProcessEnvResult = validator.safeParse(envVariables);
|
|
64484
|
+
if (!parseProcessEnvResult.success) {
|
|
64485
|
+
const parsedStackTrace = stackTraceParser.parse(parseProcessEnvResult.error.stack ?? "");
|
|
64486
|
+
const getConfigCallLine = parsedStackTrace.find((line) => {
|
|
64487
|
+
return !line.file?.includes("hyperline-config") && (line.file?.includes("apps/") || line.file?.includes("core/") || line.file?.includes("packages/"));
|
|
64488
|
+
});
|
|
64489
|
+
const callerFile = getConfigCallLine?.file;
|
|
64490
|
+
console.error(`Invalid environment variables for service \`${packageName}\`: \`${callerFile}\``);
|
|
64491
|
+
console.error(parseProcessEnvResult.error.format());
|
|
64492
|
+
process.exit(1);
|
|
64493
|
+
}
|
|
64494
|
+
const coercion = external_exports.object(schema);
|
|
64495
|
+
return coercion.parse(parseProcessEnvResult.data);
|
|
64496
|
+
}
|
|
64497
|
+
|
|
64498
|
+
// ../hyperline-monitoring/build/config.js
|
|
64499
|
+
var config2 = getConfig({
|
|
64500
|
+
// config
|
|
64501
|
+
APP_VERSION: types.string().optional(),
|
|
64502
|
+
// Deployment environment for log tagging, when it cannot be read off
|
|
64503
|
+
// NODE_ENV. Set only by the PDF render worker pools, which must run with
|
|
64504
|
+
// NODE_ENV="production" to get the production React build regardless of which
|
|
64505
|
+
// environment the pod is actually in (see core/invoicing/services/pdf/index.ts).
|
|
64506
|
+
// Unset everywhere else, so the NODE_ENV fallback keeps current behaviour.
|
|
64507
|
+
APP_ENV: types.string().optional(),
|
|
64508
|
+
DD_SERVICE: types.string().optional(),
|
|
64509
|
+
LOGGER_CONSOLE_ENABLED: types.boolean().optional(),
|
|
64510
|
+
LOGGER_STDOUT_ENABLED: types.boolean().optional(),
|
|
64511
|
+
NODE_ENV: types.enum(["local", "test", "staging", "sandbox", "production"]),
|
|
64512
|
+
EVENT_LOOP_MONITORING_ENABLED: types.boolean().optional(),
|
|
64513
|
+
MEMORY_MONITORING_ENABLED: types.boolean().optional(),
|
|
64514
|
+
MEMORY_MONITORING_INTERVAL_MS: types.number().optional()
|
|
64515
|
+
// secrets
|
|
64516
|
+
}, {
|
|
64517
|
+
APP_VERSION: void 0,
|
|
64518
|
+
APP_ENV: void 0,
|
|
64519
|
+
DD_SERVICE: void 0,
|
|
64520
|
+
LOGGER_CONSOLE_ENABLED: false,
|
|
64521
|
+
LOGGER_STDOUT_ENABLED: false,
|
|
64522
|
+
EVENT_LOOP_MONITORING_ENABLED: false,
|
|
64523
|
+
MEMORY_MONITORING_ENABLED: false,
|
|
64524
|
+
MEMORY_MONITORING_INTERVAL_MS: 3e4,
|
|
64525
|
+
NODE_ENV: "test"
|
|
64526
|
+
});
|
|
64527
|
+
|
|
64528
|
+
// ../hyperline-monitoring/build/logger/logger.js
|
|
64529
|
+
import * as util from "node:util";
|
|
64530
|
+
import prune2 from "json-prune";
|
|
64531
|
+
import * as winston from "winston";
|
|
64532
|
+
|
|
64533
|
+
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
64534
|
+
import prune from "json-prune";
|
|
64535
|
+
|
|
64536
|
+
// ../hyperline-monitoring/build/logger/formatting/logRedaction.js
|
|
64537
|
+
var REDACTED_KEY_NAMES = /* @__PURE__ */ new Set([
|
|
64538
|
+
"accesstoken",
|
|
64539
|
+
"apitoken",
|
|
64540
|
+
"assertion",
|
|
64541
|
+
"authorization",
|
|
64542
|
+
"authtoken",
|
|
64543
|
+
"cardnumber",
|
|
64544
|
+
"clientassertion",
|
|
64545
|
+
"codeverifier",
|
|
64546
|
+
"connectionurl",
|
|
64547
|
+
"consumerkey",
|
|
64548
|
+
"cookie",
|
|
64549
|
+
"credential",
|
|
64550
|
+
"credentials",
|
|
64551
|
+
"iban",
|
|
64552
|
+
"idtoken",
|
|
64553
|
+
"launchticket",
|
|
64554
|
+
"privatekey",
|
|
64555
|
+
"publictoken",
|
|
64556
|
+
"refreshtoken",
|
|
64557
|
+
// A workflow secret's value (core/workflows secrets).
|
|
64558
|
+
"secretvalue",
|
|
64559
|
+
"sessiontoken",
|
|
64560
|
+
"token",
|
|
64561
|
+
"tokenid",
|
|
64562
|
+
"verificationcode"
|
|
64563
|
+
]);
|
|
64564
|
+
var REDACTED_KEY_SUFFIX_PATTERN = /(secret|password|passphrase|apikey)$/;
|
|
64565
|
+
var REDACTED_KEY_CANDIDATE_PATTERN = /token|ticket|key|secret|pass|assertion|verifier|credential|authorization|cookie|iban|cardnumber|code|connectionurl/i;
|
|
64566
|
+
var URL_ONLY_REDACTED_KEYS = /* @__PURE__ */ new Set(["key"]);
|
|
64567
|
+
var OAUTH_CODE_KEY = "code";
|
|
64568
|
+
var OAUTH_CODE_CONTEXT_KEYS = ["state", "grant_type"];
|
|
64569
|
+
var REDACTED_VALUE = "<redacted>";
|
|
64570
|
+
var TRUNCATED_VALUE = "[TRUNCATED: not redacted]";
|
|
64571
|
+
var TRUNCATED_KEY = "[TRUNCATED]";
|
|
64572
|
+
var MAX_REDACTION_DEPTH = 6;
|
|
64573
|
+
var MAX_ARRAY_ENTRIES = 50;
|
|
64574
|
+
var MAX_PARSED_STRING_LENGTH = 16384;
|
|
64575
|
+
var MAX_VISITED_NODES = 5e3;
|
|
64576
|
+
var MAX_CONTAINER_ENTRIES = 1e3;
|
|
64577
|
+
var MAX_STRING_CHARACTERS = 256e3;
|
|
64578
|
+
function redactLogBody({ body }) {
|
|
64579
|
+
return redactValue({
|
|
64580
|
+
value: body,
|
|
64581
|
+
depth: MAX_REDACTION_DEPTH,
|
|
64582
|
+
budget: {
|
|
64583
|
+
remainingNodes: MAX_VISITED_NODES,
|
|
64584
|
+
remainingChars: MAX_STRING_CHARACTERS
|
|
64585
|
+
}
|
|
64586
|
+
});
|
|
64587
|
+
}
|
|
64588
|
+
function redactLogUrl({ url: url2 }) {
|
|
64589
|
+
const queryIndex = url2.indexOf("?");
|
|
64590
|
+
if (queryIndex === -1) {
|
|
64591
|
+
return url2;
|
|
64592
|
+
}
|
|
64593
|
+
if (url2.length > MAX_PARSED_STRING_LENGTH) {
|
|
64594
|
+
return `${url2.slice(0, queryIndex)}?${TRUNCATED_VALUE}`;
|
|
64595
|
+
}
|
|
64596
|
+
const redactedQuery = redactFormEncoded({
|
|
64597
|
+
text: url2.slice(queryIndex + 1),
|
|
64598
|
+
extraRedactedKeys: URL_ONLY_REDACTED_KEYS
|
|
64599
|
+
});
|
|
64600
|
+
return redactedQuery === void 0 ? url2 : `${url2.slice(0, queryIndex)}?${redactedQuery}`;
|
|
64601
|
+
}
|
|
64602
|
+
function redactValue({ value, depth, budget }) {
|
|
64603
|
+
if (isOpaqueObject({ value })) {
|
|
64604
|
+
return replaceOpaqueObject({ value });
|
|
64605
|
+
}
|
|
64606
|
+
if (typeof value === "string") {
|
|
64607
|
+
if (value.length > budget.remainingChars) {
|
|
64608
|
+
return TRUNCATED_VALUE;
|
|
64609
|
+
}
|
|
64610
|
+
budget.remainingChars -= value.length;
|
|
64611
|
+
}
|
|
64612
|
+
if (depth <= 0 || budget.remainingNodes <= 0) {
|
|
64613
|
+
return isInspectable({ value }) ? TRUNCATED_VALUE : value;
|
|
64614
|
+
}
|
|
64615
|
+
budget.remainingNodes -= 1;
|
|
64616
|
+
if (typeof value === "string") {
|
|
64617
|
+
return redactString({ text: value, budget });
|
|
64618
|
+
}
|
|
64619
|
+
if (value instanceof URLSearchParams) {
|
|
64620
|
+
return redactValue({ value: value.toString(), depth, budget });
|
|
64621
|
+
}
|
|
64622
|
+
if (Array.isArray(value)) {
|
|
64623
|
+
return redactArray({ items: value, depth, budget });
|
|
64624
|
+
}
|
|
64625
|
+
if (isPlainObject2(value)) {
|
|
64626
|
+
return redactObject({ record: value, depth, budget });
|
|
64627
|
+
}
|
|
64628
|
+
return value;
|
|
64629
|
+
}
|
|
64630
|
+
function isOpaqueObject({ value }) {
|
|
64631
|
+
return typeof value === "object" && value !== null && !Array.isArray(value) && !isPlainObject2(value) && !(value instanceof URLSearchParams);
|
|
64632
|
+
}
|
|
64633
|
+
function replaceOpaqueObject({ value }) {
|
|
64634
|
+
if (typeof value !== "object" || value === null || value instanceof Date) {
|
|
64635
|
+
return value;
|
|
64636
|
+
}
|
|
64637
|
+
if (value instanceof ArrayBuffer || ArrayBuffer.isView(value)) {
|
|
64638
|
+
return `[BINARY ${value.byteLength} bytes]`;
|
|
64639
|
+
}
|
|
64640
|
+
if (value instanceof Blob) {
|
|
64641
|
+
return `[BINARY ${value.size} bytes]`;
|
|
64642
|
+
}
|
|
64643
|
+
if (value instanceof FormData || typeof Reflect.get(value, "pipe") === "function") {
|
|
64644
|
+
return "[BINARY stream]";
|
|
64645
|
+
}
|
|
64646
|
+
return TRUNCATED_VALUE;
|
|
64647
|
+
}
|
|
64648
|
+
function redactArray({ items, depth, budget }) {
|
|
64649
|
+
const isTruncated = items.length > MAX_ARRAY_ENTRIES;
|
|
64650
|
+
const keptItems = isTruncated ? items.slice(0, MAX_ARRAY_ENTRIES) : items;
|
|
64651
|
+
let redactedItems;
|
|
64652
|
+
for (const [index, item] of keptItems.entries()) {
|
|
64653
|
+
const redactedItem = redactValue({ value: item, depth: depth - 1, budget });
|
|
64654
|
+
if (redactedItem !== item) {
|
|
64655
|
+
redactedItems ??= [...keptItems];
|
|
64656
|
+
redactedItems[index] = redactedItem;
|
|
64657
|
+
}
|
|
64658
|
+
}
|
|
64659
|
+
const result = redactedItems ?? keptItems;
|
|
64660
|
+
return isTruncated ? [...result, TRUNCATED_VALUE] : result;
|
|
64661
|
+
}
|
|
64662
|
+
function redactObject({ record: record2, depth, budget }) {
|
|
64663
|
+
const redactedEntries = /* @__PURE__ */ new Map();
|
|
64664
|
+
const carriesOAuthCode = OAUTH_CODE_CONTEXT_KEYS.some((contextKey) => Object.hasOwn(record2, contextKey));
|
|
64665
|
+
const keptKeys = [];
|
|
64666
|
+
let isTruncated = false;
|
|
64667
|
+
for (const key in record2) {
|
|
64668
|
+
if (!Object.hasOwn(record2, key)) {
|
|
64669
|
+
continue;
|
|
64670
|
+
}
|
|
64671
|
+
if (keptKeys.length >= MAX_CONTAINER_ENTRIES || key.length > budget.remainingChars) {
|
|
64672
|
+
isTruncated = true;
|
|
64673
|
+
break;
|
|
64674
|
+
}
|
|
64675
|
+
budget.remainingChars -= key.length;
|
|
64676
|
+
keptKeys.push(key);
|
|
64677
|
+
const nestedValue = record2[key];
|
|
64678
|
+
const isSensitiveKey = isRedactedKey({ key }) || carriesOAuthCode && key === OAUTH_CODE_KEY;
|
|
64679
|
+
const shouldRedact = isSensitiveKey && nestedValue != null && typeof nestedValue !== "boolean";
|
|
64680
|
+
if (shouldRedact) {
|
|
64681
|
+
budget.remainingNodes -= 1;
|
|
64682
|
+
}
|
|
64683
|
+
const redactedNestedValue = shouldRedact ? REDACTED_VALUE : redactValue({ value: nestedValue, depth: depth - 1, budget });
|
|
64684
|
+
if (redactedNestedValue !== nestedValue) {
|
|
64685
|
+
redactedEntries.set(key, redactedNestedValue);
|
|
64686
|
+
}
|
|
64687
|
+
}
|
|
64688
|
+
if (isTruncated) {
|
|
64689
|
+
const keptRecord = {};
|
|
64690
|
+
for (const key of keptKeys) {
|
|
64691
|
+
keptRecord[key] = redactedEntries.has(key) ? redactedEntries.get(key) : record2[key];
|
|
64692
|
+
}
|
|
64693
|
+
keptRecord[TRUNCATED_KEY] = TRUNCATED_VALUE;
|
|
64694
|
+
return keptRecord;
|
|
64695
|
+
}
|
|
64696
|
+
return redactedEntries.size === 0 ? record2 : { ...record2, ...Object.fromEntries(redactedEntries) };
|
|
64697
|
+
}
|
|
64698
|
+
function redactString({ text, budget }) {
|
|
64699
|
+
if (text.length > MAX_PARSED_STRING_LENGTH) {
|
|
64700
|
+
return TRUNCATED_VALUE;
|
|
64701
|
+
}
|
|
64702
|
+
if (!isInspectable({ value: text })) {
|
|
64703
|
+
return text;
|
|
64704
|
+
}
|
|
64705
|
+
const trimmedText = text.trim();
|
|
64706
|
+
if (trimmedText.startsWith("{") || trimmedText.startsWith("[")) {
|
|
64707
|
+
try {
|
|
64708
|
+
const parsedValue = JSON.parse(trimmedText);
|
|
64709
|
+
const redactedValue = redactValue({
|
|
64710
|
+
value: parsedValue,
|
|
64711
|
+
depth: MAX_REDACTION_DEPTH,
|
|
64712
|
+
budget
|
|
64713
|
+
});
|
|
64714
|
+
return redactedValue === parsedValue ? text : JSON.stringify(redactedValue);
|
|
64715
|
+
} catch {
|
|
64716
|
+
return REDACTED_KEY_CANDIDATE_PATTERN.test(text) ? TRUNCATED_VALUE : redactFormEncoded({ text }) ?? text;
|
|
64717
|
+
}
|
|
64718
|
+
}
|
|
64719
|
+
return redactFormEncoded({ text }) ?? text;
|
|
64720
|
+
}
|
|
64721
|
+
function redactFormEncoded({ text, extraRedactedKeys }) {
|
|
64722
|
+
if (!text.includes("=") || !REDACTED_KEY_CANDIDATE_PATTERN.test(text)) {
|
|
64723
|
+
return void 0;
|
|
64724
|
+
}
|
|
64725
|
+
const params = new URLSearchParams(text);
|
|
64726
|
+
const carriesOAuthCode = OAUTH_CODE_CONTEXT_KEYS.some((contextKey) => params.has(contextKey));
|
|
64727
|
+
let hasRedactedParam = false;
|
|
64728
|
+
for (const key of new Set(params.keys())) {
|
|
64729
|
+
if (isRedactedKey({ key }) || extraRedactedKeys?.has(key.toLowerCase()) || carriesOAuthCode && key === OAUTH_CODE_KEY) {
|
|
64730
|
+
params.set(key, REDACTED_VALUE);
|
|
64731
|
+
hasRedactedParam = true;
|
|
63810
64732
|
}
|
|
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);
|
|
63830
64733
|
}
|
|
63831
|
-
|
|
63832
|
-
|
|
64734
|
+
return hasRedactedParam ? params.toString() : void 0;
|
|
64735
|
+
}
|
|
64736
|
+
function isRedactedKey({ key }) {
|
|
64737
|
+
const normalizedKey = key.toLowerCase().replace(/[_-]/g, "");
|
|
64738
|
+
return REDACTED_KEY_NAMES.has(normalizedKey) || REDACTED_KEY_SUFFIX_PATTERN.test(normalizedKey);
|
|
64739
|
+
}
|
|
64740
|
+
function isInspectable({ value }) {
|
|
64741
|
+
if (typeof value === "string") {
|
|
64742
|
+
return value.length > MAX_PARSED_STRING_LENGTH || /^\s*[{[]/.test(value) || value.includes("=") && REDACTED_KEY_CANDIDATE_PATTERN.test(value);
|
|
64743
|
+
}
|
|
64744
|
+
return value instanceof URLSearchParams || Array.isArray(value) || isPlainObject2(value);
|
|
64745
|
+
}
|
|
64746
|
+
function isPlainObject2(value) {
|
|
64747
|
+
if (typeof value !== "object" || value === null) {
|
|
64748
|
+
return false;
|
|
64749
|
+
}
|
|
64750
|
+
const prototype = Object.getPrototypeOf(value);
|
|
64751
|
+
return prototype === Object.prototype || prototype === null;
|
|
63833
64752
|
}
|
|
63834
|
-
|
|
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
64753
|
|
|
63870
64754
|
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
63871
|
-
import prune from "json-prune";
|
|
63872
64755
|
var REDACTED_HEADER_KEY_PATTERN = /authorization|authenticate|cookie|secret|token|credential|signature|jwt|api[_-]?key|access[_-]?token|refresh[_-]?token|private[_-]?key/i;
|
|
63873
64756
|
function jsonFormat(info) {
|
|
63874
64757
|
const prunedInfo = JSON.parse(prune(info));
|
|
@@ -63929,14 +64812,106 @@ function transformPrune(info) {
|
|
|
63929
64812
|
});
|
|
63930
64813
|
return info;
|
|
63931
64814
|
}
|
|
64815
|
+
var MAX_AXIOS_ERROR_DEPTH = 5;
|
|
64816
|
+
var MAX_AXIOS_ERROR_CONTAINER_ENTRIES = 1e3;
|
|
64817
|
+
var MAX_AXIOS_ERROR_VISITED_NODES = 5e3;
|
|
64818
|
+
var REDACTED_BODY_KEYS = /* @__PURE__ */ new Set(["requestBody", "responseBody"]);
|
|
63932
64819
|
function transformAxiosError(info) {
|
|
63933
|
-
|
|
63934
|
-
|
|
63935
|
-
|
|
64820
|
+
let walk;
|
|
64821
|
+
for (const [key, value] of Object.entries(info)) {
|
|
64822
|
+
if (typeof value !== "object" || value === null || REDACTED_BODY_KEYS.has(key)) {
|
|
64823
|
+
continue;
|
|
63936
64824
|
}
|
|
63937
|
-
|
|
64825
|
+
walk ??= {
|
|
64826
|
+
formatted: /* @__PURE__ */ new Map(),
|
|
64827
|
+
remainingNodes: MAX_AXIOS_ERROR_VISITED_NODES
|
|
64828
|
+
};
|
|
64829
|
+
const formattedValue = formatNestedAxiosErrors({
|
|
64830
|
+
value,
|
|
64831
|
+
depth: MAX_AXIOS_ERROR_DEPTH,
|
|
64832
|
+
walk
|
|
64833
|
+
});
|
|
64834
|
+
if (formattedValue !== value) {
|
|
64835
|
+
info[key] = formattedValue;
|
|
64836
|
+
}
|
|
64837
|
+
}
|
|
63938
64838
|
return info;
|
|
63939
64839
|
}
|
|
64840
|
+
function formatNestedAxiosErrors({ value, depth, walk }) {
|
|
64841
|
+
if (typeof value !== "object" || value === null) {
|
|
64842
|
+
return value;
|
|
64843
|
+
}
|
|
64844
|
+
if (walk.formatted.has(value)) {
|
|
64845
|
+
return walk.formatted.get(value);
|
|
64846
|
+
}
|
|
64847
|
+
if (Reflect.get(value, "name") === "AxiosError") {
|
|
64848
|
+
const formattedError = walk.remainingNodes > 0 ? formatAxiosError(value) : summarizeAxiosError({ error: value });
|
|
64849
|
+
walk.remainingNodes -= 1;
|
|
64850
|
+
walk.formatted.set(value, formattedError);
|
|
64851
|
+
return formattedError;
|
|
64852
|
+
}
|
|
64853
|
+
const isWalkable = Array.isArray(value) || value instanceof Error || isPlainRecord(value);
|
|
64854
|
+
if (!isWalkable || depth <= 0 || walk.remainingNodes <= 0) {
|
|
64855
|
+
return value;
|
|
64856
|
+
}
|
|
64857
|
+
walk.formatted.set(value, "[Circular]");
|
|
64858
|
+
walk.remainingNodes -= 1;
|
|
64859
|
+
const formattedValue = formatWalkableValue({ value, depth, walk });
|
|
64860
|
+
walk.formatted.set(value, formattedValue);
|
|
64861
|
+
return formattedValue;
|
|
64862
|
+
}
|
|
64863
|
+
function summarizeAxiosError({ error: error48 }) {
|
|
64864
|
+
return {
|
|
64865
|
+
name: Reflect.get(error48, "name"),
|
|
64866
|
+
message: Reflect.get(error48, "message"),
|
|
64867
|
+
code: Reflect.get(error48, "code")
|
|
64868
|
+
};
|
|
64869
|
+
}
|
|
64870
|
+
function formatWalkableValue({ value, depth, walk }) {
|
|
64871
|
+
if (Array.isArray(value)) {
|
|
64872
|
+
if (value.length > MAX_AXIOS_ERROR_CONTAINER_ENTRIES) {
|
|
64873
|
+
return value;
|
|
64874
|
+
}
|
|
64875
|
+
let formattedItems;
|
|
64876
|
+
for (const [index, item] of value.entries()) {
|
|
64877
|
+
const formattedItem = formatNestedAxiosErrors({
|
|
64878
|
+
value: item,
|
|
64879
|
+
depth: depth - 1,
|
|
64880
|
+
walk
|
|
64881
|
+
});
|
|
64882
|
+
if (formattedItem !== item) {
|
|
64883
|
+
formattedItems ??= [...value];
|
|
64884
|
+
formattedItems[index] = formattedItem;
|
|
64885
|
+
}
|
|
64886
|
+
}
|
|
64887
|
+
return formattedItems ?? value;
|
|
64888
|
+
}
|
|
64889
|
+
const keys = Object.keys(value);
|
|
64890
|
+
if (keys.length > MAX_AXIOS_ERROR_CONTAINER_ENTRIES) {
|
|
64891
|
+
return value;
|
|
64892
|
+
}
|
|
64893
|
+
const formattedEntries = /* @__PURE__ */ new Map();
|
|
64894
|
+
for (const key of keys) {
|
|
64895
|
+
const nestedValue = Reflect.get(value, key);
|
|
64896
|
+
const formattedNestedValue = formatNestedAxiosErrors({
|
|
64897
|
+
value: nestedValue,
|
|
64898
|
+
depth: depth - 1,
|
|
64899
|
+
walk
|
|
64900
|
+
});
|
|
64901
|
+
if (formattedNestedValue !== nestedValue) {
|
|
64902
|
+
formattedEntries.set(key, formattedNestedValue);
|
|
64903
|
+
}
|
|
64904
|
+
}
|
|
64905
|
+
if (formattedEntries.size === 0) {
|
|
64906
|
+
return value;
|
|
64907
|
+
}
|
|
64908
|
+
return {
|
|
64909
|
+
...value,
|
|
64910
|
+
// Error properties are not enumerable, so the spread would drop them.
|
|
64911
|
+
...value instanceof Error ? { name: value.name, message: value.message, stack: value.stack } : {},
|
|
64912
|
+
...Object.fromEntries(formattedEntries)
|
|
64913
|
+
};
|
|
64914
|
+
}
|
|
63940
64915
|
function formatAxiosError(error48) {
|
|
63941
64916
|
if (!isRecord(error48) || error48.name !== "AxiosError") {
|
|
63942
64917
|
return error48;
|
|
@@ -63949,9 +64924,9 @@ function formatAxiosError(error48) {
|
|
|
63949
64924
|
code: error48.code,
|
|
63950
64925
|
request: {
|
|
63951
64926
|
method: request?.method,
|
|
63952
|
-
url: request?.url,
|
|
64927
|
+
url: typeof request?.url === "string" ? redactLogUrl({ url: request.url }) : request?.url,
|
|
63953
64928
|
baseURL: request?.baseURL,
|
|
63954
|
-
params: request?.params,
|
|
64929
|
+
params: redactLogBody({ body: request?.params }),
|
|
63955
64930
|
headers: redactHeaders({ headers: request?.headers }),
|
|
63956
64931
|
"axios-retry": request?.["axios-retry"]
|
|
63957
64932
|
},
|
|
@@ -63959,7 +64934,7 @@ function formatAxiosError(error48) {
|
|
|
63959
64934
|
status: response?.status,
|
|
63960
64935
|
statusText: response?.statusText,
|
|
63961
64936
|
headers: redactHeaders({ headers: response?.headers }),
|
|
63962
|
-
data: response?.data
|
|
64937
|
+
data: redactLogBody({ body: response?.data })
|
|
63963
64938
|
}
|
|
63964
64939
|
};
|
|
63965
64940
|
}
|
|
@@ -63972,6 +64947,10 @@ function redactHeaders({ headers }) {
|
|
|
63972
64947
|
REDACTED_HEADER_KEY_PATTERN.test(headerKey) ? "<redacted>" : headerValue
|
|
63973
64948
|
]));
|
|
63974
64949
|
}
|
|
64950
|
+
function isPlainRecord(value) {
|
|
64951
|
+
const prototype = Object.getPrototypeOf(value);
|
|
64952
|
+
return prototype === Object.prototype || prototype === null;
|
|
64953
|
+
}
|
|
63975
64954
|
function isRecord(value) {
|
|
63976
64955
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
63977
64956
|
}
|
|
@@ -64001,7 +64980,7 @@ function logHttpResponse(logger2, response, responseTime, extra) {
|
|
|
64001
64980
|
const responseMetadata = {
|
|
64002
64981
|
statusCode,
|
|
64003
64982
|
responseTime,
|
|
64004
|
-
responseBody,
|
|
64983
|
+
responseBody: redactLogBody({ body: responseBody }),
|
|
64005
64984
|
// Redacted so secrets (authorization/cookie/token/…) never reach the logs
|
|
64006
64985
|
// while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
|
|
64007
64986
|
responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
|
|
@@ -64014,14 +64993,15 @@ function logHttpResponse(logger2, response, responseTime, extra) {
|
|
|
64014
64993
|
}
|
|
64015
64994
|
function transform2(request) {
|
|
64016
64995
|
const method = request.method.toUpperCase();
|
|
64017
|
-
const
|
|
64996
|
+
const originalUrl = redactLogUrl({ url: request.originalUrl });
|
|
64997
|
+
const message = `${method} ${originalUrl}`;
|
|
64018
64998
|
const metadata = {};
|
|
64019
64999
|
metadata.method = method;
|
|
64020
|
-
metadata.url = request.url;
|
|
64021
|
-
metadata.path = request.path;
|
|
65000
|
+
metadata.url = redactLogUrl({ url: request.url });
|
|
65001
|
+
metadata.path = redactLogUrl({ url: request.path });
|
|
64022
65002
|
metadata.hostname = request.hostname;
|
|
64023
|
-
metadata.originalUrl =
|
|
64024
|
-
metadata.requestBody =
|
|
65003
|
+
metadata.originalUrl = originalUrl;
|
|
65004
|
+
metadata.requestBody = redactLogBody({ body: request.body });
|
|
64025
65005
|
metadata.routePath = transformUrlIntoRoutePath(request);
|
|
64026
65006
|
metadata.apiKeyEnd = request.headers["authorization"]?.slice(-6);
|
|
64027
65007
|
return { message, metadata };
|
|
@@ -64068,7 +65048,16 @@ function buildLoggerFactory({ config: config4, context }) {
|
|
|
64068
65048
|
const internalLogger = winston.createLogger({
|
|
64069
65049
|
transports: transports2,
|
|
64070
65050
|
defaultMeta,
|
|
64071
|
-
format: winston.format.combine(
|
|
65051
|
+
format: winston.format.combine(
|
|
65052
|
+
winston.format.splat(),
|
|
65053
|
+
winston.format(addMetadata({ getCorrelationId, getExecutionContext }))(),
|
|
65054
|
+
// Before pruning: json-prune would otherwise serialize a binary
|
|
65055
|
+
// `response.data` byte by byte before it is summarised (#6006).
|
|
65056
|
+
winston.format(transformAxiosError)(),
|
|
65057
|
+
winston.format(transformErrorEnrich)({ depth: 5 }),
|
|
65058
|
+
winston.format(transformPrune)(),
|
|
65059
|
+
winston.format.timestamp()
|
|
65060
|
+
),
|
|
64072
65061
|
exitOnError: false
|
|
64073
65062
|
});
|
|
64074
65063
|
function createLogger3({ serviceName }) {
|
|
@@ -66415,11 +67404,32 @@ import { deepEqual } from "fast-equals";
|
|
|
66415
67404
|
|
|
66416
67405
|
// ../hyperline-lib/build/utils/realignDatesToTimezone.js
|
|
66417
67406
|
var import_shared4 = __toESM(require_shared(), 1);
|
|
66418
|
-
var
|
|
67407
|
+
var MILLISECONDS_PER_HOUR = 60 * 60 * 1e3;
|
|
67408
|
+
var MILLISECONDS_PER_DAY = 24 * MILLISECONDS_PER_HOUR;
|
|
66419
67409
|
var LAST_MILLISECOND_OF_DAY = MILLISECONDS_PER_DAY - 1;
|
|
67410
|
+
var dateRealignmentModeSchema = external_exports.enum([
|
|
67411
|
+
"utc_midnight_import",
|
|
67412
|
+
"dst_hour_drift",
|
|
67413
|
+
"month_start_drift",
|
|
67414
|
+
"manual_phase_end_midnight"
|
|
67415
|
+
]).default("utc_midnight_import");
|
|
67416
|
+
var DST_HOUR_SHIFT_BY_LOCAL_MILLISECOND_OF_DAY = /* @__PURE__ */ new Map([
|
|
67417
|
+
[23 * MILLISECONDS_PER_HOUR, MILLISECONDS_PER_HOUR],
|
|
67418
|
+
[LAST_MILLISECOND_OF_DAY - MILLISECONDS_PER_HOUR, MILLISECONDS_PER_HOUR],
|
|
67419
|
+
[MILLISECONDS_PER_HOUR, -MILLISECONDS_PER_HOUR],
|
|
67420
|
+
[MILLISECONDS_PER_HOUR - 1, -MILLISECONDS_PER_HOUR]
|
|
67421
|
+
]);
|
|
67422
|
+
|
|
67423
|
+
// ../hyperline-lib/build/utils/overviewPeriods.js
|
|
67424
|
+
var OverviewPeriodSchema = external_exports.enum([
|
|
67425
|
+
"this_month",
|
|
67426
|
+
"last_month",
|
|
67427
|
+
"last_3_months"
|
|
67428
|
+
]);
|
|
66420
67429
|
|
|
66421
67430
|
// ../hyperline-lib/build/utils/api/filterBuilder.js
|
|
66422
|
-
var
|
|
67431
|
+
var nullAuthorizedOperators = ["isNull", "isNotNull"];
|
|
67432
|
+
var baseAuthorizedOperators = ["not", ...nullAuthorizedOperators];
|
|
66423
67433
|
var booleanAuthorizedOperators = [
|
|
66424
67434
|
...baseAuthorizedOperators,
|
|
66425
67435
|
"equals"
|
|
@@ -66448,6 +67458,7 @@ var authorizedOperators = [
|
|
|
66448
67458
|
...arrayAuthorizedOperators,
|
|
66449
67459
|
...mapAuthorizedOperators
|
|
66450
67460
|
];
|
|
67461
|
+
var NullFilterValueSchema = BooleanSchema.or(external_exports.literal("")).optional();
|
|
66451
67462
|
|
|
66452
67463
|
// ../hyperline-lib/build/http/dto/state.js
|
|
66453
67464
|
var StateSchema = external_exports.enum(usStates).openapi({
|
|
@@ -66485,150 +67496,6 @@ var isAxiosError = axios.isAxiosError;
|
|
|
66485
67496
|
// ../hyperline-lib/build/httpClient/httpClient.js
|
|
66486
67497
|
import axios2 from "axios";
|
|
66487
67498
|
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
67499
|
import { AxiosError } from "axios";
|
|
66633
67500
|
var recommendedRetryConfig = {
|
|
66634
67501
|
retries: 3,
|
|
@@ -66696,22 +67563,23 @@ function isTooManyRequestsError(error48) {
|
|
|
66696
67563
|
return error48.response?.status === 429;
|
|
66697
67564
|
}
|
|
66698
67565
|
var toLogRequest = (config4) => {
|
|
66699
|
-
const url2 =
|
|
67566
|
+
const url2 = config4.url ?? "";
|
|
66700
67567
|
return {
|
|
66701
67568
|
method: config4.method ?? "",
|
|
66702
67569
|
url: url2,
|
|
66703
67570
|
path: url2,
|
|
66704
67571
|
hostname: config4.baseURL ?? "",
|
|
66705
67572
|
originalUrl: `${config4.baseURL ?? ""}${url2}`,
|
|
66706
|
-
body:
|
|
67573
|
+
body: config4.data,
|
|
66707
67574
|
headers: {}
|
|
66708
67575
|
};
|
|
66709
67576
|
};
|
|
66710
67577
|
|
|
66711
67578
|
// ../hyperline-lib/build/httpClient/publicUrlFetch.js
|
|
67579
|
+
import { lookup as lookupCallback } from "node:dns";
|
|
66712
67580
|
import { lookup } from "node:dns/promises";
|
|
66713
67581
|
import { isIP } from "node:net";
|
|
66714
|
-
import { Agent } from "undici";
|
|
67582
|
+
import { Agent, fetch as fetch2 } from "undici";
|
|
66715
67583
|
var PINNED_DISPATCHER_TTL_MS = 5 * 60 * 1e3;
|
|
66716
67584
|
var DEFAULT_MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
|
|
66717
67585
|
|
|
@@ -66723,14 +67591,23 @@ import multer2 from "multer";
|
|
|
66723
67591
|
// ../hyperline-lib/build/httpRouter/file.js
|
|
66724
67592
|
import helmet from "helmet";
|
|
66725
67593
|
|
|
66726
|
-
// ../hyperline-lib/build/publicApi/auth/
|
|
67594
|
+
// ../hyperline-lib/build/publicApi/auth/apiKey.js
|
|
66727
67595
|
import { randomBytes as randomBytes2, scryptSync } from "node:crypto";
|
|
66728
67596
|
|
|
67597
|
+
// ../hyperline-lib/build/publicApi/auth/apiKeyHashCache.js
|
|
67598
|
+
import { createHash as createHash4 } from "node:crypto";
|
|
67599
|
+
var TTL_MS = 5 * 6e4;
|
|
67600
|
+
|
|
66729
67601
|
// ../hyperline-mcp/build/requestBuilder.js
|
|
66730
|
-
function buildRequestConfig(path2, args, method, queryParamKeys = []) {
|
|
67602
|
+
function buildRequestConfig({ path: path2, args, method, queryParamKeys = [], arrayBody = false }) {
|
|
66731
67603
|
const { url: url2, usedKeys } = replacePathParams(path2, args);
|
|
66732
67604
|
const remaining = removeUsedKeys(args, usedKeys);
|
|
66733
|
-
const { params, data } = separateParamsAndBody(
|
|
67605
|
+
const { params, data } = separateParamsAndBody({
|
|
67606
|
+
args: remaining,
|
|
67607
|
+
method,
|
|
67608
|
+
queryParamKeys,
|
|
67609
|
+
arrayBody
|
|
67610
|
+
});
|
|
66734
67611
|
return { url: url2, params, data };
|
|
66735
67612
|
}
|
|
66736
67613
|
function replacePathParams(path2, args) {
|
|
@@ -66761,7 +67638,7 @@ var PathParamError = class extends Error {
|
|
|
66761
67638
|
function removeUsedKeys(args, usedKeys) {
|
|
66762
67639
|
return Object.fromEntries(Object.entries(args).filter(([key]) => !usedKeys.has(key)));
|
|
66763
67640
|
}
|
|
66764
|
-
function separateParamsAndBody(args, method, queryParamKeys) {
|
|
67641
|
+
function separateParamsAndBody({ args, method, queryParamKeys, arrayBody }) {
|
|
66765
67642
|
const isBodyMethod = ["POST", "PUT", "PATCH"].includes(method);
|
|
66766
67643
|
if (!isBodyMethod) {
|
|
66767
67644
|
return { params: args };
|
|
@@ -66769,8 +67646,7 @@ function separateParamsAndBody(args, method, queryParamKeys) {
|
|
|
66769
67646
|
const queryKeySet = new Set(queryParamKeys);
|
|
66770
67647
|
const params = Object.fromEntries(Object.entries(args).filter(([key]) => queryKeySet.has(key)));
|
|
66771
67648
|
const data = Object.fromEntries(Object.entries(args).filter(([key]) => !queryKeySet.has(key)));
|
|
66772
|
-
|
|
66773
|
-
if (dataKeys.length === 1 && dataKeys[0] === "items" && Array.isArray(data.items)) {
|
|
67649
|
+
if (arrayBody && Array.isArray(data.items)) {
|
|
66774
67650
|
return { params, data: data.items };
|
|
66775
67651
|
}
|
|
66776
67652
|
return { params, data };
|
|
@@ -66848,7 +67724,12 @@ function createCLIContext({ apiKey, baseUrl, outputFormat, source, companyId })
|
|
|
66848
67724
|
baseUrl,
|
|
66849
67725
|
outputFormat,
|
|
66850
67726
|
async execute({ method, path: path2, args, queryParamKeys = [], body, baseUrlOverride }) {
|
|
66851
|
-
const { url: url2, params, data } = buildRequestConfig(
|
|
67727
|
+
const { url: url2, params, data } = buildRequestConfig({
|
|
67728
|
+
path: path2,
|
|
67729
|
+
args,
|
|
67730
|
+
method,
|
|
67731
|
+
queryParamKeys
|
|
67732
|
+
});
|
|
66852
67733
|
const requestData = body ?? data;
|
|
66853
67734
|
const hasData = Array.isArray(requestData) ? requestData.length > 0 : requestData != null && Object.keys(requestData).length > 0;
|
|
66854
67735
|
try {
|