@hyperline/cli 0.1.0-build.1.1921384 → 0.1.0-build.1.1929994
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 +1747 -787
- 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.",
|
|
@@ -37739,10 +37739,9 @@ Examples:
|
|
|
37739
37739
|
baseUrlOverride: resolveIngestBaseUrl(ctx.baseUrl)
|
|
37740
37740
|
});
|
|
37741
37741
|
});
|
|
37742
|
-
resource.command("send").description(`Send a single billable event.`).requiredOption("--customer-id <value>", `Customer ID or external ID`).requiredOption("--event-type <value>", `Event type`).requiredOption("--timestamp <value>", `ISO8601 timestamp`).requiredOption("--record <value>", `Event record as JSON (must include "id" key)`).
|
|
37742
|
+
resource.command("send").description(`Send a single billable event.`).requiredOption("--customer-id <value>", `Customer ID or external ID`).requiredOption("--event-type <value>", `Event type`).requiredOption("--timestamp <value>", `ISO8601 timestamp`).requiredOption("--record <value>", `Event record as JSON (must include "id" key)`).addHelpText("after", `
|
|
37743
37743
|
Examples:
|
|
37744
|
-
hyperline events send --customer-id cus_xyz --event-type api_call --timestamp 2024-01-15T10:00:00Z --record '{"id":"evt_1","duration":32}'
|
|
37745
|
-
hyperline events send --customer-id cus_xyz --event-type api_call --timestamp 2024-01-15T10:00:00Z --record '{"id":"evt_1"}' --with-price-calculation`).action(async (opts) => {
|
|
37744
|
+
hyperline events send --customer-id cus_xyz --event-type api_call --timestamp 2024-01-15T10:00:00Z --record '{"id":"evt_1","duration":32}'`).action(async (opts) => {
|
|
37746
37745
|
const ctx = resource.parent?.opts()._ctx;
|
|
37747
37746
|
if (!ctx) {
|
|
37748
37747
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -37762,14 +37761,10 @@ Examples:
|
|
|
37762
37761
|
timestamp: opts.timestamp,
|
|
37763
37762
|
record: record2
|
|
37764
37763
|
};
|
|
37765
|
-
const args = {};
|
|
37766
|
-
if (opts.withPriceCalculation !== void 0)
|
|
37767
|
-
args.with_price_calculation = true;
|
|
37768
37764
|
await ctx.execute({
|
|
37769
37765
|
method: "POST",
|
|
37770
37766
|
path: "/v1/events",
|
|
37771
|
-
args,
|
|
37772
|
-
queryParamKeys: ["with_price_calculation"],
|
|
37767
|
+
args: {},
|
|
37773
37768
|
body,
|
|
37774
37769
|
baseUrlOverride: resolveIngestBaseUrl(ctx.baseUrl)
|
|
37775
37770
|
});
|
|
@@ -38170,7 +38165,7 @@ Examples:
|
|
|
38170
38165
|
// build/commands/generated/accounting-journal-entries.js
|
|
38171
38166
|
function registerAccounting_Journal_EntriesCommands(parent) {
|
|
38172
38167
|
const resource = parent.command("accounting-journal-entries").description("Manage accounting > journal entries");
|
|
38173
|
-
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", `
|
|
38174
38169
|
Examples:
|
|
38175
38170
|
hyperline accounting-journal-entries list-journal-entries
|
|
38176
38171
|
hyperline accounting-journal-entries list-journal-entries --take <take> --entry-number <entry_number>`).action(async (opts) => {
|
|
@@ -38285,7 +38280,7 @@ Examples:
|
|
|
38285
38280
|
queryParamKeys: []
|
|
38286
38281
|
});
|
|
38287
38282
|
});
|
|
38288
|
-
resource.command("preview-manual-journal-entry-recognition").description(`Preview revenue-recognition slices for a manual journal entry without writing data.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--amount <
|
|
38283
|
+
resource.command("preview-manual-journal-entry-recognition").description(`Preview revenue-recognition slices for a manual journal entry without writing data.`).requiredOption("--ledger-id <value>", `Ledger identifier.`).requiredOption("--amount <number>", `Deferred amount in minor ledger-currency units.`).requiredOption("--method <value>", `Recognition method to preview.`).option("--recognition-date <value>", `Recognition date for point-in-time recognition.`).option("--window <json>", `Service window for over-time recognition.`).option("--granularity <value>", `Slice granularity for over-time recognition.`).addHelpText("after", `
|
|
38289
38284
|
Examples:
|
|
38290
38285
|
hyperline accounting-journal-entries preview-manual-journal-entry-recognition --ledger-id <ledger_id> --amount <amount> --method <method>
|
|
38291
38286
|
hyperline accounting-journal-entries preview-manual-journal-entry-recognition --ledger-id <ledger_id> --amount <amount> --method <method> --recognition-date <recognition_date> --window <window>
|
|
@@ -38298,14 +38293,14 @@ Examples:
|
|
|
38298
38293
|
const args = {};
|
|
38299
38294
|
if (opts.ledgerId !== void 0)
|
|
38300
38295
|
args.ledger_id = opts.ledgerId;
|
|
38301
|
-
if (opts.amount !== void 0)
|
|
38302
|
-
args.amount = opts.amount;
|
|
38303
38296
|
if (opts.method !== void 0)
|
|
38304
38297
|
args.method = opts.method;
|
|
38305
38298
|
if (opts.recognitionDate !== void 0)
|
|
38306
38299
|
args.recognition_date = opts.recognitionDate;
|
|
38307
38300
|
if (opts.granularity !== void 0)
|
|
38308
38301
|
args.granularity = opts.granularity;
|
|
38302
|
+
if (opts.amount !== void 0)
|
|
38303
|
+
args.amount = Number(opts.amount);
|
|
38309
38304
|
if (opts.window !== void 0)
|
|
38310
38305
|
args.window = JSON.parse(opts.window);
|
|
38311
38306
|
await ctx.execute({
|
|
@@ -38414,9 +38409,10 @@ Examples:
|
|
|
38414
38409
|
queryParamKeys: ["invoicing_entity_id"]
|
|
38415
38410
|
});
|
|
38416
38411
|
});
|
|
38417
|
-
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", `
|
|
38418
38413
|
Examples:
|
|
38419
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>
|
|
38420
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) => {
|
|
38421
38417
|
const ctx = resource.parent?.opts()._ctx;
|
|
38422
38418
|
if (!ctx) {
|
|
@@ -38438,6 +38434,8 @@ Examples:
|
|
|
38438
38434
|
args.currency = opts.currency;
|
|
38439
38435
|
if (opts.entryNumberPattern !== void 0)
|
|
38440
38436
|
args.entry_number_pattern = opts.entryNumberPattern;
|
|
38437
|
+
if (opts.fiscalYearEndMonth !== void 0)
|
|
38438
|
+
args.fiscal_year_end_month = Number(opts.fiscalYearEndMonth);
|
|
38441
38439
|
if (opts.isPrimary !== void 0)
|
|
38442
38440
|
args.is_primary = true;
|
|
38443
38441
|
if (opts.isInactive !== void 0)
|
|
@@ -38509,6 +38507,94 @@ Examples:
|
|
|
38509
38507
|
queryParamKeys: []
|
|
38510
38508
|
});
|
|
38511
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
|
+
});
|
|
38512
38598
|
}
|
|
38513
38599
|
|
|
38514
38600
|
// build/commands/generated/accounting-reports.js
|
|
@@ -38583,7 +38669,7 @@ Examples:
|
|
|
38583
38669
|
// build/commands/generated/accounting-revenue-recognition.js
|
|
38584
38670
|
function registerAccounting_Revenue_RecognitionCommands(parent) {
|
|
38585
38671
|
const resource = parent.command("accounting-revenue-recognition").description("Manage accounting > revenue recognition");
|
|
38586
|
-
resource.command("get-rev-rec-waterfall").description(`Aggregate revenue-recognition schedules into a booked-by-recognition month matrix.`).option("--ledger-id <value>", `Ledger identifier.`).option("--year <number>", `Booked calendar year.`).option("--customer-id.in <value>", `Comma-separated customer identifiers.`).option("--product-id.in <value>", `Comma-separated product identifiers.`).option("--search <value>", `Search
|
|
38672
|
+
resource.command("get-rev-rec-waterfall").description(`Aggregate revenue-recognition schedules into a booked-by-recognition month matrix.`).option("--ledger-id <value>", `Ledger identifier.`).option("--year <number>", `Booked calendar year.`).option("--customer-id.in <value>", `Comma-separated customer identifiers.`).option("--product-id.in <value>", `Comma-separated product identifiers.`).option("--search <value>", `Search by invoice ID or number, customer name or ID, or subscription ID.`).addHelpText("after", `
|
|
38587
38673
|
Examples:
|
|
38588
38674
|
hyperline accounting-revenue-recognition get-rev-rec-waterfall
|
|
38589
38675
|
hyperline accounting-revenue-recognition get-rev-rec-waterfall --ledger-id <ledger_id> --year <year>`).action(async (opts) => {
|
|
@@ -38616,7 +38702,7 @@ Examples:
|
|
|
38616
38702
|
]
|
|
38617
38703
|
});
|
|
38618
38704
|
});
|
|
38619
|
-
resource.command("get-rev-rec-waterfall-cell").description(`List the schedules and slices contributing to a waterfall cell.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `Ledger identifier.`).option("--booked-month <value>", `Booked month formatted YYYY-MM; required if year is absent.`).option("--year <number>", `Booked year; required if booked_month is absent.`).option("--recognition-month <value>", `Recognition month formatted YYYY-MM.`).option("--cell-type <value>", `Waterfall cell category.`).option("--status <value>", `Recognition status filter.`).option("--customer-id.in <value>", `Comma-separated customer identifiers.`).option("--product-id.in <value>", `Comma-separated product identifiers.`).option("--search <value>", `Search
|
|
38705
|
+
resource.command("get-rev-rec-waterfall-cell").description(`List the schedules and slices contributing to a waterfall cell.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--ledger-id <value>", `Ledger identifier.`).option("--booked-month <value>", `Booked month formatted YYYY-MM; required if year is absent.`).option("--year <number>", `Booked year; required if booked_month is absent.`).option("--recognition-month <value>", `Recognition month formatted YYYY-MM.`).option("--cell-type <value>", `Waterfall cell category.`).option("--status <value>", `Recognition status filter.`).option("--customer-id.in <value>", `Comma-separated customer identifiers.`).option("--product-id.in <value>", `Comma-separated product identifiers.`).option("--search <value>", `Search by invoice ID or number, customer name or ID, or subscription ID.`).addHelpText("after", `
|
|
38620
38706
|
Examples:
|
|
38621
38707
|
hyperline accounting-revenue-recognition get-rev-rec-waterfall-cell
|
|
38622
38708
|
hyperline accounting-revenue-recognition get-rev-rec-waterfall-cell --take <take> --ledger-id <ledger_id>`).action(async (opts) => {
|
|
@@ -38794,7 +38880,7 @@ Examples:
|
|
|
38794
38880
|
queryParamKeys: []
|
|
38795
38881
|
});
|
|
38796
38882
|
});
|
|
38797
|
-
resource.command("reshape-rev-rec-schedule").description(`Recognize an amount now and optionally spread the remainder over a new window.`).requiredOption("--schedule-id <value>", `schedule_id parameter`).requiredOption("--recognize-now-amount <
|
|
38883
|
+
resource.command("reshape-rev-rec-schedule").description(`Recognize an amount now and optionally spread the remainder over a new window.`).requiredOption("--schedule-id <value>", `schedule_id parameter`).requiredOption("--recognize-now-amount <number>", `Amount to recognize immediately in ledger currency. Expressed in currency's smallest unit.`).option("--window <json>", `Window over which to spread the remaining amount.`).requiredOption("--reason-code <value>", `Stable reason code for the adjustment.`).option("--reason-detail <value>", `Required explanation when reason_code is \`other\`.`).addHelpText("after", `
|
|
38798
38884
|
Examples:
|
|
38799
38885
|
hyperline accounting-revenue-recognition reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --reason-code <reason_code>
|
|
38800
38886
|
hyperline accounting-revenue-recognition reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --reason-code <reason_code> --window <window> --reason-detail <reason_detail>
|
|
@@ -38807,12 +38893,12 @@ Examples:
|
|
|
38807
38893
|
const args = {};
|
|
38808
38894
|
if (opts.scheduleId !== void 0)
|
|
38809
38895
|
args.schedule_id = opts.scheduleId;
|
|
38810
|
-
if (opts.recognizeNowAmount !== void 0)
|
|
38811
|
-
args.recognize_now_amount = opts.recognizeNowAmount;
|
|
38812
38896
|
if (opts.reasonCode !== void 0)
|
|
38813
38897
|
args.reason_code = opts.reasonCode;
|
|
38814
38898
|
if (opts.reasonDetail !== void 0)
|
|
38815
38899
|
args.reason_detail = opts.reasonDetail;
|
|
38900
|
+
if (opts.recognizeNowAmount !== void 0)
|
|
38901
|
+
args.recognize_now_amount = Number(opts.recognizeNowAmount);
|
|
38816
38902
|
if (opts.window !== void 0)
|
|
38817
38903
|
args.window = JSON.parse(opts.window);
|
|
38818
38904
|
await ctx.execute({
|
|
@@ -38822,7 +38908,7 @@ Examples:
|
|
|
38822
38908
|
queryParamKeys: []
|
|
38823
38909
|
});
|
|
38824
38910
|
});
|
|
38825
|
-
resource.command("preview-reshape-rev-rec-schedule").description(`Preview the exact reshape plan without writing data.`).requiredOption("--schedule-id <value>", `schedule_id parameter`).requiredOption("--recognize-now-amount <
|
|
38911
|
+
resource.command("preview-reshape-rev-rec-schedule").description(`Preview the exact reshape plan without writing data.`).requiredOption("--schedule-id <value>", `schedule_id parameter`).requiredOption("--recognize-now-amount <number>", `Amount to recognize immediately in ledger currency. Expressed in currency's smallest unit.`).option("--window <json>", `Window over which to spread the remaining amount.`).addHelpText("after", `
|
|
38826
38912
|
Examples:
|
|
38827
38913
|
hyperline accounting-revenue-recognition preview-reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount>
|
|
38828
38914
|
hyperline accounting-revenue-recognition preview-reshape-rev-rec-schedule --schedule-id <schedule_id> --recognize-now-amount <recognize_now_amount> --window <window>
|
|
@@ -38836,7 +38922,7 @@ Examples:
|
|
|
38836
38922
|
if (opts.scheduleId !== void 0)
|
|
38837
38923
|
args.schedule_id = opts.scheduleId;
|
|
38838
38924
|
if (opts.recognizeNowAmount !== void 0)
|
|
38839
|
-
args.recognize_now_amount = opts.recognizeNowAmount;
|
|
38925
|
+
args.recognize_now_amount = Number(opts.recognizeNowAmount);
|
|
38840
38926
|
if (opts.window !== void 0)
|
|
38841
38927
|
args.window = JSON.parse(opts.window);
|
|
38842
38928
|
await ctx.execute({
|
|
@@ -38869,7 +38955,7 @@ Examples:
|
|
|
38869
38955
|
// build/commands/generated/accounting-rules.js
|
|
38870
38956
|
function registerAccounting_RulesCommands(parent) {
|
|
38871
38957
|
const resource = parent.command("accounting-rules").description("Manage accounting > rules");
|
|
38872
|
-
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", `
|
|
38873
38959
|
Examples:
|
|
38874
38960
|
hyperline accounting-rules list
|
|
38875
38961
|
hyperline accounting-rules list --take <take> --ledger-id <ledger_id>`).action(async (opts) => {
|
|
@@ -38883,10 +38969,6 @@ Examples:
|
|
|
38883
38969
|
args.ledger_id = opts.ledgerId;
|
|
38884
38970
|
if (opts["ledgerId.not"] !== void 0)
|
|
38885
38971
|
args.ledger_id__not = opts["ledgerId.not"];
|
|
38886
|
-
if (opts["ledgerId.isNull"] !== void 0)
|
|
38887
|
-
args.ledger_id__isNull = opts["ledgerId.isNull"];
|
|
38888
|
-
if (opts["ledgerId.isNotNull"] !== void 0)
|
|
38889
|
-
args.ledger_id__isNotNull = opts["ledgerId.isNotNull"];
|
|
38890
38972
|
if (opts["ledgerId.equals"] !== void 0)
|
|
38891
38973
|
args.ledger_id__equals = opts["ledgerId.equals"];
|
|
38892
38974
|
if (opts["ledgerId.contains"] !== void 0)
|
|
@@ -38899,10 +38981,6 @@ Examples:
|
|
|
38899
38981
|
args.category = opts.category;
|
|
38900
38982
|
if (opts["category.not"] !== void 0)
|
|
38901
38983
|
args.category__not = opts["category.not"];
|
|
38902
|
-
if (opts["category.isNull"] !== void 0)
|
|
38903
|
-
args.category__isNull = opts["category.isNull"];
|
|
38904
|
-
if (opts["category.isNotNull"] !== void 0)
|
|
38905
|
-
args.category__isNotNull = opts["category.isNotNull"];
|
|
38906
38984
|
if (opts["category.equals"] !== void 0)
|
|
38907
38985
|
args.category__equals = opts["category.equals"];
|
|
38908
38986
|
if (opts["category.contains"] !== void 0)
|
|
@@ -38924,16 +39002,12 @@ Examples:
|
|
|
38924
39002
|
"skip",
|
|
38925
39003
|
"ledger_id",
|
|
38926
39004
|
"ledger_id__not",
|
|
38927
|
-
"ledger_id__isNull",
|
|
38928
|
-
"ledger_id__isNotNull",
|
|
38929
39005
|
"ledger_id__equals",
|
|
38930
39006
|
"ledger_id__contains",
|
|
38931
39007
|
"ledger_id__startsWith",
|
|
38932
39008
|
"ledger_id__endWith",
|
|
38933
39009
|
"category",
|
|
38934
39010
|
"category__not",
|
|
38935
|
-
"category__isNull",
|
|
38936
|
-
"category__isNotNull",
|
|
38937
39011
|
"category__equals",
|
|
38938
39012
|
"category__contains",
|
|
38939
39013
|
"category__startsWith",
|
|
@@ -39013,7 +39087,7 @@ Examples:
|
|
|
39013
39087
|
queryParamKeys: []
|
|
39014
39088
|
});
|
|
39015
39089
|
});
|
|
39016
|
-
resource.command("create").description(`Create a new accounting rule for account code routing or journal posting.`).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("--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("--interval-period <value>", `Billing interval period filter (
|
|
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", `
|
|
39017
39091
|
Examples:
|
|
39018
39092
|
hyperline accounting-rules create --category <category> --priority <priority>
|
|
39019
39093
|
hyperline accounting-rules create --category <category> --priority <priority> --ledger-id <ledger_id> --name <name>
|
|
@@ -39052,8 +39126,24 @@ Examples:
|
|
|
39052
39126
|
args.output_tax_ledger_account_id = opts.outputTaxLedgerAccountId;
|
|
39053
39127
|
if (opts.uncollectibleDebitLedgerAccountId !== void 0)
|
|
39054
39128
|
args.uncollectible_debit_ledger_account_id = opts.uncollectibleDebitLedgerAccountId;
|
|
39129
|
+
if (opts.allowanceForDoubtfulAccountsId !== void 0)
|
|
39130
|
+
args.allowance_for_doubtful_accounts_id = opts.allowanceForDoubtfulAccountsId;
|
|
39131
|
+
if (opts.providerFeesExpenseLedgerAccountId !== void 0)
|
|
39132
|
+
args.provider_fees_expense_ledger_account_id = opts.providerFeesExpenseLedgerAccountId;
|
|
39133
|
+
if (opts.paymentProcessingFeesExpenseLedgerAccountId !== void 0)
|
|
39134
|
+
args.payment_processing_fees_expense_ledger_account_id = opts.paymentProcessingFeesExpenseLedgerAccountId;
|
|
39135
|
+
if (opts.paymentProcessingFeesRevenueLedgerAccountId !== void 0)
|
|
39136
|
+
args.payment_processing_fees_revenue_ledger_account_id = opts.paymentProcessingFeesRevenueLedgerAccountId;
|
|
39055
39137
|
if (opts.customerCreditsLedgerAccountId !== void 0)
|
|
39056
39138
|
args.customer_credits_ledger_account_id = opts.customerCreditsLedgerAccountId;
|
|
39139
|
+
if (opts.revRecMethod !== void 0)
|
|
39140
|
+
args.rev_rec_method = opts.revRecMethod;
|
|
39141
|
+
if (opts.revRecGranularity !== void 0)
|
|
39142
|
+
args.rev_rec_granularity = opts.revRecGranularity;
|
|
39143
|
+
if (opts.revRecPointInTimeBasis !== void 0)
|
|
39144
|
+
args.rev_rec_point_in_time_basis = opts.revRecPointInTimeBasis;
|
|
39145
|
+
if (opts.discountRecognitionMethod !== void 0)
|
|
39146
|
+
args.discount_recognition_method = opts.discountRecognitionMethod;
|
|
39057
39147
|
if (opts.journalId !== void 0)
|
|
39058
39148
|
args.journal_id = opts.journalId;
|
|
39059
39149
|
if (opts.entityType !== void 0)
|
|
@@ -39072,12 +39162,22 @@ Examples:
|
|
|
39072
39162
|
args.currencies = JSON.parse(opts.currencies);
|
|
39073
39163
|
if (opts.countries !== void 0)
|
|
39074
39164
|
args.countries = JSON.parse(opts.countries);
|
|
39165
|
+
if (opts.taxSchemes !== void 0)
|
|
39166
|
+
args.tax_schemes = JSON.parse(opts.taxSchemes);
|
|
39167
|
+
if (opts.taxTerritories !== void 0)
|
|
39168
|
+
args.tax_territories = JSON.parse(opts.taxTerritories);
|
|
39169
|
+
if (opts.taxRateClasses !== void 0)
|
|
39170
|
+
args.tax_rate_classes = JSON.parse(opts.taxRateClasses);
|
|
39075
39171
|
if (opts.couponIds !== void 0)
|
|
39076
39172
|
args.coupon_ids = JSON.parse(opts.couponIds);
|
|
39077
39173
|
if (opts.clientProviderIds !== void 0)
|
|
39078
39174
|
args.client_provider_ids = JSON.parse(opts.clientProviderIds);
|
|
39079
39175
|
if (opts.paymentMethodTypes !== void 0)
|
|
39080
39176
|
args.payment_method_types = JSON.parse(opts.paymentMethodTypes);
|
|
39177
|
+
if (opts.bankAccountIds !== void 0)
|
|
39178
|
+
args.bank_account_ids = JSON.parse(opts.bankAccountIds);
|
|
39179
|
+
if (opts.invoiceTypes !== void 0)
|
|
39180
|
+
args.invoice_types = JSON.parse(opts.invoiceTypes);
|
|
39081
39181
|
if (opts.customPropertyFilters !== void 0)
|
|
39082
39182
|
args.custom_property_filters = JSON.parse(opts.customPropertyFilters);
|
|
39083
39183
|
await ctx.execute({
|
|
@@ -39087,7 +39187,7 @@ Examples:
|
|
|
39087
39187
|
queryParamKeys: []
|
|
39088
39188
|
});
|
|
39089
39189
|
});
|
|
39090
|
-
resource.command("update").description(`Update an existing accounting rule.`).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("--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("--interval-period <value>", `Billing interval period filter (
|
|
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", `
|
|
39091
39191
|
Examples:
|
|
39092
39192
|
hyperline accounting-rules update --id <id>
|
|
39093
39193
|
hyperline accounting-rules update --id <id> --name <name> --category <category>
|
|
@@ -39126,8 +39226,24 @@ Examples:
|
|
|
39126
39226
|
args.output_tax_ledger_account_id = opts.outputTaxLedgerAccountId;
|
|
39127
39227
|
if (opts.uncollectibleDebitLedgerAccountId !== void 0)
|
|
39128
39228
|
args.uncollectible_debit_ledger_account_id = opts.uncollectibleDebitLedgerAccountId;
|
|
39229
|
+
if (opts.allowanceForDoubtfulAccountsId !== void 0)
|
|
39230
|
+
args.allowance_for_doubtful_accounts_id = opts.allowanceForDoubtfulAccountsId;
|
|
39231
|
+
if (opts.providerFeesExpenseLedgerAccountId !== void 0)
|
|
39232
|
+
args.provider_fees_expense_ledger_account_id = opts.providerFeesExpenseLedgerAccountId;
|
|
39233
|
+
if (opts.paymentProcessingFeesExpenseLedgerAccountId !== void 0)
|
|
39234
|
+
args.payment_processing_fees_expense_ledger_account_id = opts.paymentProcessingFeesExpenseLedgerAccountId;
|
|
39235
|
+
if (opts.paymentProcessingFeesRevenueLedgerAccountId !== void 0)
|
|
39236
|
+
args.payment_processing_fees_revenue_ledger_account_id = opts.paymentProcessingFeesRevenueLedgerAccountId;
|
|
39129
39237
|
if (opts.customerCreditsLedgerAccountId !== void 0)
|
|
39130
39238
|
args.customer_credits_ledger_account_id = opts.customerCreditsLedgerAccountId;
|
|
39239
|
+
if (opts.revRecMethod !== void 0)
|
|
39240
|
+
args.rev_rec_method = opts.revRecMethod;
|
|
39241
|
+
if (opts.revRecGranularity !== void 0)
|
|
39242
|
+
args.rev_rec_granularity = opts.revRecGranularity;
|
|
39243
|
+
if (opts.revRecPointInTimeBasis !== void 0)
|
|
39244
|
+
args.rev_rec_point_in_time_basis = opts.revRecPointInTimeBasis;
|
|
39245
|
+
if (opts.discountRecognitionMethod !== void 0)
|
|
39246
|
+
args.discount_recognition_method = opts.discountRecognitionMethod;
|
|
39131
39247
|
if (opts.journalId !== void 0)
|
|
39132
39248
|
args.journal_id = opts.journalId;
|
|
39133
39249
|
if (opts.entityType !== void 0)
|
|
@@ -39146,12 +39262,22 @@ Examples:
|
|
|
39146
39262
|
args.currencies = JSON.parse(opts.currencies);
|
|
39147
39263
|
if (opts.countries !== void 0)
|
|
39148
39264
|
args.countries = JSON.parse(opts.countries);
|
|
39265
|
+
if (opts.taxSchemes !== void 0)
|
|
39266
|
+
args.tax_schemes = JSON.parse(opts.taxSchemes);
|
|
39267
|
+
if (opts.taxTerritories !== void 0)
|
|
39268
|
+
args.tax_territories = JSON.parse(opts.taxTerritories);
|
|
39269
|
+
if (opts.taxRateClasses !== void 0)
|
|
39270
|
+
args.tax_rate_classes = JSON.parse(opts.taxRateClasses);
|
|
39149
39271
|
if (opts.couponIds !== void 0)
|
|
39150
39272
|
args.coupon_ids = JSON.parse(opts.couponIds);
|
|
39151
39273
|
if (opts.clientProviderIds !== void 0)
|
|
39152
39274
|
args.client_provider_ids = JSON.parse(opts.clientProviderIds);
|
|
39153
39275
|
if (opts.paymentMethodTypes !== void 0)
|
|
39154
39276
|
args.payment_method_types = JSON.parse(opts.paymentMethodTypes);
|
|
39277
|
+
if (opts.bankAccountIds !== void 0)
|
|
39278
|
+
args.bank_account_ids = JSON.parse(opts.bankAccountIds);
|
|
39279
|
+
if (opts.invoiceTypes !== void 0)
|
|
39280
|
+
args.invoice_types = JSON.parse(opts.invoiceTypes);
|
|
39155
39281
|
if (opts.customPropertyFilters !== void 0)
|
|
39156
39282
|
args.custom_property_filters = JSON.parse(opts.customPropertyFilters);
|
|
39157
39283
|
await ctx.execute({
|
|
@@ -39187,7 +39313,7 @@ Examples:
|
|
|
39187
39313
|
queryParamKeys: []
|
|
39188
39314
|
});
|
|
39189
39315
|
});
|
|
39190
|
-
resource.command("resolve").description(`Preview which account codes would be resolved for a given context.`).requiredOption("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).option("--product-id <value>", `Product ID to resolve against.`).option("--product-type <value>", `Product type to resolve against.`).option("--currency <value>", `Currency code to resolve against.`).option("--country <value>", `Country code to resolve against.`).option("--customer-id <value>", `Customer ID to resolve against.`).option("--invoice-type <value>", `Invoice kind to resolve against. Accepts \`invoice\` or \`document\`; any other invoice kind is matched as \`invoice\`.`).option("--interval-period <value>", `Billing interval period filter (
|
|
39316
|
+
resource.command("resolve").description(`Preview which account codes would be resolved for a given context.`).requiredOption("--ledger-id <value>", `Identifier of the ledger this rule belongs to.`).requiredOption("--category <value>", `Rule category (e.g. accounting_software, invoice_posted).`).option("--product-id <value>", `Product ID to resolve against.`).option("--product-type <value>", `Product type to resolve against.`).option("--currency <value>", `Currency code to resolve against.`).option("--country <value>", `Country code to resolve against.`).option("--tax-scheme <value>", `Tax scheme to resolve against.`).option("--tax-territory <value>", `Tax territory country code to resolve against.`).option("--tax-rate-class <value>", `Tax rate class to resolve against.`).option("--customer-id <value>", `Customer ID to resolve against.`).option("--coupon-id <value>", `Coupon ID to resolve against.`).option("--client-provider-id <value>", `Client provider ID to resolve against.`).option("--payment-method-type <value>", `Payment method type to resolve against.`).option("--bank-account-id <value>", `Bank account ID to resolve against.`).option("--invoice-type <value>", `Invoice kind to resolve against. Accepts \`invoice\` or \`document\`; any other invoice kind is matched as \`invoice\`.`).option("--interval-period <value>", `Billing interval period filter (months, years, etc.).`).option("--interval-count <number>", `Billing interval count filter.`).option("--custom-properties <json>", `Invoice custom property values to resolve against, keyed by custom property slug. Unknown slugs and null values are ignored. Rules with custom property filters never match without them.`).addHelpText("after", `
|
|
39191
39317
|
Examples:
|
|
39192
39318
|
hyperline accounting-rules resolve --ledger-id <ledger_id> --category <category>
|
|
39193
39319
|
hyperline accounting-rules resolve --ledger-id <ledger_id> --category <category> --product-id <product_id> --product-type <product_type>
|
|
@@ -39210,8 +39336,22 @@ Examples:
|
|
|
39210
39336
|
args.currency = opts.currency;
|
|
39211
39337
|
if (opts.country !== void 0)
|
|
39212
39338
|
args.country = opts.country;
|
|
39339
|
+
if (opts.taxScheme !== void 0)
|
|
39340
|
+
args.tax_scheme = opts.taxScheme;
|
|
39341
|
+
if (opts.taxTerritory !== void 0)
|
|
39342
|
+
args.tax_territory = opts.taxTerritory;
|
|
39343
|
+
if (opts.taxRateClass !== void 0)
|
|
39344
|
+
args.tax_rate_class = opts.taxRateClass;
|
|
39213
39345
|
if (opts.customerId !== void 0)
|
|
39214
39346
|
args.customer_id = opts.customerId;
|
|
39347
|
+
if (opts.couponId !== void 0)
|
|
39348
|
+
args.coupon_id = opts.couponId;
|
|
39349
|
+
if (opts.clientProviderId !== void 0)
|
|
39350
|
+
args.client_provider_id = opts.clientProviderId;
|
|
39351
|
+
if (opts.paymentMethodType !== void 0)
|
|
39352
|
+
args.payment_method_type = opts.paymentMethodType;
|
|
39353
|
+
if (opts.bankAccountId !== void 0)
|
|
39354
|
+
args.bank_account_id = opts.bankAccountId;
|
|
39215
39355
|
if (opts.invoiceType !== void 0)
|
|
39216
39356
|
args.invoice_type = opts.invoiceType;
|
|
39217
39357
|
if (opts.intervalPeriod !== void 0)
|
|
@@ -39889,7 +40029,7 @@ Examples:
|
|
|
39889
40029
|
queryParamKeys: []
|
|
39890
40030
|
});
|
|
39891
40031
|
});
|
|
39892
|
-
resource.command("list-agent-customer-policies").description(`List all AI billing policies (scopes) for one customer: the default shared pool plus per-agent overrides. Accepts Hyperline or external customer ids.`).requiredOption("--id <value>", `id parameter`).option("--take <number>", `
|
|
40032
|
+
resource.command("list-agent-customer-policies").description(`List all AI billing policies (scopes) for one customer: the default shared pool plus per-agent overrides. Accepts Hyperline or external customer ids.`).requiredOption("--id <value>", `id parameter`).option("--take <number>", `take`).option("--skip <number>", `skip`).addHelpText("after", `
|
|
39893
40033
|
Examples:
|
|
39894
40034
|
hyperline ai-billing list-agent-customer-policies --id <id>
|
|
39895
40035
|
hyperline ai-billing list-agent-customer-policies --id <id> --take <take>`).action(async (opts) => {
|
|
@@ -40444,6 +40584,71 @@ Examples:
|
|
|
40444
40584
|
});
|
|
40445
40585
|
}
|
|
40446
40586
|
|
|
40587
|
+
// build/commands/generated/ai-monitoring.js
|
|
40588
|
+
function registerAi_MonitoringCommands(parent) {
|
|
40589
|
+
const resource = parent.command("ai-monitoring").description("Manage ai > monitoring");
|
|
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", `
|
|
40591
|
+
Examples:
|
|
40592
|
+
hyperline ai-monitoring list-monitoring-analyses
|
|
40593
|
+
hyperline ai-monitoring list-monitoring-analyses --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
40594
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40595
|
+
if (!ctx) {
|
|
40596
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40597
|
+
process.exit(1);
|
|
40598
|
+
}
|
|
40599
|
+
const args = {};
|
|
40600
|
+
if (opts.cursor !== void 0)
|
|
40601
|
+
args.cursor = opts.cursor;
|
|
40602
|
+
if (opts.includeTotal !== void 0)
|
|
40603
|
+
args.include_total = opts.includeTotal;
|
|
40604
|
+
if (opts.customerId !== void 0)
|
|
40605
|
+
args.customer_id = opts.customerId;
|
|
40606
|
+
if (opts["customerId.in"] !== void 0)
|
|
40607
|
+
args.customer_id__in = opts["customerId.in"];
|
|
40608
|
+
if (opts.status !== void 0)
|
|
40609
|
+
args.status = opts.status;
|
|
40610
|
+
if (opts["createdAt.gte"] !== void 0)
|
|
40611
|
+
args.created_at__gte = opts["createdAt.gte"];
|
|
40612
|
+
if (opts["createdAt.lte"] !== void 0)
|
|
40613
|
+
args.created_at__lte = opts["createdAt.lte"];
|
|
40614
|
+
if (opts.limit !== void 0)
|
|
40615
|
+
args.limit = Number(opts.limit);
|
|
40616
|
+
await ctx.execute({
|
|
40617
|
+
method: "GET",
|
|
40618
|
+
path: "/v1/agents/monitoring/analyses",
|
|
40619
|
+
args,
|
|
40620
|
+
queryParamKeys: [
|
|
40621
|
+
"limit",
|
|
40622
|
+
"cursor",
|
|
40623
|
+
"include_total",
|
|
40624
|
+
"customer_id",
|
|
40625
|
+
"customer_id__in",
|
|
40626
|
+
"status",
|
|
40627
|
+
"created_at__gte",
|
|
40628
|
+
"created_at__lte"
|
|
40629
|
+
]
|
|
40630
|
+
});
|
|
40631
|
+
});
|
|
40632
|
+
resource.command("get-monitoring-analysis").description(`Get one customer health analysis by ID: health score (0-100), tier, summary, per-dimension scores, risk factors and positive signals.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
40633
|
+
Examples:
|
|
40634
|
+
hyperline ai-monitoring get-monitoring-analysis --id <id>`).action(async (opts) => {
|
|
40635
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
40636
|
+
if (!ctx) {
|
|
40637
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
40638
|
+
process.exit(1);
|
|
40639
|
+
}
|
|
40640
|
+
const args = {};
|
|
40641
|
+
if (opts.id !== void 0)
|
|
40642
|
+
args.id = opts.id;
|
|
40643
|
+
await ctx.execute({
|
|
40644
|
+
method: "GET",
|
|
40645
|
+
path: "/v1/agents/monitoring/analyses/{id}",
|
|
40646
|
+
args,
|
|
40647
|
+
queryParamKeys: []
|
|
40648
|
+
});
|
|
40649
|
+
});
|
|
40650
|
+
}
|
|
40651
|
+
|
|
40447
40652
|
// build/commands/generated/analytics.js
|
|
40448
40653
|
function registerAnalyticsCommands(parent) {
|
|
40449
40654
|
const resource = parent.command("analytics").description("Manage analytics");
|
|
@@ -40468,6 +40673,52 @@ Examples:
|
|
|
40468
40673
|
});
|
|
40469
40674
|
}
|
|
40470
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
|
+
|
|
40471
40722
|
// build/commands/generated/bank-accounts.js
|
|
40472
40723
|
function registerBank_AccountsCommands(parent) {
|
|
40473
40724
|
const resource = parent.command("bank-accounts").description("Manage bank accounts");
|
|
@@ -40537,6 +40788,84 @@ Examples:
|
|
|
40537
40788
|
});
|
|
40538
40789
|
}
|
|
40539
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
|
+
|
|
40540
40869
|
// build/commands/generated/companies.js
|
|
40541
40870
|
function registerCompaniesCommands(parent) {
|
|
40542
40871
|
const resource = parent.command("companies").description("Manage companies");
|
|
@@ -40603,7 +40932,7 @@ Examples:
|
|
|
40603
40932
|
queryParamKeys: ["take", "skip"]
|
|
40604
40933
|
});
|
|
40605
40934
|
});
|
|
40606
|
-
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", `
|
|
40607
40936
|
Examples:
|
|
40608
40937
|
hyperline coupons create --name <name> --type <type>
|
|
40609
40938
|
hyperline coupons create --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -40620,6 +40949,8 @@ Examples:
|
|
|
40620
40949
|
args.description = opts.description;
|
|
40621
40950
|
if (opts.expirationDate !== void 0)
|
|
40622
40951
|
args.expiration_date = opts.expirationDate;
|
|
40952
|
+
if (opts.productScope !== void 0)
|
|
40953
|
+
args.product_scope = opts.productScope;
|
|
40623
40954
|
if (opts.repeat !== void 0)
|
|
40624
40955
|
args.repeat = opts.repeat;
|
|
40625
40956
|
if (opts.type !== void 0)
|
|
@@ -40663,7 +40994,7 @@ Examples:
|
|
|
40663
40994
|
queryParamKeys: []
|
|
40664
40995
|
});
|
|
40665
40996
|
});
|
|
40666
|
-
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", `
|
|
40667
40998
|
Examples:
|
|
40668
40999
|
hyperline coupons update --id <id> --name <name> --type <type>
|
|
40669
41000
|
hyperline coupons update --id <id> --name <name> --type <type> --description <description> --expiration-date <expiration_date>
|
|
@@ -40682,6 +41013,8 @@ Examples:
|
|
|
40682
41013
|
args.description = opts.description;
|
|
40683
41014
|
if (opts.expirationDate !== void 0)
|
|
40684
41015
|
args.expiration_date = opts.expirationDate;
|
|
41016
|
+
if (opts.productScope !== void 0)
|
|
41017
|
+
args.product_scope = opts.productScope;
|
|
40685
41018
|
if (opts.repeat !== void 0)
|
|
40686
41019
|
args.repeat = opts.repeat;
|
|
40687
41020
|
if (opts.type !== void 0)
|
|
@@ -40738,7 +41071,7 @@ Examples:
|
|
|
40738
41071
|
// build/commands/generated/coupons-promotion-codes.js
|
|
40739
41072
|
function registerCoupons_Promotion_CodesCommands(parent) {
|
|
40740
41073
|
const resource = parent.command("coupons-promotion-codes").description("Manage coupons > promotion codes");
|
|
40741
|
-
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", `
|
|
40742
41075
|
Examples:
|
|
40743
41076
|
hyperline coupons-promotion-codes list-promotion-codes
|
|
40744
41077
|
hyperline coupons-promotion-codes list-promotion-codes --take <take> --coupon-id <coupon_id>`).action(async (opts) => {
|
|
@@ -40752,10 +41085,6 @@ Examples:
|
|
|
40752
41085
|
args.coupon_id = opts.couponId;
|
|
40753
41086
|
if (opts["couponId.not"] !== void 0)
|
|
40754
41087
|
args.coupon_id__not = opts["couponId.not"];
|
|
40755
|
-
if (opts["couponId.isNull"] !== void 0)
|
|
40756
|
-
args.coupon_id__isNull = opts["couponId.isNull"];
|
|
40757
|
-
if (opts["couponId.isNotNull"] !== void 0)
|
|
40758
|
-
args.coupon_id__isNotNull = opts["couponId.isNotNull"];
|
|
40759
41088
|
if (opts["couponId.equals"] !== void 0)
|
|
40760
41089
|
args.coupon_id__equals = opts["couponId.equals"];
|
|
40761
41090
|
if (opts["couponId.contains"] !== void 0)
|
|
@@ -40777,8 +41106,6 @@ Examples:
|
|
|
40777
41106
|
"skip",
|
|
40778
41107
|
"coupon_id",
|
|
40779
41108
|
"coupon_id__not",
|
|
40780
|
-
"coupon_id__isNull",
|
|
40781
|
-
"coupon_id__isNotNull",
|
|
40782
41109
|
"coupon_id__equals",
|
|
40783
41110
|
"coupon_id__contains",
|
|
40784
41111
|
"coupon_id__startsWith",
|
|
@@ -41032,7 +41359,15 @@ Examples:
|
|
|
41032
41359
|
// build/commands/generated/customers.js
|
|
41033
41360
|
function registerCustomersCommands(parent) {
|
|
41034
41361
|
const resource = parent.command("customers").description("Manage customers");
|
|
41035
|
-
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", `
|
|
41036
41371
|
Examples:
|
|
41037
41372
|
hyperline customers list
|
|
41038
41373
|
hyperline customers list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -41050,14 +41385,12 @@ Examples:
|
|
|
41050
41385
|
args.order = opts.order;
|
|
41051
41386
|
if (opts.sort !== void 0)
|
|
41052
41387
|
args.sort = opts.sort;
|
|
41388
|
+
if (opts.taxIdStatus !== void 0)
|
|
41389
|
+
args.tax_id_status = opts.taxIdStatus;
|
|
41053
41390
|
if (opts.name !== void 0)
|
|
41054
41391
|
args.name = opts.name;
|
|
41055
41392
|
if (opts["name.not"] !== void 0)
|
|
41056
41393
|
args.name__not = opts["name.not"];
|
|
41057
|
-
if (opts["name.isNull"] !== void 0)
|
|
41058
|
-
args.name__isNull = opts["name.isNull"];
|
|
41059
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
41060
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
41061
41394
|
if (opts["name.equals"] !== void 0)
|
|
41062
41395
|
args.name__equals = opts["name.equals"];
|
|
41063
41396
|
if (opts["name.contains"] !== void 0)
|
|
@@ -41078,10 +41411,6 @@ Examples:
|
|
|
41078
41411
|
args.currency = opts.currency;
|
|
41079
41412
|
if (opts["currency.not"] !== void 0)
|
|
41080
41413
|
args.currency__not = opts["currency.not"];
|
|
41081
|
-
if (opts["currency.isNull"] !== void 0)
|
|
41082
|
-
args.currency__isNull = opts["currency.isNull"];
|
|
41083
|
-
if (opts["currency.isNotNull"] !== void 0)
|
|
41084
|
-
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
41085
41414
|
if (opts["currency.equals"] !== void 0)
|
|
41086
41415
|
args.currency__equals = opts["currency.equals"];
|
|
41087
41416
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -41090,14 +41419,14 @@ Examples:
|
|
|
41090
41419
|
args.currency__startsWith = opts["currency.startsWith"];
|
|
41091
41420
|
if (opts["currency.endWith"] !== void 0)
|
|
41092
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"];
|
|
41093
41426
|
if (opts.country !== void 0)
|
|
41094
41427
|
args.country = opts.country;
|
|
41095
41428
|
if (opts["country.not"] !== void 0)
|
|
41096
41429
|
args.country__not = opts["country.not"];
|
|
41097
|
-
if (opts["country.isNull"] !== void 0)
|
|
41098
|
-
args.country__isNull = opts["country.isNull"];
|
|
41099
|
-
if (opts["country.isNotNull"] !== void 0)
|
|
41100
|
-
args.country__isNotNull = opts["country.isNotNull"];
|
|
41101
41430
|
if (opts["country.equals"] !== void 0)
|
|
41102
41431
|
args.country__equals = opts["country.equals"];
|
|
41103
41432
|
if (opts["country.contains"] !== void 0)
|
|
@@ -41106,14 +41435,14 @@ Examples:
|
|
|
41106
41435
|
args.country__startsWith = opts["country.startsWith"];
|
|
41107
41436
|
if (opts["country.endWith"] !== void 0)
|
|
41108
41437
|
args.country__endWith = opts["country.endWith"];
|
|
41109
|
-
if (opts.
|
|
41110
|
-
args.
|
|
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"];
|
|
41442
|
+
if (opts.externalId !== void 0)
|
|
41443
|
+
args.external_id = opts.externalId;
|
|
41111
41444
|
if (opts["externalId.not"] !== void 0)
|
|
41112
41445
|
args.external_id__not = opts["externalId.not"];
|
|
41113
|
-
if (opts["externalId.isNull"] !== void 0)
|
|
41114
|
-
args.external_id__isNull = opts["externalId.isNull"];
|
|
41115
|
-
if (opts["externalId.isNotNull"] !== void 0)
|
|
41116
|
-
args.external_id__isNotNull = opts["externalId.isNotNull"];
|
|
41117
41446
|
if (opts["externalId.equals"] !== void 0)
|
|
41118
41447
|
args.external_id__equals = opts["externalId.equals"];
|
|
41119
41448
|
if (opts["externalId.contains"] !== void 0)
|
|
@@ -41122,14 +41451,14 @@ Examples:
|
|
|
41122
41451
|
args.external_id__startsWith = opts["externalId.startsWith"];
|
|
41123
41452
|
if (opts["externalId.endWith"] !== void 0)
|
|
41124
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"];
|
|
41125
41458
|
if (opts.billingEmail !== void 0)
|
|
41126
41459
|
args.billing_email = opts.billingEmail;
|
|
41127
41460
|
if (opts["billingEmail.not"] !== void 0)
|
|
41128
41461
|
args.billing_email__not = opts["billingEmail.not"];
|
|
41129
|
-
if (opts["billingEmail.isNull"] !== void 0)
|
|
41130
|
-
args.billing_email__isNull = opts["billingEmail.isNull"];
|
|
41131
|
-
if (opts["billingEmail.isNotNull"] !== void 0)
|
|
41132
|
-
args.billing_email__isNotNull = opts["billingEmail.isNotNull"];
|
|
41133
41462
|
if (opts["billingEmail.equals"] !== void 0)
|
|
41134
41463
|
args.billing_email__equals = opts["billingEmail.equals"];
|
|
41135
41464
|
if (opts["billingEmail.contains"] !== void 0)
|
|
@@ -41138,16 +41467,16 @@ Examples:
|
|
|
41138
41467
|
args.billing_email__startsWith = opts["billingEmail.startsWith"];
|
|
41139
41468
|
if (opts["billingEmail.endWith"] !== void 0)
|
|
41140
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"];
|
|
41141
41474
|
if (opts.search !== void 0)
|
|
41142
41475
|
args.search = opts.search;
|
|
41143
41476
|
if (opts.taxId !== void 0)
|
|
41144
41477
|
args.tax_id = opts.taxId;
|
|
41145
41478
|
if (opts["taxId.not"] !== void 0)
|
|
41146
41479
|
args.tax_id__not = opts["taxId.not"];
|
|
41147
|
-
if (opts["taxId.isNull"] !== void 0)
|
|
41148
|
-
args.tax_id__isNull = opts["taxId.isNull"];
|
|
41149
|
-
if (opts["taxId.isNotNull"] !== void 0)
|
|
41150
|
-
args.tax_id__isNotNull = opts["taxId.isNotNull"];
|
|
41151
41480
|
if (opts["taxId.equals"] !== void 0)
|
|
41152
41481
|
args.tax_id__equals = opts["taxId.equals"];
|
|
41153
41482
|
if (opts["taxId.contains"] !== void 0)
|
|
@@ -41156,6 +41485,10 @@ Examples:
|
|
|
41156
41485
|
args.tax_id__startsWith = opts["taxId.startsWith"];
|
|
41157
41486
|
if (opts["taxId.endWith"] !== void 0)
|
|
41158
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"];
|
|
41159
41492
|
if (opts.subscriptionStatus !== void 0)
|
|
41160
41493
|
args.subscription_status = opts.subscriptionStatus;
|
|
41161
41494
|
if (opts["subscriptionStatus.in"] !== void 0)
|
|
@@ -41164,10 +41497,6 @@ Examples:
|
|
|
41164
41497
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
41165
41498
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
41166
41499
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
41167
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
41168
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
41169
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
41170
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
41171
41500
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
41172
41501
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
41173
41502
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -41190,10 +41519,6 @@ Examples:
|
|
|
41190
41519
|
args.created_at = opts.createdAt;
|
|
41191
41520
|
if (opts["createdAt.not"] !== void 0)
|
|
41192
41521
|
args.created_at__not = opts["createdAt.not"];
|
|
41193
|
-
if (opts["createdAt.isNull"] !== void 0)
|
|
41194
|
-
args.created_at__isNull = opts["createdAt.isNull"];
|
|
41195
|
-
if (opts["createdAt.isNotNull"] !== void 0)
|
|
41196
|
-
args.created_at__isNotNull = opts["createdAt.isNotNull"];
|
|
41197
41522
|
if (opts["createdAt.equals"] !== void 0)
|
|
41198
41523
|
args.created_at__equals = opts["createdAt.equals"];
|
|
41199
41524
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -41208,10 +41533,6 @@ Examples:
|
|
|
41208
41533
|
args.updated_at = opts.updatedAt;
|
|
41209
41534
|
if (opts["updatedAt.not"] !== void 0)
|
|
41210
41535
|
args.updated_at__not = opts["updatedAt.not"];
|
|
41211
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
41212
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
41213
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
41214
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
41215
41536
|
if (opts["updatedAt.equals"] !== void 0)
|
|
41216
41537
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
41217
41538
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -41234,10 +41555,9 @@ Examples:
|
|
|
41234
41555
|
"include_total",
|
|
41235
41556
|
"order",
|
|
41236
41557
|
"sort",
|
|
41558
|
+
"tax_id_status",
|
|
41237
41559
|
"name",
|
|
41238
41560
|
"name__not",
|
|
41239
|
-
"name__isNull",
|
|
41240
|
-
"name__isNotNull",
|
|
41241
41561
|
"name__equals",
|
|
41242
41562
|
"name__contains",
|
|
41243
41563
|
"name__startsWith",
|
|
@@ -41248,51 +41568,49 @@ Examples:
|
|
|
41248
41568
|
"status__in",
|
|
41249
41569
|
"currency",
|
|
41250
41570
|
"currency__not",
|
|
41251
|
-
"currency__isNull",
|
|
41252
|
-
"currency__isNotNull",
|
|
41253
41571
|
"currency__equals",
|
|
41254
41572
|
"currency__contains",
|
|
41255
41573
|
"currency__startsWith",
|
|
41256
41574
|
"currency__endWith",
|
|
41575
|
+
"currency__isNull",
|
|
41576
|
+
"currency__isNotNull",
|
|
41257
41577
|
"country",
|
|
41258
41578
|
"country__not",
|
|
41259
|
-
"country__isNull",
|
|
41260
|
-
"country__isNotNull",
|
|
41261
41579
|
"country__equals",
|
|
41262
41580
|
"country__contains",
|
|
41263
41581
|
"country__startsWith",
|
|
41264
41582
|
"country__endWith",
|
|
41583
|
+
"country__isNull",
|
|
41584
|
+
"country__isNotNull",
|
|
41265
41585
|
"external_id",
|
|
41266
41586
|
"external_id__not",
|
|
41267
|
-
"external_id__isNull",
|
|
41268
|
-
"external_id__isNotNull",
|
|
41269
41587
|
"external_id__equals",
|
|
41270
41588
|
"external_id__contains",
|
|
41271
41589
|
"external_id__startsWith",
|
|
41272
41590
|
"external_id__endWith",
|
|
41591
|
+
"external_id__isNull",
|
|
41592
|
+
"external_id__isNotNull",
|
|
41273
41593
|
"billing_email",
|
|
41274
41594
|
"billing_email__not",
|
|
41275
|
-
"billing_email__isNull",
|
|
41276
|
-
"billing_email__isNotNull",
|
|
41277
41595
|
"billing_email__equals",
|
|
41278
41596
|
"billing_email__contains",
|
|
41279
41597
|
"billing_email__startsWith",
|
|
41280
41598
|
"billing_email__endWith",
|
|
41599
|
+
"billing_email__isNull",
|
|
41600
|
+
"billing_email__isNotNull",
|
|
41281
41601
|
"search",
|
|
41282
41602
|
"tax_id",
|
|
41283
41603
|
"tax_id__not",
|
|
41284
|
-
"tax_id__isNull",
|
|
41285
|
-
"tax_id__isNotNull",
|
|
41286
41604
|
"tax_id__equals",
|
|
41287
41605
|
"tax_id__contains",
|
|
41288
41606
|
"tax_id__startsWith",
|
|
41289
41607
|
"tax_id__endWith",
|
|
41608
|
+
"tax_id__isNull",
|
|
41609
|
+
"tax_id__isNotNull",
|
|
41290
41610
|
"subscription_status",
|
|
41291
41611
|
"subscription_status__in",
|
|
41292
41612
|
"invoicing_entity_id",
|
|
41293
41613
|
"invoicing_entity_id__not",
|
|
41294
|
-
"invoicing_entity_id__isNull",
|
|
41295
|
-
"invoicing_entity_id__isNotNull",
|
|
41296
41614
|
"invoicing_entity_id__equals",
|
|
41297
41615
|
"invoicing_entity_id__contains",
|
|
41298
41616
|
"invoicing_entity_id__startsWith",
|
|
@@ -41304,8 +41622,6 @@ Examples:
|
|
|
41304
41622
|
"integration_entity_id",
|
|
41305
41623
|
"created_at",
|
|
41306
41624
|
"created_at__not",
|
|
41307
|
-
"created_at__isNull",
|
|
41308
|
-
"created_at__isNotNull",
|
|
41309
41625
|
"created_at__equals",
|
|
41310
41626
|
"created_at__lt",
|
|
41311
41627
|
"created_at__lte",
|
|
@@ -41313,8 +41629,6 @@ Examples:
|
|
|
41313
41629
|
"created_at__gte",
|
|
41314
41630
|
"updated_at",
|
|
41315
41631
|
"updated_at__not",
|
|
41316
|
-
"updated_at__isNull",
|
|
41317
|
-
"updated_at__isNotNull",
|
|
41318
41632
|
"updated_at__equals",
|
|
41319
41633
|
"updated_at__lt",
|
|
41320
41634
|
"updated_at__lte",
|
|
@@ -41883,7 +42197,7 @@ Examples:
|
|
|
41883
42197
|
// build/commands/generated/customers-credits.js
|
|
41884
42198
|
function registerCustomers_CreditsCommands(parent) {
|
|
41885
42199
|
const resource = parent.command("customers-credits").description("Manage customers > credits");
|
|
41886
|
-
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", `
|
|
41887
42201
|
Examples:
|
|
41888
42202
|
hyperline customers-credits list
|
|
41889
42203
|
hyperline customers-credits list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -41897,10 +42211,6 @@ Examples:
|
|
|
41897
42211
|
args.product_id = opts.productId;
|
|
41898
42212
|
if (opts["productId.not"] !== void 0)
|
|
41899
42213
|
args.product_id__not = opts["productId.not"];
|
|
41900
|
-
if (opts["productId.isNull"] !== void 0)
|
|
41901
|
-
args.product_id__isNull = opts["productId.isNull"];
|
|
41902
|
-
if (opts["productId.isNotNull"] !== void 0)
|
|
41903
|
-
args.product_id__isNotNull = opts["productId.isNotNull"];
|
|
41904
42214
|
if (opts["productId.equals"] !== void 0)
|
|
41905
42215
|
args.product_id__equals = opts["productId.equals"];
|
|
41906
42216
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -41913,10 +42223,6 @@ Examples:
|
|
|
41913
42223
|
args.customer_id = opts.customerId;
|
|
41914
42224
|
if (opts["customerId.not"] !== void 0)
|
|
41915
42225
|
args.customer_id__not = opts["customerId.not"];
|
|
41916
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
41917
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
41918
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
41919
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
41920
42226
|
if (opts["customerId.equals"] !== void 0)
|
|
41921
42227
|
args.customer_id__equals = opts["customerId.equals"];
|
|
41922
42228
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -41929,10 +42235,6 @@ Examples:
|
|
|
41929
42235
|
args.updated_at = opts.updatedAt;
|
|
41930
42236
|
if (opts["updatedAt.not"] !== void 0)
|
|
41931
42237
|
args.updated_at__not = opts["updatedAt.not"];
|
|
41932
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
41933
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
41934
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
41935
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
41936
42238
|
if (opts["updatedAt.equals"] !== void 0)
|
|
41937
42239
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
41938
42240
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -41956,24 +42258,18 @@ Examples:
|
|
|
41956
42258
|
"skip",
|
|
41957
42259
|
"product_id",
|
|
41958
42260
|
"product_id__not",
|
|
41959
|
-
"product_id__isNull",
|
|
41960
|
-
"product_id__isNotNull",
|
|
41961
42261
|
"product_id__equals",
|
|
41962
42262
|
"product_id__contains",
|
|
41963
42263
|
"product_id__startsWith",
|
|
41964
42264
|
"product_id__endWith",
|
|
41965
42265
|
"customer_id",
|
|
41966
42266
|
"customer_id__not",
|
|
41967
|
-
"customer_id__isNull",
|
|
41968
|
-
"customer_id__isNotNull",
|
|
41969
42267
|
"customer_id__equals",
|
|
41970
42268
|
"customer_id__contains",
|
|
41971
42269
|
"customer_id__startsWith",
|
|
41972
42270
|
"customer_id__endWith",
|
|
41973
42271
|
"updated_at",
|
|
41974
42272
|
"updated_at__not",
|
|
41975
|
-
"updated_at__isNull",
|
|
41976
|
-
"updated_at__isNotNull",
|
|
41977
42273
|
"updated_at__equals",
|
|
41978
42274
|
"updated_at__lt",
|
|
41979
42275
|
"updated_at__lte",
|
|
@@ -42114,7 +42410,7 @@ Examples:
|
|
|
42114
42410
|
queryParamKeys: []
|
|
42115
42411
|
});
|
|
42116
42412
|
});
|
|
42117
|
-
resource.command("purchase-customer-credits").description(`Purchase credits for a customer. This generates an invoice and charges the customer. Returns the invoice ID and new balance.`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `productId parameter`).requiredOption("--credit-count <number>", `Value indicating a number of credits to add. If \`price_id\` is defined, this value must correspond to a full credit pack for the price.`).option("--amount-excluding-tax <number>", `Custom amount for the added credits. Either \`amount_excluding_tax\` or \`price_id\` must be defined. Expressed in currency's smallest unit.`).option("--price-id <value>", `Price ID used to add credits. The price must be of type \`bundle\`. Either \`amount_excluding_tax\` or \`price_id\` must be defined.`).option("--expires-at <value>", `Expiration date for credits linked to this transaction. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).addHelpText("after", `
|
|
42413
|
+
resource.command("purchase-customer-credits").description(`Purchase credits for a customer. This generates an invoice and charges the customer's card immediately, granting the credits only once paid. Requires a card payment method (otherwise fails with reason \`payment_method_not_supported\`). Returns the invoice ID and new balance.`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `productId parameter`).requiredOption("--credit-count <number>", `Value indicating a number of credits to add. If \`price_id\` is defined, this value must correspond to a full credit pack for the price.`).option("--amount-excluding-tax <number>", `Custom amount for the added credits. Either \`amount_excluding_tax\` or \`price_id\` must be defined. Expressed in currency's smallest unit.`).option("--price-id <value>", `Price ID used to add credits. The price must be of type \`bundle\`. Either \`amount_excluding_tax\` or \`price_id\` must be defined.`).option("--expires-at <value>", `Expiration date for credits linked to this transaction. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).addHelpText("after", `
|
|
42118
42414
|
Examples:
|
|
42119
42415
|
hyperline customers-credits purchase-customer-credits --id <id> --product-id <productId> --credit-count <credit_count>
|
|
42120
42416
|
hyperline customers-credits purchase-customer-credits --id <id> --product-id <productId> --credit-count <credit_count> --amount-excluding-tax <amount_excluding_tax> --price-id <price_id>
|
|
@@ -42216,7 +42512,7 @@ Examples:
|
|
|
42216
42512
|
queryParamKeys: []
|
|
42217
42513
|
});
|
|
42218
42514
|
});
|
|
42219
|
-
resource.command("update-customer-credit-portal-settings").description(`Enable or disable customer portal credit top-ups for a customer and credit product, with the price configuration (or a custom price) the customer pays. Enabling requires the customer's credit balance for the product: create it first (createCustomerCredit, a 0 balance is fine).`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `productId parameter`).requiredOption("--enabled", `Whether the customer can buy this credit product from the customer portal. Enabling requires a price: \`price_configuration_id\`, \`custom_price_configuration\`, or the price already set. Disabling clears the price and removes the customer's own price.`).option("--price-configuration-id <value>", `ID of one of the credit product's price configurations, in the customer's price book and currency, of type \`bundle\`, \`volume\` or \`bulk\`. Mutually exclusive with \`custom_price_configuration\`.`).option("--custom-price-configuration <json>", `A price of the customer's own, in the customer's currency, replacing any previous one. Same shape as a credit product price configuration. Mutually exclusive with \`price_configuration_id\`.`).addHelpText("after", `
|
|
42515
|
+
resource.command("update-customer-credit-portal-settings").description(`Enable or disable customer portal credit top-ups for a customer and credit product, with the price configuration (or a custom price) the customer pays. Enabling requires the customer's credit balance for the product: create it first (createCustomerCredit, a 0 balance is fine).`).requiredOption("--id <value>", `id parameter`).requiredOption("--product-id <value>", `productId parameter`).requiredOption("--enabled", `Whether the customer can buy this credit product from the customer portal. Enabling requires a price: \`price_configuration_id\`, \`custom_price_configuration\`, or the price already set. Disabling clears the price and removes the customer's own price.`).option("--price-configuration-id <value>", `ID of one of the credit product's price configurations, in the customer's price book and currency, of type \`bundle\`, \`volume\` or \`bulk\`. Mutually exclusive with \`custom_price_configuration\`.`).option("--custom-price-configuration <json>", `A price of the customer's own, in the customer's currency, replacing any previous one. Same shape as a credit product price configuration. Mutually exclusive with \`price_configuration_id\`. It needs at least one price; \`unit_count\` is a whole number of at least 1; \`amount\` is never negative, a \`bundle\` pack is never free, and the price is not free altogether; volume tiers start at 0 and each starts where the previous one ends; bulk tiers are in increasing \`to\` order; only the last tier has \`to: null\`. Otherwise the request fails with reason \`invalid_custom_price\`.`).addHelpText("after", `
|
|
42220
42516
|
Examples:
|
|
42221
42517
|
hyperline customers-credits update-customer-credit-portal-settings --id <id> --product-id <productId> --enabled
|
|
42222
42518
|
hyperline customers-credits update-customer-credit-portal-settings --id <id> --product-id <productId> --enabled --price-configuration-id <price_configuration_id> --custom-price-configuration <custom_price_configuration>
|
|
@@ -42246,6 +42542,88 @@ Examples:
|
|
|
42246
42542
|
});
|
|
42247
42543
|
}
|
|
42248
42544
|
|
|
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", `
|
|
42549
|
+
Examples:
|
|
42550
|
+
hyperline customers-features resolve-customer-features --id <id>
|
|
42551
|
+
hyperline customers-features resolve-customer-features --id <id> --at <at>`).action(async (opts) => {
|
|
42552
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42553
|
+
if (!ctx) {
|
|
42554
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42555
|
+
process.exit(1);
|
|
42556
|
+
}
|
|
42557
|
+
const args = {};
|
|
42558
|
+
if (opts.id !== void 0)
|
|
42559
|
+
args.id = opts.id;
|
|
42560
|
+
if (opts.at !== void 0)
|
|
42561
|
+
args.at = opts.at;
|
|
42562
|
+
await ctx.execute({
|
|
42563
|
+
method: "GET",
|
|
42564
|
+
path: "/v1/customers/{id}/features",
|
|
42565
|
+
args,
|
|
42566
|
+
queryParamKeys: ["at"]
|
|
42567
|
+
});
|
|
42568
|
+
});
|
|
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", `
|
|
42570
|
+
Examples:
|
|
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) => {
|
|
42574
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42575
|
+
if (!ctx) {
|
|
42576
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42577
|
+
process.exit(1);
|
|
42578
|
+
}
|
|
42579
|
+
const args = {};
|
|
42580
|
+
if (opts.id !== void 0)
|
|
42581
|
+
args.id = opts.id;
|
|
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
|
+
|
|
42249
42627
|
// build/commands/generated/customers-payment-methods.js
|
|
42250
42628
|
function registerCustomers_Payment_MethodsCommands(parent) {
|
|
42251
42629
|
const resource = parent.command("customers-payment-methods").description("Manage customers > payment methods");
|
|
@@ -42695,6 +43073,222 @@ Examples:
|
|
|
42695
43073
|
});
|
|
42696
43074
|
}
|
|
42697
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
|
+
|
|
42698
43292
|
// build/commands/generated/files.js
|
|
42699
43293
|
function registerFilesCommands(parent) {
|
|
42700
43294
|
const resource = parent.command("files").description("Manage files");
|
|
@@ -42716,7 +43310,7 @@ Examples:
|
|
|
42716
43310
|
queryParamKeys: []
|
|
42717
43311
|
});
|
|
42718
43312
|
});
|
|
42719
|
-
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", `
|
|
42720
43314
|
Examples:
|
|
42721
43315
|
hyperline files list
|
|
42722
43316
|
hyperline files list --take <take> --name <name>`).action(async (opts) => {
|
|
@@ -42730,10 +43324,6 @@ Examples:
|
|
|
42730
43324
|
args.name = opts.name;
|
|
42731
43325
|
if (opts["name.not"] !== void 0)
|
|
42732
43326
|
args.name__not = opts["name.not"];
|
|
42733
|
-
if (opts["name.isNull"] !== void 0)
|
|
42734
|
-
args.name__isNull = opts["name.isNull"];
|
|
42735
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
42736
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
42737
43327
|
if (opts["name.equals"] !== void 0)
|
|
42738
43328
|
args.name__equals = opts["name.equals"];
|
|
42739
43329
|
if (opts["name.contains"] !== void 0)
|
|
@@ -42746,10 +43336,6 @@ Examples:
|
|
|
42746
43336
|
args.customer_id = opts.customerId;
|
|
42747
43337
|
if (opts["customerId.not"] !== void 0)
|
|
42748
43338
|
args.customer_id__not = opts["customerId.not"];
|
|
42749
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42750
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42751
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42752
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42753
43339
|
if (opts["customerId.equals"] !== void 0)
|
|
42754
43340
|
args.customer_id__equals = opts["customerId.equals"];
|
|
42755
43341
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -42758,6 +43344,10 @@ Examples:
|
|
|
42758
43344
|
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
42759
43345
|
if (opts["customerId.endWith"] !== void 0)
|
|
42760
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"];
|
|
42761
43351
|
if (opts.take !== void 0)
|
|
42762
43352
|
args.take = Number(opts.take);
|
|
42763
43353
|
if (opts.skip !== void 0)
|
|
@@ -42771,20 +43361,18 @@ Examples:
|
|
|
42771
43361
|
"skip",
|
|
42772
43362
|
"name",
|
|
42773
43363
|
"name__not",
|
|
42774
|
-
"name__isNull",
|
|
42775
|
-
"name__isNotNull",
|
|
42776
43364
|
"name__equals",
|
|
42777
43365
|
"name__contains",
|
|
42778
43366
|
"name__startsWith",
|
|
42779
43367
|
"name__endWith",
|
|
42780
43368
|
"customer_id",
|
|
42781
43369
|
"customer_id__not",
|
|
42782
|
-
"customer_id__isNull",
|
|
42783
|
-
"customer_id__isNotNull",
|
|
42784
43370
|
"customer_id__equals",
|
|
42785
43371
|
"customer_id__contains",
|
|
42786
43372
|
"customer_id__startsWith",
|
|
42787
|
-
"customer_id__endWith"
|
|
43373
|
+
"customer_id__endWith",
|
|
43374
|
+
"customer_id__isNull",
|
|
43375
|
+
"customer_id__isNotNull"
|
|
42788
43376
|
]
|
|
42789
43377
|
});
|
|
42790
43378
|
});
|
|
@@ -42840,7 +43428,7 @@ Examples:
|
|
|
42840
43428
|
// build/commands/generated/invoices.js
|
|
42841
43429
|
function registerInvoicesCommands(parent) {
|
|
42842
43430
|
const resource = parent.command("invoices").description("Manage invoices");
|
|
42843
|
-
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", `
|
|
42844
43432
|
Examples:
|
|
42845
43433
|
hyperline invoices list
|
|
42846
43434
|
hyperline invoices list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -42870,10 +43458,6 @@ Examples:
|
|
|
42870
43458
|
args.customer_id = opts.customerId;
|
|
42871
43459
|
if (opts["customerId.not"] !== void 0)
|
|
42872
43460
|
args.customer_id__not = opts["customerId.not"];
|
|
42873
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
42874
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
42875
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
42876
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
42877
43461
|
if (opts["customerId.equals"] !== void 0)
|
|
42878
43462
|
args.customer_id__equals = opts["customerId.equals"];
|
|
42879
43463
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -42888,10 +43472,6 @@ Examples:
|
|
|
42888
43472
|
args.subscription_id = opts.subscriptionId;
|
|
42889
43473
|
if (opts["subscriptionId.not"] !== void 0)
|
|
42890
43474
|
args.subscription_id__not = opts["subscriptionId.not"];
|
|
42891
|
-
if (opts["subscriptionId.isNull"] !== void 0)
|
|
42892
|
-
args.subscription_id__isNull = opts["subscriptionId.isNull"];
|
|
42893
|
-
if (opts["subscriptionId.isNotNull"] !== void 0)
|
|
42894
|
-
args.subscription_id__isNotNull = opts["subscriptionId.isNotNull"];
|
|
42895
43475
|
if (opts["subscriptionId.equals"] !== void 0)
|
|
42896
43476
|
args.subscription_id__equals = opts["subscriptionId.equals"];
|
|
42897
43477
|
if (opts["subscriptionId.contains"] !== void 0)
|
|
@@ -42900,14 +43480,14 @@ Examples:
|
|
|
42900
43480
|
args.subscription_id__startsWith = opts["subscriptionId.startsWith"];
|
|
42901
43481
|
if (opts["subscriptionId.endWith"] !== void 0)
|
|
42902
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"];
|
|
42903
43487
|
if (opts.invoicingEntityId !== void 0)
|
|
42904
43488
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
42905
43489
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
42906
43490
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
42907
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
42908
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
42909
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
42910
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
42911
43491
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
42912
43492
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
42913
43493
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -42920,10 +43500,6 @@ Examples:
|
|
|
42920
43500
|
args.invoice_number = opts.invoiceNumber;
|
|
42921
43501
|
if (opts["invoiceNumber.not"] !== void 0)
|
|
42922
43502
|
args.invoice_number__not = opts["invoiceNumber.not"];
|
|
42923
|
-
if (opts["invoiceNumber.isNull"] !== void 0)
|
|
42924
|
-
args.invoice_number__isNull = opts["invoiceNumber.isNull"];
|
|
42925
|
-
if (opts["invoiceNumber.isNotNull"] !== void 0)
|
|
42926
|
-
args.invoice_number__isNotNull = opts["invoiceNumber.isNotNull"];
|
|
42927
43503
|
if (opts["invoiceNumber.equals"] !== void 0)
|
|
42928
43504
|
args.invoice_number__equals = opts["invoiceNumber.equals"];
|
|
42929
43505
|
if (opts["invoiceNumber.contains"] !== void 0)
|
|
@@ -42936,10 +43512,6 @@ Examples:
|
|
|
42936
43512
|
args.original_invoice_id = opts.originalInvoiceId;
|
|
42937
43513
|
if (opts["originalInvoiceId.not"] !== void 0)
|
|
42938
43514
|
args.original_invoice_id__not = opts["originalInvoiceId.not"];
|
|
42939
|
-
if (opts["originalInvoiceId.isNull"] !== void 0)
|
|
42940
|
-
args.original_invoice_id__isNull = opts["originalInvoiceId.isNull"];
|
|
42941
|
-
if (opts["originalInvoiceId.isNotNull"] !== void 0)
|
|
42942
|
-
args.original_invoice_id__isNotNull = opts["originalInvoiceId.isNotNull"];
|
|
42943
43515
|
if (opts["originalInvoiceId.equals"] !== void 0)
|
|
42944
43516
|
args.original_invoice_id__equals = opts["originalInvoiceId.equals"];
|
|
42945
43517
|
if (opts["originalInvoiceId.contains"] !== void 0)
|
|
@@ -42948,14 +43520,14 @@ Examples:
|
|
|
42948
43520
|
args.original_invoice_id__startsWith = opts["originalInvoiceId.startsWith"];
|
|
42949
43521
|
if (opts["originalInvoiceId.endWith"] !== void 0)
|
|
42950
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"];
|
|
42951
43527
|
if (opts.originalInvoiceNumber !== void 0)
|
|
42952
43528
|
args.original_invoice_number = opts.originalInvoiceNumber;
|
|
42953
43529
|
if (opts["originalInvoiceNumber.not"] !== void 0)
|
|
42954
43530
|
args.original_invoice_number__not = opts["originalInvoiceNumber.not"];
|
|
42955
|
-
if (opts["originalInvoiceNumber.isNull"] !== void 0)
|
|
42956
|
-
args.original_invoice_number__isNull = opts["originalInvoiceNumber.isNull"];
|
|
42957
|
-
if (opts["originalInvoiceNumber.isNotNull"] !== void 0)
|
|
42958
|
-
args.original_invoice_number__isNotNull = opts["originalInvoiceNumber.isNotNull"];
|
|
42959
43531
|
if (opts["originalInvoiceNumber.equals"] !== void 0)
|
|
42960
43532
|
args.original_invoice_number__equals = opts["originalInvoiceNumber.equals"];
|
|
42961
43533
|
if (opts["originalInvoiceNumber.contains"] !== void 0)
|
|
@@ -42964,16 +43536,16 @@ Examples:
|
|
|
42964
43536
|
args.original_invoice_number__startsWith = opts["originalInvoiceNumber.startsWith"];
|
|
42965
43537
|
if (opts["originalInvoiceNumber.endWith"] !== void 0)
|
|
42966
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"];
|
|
42967
43543
|
if (opts.lineItemId !== void 0)
|
|
42968
43544
|
args.line_item_id = opts.lineItemId;
|
|
42969
43545
|
if (opts.periodStart !== void 0)
|
|
42970
43546
|
args.period_start = opts.periodStart;
|
|
42971
43547
|
if (opts["periodStart.not"] !== void 0)
|
|
42972
43548
|
args.period_start__not = opts["periodStart.not"];
|
|
42973
|
-
if (opts["periodStart.isNull"] !== void 0)
|
|
42974
|
-
args.period_start__isNull = opts["periodStart.isNull"];
|
|
42975
|
-
if (opts["periodStart.isNotNull"] !== void 0)
|
|
42976
|
-
args.period_start__isNotNull = opts["periodStart.isNotNull"];
|
|
42977
43549
|
if (opts["periodStart.equals"] !== void 0)
|
|
42978
43550
|
args.period_start__equals = opts["periodStart.equals"];
|
|
42979
43551
|
if (opts["periodStart.lt"] !== void 0)
|
|
@@ -42984,14 +43556,14 @@ Examples:
|
|
|
42984
43556
|
args.period_start__gt = opts["periodStart.gt"];
|
|
42985
43557
|
if (opts["periodStart.gte"] !== void 0)
|
|
42986
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"];
|
|
42987
43563
|
if (opts.periodEnd !== void 0)
|
|
42988
43564
|
args.period_end = opts.periodEnd;
|
|
42989
43565
|
if (opts["periodEnd.not"] !== void 0)
|
|
42990
43566
|
args.period_end__not = opts["periodEnd.not"];
|
|
42991
|
-
if (opts["periodEnd.isNull"] !== void 0)
|
|
42992
|
-
args.period_end__isNull = opts["periodEnd.isNull"];
|
|
42993
|
-
if (opts["periodEnd.isNotNull"] !== void 0)
|
|
42994
|
-
args.period_end__isNotNull = opts["periodEnd.isNotNull"];
|
|
42995
43567
|
if (opts["periodEnd.equals"] !== void 0)
|
|
42996
43568
|
args.period_end__equals = opts["periodEnd.equals"];
|
|
42997
43569
|
if (opts["periodEnd.lt"] !== void 0)
|
|
@@ -43002,14 +43574,14 @@ Examples:
|
|
|
43002
43574
|
args.period_end__gt = opts["periodEnd.gt"];
|
|
43003
43575
|
if (opts["periodEnd.gte"] !== void 0)
|
|
43004
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"];
|
|
43005
43581
|
if (opts.issuedAt !== void 0)
|
|
43006
43582
|
args.issued_at = opts.issuedAt;
|
|
43007
43583
|
if (opts["issuedAt.not"] !== void 0)
|
|
43008
43584
|
args.issued_at__not = opts["issuedAt.not"];
|
|
43009
|
-
if (opts["issuedAt.isNull"] !== void 0)
|
|
43010
|
-
args.issued_at__isNull = opts["issuedAt.isNull"];
|
|
43011
|
-
if (opts["issuedAt.isNotNull"] !== void 0)
|
|
43012
|
-
args.issued_at__isNotNull = opts["issuedAt.isNotNull"];
|
|
43013
43585
|
if (opts["issuedAt.equals"] !== void 0)
|
|
43014
43586
|
args.issued_at__equals = opts["issuedAt.equals"];
|
|
43015
43587
|
if (opts["issuedAt.lt"] !== void 0)
|
|
@@ -43024,10 +43596,6 @@ Examples:
|
|
|
43024
43596
|
args.due_at = opts.dueAt;
|
|
43025
43597
|
if (opts["dueAt.not"] !== void 0)
|
|
43026
43598
|
args.due_at__not = opts["dueAt.not"];
|
|
43027
|
-
if (opts["dueAt.isNull"] !== void 0)
|
|
43028
|
-
args.due_at__isNull = opts["dueAt.isNull"];
|
|
43029
|
-
if (opts["dueAt.isNotNull"] !== void 0)
|
|
43030
|
-
args.due_at__isNotNull = opts["dueAt.isNotNull"];
|
|
43031
43599
|
if (opts["dueAt.equals"] !== void 0)
|
|
43032
43600
|
args.due_at__equals = opts["dueAt.equals"];
|
|
43033
43601
|
if (opts["dueAt.lt"] !== void 0)
|
|
@@ -43042,10 +43610,6 @@ Examples:
|
|
|
43042
43610
|
args.updated_at = opts.updatedAt;
|
|
43043
43611
|
if (opts["updatedAt.not"] !== void 0)
|
|
43044
43612
|
args.updated_at__not = opts["updatedAt.not"];
|
|
43045
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
43046
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
43047
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
43048
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
43049
43613
|
if (opts["updatedAt.equals"] !== void 0)
|
|
43050
43614
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
43051
43615
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -43074,8 +43638,6 @@ Examples:
|
|
|
43074
43638
|
"status__in",
|
|
43075
43639
|
"customer_id",
|
|
43076
43640
|
"customer_id__not",
|
|
43077
|
-
"customer_id__isNull",
|
|
43078
|
-
"customer_id__isNotNull",
|
|
43079
43641
|
"customer_id__equals",
|
|
43080
43642
|
"customer_id__contains",
|
|
43081
43643
|
"customer_id__startsWith",
|
|
@@ -43083,67 +43645,61 @@ Examples:
|
|
|
43083
43645
|
"customer_external_id",
|
|
43084
43646
|
"subscription_id",
|
|
43085
43647
|
"subscription_id__not",
|
|
43086
|
-
"subscription_id__isNull",
|
|
43087
|
-
"subscription_id__isNotNull",
|
|
43088
43648
|
"subscription_id__equals",
|
|
43089
43649
|
"subscription_id__contains",
|
|
43090
43650
|
"subscription_id__startsWith",
|
|
43091
43651
|
"subscription_id__endWith",
|
|
43652
|
+
"subscription_id__isNull",
|
|
43653
|
+
"subscription_id__isNotNull",
|
|
43092
43654
|
"invoicing_entity_id",
|
|
43093
43655
|
"invoicing_entity_id__not",
|
|
43094
|
-
"invoicing_entity_id__isNull",
|
|
43095
|
-
"invoicing_entity_id__isNotNull",
|
|
43096
43656
|
"invoicing_entity_id__equals",
|
|
43097
43657
|
"invoicing_entity_id__contains",
|
|
43098
43658
|
"invoicing_entity_id__startsWith",
|
|
43099
43659
|
"invoicing_entity_id__endWith",
|
|
43100
43660
|
"invoice_number",
|
|
43101
43661
|
"invoice_number__not",
|
|
43102
|
-
"invoice_number__isNull",
|
|
43103
|
-
"invoice_number__isNotNull",
|
|
43104
43662
|
"invoice_number__equals",
|
|
43105
43663
|
"invoice_number__contains",
|
|
43106
43664
|
"invoice_number__startsWith",
|
|
43107
43665
|
"invoice_number__endWith",
|
|
43108
43666
|
"original_invoice_id",
|
|
43109
43667
|
"original_invoice_id__not",
|
|
43110
|
-
"original_invoice_id__isNull",
|
|
43111
|
-
"original_invoice_id__isNotNull",
|
|
43112
43668
|
"original_invoice_id__equals",
|
|
43113
43669
|
"original_invoice_id__contains",
|
|
43114
43670
|
"original_invoice_id__startsWith",
|
|
43115
43671
|
"original_invoice_id__endWith",
|
|
43672
|
+
"original_invoice_id__isNull",
|
|
43673
|
+
"original_invoice_id__isNotNull",
|
|
43116
43674
|
"original_invoice_number",
|
|
43117
43675
|
"original_invoice_number__not",
|
|
43118
|
-
"original_invoice_number__isNull",
|
|
43119
|
-
"original_invoice_number__isNotNull",
|
|
43120
43676
|
"original_invoice_number__equals",
|
|
43121
43677
|
"original_invoice_number__contains",
|
|
43122
43678
|
"original_invoice_number__startsWith",
|
|
43123
43679
|
"original_invoice_number__endWith",
|
|
43680
|
+
"original_invoice_number__isNull",
|
|
43681
|
+
"original_invoice_number__isNotNull",
|
|
43124
43682
|
"line_item_id",
|
|
43125
43683
|
"period_start",
|
|
43126
43684
|
"period_start__not",
|
|
43127
|
-
"period_start__isNull",
|
|
43128
|
-
"period_start__isNotNull",
|
|
43129
43685
|
"period_start__equals",
|
|
43130
43686
|
"period_start__lt",
|
|
43131
43687
|
"period_start__lte",
|
|
43132
43688
|
"period_start__gt",
|
|
43133
43689
|
"period_start__gte",
|
|
43690
|
+
"period_start__isNull",
|
|
43691
|
+
"period_start__isNotNull",
|
|
43134
43692
|
"period_end",
|
|
43135
43693
|
"period_end__not",
|
|
43136
|
-
"period_end__isNull",
|
|
43137
|
-
"period_end__isNotNull",
|
|
43138
43694
|
"period_end__equals",
|
|
43139
43695
|
"period_end__lt",
|
|
43140
43696
|
"period_end__lte",
|
|
43141
43697
|
"period_end__gt",
|
|
43142
43698
|
"period_end__gte",
|
|
43699
|
+
"period_end__isNull",
|
|
43700
|
+
"period_end__isNotNull",
|
|
43143
43701
|
"issued_at",
|
|
43144
43702
|
"issued_at__not",
|
|
43145
|
-
"issued_at__isNull",
|
|
43146
|
-
"issued_at__isNotNull",
|
|
43147
43703
|
"issued_at__equals",
|
|
43148
43704
|
"issued_at__lt",
|
|
43149
43705
|
"issued_at__lte",
|
|
@@ -43151,8 +43707,6 @@ Examples:
|
|
|
43151
43707
|
"issued_at__gte",
|
|
43152
43708
|
"due_at",
|
|
43153
43709
|
"due_at__not",
|
|
43154
|
-
"due_at__isNull",
|
|
43155
|
-
"due_at__isNotNull",
|
|
43156
43710
|
"due_at__equals",
|
|
43157
43711
|
"due_at__lt",
|
|
43158
43712
|
"due_at__lte",
|
|
@@ -43160,8 +43714,6 @@ Examples:
|
|
|
43160
43714
|
"due_at__gte",
|
|
43161
43715
|
"updated_at",
|
|
43162
43716
|
"updated_at__not",
|
|
43163
|
-
"updated_at__isNull",
|
|
43164
|
-
"updated_at__isNotNull",
|
|
43165
43717
|
"updated_at__equals",
|
|
43166
43718
|
"updated_at__lt",
|
|
43167
43719
|
"updated_at__lte",
|
|
@@ -43373,7 +43925,7 @@ Examples:
|
|
|
43373
43925
|
queryParamKeys: []
|
|
43374
43926
|
});
|
|
43375
43927
|
});
|
|
43376
|
-
resource.command("void").description(`Void an invoice in to_pay status. Automatically generates a corresponding credit note. Optionally send an email notification.`).requiredOption("--id <value>", `id parameter`).option("--send-email", `Indicates if an email for the generated credit note should be sent to the customer.`).addHelpText("after", `
|
|
43928
|
+
resource.command("void").description(`Void an invoice in to_pay status. Automatically generates a corresponding credit note. A zero-priced paid invoice can also be voided, without a credit note. Optionally send an email notification.`).requiredOption("--id <value>", `id parameter`).option("--send-email", `Indicates if an email for the generated credit note should be sent to the customer.`).addHelpText("after", `
|
|
43377
43929
|
Examples:
|
|
43378
43930
|
hyperline invoices void --id <id>
|
|
43379
43931
|
hyperline invoices void --id <id> --send-email
|
|
@@ -43395,6 +43947,36 @@ Examples:
|
|
|
43395
43947
|
queryParamKeys: []
|
|
43396
43948
|
});
|
|
43397
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
|
+
});
|
|
43398
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", `
|
|
43399
43981
|
Examples:
|
|
43400
43982
|
hyperline invoices mark-invoice-as-uncollectible --id <id>
|
|
@@ -43875,73 +44457,11 @@ Examples:
|
|
|
43875
44457
|
if (!confirmed) {
|
|
43876
44458
|
process.stdout.write("Aborted.\n");
|
|
43877
44459
|
return;
|
|
43878
|
-
}
|
|
43879
|
-
}
|
|
43880
|
-
await ctx.execute({
|
|
43881
|
-
method: "DELETE",
|
|
43882
|
-
path: "/v1/invoicing-entities/{id}",
|
|
43883
|
-
args,
|
|
43884
|
-
queryParamKeys: []
|
|
43885
|
-
});
|
|
43886
|
-
});
|
|
43887
|
-
}
|
|
43888
|
-
|
|
43889
|
-
// build/commands/generated/monitoring.js
|
|
43890
|
-
function registerMonitoringCommands(parent) {
|
|
43891
|
-
const resource = parent.command("monitoring").description("Manage monitoring");
|
|
43892
|
-
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", `
|
|
43893
|
-
Examples:
|
|
43894
|
-
hyperline monitoring list-monitoring-analyses
|
|
43895
|
-
hyperline monitoring list-monitoring-analyses --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
43896
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
43897
|
-
if (!ctx) {
|
|
43898
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
43899
|
-
process.exit(1);
|
|
43900
|
-
}
|
|
43901
|
-
const args = {};
|
|
43902
|
-
if (opts.cursor !== void 0)
|
|
43903
|
-
args.cursor = opts.cursor;
|
|
43904
|
-
if (opts.includeTotal !== void 0)
|
|
43905
|
-
args.include_total = opts.includeTotal;
|
|
43906
|
-
if (opts.customerId !== void 0)
|
|
43907
|
-
args.customer_id = opts.customerId;
|
|
43908
|
-
if (opts.status !== void 0)
|
|
43909
|
-
args.status = opts.status;
|
|
43910
|
-
if (opts["createdAt.gte"] !== void 0)
|
|
43911
|
-
args.created_at__gte = opts["createdAt.gte"];
|
|
43912
|
-
if (opts["createdAt.lte"] !== void 0)
|
|
43913
|
-
args.created_at__lte = opts["createdAt.lte"];
|
|
43914
|
-
if (opts.limit !== void 0)
|
|
43915
|
-
args.limit = Number(opts.limit);
|
|
43916
|
-
await ctx.execute({
|
|
43917
|
-
method: "GET",
|
|
43918
|
-
path: "/v1/agents/monitoring/analyses",
|
|
43919
|
-
args,
|
|
43920
|
-
queryParamKeys: [
|
|
43921
|
-
"limit",
|
|
43922
|
-
"cursor",
|
|
43923
|
-
"include_total",
|
|
43924
|
-
"customer_id",
|
|
43925
|
-
"status",
|
|
43926
|
-
"created_at__gte",
|
|
43927
|
-
"created_at__lte"
|
|
43928
|
-
]
|
|
43929
|
-
});
|
|
43930
|
-
});
|
|
43931
|
-
resource.command("get-monitoring-analysis").description(`Get one customer health analysis by ID: health score (0-100), tier, summary, per-dimension scores, risk factors and positive signals.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
43932
|
-
Examples:
|
|
43933
|
-
hyperline monitoring get-monitoring-analysis --id <id>`).action(async (opts) => {
|
|
43934
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
43935
|
-
if (!ctx) {
|
|
43936
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
43937
|
-
process.exit(1);
|
|
43938
|
-
}
|
|
43939
|
-
const args = {};
|
|
43940
|
-
if (opts.id !== void 0)
|
|
43941
|
-
args.id = opts.id;
|
|
44460
|
+
}
|
|
44461
|
+
}
|
|
43942
44462
|
await ctx.execute({
|
|
43943
|
-
method: "
|
|
43944
|
-
path: "/v1/
|
|
44463
|
+
method: "DELETE",
|
|
44464
|
+
path: "/v1/invoicing-entities/{id}",
|
|
43945
44465
|
args,
|
|
43946
44466
|
queryParamKeys: []
|
|
43947
44467
|
});
|
|
@@ -43951,7 +44471,7 @@ Examples:
|
|
|
43951
44471
|
// build/commands/generated/organisations.js
|
|
43952
44472
|
function registerOrganisationsCommands(parent) {
|
|
43953
44473
|
const resource = parent.command("organisations").description("Manage organisations");
|
|
43954
|
-
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", `
|
|
43955
44475
|
Examples:
|
|
43956
44476
|
hyperline organisations list
|
|
43957
44477
|
hyperline organisations list --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
@@ -43973,10 +44493,6 @@ Examples:
|
|
|
43973
44493
|
args.created_at = opts.createdAt;
|
|
43974
44494
|
if (opts["createdAt.not"] !== void 0)
|
|
43975
44495
|
args.created_at__not = opts["createdAt.not"];
|
|
43976
|
-
if (opts["createdAt.isNull"] !== void 0)
|
|
43977
|
-
args.created_at__isNull = opts["createdAt.isNull"];
|
|
43978
|
-
if (opts["createdAt.isNotNull"] !== void 0)
|
|
43979
|
-
args.created_at__isNotNull = opts["createdAt.isNotNull"];
|
|
43980
44496
|
if (opts["createdAt.equals"] !== void 0)
|
|
43981
44497
|
args.created_at__equals = opts["createdAt.equals"];
|
|
43982
44498
|
if (opts["createdAt.lt"] !== void 0)
|
|
@@ -43991,10 +44507,6 @@ Examples:
|
|
|
43991
44507
|
args.updated_at = opts.updatedAt;
|
|
43992
44508
|
if (opts["updatedAt.not"] !== void 0)
|
|
43993
44509
|
args.updated_at__not = opts["updatedAt.not"];
|
|
43994
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
43995
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
43996
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
43997
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
43998
44510
|
if (opts["updatedAt.equals"] !== void 0)
|
|
43999
44511
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44000
44512
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44019,8 +44531,6 @@ Examples:
|
|
|
44019
44531
|
"sort",
|
|
44020
44532
|
"created_at",
|
|
44021
44533
|
"created_at__not",
|
|
44022
|
-
"created_at__isNull",
|
|
44023
|
-
"created_at__isNotNull",
|
|
44024
44534
|
"created_at__equals",
|
|
44025
44535
|
"created_at__lt",
|
|
44026
44536
|
"created_at__lte",
|
|
@@ -44028,8 +44538,6 @@ Examples:
|
|
|
44028
44538
|
"created_at__gte",
|
|
44029
44539
|
"updated_at",
|
|
44030
44540
|
"updated_at__not",
|
|
44031
|
-
"updated_at__isNull",
|
|
44032
|
-
"updated_at__isNotNull",
|
|
44033
44541
|
"updated_at__equals",
|
|
44034
44542
|
"updated_at__lt",
|
|
44035
44543
|
"updated_at__lte",
|
|
@@ -44143,7 +44651,7 @@ Examples:
|
|
|
44143
44651
|
// build/commands/generated/price-configurations.js
|
|
44144
44652
|
function registerPrice_ConfigurationsCommands(parent) {
|
|
44145
44653
|
const resource = parent.command("price-configurations").description("Manage price configurations");
|
|
44146
|
-
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", `
|
|
44147
44655
|
Examples:
|
|
44148
44656
|
hyperline price-configurations list
|
|
44149
44657
|
hyperline price-configurations list --take <take> --product-id <product_id>`).action(async (opts) => {
|
|
@@ -44157,10 +44665,6 @@ Examples:
|
|
|
44157
44665
|
args.product_id = opts.productId;
|
|
44158
44666
|
if (opts["productId.not"] !== void 0)
|
|
44159
44667
|
args.product_id__not = opts["productId.not"];
|
|
44160
|
-
if (opts["productId.isNull"] !== void 0)
|
|
44161
|
-
args.product_id__isNull = opts["productId.isNull"];
|
|
44162
|
-
if (opts["productId.isNotNull"] !== void 0)
|
|
44163
|
-
args.product_id__isNotNull = opts["productId.isNotNull"];
|
|
44164
44668
|
if (opts["productId.equals"] !== void 0)
|
|
44165
44669
|
args.product_id__equals = opts["productId.equals"];
|
|
44166
44670
|
if (opts["productId.contains"] !== void 0)
|
|
@@ -44173,10 +44677,6 @@ Examples:
|
|
|
44173
44677
|
args.price_book_id = opts.priceBookId;
|
|
44174
44678
|
if (opts["priceBookId.not"] !== void 0)
|
|
44175
44679
|
args.price_book_id__not = opts["priceBookId.not"];
|
|
44176
|
-
if (opts["priceBookId.isNull"] !== void 0)
|
|
44177
|
-
args.price_book_id__isNull = opts["priceBookId.isNull"];
|
|
44178
|
-
if (opts["priceBookId.isNotNull"] !== void 0)
|
|
44179
|
-
args.price_book_id__isNotNull = opts["priceBookId.isNotNull"];
|
|
44180
44680
|
if (opts["priceBookId.equals"] !== void 0)
|
|
44181
44681
|
args.price_book_id__equals = opts["priceBookId.equals"];
|
|
44182
44682
|
if (opts["priceBookId.contains"] !== void 0)
|
|
@@ -44185,6 +44685,10 @@ Examples:
|
|
|
44185
44685
|
args.price_book_id__startsWith = opts["priceBookId.startsWith"];
|
|
44186
44686
|
if (opts["priceBookId.endWith"] !== void 0)
|
|
44187
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"];
|
|
44188
44692
|
if (opts.take !== void 0)
|
|
44189
44693
|
args.take = Number(opts.take);
|
|
44190
44694
|
if (opts.skip !== void 0)
|
|
@@ -44198,20 +44702,18 @@ Examples:
|
|
|
44198
44702
|
"skip",
|
|
44199
44703
|
"product_id",
|
|
44200
44704
|
"product_id__not",
|
|
44201
|
-
"product_id__isNull",
|
|
44202
|
-
"product_id__isNotNull",
|
|
44203
44705
|
"product_id__equals",
|
|
44204
44706
|
"product_id__contains",
|
|
44205
44707
|
"product_id__startsWith",
|
|
44206
44708
|
"product_id__endWith",
|
|
44207
44709
|
"price_book_id",
|
|
44208
44710
|
"price_book_id__not",
|
|
44209
|
-
"price_book_id__isNull",
|
|
44210
|
-
"price_book_id__isNotNull",
|
|
44211
44711
|
"price_book_id__equals",
|
|
44212
44712
|
"price_book_id__contains",
|
|
44213
44713
|
"price_book_id__startsWith",
|
|
44214
|
-
"price_book_id__endWith"
|
|
44714
|
+
"price_book_id__endWith",
|
|
44715
|
+
"price_book_id__isNull",
|
|
44716
|
+
"price_book_id__isNotNull"
|
|
44215
44717
|
]
|
|
44216
44718
|
});
|
|
44217
44719
|
});
|
|
@@ -44233,7 +44735,7 @@ Examples:
|
|
|
44233
44735
|
queryParamKeys: []
|
|
44234
44736
|
});
|
|
44235
44737
|
});
|
|
44236
|
-
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", `
|
|
44237
44739
|
Examples:
|
|
44238
44740
|
hyperline price-configurations create --currency <currency> --billing-interval <billing_interval> --type <type> --prices <prices> --product-id <product_id>
|
|
44239
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>
|
|
@@ -44252,6 +44754,8 @@ Examples:
|
|
|
44252
44754
|
args.type = opts.type;
|
|
44253
44755
|
if (opts.productId !== void 0)
|
|
44254
44756
|
args.product_id = opts.productId;
|
|
44757
|
+
if (opts.aggregatorFilterId !== void 0)
|
|
44758
|
+
args.aggregator_filter_id = opts.aggregatorFilterId;
|
|
44255
44759
|
if (opts.allowOnPortal !== void 0)
|
|
44256
44760
|
args.allow_on_portal = true;
|
|
44257
44761
|
if (opts.countries !== void 0)
|
|
@@ -44335,7 +44839,7 @@ Examples:
|
|
|
44335
44839
|
// build/commands/generated/products.js
|
|
44336
44840
|
function registerProductsCommands(parent) {
|
|
44337
44841
|
const resource = parent.command("products").description("Manage products");
|
|
44338
|
-
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", `
|
|
44339
44843
|
Examples:
|
|
44340
44844
|
hyperline products list
|
|
44341
44845
|
hyperline products list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44349,10 +44853,6 @@ Examples:
|
|
|
44349
44853
|
args.id = opts.id;
|
|
44350
44854
|
if (opts["id.not"] !== void 0)
|
|
44351
44855
|
args.id__not = opts["id.not"];
|
|
44352
|
-
if (opts["id.isNull"] !== void 0)
|
|
44353
|
-
args.id__isNull = opts["id.isNull"];
|
|
44354
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
44355
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
44356
44856
|
if (opts["id.equals"] !== void 0)
|
|
44357
44857
|
args.id__equals = opts["id.equals"];
|
|
44358
44858
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44369,10 +44869,6 @@ Examples:
|
|
|
44369
44869
|
args.name = opts.name;
|
|
44370
44870
|
if (opts["name.not"] !== void 0)
|
|
44371
44871
|
args.name__not = opts["name.not"];
|
|
44372
|
-
if (opts["name.isNull"] !== void 0)
|
|
44373
|
-
args.name__isNull = opts["name.isNull"];
|
|
44374
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
44375
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
44376
44872
|
if (opts["name.equals"] !== void 0)
|
|
44377
44873
|
args.name__equals = opts["name.equals"];
|
|
44378
44874
|
if (opts["name.contains"] !== void 0)
|
|
@@ -44385,10 +44881,6 @@ Examples:
|
|
|
44385
44881
|
args.description = opts.description;
|
|
44386
44882
|
if (opts["description.not"] !== void 0)
|
|
44387
44883
|
args.description__not = opts["description.not"];
|
|
44388
|
-
if (opts["description.isNull"] !== void 0)
|
|
44389
|
-
args.description__isNull = opts["description.isNull"];
|
|
44390
|
-
if (opts["description.isNotNull"] !== void 0)
|
|
44391
|
-
args.description__isNotNull = opts["description.isNotNull"];
|
|
44392
44884
|
if (opts["description.equals"] !== void 0)
|
|
44393
44885
|
args.description__equals = opts["description.equals"];
|
|
44394
44886
|
if (opts["description.contains"] !== void 0)
|
|
@@ -44397,14 +44889,14 @@ Examples:
|
|
|
44397
44889
|
args.description__startsWith = opts["description.startsWith"];
|
|
44398
44890
|
if (opts["description.endWith"] !== void 0)
|
|
44399
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"];
|
|
44400
44896
|
if (opts.type !== void 0)
|
|
44401
44897
|
args.type = opts.type;
|
|
44402
44898
|
if (opts["type.not"] !== void 0)
|
|
44403
44899
|
args.type__not = opts["type.not"];
|
|
44404
|
-
if (opts["type.isNull"] !== void 0)
|
|
44405
|
-
args.type__isNull = opts["type.isNull"];
|
|
44406
|
-
if (opts["type.isNotNull"] !== void 0)
|
|
44407
|
-
args.type__isNotNull = opts["type.isNotNull"];
|
|
44408
44900
|
if (opts["type.equals"] !== void 0)
|
|
44409
44901
|
args.type__equals = opts["type.equals"];
|
|
44410
44902
|
if (opts["type.contains"] !== void 0)
|
|
@@ -44415,6 +44907,8 @@ Examples:
|
|
|
44415
44907
|
args.type__endWith = opts["type.endWith"];
|
|
44416
44908
|
if (opts.priceBookId !== void 0)
|
|
44417
44909
|
args.price_book_id = opts.priceBookId;
|
|
44910
|
+
if (opts.customProperties !== void 0)
|
|
44911
|
+
args.custom_properties = opts.customProperties;
|
|
44418
44912
|
if (opts.take !== void 0)
|
|
44419
44913
|
args.take = Number(opts.take);
|
|
44420
44914
|
if (opts.skip !== void 0)
|
|
@@ -44428,8 +44922,6 @@ Examples:
|
|
|
44428
44922
|
"skip",
|
|
44429
44923
|
"id",
|
|
44430
44924
|
"id__not",
|
|
44431
|
-
"id__isNull",
|
|
44432
|
-
"id__isNotNull",
|
|
44433
44925
|
"id__equals",
|
|
44434
44926
|
"id__contains",
|
|
44435
44927
|
"id__startsWith",
|
|
@@ -44438,33 +44930,30 @@ Examples:
|
|
|
44438
44930
|
"status__in",
|
|
44439
44931
|
"name",
|
|
44440
44932
|
"name__not",
|
|
44441
|
-
"name__isNull",
|
|
44442
|
-
"name__isNotNull",
|
|
44443
44933
|
"name__equals",
|
|
44444
44934
|
"name__contains",
|
|
44445
44935
|
"name__startsWith",
|
|
44446
44936
|
"name__endWith",
|
|
44447
44937
|
"description",
|
|
44448
44938
|
"description__not",
|
|
44449
|
-
"description__isNull",
|
|
44450
|
-
"description__isNotNull",
|
|
44451
44939
|
"description__equals",
|
|
44452
44940
|
"description__contains",
|
|
44453
44941
|
"description__startsWith",
|
|
44454
44942
|
"description__endWith",
|
|
44943
|
+
"description__isNull",
|
|
44944
|
+
"description__isNotNull",
|
|
44455
44945
|
"type",
|
|
44456
44946
|
"type__not",
|
|
44457
|
-
"type__isNull",
|
|
44458
|
-
"type__isNotNull",
|
|
44459
44947
|
"type__equals",
|
|
44460
44948
|
"type__contains",
|
|
44461
44949
|
"type__startsWith",
|
|
44462
44950
|
"type__endWith",
|
|
44463
|
-
"price_book_id"
|
|
44951
|
+
"price_book_id",
|
|
44952
|
+
"custom_properties"
|
|
44464
44953
|
]
|
|
44465
44954
|
});
|
|
44466
44955
|
});
|
|
44467
|
-
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>", `
|
|
44468
44957
|
How the periodic credit allowance is granted for partial billing periods.
|
|
44469
44958
|
|
|
44470
44959
|
- \`prorated\` (default): the granted credits are prorated to the elapsed period.
|
|
@@ -44552,7 +45041,7 @@ Examples:
|
|
|
44552
45041
|
queryParamKeys: ["price_book_id"]
|
|
44553
45042
|
});
|
|
44554
45043
|
});
|
|
44555
|
-
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", `
|
|
44556
45045
|
Examples:
|
|
44557
45046
|
hyperline products update --id <id> --name <name>
|
|
44558
45047
|
hyperline products update --id <id> --name <name> --description <description> --public-description <public_description>
|
|
@@ -44656,6 +45145,80 @@ Examples:
|
|
|
44656
45145
|
});
|
|
44657
45146
|
}
|
|
44658
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
|
+
|
|
44659
45222
|
// build/commands/generated/quotes.js
|
|
44660
45223
|
function registerQuotesCommands(parent) {
|
|
44661
45224
|
const resource = parent.command("quotes").description("Manage quotes");
|
|
@@ -44665,12 +45228,12 @@ Quote status.
|
|
|
44665
45228
|
- \`draft\`: The quote is a draft.
|
|
44666
45229
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
44667
45230
|
- \`pending_signature\`: The quote is awaiting the customer's signature.
|
|
44668
|
-
`).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.
|
|
44669
45232
|
|
|
44670
45233
|
- \`all\`: Display all pricing tiers.
|
|
44671
45234
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
44672
45235
|
- \`none\`: Hide all pricing tiers.
|
|
44673
|
-
`).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", `
|
|
44674
45237
|
Examples:
|
|
44675
45238
|
hyperline quotes create --customer-id <customer_id>
|
|
44676
45239
|
hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
|
|
@@ -44709,6 +45272,8 @@ Examples:
|
|
|
44709
45272
|
args.display_price_tiers = opts.displayPriceTiers;
|
|
44710
45273
|
if (opts.displayPhaseValue !== void 0)
|
|
44711
45274
|
args.display_phase_value = opts.displayPhaseValue;
|
|
45275
|
+
if (opts.displayDiscountsOnTotal !== void 0)
|
|
45276
|
+
args.display_discounts_on_total = opts.displayDiscountsOnTotal;
|
|
44712
45277
|
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
44713
45278
|
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
44714
45279
|
if (opts.displayDocumentsInPreview !== void 0)
|
|
@@ -44723,6 +45288,8 @@ Examples:
|
|
|
44723
45288
|
args.expires_at = opts.expiresAt;
|
|
44724
45289
|
if (opts.amount !== void 0)
|
|
44725
45290
|
args.amount = Number(opts.amount);
|
|
45291
|
+
if (opts.contractValue !== void 0)
|
|
45292
|
+
args.contract_value = Number(opts.contractValue);
|
|
44726
45293
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
44727
45294
|
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
44728
45295
|
if (opts.contractClauseIds !== void 0)
|
|
@@ -44738,7 +45305,7 @@ Examples:
|
|
|
44738
45305
|
queryParamKeys: []
|
|
44739
45306
|
});
|
|
44740
45307
|
});
|
|
44741
|
-
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", `
|
|
44742
45309
|
Examples:
|
|
44743
45310
|
hyperline quotes list
|
|
44744
45311
|
hyperline quotes list --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -44752,10 +45319,6 @@ Examples:
|
|
|
44752
45319
|
args.id = opts.id;
|
|
44753
45320
|
if (opts["id.not"] !== void 0)
|
|
44754
45321
|
args.id__not = opts["id.not"];
|
|
44755
|
-
if (opts["id.isNull"] !== void 0)
|
|
44756
|
-
args.id__isNull = opts["id.isNull"];
|
|
44757
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
44758
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
44759
45322
|
if (opts["id.equals"] !== void 0)
|
|
44760
45323
|
args.id__equals = opts["id.equals"];
|
|
44761
45324
|
if (opts["id.contains"] !== void 0)
|
|
@@ -44768,10 +45331,6 @@ Examples:
|
|
|
44768
45331
|
args.number = opts.number;
|
|
44769
45332
|
if (opts["number.not"] !== void 0)
|
|
44770
45333
|
args.number__not = opts["number.not"];
|
|
44771
|
-
if (opts["number.isNull"] !== void 0)
|
|
44772
|
-
args.number__isNull = opts["number.isNull"];
|
|
44773
|
-
if (opts["number.isNotNull"] !== void 0)
|
|
44774
|
-
args.number__isNotNull = opts["number.isNotNull"];
|
|
44775
45334
|
if (opts["number.equals"] !== void 0)
|
|
44776
45335
|
args.number__equals = opts["number.equals"];
|
|
44777
45336
|
if (opts["number.contains"] !== void 0)
|
|
@@ -44788,10 +45347,6 @@ Examples:
|
|
|
44788
45347
|
args.customer_id = opts.customerId;
|
|
44789
45348
|
if (opts["customerId.not"] !== void 0)
|
|
44790
45349
|
args.customer_id__not = opts["customerId.not"];
|
|
44791
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
44792
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
44793
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
44794
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
44795
45350
|
if (opts["customerId.equals"] !== void 0)
|
|
44796
45351
|
args.customer_id__equals = opts["customerId.equals"];
|
|
44797
45352
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -44804,10 +45359,6 @@ Examples:
|
|
|
44804
45359
|
args.template_id = opts.templateId;
|
|
44805
45360
|
if (opts["templateId.not"] !== void 0)
|
|
44806
45361
|
args.template_id__not = opts["templateId.not"];
|
|
44807
|
-
if (opts["templateId.isNull"] !== void 0)
|
|
44808
|
-
args.template_id__isNull = opts["templateId.isNull"];
|
|
44809
|
-
if (opts["templateId.isNotNull"] !== void 0)
|
|
44810
|
-
args.template_id__isNotNull = opts["templateId.isNotNull"];
|
|
44811
45362
|
if (opts["templateId.equals"] !== void 0)
|
|
44812
45363
|
args.template_id__equals = opts["templateId.equals"];
|
|
44813
45364
|
if (opts["templateId.contains"] !== void 0)
|
|
@@ -44816,14 +45367,14 @@ Examples:
|
|
|
44816
45367
|
args.template_id__startsWith = opts["templateId.startsWith"];
|
|
44817
45368
|
if (opts["templateId.endWith"] !== void 0)
|
|
44818
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"];
|
|
44819
45374
|
if (opts.crmOpportunityId !== void 0)
|
|
44820
45375
|
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
44821
45376
|
if (opts["crmOpportunityId.not"] !== void 0)
|
|
44822
45377
|
args.crm_opportunity_id__not = opts["crmOpportunityId.not"];
|
|
44823
|
-
if (opts["crmOpportunityId.isNull"] !== void 0)
|
|
44824
|
-
args.crm_opportunity_id__isNull = opts["crmOpportunityId.isNull"];
|
|
44825
|
-
if (opts["crmOpportunityId.isNotNull"] !== void 0)
|
|
44826
|
-
args.crm_opportunity_id__isNotNull = opts["crmOpportunityId.isNotNull"];
|
|
44827
45378
|
if (opts["crmOpportunityId.equals"] !== void 0)
|
|
44828
45379
|
args.crm_opportunity_id__equals = opts["crmOpportunityId.equals"];
|
|
44829
45380
|
if (opts["crmOpportunityId.contains"] !== void 0)
|
|
@@ -44832,30 +45383,16 @@ Examples:
|
|
|
44832
45383
|
args.crm_opportunity_id__startsWith = opts["crmOpportunityId.startsWith"];
|
|
44833
45384
|
if (opts["crmOpportunityId.endWith"] !== void 0)
|
|
44834
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"];
|
|
44835
45390
|
if (opts.type !== void 0)
|
|
44836
45391
|
args.type = opts.type;
|
|
44837
|
-
if (opts["type.not"] !== void 0)
|
|
44838
|
-
args.type__not = opts["type.not"];
|
|
44839
|
-
if (opts["type.isNull"] !== void 0)
|
|
44840
|
-
args.type__isNull = opts["type.isNull"];
|
|
44841
|
-
if (opts["type.isNotNull"] !== void 0)
|
|
44842
|
-
args.type__isNotNull = opts["type.isNotNull"];
|
|
44843
|
-
if (opts["type.equals"] !== void 0)
|
|
44844
|
-
args.type__equals = opts["type.equals"];
|
|
44845
|
-
if (opts["type.contains"] !== void 0)
|
|
44846
|
-
args.type__contains = opts["type.contains"];
|
|
44847
|
-
if (opts["type.startsWith"] !== void 0)
|
|
44848
|
-
args.type__startsWith = opts["type.startsWith"];
|
|
44849
|
-
if (opts["type.endWith"] !== void 0)
|
|
44850
|
-
args.type__endWith = opts["type.endWith"];
|
|
44851
45392
|
if (opts.updatedAt !== void 0)
|
|
44852
45393
|
args.updated_at = opts.updatedAt;
|
|
44853
45394
|
if (opts["updatedAt.not"] !== void 0)
|
|
44854
45395
|
args.updated_at__not = opts["updatedAt.not"];
|
|
44855
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
44856
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
44857
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
44858
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
44859
45396
|
if (opts["updatedAt.equals"] !== void 0)
|
|
44860
45397
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
44861
45398
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -44879,16 +45416,12 @@ Examples:
|
|
|
44879
45416
|
"skip",
|
|
44880
45417
|
"id",
|
|
44881
45418
|
"id__not",
|
|
44882
|
-
"id__isNull",
|
|
44883
|
-
"id__isNotNull",
|
|
44884
45419
|
"id__equals",
|
|
44885
45420
|
"id__contains",
|
|
44886
45421
|
"id__startsWith",
|
|
44887
45422
|
"id__endWith",
|
|
44888
45423
|
"number",
|
|
44889
45424
|
"number__not",
|
|
44890
|
-
"number__isNull",
|
|
44891
|
-
"number__isNotNull",
|
|
44892
45425
|
"number__equals",
|
|
44893
45426
|
"number__contains",
|
|
44894
45427
|
"number__startsWith",
|
|
@@ -44897,40 +45430,29 @@ Examples:
|
|
|
44897
45430
|
"status__in",
|
|
44898
45431
|
"customer_id",
|
|
44899
45432
|
"customer_id__not",
|
|
44900
|
-
"customer_id__isNull",
|
|
44901
|
-
"customer_id__isNotNull",
|
|
44902
45433
|
"customer_id__equals",
|
|
44903
45434
|
"customer_id__contains",
|
|
44904
45435
|
"customer_id__startsWith",
|
|
44905
45436
|
"customer_id__endWith",
|
|
44906
45437
|
"template_id",
|
|
44907
45438
|
"template_id__not",
|
|
44908
|
-
"template_id__isNull",
|
|
44909
|
-
"template_id__isNotNull",
|
|
44910
45439
|
"template_id__equals",
|
|
44911
45440
|
"template_id__contains",
|
|
44912
45441
|
"template_id__startsWith",
|
|
44913
45442
|
"template_id__endWith",
|
|
45443
|
+
"template_id__isNull",
|
|
45444
|
+
"template_id__isNotNull",
|
|
44914
45445
|
"crm_opportunity_id",
|
|
44915
45446
|
"crm_opportunity_id__not",
|
|
44916
|
-
"crm_opportunity_id__isNull",
|
|
44917
|
-
"crm_opportunity_id__isNotNull",
|
|
44918
45447
|
"crm_opportunity_id__equals",
|
|
44919
45448
|
"crm_opportunity_id__contains",
|
|
44920
45449
|
"crm_opportunity_id__startsWith",
|
|
44921
45450
|
"crm_opportunity_id__endWith",
|
|
45451
|
+
"crm_opportunity_id__isNull",
|
|
45452
|
+
"crm_opportunity_id__isNotNull",
|
|
44922
45453
|
"type",
|
|
44923
|
-
"type__not",
|
|
44924
|
-
"type__isNull",
|
|
44925
|
-
"type__isNotNull",
|
|
44926
|
-
"type__equals",
|
|
44927
|
-
"type__contains",
|
|
44928
|
-
"type__startsWith",
|
|
44929
|
-
"type__endWith",
|
|
44930
45454
|
"updated_at",
|
|
44931
45455
|
"updated_at__not",
|
|
44932
|
-
"updated_at__isNull",
|
|
44933
|
-
"updated_at__isNotNull",
|
|
44934
45456
|
"updated_at__equals",
|
|
44935
45457
|
"updated_at__lt",
|
|
44936
45458
|
"updated_at__lte",
|
|
@@ -44957,12 +45479,12 @@ Examples:
|
|
|
44957
45479
|
queryParamKeys: []
|
|
44958
45480
|
});
|
|
44959
45481
|
});
|
|
44960
|
-
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.
|
|
44961
45483
|
|
|
44962
45484
|
- \`all\`: Display all pricing tiers.
|
|
44963
45485
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
44964
45486
|
- \`none\`: Hide all pricing tiers.
|
|
44965
|
-
`).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", `
|
|
44966
45488
|
Examples:
|
|
44967
45489
|
hyperline quotes update --id <id>
|
|
44968
45490
|
hyperline quotes update --id <id> --owner-email <owner_email> --catalog-version-id <catalog_version_id>
|
|
@@ -44997,6 +45519,8 @@ Examples:
|
|
|
44997
45519
|
args.display_price_tiers = opts.displayPriceTiers;
|
|
44998
45520
|
if (opts.displayPhaseValue !== void 0)
|
|
44999
45521
|
args.display_phase_value = opts.displayPhaseValue;
|
|
45522
|
+
if (opts.displayDiscountsOnTotal !== void 0)
|
|
45523
|
+
args.display_discounts_on_total = opts.displayDiscountsOnTotal;
|
|
45000
45524
|
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
45001
45525
|
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
45002
45526
|
if (opts.displayDocumentsInPreview !== void 0)
|
|
@@ -45011,6 +45535,8 @@ Examples:
|
|
|
45011
45535
|
args.expires_at = opts.expiresAt;
|
|
45012
45536
|
if (opts.amount !== void 0)
|
|
45013
45537
|
args.amount = Number(opts.amount);
|
|
45538
|
+
if (opts.contractValue !== void 0)
|
|
45539
|
+
args.contract_value = Number(opts.contractValue);
|
|
45014
45540
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
45015
45541
|
args.collect_custom_property_ids = JSON.parse(opts.collectCustomPropertyIds);
|
|
45016
45542
|
if (opts.contractClauseIds !== void 0)
|
|
@@ -45066,10 +45592,11 @@ Examples:
|
|
|
45066
45592
|
queryParamKeys: ["locale"]
|
|
45067
45593
|
});
|
|
45068
45594
|
});
|
|
45069
|
-
resource.command("
|
|
45595
|
+
resource.command("finalize").description(`Finalize a draft quote. The quote is submitted for approval when approval is required, otherwise it becomes approved and ready to be sent for signature.`).requiredOption("--id <value>", `id parameter`).option("--requester-comment <value>", `Internal comment supplied by the requester for approvers; not displayed on the customer-facing quote.`).addHelpText("after", `
|
|
45070
45596
|
Examples:
|
|
45071
|
-
hyperline quotes
|
|
45072
|
-
hyperline quotes
|
|
45597
|
+
hyperline quotes finalize --id <id>
|
|
45598
|
+
hyperline quotes finalize --id <id> --requester-comment <requester_comment>
|
|
45599
|
+
hyperline quotes finalize --id <id> --output json`).action(async (opts) => {
|
|
45073
45600
|
const ctx = resource.parent?.opts()._ctx;
|
|
45074
45601
|
if (!ctx) {
|
|
45075
45602
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -45078,35 +45605,19 @@ Examples:
|
|
|
45078
45605
|
const args = {};
|
|
45079
45606
|
if (opts.id !== void 0)
|
|
45080
45607
|
args.id = opts.id;
|
|
45608
|
+
if (opts.requesterComment !== void 0)
|
|
45609
|
+
args.requester_comment = opts.requesterComment;
|
|
45081
45610
|
await ctx.execute({
|
|
45082
45611
|
method: "POST",
|
|
45083
|
-
path: "/v1/quotes/{id}/
|
|
45084
|
-
args,
|
|
45085
|
-
queryParamKeys: []
|
|
45086
|
-
});
|
|
45087
|
-
});
|
|
45088
|
-
resource.command("get-quote-approvals").description(`Read quote approvals without submitting the quote. Returns a newest-first array, currently containing one element. Draft and changes-requested quotes return current approval routing in preview mode; other statuses return the recorded request, ordered steps and decisions in execution mode. A null request means no workflow execution was recorded, including automatic and legacy approval.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
45089
|
-
Examples:
|
|
45090
|
-
hyperline quotes get-quote-approvals --id <id>`).action(async (opts) => {
|
|
45091
|
-
const ctx = resource.parent?.opts()._ctx;
|
|
45092
|
-
if (!ctx) {
|
|
45093
|
-
process.stderr.write("Error: Not authenticated\n");
|
|
45094
|
-
process.exit(1);
|
|
45095
|
-
}
|
|
45096
|
-
const args = {};
|
|
45097
|
-
if (opts.id !== void 0)
|
|
45098
|
-
args.id = opts.id;
|
|
45099
|
-
await ctx.execute({
|
|
45100
|
-
method: "GET",
|
|
45101
|
-
path: "/v1/quotes/{id}/approvals",
|
|
45612
|
+
path: "/v1/quotes/{id}/finalize",
|
|
45102
45613
|
args,
|
|
45103
45614
|
queryParamKeys: []
|
|
45104
45615
|
});
|
|
45105
45616
|
});
|
|
45106
|
-
resource.command("
|
|
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", `
|
|
45107
45618
|
Examples:
|
|
45108
|
-
hyperline quotes
|
|
45109
|
-
hyperline quotes
|
|
45619
|
+
hyperline quotes redraft --id <id>
|
|
45620
|
+
hyperline quotes redraft --id <id> --output json`).action(async (opts) => {
|
|
45110
45621
|
const ctx = resource.parent?.opts()._ctx;
|
|
45111
45622
|
if (!ctx) {
|
|
45112
45623
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -45117,7 +45628,7 @@ Examples:
|
|
|
45117
45628
|
args.id = opts.id;
|
|
45118
45629
|
await ctx.execute({
|
|
45119
45630
|
method: "POST",
|
|
45120
|
-
path: "/v1/quotes/{id}/
|
|
45631
|
+
path: "/v1/quotes/{id}/redraft",
|
|
45121
45632
|
args,
|
|
45122
45633
|
queryParamKeys: []
|
|
45123
45634
|
});
|
|
@@ -45274,10 +45785,52 @@ Examples:
|
|
|
45274
45785
|
});
|
|
45275
45786
|
}
|
|
45276
45787
|
|
|
45788
|
+
// build/commands/generated/quotes-approvals.js
|
|
45789
|
+
function registerQuotes_ApprovalsCommands(parent) {
|
|
45790
|
+
const resource = parent.command("quotes-approvals").description("Manage quotes > approvals");
|
|
45791
|
+
resource.command("approve-quote").description(`Approve a quote as the account owner. This is a prerequisite before sending the quote for customer signature.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
45792
|
+
Examples:
|
|
45793
|
+
hyperline quotes-approvals approve-quote --id <id>
|
|
45794
|
+
hyperline quotes-approvals approve-quote --id <id> --output json`).action(async (opts) => {
|
|
45795
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45796
|
+
if (!ctx) {
|
|
45797
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45798
|
+
process.exit(1);
|
|
45799
|
+
}
|
|
45800
|
+
const args = {};
|
|
45801
|
+
if (opts.id !== void 0)
|
|
45802
|
+
args.id = opts.id;
|
|
45803
|
+
await ctx.execute({
|
|
45804
|
+
method: "POST",
|
|
45805
|
+
path: "/v1/quotes/{id}/approve",
|
|
45806
|
+
args,
|
|
45807
|
+
queryParamKeys: []
|
|
45808
|
+
});
|
|
45809
|
+
});
|
|
45810
|
+
resource.command("get-quote-approvals").description(`Read quote approvals without submitting the quote. Returns a newest-first array, currently containing one element. Draft and changes-requested quotes return current approval routing in preview mode; other statuses return the recorded request, ordered steps and decisions in execution mode. A null request means no workflow execution was recorded, including automatic and legacy approval.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
45811
|
+
Examples:
|
|
45812
|
+
hyperline quotes-approvals get-quote-approvals --id <id>`).action(async (opts) => {
|
|
45813
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
45814
|
+
if (!ctx) {
|
|
45815
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
45816
|
+
process.exit(1);
|
|
45817
|
+
}
|
|
45818
|
+
const args = {};
|
|
45819
|
+
if (opts.id !== void 0)
|
|
45820
|
+
args.id = opts.id;
|
|
45821
|
+
await ctx.execute({
|
|
45822
|
+
method: "GET",
|
|
45823
|
+
path: "/v1/quotes/{id}/approvals",
|
|
45824
|
+
args,
|
|
45825
|
+
queryParamKeys: []
|
|
45826
|
+
});
|
|
45827
|
+
});
|
|
45828
|
+
}
|
|
45829
|
+
|
|
45277
45830
|
// build/commands/generated/quotes-templates.js
|
|
45278
45831
|
function registerQuotes_TemplatesCommands(parent) {
|
|
45279
45832
|
const resource = parent.command("quotes-templates").description("Manage quotes > templates");
|
|
45280
|
-
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", `
|
|
45281
45834
|
Examples:
|
|
45282
45835
|
hyperline quotes-templates list-quote-templates
|
|
45283
45836
|
hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -45291,10 +45844,6 @@ Examples:
|
|
|
45291
45844
|
args.id = opts.id;
|
|
45292
45845
|
if (opts["id.not"] !== void 0)
|
|
45293
45846
|
args.id__not = opts["id.not"];
|
|
45294
|
-
if (opts["id.isNull"] !== void 0)
|
|
45295
|
-
args.id__isNull = opts["id.isNull"];
|
|
45296
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
45297
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
45298
45847
|
if (opts["id.equals"] !== void 0)
|
|
45299
45848
|
args.id__equals = opts["id.equals"];
|
|
45300
45849
|
if (opts["id.contains"] !== void 0)
|
|
@@ -45307,10 +45856,6 @@ Examples:
|
|
|
45307
45856
|
args.name = opts.name;
|
|
45308
45857
|
if (opts["name.not"] !== void 0)
|
|
45309
45858
|
args.name__not = opts["name.not"];
|
|
45310
|
-
if (opts["name.isNull"] !== void 0)
|
|
45311
|
-
args.name__isNull = opts["name.isNull"];
|
|
45312
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
45313
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
45314
45859
|
if (opts["name.equals"] !== void 0)
|
|
45315
45860
|
args.name__equals = opts["name.equals"];
|
|
45316
45861
|
if (opts["name.contains"] !== void 0)
|
|
@@ -45323,10 +45868,6 @@ Examples:
|
|
|
45323
45868
|
args.subscription_template_id = opts.subscriptionTemplateId;
|
|
45324
45869
|
if (opts["subscriptionTemplateId.not"] !== void 0)
|
|
45325
45870
|
args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
|
|
45326
|
-
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
45327
|
-
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
45328
|
-
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
45329
|
-
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
45330
45871
|
if (opts["subscriptionTemplateId.equals"] !== void 0)
|
|
45331
45872
|
args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
|
|
45332
45873
|
if (opts["subscriptionTemplateId.contains"] !== void 0)
|
|
@@ -45335,6 +45876,10 @@ Examples:
|
|
|
45335
45876
|
args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
|
|
45336
45877
|
if (opts["subscriptionTemplateId.endWith"] !== void 0)
|
|
45337
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"];
|
|
45338
45883
|
if (opts.search !== void 0)
|
|
45339
45884
|
args.search = opts.search;
|
|
45340
45885
|
if (opts.take !== void 0)
|
|
@@ -45350,28 +45895,24 @@ Examples:
|
|
|
45350
45895
|
"skip",
|
|
45351
45896
|
"id",
|
|
45352
45897
|
"id__not",
|
|
45353
|
-
"id__isNull",
|
|
45354
|
-
"id__isNotNull",
|
|
45355
45898
|
"id__equals",
|
|
45356
45899
|
"id__contains",
|
|
45357
45900
|
"id__startsWith",
|
|
45358
45901
|
"id__endWith",
|
|
45359
45902
|
"name",
|
|
45360
45903
|
"name__not",
|
|
45361
|
-
"name__isNull",
|
|
45362
|
-
"name__isNotNull",
|
|
45363
45904
|
"name__equals",
|
|
45364
45905
|
"name__contains",
|
|
45365
45906
|
"name__startsWith",
|
|
45366
45907
|
"name__endWith",
|
|
45367
45908
|
"subscription_template_id",
|
|
45368
45909
|
"subscription_template_id__not",
|
|
45369
|
-
"subscription_template_id__isNull",
|
|
45370
|
-
"subscription_template_id__isNotNull",
|
|
45371
45910
|
"subscription_template_id__equals",
|
|
45372
45911
|
"subscription_template_id__contains",
|
|
45373
45912
|
"subscription_template_id__startsWith",
|
|
45374
45913
|
"subscription_template_id__endWith",
|
|
45914
|
+
"subscription_template_id__isNull",
|
|
45915
|
+
"subscription_template_id__isNotNull",
|
|
45375
45916
|
"search"
|
|
45376
45917
|
]
|
|
45377
45918
|
});
|
|
@@ -45773,7 +46314,7 @@ Examples:
|
|
|
45773
46314
|
queryParamKeys: []
|
|
45774
46315
|
});
|
|
45775
46316
|
});
|
|
45776
|
-
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>", `
|
|
45777
46318
|
Subscription status filter.
|
|
45778
46319
|
|
|
45779
46320
|
- \`active\`, \`pending\`, \`paused\`, \`errored\`, \`cancelled\`, \`draft\`, \`voided\`, \`archived\`: match that status.
|
|
@@ -45782,7 +46323,7 @@ Subscription status filter.
|
|
|
45782
46323
|
- \`any\`: every status, no exclusion.
|
|
45783
46324
|
|
|
45784
46325
|
Use \`status__in\` with comma-separated values to combine statuses. When the filter is omitted, \`draft\`, \`voided\`, \`cancelled\` and \`archived\` subscriptions are excluded.
|
|
45785
|
-
`).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", `
|
|
45786
46327
|
Examples:
|
|
45787
46328
|
hyperline subscriptions list
|
|
45788
46329
|
hyperline subscriptions list --take <take> --activation-strategy <activation_strategy>`).action(async (opts) => {
|
|
@@ -45804,10 +46345,6 @@ Examples:
|
|
|
45804
46345
|
args.currency = opts.currency;
|
|
45805
46346
|
if (opts["currency.not"] !== void 0)
|
|
45806
46347
|
args.currency__not = opts["currency.not"];
|
|
45807
|
-
if (opts["currency.isNull"] !== void 0)
|
|
45808
|
-
args.currency__isNull = opts["currency.isNull"];
|
|
45809
|
-
if (opts["currency.isNotNull"] !== void 0)
|
|
45810
|
-
args.currency__isNotNull = opts["currency.isNotNull"];
|
|
45811
46348
|
if (opts["currency.equals"] !== void 0)
|
|
45812
46349
|
args.currency__equals = opts["currency.equals"];
|
|
45813
46350
|
if (opts["currency.contains"] !== void 0)
|
|
@@ -45820,10 +46357,6 @@ Examples:
|
|
|
45820
46357
|
args.plan_id = opts.planId;
|
|
45821
46358
|
if (opts["planId.not"] !== void 0)
|
|
45822
46359
|
args.plan_id__not = opts["planId.not"];
|
|
45823
|
-
if (opts["planId.isNull"] !== void 0)
|
|
45824
|
-
args.plan_id__isNull = opts["planId.isNull"];
|
|
45825
|
-
if (opts["planId.isNotNull"] !== void 0)
|
|
45826
|
-
args.plan_id__isNotNull = opts["planId.isNotNull"];
|
|
45827
46360
|
if (opts["planId.equals"] !== void 0)
|
|
45828
46361
|
args.plan_id__equals = opts["planId.equals"];
|
|
45829
46362
|
if (opts["planId.contains"] !== void 0)
|
|
@@ -45832,14 +46365,14 @@ Examples:
|
|
|
45832
46365
|
args.plan_id__startsWith = opts["planId.startsWith"];
|
|
45833
46366
|
if (opts["planId.endWith"] !== void 0)
|
|
45834
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"];
|
|
45835
46372
|
if (opts.originalQuoteId !== void 0)
|
|
45836
46373
|
args.original_quote_id = opts.originalQuoteId;
|
|
45837
46374
|
if (opts["originalQuoteId.not"] !== void 0)
|
|
45838
46375
|
args.original_quote_id__not = opts["originalQuoteId.not"];
|
|
45839
|
-
if (opts["originalQuoteId.isNull"] !== void 0)
|
|
45840
|
-
args.original_quote_id__isNull = opts["originalQuoteId.isNull"];
|
|
45841
|
-
if (opts["originalQuoteId.isNotNull"] !== void 0)
|
|
45842
|
-
args.original_quote_id__isNotNull = opts["originalQuoteId.isNotNull"];
|
|
45843
46376
|
if (opts["originalQuoteId.equals"] !== void 0)
|
|
45844
46377
|
args.original_quote_id__equals = opts["originalQuoteId.equals"];
|
|
45845
46378
|
if (opts["originalQuoteId.contains"] !== void 0)
|
|
@@ -45848,14 +46381,14 @@ Examples:
|
|
|
45848
46381
|
args.original_quote_id__startsWith = opts["originalQuoteId.startsWith"];
|
|
45849
46382
|
if (opts["originalQuoteId.endWith"] !== void 0)
|
|
45850
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"];
|
|
45851
46388
|
if (opts.customerId !== void 0)
|
|
45852
46389
|
args.customer_id = opts.customerId;
|
|
45853
46390
|
if (opts["customerId.not"] !== void 0)
|
|
45854
46391
|
args.customer_id__not = opts["customerId.not"];
|
|
45855
|
-
if (opts["customerId.isNull"] !== void 0)
|
|
45856
|
-
args.customer_id__isNull = opts["customerId.isNull"];
|
|
45857
|
-
if (opts["customerId.isNotNull"] !== void 0)
|
|
45858
|
-
args.customer_id__isNotNull = opts["customerId.isNotNull"];
|
|
45859
46392
|
if (opts["customerId.equals"] !== void 0)
|
|
45860
46393
|
args.customer_id__equals = opts["customerId.equals"];
|
|
45861
46394
|
if (opts["customerId.contains"] !== void 0)
|
|
@@ -45864,16 +46397,16 @@ Examples:
|
|
|
45864
46397
|
args.customer_id__startsWith = opts["customerId.startsWith"];
|
|
45865
46398
|
if (opts["customerId.endWith"] !== void 0)
|
|
45866
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"];
|
|
45867
46404
|
if (opts.invoicingEntityId !== void 0)
|
|
45868
46405
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
45869
46406
|
if (opts.purchaseOrder !== void 0)
|
|
45870
46407
|
args.purchase_order = opts.purchaseOrder;
|
|
45871
46408
|
if (opts["purchaseOrder.not"] !== void 0)
|
|
45872
46409
|
args.purchase_order__not = opts["purchaseOrder.not"];
|
|
45873
|
-
if (opts["purchaseOrder.isNull"] !== void 0)
|
|
45874
|
-
args.purchase_order__isNull = opts["purchaseOrder.isNull"];
|
|
45875
|
-
if (opts["purchaseOrder.isNotNull"] !== void 0)
|
|
45876
|
-
args.purchase_order__isNotNull = opts["purchaseOrder.isNotNull"];
|
|
45877
46410
|
if (opts["purchaseOrder.equals"] !== void 0)
|
|
45878
46411
|
args.purchase_order__equals = opts["purchaseOrder.equals"];
|
|
45879
46412
|
if (opts["purchaseOrder.contains"] !== void 0)
|
|
@@ -45882,6 +46415,10 @@ Examples:
|
|
|
45882
46415
|
args.purchase_order__startsWith = opts["purchaseOrder.startsWith"];
|
|
45883
46416
|
if (opts["purchaseOrder.endWith"] !== void 0)
|
|
45884
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"];
|
|
45885
46422
|
if (opts.customProperties !== void 0)
|
|
45886
46423
|
args.custom_properties = opts.customProperties;
|
|
45887
46424
|
if (opts.invoiceDrafts !== void 0)
|
|
@@ -45892,10 +46429,6 @@ Examples:
|
|
|
45892
46429
|
args.updated_at = opts.updatedAt;
|
|
45893
46430
|
if (opts["updatedAt.not"] !== void 0)
|
|
45894
46431
|
args.updated_at__not = opts["updatedAt.not"];
|
|
45895
|
-
if (opts["updatedAt.isNull"] !== void 0)
|
|
45896
|
-
args.updated_at__isNull = opts["updatedAt.isNull"];
|
|
45897
|
-
if (opts["updatedAt.isNotNull"] !== void 0)
|
|
45898
|
-
args.updated_at__isNotNull = opts["updatedAt.isNotNull"];
|
|
45899
46432
|
if (opts["updatedAt.equals"] !== void 0)
|
|
45900
46433
|
args.updated_at__equals = opts["updatedAt.equals"];
|
|
45901
46434
|
if (opts["updatedAt.lt"] !== void 0)
|
|
@@ -45906,6 +46439,34 @@ Examples:
|
|
|
45906
46439
|
args.updated_at__gt = opts["updatedAt.gt"];
|
|
45907
46440
|
if (opts["updatedAt.gte"] !== void 0)
|
|
45908
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;
|
|
45909
46470
|
if (opts.take !== void 0)
|
|
45910
46471
|
args.take = Number(opts.take);
|
|
45911
46472
|
if (opts.skip !== void 0)
|
|
@@ -45923,57 +46484,67 @@ Examples:
|
|
|
45923
46484
|
"status__in",
|
|
45924
46485
|
"currency",
|
|
45925
46486
|
"currency__not",
|
|
45926
|
-
"currency__isNull",
|
|
45927
|
-
"currency__isNotNull",
|
|
45928
46487
|
"currency__equals",
|
|
45929
46488
|
"currency__contains",
|
|
45930
46489
|
"currency__startsWith",
|
|
45931
46490
|
"currency__endWith",
|
|
45932
46491
|
"plan_id",
|
|
45933
46492
|
"plan_id__not",
|
|
45934
|
-
"plan_id__isNull",
|
|
45935
|
-
"plan_id__isNotNull",
|
|
45936
46493
|
"plan_id__equals",
|
|
45937
46494
|
"plan_id__contains",
|
|
45938
46495
|
"plan_id__startsWith",
|
|
45939
46496
|
"plan_id__endWith",
|
|
46497
|
+
"plan_id__isNull",
|
|
46498
|
+
"plan_id__isNotNull",
|
|
45940
46499
|
"original_quote_id",
|
|
45941
46500
|
"original_quote_id__not",
|
|
45942
|
-
"original_quote_id__isNull",
|
|
45943
|
-
"original_quote_id__isNotNull",
|
|
45944
46501
|
"original_quote_id__equals",
|
|
45945
46502
|
"original_quote_id__contains",
|
|
45946
46503
|
"original_quote_id__startsWith",
|
|
45947
46504
|
"original_quote_id__endWith",
|
|
46505
|
+
"original_quote_id__isNull",
|
|
46506
|
+
"original_quote_id__isNotNull",
|
|
45948
46507
|
"customer_id",
|
|
45949
46508
|
"customer_id__not",
|
|
45950
|
-
"customer_id__isNull",
|
|
45951
|
-
"customer_id__isNotNull",
|
|
45952
46509
|
"customer_id__equals",
|
|
45953
46510
|
"customer_id__contains",
|
|
45954
46511
|
"customer_id__startsWith",
|
|
45955
46512
|
"customer_id__endWith",
|
|
46513
|
+
"customer_id__isNull",
|
|
46514
|
+
"customer_id__isNotNull",
|
|
45956
46515
|
"invoicing_entity_id",
|
|
45957
46516
|
"purchase_order",
|
|
45958
46517
|
"purchase_order__not",
|
|
45959
|
-
"purchase_order__isNull",
|
|
45960
|
-
"purchase_order__isNotNull",
|
|
45961
46518
|
"purchase_order__equals",
|
|
45962
46519
|
"purchase_order__contains",
|
|
45963
46520
|
"purchase_order__startsWith",
|
|
45964
46521
|
"purchase_order__endWith",
|
|
46522
|
+
"purchase_order__isNull",
|
|
46523
|
+
"purchase_order__isNotNull",
|
|
45965
46524
|
"custom_properties",
|
|
45966
46525
|
"invoice_drafts",
|
|
45967
46526
|
"integration_entity_id",
|
|
45968
46527
|
"updated_at",
|
|
45969
46528
|
"updated_at__not",
|
|
45970
|
-
"updated_at__isNull",
|
|
45971
|
-
"updated_at__isNotNull",
|
|
45972
46529
|
"updated_at__equals",
|
|
45973
46530
|
"updated_at__lt",
|
|
45974
46531
|
"updated_at__lte",
|
|
45975
46532
|
"updated_at__gt",
|
|
45976
|
-
"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"
|
|
45977
46548
|
]
|
|
45978
46549
|
});
|
|
45979
46550
|
});
|
|
@@ -46255,7 +46826,7 @@ Examples:
|
|
|
46255
46826
|
// build/commands/generated/subscriptions-transitions.js
|
|
46256
46827
|
function registerSubscriptions_TransitionsCommands(parent) {
|
|
46257
46828
|
const resource = parent.command("subscriptions-transitions").description("Manage subscriptions > transitions");
|
|
46258
|
-
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", `
|
|
46259
46830
|
Examples:
|
|
46260
46831
|
hyperline subscriptions-transitions list-subscription-transitions
|
|
46261
46832
|
hyperline subscriptions-transitions list-subscription-transitions --take <take> --status <status>`).action(async (opts) => {
|
|
@@ -46273,10 +46844,6 @@ Examples:
|
|
|
46273
46844
|
args.source_subscription_id = opts.sourceSubscriptionId;
|
|
46274
46845
|
if (opts["sourceSubscriptionId.not"] !== void 0)
|
|
46275
46846
|
args.source_subscription_id__not = opts["sourceSubscriptionId.not"];
|
|
46276
|
-
if (opts["sourceSubscriptionId.isNull"] !== void 0)
|
|
46277
|
-
args.source_subscription_id__isNull = opts["sourceSubscriptionId.isNull"];
|
|
46278
|
-
if (opts["sourceSubscriptionId.isNotNull"] !== void 0)
|
|
46279
|
-
args.source_subscription_id__isNotNull = opts["sourceSubscriptionId.isNotNull"];
|
|
46280
46847
|
if (opts["sourceSubscriptionId.equals"] !== void 0)
|
|
46281
46848
|
args.source_subscription_id__equals = opts["sourceSubscriptionId.equals"];
|
|
46282
46849
|
if (opts["sourceSubscriptionId.contains"] !== void 0)
|
|
@@ -46289,10 +46856,6 @@ Examples:
|
|
|
46289
46856
|
args.base_subscription_id = opts.baseSubscriptionId;
|
|
46290
46857
|
if (opts["baseSubscriptionId.not"] !== void 0)
|
|
46291
46858
|
args.base_subscription_id__not = opts["baseSubscriptionId.not"];
|
|
46292
|
-
if (opts["baseSubscriptionId.isNull"] !== void 0)
|
|
46293
|
-
args.base_subscription_id__isNull = opts["baseSubscriptionId.isNull"];
|
|
46294
|
-
if (opts["baseSubscriptionId.isNotNull"] !== void 0)
|
|
46295
|
-
args.base_subscription_id__isNotNull = opts["baseSubscriptionId.isNotNull"];
|
|
46296
46859
|
if (opts["baseSubscriptionId.equals"] !== void 0)
|
|
46297
46860
|
args.base_subscription_id__equals = opts["baseSubscriptionId.equals"];
|
|
46298
46861
|
if (opts["baseSubscriptionId.contains"] !== void 0)
|
|
@@ -46305,10 +46868,6 @@ Examples:
|
|
|
46305
46868
|
args.target_subscription_id = opts.targetSubscriptionId;
|
|
46306
46869
|
if (opts["targetSubscriptionId.not"] !== void 0)
|
|
46307
46870
|
args.target_subscription_id__not = opts["targetSubscriptionId.not"];
|
|
46308
|
-
if (opts["targetSubscriptionId.isNull"] !== void 0)
|
|
46309
|
-
args.target_subscription_id__isNull = opts["targetSubscriptionId.isNull"];
|
|
46310
|
-
if (opts["targetSubscriptionId.isNotNull"] !== void 0)
|
|
46311
|
-
args.target_subscription_id__isNotNull = opts["targetSubscriptionId.isNotNull"];
|
|
46312
46871
|
if (opts["targetSubscriptionId.equals"] !== void 0)
|
|
46313
46872
|
args.target_subscription_id__equals = opts["targetSubscriptionId.equals"];
|
|
46314
46873
|
if (opts["targetSubscriptionId.contains"] !== void 0)
|
|
@@ -46317,14 +46876,14 @@ Examples:
|
|
|
46317
46876
|
args.target_subscription_id__startsWith = opts["targetSubscriptionId.startsWith"];
|
|
46318
46877
|
if (opts["targetSubscriptionId.endWith"] !== void 0)
|
|
46319
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"];
|
|
46320
46883
|
if (opts.transitionDate !== void 0)
|
|
46321
46884
|
args.transition_date = opts.transitionDate;
|
|
46322
46885
|
if (opts["transitionDate.not"] !== void 0)
|
|
46323
46886
|
args.transition_date__not = opts["transitionDate.not"];
|
|
46324
|
-
if (opts["transitionDate.isNull"] !== void 0)
|
|
46325
|
-
args.transition_date__isNull = opts["transitionDate.isNull"];
|
|
46326
|
-
if (opts["transitionDate.isNotNull"] !== void 0)
|
|
46327
|
-
args.transition_date__isNotNull = opts["transitionDate.isNotNull"];
|
|
46328
46887
|
if (opts["transitionDate.equals"] !== void 0)
|
|
46329
46888
|
args.transition_date__equals = opts["transitionDate.equals"];
|
|
46330
46889
|
if (opts["transitionDate.lt"] !== void 0)
|
|
@@ -46335,14 +46894,14 @@ Examples:
|
|
|
46335
46894
|
args.transition_date__gt = opts["transitionDate.gt"];
|
|
46336
46895
|
if (opts["transitionDate.gte"] !== void 0)
|
|
46337
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"];
|
|
46338
46901
|
if (opts.transitionedAt !== void 0)
|
|
46339
46902
|
args.transitioned_at = opts.transitionedAt;
|
|
46340
46903
|
if (opts["transitionedAt.not"] !== void 0)
|
|
46341
46904
|
args.transitioned_at__not = opts["transitionedAt.not"];
|
|
46342
|
-
if (opts["transitionedAt.isNull"] !== void 0)
|
|
46343
|
-
args.transitioned_at__isNull = opts["transitionedAt.isNull"];
|
|
46344
|
-
if (opts["transitionedAt.isNotNull"] !== void 0)
|
|
46345
|
-
args.transitioned_at__isNotNull = opts["transitionedAt.isNotNull"];
|
|
46346
46905
|
if (opts["transitionedAt.equals"] !== void 0)
|
|
46347
46906
|
args.transitioned_at__equals = opts["transitionedAt.equals"];
|
|
46348
46907
|
if (opts["transitionedAt.lt"] !== void 0)
|
|
@@ -46353,6 +46912,10 @@ Examples:
|
|
|
46353
46912
|
args.transitioned_at__gt = opts["transitionedAt.gt"];
|
|
46354
46913
|
if (opts["transitionedAt.gte"] !== void 0)
|
|
46355
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"];
|
|
46356
46919
|
if (opts.take !== void 0)
|
|
46357
46920
|
args.take = Number(opts.take);
|
|
46358
46921
|
if (opts.skip !== void 0)
|
|
@@ -46368,46 +46931,42 @@ Examples:
|
|
|
46368
46931
|
"status__in",
|
|
46369
46932
|
"source_subscription_id",
|
|
46370
46933
|
"source_subscription_id__not",
|
|
46371
|
-
"source_subscription_id__isNull",
|
|
46372
|
-
"source_subscription_id__isNotNull",
|
|
46373
46934
|
"source_subscription_id__equals",
|
|
46374
46935
|
"source_subscription_id__contains",
|
|
46375
46936
|
"source_subscription_id__startsWith",
|
|
46376
46937
|
"source_subscription_id__endWith",
|
|
46377
46938
|
"base_subscription_id",
|
|
46378
46939
|
"base_subscription_id__not",
|
|
46379
|
-
"base_subscription_id__isNull",
|
|
46380
|
-
"base_subscription_id__isNotNull",
|
|
46381
46940
|
"base_subscription_id__equals",
|
|
46382
46941
|
"base_subscription_id__contains",
|
|
46383
46942
|
"base_subscription_id__startsWith",
|
|
46384
46943
|
"base_subscription_id__endWith",
|
|
46385
46944
|
"target_subscription_id",
|
|
46386
46945
|
"target_subscription_id__not",
|
|
46387
|
-
"target_subscription_id__isNull",
|
|
46388
|
-
"target_subscription_id__isNotNull",
|
|
46389
46946
|
"target_subscription_id__equals",
|
|
46390
46947
|
"target_subscription_id__contains",
|
|
46391
46948
|
"target_subscription_id__startsWith",
|
|
46392
46949
|
"target_subscription_id__endWith",
|
|
46950
|
+
"target_subscription_id__isNull",
|
|
46951
|
+
"target_subscription_id__isNotNull",
|
|
46393
46952
|
"transition_date",
|
|
46394
46953
|
"transition_date__not",
|
|
46395
|
-
"transition_date__isNull",
|
|
46396
|
-
"transition_date__isNotNull",
|
|
46397
46954
|
"transition_date__equals",
|
|
46398
46955
|
"transition_date__lt",
|
|
46399
46956
|
"transition_date__lte",
|
|
46400
46957
|
"transition_date__gt",
|
|
46401
46958
|
"transition_date__gte",
|
|
46959
|
+
"transition_date__isNull",
|
|
46960
|
+
"transition_date__isNotNull",
|
|
46402
46961
|
"transitioned_at",
|
|
46403
46962
|
"transitioned_at__not",
|
|
46404
|
-
"transitioned_at__isNull",
|
|
46405
|
-
"transitioned_at__isNotNull",
|
|
46406
46963
|
"transitioned_at__equals",
|
|
46407
46964
|
"transitioned_at__lt",
|
|
46408
46965
|
"transitioned_at__lte",
|
|
46409
46966
|
"transitioned_at__gt",
|
|
46410
|
-
"transitioned_at__gte"
|
|
46967
|
+
"transitioned_at__gte",
|
|
46968
|
+
"transitioned_at__isNull",
|
|
46969
|
+
"transitioned_at__isNotNull"
|
|
46411
46970
|
]
|
|
46412
46971
|
});
|
|
46413
46972
|
});
|
|
@@ -46485,7 +47044,7 @@ Examples:
|
|
|
46485
47044
|
// build/commands/generated/taxes.js
|
|
46486
47045
|
function registerTaxesCommands(parent) {
|
|
46487
47046
|
const resource = parent.command("taxes").description("Manage taxes");
|
|
46488
|
-
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", `
|
|
46489
47048
|
Examples:
|
|
46490
47049
|
hyperline taxes list-tax-rates
|
|
46491
47050
|
hyperline taxes list-tax-rates --take <take> --id <id>`).action(async (opts) => {
|
|
@@ -46499,10 +47058,6 @@ Examples:
|
|
|
46499
47058
|
args.id = opts.id;
|
|
46500
47059
|
if (opts["id.not"] !== void 0)
|
|
46501
47060
|
args.id__not = opts["id.not"];
|
|
46502
|
-
if (opts["id.isNull"] !== void 0)
|
|
46503
|
-
args.id__isNull = opts["id.isNull"];
|
|
46504
|
-
if (opts["id.isNotNull"] !== void 0)
|
|
46505
|
-
args.id__isNotNull = opts["id.isNotNull"];
|
|
46506
47061
|
if (opts["id.equals"] !== void 0)
|
|
46507
47062
|
args.id__equals = opts["id.equals"];
|
|
46508
47063
|
if (opts["id.contains"] !== void 0)
|
|
@@ -46515,10 +47070,6 @@ Examples:
|
|
|
46515
47070
|
args.name = opts.name;
|
|
46516
47071
|
if (opts["name.not"] !== void 0)
|
|
46517
47072
|
args.name__not = opts["name.not"];
|
|
46518
|
-
if (opts["name.isNull"] !== void 0)
|
|
46519
|
-
args.name__isNull = opts["name.isNull"];
|
|
46520
|
-
if (opts["name.isNotNull"] !== void 0)
|
|
46521
|
-
args.name__isNotNull = opts["name.isNotNull"];
|
|
46522
47073
|
if (opts["name.equals"] !== void 0)
|
|
46523
47074
|
args.name__equals = opts["name.equals"];
|
|
46524
47075
|
if (opts["name.contains"] !== void 0)
|
|
@@ -46527,14 +47078,14 @@ Examples:
|
|
|
46527
47078
|
args.name__startsWith = opts["name.startsWith"];
|
|
46528
47079
|
if (opts["name.endWith"] !== void 0)
|
|
46529
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"];
|
|
46530
47085
|
if (opts.description !== void 0)
|
|
46531
47086
|
args.description = opts.description;
|
|
46532
47087
|
if (opts["description.not"] !== void 0)
|
|
46533
47088
|
args.description__not = opts["description.not"];
|
|
46534
|
-
if (opts["description.isNull"] !== void 0)
|
|
46535
|
-
args.description__isNull = opts["description.isNull"];
|
|
46536
|
-
if (opts["description.isNotNull"] !== void 0)
|
|
46537
|
-
args.description__isNotNull = opts["description.isNotNull"];
|
|
46538
47089
|
if (opts["description.equals"] !== void 0)
|
|
46539
47090
|
args.description__equals = opts["description.equals"];
|
|
46540
47091
|
if (opts["description.contains"] !== void 0)
|
|
@@ -46543,14 +47094,14 @@ Examples:
|
|
|
46543
47094
|
args.description__startsWith = opts["description.startsWith"];
|
|
46544
47095
|
if (opts["description.endWith"] !== void 0)
|
|
46545
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"];
|
|
46546
47101
|
if (opts.invoicingEntityId !== void 0)
|
|
46547
47102
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
46548
47103
|
if (opts["invoicingEntityId.not"] !== void 0)
|
|
46549
47104
|
args.invoicing_entity_id__not = opts["invoicingEntityId.not"];
|
|
46550
|
-
if (opts["invoicingEntityId.isNull"] !== void 0)
|
|
46551
|
-
args.invoicing_entity_id__isNull = opts["invoicingEntityId.isNull"];
|
|
46552
|
-
if (opts["invoicingEntityId.isNotNull"] !== void 0)
|
|
46553
|
-
args.invoicing_entity_id__isNotNull = opts["invoicingEntityId.isNotNull"];
|
|
46554
47105
|
if (opts["invoicingEntityId.equals"] !== void 0)
|
|
46555
47106
|
args.invoicing_entity_id__equals = opts["invoicingEntityId.equals"];
|
|
46556
47107
|
if (opts["invoicingEntityId.contains"] !== void 0)
|
|
@@ -46572,32 +47123,28 @@ Examples:
|
|
|
46572
47123
|
"skip",
|
|
46573
47124
|
"id",
|
|
46574
47125
|
"id__not",
|
|
46575
|
-
"id__isNull",
|
|
46576
|
-
"id__isNotNull",
|
|
46577
47126
|
"id__equals",
|
|
46578
47127
|
"id__contains",
|
|
46579
47128
|
"id__startsWith",
|
|
46580
47129
|
"id__endWith",
|
|
46581
47130
|
"name",
|
|
46582
47131
|
"name__not",
|
|
46583
|
-
"name__isNull",
|
|
46584
|
-
"name__isNotNull",
|
|
46585
47132
|
"name__equals",
|
|
46586
47133
|
"name__contains",
|
|
46587
47134
|
"name__startsWith",
|
|
46588
47135
|
"name__endWith",
|
|
47136
|
+
"name__isNull",
|
|
47137
|
+
"name__isNotNull",
|
|
46589
47138
|
"description",
|
|
46590
47139
|
"description__not",
|
|
46591
|
-
"description__isNull",
|
|
46592
|
-
"description__isNotNull",
|
|
46593
47140
|
"description__equals",
|
|
46594
47141
|
"description__contains",
|
|
46595
47142
|
"description__startsWith",
|
|
46596
47143
|
"description__endWith",
|
|
47144
|
+
"description__isNull",
|
|
47145
|
+
"description__isNotNull",
|
|
46597
47146
|
"invoicing_entity_id",
|
|
46598
47147
|
"invoicing_entity_id__not",
|
|
46599
|
-
"invoicing_entity_id__isNull",
|
|
46600
|
-
"invoicing_entity_id__isNotNull",
|
|
46601
47148
|
"invoicing_entity_id__equals",
|
|
46602
47149
|
"invoicing_entity_id__contains",
|
|
46603
47150
|
"invoicing_entity_id__startsWith",
|
|
@@ -47176,11 +47723,14 @@ function registerAllCommands(program2) {
|
|
|
47176
47723
|
registerAi_BillingCommands(program2);
|
|
47177
47724
|
registerAi_CostsCommands(program2);
|
|
47178
47725
|
registerAnalyticsCommands(program2);
|
|
47726
|
+
registerApproval_WorkflowsCommands(program2);
|
|
47179
47727
|
registerBank_AccountsCommands(program2);
|
|
47728
|
+
registerCatalogCommands(program2);
|
|
47180
47729
|
registerCompaniesCommands(program2);
|
|
47181
47730
|
registerCouponsCommands(program2);
|
|
47182
47731
|
registerCoupons_Promotion_CodesCommands(program2);
|
|
47183
47732
|
registerCustomers_CreditsCommands(program2);
|
|
47733
|
+
registerCustomers_FeaturesCommands(program2);
|
|
47184
47734
|
registerCustomers_Payment_MethodsCommands(program2);
|
|
47185
47735
|
registerCustomers_AddressCommands(program2);
|
|
47186
47736
|
registerCustomers_ShippingCommands(program2);
|
|
@@ -47189,16 +47739,19 @@ function registerAllCommands(program2) {
|
|
|
47189
47739
|
registerOrganisationsCommands(program2);
|
|
47190
47740
|
registerCustomers_SegmentsCommands(program2);
|
|
47191
47741
|
registerExportsCommands(program2);
|
|
47742
|
+
registerFeaturesCommands(program2);
|
|
47192
47743
|
registerFilesCommands(program2);
|
|
47193
47744
|
registerInvoicesCommands(program2);
|
|
47194
47745
|
registerInvoices_TransactionsCommands(program2);
|
|
47195
47746
|
registerInvoicing_EntitiesCommands(program2);
|
|
47196
|
-
|
|
47747
|
+
registerAi_MonitoringCommands(program2);
|
|
47197
47748
|
registerPaymentsCommands(program2);
|
|
47749
|
+
registerProducts_FeaturesCommands(program2);
|
|
47198
47750
|
registerProductsCommands(program2);
|
|
47199
47751
|
registerPrice_ConfigurationsCommands(program2);
|
|
47200
47752
|
registerQuotesCommands(program2);
|
|
47201
47753
|
registerQuotes_TemplatesCommands(program2);
|
|
47754
|
+
registerQuotes_ApprovalsCommands(program2);
|
|
47202
47755
|
registerSubscriptions_TemplatesCommands(program2);
|
|
47203
47756
|
registerSubscriptionsCommands(program2);
|
|
47204
47757
|
registerSubscriptions_TransitionsCommands(program2);
|
|
@@ -63218,6 +63771,7 @@ var de = {
|
|
|
63218
63771
|
"accounting.revrec.discountDebitLineDescription": "Abgegrenzten Rabatt reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
63219
63772
|
"accounting.revrec.entryDescription": "Umsatzrealisierung f\xFCr Zeitplan {{scheduleId}}, Zeitraum {{periodStart}} - {{periodEnd}}",
|
|
63220
63773
|
"accounting.standaloneCreditNotePosted.entryDescription": "Gutschrift {{creditNoteId}}",
|
|
63774
|
+
"accounting.transactionChargedBack.entryDescription": "R\xFCckbuchung f\xFCr Rechnung {{invoiceId}}",
|
|
63221
63775
|
"accounting.transactionRefunded.entryDescription": "R\xFCckerstattung f\xFCr Rechnung {{invoiceId}}",
|
|
63222
63776
|
"accounting.transactionSettled.entryDescription": "Zahlungsabwicklung f\xFCr Rechnung {{invoiceId}}",
|
|
63223
63777
|
"creditNotes.refundChargeName": "R\xFCckerstattung f\xFCr die Rechnung",
|
|
@@ -63226,6 +63780,8 @@ var de = {
|
|
|
63226
63780
|
"einvoicing.paymentFromWallet": "Zahlung aus Guthaben",
|
|
63227
63781
|
"einvoicing.paymentProcessed": "Zahlung verarbeitet",
|
|
63228
63782
|
"einvoicing.paymentReceived": "Zahlung erhalten",
|
|
63783
|
+
"invoices.minimumFee.adjustmentName": "Anpassung der Mindestgeb\xFChr",
|
|
63784
|
+
"invoices.minimumFee.name": "Mindestgeb\xFChr",
|
|
63229
63785
|
"invoices.outstandingProduct.description": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{date}}",
|
|
63230
63786
|
"invoices.outstandingProduct.descriptionPeriod": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{periodStart}} bis {{periodEnd}}",
|
|
63231
63787
|
"invoices.outstandingProduct.name": "Offener Saldo",
|
|
@@ -63251,7 +63807,25 @@ var de = {
|
|
|
63251
63807
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Diese Position wurde f\xFCr den anteiligen Zeitraum in Rechnung gestellt",
|
|
63252
63808
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Betrag von {{amount}} f\xFCr den anteiligen Zeitraum nicht in Rechnung gestellt",
|
|
63253
63809
|
"subscriptions.updates.updatePrices": "Preise f\xFCr {{productName}} aktualisieren",
|
|
63254
|
-
"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"
|
|
63255
63829
|
};
|
|
63256
63830
|
|
|
63257
63831
|
// ../hyperline-i18n/build/locales/en.js
|
|
@@ -63259,6 +63833,8 @@ var en = {
|
|
|
63259
63833
|
"creditNotes.refundChargeName": "Refund for invoice",
|
|
63260
63834
|
"credits.bundleOf": "{{productName}} - Pack of {{creditCount}} credits",
|
|
63261
63835
|
"credits.unitsOf": "{{productName}} - {{creditCount}} credits",
|
|
63836
|
+
"invoices.minimumFee.adjustmentName": "Minimum fee adjustment",
|
|
63837
|
+
"invoices.minimumFee.name": "Minimum fee",
|
|
63262
63838
|
"invoices.outstandingProduct.description": "Unpaid amount from the invoice{{invoiceNumber}} emitted on {{date}}",
|
|
63263
63839
|
"invoices.outstandingProduct.descriptionPeriod": "Unpaid amount from the invoice{{invoiceNumber}} from {{periodStart}} to {{periodEnd}}",
|
|
63264
63840
|
"invoices.outstandingProduct.name": "Outstanding balance",
|
|
@@ -63288,6 +63864,7 @@ var en = {
|
|
|
63288
63864
|
"accounting.invoicePosted.entryDescription": "Posting entry for Invoice {{invoiceId}} issued",
|
|
63289
63865
|
"accounting.transactionSettled.entryDescription": "Payment settlement for Invoice {{invoiceId}}",
|
|
63290
63866
|
"accounting.transactionRefunded.entryDescription": "Refund for Invoice {{invoiceId}}",
|
|
63867
|
+
"accounting.transactionChargedBack.entryDescription": "Chargeback for Invoice {{invoiceId}}",
|
|
63291
63868
|
"accounting.creditNotePosted.entryDescription": "Credit note {{creditNoteId}} for Invoice {{invoiceId}}",
|
|
63292
63869
|
"accounting.standaloneCreditNotePosted.entryDescription": "Credit note {{creditNoteId}}",
|
|
63293
63870
|
"accounting.revrec.entryDescription": "Revenue recognition for schedule {{scheduleId}}, period {{periodStart}} - {{periodEnd}}",
|
|
@@ -63298,7 +63875,25 @@ var en = {
|
|
|
63298
63875
|
"accounting.revrec.closedPeriodFallbackNote": " (posted to next open period \u2014 target accounting period closed; original date {{originalDate}})",
|
|
63299
63876
|
"einvoicing.paymentProcessed": "Payment processed",
|
|
63300
63877
|
"einvoicing.paymentReceived": "Payment received",
|
|
63301
|
-
"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"
|
|
63302
63897
|
};
|
|
63303
63898
|
|
|
63304
63899
|
// ../hyperline-i18n/build/locales/es.js
|
|
@@ -63312,6 +63907,7 @@ var es = {
|
|
|
63312
63907
|
"accounting.revrec.discountDebitLineDescription": "Disminuci\xF3n de descuento diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
63313
63908
|
"accounting.revrec.entryDescription": "Reconocimiento de ingresos para el cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
63314
63909
|
"accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
|
|
63910
|
+
"accounting.transactionChargedBack.entryDescription": "Contracargo de la factura {{invoiceId}}",
|
|
63315
63911
|
"accounting.transactionRefunded.entryDescription": "Reembolso de la factura {{invoiceId}}",
|
|
63316
63912
|
"accounting.transactionSettled.entryDescription": "Liquidaci\xF3n de pago para la factura {{invoiceId}}",
|
|
63317
63913
|
"creditNotes.refundChargeName": "Reembolso por factura",
|
|
@@ -63320,6 +63916,8 @@ var es = {
|
|
|
63320
63916
|
"einvoicing.paymentFromWallet": "Pago desde el monedero",
|
|
63321
63917
|
"einvoicing.paymentProcessed": "Pago procesado",
|
|
63322
63918
|
"einvoicing.paymentReceived": "Pago recibido",
|
|
63919
|
+
"invoices.minimumFee.adjustmentName": "Ajuste del cargo m\xEDnimo",
|
|
63920
|
+
"invoices.minimumFee.name": "Cargo m\xEDnimo",
|
|
63323
63921
|
"invoices.outstandingProduct.description": "Monto pendiente de la factura{{invoiceNumber}} emitida el {{date}}",
|
|
63324
63922
|
"invoices.outstandingProduct.descriptionPeriod": "Monto pendiente de la factura{{invoiceNumber}} del {{periodStart}} al {{periodEnd}}",
|
|
63325
63923
|
"invoices.outstandingProduct.name": "Saldo pendiente",
|
|
@@ -63345,7 +63943,25 @@ var es = {
|
|
|
63345
63943
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Esta l\xEDnea ha sido facturada para el per\xEDodo prorrateado",
|
|
63346
63944
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Importe de {{amount}} no facturado para el per\xEDodo prorrateado",
|
|
63347
63945
|
"subscriptions.updates.updatePrices": "Actualizar precios para {{productName}}",
|
|
63348
|
-
"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"
|
|
63349
63965
|
};
|
|
63350
63966
|
|
|
63351
63967
|
// ../hyperline-i18n/build/locales/fr.js
|
|
@@ -63359,6 +63975,7 @@ var fr = {
|
|
|
63359
63975
|
"accounting.revrec.discountDebitLineDescription": "Diminution des remises diff\xE9r\xE9es \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
63360
63976
|
"accounting.revrec.entryDescription": "Reconnaissance du chiffre d'affaires pour l'\xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodStart}} - {{periodEnd}}",
|
|
63361
63977
|
"accounting.standaloneCreditNotePosted.entryDescription": "Avoir {{creditNoteId}}",
|
|
63978
|
+
"accounting.transactionChargedBack.entryDescription": "R\xE9trofacturation de la facture {{invoiceId}}",
|
|
63362
63979
|
"accounting.transactionRefunded.entryDescription": "Remboursement de la facture {{invoiceId}}",
|
|
63363
63980
|
"accounting.transactionSettled.entryDescription": "R\xE8glement de la facture {{invoiceId}}",
|
|
63364
63981
|
"creditNotes.refundChargeName": "Remboursement pour facture",
|
|
@@ -63367,6 +63984,8 @@ var fr = {
|
|
|
63367
63984
|
"einvoicing.paymentFromWallet": "Paiement depuis le portefeuille",
|
|
63368
63985
|
"einvoicing.paymentProcessed": "Paiement effectu\xE9",
|
|
63369
63986
|
"einvoicing.paymentReceived": "Paiement re\xE7u",
|
|
63987
|
+
"invoices.minimumFee.adjustmentName": "Ajustement des frais minimums",
|
|
63988
|
+
"invoices.minimumFee.name": "Frais minimums",
|
|
63370
63989
|
"invoices.outstandingProduct.description": "Montant impay\xE9 de la facture{{invoiceNumber}} \xE9mise le {{date}}",
|
|
63371
63990
|
"invoices.outstandingProduct.descriptionPeriod": "Montant impay\xE9 de la facture{{invoiceNumber}} du {{periodStart}} au {{periodEnd}}",
|
|
63372
63991
|
"invoices.outstandingProduct.name": "Solde impay\xE9",
|
|
@@ -63392,7 +64011,25 @@ var fr = {
|
|
|
63392
64011
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Cette ligne a \xE9t\xE9 factur\xE9e pour la p\xE9riode proratis\xE9e",
|
|
63393
64012
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Montant de {{amount}} non factur\xE9 pour la p\xE9riode proratis\xE9e",
|
|
63394
64013
|
"subscriptions.updates.updatePrices": "Mise \xE0 jour des prix pour {{productName}}",
|
|
63395
|
-
"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"
|
|
63396
64033
|
};
|
|
63397
64034
|
|
|
63398
64035
|
// ../hyperline-i18n/build/locales/it.js
|
|
@@ -63406,6 +64043,7 @@ var it = {
|
|
|
63406
64043
|
"accounting.revrec.discountDebitLineDescription": "Diminuzione dello sconto differito \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
63407
64044
|
"accounting.revrec.entryDescription": "Riconoscimento dei ricavi per il programma {{scheduleId}}, periodo {{periodStart}} - {{periodEnd}}",
|
|
63408
64045
|
"accounting.standaloneCreditNotePosted.entryDescription": "Nota di credito {{creditNoteId}}",
|
|
64046
|
+
"accounting.transactionChargedBack.entryDescription": "Riaddebito per la fattura {{invoiceId}}",
|
|
63409
64047
|
"accounting.transactionRefunded.entryDescription": "Rimborso per la fattura {{invoiceId}}",
|
|
63410
64048
|
"accounting.transactionSettled.entryDescription": "Regolamento pagamento per la fattura {{invoiceId}}",
|
|
63411
64049
|
"creditNotes.refundChargeName": "Rimborso per fattura",
|
|
@@ -63414,6 +64052,8 @@ var it = {
|
|
|
63414
64052
|
"einvoicing.paymentFromWallet": "Pagamento dal portafoglio",
|
|
63415
64053
|
"einvoicing.paymentProcessed": "Pagamento elaborato",
|
|
63416
64054
|
"einvoicing.paymentReceived": "Pagamento ricevuto",
|
|
64055
|
+
"invoices.minimumFee.adjustmentName": "Adeguamento all\u2019importo minimo",
|
|
64056
|
+
"invoices.minimumFee.name": "Importo minimo",
|
|
63417
64057
|
"invoices.outstandingProduct.description": "Importo insoluto della fattura{{invoiceNumber}} emessa il {{date}}",
|
|
63418
64058
|
"invoices.outstandingProduct.descriptionPeriod": "Importo insoluto della fattura{{invoiceNumber}} dal {{periodStart}} al {{periodEnd}}",
|
|
63419
64059
|
"invoices.outstandingProduct.name": "Saldo insoluto",
|
|
@@ -63439,7 +64079,25 @@ var it = {
|
|
|
63439
64079
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Questa voce \xE8 stata fatturata per il periodo proporzionato",
|
|
63440
64080
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Importo di {{amount}} non fatturato per il periodo proporzionato",
|
|
63441
64081
|
"subscriptions.updates.updatePrices": "Aggiorna prezzi per {{productName}}",
|
|
63442
|
-
"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"
|
|
63443
64101
|
};
|
|
63444
64102
|
|
|
63445
64103
|
// ../hyperline-i18n/build/locales/lt.js
|
|
@@ -63453,6 +64111,7 @@ var lt = {
|
|
|
63453
64111
|
"accounting.revrec.discountDebitLineDescription": "Atid\u0117tosios nuolaidos suma\u017Einimas \u2013 grafikas {{scheduleId}}, laikotarpis {{periodDate}}",
|
|
63454
64112
|
"accounting.revrec.entryDescription": "Pajam\u0173 pripa\u017Einimas pagal grafik\u0105 {{scheduleId}}, laikotarpis {{periodStart}}\u2013{{periodEnd}}",
|
|
63455
64113
|
"accounting.standaloneCreditNotePosted.entryDescription": "Kreditin\u0117 s\u0105skaita {{creditNoteId}}",
|
|
64114
|
+
"accounting.transactionChargedBack.entryDescription": "S\u0105skaitos fakt\u016Bros {{invoiceId}} u\u017Egin\u010Dyto mok\u0117jimo gr\u0105\u017Einimas",
|
|
63456
64115
|
"accounting.transactionRefunded.entryDescription": "S\u0105skaitos fakt\u016Bros {{invoiceId}} gr\u0105\u017Einimas",
|
|
63457
64116
|
"accounting.transactionSettled.entryDescription": "S\u0105skaitos fakt\u016Bros {{invoiceId}} mok\u0117jimo sudengimas",
|
|
63458
64117
|
"creditNotes.refundChargeName": "S\u0105skaitos fakt\u016Bros gr\u0105\u017Einimas",
|
|
@@ -63461,6 +64120,8 @@ var lt = {
|
|
|
63461
64120
|
"einvoicing.paymentFromWallet": "Mok\u0117jimas i\u0161 pinigin\u0117s",
|
|
63462
64121
|
"einvoicing.paymentProcessed": "Mok\u0117jimas apdorotas",
|
|
63463
64122
|
"einvoicing.paymentReceived": "Mok\u0117jimas gautas",
|
|
64123
|
+
"invoices.minimumFee.adjustmentName": "Minimalaus mokes\u010Dio koregavimas",
|
|
64124
|
+
"invoices.minimumFee.name": "Minimalus mokestis",
|
|
63464
64125
|
"invoices.outstandingProduct.description": "Neapmok\u0117ta {{date}} i\u0161ra\u0161ytos s\u0105skaitos fakt\u016Bros{{invoiceNumber}} suma",
|
|
63465
64126
|
"invoices.outstandingProduct.descriptionPeriod": "Neapmok\u0117ta s\u0105skaitos fakt\u016Bros{{invoiceNumber}} suma u\u017E laikotarp\u012F nuo {{periodStart}} iki {{periodEnd}}",
|
|
63466
64127
|
"invoices.outstandingProduct.name": "Neapmok\u0117tas likutis",
|
|
@@ -63486,7 +64147,25 @@ var lt = {
|
|
|
63486
64147
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "U\u017E \u0161i\u0105 eilut\u0119 proporcingam laikotarpiui s\u0105skaita fakt\u016Bra i\u0161ra\u0161yta",
|
|
63487
64148
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Proporcingam laikotarpiui nei\u0161ra\u0161yta {{amount}} suma",
|
|
63488
64149
|
"subscriptions.updates.updatePrices": "Atnaujinti {{productName}} kainas",
|
|
63489
|
-
"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"
|
|
63490
64169
|
};
|
|
63491
64170
|
|
|
63492
64171
|
// ../hyperline-i18n/build/locales/nl.js
|
|
@@ -63500,6 +64179,7 @@ var nl = {
|
|
|
63500
64179
|
"accounting.revrec.discountDebitLineDescription": "Uitgestelde korting verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
63501
64180
|
"accounting.revrec.entryDescription": "Omzeterkenning voor schema {{scheduleId}}, periode {{periodStart}} - {{periodEnd}}",
|
|
63502
64181
|
"accounting.standaloneCreditNotePosted.entryDescription": "Creditnota {{creditNoteId}}",
|
|
64182
|
+
"accounting.transactionChargedBack.entryDescription": "Terugboeking voor factuur {{invoiceId}}",
|
|
63503
64183
|
"accounting.transactionRefunded.entryDescription": "Terugbetaling voor factuur {{invoiceId}}",
|
|
63504
64184
|
"accounting.transactionSettled.entryDescription": "Betalingsafwikkeling voor factuur {{invoiceId}}",
|
|
63505
64185
|
"creditNotes.refundChargeName": "Terugbetaling voor factuur",
|
|
@@ -63508,6 +64188,8 @@ var nl = {
|
|
|
63508
64188
|
"einvoicing.paymentFromWallet": "Betaling uit tegoed",
|
|
63509
64189
|
"einvoicing.paymentProcessed": "Betaling verwerkt",
|
|
63510
64190
|
"einvoicing.paymentReceived": "Betaling ontvangen",
|
|
64191
|
+
"invoices.minimumFee.adjustmentName": "Aanpassing minimumbedrag",
|
|
64192
|
+
"invoices.minimumFee.name": "Minimumbedrag",
|
|
63511
64193
|
"invoices.outstandingProduct.description": "Onbetaald bedrag van de factuur{{invoiceNumber}} uitgegeven op {{date}}",
|
|
63512
64194
|
"invoices.outstandingProduct.descriptionPeriod": "Onbetaald bedrag van de factuur{{invoiceNumber}} van {{periodStart}} tot {{periodEnd}}",
|
|
63513
64195
|
"invoices.outstandingProduct.name": "Openstaand saldo",
|
|
@@ -63533,7 +64215,25 @@ var nl = {
|
|
|
63533
64215
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Deze regel is gefactureerd voor de geproportioneerde periode",
|
|
63534
64216
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Bedrag van {{amount}} niet gefactureerd voor de geproportioneerde periode",
|
|
63535
64217
|
"subscriptions.updates.updatePrices": "Prijzen bijwerken voor {{productName}}",
|
|
63536
|
-
"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"
|
|
63537
64237
|
};
|
|
63538
64238
|
|
|
63539
64239
|
// ../hyperline-i18n/build/locales/pl.js
|
|
@@ -63547,6 +64247,7 @@ var pl = {
|
|
|
63547
64247
|
"accounting.revrec.discountDebitLineDescription": "Zmniejszenie odroczonego rabatu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
63548
64248
|
"accounting.revrec.entryDescription": "Rozpoznanie przychodu dla harmonogramu {{scheduleId}}, okres {{periodStart}} - {{periodEnd}}",
|
|
63549
64249
|
"accounting.standaloneCreditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}}",
|
|
64250
|
+
"accounting.transactionChargedBack.entryDescription": "Obci\u0105\u017Cenie zwrotne za faktur\u0119 {{invoiceId}}",
|
|
63550
64251
|
"accounting.transactionRefunded.entryDescription": "Zwrot za faktur\u0119 {{invoiceId}}",
|
|
63551
64252
|
"accounting.transactionSettled.entryDescription": "Rozliczenie p\u0142atno\u015Bci dla faktury {{invoiceId}}",
|
|
63552
64253
|
"creditNotes.refundChargeName": "Zwrot za faktur\u0119",
|
|
@@ -63555,6 +64256,8 @@ var pl = {
|
|
|
63555
64256
|
"einvoicing.paymentFromWallet": "P\u0142atno\u015B\u0107 z portfela",
|
|
63556
64257
|
"einvoicing.paymentProcessed": "P\u0142atno\u015B\u0107 przetworzona",
|
|
63557
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",
|
|
63558
64261
|
"invoices.outstandingProduct.description": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} wystawionej {{date}}",
|
|
63559
64262
|
"invoices.outstandingProduct.descriptionPeriod": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} od {{periodStart}} do {{periodEnd}}",
|
|
63560
64263
|
"invoices.outstandingProduct.name": "Niezap\u0142acone saldo",
|
|
@@ -63580,7 +64283,25 @@ var pl = {
|
|
|
63580
64283
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Ta pozycja zosta\u0142a zafakturowana za okres proporcjonalny",
|
|
63581
64284
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Kwota {{amount}} niefakturowana za okres proporcjonalny",
|
|
63582
64285
|
"subscriptions.updates.updatePrices": "Aktualizuj ceny dla {{productName}}",
|
|
63583
|
-
"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"
|
|
63584
64305
|
};
|
|
63585
64306
|
|
|
63586
64307
|
// ../hyperline-i18n/build/locales/pt.js
|
|
@@ -63594,6 +64315,7 @@ var pt = {
|
|
|
63594
64315
|
"accounting.revrec.discountDebitLineDescription": "Diminui\xE7\xE3o do desconto diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
63595
64316
|
"accounting.revrec.entryDescription": "Reconhecimento de receita para o cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
63596
64317
|
"accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
|
|
64318
|
+
"accounting.transactionChargedBack.entryDescription": "Estorno da fatura {{invoiceId}}",
|
|
63597
64319
|
"accounting.transactionRefunded.entryDescription": "Reembolso da fatura {{invoiceId}}",
|
|
63598
64320
|
"accounting.transactionSettled.entryDescription": "Liquida\xE7\xE3o de pagamento para a fatura {{invoiceId}}",
|
|
63599
64321
|
"creditNotes.refundChargeName": "Reembolso pela fatura",
|
|
@@ -63602,6 +64324,8 @@ var pt = {
|
|
|
63602
64324
|
"einvoicing.paymentFromWallet": "Pagamento da carteira",
|
|
63603
64325
|
"einvoicing.paymentProcessed": "Pagamento processado",
|
|
63604
64326
|
"einvoicing.paymentReceived": "Pagamento recebido",
|
|
64327
|
+
"invoices.minimumFee.adjustmentName": "Ajuste do valor m\xEDnimo",
|
|
64328
|
+
"invoices.minimumFee.name": "Valor m\xEDnimo",
|
|
63605
64329
|
"invoices.outstandingProduct.description": "Valor em aberto da fatura{{invoiceNumber}} emitida em {{date}}",
|
|
63606
64330
|
"invoices.outstandingProduct.descriptionPeriod": "Valor em aberto da fatura{{invoiceNumber}} de {{periodStart}} a {{periodEnd}}",
|
|
63607
64331
|
"invoices.outstandingProduct.name": "Saldo em aberto",
|
|
@@ -63627,7 +64351,25 @@ var pt = {
|
|
|
63627
64351
|
"subscriptions.updates.updateCount.description.prorata.not_committed.invoiced": "Esta linha foi faturada para o per\xEDodo proporcional",
|
|
63628
64352
|
"subscriptions.updates.updateCount.description.prorata.not_committed.not_invoiced": "Valor de {{amount}} n\xE3o faturado para o per\xEDodo proporcional",
|
|
63629
64353
|
"subscriptions.updates.updatePrices": "Atualizar pre\xE7os para {{productName}}",
|
|
63630
|
-
"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"
|
|
63631
64373
|
};
|
|
63632
64374
|
|
|
63633
64375
|
// ../hyperline-i18n/build/language.js
|
|
@@ -63718,78 +64460,298 @@ function coerceBoolean() {
|
|
|
63718
64460
|
value === "true" ? true : false
|
|
63719
64461
|
));
|
|
63720
64462
|
}
|
|
63721
|
-
var types = {
|
|
63722
|
-
string: external_exports.coerce.string,
|
|
63723
|
-
number: external_exports.coerce.number,
|
|
63724
|
-
boolean: coerceBoolean,
|
|
63725
|
-
enum: external_exports.enum
|
|
63726
|
-
};
|
|
63727
|
-
function getConfig(schema, testValues) {
|
|
63728
|
-
const validator = external_exports.object(Object.fromEntries(Object.entries(schema).map(([key, zodType]) => {
|
|
63729
|
-
if (zodType instanceof ZodOptional) {
|
|
63730
|
-
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;
|
|
63731
64732
|
}
|
|
63732
|
-
return [key, external_exports.string()];
|
|
63733
|
-
})));
|
|
63734
|
-
const processEnv = process.env;
|
|
63735
|
-
const isTestMode = processEnv.NODE_ENV === "test";
|
|
63736
|
-
const envVariables = {
|
|
63737
|
-
...processEnv,
|
|
63738
|
-
...isTestMode && testValues ? Object.fromEntries(Object.entries(testValues).map(([key, value]) => [key, String(value)])) : {}
|
|
63739
|
-
};
|
|
63740
|
-
const packageName = envVariables.npm_package_name;
|
|
63741
|
-
const parseProcessEnvResult = validator.safeParse(envVariables);
|
|
63742
|
-
if (!parseProcessEnvResult.success) {
|
|
63743
|
-
const parsedStackTrace = stackTraceParser.parse(parseProcessEnvResult.error.stack ?? "");
|
|
63744
|
-
const getConfigCallLine = parsedStackTrace.find((line) => {
|
|
63745
|
-
return !line.file?.includes("hyperline-config") && (line.file?.includes("apps/") || line.file?.includes("core/") || line.file?.includes("packages/"));
|
|
63746
|
-
});
|
|
63747
|
-
const callerFile = getConfigCallLine?.file;
|
|
63748
|
-
console.error(`Invalid environment variables for service \`${packageName}\`: \`${callerFile}\``);
|
|
63749
|
-
console.error(parseProcessEnvResult.error.format());
|
|
63750
|
-
process.exit(1);
|
|
63751
64733
|
}
|
|
63752
|
-
|
|
63753
|
-
|
|
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;
|
|
63754
64752
|
}
|
|
63755
|
-
|
|
63756
|
-
// ../hyperline-monitoring/build/config.js
|
|
63757
|
-
var config2 = getConfig({
|
|
63758
|
-
// config
|
|
63759
|
-
APP_VERSION: types.string().optional(),
|
|
63760
|
-
// Deployment environment for log tagging, when it cannot be read off
|
|
63761
|
-
// NODE_ENV. Set only by the PDF render worker pools, which must run with
|
|
63762
|
-
// NODE_ENV="production" to get the production React build regardless of which
|
|
63763
|
-
// environment the pod is actually in (see core/invoicing/services/pdf/index.ts).
|
|
63764
|
-
// Unset everywhere else, so the NODE_ENV fallback keeps current behaviour.
|
|
63765
|
-
APP_ENV: types.string().optional(),
|
|
63766
|
-
DD_SERVICE: types.string().optional(),
|
|
63767
|
-
LOGGER_CONSOLE_ENABLED: types.boolean().optional(),
|
|
63768
|
-
LOGGER_STDOUT_ENABLED: types.boolean().optional(),
|
|
63769
|
-
NODE_ENV: types.enum(["local", "test", "staging", "sandbox", "production"]),
|
|
63770
|
-
EVENT_LOOP_MONITORING_ENABLED: types.boolean().optional(),
|
|
63771
|
-
MEMORY_MONITORING_ENABLED: types.boolean().optional(),
|
|
63772
|
-
MEMORY_MONITORING_INTERVAL_MS: types.number().optional()
|
|
63773
|
-
// secrets
|
|
63774
|
-
}, {
|
|
63775
|
-
APP_VERSION: void 0,
|
|
63776
|
-
APP_ENV: void 0,
|
|
63777
|
-
DD_SERVICE: void 0,
|
|
63778
|
-
LOGGER_CONSOLE_ENABLED: false,
|
|
63779
|
-
LOGGER_STDOUT_ENABLED: false,
|
|
63780
|
-
EVENT_LOOP_MONITORING_ENABLED: false,
|
|
63781
|
-
MEMORY_MONITORING_ENABLED: false,
|
|
63782
|
-
MEMORY_MONITORING_INTERVAL_MS: 3e4,
|
|
63783
|
-
NODE_ENV: "test"
|
|
63784
|
-
});
|
|
63785
|
-
|
|
63786
|
-
// ../hyperline-monitoring/build/logger/logger.js
|
|
63787
|
-
import * as util from "node:util";
|
|
63788
|
-
import prune2 from "json-prune";
|
|
63789
|
-
import * as winston from "winston";
|
|
63790
64753
|
|
|
63791
64754
|
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
63792
|
-
import prune from "json-prune";
|
|
63793
64755
|
var REDACTED_HEADER_KEY_PATTERN = /authorization|authenticate|cookie|secret|token|credential|signature|jwt|api[_-]?key|access[_-]?token|refresh[_-]?token|private[_-]?key/i;
|
|
63794
64756
|
function jsonFormat(info) {
|
|
63795
64757
|
const prunedInfo = JSON.parse(prune(info));
|
|
@@ -63850,14 +64812,106 @@ function transformPrune(info) {
|
|
|
63850
64812
|
});
|
|
63851
64813
|
return info;
|
|
63852
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"]);
|
|
63853
64819
|
function transformAxiosError(info) {
|
|
63854
|
-
|
|
63855
|
-
|
|
63856
|
-
|
|
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;
|
|
63857
64824
|
}
|
|
63858
|
-
|
|
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
|
+
}
|
|
63859
64838
|
return info;
|
|
63860
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
|
+
}
|
|
63861
64915
|
function formatAxiosError(error48) {
|
|
63862
64916
|
if (!isRecord(error48) || error48.name !== "AxiosError") {
|
|
63863
64917
|
return error48;
|
|
@@ -63870,9 +64924,9 @@ function formatAxiosError(error48) {
|
|
|
63870
64924
|
code: error48.code,
|
|
63871
64925
|
request: {
|
|
63872
64926
|
method: request?.method,
|
|
63873
|
-
url: request?.url,
|
|
64927
|
+
url: typeof request?.url === "string" ? redactLogUrl({ url: request.url }) : request?.url,
|
|
63874
64928
|
baseURL: request?.baseURL,
|
|
63875
|
-
params: request?.params,
|
|
64929
|
+
params: redactLogBody({ body: request?.params }),
|
|
63876
64930
|
headers: redactHeaders({ headers: request?.headers }),
|
|
63877
64931
|
"axios-retry": request?.["axios-retry"]
|
|
63878
64932
|
},
|
|
@@ -63880,7 +64934,7 @@ function formatAxiosError(error48) {
|
|
|
63880
64934
|
status: response?.status,
|
|
63881
64935
|
statusText: response?.statusText,
|
|
63882
64936
|
headers: redactHeaders({ headers: response?.headers }),
|
|
63883
|
-
data: response?.data
|
|
64937
|
+
data: redactLogBody({ body: response?.data })
|
|
63884
64938
|
}
|
|
63885
64939
|
};
|
|
63886
64940
|
}
|
|
@@ -63893,6 +64947,10 @@ function redactHeaders({ headers }) {
|
|
|
63893
64947
|
REDACTED_HEADER_KEY_PATTERN.test(headerKey) ? "<redacted>" : headerValue
|
|
63894
64948
|
]));
|
|
63895
64949
|
}
|
|
64950
|
+
function isPlainRecord(value) {
|
|
64951
|
+
const prototype = Object.getPrototypeOf(value);
|
|
64952
|
+
return prototype === Object.prototype || prototype === null;
|
|
64953
|
+
}
|
|
63896
64954
|
function isRecord(value) {
|
|
63897
64955
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
63898
64956
|
}
|
|
@@ -63922,7 +64980,7 @@ function logHttpResponse(logger2, response, responseTime, extra) {
|
|
|
63922
64980
|
const responseMetadata = {
|
|
63923
64981
|
statusCode,
|
|
63924
64982
|
responseTime,
|
|
63925
|
-
responseBody,
|
|
64983
|
+
responseBody: redactLogBody({ body: responseBody }),
|
|
63926
64984
|
// Redacted so secrets (authorization/cookie/token/…) never reach the logs
|
|
63927
64985
|
// while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
|
|
63928
64986
|
responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
|
|
@@ -63935,14 +64993,15 @@ function logHttpResponse(logger2, response, responseTime, extra) {
|
|
|
63935
64993
|
}
|
|
63936
64994
|
function transform2(request) {
|
|
63937
64995
|
const method = request.method.toUpperCase();
|
|
63938
|
-
const
|
|
64996
|
+
const originalUrl = redactLogUrl({ url: request.originalUrl });
|
|
64997
|
+
const message = `${method} ${originalUrl}`;
|
|
63939
64998
|
const metadata = {};
|
|
63940
64999
|
metadata.method = method;
|
|
63941
|
-
metadata.url = request.url;
|
|
63942
|
-
metadata.path = request.path;
|
|
65000
|
+
metadata.url = redactLogUrl({ url: request.url });
|
|
65001
|
+
metadata.path = redactLogUrl({ url: request.path });
|
|
63943
65002
|
metadata.hostname = request.hostname;
|
|
63944
|
-
metadata.originalUrl =
|
|
63945
|
-
metadata.requestBody =
|
|
65003
|
+
metadata.originalUrl = originalUrl;
|
|
65004
|
+
metadata.requestBody = redactLogBody({ body: request.body });
|
|
63946
65005
|
metadata.routePath = transformUrlIntoRoutePath(request);
|
|
63947
65006
|
metadata.apiKeyEnd = request.headers["authorization"]?.slice(-6);
|
|
63948
65007
|
return { message, metadata };
|
|
@@ -63989,7 +65048,16 @@ function buildLoggerFactory({ config: config4, context }) {
|
|
|
63989
65048
|
const internalLogger = winston.createLogger({
|
|
63990
65049
|
transports: transports2,
|
|
63991
65050
|
defaultMeta,
|
|
63992
|
-
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
|
+
),
|
|
63993
65061
|
exitOnError: false
|
|
63994
65062
|
});
|
|
63995
65063
|
function createLogger3({ serviceName }) {
|
|
@@ -66336,11 +67404,32 @@ import { deepEqual } from "fast-equals";
|
|
|
66336
67404
|
|
|
66337
67405
|
// ../hyperline-lib/build/utils/realignDatesToTimezone.js
|
|
66338
67406
|
var import_shared4 = __toESM(require_shared(), 1);
|
|
66339
|
-
var
|
|
67407
|
+
var MILLISECONDS_PER_HOUR = 60 * 60 * 1e3;
|
|
67408
|
+
var MILLISECONDS_PER_DAY = 24 * MILLISECONDS_PER_HOUR;
|
|
66340
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
|
+
]);
|
|
66341
67429
|
|
|
66342
67430
|
// ../hyperline-lib/build/utils/api/filterBuilder.js
|
|
66343
|
-
var
|
|
67431
|
+
var nullAuthorizedOperators = ["isNull", "isNotNull"];
|
|
67432
|
+
var baseAuthorizedOperators = ["not", ...nullAuthorizedOperators];
|
|
66344
67433
|
var booleanAuthorizedOperators = [
|
|
66345
67434
|
...baseAuthorizedOperators,
|
|
66346
67435
|
"equals"
|
|
@@ -66369,6 +67458,7 @@ var authorizedOperators = [
|
|
|
66369
67458
|
...arrayAuthorizedOperators,
|
|
66370
67459
|
...mapAuthorizedOperators
|
|
66371
67460
|
];
|
|
67461
|
+
var NullFilterValueSchema = BooleanSchema.or(external_exports.literal("")).optional();
|
|
66372
67462
|
|
|
66373
67463
|
// ../hyperline-lib/build/http/dto/state.js
|
|
66374
67464
|
var StateSchema = external_exports.enum(usStates).openapi({
|
|
@@ -66406,150 +67496,6 @@ var isAxiosError = axios.isAxiosError;
|
|
|
66406
67496
|
// ../hyperline-lib/build/httpClient/httpClient.js
|
|
66407
67497
|
import axios2 from "axios";
|
|
66408
67498
|
import axiosRetry, { isNetworkOrIdempotentRequestError, retryAfter } from "axios-retry";
|
|
66409
|
-
|
|
66410
|
-
// ../hyperline-lib/build/httpClient/logRedaction.js
|
|
66411
|
-
var REDACTED_KEY_NAMES = /* @__PURE__ */ new Set([
|
|
66412
|
-
"accesstoken",
|
|
66413
|
-
"apikey",
|
|
66414
|
-
"apitoken",
|
|
66415
|
-
"assertion",
|
|
66416
|
-
"authtoken",
|
|
66417
|
-
"clientassertion",
|
|
66418
|
-
"codeverifier",
|
|
66419
|
-
"credentials",
|
|
66420
|
-
"idtoken",
|
|
66421
|
-
"privatekey",
|
|
66422
|
-
"refreshtoken",
|
|
66423
|
-
"sessiontoken",
|
|
66424
|
-
"token"
|
|
66425
|
-
]);
|
|
66426
|
-
var REDACTED_KEY_SUFFIX_PATTERN = /(secret|password)$/;
|
|
66427
|
-
var REDACTED_KEY_CANDIDATE_PATTERN = /token|key|secret|password|assertion|verifier|credentials/i;
|
|
66428
|
-
var REDACTED_VALUE = "<redacted>";
|
|
66429
|
-
var MAX_REDACTION_DEPTH = 10;
|
|
66430
|
-
var MAX_PARSED_STRING_LENGTH = 16384;
|
|
66431
|
-
var MAX_VISITED_NODES = 1e3;
|
|
66432
|
-
var MAX_CONTAINER_ENTRIES = MAX_VISITED_NODES;
|
|
66433
|
-
function redactLogBody({ body }) {
|
|
66434
|
-
return redactValue({
|
|
66435
|
-
value: body,
|
|
66436
|
-
depth: MAX_REDACTION_DEPTH,
|
|
66437
|
-
budget: { remainingNodes: MAX_VISITED_NODES }
|
|
66438
|
-
});
|
|
66439
|
-
}
|
|
66440
|
-
function redactLogUrl({ url: url2 }) {
|
|
66441
|
-
const queryIndex = url2.indexOf("?");
|
|
66442
|
-
if (queryIndex === -1 || url2.length > MAX_PARSED_STRING_LENGTH) {
|
|
66443
|
-
return url2;
|
|
66444
|
-
}
|
|
66445
|
-
const redactedQuery = redactFormEncoded({ text: url2.slice(queryIndex + 1) });
|
|
66446
|
-
return redactedQuery === void 0 ? url2 : `${url2.slice(0, queryIndex)}?${redactedQuery}`;
|
|
66447
|
-
}
|
|
66448
|
-
function redactValue({ value, depth, budget }) {
|
|
66449
|
-
if (depth <= 0 || budget.remainingNodes <= 0) {
|
|
66450
|
-
return value;
|
|
66451
|
-
}
|
|
66452
|
-
budget.remainingNodes -= 1;
|
|
66453
|
-
if (typeof value === "string") {
|
|
66454
|
-
return redactString({ text: value, budget });
|
|
66455
|
-
}
|
|
66456
|
-
if (value instanceof URLSearchParams) {
|
|
66457
|
-
return redactFormEncoded({ text: value.toString() }) ?? value;
|
|
66458
|
-
}
|
|
66459
|
-
if (Array.isArray(value)) {
|
|
66460
|
-
return redactArray({ items: value, depth, budget });
|
|
66461
|
-
}
|
|
66462
|
-
if (isPlainObject2(value)) {
|
|
66463
|
-
return redactObject({ record: value, depth, budget });
|
|
66464
|
-
}
|
|
66465
|
-
return value;
|
|
66466
|
-
}
|
|
66467
|
-
function redactArray({ items, depth, budget }) {
|
|
66468
|
-
if (items.length > MAX_CONTAINER_ENTRIES) {
|
|
66469
|
-
return items;
|
|
66470
|
-
}
|
|
66471
|
-
let redactedItems;
|
|
66472
|
-
for (const [index, item] of items.entries()) {
|
|
66473
|
-
if (budget.remainingNodes <= 0) {
|
|
66474
|
-
break;
|
|
66475
|
-
}
|
|
66476
|
-
const redactedItem = redactValue({ value: item, depth: depth - 1, budget });
|
|
66477
|
-
if (redactedItem !== item) {
|
|
66478
|
-
redactedItems ??= [...items];
|
|
66479
|
-
redactedItems[index] = redactedItem;
|
|
66480
|
-
}
|
|
66481
|
-
}
|
|
66482
|
-
return redactedItems ?? items;
|
|
66483
|
-
}
|
|
66484
|
-
function redactObject({ record: record2, depth, budget }) {
|
|
66485
|
-
const redactedEntries = /* @__PURE__ */ new Map();
|
|
66486
|
-
let entryCount = 0;
|
|
66487
|
-
for (const key in record2) {
|
|
66488
|
-
if (!Object.hasOwn(record2, key)) {
|
|
66489
|
-
continue;
|
|
66490
|
-
}
|
|
66491
|
-
entryCount += 1;
|
|
66492
|
-
if (entryCount > MAX_CONTAINER_ENTRIES) {
|
|
66493
|
-
return record2;
|
|
66494
|
-
}
|
|
66495
|
-
if (budget.remainingNodes <= 0) {
|
|
66496
|
-
break;
|
|
66497
|
-
}
|
|
66498
|
-
const nestedValue = record2[key];
|
|
66499
|
-
const redactedNestedValue = isRedactedKey({ key }) && nestedValue != null ? REDACTED_VALUE : redactValue({ value: nestedValue, depth: depth - 1, budget });
|
|
66500
|
-
if (redactedNestedValue !== nestedValue) {
|
|
66501
|
-
redactedEntries.set(key, redactedNestedValue);
|
|
66502
|
-
}
|
|
66503
|
-
}
|
|
66504
|
-
return redactedEntries.size === 0 ? record2 : { ...record2, ...Object.fromEntries(redactedEntries) };
|
|
66505
|
-
}
|
|
66506
|
-
function redactString({ text, budget }) {
|
|
66507
|
-
if (text.length > MAX_PARSED_STRING_LENGTH) {
|
|
66508
|
-
return text;
|
|
66509
|
-
}
|
|
66510
|
-
const trimmedText = text.trim();
|
|
66511
|
-
if (trimmedText.startsWith("{") || trimmedText.startsWith("[")) {
|
|
66512
|
-
try {
|
|
66513
|
-
const parsedValue = JSON.parse(trimmedText);
|
|
66514
|
-
const redactedValue = redactValue({
|
|
66515
|
-
value: parsedValue,
|
|
66516
|
-
depth: MAX_REDACTION_DEPTH,
|
|
66517
|
-
budget
|
|
66518
|
-
});
|
|
66519
|
-
return redactedValue === parsedValue ? text : JSON.stringify(redactedValue);
|
|
66520
|
-
} catch {
|
|
66521
|
-
return text;
|
|
66522
|
-
}
|
|
66523
|
-
}
|
|
66524
|
-
return redactFormEncoded({ text }) ?? text;
|
|
66525
|
-
}
|
|
66526
|
-
function redactFormEncoded({ text }) {
|
|
66527
|
-
if (!text.includes("=") || !REDACTED_KEY_CANDIDATE_PATTERN.test(text)) {
|
|
66528
|
-
return void 0;
|
|
66529
|
-
}
|
|
66530
|
-
const params = new URLSearchParams(text);
|
|
66531
|
-
let hasRedactedParam = false;
|
|
66532
|
-
for (const key of new Set(params.keys())) {
|
|
66533
|
-
if (isRedactedKey({ key })) {
|
|
66534
|
-
params.set(key, REDACTED_VALUE);
|
|
66535
|
-
hasRedactedParam = true;
|
|
66536
|
-
}
|
|
66537
|
-
}
|
|
66538
|
-
return hasRedactedParam ? params.toString() : void 0;
|
|
66539
|
-
}
|
|
66540
|
-
function isRedactedKey({ key }) {
|
|
66541
|
-
const normalizedKey = key.toLowerCase().replace(/[_-]/g, "");
|
|
66542
|
-
return REDACTED_KEY_NAMES.has(normalizedKey) || REDACTED_KEY_SUFFIX_PATTERN.test(normalizedKey);
|
|
66543
|
-
}
|
|
66544
|
-
function isPlainObject2(value) {
|
|
66545
|
-
if (typeof value !== "object" || value === null) {
|
|
66546
|
-
return false;
|
|
66547
|
-
}
|
|
66548
|
-
const prototype = Object.getPrototypeOf(value);
|
|
66549
|
-
return prototype === Object.prototype || prototype === null;
|
|
66550
|
-
}
|
|
66551
|
-
|
|
66552
|
-
// ../hyperline-lib/build/httpClient/httpClient.js
|
|
66553
67499
|
import { AxiosError } from "axios";
|
|
66554
67500
|
var recommendedRetryConfig = {
|
|
66555
67501
|
retries: 3,
|
|
@@ -66617,22 +67563,23 @@ function isTooManyRequestsError(error48) {
|
|
|
66617
67563
|
return error48.response?.status === 429;
|
|
66618
67564
|
}
|
|
66619
67565
|
var toLogRequest = (config4) => {
|
|
66620
|
-
const url2 =
|
|
67566
|
+
const url2 = config4.url ?? "";
|
|
66621
67567
|
return {
|
|
66622
67568
|
method: config4.method ?? "",
|
|
66623
67569
|
url: url2,
|
|
66624
67570
|
path: url2,
|
|
66625
67571
|
hostname: config4.baseURL ?? "",
|
|
66626
67572
|
originalUrl: `${config4.baseURL ?? ""}${url2}`,
|
|
66627
|
-
body:
|
|
67573
|
+
body: config4.data,
|
|
66628
67574
|
headers: {}
|
|
66629
67575
|
};
|
|
66630
67576
|
};
|
|
66631
67577
|
|
|
66632
67578
|
// ../hyperline-lib/build/httpClient/publicUrlFetch.js
|
|
67579
|
+
import { lookup as lookupCallback } from "node:dns";
|
|
66633
67580
|
import { lookup } from "node:dns/promises";
|
|
66634
67581
|
import { isIP } from "node:net";
|
|
66635
|
-
import { Agent } from "undici";
|
|
67582
|
+
import { Agent, fetch as fetch2 } from "undici";
|
|
66636
67583
|
var PINNED_DISPATCHER_TTL_MS = 5 * 60 * 1e3;
|
|
66637
67584
|
var DEFAULT_MAX_RESPONSE_BYTES = 2 * 1024 * 1024;
|
|
66638
67585
|
|
|
@@ -66644,14 +67591,23 @@ import multer2 from "multer";
|
|
|
66644
67591
|
// ../hyperline-lib/build/httpRouter/file.js
|
|
66645
67592
|
import helmet from "helmet";
|
|
66646
67593
|
|
|
66647
|
-
// ../hyperline-lib/build/publicApi/auth/
|
|
67594
|
+
// ../hyperline-lib/build/publicApi/auth/apiKey.js
|
|
66648
67595
|
import { randomBytes as randomBytes2, scryptSync } from "node:crypto";
|
|
66649
67596
|
|
|
67597
|
+
// ../hyperline-lib/build/publicApi/auth/apiKeyHashCache.js
|
|
67598
|
+
import { createHash as createHash4 } from "node:crypto";
|
|
67599
|
+
var TTL_MS = 5 * 6e4;
|
|
67600
|
+
|
|
66650
67601
|
// ../hyperline-mcp/build/requestBuilder.js
|
|
66651
|
-
function buildRequestConfig(path2, args, method, queryParamKeys = []) {
|
|
67602
|
+
function buildRequestConfig({ path: path2, args, method, queryParamKeys = [], arrayBody = false }) {
|
|
66652
67603
|
const { url: url2, usedKeys } = replacePathParams(path2, args);
|
|
66653
67604
|
const remaining = removeUsedKeys(args, usedKeys);
|
|
66654
|
-
const { params, data } = separateParamsAndBody(
|
|
67605
|
+
const { params, data } = separateParamsAndBody({
|
|
67606
|
+
args: remaining,
|
|
67607
|
+
method,
|
|
67608
|
+
queryParamKeys,
|
|
67609
|
+
arrayBody
|
|
67610
|
+
});
|
|
66655
67611
|
return { url: url2, params, data };
|
|
66656
67612
|
}
|
|
66657
67613
|
function replacePathParams(path2, args) {
|
|
@@ -66682,7 +67638,7 @@ var PathParamError = class extends Error {
|
|
|
66682
67638
|
function removeUsedKeys(args, usedKeys) {
|
|
66683
67639
|
return Object.fromEntries(Object.entries(args).filter(([key]) => !usedKeys.has(key)));
|
|
66684
67640
|
}
|
|
66685
|
-
function separateParamsAndBody(args, method, queryParamKeys) {
|
|
67641
|
+
function separateParamsAndBody({ args, method, queryParamKeys, arrayBody }) {
|
|
66686
67642
|
const isBodyMethod = ["POST", "PUT", "PATCH"].includes(method);
|
|
66687
67643
|
if (!isBodyMethod) {
|
|
66688
67644
|
return { params: args };
|
|
@@ -66690,8 +67646,7 @@ function separateParamsAndBody(args, method, queryParamKeys) {
|
|
|
66690
67646
|
const queryKeySet = new Set(queryParamKeys);
|
|
66691
67647
|
const params = Object.fromEntries(Object.entries(args).filter(([key]) => queryKeySet.has(key)));
|
|
66692
67648
|
const data = Object.fromEntries(Object.entries(args).filter(([key]) => !queryKeySet.has(key)));
|
|
66693
|
-
|
|
66694
|
-
if (dataKeys.length === 1 && dataKeys[0] === "items" && Array.isArray(data.items)) {
|
|
67649
|
+
if (arrayBody && Array.isArray(data.items)) {
|
|
66695
67650
|
return { params, data: data.items };
|
|
66696
67651
|
}
|
|
66697
67652
|
return { params, data };
|
|
@@ -66769,7 +67724,12 @@ function createCLIContext({ apiKey, baseUrl, outputFormat, source, companyId })
|
|
|
66769
67724
|
baseUrl,
|
|
66770
67725
|
outputFormat,
|
|
66771
67726
|
async execute({ method, path: path2, args, queryParamKeys = [], body, baseUrlOverride }) {
|
|
66772
|
-
const { url: url2, params, data } = buildRequestConfig(
|
|
67727
|
+
const { url: url2, params, data } = buildRequestConfig({
|
|
67728
|
+
path: path2,
|
|
67729
|
+
args,
|
|
67730
|
+
method,
|
|
67731
|
+
queryParamKeys
|
|
67732
|
+
});
|
|
66773
67733
|
const requestData = body ?? data;
|
|
66774
67734
|
const hasData = Array.isArray(requestData) ? requestData.length > 0 : requestData != null && Object.keys(requestData).length > 0;
|
|
66775
67735
|
try {
|