@factucat/sdk 0.2.2 → 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 ADDED
@@ -0,0 +1,74 @@
1
+ # @factucat/sdk
2
+
3
+ SDK **0.3.0**, cliente oficial de FactuCat para TypeScript y Node.js. Incluye métodos tipados, validación de respuestas y autenticación mediante el header `X-API-Key`. Úsalo desde tu servidor para mantener privada la API key.
4
+
5
+ Consulta la [referencia de los 20 métodos](https://docs.factucat.com/sdk/metodos/) para ver parámetros, permisos, respuestas completas y ejemplos, junto con la [configuración](https://docs.factucat.com/sdk/configuracion/), los [tipos y la paginación](https://docs.factucat.com/sdk/tipos-y-paginacion/) y el [manejo de errores](https://docs.factucat.com/sdk/errores-y-reintentos/).
6
+
7
+ | Gestor | Instalación |
8
+ | ------ | --------------------------- |
9
+ | npm | `npm install @factucat/sdk` |
10
+ | yarn | `yarn add @factucat/sdk` |
11
+ | pnpm | `pnpm add @factucat/sdk` |
12
+ | bun | `bun add @factucat/sdk` |
13
+ | nub | `nub add @factucat/sdk` |
14
+
15
+ ```ts
16
+ import { createFactuCatSdk } from '@factucat/sdk'
17
+
18
+ const apiKey = process.env.FACTUCAT_API_KEY
19
+ if (!apiKey) throw new Error('Falta FACTUCAT_API_KEY')
20
+
21
+ const factucat = createFactuCatSdk({ apiKey })
22
+
23
+ const cuenta = await factucat.getMe()
24
+ console.log(cuenta.scopes)
25
+ ```
26
+
27
+ Los métodos devuelven directamente `data`, sin el envoltorio HTTP. El runtime debe ofrecer `fetch`, `crypto.randomUUID` y `AbortSignal.any` (por ejemplo, Node.js 22 o posterior).
28
+
29
+ ## Ambiente automático
30
+
31
+ `baseUrl` es opcional. Una llave con prefijo `fc_test_` selecciona `https://sandbox.factucat.com`; las demás llaves usan `https://factucat.com`.
32
+
33
+ Para desarrollo local u otro ambiente, puedes indicar una `baseUrl` explícita. Esta opción tiene prioridad sobre el prefijo de la llave y debe ser el origen, sin `/api/v1`:
34
+
35
+ ```ts
36
+ const factucat = createFactuCatSdk({
37
+ apiKey,
38
+ baseUrl: 'http://localhost:3000',
39
+ })
40
+ ```
41
+
42
+ Prepara tu cuenta y tu llave de pruebas en [sandbox.factucat.com](https://sandbox.factucat.com). Si una solicitud falla, el SDK conserva el mismo ambiente al reintentar.
43
+
44
+ ## Idempotencia automática
45
+
46
+ Cuando omites `idempotencyKey`, cada llamada que modifica datos genera una clave UUID y la envía en `Idempotency-Key`. Si hay un error de red o timeout, el SDK reintenta una sola vez con la misma clave y contenido. Las consultas GET no generan claves.
47
+
48
+ ```ts
49
+ // Una operación nueva: la clave se genera automáticamente.
50
+ const borrador = await factucat.createDraft()
51
+ ```
52
+
53
+ Una llamada nueva genera otra clave. Para continuar la misma operación después de un reinicio o desde otro proceso, guarda tu propia clave antes de enviar la solicitud y reutilízala con el mismo método, ruta y contenido:
54
+
55
+ ```ts
56
+ const borrador = await factucat.createDraft(
57
+ {},
58
+ {
59
+ idempotencyKey: 'pedido-1001-crear-borrador',
60
+ },
61
+ )
62
+ ```
63
+
64
+ Las claves propias deben tener entre 1 y 255 caracteres; se eliminan los espacios al inicio y al final. No se aceptan claves vacías. Usa una clave distinta para el siguiente paso, por ejemplo `pedido-1001-timbrar`.
65
+
66
+ ## Errores y reintentos
67
+
68
+ - `FactuCatApiError`: respuesta HTTP de error, con `status`, `code`, `requestId` y `retryable`. El SDK la devuelve sin reintentar automáticamente, incluso cuando `retryable` es `true`.
69
+ - `FactuCatNetworkError`: fallo de transporte después del reintento, o cancelación mediante `signal`. `timedOut` indica si el error final fue un timeout.
70
+ - `ZodError`: solicitud o respuesta que no cumple el contrato. No se reintenta automáticamente.
71
+
72
+ El timeout predeterminado es de 30 segundos por intento y la espera entre intentos es de 250 ms. Puedes configurar `timeoutMs` al crear el cliente y pasar un `signal` en las opciones de cada operación.
73
+
74
+ La clave generada protege los reintentos internos de una llamada. Si se agotan durante el timbrado, consulta el borrador o documento original: un error de conexión no confirma que el CFDI no se haya emitido.
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
- import type { CustomerCreateInput, CustomerListQuery, CustomerRecord, DraftAddItemInput, DraftCreateInput, DraftListItem, DraftListQuery, DraftRecord, DraftSetMetaInput, DraftSetReceiverInput, DraftStampInput, DraftUpdateItemInput, InvoiceListItem, InvoiceListQuery, InvoicePdfOutput, InvoiceRecord, InvoiceXmlOutput, PublicApiErrorCode, PublicMe } from '@factucat/public-api-contracts';
1
+ import type { CustomerCreateInput, CustomerListQuery, CustomerRecord, DraftAddItemInput, DraftCreateInput, DraftListItem, DraftListQuery, DraftRecord, DraftSetMetaInput, DraftSetReceiverInput, DraftStampInput, DraftUpdateItemInput, ExternalInvoiceCancelInput, ExternalInvoiceCancelOutput, InvoiceCancelInput, InvoiceCancelOutput, InvoiceListItem, InvoiceListQuery, InvoicePdfOutput, InvoiceRecord, InvoiceXmlOutput, PublicApiErrorCode, PublicMe } from '@factucat/public-api-contracts';
2
2
  type HttpMethod = 'DELETE' | 'GET' | 'PATCH' | 'POST';
3
3
  export declare class FactuCatApiError extends Error {
4
- readonly code: PublicApiErrorCode;
4
+ /** Server error code; may be a newer code than this SDK's typed enum. */
5
+ readonly code: PublicApiErrorCode | (string & {});
5
6
  readonly requestId: string;
6
7
  readonly retryable: boolean;
7
8
  readonly status: number;
8
9
  constructor(input: {
9
- code: PublicApiErrorCode;
10
+ code: PublicApiErrorCode | (string & {});
10
11
  message: string;
11
12
  requestId: string;
12
13
  retryable: boolean;
@@ -27,10 +28,20 @@ export declare class FactuCatNetworkError extends Error {
27
28
  }
28
29
  type RequestOptions = {
29
30
  signal?: AbortSignal;
31
+ /**
32
+ * Identifies one logical operation (1–255 characters).
33
+ * Mutations generate a UUID when omitted and reuse it for transport retries.
34
+ * Persist your own key to resume the same operation across separate calls.
35
+ */
30
36
  idempotencyKey?: string;
31
37
  };
32
38
  export type FactuCatSdkOptions = {
33
- baseUrl: string;
39
+ /**
40
+ * API origin, without /api/v1. Overrides automatic environment selection.
41
+ * Defaults to https://sandbox.factucat.com for fc_test_ keys and
42
+ * https://factucat.com for all other keys.
43
+ */
44
+ baseUrl?: string;
34
45
  apiKey: string;
35
46
  userAgent?: string;
36
47
  timeoutMs?: number;
@@ -45,6 +56,7 @@ export declare class FactuCatSdk {
45
56
  constructor(options: FactuCatSdkOptions);
46
57
  private isTimeoutError;
47
58
  private shouldRetryRequest;
59
+ private toApiError;
48
60
  private sleep;
49
61
  getMe(options?: RequestOptions): Promise<PublicMe>;
50
62
  listCustomers(input?: CustomerListQuery, options?: RequestOptions): Promise<{
@@ -122,10 +134,11 @@ export declare class FactuCatSdk {
122
134
  status: "error" | "draft" | "issued" | "cancelled";
123
135
  cfdiType: string;
124
136
  cfdiUse: string;
137
+ exportacion: "01" | "02" | "03" | "04";
125
138
  currency: "MXN" | "USD" | "EUR";
126
139
  exchangeRate: number;
127
140
  subtotal: number;
128
- vatRate: 0 | 0.1 | 0.16;
141
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
129
142
  taxTotal: number;
130
143
  total: number;
131
144
  pdfLanguage: "es" | "en";
@@ -140,7 +153,7 @@ export declare class FactuCatSdk {
140
153
  quantity: number;
141
154
  unitPrice: number;
142
155
  amount: number;
143
- vatRate: 0 | 0.1 | 0.16;
156
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
144
157
  isrWithholdingRate: 0 | 0.1 | 0.0125;
145
158
  productCode?: string | undefined;
146
159
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -177,10 +190,11 @@ export declare class FactuCatSdk {
177
190
  status: "error" | "draft" | "issued" | "cancelled";
178
191
  cfdiType: string;
179
192
  cfdiUse: string;
193
+ exportacion: "01" | "02" | "03" | "04";
180
194
  currency: "MXN" | "USD" | "EUR";
181
195
  exchangeRate: number;
182
196
  subtotal: number;
183
- vatRate: 0 | 0.1 | 0.16;
197
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
184
198
  taxTotal: number;
185
199
  total: number;
186
200
  pdfLanguage: "es" | "en";
@@ -195,7 +209,7 @@ export declare class FactuCatSdk {
195
209
  quantity: number;
196
210
  unitPrice: number;
197
211
  amount: number;
198
- vatRate: 0 | 0.1 | 0.16;
212
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
199
213
  isrWithholdingRate: 0 | 0.1 | 0.0125;
200
214
  productCode?: string | undefined;
201
215
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -232,10 +246,11 @@ export declare class FactuCatSdk {
232
246
  status: "error" | "draft" | "issued" | "cancelled";
233
247
  cfdiType: string;
234
248
  cfdiUse: string;
249
+ exportacion: "01" | "02" | "03" | "04";
235
250
  currency: "MXN" | "USD" | "EUR";
236
251
  exchangeRate: number;
237
252
  subtotal: number;
238
- vatRate: 0 | 0.1 | 0.16;
253
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
239
254
  taxTotal: number;
240
255
  total: number;
241
256
  pdfLanguage: "es" | "en";
@@ -250,7 +265,7 @@ export declare class FactuCatSdk {
250
265
  quantity: number;
251
266
  unitPrice: number;
252
267
  amount: number;
253
- vatRate: 0 | 0.1 | 0.16;
268
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
254
269
  isrWithholdingRate: 0 | 0.1 | 0.0125;
255
270
  productCode?: string | undefined;
256
271
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -287,10 +302,11 @@ export declare class FactuCatSdk {
287
302
  status: "error" | "draft" | "issued" | "cancelled";
288
303
  cfdiType: string;
289
304
  cfdiUse: string;
305
+ exportacion: "01" | "02" | "03" | "04";
290
306
  currency: "MXN" | "USD" | "EUR";
291
307
  exchangeRate: number;
292
308
  subtotal: number;
293
- vatRate: 0 | 0.1 | 0.16;
309
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
294
310
  taxTotal: number;
295
311
  total: number;
296
312
  pdfLanguage: "es" | "en";
@@ -305,7 +321,7 @@ export declare class FactuCatSdk {
305
321
  quantity: number;
306
322
  unitPrice: number;
307
323
  amount: number;
308
- vatRate: 0 | 0.1 | 0.16;
324
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
309
325
  isrWithholdingRate: 0 | 0.1 | 0.0125;
310
326
  productCode?: string | undefined;
311
327
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -342,10 +358,11 @@ export declare class FactuCatSdk {
342
358
  status: "error" | "draft" | "issued" | "cancelled";
343
359
  cfdiType: string;
344
360
  cfdiUse: string;
361
+ exportacion: "01" | "02" | "03" | "04";
345
362
  currency: "MXN" | "USD" | "EUR";
346
363
  exchangeRate: number;
347
364
  subtotal: number;
348
- vatRate: 0 | 0.1 | 0.16;
365
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
349
366
  taxTotal: number;
350
367
  total: number;
351
368
  pdfLanguage: "es" | "en";
@@ -360,7 +377,7 @@ export declare class FactuCatSdk {
360
377
  quantity: number;
361
378
  unitPrice: number;
362
379
  amount: number;
363
- vatRate: 0 | 0.1 | 0.16;
380
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
364
381
  isrWithholdingRate: 0 | 0.1 | 0.0125;
365
382
  productCode?: string | undefined;
366
383
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -397,10 +414,11 @@ export declare class FactuCatSdk {
397
414
  status: "error" | "draft" | "issued" | "cancelled";
398
415
  cfdiType: string;
399
416
  cfdiUse: string;
417
+ exportacion: "01" | "02" | "03" | "04";
400
418
  currency: "MXN" | "USD" | "EUR";
401
419
  exchangeRate: number;
402
420
  subtotal: number;
403
- vatRate: 0 | 0.1 | 0.16;
421
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
404
422
  taxTotal: number;
405
423
  total: number;
406
424
  pdfLanguage: "es" | "en";
@@ -415,7 +433,7 @@ export declare class FactuCatSdk {
415
433
  quantity: number;
416
434
  unitPrice: number;
417
435
  amount: number;
418
- vatRate: 0 | 0.1 | 0.16;
436
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
419
437
  isrWithholdingRate: 0 | 0.1 | 0.0125;
420
438
  productCode?: string | undefined;
421
439
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -452,10 +470,11 @@ export declare class FactuCatSdk {
452
470
  status: "error" | "draft" | "issued" | "cancelled";
453
471
  cfdiType: string;
454
472
  cfdiUse: string;
473
+ exportacion: "01" | "02" | "03" | "04";
455
474
  currency: "MXN" | "USD" | "EUR";
456
475
  exchangeRate: number;
457
476
  subtotal: number;
458
- vatRate: 0 | 0.1 | 0.16;
477
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
459
478
  taxTotal: number;
460
479
  total: number;
461
480
  pdfLanguage: "es" | "en";
@@ -470,7 +489,7 @@ export declare class FactuCatSdk {
470
489
  quantity: number;
471
490
  unitPrice: number;
472
491
  amount: number;
473
- vatRate: 0 | 0.1 | 0.16;
492
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
474
493
  isrWithholdingRate: 0 | 0.1 | 0.0125;
475
494
  productCode?: string | undefined;
476
495
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -510,10 +529,11 @@ export declare class FactuCatSdk {
510
529
  status: "error" | "draft" | "issued" | "cancelled";
511
530
  cfdiType: string;
512
531
  cfdiUse: string;
532
+ exportacion: "01" | "02" | "03" | "04";
513
533
  currency: "MXN" | "USD" | "EUR";
514
534
  exchangeRate: number;
515
535
  subtotal: number;
516
- vatRate: 0 | 0.1 | 0.16;
536
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
517
537
  taxTotal: number;
518
538
  total: number;
519
539
  pdfLanguage: "es" | "en";
@@ -528,7 +548,7 @@ export declare class FactuCatSdk {
528
548
  quantity: number;
529
549
  unitPrice: number;
530
550
  amount: number;
531
- vatRate: 0 | 0.1 | 0.16;
551
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
532
552
  isrWithholdingRate: 0 | 0.1 | 0.0125;
533
553
  productCode?: string | undefined;
534
554
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -554,6 +574,8 @@ export declare class FactuCatSdk {
554
574
  issuedAt?: string | undefined;
555
575
  cancelledAt?: string | undefined;
556
576
  }>;
577
+ cancelInvoice(id: string, input: InvoiceCancelInput, options?: RequestOptions): Promise<InvoiceCancelOutput>;
578
+ cancelExternalInvoice(input: ExternalInvoiceCancelInput, options?: RequestOptions): Promise<ExternalInvoiceCancelOutput>;
557
579
  listInvoices(input?: InvoiceListQuery, options?: RequestOptions): Promise<{
558
580
  id: string;
559
581
  folio: string;
@@ -578,10 +600,11 @@ export declare class FactuCatSdk {
578
600
  status: "error" | "draft" | "issued" | "cancelled";
579
601
  cfdiType: string;
580
602
  cfdiUse: string;
603
+ exportacion: "01" | "02" | "03" | "04";
581
604
  currency: "MXN" | "USD" | "EUR";
582
605
  exchangeRate: number;
583
606
  subtotal: number;
584
- vatRate: 0 | 0.1 | 0.16;
607
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
585
608
  taxTotal: number;
586
609
  total: number;
587
610
  pdfLanguage: "es" | "en";
@@ -596,7 +619,7 @@ export declare class FactuCatSdk {
596
619
  quantity: number;
597
620
  unitPrice: number;
598
621
  amount: number;
599
- vatRate: 0 | 0.1 | 0.16;
622
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
600
623
  isrWithholdingRate: 0 | 0.1 | 0.0125;
601
624
  productCode?: string | undefined;
602
625
  vatSource?: "default" | "manual" | "inferred" | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { createPublicSuccessEnvelopeSchema, customerCreateInputSchema, customerListQuerySchema, customerRecordSchema, draftAddItemInputSchema, draftCreateInputSchema, draftListItemSchema, draftListQuerySchema, draftRecordSchema, draftSetMetaInputSchema, draftSetReceiverInputSchema, draftStampInputSchema, draftUpdateItemInputSchema, externalInvoiceCancelInputSchema, externalInvoiceCancelOutputSchema, invoiceCancelInputSchema, invoiceCancelOutputSchema, invoiceListItemSchema, invoiceListQuerySchema, invoicePdfOutputSchema, invoiceRecordSchema, invoiceXmlOutputSchema, publicApiErrorCodeSchema, publicErrorEnvelopeSchema, publicMeSchema, } from '@factucat/public-api-contracts';
1
2
  import { z } from 'zod';
2
- import { createPublicSuccessEnvelopeSchema, customerCreateInputSchema, customerListQuerySchema, customerRecordSchema, draftAddItemInputSchema, draftCreateInputSchema, draftListItemSchema, draftListQuerySchema, draftRecordSchema, draftSetMetaInputSchema, draftSetReceiverInputSchema, draftStampInputSchema, draftUpdateItemInputSchema, invoiceListItemSchema, invoiceListQuerySchema, invoicePdfOutputSchema, invoiceRecordSchema, invoiceXmlOutputSchema, publicErrorEnvelopeSchema, publicMeSchema, } from '@factucat/public-api-contracts';
3
3
  export class FactuCatApiError extends Error {
4
+ /** Server error code; may be a newer code than this SDK's typed enum. */
4
5
  code;
5
6
  requestId;
6
7
  retryable;
@@ -50,7 +51,10 @@ export class FactuCatSdk {
50
51
  userAgent;
51
52
  constructor(options) {
52
53
  this.apiKey = options.apiKey;
53
- this.baseUrl = options.baseUrl.replace(/\/+$/, '');
54
+ this.baseUrl = (options.baseUrl ??
55
+ (options.apiKey.startsWith('fc_test_')
56
+ ? 'https://sandbox.factucat.com'
57
+ : 'https://factucat.com')).replace(/\/+$/, '');
54
58
  this.fetchImpl = options.fetch ?? fetch;
55
59
  this.timeoutMs = options.timeoutMs ?? 30_000;
56
60
  this.userAgent = options.userAgent;
@@ -63,6 +67,47 @@ export class FactuCatSdk {
63
67
  input.method === 'DELETE' ||
64
68
  input.idempotencyKey !== undefined);
65
69
  }
70
+ toApiError(json, response) {
71
+ const parsed = publicErrorEnvelopeSchema.safeParse(json);
72
+ if (parsed.success) {
73
+ return new FactuCatApiError({
74
+ ...parsed.data.error,
75
+ status: response.status,
76
+ });
77
+ }
78
+ const headerRequestId = response.headers.get('x-request-id') ??
79
+ response.headers.get('X-Request-Id');
80
+ const body = json && typeof json === 'object' && 'error' in json
81
+ ? json.error
82
+ : undefined;
83
+ const record = body && typeof body === 'object' ? body : null;
84
+ const codeRaw = typeof record?.code === 'string' ? record.code : null;
85
+ const knownCode = codeRaw
86
+ ? publicApiErrorCodeSchema.safeParse(codeRaw)
87
+ : null;
88
+ const message = typeof record?.message === 'string' && record.message.trim().length > 0
89
+ ? record.message
90
+ : `Respuesta inválida del servidor (${response.status}).`;
91
+ const requestId = (typeof record?.requestId === 'string' &&
92
+ record.requestId.trim().length > 0
93
+ ? record.requestId
94
+ : null) ??
95
+ (headerRequestId && headerRequestId.trim().length > 0
96
+ ? headerRequestId
97
+ : 'unknown');
98
+ const retryable = typeof record?.retryable === 'boolean'
99
+ ? record.retryable
100
+ : response.status >= 500;
101
+ return new FactuCatApiError({
102
+ code: knownCode?.success
103
+ ? knownCode.data
104
+ : (codeRaw ?? 'internal_error'),
105
+ message,
106
+ requestId,
107
+ retryable,
108
+ status: response.status,
109
+ });
110
+ }
66
111
  async sleep(ms) {
67
112
  await new Promise((resolve) => setTimeout(resolve, ms));
68
113
  }
@@ -173,6 +218,22 @@ export class FactuCatSdk {
173
218
  ...options,
174
219
  });
175
220
  }
221
+ async cancelInvoice(id, input, options) {
222
+ return this.request(`/api/v1/invoices/${id}/cancel`, {
223
+ method: 'POST',
224
+ body: invoiceCancelInputSchema.parse(input),
225
+ responseSchema: createPublicSuccessEnvelopeSchema(invoiceCancelOutputSchema),
226
+ ...options,
227
+ });
228
+ }
229
+ async cancelExternalInvoice(input, options) {
230
+ return this.request('/api/v1/external-invoice-cancellations', {
231
+ method: 'POST',
232
+ body: externalInvoiceCancelInputSchema.parse(input),
233
+ responseSchema: createPublicSuccessEnvelopeSchema(externalInvoiceCancelOutputSchema),
234
+ ...options,
235
+ });
236
+ }
176
237
  async listInvoices(input = {}, options) {
177
238
  const query = invoiceListQuerySchema.parse(input);
178
239
  return this.request(`/api/v1/invoices${buildQuery(query)}`, {
@@ -203,9 +264,15 @@ export class FactuCatSdk {
203
264
  });
204
265
  }
205
266
  async request(path, input) {
267
+ // Resolve once per logical call, before retries can reach the server.
268
+ const idempotencyKey = input.idempotencyKey === undefined
269
+ ? input.method === 'GET'
270
+ ? undefined
271
+ : globalThis.crypto.randomUUID()
272
+ : z.string().trim().min(1).max(255).parse(input.idempotencyKey);
206
273
  const maxAttempts = this.shouldRetryRequest({
207
274
  method: input.method,
208
- idempotencyKey: input.idempotencyKey,
275
+ idempotencyKey,
209
276
  })
210
277
  ? 2
211
278
  : 1;
@@ -225,29 +292,14 @@ export class FactuCatSdk {
225
292
  ? {}
226
293
  : { 'content-type': 'application/json' }),
227
294
  ...(this.userAgent ? { 'user-agent': this.userAgent } : {}),
228
- ...(input.idempotencyKey
229
- ? { 'idempotency-key': input.idempotencyKey }
230
- : {}),
295
+ ...(idempotencyKey ? { 'idempotency-key': idempotencyKey } : {}),
231
296
  },
232
297
  body: input.body === undefined ? undefined : JSON.stringify(input.body),
233
298
  signal,
234
299
  });
235
300
  const json = await response.json().catch(() => ({}));
236
301
  if (!response.ok) {
237
- const parsed = publicErrorEnvelopeSchema.safeParse(json);
238
- if (parsed.success) {
239
- throw new FactuCatApiError({
240
- ...parsed.data.error,
241
- status: response.status,
242
- });
243
- }
244
- throw new FactuCatApiError({
245
- code: 'internal_error',
246
- message: `Respuesta inválida del servidor (${response.status}).`,
247
- requestId: 'unknown',
248
- retryable: response.status >= 500,
249
- status: response.status,
250
- });
302
+ throw this.toApiError(json, response);
251
303
  }
252
304
  const parsed = input.responseSchema.parse(json);
253
305
  return parsed.data;
@@ -257,7 +309,7 @@ export class FactuCatSdk {
257
309
  throw error;
258
310
  }
259
311
  const timedOut = this.isTimeoutError(error);
260
- const shouldRetry = attempt < maxAttempts && !(input.signal?.aborted);
312
+ const shouldRetry = attempt < maxAttempts && !input.signal?.aborted;
261
313
  if (shouldRetry) {
262
314
  await this.sleep(250);
263
315
  continue;
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factucat/sdk",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -19,10 +19,20 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "zod": "^4.3.6",
22
- "@factucat/public-api-contracts": "0.2.1"
22
+ "@factucat/public-api-contracts": "0.3.0"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/factucat/factucat.git",
27
+ "directory": "packages/sdk"
28
+ },
29
+ "homepage": "https://github.com/factucat/factucat/tree/main/packages/sdk",
30
+ "bugs": {
31
+ "url": "https://github.com/factucat/factucat/issues"
23
32
  },
24
33
  "scripts": {
25
34
  "build": "tsc -p tsconfig.build.json",
26
- "lint": "eslint \"src/**/*.ts\" --ignore-pattern \"src/**/*.d.ts\""
35
+ "test": "pnpm build && node --test tests/*.test.mjs",
36
+ "lint": "eslint \"src/**/*.ts\" \"tests/**/*.mjs\" --ignore-pattern \"src/**/*.d.ts\""
27
37
  }
28
38
  }