@factucat/cli 0.2.5 → 0.3.0

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/README.md CHANGED
@@ -127,6 +127,16 @@ If you switch the invoice to USD without specifying an exchange rate, FactuCat a
127
127
  factucat invoice set-meta --currency USD
128
128
  ```
129
129
 
130
+ Set an optional **Fecha de emisión** when creating, updating, or stamping a draft:
131
+
132
+ ```bash
133
+ factucat invoice create --fecha 2026-10-28
134
+ factucat invoice set-meta --issued-at 2026-10-28
135
+ factucat invoice stamp --fecha 2026-10-28 --dry-run
136
+ ```
137
+
138
+ `--fecha` and `--issued-at` accept `YYYY-MM-DD` or an ISO datetime. ISO instants use the issuer's timezone (default `America/Mexico_City`); dates without an offset represent a local calendar day. Choose today or up to two days earlier to stay within the SAT 72-hour window. A stamp override is saved before stamping. Stored dates are checked again at stamp time; an expired or invalid date returns `INVALID_ISSUE_DATE`. Omission keeps the existing date, or uses the stamping time when none is set. Dry-run shows the selected date without saving it.
139
+
130
140
  Preview the full invoice before stamping:
131
141
 
132
142
  ```bash
@@ -141,6 +151,15 @@ factucat invoice stamp
141
151
 
142
152
  In an interactive terminal, `invoice stamp` shows the full preview first and can ask whether you want to send the stamped invoice through the customer contact channels registered in FactuCat.
143
153
 
154
+ Preview without stamping or changing the current draft:
155
+
156
+ ```bash
157
+ factucat invoice-stamp --draft-id dft_123 --dry-run
158
+ factucat invoice-stamp --draft-id dft_123 --dry-run --json
159
+ ```
160
+
161
+ The preview includes the environment selected by the key prefix (`test` or `live`) and the idempotency key.
162
+
144
163
  ## Unattended workflow
145
164
 
146
165
  For agents and scripts, prefer `--json` and `--no-input`.
@@ -194,12 +213,18 @@ Preview the draft:
194
213
  factucat invoice show --draft-id dft_123 --json
195
214
  ```
196
215
 
197
- Stamp without prompts:
216
+ Stamp with explicit confirmation and a reusable idempotency key:
198
217
 
199
218
  ```bash
200
- factucat invoice stamp --draft-id dft_123 --no-input --json
219
+ factucat invoice-stamp --draft-id dft_123 --yes --idempotency-key order-123-stamp --json
201
220
  ```
202
221
 
222
+ `--yes` skips confirmation and delivery prompts. The existing `--no-input`, `--json`, and non-interactive stamping behavior remains supported. Delivery uses the flags you provide.
223
+
224
+ `invoice-stamp` returns `idempotencyKey` alongside the invoice fields in JSON and prints it in human output. Failed stamp/cancel requests also print the key so you can reuse it. If omitted, the CLI generates a UUID once per invocation, which the SDK reuses for transport retries. To retry across separate CLI invocations, pass the **same key and request options** with `--idempotency-key`.
225
+
226
+ `customer-create`, `invoice-create`, and `invoice-add-item` also accept `--idempotency-key`; each generates a fresh UUID when omitted.
227
+
203
228
  Stamp and request delivery to customer contacts:
204
229
 
205
230
  ```bash
@@ -223,6 +248,15 @@ factucat invoice stamp \
223
248
 
224
249
  ## Current draft helpers
225
250
 
251
+ List remote drafts:
252
+
253
+ ```bash
254
+ factucat draft-list --query "Público" --limit 20 --offset 0 --json
255
+ factucat draft-list --status error --limit 10 --json
256
+ ```
257
+
258
+ `draft-list` has no spaced alias. `--status` accepts `draft` or `error`. The CLI filters status locally across API pages before applying `--offset` and `--limit` (default 50 when filtering by status). A status filter can therefore require multiple read requests.
259
+
226
260
  Select an existing draft as your current one:
227
261
 
228
262
  ```bash
@@ -255,6 +289,13 @@ List customers:
255
289
  factucat customer list --limit 20
256
290
  ```
257
291
 
292
+ Get a customer by ID:
293
+
294
+ ```bash
295
+ factucat customer-get cus_123 --json
296
+ factucat customer get cus_123
297
+ ```
298
+
258
299
  Create a customer:
259
300
 
260
301
  ```bash
@@ -297,6 +338,46 @@ factucat invoice download pdf MIAU-00036 --output ./facturas/factura-marzo.pdf
297
338
 
298
339
  If you do not pass `--output`, the file is saved in the current working directory.
299
340
 
341
+ ## Cancel an invoice
342
+
343
+ `invoice-cancel <invoiceRef>` (also `invoice cancel`) accepts an invoice ID, SAT UUID, or folio, just like `invoice-get`. Only issued invoices with a SAT UUID can be cancelled.
344
+
345
+ Review a cancellation without submitting it:
346
+
347
+ ```bash
348
+ factucat invoice-cancel MIAU-00036 --reason 02 --dry-run
349
+ factucat invoice-cancel MIAU-00036 --reason 02 --dry-run --json
350
+ ```
351
+
352
+ The preview shows the SAT UUID, receiver RFC and name, total, currency, reason, replacement invoice if provided, key environment (`test`/`live`), and idempotency key. A dry run performs reads only, never prompts, and exits successfully when the inputs are valid.
353
+
354
+ Cancel interactively:
355
+
356
+ ```bash
357
+ factucat invoice-cancel MIAU-00036 --reason 02
358
+ ```
359
+
360
+ The CLI shows the same preview and asks for confirmation. In scripts, with `--json`, or with `--no-input`, cancellation requires **`--yes`**. `--no-input` alone does not authorize cancellation.
361
+
362
+ ```bash
363
+ factucat invoice-cancel MIAU-00036 \
364
+ --reason 02 \
365
+ --yes \
366
+ --idempotency-key order-123-cancel \
367
+ --json
368
+ ```
369
+
370
+ `--reason` is required and accepts `01`, `02`, `03`, or `04`. Reason `01` additionally requires a different replacement invoice, resolved by ID, SAT UUID, or folio:
371
+
372
+ ```bash
373
+ factucat invoice-cancel MIAU-00036 \
374
+ --reason 01 \
375
+ --replacement-invoice MIAU-00037 \
376
+ --dry-run
377
+ ```
378
+
379
+ JSON output includes the API result (`status`, `evidence`, and `invoice` when present) and `idempotencyKey`. A `not_confirmed` status means cancellation has not yet been confirmed.
380
+
300
381
  ## Notes about inference
301
382
 
302
383
  FactuCat automatically infers several values when possible:
package/dist/bin.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":""}
package/dist/bin.js ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { main } from './index.js';
3
+ void main();
4
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,KAAK,IAAI,EAAE,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,9 @@
1
- #!/usr/bin/env node
1
+ import { getSdk } from './lib/sdk.js';
2
2
  export declare function readRawOptionValue(argv: Array<string>, optionName: string): string | undefined;
3
3
  export declare function normalizeNumericCodeOptionFromArgv(argv: Array<string>, optionName: string, fallbackValue: unknown, width: number): string | undefined;
4
+ export declare function resolveInvoiceReference(input: {
5
+ sdk: Awaited<ReturnType<typeof getSdk>>;
6
+ invoiceRef: string;
7
+ }): Promise<string>;
4
8
  export declare function main(rawArgv?: Array<string>): Promise<void>;
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAuMA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,sBAsBzE;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,sBAMd;AAofD,wBAAsB,IAAI,CAAC,OAAO,GAAE,KAAK,CAAC,MAAM,CAAgB,iBA42B/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAyNrC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,sBAsBzE;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,sBAMd;AAuGD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;CACnB,mBA0EA;AAuZD,wBAAsB,IAAI,CAAC,OAAO,GAAE,KAAK,CAAC,MAAM,CAAgB,iBAwkC/D"}
package/dist/index.js CHANGED
@@ -1,15 +1,27 @@
1
- #!/usr/bin/env node
2
1
  import { randomUUID } from 'node:crypto';
2
+ import { readFileSync } from 'node:fs';
3
3
  import { mkdir, stat, writeFile } from 'node:fs/promises';
4
4
  import { dirname, resolve } from 'node:path';
5
- import { pathToFileURL } from 'node:url';
5
+ import { fileURLToPath } from 'node:url';
6
+ import { draftListItemSchema, draftListQuerySchema, invoiceCancelReasonSchema, invoiceVatTreatmentLabels, invoiceVatTreatmentSchema, } from '@factucat/public-api-contracts';
6
7
  import { confirm, intro, isCancel, outro, select, spinner, text } from '@clack/prompts';
7
8
  import { cac } from 'cac';
9
+ import { FactuCatApiError } from '@factucat/sdk';
8
10
  import { getEffectiveApiKey, readConfig, resolveApiOrigin, writeConfig, } from './lib/config.js';
9
11
  import { getCurrentDraftId, setCurrentDraftId } from './lib/current-draft.js';
10
12
  import { exitCodeFromError, getErrorMessage } from './lib/errors.js';
11
13
  import { printHuman, printJson } from './lib/output.js';
12
14
  import { getSdk } from './lib/sdk.js';
15
+ const CLI_VERSION = (() => {
16
+ try {
17
+ const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '..', 'package.json');
18
+ const pkg = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
19
+ return typeof pkg.version === 'string' ? pkg.version : '0.0.0';
20
+ }
21
+ catch {
22
+ return '0.0.0';
23
+ }
24
+ })();
13
25
  const HELP_TEXT = `factucat
14
26
 
15
27
  Uso:
@@ -25,6 +37,7 @@ Comandos:
25
37
  invoice current
26
38
  invoice show
27
39
  invoice list
40
+ draft-list
28
41
  invoice set-customer
29
42
  invoice set-receiver
30
43
  invoice set-meta
@@ -34,10 +47,12 @@ Comandos:
34
47
  invoice items
35
48
  invoice discard
36
49
  invoice stamp
37
- invoice get <invoiceRef>
50
+ invoice get <invoiceRef> # invoiceId, UUID SAT o folio
51
+ invoice cancel <invoiceRef> --reason <01|02|03|04>
38
52
  invoice download xml <invoiceRef>
39
53
  invoice download pdf <invoiceRef>
40
54
  customer list
55
+ customer get <customerId>
41
56
  customer search <query>
42
57
  customer create
43
58
 
@@ -45,6 +60,9 @@ Notas:
45
60
  invoice add-item infiere automáticamente Clave SAT, unidad, IVA e ISR si no los especificas.
46
61
  invoice set-meta --currency USD consulta automáticamente el tipo de cambio oficial del DOF si no mandas --exchange-rate.
47
62
  invoice stamp muestra una previa antes de timbrar cuando hay terminal interactiva.
63
+ invoice create, invoice set-meta e invoice stamp aceptan --fecha <YYYY-MM-DD|ISO> (alias --issued-at).
64
+ invoice stamp e invoice cancel aceptan --dry-run, --yes e --idempotency-key.
65
+ invoice cancel requiere --yes cuando no hay confirmación interactiva; --no-input no confirma.
48
66
  invoice stamp --send-to-customer-contacts solicita el envío por email y WhatsApp registrados en el cliente, si existen.
49
67
  `;
50
68
  function withJsonFlag(command) {
@@ -105,9 +123,11 @@ function normalizeArgv(rawArgv) {
105
123
  { from: ['invoice', 'discard'], to: 'invoice-discard' },
106
124
  { from: ['invoice', 'stamp'], to: 'invoice-stamp' },
107
125
  { from: ['invoice', 'get'], to: 'invoice-get' },
126
+ { from: ['invoice', 'cancel'], to: 'invoice-cancel' },
108
127
  { from: ['invoice', 'download', 'xml'], to: 'invoice-download-xml' },
109
128
  { from: ['invoice', 'download', 'pdf'], to: 'invoice-download-pdf' },
110
129
  { from: ['customer', 'list'], to: 'customer-list' },
130
+ { from: ['customer', 'get'], to: 'customer-get' },
111
131
  { from: ['customer', 'search'], to: 'customer-search' },
112
132
  { from: ['customer', 'create'], to: 'customer-create' },
113
133
  ];
@@ -162,7 +182,53 @@ export function normalizeNumericCodeOptionFromArgv(argv, optionName, fallbackVal
162
182
  return normalizeNumericCodeOption(readRawOptionValue(argv, optionName) ?? fallbackValue, width);
163
183
  }
164
184
  function canPromptInteractively(options) {
165
- return !options.json && !options.noInput && process.stdin.isTTY && process.stdout.isTTY;
185
+ return !options.json && !options.noInput && options.input !== false && process.stdin.isTTY && process.stdout.isTTY;
186
+ }
187
+ function resolveIdempotencyKey(argv) {
188
+ const value = readRawOptionValue(argv, '--idempotency-key');
189
+ if (value === undefined) {
190
+ return randomUUID();
191
+ }
192
+ const key = value.trim();
193
+ if (!key || key.length > 255) {
194
+ throw new Error('`--idempotency-key` debe tener entre 1 y 255 caracteres.');
195
+ }
196
+ return key;
197
+ }
198
+ async function getKeyEnvironment() {
199
+ const apiKey = getEffectiveApiKey(await readConfig());
200
+ return apiKey?.startsWith('fc_test_') ? 'test' : 'live';
201
+ }
202
+ async function listDraftsWithStatus(input) {
203
+ const status = draftListItemSchema.shape.status.optional().parse(input.status);
204
+ const query = draftListQuerySchema.parse(input.query);
205
+ if (!status) {
206
+ return input.sdk.listDrafts(query);
207
+ }
208
+ const limit = query.limit ?? 50;
209
+ let skip = query.offset ?? 0;
210
+ const matches = [];
211
+ for (let offset = 0; offset <= 1000000; offset += 100) {
212
+ const page = await input.sdk.listDrafts({
213
+ query: query.query,
214
+ limit: 100,
215
+ offset,
216
+ });
217
+ for (const draft of page) {
218
+ if (draft.status !== status)
219
+ continue;
220
+ if (skip > 0) {
221
+ skip -= 1;
222
+ continue;
223
+ }
224
+ matches.push(draft);
225
+ if (matches.length === limit)
226
+ return matches;
227
+ }
228
+ if (page.length < 100)
229
+ return matches;
230
+ }
231
+ throw new Error('La búsqueda excede el límite de paginación. Usa `--query` para acotarla.');
166
232
  }
167
233
  async function resolveDownloadPath(input) {
168
234
  if (!input.output?.trim()) {
@@ -195,13 +261,43 @@ async function saveDownloadedArtifact(input) {
195
261
  function isUuidLike(value) {
196
262
  return /^[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value.trim());
197
263
  }
198
- async function resolveInvoiceReference(input) {
264
+ export async function resolveInvoiceReference(input) {
199
265
  const normalizedRef = input.invoiceRef.trim();
200
266
  if (!normalizedRef) {
201
- throw new Error('Debes indicar un folio o invoiceId válido.');
267
+ throw new Error('Debes indicar un invoiceId, UUID SAT o folio válido.');
202
268
  }
203
269
  if (isUuidLike(normalizedRef)) {
204
- return normalizedRef;
270
+ try {
271
+ const invoice = await input.sdk.getInvoice(normalizedRef);
272
+ return invoice.id;
273
+ }
274
+ catch (error) {
275
+ if (!(error instanceof FactuCatApiError) ||
276
+ (error.code !== 'not_found' && error.status !== 404)) {
277
+ throw error;
278
+ }
279
+ }
280
+ // UUID-like but not an invoiceId: resolve as satUuid via list + detail.
281
+ const target = normalizedRef.toLowerCase();
282
+ const limit = 50;
283
+ let offset = 0;
284
+ for (let page = 0; page < 10; page += 1) {
285
+ const invoices = await input.sdk.listInvoices({ limit, offset });
286
+ if (invoices.length === 0) {
287
+ break;
288
+ }
289
+ for (const item of invoices) {
290
+ const invoice = await input.sdk.getInvoice(item.id);
291
+ if (invoice.satUuid?.trim().toLowerCase() === target) {
292
+ return invoice.id;
293
+ }
294
+ }
295
+ if (invoices.length < limit) {
296
+ break;
297
+ }
298
+ offset += limit;
299
+ }
300
+ throw new Error(`No encontré una factura con el invoiceId o UUID SAT \`${normalizedRef}\`.`);
205
301
  }
206
302
  const invoices = await input.sdk.listInvoices({
207
303
  query: normalizedRef,
@@ -216,7 +312,7 @@ async function resolveInvoiceReference(input) {
216
312
  return exactMatches[0].id;
217
313
  }
218
314
  if (exactMatches.length > 1) {
219
- throw new Error(`Hay varias facturas con el folio \`${normalizedRef}\`. Usa el UUID de la factura para desambiguar.`);
315
+ throw new Error(`Hay varias facturas con el folio \`${normalizedRef}\`. Usa el invoiceId o UUID SAT para desambiguar.`);
220
316
  }
221
317
  throw new Error(`No encontré una factura con el folio o invoiceId \`${normalizedRef}\`.`);
222
318
  }
@@ -271,7 +367,7 @@ function formatDraftItemLine(input) {
271
367
  const satCode = input.productCode ?? input.suggestedProductCode ?? '-';
272
368
  return [
273
369
  `${input.id} ${input.quantity} x ${input.description} ${input.amount} ${input.currency}`,
274
- ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
370
+ ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${input.vatTreatment ? invoiceVatTreatmentLabels[input.vatTreatment] : formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
275
371
  ];
276
372
  }
277
373
  function formatIsoDateLabel(value) {
@@ -288,7 +384,7 @@ function formatPreviewItemLine(input) {
288
384
  return [
289
385
  `${input.index}. ${input.description}`,
290
386
  ` Cantidad: ${input.quantity} · Precio unitario: ${input.unitPrice} ${input.currency} · Importe: ${input.amount} ${input.currency}`,
291
- ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
387
+ ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${input.vatTreatment ? invoiceVatTreatmentLabels[input.vatTreatment] : formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
292
388
  ];
293
389
  }
294
390
  function formatDraftPreview(draft) {
@@ -309,6 +405,7 @@ function formatDraftPreview(draft) {
309
405
  formatOptionalValue(' Correo', draft.receiverEmail),
310
406
  '',
311
407
  'Comprobante:',
408
+ formatOptionalValue(' Fecha de emisión', draft.issueDate ?? 'Al momento de timbrar'),
312
409
  formatOptionalValue(' Tipo CFDI', draft.cfdiType),
313
410
  formatOptionalValue(' Uso CFDI', draft.cfdiUse),
314
411
  formatOptionalValue(' Exportación', draft.exportacion),
@@ -332,6 +429,7 @@ function formatDraftPreview(draft) {
332
429
  productCode: item.productCode,
333
430
  suggestedProductCode: item.suggestedProductCode,
334
431
  unitCode: item.unitCode,
432
+ vatTreatment: item.vatTreatment,
335
433
  vatRate: item.vatRate,
336
434
  isrWithholdingRate: item.isrWithholdingRate,
337
435
  }))
@@ -389,7 +487,6 @@ async function loadDraftCustomer(sdk, draft) {
389
487
  }
390
488
  async function resolveInteractiveStampInput(input) {
391
489
  const customer = await loadDraftCustomer(input.sdk, input.draft);
392
- printHuman(formatDraftPreview(input.draft));
393
490
  const confirmed = await confirm({
394
491
  message: '¿Timbramos esta factura ahora?',
395
492
  active: 'Sí, timbrar',
@@ -509,12 +606,16 @@ export async function main(rawArgv = process.argv) {
509
606
  return;
510
607
  }
511
608
  const cli = cac('factucat');
609
+ cli.version(CLI_VERSION);
610
+ let idempotencyKey;
512
611
  cli
513
612
  .command('auth-api-key-set', 'Guardar API key')
514
613
  .option('--value <apiKey>', 'API key a guardar')
515
614
  .action(async (options) => {
516
- const stdinValue = await readStdinValue();
517
- let value = options.value?.trim() || stdinValue;
615
+ const valueFromFlag = options.value?.trim();
616
+ // Skip stdin when --value is set so agents/CI with open non-TTY stdin do not hang.
617
+ const stdinValue = valueFromFlag ? undefined : await readStdinValue();
618
+ let value = valueFromFlag || stdinValue;
518
619
  if (!value) {
519
620
  if (!process.stdin.isTTY || !process.stdout.isTTY) {
520
621
  throw new Error('No se detectó terminal interactiva. Usa `--value <apiKey>` o envía la API key por stdin.');
@@ -592,11 +693,14 @@ export async function main(rawArgv = process.argv) {
592
693
  });
593
694
  withJsonFlag(cli
594
695
  .command('invoice-create', 'Crear borrador remoto')
696
+ .option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
697
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
595
698
  .option('--customer-id <customerId>', 'ID del cliente')
596
699
  .option('--customer <customerName>', 'Busca el cliente por nombre o RFC y lo asigna automáticamente al borrador')
597
700
  .option('--draft', 'Crear y dejar como borrador')
598
701
  .option('--no-input', 'Nunca preguntar datos faltantes')).action(async (options) => {
599
702
  const commandOptions = options;
703
+ idempotencyKey = resolveIdempotencyKey(argv);
600
704
  const sdk = await getSdk();
601
705
  const resolvedCustomer = commandOptions.customerId
602
706
  ? await sdk.getCustomer(commandOptions.customerId)
@@ -606,7 +710,7 @@ export async function main(rawArgv = process.argv) {
606
710
  customerRef: commandOptions.customer,
607
711
  })
608
712
  : null;
609
- const draft = await sdk.createDraft(resolvedCustomer ? { customerId: resolvedCustomer.id } : {}, { idempotencyKey: randomUUID() });
713
+ const draft = await sdk.createDraft({ ...(resolvedCustomer ? { customerId: resolvedCustomer.id } : {}), issueDate: commandOptions.fecha ?? commandOptions.issuedAt }, { idempotencyKey });
610
714
  await setCurrentDraftId(draft.id);
611
715
  if (commandOptions.json) {
612
716
  printJson(draft);
@@ -650,6 +754,28 @@ export async function main(rawArgv = process.argv) {
650
754
  }
651
755
  printHuman(formatDraftPreview(draft));
652
756
  });
757
+ withJsonFlag(cli
758
+ .command('draft-list', 'Listar borradores remotos')
759
+ .option('--status <status>', 'Estado: draft o error')
760
+ .option('--query <query>', 'Búsqueda')
761
+ .option('--limit <limit>', 'Límite')
762
+ .option('--offset <offset>', 'Resultados a omitir')).action(async (options) => {
763
+ const sdk = await getSdk();
764
+ const drafts = await listDraftsWithStatus({
765
+ sdk,
766
+ status: options.status,
767
+ query: {
768
+ query: normalizeStringOption(options.query),
769
+ limit: options.limit === undefined ? undefined : Number(options.limit),
770
+ offset: options.offset === undefined ? undefined : Number(options.offset),
771
+ },
772
+ });
773
+ if (options.json) {
774
+ printJson(drafts);
775
+ return;
776
+ }
777
+ printHuman(drafts.map((draft) => `${draft.id} ${draft.status} ${draft.receiverLegalName} ${draft.total} ${draft.currency}`));
778
+ });
653
779
  withJsonFlag(cli
654
780
  .command('invoice-list', 'Listar facturas')
655
781
  .option('--status <status>', 'Estado')
@@ -713,6 +839,7 @@ export async function main(rawArgv = process.argv) {
713
839
  });
714
840
  withJsonFlag(cli
715
841
  .command('invoice-set-meta', 'Actualizar metadatos del borrador. Si usas USD sin --exchange-rate, se consulta automáticamente el DOF.')
842
+ .option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
716
843
  .option('--draft-id <draftId>', 'ID del borrador')
717
844
  .option('--cfdi-use <cfdiUse>', 'Uso CFDI')
718
845
  .option('--exportacion <exportacion>', 'Clave SAT c_Exportacion: 01, 02, 03 o 04')
@@ -725,6 +852,7 @@ export async function main(rawArgv = process.argv) {
725
852
  const sdk = await getSdk();
726
853
  const draftId = await resolveDraftId(options.draftId);
727
854
  const input = {
855
+ issueDate: options.fecha ?? options.issuedAt,
728
856
  cfdiUse: normalizeStringOption(options.cfdiUse),
729
857
  exportacion: normalizeNumericCodeOptionFromArgv(argv, '--exportacion', options.exportacion, 2),
730
858
  paymentMethod: normalizeStringOption(options.paymentMethod),
@@ -766,11 +894,13 @@ export async function main(rawArgv = process.argv) {
766
894
  });
767
895
  withJsonFlag(cli
768
896
  .command('invoice-add-item', 'Agregar concepto al borrador. Si omites Clave SAT, unidad o impuestos, FactuCat intenta inferirlos automáticamente.')
897
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
769
898
  .option('--draft-id <draftId>', 'ID del borrador')
770
899
  .option('--description <description>', 'Descripción')
771
900
  .option('--unit-price <unitPrice>', 'Precio unitario')
772
901
  .option('--quantity <quantity>', 'Cantidad', { default: '1' })
773
- .option('--iva <iva>', 'IVA del concepto: 0, 10 o 16. Si lo omites, se infiere automáticamente.')
902
+ .option('--iva <iva>', 'IVA del concepto: 0, 8, 10 (histórico) o 16. 0 significa Tasa 0%. Si lo omites, se infiere automáticamente.')
903
+ .option('--vat-treatment <vatTreatment>', 'Tratamiento de IVA: iva_16, iva_8, tasa_0, exento o no_objeto.')
774
904
  .option('--vat <vat>', 'Alias de compatibilidad para `--iva`')
775
905
  .option('--isr-retenido <isrRetenido>', 'ISR retenido: 0, 1.25 o 10. Si lo omites, se infiere automáticamente.')
776
906
  .option('--isr-withholding <isrWithholding>', 'Alias de compatibilidad para `--isr-retenido`')
@@ -779,6 +909,7 @@ export async function main(rawArgv = process.argv) {
779
909
  if (!options.description || !options.unitPrice) {
780
910
  throw new Error('Debes indicar `--description <description>` y `--unit-price <unitPrice>`.');
781
911
  }
912
+ idempotencyKey = resolveIdempotencyKey(argv);
782
913
  const sdk = await getSdk();
783
914
  const draftId = await resolveDraftId(options.draftId);
784
915
  const iva = normalizeStringOption(options.iva ?? options.vat);
@@ -787,6 +918,7 @@ export async function main(rawArgv = process.argv) {
787
918
  description: String(options.description),
788
919
  quantity: Number(options.quantity),
789
920
  unitPrice: Number(options.unitPrice),
921
+ vatTreatment: options.vatTreatment === undefined ? undefined : invoiceVatTreatmentSchema.parse(options.vatTreatment),
790
922
  vatRate: iva === undefined ? undefined : parseVatFlag(iva),
791
923
  vatSource: iva === undefined ? undefined : 'manual',
792
924
  isrWithholdingRate: isrRetenido === undefined
@@ -802,7 +934,7 @@ export async function main(rawArgv = process.argv) {
802
934
  loading.start('Infiriendo la clave SAT de este concepto...');
803
935
  }
804
936
  const draft = await sdk.addDraftItem(draftId, input, {
805
- idempotencyKey: randomUUID(),
937
+ idempotencyKey,
806
938
  });
807
939
  if (loading) {
808
940
  loading.stop('Concepto clasificado y agregado al borrador.');
@@ -819,11 +951,13 @@ export async function main(rawArgv = process.argv) {
819
951
  .option('--description <description>', 'Descripción')
820
952
  .option('--unit-price <unitPrice>', 'Precio unitario')
821
953
  .option('--quantity <quantity>', 'Cantidad')
954
+ .option('--vat-treatment <vatTreatment>', 'Tratamiento de IVA: iva_16, iva_8, tasa_0, exento o no_objeto.')
822
955
  .option('--product-code <productCode>', 'Clave SAT del producto. Si la omites al cambiar la descripción, se puede re-inferir automáticamente.')
823
956
  .option('--unit-code <unitCode>', 'Clave SAT de unidad. Si la omites al cambiar la descripción, se puede re-inferir automáticamente.')).action(async (itemId, options) => {
824
957
  const sdk = await getSdk();
825
958
  const draftId = await resolveDraftId(options.draftId);
826
959
  const input = {
960
+ vatTreatment: options.vatTreatment === undefined ? undefined : invoiceVatTreatmentSchema.parse(options.vatTreatment),
827
961
  description: normalizeStringOption(options.description),
828
962
  quantity: options.quantity === undefined ? undefined : Number(options.quantity),
829
963
  unitPrice: options.unitPrice === undefined ? undefined : Number(options.unitPrice),
@@ -880,6 +1014,7 @@ export async function main(rawArgv = process.argv) {
880
1014
  productCode: item.productCode,
881
1015
  suggestedProductCode: item.suggestedProductCode,
882
1016
  unitCode: item.unitCode,
1017
+ vatTreatment: item.vatTreatment,
883
1018
  vatRate: item.vatRate,
884
1019
  isrWithholdingRate: item.isrWithholdingRate,
885
1020
  })));
@@ -903,15 +1038,36 @@ export async function main(rawArgv = process.argv) {
903
1038
  });
904
1039
  withJsonFlag(cli
905
1040
  .command('invoice-stamp', 'Timbrar borrador actual. En modo interactivo muestra la previa y pregunta si quieres enviarla al cliente después.')
1041
+ .option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
906
1042
  .option('--draft-id <draftId>', 'ID del borrador')
1043
+ .option('--idempotency-key <key>', 'Clave para reintentar el mismo timbrado')
1044
+ .option('--dry-run', 'Mostrar previa sin timbrar')
1045
+ .option('--yes', 'Confirmar el timbrado sin preguntas')
907
1046
  .option('--no-input', 'Nunca preguntar nada; útil para agentes y scripts')
908
1047
  .option('--send-to-customer-contacts', 'Solicita entrega por email y WhatsApp registrados en el cliente, si existen.')
909
1048
  .option('--send-customer-email', 'Solicita entrega por correo del cliente')
910
1049
  .option('--send-customer-whatsapp', 'Solicita entrega por WhatsApp del cliente')).action(async (options) => {
1050
+ idempotencyKey = resolveIdempotencyKey(argv);
911
1051
  const sdk = await getSdk();
912
1052
  const draftId = await resolveDraftId(options.draftId);
913
- const interactiveMode = canPromptInteractively(options);
914
- const draft = interactiveMode ? await sdk.getDraft(draftId) : null;
1053
+ const interactiveMode = !options.yes && canPromptInteractively(options);
1054
+ const savedDraft = interactiveMode || options.dryRun ? await sdk.getDraft(draftId) : null;
1055
+ const draft = savedDraft && { ...savedDraft, issueDate: options.fecha ?? options.issuedAt ?? savedDraft.issueDate };
1056
+ if (draft) {
1057
+ const environment = await getKeyEnvironment();
1058
+ if (options.dryRun && options.json) {
1059
+ printJson({ dryRun: true, idempotencyKey, environment, draft });
1060
+ return;
1061
+ }
1062
+ printHuman([
1063
+ ...formatDraftPreview(draft),
1064
+ `Entorno: ${environment}`,
1065
+ `Idempotency-Key: ${idempotencyKey}`,
1066
+ ]);
1067
+ }
1068
+ if (options.dryRun) {
1069
+ return;
1070
+ }
915
1071
  const interactiveResolution = interactiveMode && draft
916
1072
  ? await resolveInteractiveStampInput({
917
1073
  sdk,
@@ -934,11 +1090,14 @@ export async function main(rawArgv = process.argv) {
934
1090
  sendCustomerEmail: options.sendCustomerEmail,
935
1091
  sendCustomerWhatsApp: options.sendCustomerWhatsApp,
936
1092
  };
1093
+ const issueDate = options.fecha ?? options.issuedAt;
1094
+ if (issueDate !== undefined)
1095
+ stampInput.issueDate = issueDate;
937
1096
  const loading = !options.json ? spinner() : null;
938
1097
  if (loading) {
939
1098
  loading.start('Timbrando factura...');
940
1099
  }
941
- const invoice = await sdk.stampDraft(draftId, stampInput, { idempotencyKey: randomUUID() });
1100
+ const invoice = await sdk.stampDraft(draftId, stampInput, { idempotencyKey });
942
1101
  if (loading) {
943
1102
  loading.stop('Factura timbrada.');
944
1103
  }
@@ -946,13 +1105,14 @@ export async function main(rawArgv = process.argv) {
946
1105
  await setCurrentDraftId(undefined);
947
1106
  }
948
1107
  if (options.json) {
949
- printJson(invoice);
1108
+ printJson({ ...invoice, idempotencyKey });
950
1109
  return;
951
1110
  }
952
1111
  printHuman([
953
1112
  `Factura timbrada: ${invoice.id}`,
954
1113
  `Folio: ${invoice.folio ?? 'sin folio'}`,
955
1114
  `UUID SAT: ${invoice.satUuid ?? 'pendiente'}`,
1115
+ `Idempotency-Key: ${idempotencyKey}`,
956
1116
  ...formatDeliverySummary({
957
1117
  sendCustomerEmail: stampInput.sendCustomerEmail ??
958
1118
  stampInput.sendToCustomerContacts,
@@ -962,7 +1122,115 @@ export async function main(rawArgv = process.argv) {
962
1122
  }),
963
1123
  ]);
964
1124
  });
965
- withJsonFlag(cli.command('invoice-get <invoiceRef>', 'Obtener factura por UUID o folio')).action(async (invoiceRef, options) => {
1125
+ withJsonFlag(cli
1126
+ .command('invoice-cancel <invoiceRef>', 'Cancelar factura por invoiceId, UUID SAT o folio')
1127
+ .option('--reason <01|02|03|04>', 'Motivo de cancelación (obligatorio)')
1128
+ .option('--replacement-invoice <ref>', 'Factura sustituta (obligatoria para motivo 01)')
1129
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma cancelación')
1130
+ .option('--yes', 'Confirmar la cancelación sin preguntas')
1131
+ .option('--no-input', 'Nunca preguntar; requiere --yes para cancelar')
1132
+ .option('--dry-run', 'Mostrar previa sin cancelar')).action(async (invoiceRef, options) => {
1133
+ const reason = readRawOptionValue(argv, '--reason');
1134
+ const parsedReason = invoiceCancelReasonSchema.safeParse(reason);
1135
+ if (!parsedReason.success) {
1136
+ throw new Error('Debes indicar `--reason` con uno de estos motivos: 01, 02, 03 o 04.');
1137
+ }
1138
+ const replacementOption = readRawOptionValue(argv, '--replacement-invoice');
1139
+ const replacementRef = normalizeStringOption(replacementOption);
1140
+ if (parsedReason.data === '01' && !replacementRef) {
1141
+ throw new Error('El motivo 01 requiere `--replacement-invoice <ref>`.');
1142
+ }
1143
+ if (parsedReason.data !== '01' && replacementOption !== undefined) {
1144
+ throw new Error('`--replacement-invoice` solo se permite con el motivo 01.');
1145
+ }
1146
+ const interactiveMode = canPromptInteractively(options);
1147
+ if (!options.dryRun && !options.yes && !interactiveMode) {
1148
+ throw new Error('Cancelar requiere confirmación explícita. Usa `--yes` para confirmar o `--dry-run` para revisar la previa.');
1149
+ }
1150
+ idempotencyKey = resolveIdempotencyKey(argv);
1151
+ const sdk = await getSdk();
1152
+ const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
1153
+ const invoice = await sdk.getInvoice(invoiceId);
1154
+ if (invoice.status !== 'issued' || !invoice.satUuid?.trim()) {
1155
+ throw new Error('Solo se pueden cancelar facturas emitidas (issued) con UUID SAT.');
1156
+ }
1157
+ const replacementInvoiceId = replacementRef
1158
+ ? await resolveInvoiceReference({ sdk, invoiceRef: replacementRef })
1159
+ : undefined;
1160
+ if (replacementInvoiceId === invoiceId) {
1161
+ throw new Error('La factura sustituta debe ser distinta de la factura que quieres cancelar.');
1162
+ }
1163
+ const replacement = replacementInvoiceId
1164
+ ? await sdk.getInvoice(replacementInvoiceId)
1165
+ : undefined;
1166
+ if (parsedReason.data === '01' &&
1167
+ (replacement?.status !== 'issued' || !replacement.satUuid?.trim())) {
1168
+ throw new Error('El motivo 01 requiere una factura sustituta timbrada.');
1169
+ }
1170
+ const environment = await getKeyEnvironment();
1171
+ const preview = {
1172
+ invoiceId,
1173
+ satUuid: invoice.satUuid,
1174
+ receiverRfc: invoice.receiverRfc,
1175
+ receiverLegalName: invoice.receiverLegalName,
1176
+ total: invoice.total,
1177
+ currency: invoice.currency,
1178
+ reason: parsedReason.data,
1179
+ replacementInvoiceId,
1180
+ replacementSatUuid: replacement?.satUuid,
1181
+ environment,
1182
+ idempotencyKey,
1183
+ };
1184
+ if (options.dryRun && options.json) {
1185
+ printJson({ dryRun: true, ...preview });
1186
+ return;
1187
+ }
1188
+ if (options.dryRun || (interactiveMode && !options.yes)) {
1189
+ printHuman([
1190
+ `Factura: ${invoiceId}`,
1191
+ `UUID SAT: ${preview.satUuid}`,
1192
+ `Receptor: ${preview.receiverLegalName}`,
1193
+ `RFC: ${preview.receiverRfc}`,
1194
+ `Total: ${preview.total} ${preview.currency}`,
1195
+ `Motivo: ${preview.reason}`,
1196
+ ...(replacementInvoiceId
1197
+ ? [
1198
+ `Factura sustituta: ${replacementInvoiceId}`,
1199
+ `UUID SAT de la sustituta: ${preview.replacementSatUuid}`,
1200
+ ]
1201
+ : []),
1202
+ `Entorno: ${environment}`,
1203
+ `Idempotency-Key: ${idempotencyKey}`,
1204
+ ]);
1205
+ }
1206
+ if (options.dryRun) {
1207
+ return;
1208
+ }
1209
+ if (!options.yes) {
1210
+ const confirmed = await confirm({
1211
+ message: '¿Confirmas la cancelación de esta factura?',
1212
+ active: 'Sí, cancelar factura',
1213
+ inactive: 'No, conservar factura',
1214
+ initialValue: false,
1215
+ });
1216
+ if (isCancel(confirmed) || !confirmed) {
1217
+ outro('No se solicitó la cancelación.');
1218
+ return;
1219
+ }
1220
+ }
1221
+ const result = await sdk.cancelInvoice(invoiceId, { reason: parsedReason.data, replacementInvoiceId }, { idempotencyKey });
1222
+ if (options.json) {
1223
+ printJson({ ...result, idempotencyKey });
1224
+ return;
1225
+ }
1226
+ printHuman([
1227
+ result.status === 'cancelled'
1228
+ ? `Factura cancelada: ${invoiceId}`
1229
+ : `Cancelación aún no confirmada: ${invoiceId}`,
1230
+ `Idempotency-Key: ${idempotencyKey}`,
1231
+ ]);
1232
+ });
1233
+ withJsonFlag(cli.command('invoice-get <invoiceRef>', 'Obtener factura por invoiceId, UUID SAT o folio')).action(async (invoiceRef, options) => {
966
1234
  const sdk = await getSdk();
967
1235
  const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
968
1236
  const invoice = await sdk.getInvoice(invoiceId);
@@ -977,7 +1245,7 @@ export async function main(rawArgv = process.argv) {
977
1245
  `Total: ${invoice.total} ${invoice.currency}`,
978
1246
  ]);
979
1247
  });
980
- withJsonFlag(cli.command('invoice-download-xml <invoiceRef>', 'Descargar XML timbrado por UUID o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
1248
+ withJsonFlag(cli.command('invoice-download-xml <invoiceRef>', 'Descargar XML timbrado por invoiceId, UUID SAT o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
981
1249
  const sdk = await getSdk();
982
1250
  const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
983
1251
  const xml = await sdk.downloadInvoiceXml(invoiceId);
@@ -992,7 +1260,7 @@ export async function main(rawArgv = process.argv) {
992
1260
  });
993
1261
  printHuman([`Archivo guardado en: ${savedPath}`, xml.mimeType]);
994
1262
  });
995
- withJsonFlag(cli.command('invoice-download-pdf <invoiceRef>', 'Descargar PDF timbrado por UUID o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
1263
+ withJsonFlag(cli.command('invoice-download-pdf <invoiceRef>', 'Descargar PDF timbrado por invoiceId, UUID SAT o folio').option('--output <path>', 'Ruta destino. Puede ser archivo o carpeta. Si lo omites, se guarda en el directorio actual.')).action(async (invoiceRef, options) => {
996
1264
  const sdk = await getSdk();
997
1265
  const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
998
1266
  const pdf = await sdk.downloadInvoicePdf(invoiceId);
@@ -1022,6 +1290,21 @@ export async function main(rawArgv = process.argv) {
1022
1290
  }
1023
1291
  printHuman(customers.map((customer) => `${customer.id} ${customer.legalName}`));
1024
1292
  });
1293
+ withJsonFlag(cli.command('customer-get <customerId>', 'Obtener cliente')).action(async (customerId, options) => {
1294
+ const sdk = await getSdk();
1295
+ const customer = await sdk.getCustomer(customerId);
1296
+ if (options.json) {
1297
+ printJson(customer);
1298
+ return;
1299
+ }
1300
+ printHuman([
1301
+ `Cliente: ${customer.id}`,
1302
+ `Razón social: ${customer.legalName}`,
1303
+ `RFC: ${customer.rfc}`,
1304
+ `Código postal: ${customer.postalCode}`,
1305
+ `Régimen fiscal: ${customer.taxRegime}`,
1306
+ ]);
1307
+ });
1025
1308
  withJsonFlag(cli.command('customer-search <query>', 'Buscar clientes')).action(async (query, options) => {
1026
1309
  const sdk = await getSdk();
1027
1310
  const customers = await sdk.listCustomers({ query });
@@ -1033,6 +1316,7 @@ export async function main(rawArgv = process.argv) {
1033
1316
  });
1034
1317
  withJsonFlag(cli
1035
1318
  .command('customer-create', 'Crear cliente')
1319
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
1036
1320
  .option('--legal-name <legalName>', 'Razón social')
1037
1321
  .option('--rfc <rfc>', 'RFC')
1038
1322
  .option('--postal-code <postalCode>', 'Código postal')
@@ -1044,6 +1328,7 @@ export async function main(rawArgv = process.argv) {
1044
1328
  if (!options.legalName || !options.rfc || !options.postalCode || !options.taxRegime) {
1045
1329
  throw new Error('Debes indicar `--legal-name`, `--rfc`, `--postal-code` y `--tax-regime`.');
1046
1330
  }
1331
+ idempotencyKey = resolveIdempotencyKey(argv);
1047
1332
  const sdk = await getSdk();
1048
1333
  const input = {
1049
1334
  legalName: String(options.legalName),
@@ -1057,7 +1342,7 @@ export async function main(rawArgv = process.argv) {
1057
1342
  sendInvoices: true,
1058
1343
  };
1059
1344
  const customer = await sdk.createCustomer(input, {
1060
- idempotencyKey: randomUUID(),
1345
+ idempotencyKey,
1061
1346
  });
1062
1347
  if (options.json) {
1063
1348
  printJson(customer);
@@ -1076,15 +1361,16 @@ export async function main(rawArgv = process.argv) {
1076
1361
  error: {
1077
1362
  message: getErrorMessage(error),
1078
1363
  },
1364
+ ...(idempotencyKey ? { idempotencyKey } : {}),
1079
1365
  });
1080
1366
  }
1081
1367
  else {
1082
1368
  process.stderr.write(`${getErrorMessage(error)}\n`);
1369
+ if (idempotencyKey) {
1370
+ process.stderr.write(`Idempotency-Key: ${idempotencyKey}\n`);
1371
+ }
1083
1372
  }
1084
1373
  process.exitCode = exitCodeFromError(error);
1085
1374
  }
1086
1375
  }
1087
- if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
1088
- void main();
1089
- }
1090
1376
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export function getErrorMessage(error) {
25
25
  if (error.code === 'plan_required') {
26
26
  const base = error.message ||
27
27
  'Tu plan actual no incluye la API pública de FactuCat.';
28
- const upgrade = 'Actualiza a un plan con API (Miau Pro o plan API) desde Suscripción en la configuración de FactuCat: https://factucat.com/settings/subscription';
28
+ const upgrade = 'Actualiza a un plan con API (Miau Pro o Plan API) desde Suscripción en la configuración de FactuCat: https://factucat.com/settings/subscription';
29
29
  const requestId = error.requestId && error.requestId !== 'unknown'
30
30
  ? ` (requestId: ${error.requestId})`
31
31
  : '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factucat/cli",
3
- "version": "0.2.5",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "description": "CLI for Mexican CFDI 4.0 invoicing with FactuCat Cloud",
6
6
  "type": "module",
@@ -30,7 +30,7 @@
30
30
  "dist"
31
31
  ],
32
32
  "bin": {
33
- "factucat": "./dist/index.js"
33
+ "factucat": "./dist/bin.js"
34
34
  },
35
35
  "main": "./dist/index.js",
36
36
  "types": "./dist/index.d.ts",
@@ -41,18 +41,19 @@
41
41
  }
42
42
  },
43
43
  "devDependencies": {
44
- "@types/node": "^24.12.0"
44
+ "@types/node": "^24.19.2"
45
45
  },
46
46
  "dependencies": {
47
- "@clack/prompts": "^1.1.0",
48
- "cac": "^7.0.0",
49
- "@factucat/public-api-contracts": "0.3.0",
50
- "@factucat/sdk": "0.3.0"
47
+ "@clack/prompts": "^1.8.1",
48
+ "@factucat/public-api-contracts": "0.4.0",
49
+ "@factucat/sdk": "0.4.0",
50
+ "cac": "^7.1.0"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "tsc -p tsconfig.build.json",
54
54
  "lint": "eslint \"src/**/*.ts\" --ignore-pattern \"src/**/*.d.ts\" --ignore-pattern \"src/**/*.test.ts\"",
55
- "factucat": "tsx src/index.ts",
56
- "test": "vitest run"
55
+ "factucat": "tsx src/bin.ts",
56
+ "test": "vitest run",
57
+ "typecheck": "tsc --noEmit -p tsconfig.json"
57
58
  }
58
59
  }