@hyperline/cli 0.1.0-build.1.bb28333 → 0.1.0-build.1.bcaefe3
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 +126 -9
- package/package.json +2 -2
|
@@ -34894,10 +34894,10 @@ var require_shared = __commonJS({
|
|
|
34894
34894
|
ZodId: () => ZodId,
|
|
34895
34895
|
ZodTranslationsSchemaFn: () => ZodTranslationsSchemaFn
|
|
34896
34896
|
});
|
|
34897
|
-
var
|
|
34897
|
+
var import_zod20 = require_lib();
|
|
34898
34898
|
var countryIds2 = ["all", ...countries.map(({ id }) => id)];
|
|
34899
|
-
var ZodId =
|
|
34900
|
-
var ZodTranslationsSchemaFn = (schema) =>
|
|
34899
|
+
var ZodId = import_zod20.z.enum(countryIds2);
|
|
34900
|
+
var ZodTranslationsSchemaFn = (schema) => import_zod20.z.record(import_zod20.z.string(), schema.optional());
|
|
34901
34901
|
var UsStates = [
|
|
34902
34902
|
{ id: "AA", name: "Armed Forces Americas" },
|
|
34903
34903
|
{ id: "AE", name: "Armed Forces Europe" },
|
|
@@ -38781,7 +38781,7 @@ Customer type.
|
|
|
38781
38781
|
|
|
38782
38782
|
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38783
38783
|
- \`exempt\`: The customer is exempt from tax.
|
|
38784
|
-
`).option("--registration-number <value>", `Customer registration number.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
38784
|
+
`).option("--registration-number <value>", `Customer registration number.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
38785
38785
|
How customer invoices are issued from the parent organisation.
|
|
38786
38786
|
|
|
38787
38787
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
@@ -38812,6 +38812,8 @@ Examples:
|
|
|
38812
38812
|
args.registration_number = opts.registrationNumber;
|
|
38813
38813
|
if (opts.externalId !== void 0)
|
|
38814
38814
|
args.external_id = opts.externalId;
|
|
38815
|
+
if (opts.domain !== void 0)
|
|
38816
|
+
args.domain = opts.domain;
|
|
38815
38817
|
if (opts.invoicingEntityId !== void 0)
|
|
38816
38818
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38817
38819
|
if (opts.billingAddress !== void 0)
|
|
@@ -38910,7 +38912,7 @@ Customer type.
|
|
|
38910
38912
|
|
|
38911
38913
|
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38912
38914
|
- \`exempt\`: The customer is exempt from tax.
|
|
38913
|
-
`).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--payment-method-id <value>", `ID of the default payment method of the customer. Only applies to card and direct debit.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
38915
|
+
`).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--payment-method-id <value>", `ID of the default payment method of the customer. Only applies to card and direct debit.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
|
|
38914
38916
|
How customer invoices are issued from the parent organisation.
|
|
38915
38917
|
|
|
38916
38918
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
@@ -38943,6 +38945,8 @@ Examples:
|
|
|
38943
38945
|
args.registration_number = opts.registrationNumber;
|
|
38944
38946
|
if (opts.externalId !== void 0)
|
|
38945
38947
|
args.external_id = opts.externalId;
|
|
38948
|
+
if (opts.domain !== void 0)
|
|
38949
|
+
args.domain = opts.domain;
|
|
38946
38950
|
if (opts.invoicingEntityId !== void 0)
|
|
38947
38951
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38948
38952
|
if (opts.billingAddress !== void 0)
|
|
@@ -39112,6 +39116,38 @@ Examples:
|
|
|
39112
39116
|
queryParamKeys: []
|
|
39113
39117
|
});
|
|
39114
39118
|
});
|
|
39119
|
+
resource.command("get-customer-arr-history").description(`List every subscription-level ARR evolution for a customer, including previous and current fixed, variable, and total annual values in each subscription currency. Results are latest-first and paginated with limit/cursor.`).requiredOption("--id <value>", `id parameter`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--occurred-at.gte <value>", `Return evolutions that occurred at or after this UTC date and time.`).option("--occurred-at.lte <value>", `Return evolutions that occurred at or before this UTC date and time.`).addHelpText("after", `
|
|
39120
|
+
Examples:
|
|
39121
|
+
hyperline customers get-customer-arr-history --id <id>
|
|
39122
|
+
hyperline customers get-customer-arr-history --id <id> --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
39123
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
39124
|
+
if (!ctx) {
|
|
39125
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
39126
|
+
process.exit(1);
|
|
39127
|
+
}
|
|
39128
|
+
const args = {};
|
|
39129
|
+
if (opts.id !== void 0)
|
|
39130
|
+
args.id = opts.id;
|
|
39131
|
+
if (opts.cursor !== void 0)
|
|
39132
|
+
args.cursor = opts.cursor;
|
|
39133
|
+
if (opts["occurredAt.gte"] !== void 0)
|
|
39134
|
+
args.occurred_at__gte = opts["occurredAt.gte"];
|
|
39135
|
+
if (opts["occurredAt.lte"] !== void 0)
|
|
39136
|
+
args.occurred_at__lte = opts["occurredAt.lte"];
|
|
39137
|
+
if (opts.limit !== void 0)
|
|
39138
|
+
args.limit = Number(opts.limit);
|
|
39139
|
+
await ctx.execute({
|
|
39140
|
+
method: "GET",
|
|
39141
|
+
path: "/v1/customers/{id}/arr-history",
|
|
39142
|
+
args,
|
|
39143
|
+
queryParamKeys: [
|
|
39144
|
+
"limit",
|
|
39145
|
+
"cursor",
|
|
39146
|
+
"occurred_at__gte",
|
|
39147
|
+
"occurred_at__lte"
|
|
39148
|
+
]
|
|
39149
|
+
});
|
|
39150
|
+
});
|
|
39115
39151
|
resource.command("get-customer-valuation").description(`Compute aggregated valuation metrics for a customer across all active subscriptions, grouped by currency. Returns contract value, recurring contract value, and ARR for each subscription and aggregated totals. Optionally pass granularity (year/quarter/month) for period breakdown.`).requiredOption("--id <value>", `id parameter`).option("--granularity <value>", `Period granularity for the breakdown. When provided, contract value and recurring contract value include a \`by_period\` array.`).addHelpText("after", `
|
|
39116
39152
|
Examples:
|
|
39117
39153
|
hyperline customers get-customer-valuation --id <id>
|
|
@@ -40465,7 +40501,7 @@ Examples:
|
|
|
40465
40501
|
queryParamKeys: []
|
|
40466
40502
|
});
|
|
40467
40503
|
});
|
|
40468
|
-
resource.command("update").description(`Update an invoice. Draft/grace_period allow modifying line items, dates, and metadata before finalization. Finalized invoices are restricted to metadata (paid: custom_note; uncollectible: properties/custom_note/custom_properties).`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Type of the invoice.
|
|
40504
|
+
resource.command("update").description(`Update an invoice. Draft/grace_period allow modifying line items, dates, and metadata before finalization. Finalized invoices are restricted to metadata (paid: custom_note/purchase_order; uncollectible: properties/custom_note/custom_properties).`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Type of the invoice.
|
|
40469
40505
|
|
|
40470
40506
|
- \`invoice\`: Legal invoice to be paid by your customer.
|
|
40471
40507
|
- \`credit_note\`: Legal credit note cancelling an invoice and refunding your customer.
|
|
@@ -41278,7 +41314,12 @@ Examples:
|
|
|
41278
41314
|
]
|
|
41279
41315
|
});
|
|
41280
41316
|
});
|
|
41281
|
-
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <value>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <value>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <value>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <value>", `Price configurations for the product.`).option("--aggregator <value>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <value>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--
|
|
41317
|
+
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <value>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <value>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <value>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <value>", `Price configurations for the product.`).option("--aggregator <value>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <value>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--credits-grant-mode <value>", `
|
|
41318
|
+
How the periodic credit allowance is granted for partial billing periods.
|
|
41319
|
+
|
|
41320
|
+
- \`prorated\` (default): the granted credits are prorated to the elapsed period.
|
|
41321
|
+
- \`full_allowance\`: the full allowance is always granted (the invoice remains prorated).
|
|
41322
|
+
`).option("--display-mode <value>", `How bundle items are displayed on invoices.`).option("--exclusive-items-enabled", `When true, only one item in the bundle can be active at a time.`).option("--bundle-items <value>", `Products included in this bundle. Percentages must sum to 100.`).addHelpText("after", `
|
|
41282
41323
|
Examples:
|
|
41283
41324
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations>
|
|
41284
41325
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations> --description <description> --description-display-interval-dates
|
|
@@ -41313,6 +41354,8 @@ Examples:
|
|
|
41313
41354
|
args.unit_name = opts.unitName;
|
|
41314
41355
|
if (opts.creditAggregators !== void 0)
|
|
41315
41356
|
args.credit_aggregators = opts.creditAggregators;
|
|
41357
|
+
if (opts.creditsGrantMode !== void 0)
|
|
41358
|
+
args.credits_grant_mode = opts.creditsGrantMode;
|
|
41316
41359
|
if (opts.displayMode !== void 0)
|
|
41317
41360
|
args.display_mode = opts.displayMode;
|
|
41318
41361
|
if (opts.bundleItems !== void 0)
|
|
@@ -41414,6 +41457,32 @@ Examples:
|
|
|
41414
41457
|
queryParamKeys: []
|
|
41415
41458
|
});
|
|
41416
41459
|
});
|
|
41460
|
+
resource.command("delete").description(`Permanently delete an archived product by ID. Products attached to subscriptions, plans, or templates cannot be deleted.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
|
|
41461
|
+
Examples:
|
|
41462
|
+
hyperline products delete --id <id>
|
|
41463
|
+
hyperline products delete --id <id> --output json`).action(async (opts) => {
|
|
41464
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41465
|
+
if (!ctx) {
|
|
41466
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41467
|
+
process.exit(1);
|
|
41468
|
+
}
|
|
41469
|
+
const args = {};
|
|
41470
|
+
if (opts.id !== void 0)
|
|
41471
|
+
args.id = opts.id;
|
|
41472
|
+
if (!opts.yes) {
|
|
41473
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
41474
|
+
if (!confirmed) {
|
|
41475
|
+
process.stdout.write("Aborted.\n");
|
|
41476
|
+
return;
|
|
41477
|
+
}
|
|
41478
|
+
}
|
|
41479
|
+
await ctx.execute({
|
|
41480
|
+
method: "DELETE",
|
|
41481
|
+
path: "/v1/products/{id}",
|
|
41482
|
+
args,
|
|
41483
|
+
queryParamKeys: []
|
|
41484
|
+
});
|
|
41485
|
+
});
|
|
41417
41486
|
resource.command("unarchive").description(`Restore a previously archived product, making it available for new subscriptions again.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
41418
41487
|
Examples:
|
|
41419
41488
|
hyperline products unarchive --id <id>
|
|
@@ -41739,7 +41808,7 @@ Examples:
|
|
|
41739
41808
|
- \`all\`: Display all pricing tiers.
|
|
41740
41809
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
41741
41810
|
- \`none\`: Hide all pricing tiers.
|
|
41742
|
-
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <value>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <value>", `Invoice configuration constituting the one-off quote. When provided on a draft one-off quote, it deletes the previous draft invoice and creates a fresh one linked to the quote. \`invoice.invoicing_entity_id\` is ignored on update \u2014 the quote's existing invoicing entity is reused.`).addHelpText("after", `
|
|
41811
|
+
`).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <value>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <value>", `Invoice configuration constituting the one-off quote. When provided on a draft one-off quote, it deletes the previous draft invoice and creates a fresh one linked to the quote. \`invoice.invoicing_entity_id\` is ignored on update \u2014 the quote's existing invoicing entity is reused.`).addHelpText("after", `
|
|
41743
41812
|
Examples:
|
|
41744
41813
|
hyperline quotes update --id <id>
|
|
41745
41814
|
hyperline quotes update --id <id> --owner-email <owner_email> --comments <comments>
|
|
@@ -41784,6 +41853,8 @@ Examples:
|
|
|
41784
41853
|
args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
|
|
41785
41854
|
if (opts.generateDraftInvoices !== void 0)
|
|
41786
41855
|
args.generate_draft_invoices = opts.generateDraftInvoices;
|
|
41856
|
+
if (opts.crmOpportunityId !== void 0)
|
|
41857
|
+
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
41787
41858
|
if (opts.expiresAt !== void 0)
|
|
41788
41859
|
args.expires_at = opts.expiresAt;
|
|
41789
41860
|
if (opts.subscription !== void 0)
|
|
@@ -42211,7 +42282,7 @@ Examples:
|
|
|
42211
42282
|
queryParamKeys: []
|
|
42212
42283
|
});
|
|
42213
42284
|
});
|
|
42214
|
-
resource.command("pause").description(`Pause a subscription. Billing stops while paused. Optionally specify a reactivate_at date for automatic resumption.`).requiredOption("--id <value>", `id parameter`).option("--reactivate-at <value>", `Date when the subscription will be automatically reactivated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).addHelpText("after", `
|
|
42285
|
+
resource.command("pause").description(`Pause a subscription. Billing stops while paused. Optionally specify a reactivate_at date for automatic resumption. If the subscription is already paused, updates (or clears) its reactivation date.`).requiredOption("--id <value>", `id parameter`).option("--reactivate-at <value>", `Date when the subscription will be automatically reactivated. Must be a future date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).addHelpText("after", `
|
|
42215
42286
|
Examples:
|
|
42216
42287
|
hyperline subscriptions pause --id <id>
|
|
42217
42288
|
hyperline subscriptions pause --id <id> --reactivate-at <reactivate_at>
|
|
@@ -42752,6 +42823,38 @@ Examples:
|
|
|
42752
42823
|
queryParamKeys: []
|
|
42753
42824
|
});
|
|
42754
42825
|
});
|
|
42826
|
+
resource.command("get-subscription-arr-history").description(`List every ARR evolution for a subscription, including previous and current fixed, variable, and total annual values in the subscription currency. Results are latest-first and paginated with limit/cursor.`).requiredOption("--id <value>", `id parameter`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--occurred-at.gte <value>", `Return evolutions that occurred at or after this UTC date and time.`).option("--occurred-at.lte <value>", `Return evolutions that occurred at or before this UTC date and time.`).addHelpText("after", `
|
|
42827
|
+
Examples:
|
|
42828
|
+
hyperline subscriptions get-subscription-arr-history --id <id>
|
|
42829
|
+
hyperline subscriptions get-subscription-arr-history --id <id> --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
42830
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42831
|
+
if (!ctx) {
|
|
42832
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42833
|
+
process.exit(1);
|
|
42834
|
+
}
|
|
42835
|
+
const args = {};
|
|
42836
|
+
if (opts.id !== void 0)
|
|
42837
|
+
args.id = opts.id;
|
|
42838
|
+
if (opts.cursor !== void 0)
|
|
42839
|
+
args.cursor = opts.cursor;
|
|
42840
|
+
if (opts["occurredAt.gte"] !== void 0)
|
|
42841
|
+
args.occurred_at__gte = opts["occurredAt.gte"];
|
|
42842
|
+
if (opts["occurredAt.lte"] !== void 0)
|
|
42843
|
+
args.occurred_at__lte = opts["occurredAt.lte"];
|
|
42844
|
+
if (opts.limit !== void 0)
|
|
42845
|
+
args.limit = Number(opts.limit);
|
|
42846
|
+
await ctx.execute({
|
|
42847
|
+
method: "GET",
|
|
42848
|
+
path: "/v1/subscriptions/{id}/arr-history",
|
|
42849
|
+
args,
|
|
42850
|
+
queryParamKeys: [
|
|
42851
|
+
"limit",
|
|
42852
|
+
"cursor",
|
|
42853
|
+
"occurred_at__gte",
|
|
42854
|
+
"occurred_at__lte"
|
|
42855
|
+
]
|
|
42856
|
+
});
|
|
42857
|
+
});
|
|
42755
42858
|
resource.command("get-subscription-valuation").description(`Compute valuation metrics for a subscription: contract value (total/invoiced/remaining), recurring contract value, and ARR (fixed + variable). Optionally pass granularity (year/quarter/month) for period breakdown.`).requiredOption("--id <value>", `id parameter`).option("--granularity <value>", `Period granularity for the breakdown. When provided, contract value and recurring contract value include a \`by_period\` array.`).addHelpText("after", `
|
|
42756
42859
|
Examples:
|
|
42757
42860
|
hyperline subscriptions get-subscription-valuation --id <id>
|
|
@@ -62246,6 +62349,12 @@ var DateTimeSchema = external_exports.iso.datetime({
|
|
|
62246
62349
|
example: "2024-12-20T16:04:11Z"
|
|
62247
62350
|
});
|
|
62248
62351
|
|
|
62352
|
+
// ../hyperline-lib/build/http/dto/domain.js
|
|
62353
|
+
var DomainSchema = external_exports.string().trim().toLowerCase().regex(/^(?!:\/\/)(?=.{1,253}$)(?!-)([a-z0-9-]{1,63}\.)+[a-z]{2,63}$/, "Invalid domain").openapi({
|
|
62354
|
+
description: "Domain name.",
|
|
62355
|
+
example: "acme.com"
|
|
62356
|
+
});
|
|
62357
|
+
|
|
62249
62358
|
// ../hyperline-lib/build/http/dto/error.js
|
|
62250
62359
|
var ErrorSchema = external_exports.object({
|
|
62251
62360
|
message: external_exports.string()
|
|
@@ -62302,6 +62411,7 @@ var de = {
|
|
|
62302
62411
|
"accounting.transactionSettled.entryDescription": "Zahlungsabwicklung f\xFCr Rechnung {{invoiceId}}",
|
|
62303
62412
|
"accounting.transactionRefunded.entryDescription": "R\xFCckerstattung f\xFCr Rechnung {{invoiceId}}",
|
|
62304
62413
|
"accounting.creditNotePosted.entryDescription": "Gutschrift {{creditNoteId}} f\xFCr Rechnung {{invoiceId}}",
|
|
62414
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Gutschrift {{creditNoteId}}",
|
|
62305
62415
|
"accounting.revrec.creditLineDescription": "Umsatz realisieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62306
62416
|
"accounting.revrec.debitLineDescription": "Abgrenzungsposten reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62307
62417
|
"accounting.revrec.discountCreditLineDescription": "Erl\xF6sminderung (Rabatt) erfassen \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
@@ -62373,6 +62483,7 @@ var en = {
|
|
|
62373
62483
|
"accounting.transactionSettled.entryDescription": "Payment settlement for Invoice {{invoiceId}}",
|
|
62374
62484
|
"accounting.transactionRefunded.entryDescription": "Refund for Invoice {{invoiceId}}",
|
|
62375
62485
|
"accounting.creditNotePosted.entryDescription": "Credit note {{creditNoteId}} for Invoice {{invoiceId}}",
|
|
62486
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Credit note {{creditNoteId}}",
|
|
62376
62487
|
"accounting.revrec.entryDescription": "Revenue recognition for schedule {{scheduleId}}, period {{periodStart}} - {{periodEnd}}",
|
|
62377
62488
|
"accounting.revrec.debitLineDescription": "Decrease deferred revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62378
62489
|
"accounting.revrec.creditLineDescription": "Recognize revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
@@ -62390,6 +62501,7 @@ var es = {
|
|
|
62390
62501
|
"accounting.transactionSettled.entryDescription": "Liquidaci\xF3n de pago para la factura {{invoiceId}}",
|
|
62391
62502
|
"accounting.transactionRefunded.entryDescription": "Reembolso de la factura {{invoiceId}}",
|
|
62392
62503
|
"accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para la factura {{invoiceId}}",
|
|
62504
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
|
|
62393
62505
|
"accounting.revrec.creditLineDescription": "Reconocer ingresos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62394
62506
|
"accounting.revrec.debitLineDescription": "Disminuci\xF3n de ingresos diferidos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62395
62507
|
"accounting.revrec.discountCreditLineDescription": "Reconocer contra-ingresos (descuento) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
@@ -62439,6 +62551,7 @@ var fr = {
|
|
|
62439
62551
|
"accounting.transactionSettled.entryDescription": "R\xE8glement de la facture {{invoiceId}}",
|
|
62440
62552
|
"accounting.transactionRefunded.entryDescription": "Remboursement de la facture {{invoiceId}}",
|
|
62441
62553
|
"accounting.creditNotePosted.entryDescription": "Avoir {{creditNoteId}} pour la facture {{invoiceId}}",
|
|
62554
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Avoir {{creditNoteId}}",
|
|
62442
62555
|
"accounting.revrec.entryDescription": "Reconnaissance du chiffre d'affaires pour l'\xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodStart}} - {{periodEnd}}",
|
|
62443
62556
|
"creditNotes.refundChargeName": "Remboursement pour facture",
|
|
62444
62557
|
"credits.bundleOf": "{{productName}} - Pack de {{creditCount}} cr\xE9dits",
|
|
@@ -62478,6 +62591,7 @@ var it = {
|
|
|
62478
62591
|
"accounting.transactionSettled.entryDescription": "Regolamento pagamento per la fattura {{invoiceId}}",
|
|
62479
62592
|
"accounting.transactionRefunded.entryDescription": "Rimborso per la fattura {{invoiceId}}",
|
|
62480
62593
|
"accounting.creditNotePosted.entryDescription": "Nota di credito {{creditNoteId}} per la fattura {{invoiceId}}",
|
|
62594
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota di credito {{creditNoteId}}",
|
|
62481
62595
|
"accounting.revrec.creditLineDescription": "Riconoscere i ricavi \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62482
62596
|
"accounting.revrec.debitLineDescription": "Diminuzione dei ricavi differiti \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62483
62597
|
"accounting.revrec.discountCreditLineDescription": "Riconoscere il contra-ricavo (sconto) \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
@@ -62522,6 +62636,7 @@ var nl = {
|
|
|
62522
62636
|
"accounting.transactionSettled.entryDescription": "Betalingsafwikkeling voor factuur {{invoiceId}}",
|
|
62523
62637
|
"accounting.transactionRefunded.entryDescription": "Terugbetaling voor factuur {{invoiceId}}",
|
|
62524
62638
|
"accounting.creditNotePosted.entryDescription": "Creditnota {{creditNoteId}} voor factuur {{invoiceId}}",
|
|
62639
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Creditnota {{creditNoteId}}",
|
|
62525
62640
|
"accounting.revrec.creditLineDescription": "Omzet erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62526
62641
|
"accounting.revrec.debitLineDescription": "Uitgestelde omzet verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62527
62642
|
"accounting.revrec.discountCreditLineDescription": "Omzetvermindering (korting) erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
@@ -62566,6 +62681,7 @@ var pl = {
|
|
|
62566
62681
|
"accounting.transactionSettled.entryDescription": "Rozliczenie p\u0142atno\u015Bci dla faktury {{invoiceId}}",
|
|
62567
62682
|
"accounting.transactionRefunded.entryDescription": "Zwrot za faktur\u0119 {{invoiceId}}",
|
|
62568
62683
|
"accounting.creditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}} dla faktury {{invoiceId}}",
|
|
62684
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}}",
|
|
62569
62685
|
"accounting.revrec.creditLineDescription": "Rozpoznanie przychodu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62570
62686
|
"accounting.revrec.debitLineDescription": "Zmniejszenie przychod\xF3w przysz\u0142ych okres\xF3w \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62571
62687
|
"accounting.revrec.discountCreditLineDescription": "Rozpoznanie kontra-przychodu (rabat) \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
@@ -62610,6 +62726,7 @@ var pt = {
|
|
|
62610
62726
|
"accounting.transactionSettled.entryDescription": "Liquida\xE7\xE3o de pagamento para a fatura {{invoiceId}}",
|
|
62611
62727
|
"accounting.transactionRefunded.entryDescription": "Reembolso da fatura {{invoiceId}}",
|
|
62612
62728
|
"accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para a fatura {{invoiceId}}",
|
|
62729
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
|
|
62613
62730
|
"accounting.revrec.creditLineDescription": "Reconhecer receita \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62614
62731
|
"accounting.revrec.debitLineDescription": "Diminui\xE7\xE3o da receita diferida \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62615
62732
|
"accounting.revrec.discountCreditLineDescription": "Reconhecer contra-receita (desconto) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperline/cli",
|
|
3
|
-
"version": "0.1.0-build.1.
|
|
3
|
+
"version": "0.1.0-build.1.bcaefe3",
|
|
4
4
|
"description": "Agent-first CLI for Hyperline API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"@hyperline/vitest-config": "workspace:*",
|
|
49
49
|
"@types/node": "24.10.1",
|
|
50
50
|
"esbuild": "0.28.0",
|
|
51
|
-
"typescript": "
|
|
51
|
+
"typescript": "7.0.2",
|
|
52
52
|
"vitest": "4.1.5"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|