@ramiidv/arca-agro 0.3.0 → 0.5.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/CHANGELOG.md ADDED
@@ -0,0 +1,130 @@
1
+ # Changelog
2
+
3
+ ## 0.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - d535462: Cambio incompatible: se quita `serverStatus()` (deprecado). Usar `status()`, que devuelve lo mismo.
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [87f58c1]
12
+ - @ramiidv/arca-common@0.6.0
13
+
14
+ ## 0.4.0
15
+
16
+ ### Minor Changes
17
+
18
+ - 8c02c30: API uniforme entre los SDKs (los nombres anteriores siguen funcionando,
19
+ marcados `@deprecated`, hasta la próxima major):
20
+
21
+ - arca-facturacion: la clase principal es `ArcaFacturacion` (`Arca` queda como
22
+ alias). Nuevo `status()` → `{ wsfe, wsfex }` con `ServiceStatus` y el
23
+ `ServerStatus` de arca-common (`appserver`/`dbserver`/`authserver`);
24
+ `serverStatus()`/`serverStatusExpo()` y su `ServerStatus` en mayúsculas
25
+ quedan deprecados.
26
+ - arca-agro: `status()` (antes `serverStatus()`).
27
+ - arca-fecred: el cliente de bajo nivel es `client` (antes `fecred`).
28
+ - arca-common: `ServiceStatus` y `statusOf()` para el estado de varios servicios.
29
+ - bed68e8: Paquetes solo ESM y Node >= 20.19. `arca-common`, `arca-facturacion` y
30
+ `arca-padron` dejan de publicar un build CommonJS: desde CommonJS se cargan con
31
+ `require()` (require(esm), Node >= 20.19 / 22.12). Todos los paquetes pasan a
32
+ requerir Node >= 20.19.0 (Node 18 y 20 sin soporte). El código vive ahora en el
33
+ monorepo `arca-sdks`.
34
+ - f8bd053: Las clases principales extienden `ArcaSdkBase` de arca-common, así que todos
35
+ los SDKs tienen la misma base: `wsaa`, `cuit`, `production`, `on()`/`off()`,
36
+ `clearAuthCache()`, `config.wsaa` (WsaaClient compartido) y `config.signal`
37
+ (signal global). arca-mtxca acepta `endpoints: { mtxca, wsaa }` (`endpoint` y
38
+ `wsaaEndpoint` quedan deprecados). Los `dummy`/`status` validan la respuesta con
39
+ `parseServerStatus`: si falta un campo lanzan `ArcaSoapError`.
40
+
41
+ ### Patch Changes
42
+
43
+ - 20ecf7d: DSL de schemas, segunda versión:
44
+
45
+ - Corrección: `dec()` redondea sobre el valor decimal escrito (`8.575` →
46
+ `8.58`; antes daba `8.57` por la representación binaria). Afecta los importes
47
+ que los SDKs envían redondeados.
48
+ - `must()` rechaza también el valor vacío; los elementos `xsi:nil` cuentan
49
+ como ausentes (en una lista, como lista vacía); `must()` en listas exige el
50
+ elemento; un objeto opcional vacío se omite y uno obligatorio valida sus hijos.
51
+ - Al decodificar se validan enteros (`int()`) y valores permitidos
52
+ (`str({ values })`).
53
+ - Nuevos: `siNo()` (S/N ↔ boolean), `double()`, `xml(nombre, campo)` (nombre
54
+ distinto en el XML), `custom(encode, decode)`, `roundHalfUp()` y
55
+ `decodeResponse(..., { emptyLists: 'omit' })`.
56
+ - b86db00: Nuevo subpath `@ramiidv/arca-common/schema`: el DSL para describir los tipos
57
+ del XSD de un servicio y, con la misma descripción, validar y serializar
58
+ requests en el orden del XSD (`encodeRequest`) y decodificar respuestas con
59
+ tipos (`decodeResponse`). Nuevo error `ArcaResponseError` (respuesta con forma
60
+ inválida, con `uncertain`).
61
+
62
+ arca-agro usa el DSL de common (`ArcaAgroResponseError` extiende
63
+ `ArcaResponseError`) y parsea las respuestas sin conversión numérica: los
64
+ `xs:string` con contenido numérico (ej: `"0012"`, `"10.50"`) ya no pierden ceros
65
+ ni decimales.
66
+ - Updated dependencies [8c02c30]
67
+ - Updated dependencies [f8bd053]
68
+ - Updated dependencies [242fb5f]
69
+ - Updated dependencies [fd438bc]
70
+ - Updated dependencies [bed68e8]
71
+ - Updated dependencies [20ecf7d]
72
+ - Updated dependencies [b86db00]
73
+ - @ramiidv/arca-common@0.5.0
74
+
75
+ ## 0.3.0 (2026-11-01)
76
+
77
+ Reescritura de los clientes contra los WSDL/XSD oficiales. La versión anterior no funcionaba contra ARCA en ningún servicio (endpoints, namespaces, elementos y campos incorrectos).
78
+
79
+ ### Breaking
80
+
81
+ - **Se elimina WSCTG** (cliente `CtgClient`, `agro.ctg`, tipos, constantes `CTG_*`, `validateCTG`, servicio en `serverStatus`): el CTG fue derogado el 1/11/2021 (RG 5017/2021, reemplazado por la Carta de Porte Electrónica) y sus endpoints responden 404.
82
+ - WSCPE: los requests ahora siguen el XSD (`cabecera`, `origen`, `datosCarga`, `destino`, `destinatario`, `transporte`, ...). Se renombran/reemplazan métodos: `confirmadoArriboCPE` → `confirmarArriboCPE`, `editarCPE` → `editarCPEAutomotor`, `consultarCPE` → `consultarCPEAutomotor`, `consultarConstanciaCPEPDF` eliminado (el PDF viene en `pdf` de las respuestas). `consultarUltNroOrden`/`siguienteNroOrden` reciben `(sucursal, tipoCPE)`.
83
+ - WSLPG: `liquidacionAutorizar` recibe `{ liquidacion, deducciones?, retenciones?, percepciones? }` según `LpgLiquidacionBaseType`; `liquidacionConsultar` se reemplaza por `liquidacionXCoeConsultar` y `liquidacionXNroOrdenConsultar`; `liquidacionAnular(coe)`; `liquidacionAjustarUnificado({ ajusteBase, ajusteCredito?, ajusteDebito? })`; `certificacionAutorizar`/`certificacionAnular` → `cgAutorizar`, `cgSolicitarAnulacion`, `cgConfirmarAnulacion`; `consultarParametros(nombre)` → un método por paramétrica (`tipoGranoConsultar`, `puertoConsultar`, ...).
84
+ - Respuestas tipadas según el XSD: `nroCTG` y `coe` son `string`; los `xs:string` (ej: `codigo` de paramétricas) son `string`. Se eliminan `AgroAuth`, `AgroError`, `raw` y las index signatures `[key: string]: unknown`.
85
+ - Los errores de negocio se lanzan como `ArcaAgroServiceError` (extiende `ArcaServiceError`) en lugar de devolverse en `errores`.
86
+ - `ArcaAgroConfig` extiende `ArcaBaseConfig`: `requestTimeoutMs` → `timeout`; `cuit` acepta `number | string` y se valida el dígito verificador.
87
+ - `CpeClient`/`LpgClient` solo se obtienen desde `ArcaAgro` (se exportan como tipos); sus métodos reciben `opts?: { signal }` en lugar de `auth`.
88
+ - `serverStatus()` devuelve `{ cpe, lpg }` con `{ ok: true, status } | { ok: false, error }`; `clearAuthCache()` es async.
89
+ - `validateCPE`/`validateCTG` → `validateAutorizarCPEAutomotor`, `validateAutorizarCPEFerroviaria`, `validateLiquidacion`, `validateAjusteUnificado`.
90
+ - Requiere `@ramiidv/arca-common` ^0.4.0.
91
+
92
+ ### Features
93
+
94
+ - WSCPE, circuito automotor completo: `autorizarCPEAutomotor` (tipos 74 y 274), `consultarCPEAutomotor`, `editarCPEAutomotor`, `editarCPEConfirmadaAutomotor`, `confirmarArriboCPE`, `confirmacionDefinitivaCPEAutomotor`, `descargadoDestinoCPE`, `rechazoCPE`, `anularCPE`, `nuevoDestinoDestinatarioCPEAutomotor`, `regresoOrigenCPEAutomotor`, `desvioCPEAutomotor`, `informarContingencia`, `cerrarContingenciaCPE`.
95
+ - WSCPE, circuito ferroviario: `autorizarCPEFerroviaria`, `consultarCPEFerroviaria`, `editarCPEFerroviaria`, `editarCPEConfirmadaFerroviaria`, `confirmacionDefinitivaCPEFerroviaria`, `nuevoDestinoDestinatarioCPEFerroviaria`, `regresoOrigenCPEFerroviaria`, `desvioCPEFerroviaria`, `consultaCPEFerroviariaPorNroOperativo`.
96
+ - WSCPE, consultas y paramétricas: `consultarCPEPorDestino`, `consultarCPEPPendientesDeResolucion`, `consultarProvincias`, `consultarLocalidadesPorProvincia`, `consultarTiposGrano`, `consultarPlantas`, `consultarLocalidadesProductor`, `consultarCategoriasSemillas`, `consultarVariedadesSemillas`.
97
+ - WSLPG: `liquidacionUltimoNroOrdenConsultar`, `cgConsultarUltimoNroOrden` y paramétricas (`provinciasConsultar`, `localidadXProvinciaConsultar`, `tipoOperacionXActividadConsultar`, `puertoConsultar`, `tipoActividadConsultar`, `tipoActividadRepresentadoConsultar`, `tipoCertificadoDepositoConsultar`, `tipoRetencionConsultar`, `tipoDeduccionConsultar`, `tipoGranoConsultar`, `codigoGradoReferenciaConsultar`, `codigoGradoEntregadoXTipoGranoConsultar`, `campaniasConsultar`).
98
+ - Validación local completa contra el XSD (obligatorios, campos desconocidos, rangos, largos, CUIT con dígito verificador, números finitos, redondeo según `fractionDigits`, fechas) reportando todos los errores juntos.
99
+ - Constantes `TIPO_CPE` y `ESTADOS_CPE`. Endpoints configurables (`endpoints: { cpe, lpg, wsaa }`).
100
+ - Configuración de WSAA: `ticketStorage`, `clockOffsetMs`, `autoClockSkew`, `loginErrorCooldownMs`, `fetch`, `legacyTls`.
101
+ - Todos los métodos aceptan `{ signal }`.
102
+
103
+ ### Fixes
104
+
105
+ - WSCPE: endpoints de homologación (`cpea-ws-qaext.afip.gob.ar`) y producción (`cpea-ws.afip.gob.ar`), elementos `<Op>Req`/`<Op>Resp`, SOAPAction y auth `{ token, sign, cuitRepresentada }`.
106
+ - WSLPG: namespace `http://serviciosjava.afip.gob.ar/wslpg/` (era `https`), elementos del WSDL (`liquidacionReq`, `liqConsXCoeReq`, ...) y auth `{ token, sign, cuit }`.
107
+ - Los errores de negocio (`errores.error[]`, `erroresFormato.error[]`) ya no se pierden: siempre se lanzan.
108
+ - Las consultas sin resultados devuelven `[]` (antes devolvían `[respuestaCompleta]`).
109
+ - `consultarUltNroOrden` lanza si ARCA no devuelve `nroOrden` (antes devolvía 0 y `siguienteNroOrden` daba 1, un número ya usado).
110
+ - Las emisiones (autorizar, anular, rechazar, confirmar, editar, contingencias, desvíos, liquidar, ajustar, certificar) nunca se reintentan y conservan `uncertain`.
111
+ - `serverStatus()` usa `Promise.allSettled`; `clearAuthCache()` espera el borrado de los tickets.
112
+ - Validación: `NaN` ya no pasa como número positivo; el CUIT se valida con dígito verificador.
113
+ - Los ejemplos usaban `codTipoCartaPorte: 1` (inválido); ahora usan el tipo 74.
114
+
115
+ ## 0.2.0 (2026-06-03)
116
+
117
+ ### Chore
118
+ - Build standalone para CI y workflow de release en GitHub Actions.
119
+ - `homepage` apunta a arca-sdk.dev.
120
+
121
+ ## 0.1.0 (2026-03-31)
122
+
123
+ ### Features
124
+ - Initial release
125
+ - WSCPE (Carta de Porte Electronica) - Electronic bill of lading for grain transport
126
+ - WSCTG (Codigo de Trazabilidad de Granos) - Grain traceability codes
127
+ - WSLPG (Liquidacion Primaria de Granos) - Primary grain settlement/liquidation
128
+ - Auto-handles WSAA authentication for all 3 services
129
+ - Retry with exponential backoff on transient errors
130
+ - Event system for logging/debugging
package/README.md CHANGED
@@ -72,7 +72,7 @@ const cpe = await agro.cpe.autorizarCPEAutomotor({
72
72
 
73
73
  cpe.cabecera.nroCTG; // '010100012345' (string)
74
74
  cpe.cabecera.estado; // 'AC'
75
- cpe.pdf; // constancia en base64
75
+ cpe.pdf; // constancia en base64
76
76
  ```
77
77
 
78
78
  > **`siguienteNroOrden` no es atómico.** Hace `consultarUltNroOrden + 1`: dos procesos que lo llamen a la vez obtienen el mismo número y ARCA rechaza la segunda autorización. Si emitís en paralelo para la misma sucursal y tipo, serializá las emisiones o llevá tu propio contador.
@@ -83,16 +83,36 @@ cpe.pdf; // constancia en base64
83
83
  const cartaPorte = { tipoCPE: TIPO_CPE.AUTOMOTOR, sucursal: 1, nroOrden: 15 };
84
84
 
85
85
  await agro.cpe.confirmarArriboCPE({ cuitSolicitante, cartaPorte });
86
- await agro.cpe.confirmacionDefinitivaCPEAutomotor({ cuitSolicitante, cartaPorte, pesoBrutoDescarga: 41900, pesoTaraDescarga: 12000 });
86
+ await agro.cpe.confirmacionDefinitivaCPEAutomotor({
87
+ cuitSolicitante,
88
+ cartaPorte,
89
+ pesoBrutoDescarga: 41900,
90
+ pesoTaraDescarga: 12000,
91
+ });
87
92
  await agro.cpe.descargadoDestinoCPE({ cuitSolicitante, cartaPorte });
88
93
  await agro.cpe.rechazoCPE({ cuitSolicitante, cartaPorte, rechazoMotivo: 2, rechazoObservaciones: 'Humedad' });
89
94
  await agro.cpe.anularCPE({ cartaPorte, anulacionMotivo: 3, anulacionObservaciones: 'Error de carga' });
90
- await agro.cpe.editarCPEAutomotor({ nroCTG, cuitDestinatario, cuitChofer, cuitTransportista, destino, pesoBruto, codGrano });
95
+ await agro.cpe.editarCPEAutomotor({
96
+ nroCTG,
97
+ cuitDestinatario,
98
+ cuitChofer,
99
+ cuitTransportista,
100
+ destino,
101
+ pesoBruto,
102
+ codGrano,
103
+ });
91
104
  await agro.cpe.editarCPEConfirmadaAutomotor({ nroCTG, intervinientes: { cuitCorredorVentaPrimaria } });
92
- await agro.cpe.nuevoDestinoDestinatarioCPEAutomotor({ cartaPorte, destino, transporte: { fechaHoraPartida, kmRecorrer } });
105
+ await agro.cpe.nuevoDestinoDestinatarioCPEAutomotor({
106
+ cartaPorte,
107
+ destino,
108
+ transporte: { fechaHoraPartida, kmRecorrer },
109
+ });
93
110
  await agro.cpe.regresoOrigenCPEAutomotor({ cartaPorte, transporte: { fechaHoraPartida, kmRecorrer } });
94
111
  await agro.cpe.desvioCPEAutomotor({ cuitSolicitante, cartaPorte, destino, transporte });
95
- await agro.cpe.informarContingencia({ cartaPorte, contingencia: { concepto: 'C', descripcion: 'Desperfecto mecánico' } });
112
+ await agro.cpe.informarContingencia({
113
+ cartaPorte,
114
+ contingencia: { concepto: 'C', descripcion: 'Desperfecto mecánico' },
115
+ });
96
116
  await agro.cpe.cerrarContingenciaCPE({ cartaPorte, concepto: 'A' });
97
117
 
98
118
  const detalle = await agro.cpe.consultarCPEAutomotor({ nroCTG: '010100012345' }); // o { cartaPorte }
@@ -107,8 +127,12 @@ Las operaciones que modifican una CPE devuelven `CPEResultado` (`{ cabecera?, pd
107
127
  ### Consultas y paramétricas
108
128
 
109
129
  ```ts
110
- await agro.cpe.consultarUltNroOrden(1, TIPO_CPE.AUTOMOTOR); // número; si ARCA no lo devuelve, lanza
111
- await agro.cpe.consultarCPEPorDestino({ planta: 1938, fechaPartidaDesde: '2026-11-01', fechaPartidaHasta: '2026-11-07' });
130
+ await agro.cpe.consultarUltNroOrden(1, TIPO_CPE.AUTOMOTOR); // número; si ARCA no lo devuelve, lanza
131
+ await agro.cpe.consultarCPEPorDestino({
132
+ planta: 1938,
133
+ fechaPartidaDesde: '2026-11-01',
134
+ fechaPartidaHasta: '2026-11-07',
135
+ });
112
136
  await agro.cpe.consultarCPEPPendientesDeResolucion({ perfil: 'D', planta: 1938 });
113
137
  await agro.cpe.consultarProvincias();
114
138
  await agro.cpe.consultarLocalidadesPorProvincia(12);
@@ -159,7 +183,7 @@ const { autorizacion, eventos } = await agro.lpg.liquidacionAutorizar({
159
183
  retenciones: [{ codigoConcepto: 'RG', baseCalculo: 7500000, alicuota: 2 }],
160
184
  });
161
185
 
162
- autorizacion.coe; // '330100012345' (string)
186
+ autorizacion.coe; // '330100012345' (string)
163
187
  autorizacion.totalNetoAPagar; // number
164
188
  ```
165
189
 
@@ -203,13 +227,13 @@ Liquidación secundaria (`lsg*`), anticipos (`lpgAutorizarAnticipo`, `lpgCancela
203
227
 
204
228
  ## Errores
205
229
 
206
- | Error | Cuándo |
207
- |-------|--------|
208
- | `ArcaValidationError` | Datos inválidos, antes de llamar a ARCA: campo obligatorio faltante, campo desconocido, CUIT con dígito verificador incorrecto, `NaN`/`Infinity`, rangos y largos del XSD, fechas. `details[]` trae cada campo con su ruta (ej: `transporte.dominio[0]`). |
209
- | `ArcaAgroServiceError` (extiende `ArcaServiceError`) | ARCA rechazó la operación: `errores.error[]` (y en WSLPG también `erroresFormato.error[]`). `errors[]`, `service`, `method` y `response` (el nodo completo devuelto). |
210
- | `ArcaSoapError` | Red, timeout, HTTP o SOAP Fault. `uncertain` indica si ARCA pudo haber procesado el request. |
211
- | `ArcaAgroResponseError` | La respuesta no trae un dato imprescindible (ej: `nroCTG` al autorizar, `coe` al liquidar, `nroOrden` al consultar el último). `uncertain` es `true` en emisiones. |
212
- | `ArcaAuthError` / `ArcaTicketVigenteError` | Errores de WSAA. |
230
+ | Error | Cuándo |
231
+ | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
232
+ | `ArcaValidationError` | Datos inválidos, antes de llamar a ARCA: campo obligatorio faltante, campo desconocido, CUIT con dígito verificador incorrecto, `NaN`/`Infinity`, rangos y largos del XSD, fechas. `details[]` trae cada campo con su ruta (ej: `transporte.dominio[0]`). |
233
+ | `ArcaAgroServiceError` (extiende `ArcaServiceError`) | ARCA rechazó la operación: `errores.error[]` (y en WSLPG también `erroresFormato.error[]`). `errors[]`, `service`, `method` y `response` (el nodo completo devuelto). |
234
+ | `ArcaSoapError` | Red, timeout, HTTP o SOAP Fault. `uncertain` indica si ARCA pudo haber procesado el request. |
235
+ | `ArcaAgroResponseError` | La respuesta no trae un dato imprescindible (ej: `nroCTG` al autorizar, `coe` al liquidar, `nroOrden` al consultar el último). `uncertain` es `true` en emisiones. |
236
+ | `ArcaAuthError` / `ArcaTicketVigenteError` | Errores de WSAA. |
213
237
 
214
238
  Los montos se redondean a los decimales del XSD (`fractionDigits`). Las fechas `xsd:date` aceptan `Date` o `AAAAMMDD`/`AAAA-MM-DD`; las `xsd:dateTime` aceptan `Date` (se envía en hora de Argentina, `-03:00`) o un string ISO-8601.
215
239
 
@@ -248,7 +272,7 @@ try {
248
272
  ## Estado de los servicios
249
273
 
250
274
  ```ts
251
- const estado = await agro.serverStatus();
275
+ const estado = await agro.status();
252
276
  // { cpe: { ok: true, status: { appserver, dbserver, authserver } }, lpg: { ok: false, error } }
253
277
  ```
254
278
 
@@ -269,31 +293,31 @@ También se puede pasar `onEvent` en la configuración. Los errores de los handl
269
293
 
270
294
  `ArcaAgroConfig` extiende `ArcaBaseConfig` de `@ramiidv/arca-common`.
271
295
 
272
- | Opción | Tipo | Default | Descripción |
273
- |--------|------|---------|-------------|
274
- | `cuit` | `number \| string` | **requerido** | CUIT representada (con o sin guiones) |
275
- | `cert` / `key` | `string` | **requerido** | Certificado y clave privada PEM |
276
- | `production` | `boolean` | `false` | Entorno de producción |
277
- | `timeout` | `number` | `30000` | Timeout HTTP (ms) |
278
- | `retries` | `number` | `1` | Reintentos de consultas (las emisiones nunca se reintentan) |
279
- | `retryDelayMs` | `number` | `1000` | Delay base entre reintentos (ms) |
280
- | `tokenTTLMinutes` | `number` | `720` | Vida del ticket WSAA |
281
- | `ticketStorage` | `TicketStorage` | memoria | Persistencia del ticket WSAA (recomendado en producción) |
282
- | `clockOffsetMs` / `autoClockSkew` | | `0` / `true` | Desfase de reloj con ARCA |
283
- | `loginErrorCooldownMs` | `number` | `60000` | Espera tras un login WSAA fallido |
284
- | `fetch` | `typeof fetch` | global | `fetch` propio (proxy, tests) |
285
- | `legacyTls` | `'auto' \| 'never' \| 'always'` | `'auto'` | Transporte TLS legacy |
286
- | `endpoints` | `{ cpe?, lpg?, wsaa? }` | oficiales | Endpoints propios |
287
- | `onEvent` | `function` | | Callback de eventos |
296
+ | Opción | Tipo | Default | Descripción |
297
+ | --------------------------------- | ------------------------------- | ------------- | ----------------------------------------------------------- |
298
+ | `cuit` | `number \| string` | **requerido** | CUIT representada (con o sin guiones) |
299
+ | `cert` / `key` | `string` | **requerido** | Certificado y clave privada PEM |
300
+ | `production` | `boolean` | `false` | Entorno de producción |
301
+ | `timeout` | `number` | `30000` | Timeout HTTP (ms) |
302
+ | `retries` | `number` | `1` | Reintentos de consultas (las emisiones nunca se reintentan) |
303
+ | `retryDelayMs` | `number` | `1000` | Delay base entre reintentos (ms) |
304
+ | `tokenTTLMinutes` | `number` | `720` | Vida del ticket WSAA |
305
+ | `ticketStorage` | `TicketStorage` | memoria | Persistencia del ticket WSAA (recomendado en producción) |
306
+ | `clockOffsetMs` / `autoClockSkew` | | `0` / `true` | Desfase de reloj con ARCA |
307
+ | `loginErrorCooldownMs` | `number` | `60000` | Espera tras un login WSAA fallido |
308
+ | `fetch` | `typeof fetch` | global | `fetch` propio (proxy, tests) |
309
+ | `legacyTls` | `'auto' \| 'never' \| 'always'` | `'auto'` | Transporte TLS legacy |
310
+ | `endpoints` | `{ cpe?, lpg?, wsaa? }` | oficiales | Endpoints propios |
311
+ | `onEvent` | `function` | | Callback de eventos |
288
312
 
289
313
  `clearAuthCache()` (async) invalida los tickets de WSCPE y WSLPG.
290
314
 
291
315
  ## Endpoints
292
316
 
293
- | Servicio | Homologación | Producción |
294
- |----------|-------------|------------|
295
- | WSCPE | `https://cpea-ws-qaext.afip.gob.ar/wscpe/services/soap` | `https://cpea-ws.afip.gob.ar/wscpe/services/soap` |
296
- | WSLPG | `https://fwshomo.afip.gov.ar/wslpg/LpgService` | `https://serviciosjava.afip.gob.ar/wslpg/LpgService` |
317
+ | Servicio | Homologación | Producción |
318
+ | -------- | ------------------------------------------------------- | ---------------------------------------------------- |
319
+ | WSCPE | `https://cpea-ws-qaext.afip.gob.ar/wscpe/services/soap` | `https://cpea-ws.afip.gob.ar/wscpe/services/soap` |
320
+ | WSLPG | `https://fwshomo.afip.gov.ar/wslpg/LpgService` | `https://serviciosjava.afip.gob.ar/wslpg/LpgService` |
297
321
 
298
322
  Namespaces: WSCPE `https://serviciosjava.afip.gob.ar/wscpe/`, WSLPG `http://serviciosjava.afip.gob.ar/wslpg/`.
299
323
 
@@ -1,7 +1,10 @@
1
- import type { ArcaEvent, CallOptions } from '@ramiidv/arca-common';
1
+ import { ArcaSdkBase } from '@ramiidv/arca-common';
2
+ import type { CallOptions } from '@ramiidv/arca-common';
2
3
  import { CpeClient } from './cpe-client.js';
3
4
  import { LpgClient } from './lpg-client.js';
5
+ import { WSAA_SERVICES } from './constants.js';
4
6
  import type { AgroServiceStatus, ArcaAgroConfig } from './types.js';
7
+ type AgroService = keyof typeof WSAA_SERVICES;
5
8
  /**
6
9
  * Cliente de los servicios agropecuarios de ARCA: WSCPE (Carta de Porte
7
10
  * Electrónica) y WSLPG (Liquidación Primaria de Granos), con autenticación
@@ -19,30 +22,21 @@ import type { AgroServiceStatus, ArcaAgroConfig } from './types.js';
19
22
  * const liq = await agro.lpg.liquidacionAutorizar({ liquidacion: { ... } });
20
23
  * ```
21
24
  */
22
- export declare class ArcaAgro {
23
- #private;
25
+ export declare class ArcaAgro extends ArcaSdkBase<AgroService> {
24
26
  /** WSCPE: Carta de Porte Electrónica (automotor y ferroviaria). */
25
27
  readonly cpe: CpeClient;
26
28
  /** WSLPG: Liquidación Primaria de Granos y certificaciones. */
27
29
  readonly lpg: LpgClient;
28
30
  /** @throws ArcaValidationError si el CUIT es inválido. */
29
31
  constructor(config: ArcaAgroConfig);
30
- /**
31
- * Suscribirse a eventos del SDK (`auth:*`, `request:*`).
32
- * Los errores de los handlers se ignoran.
33
- */
34
- on(event: ArcaEvent['type'], handler: (event: ArcaEvent) => void): this;
35
- /** Desuscribirse de un evento. */
36
- off(event: ArcaEvent['type'], handler: (event: ArcaEvent) => void): this;
37
32
  /**
38
33
  * Estado de los servidores de WSCPE y WSLPG (`dummy`, sin autenticación).
39
34
  * Una falla de un servicio no impide conocer el estado del otro.
40
35
  */
41
- serverStatus(opts?: CallOptions): Promise<{
36
+ status(opts?: CallOptions): Promise<{
42
37
  cpe: AgroServiceStatus;
43
38
  lpg: AgroServiceStatus;
44
39
  }>;
45
- /** Invalida los tickets de acceso (memoria y `ticketStorage`) de WSCPE y WSLPG. */
46
- clearAuthCache(): Promise<void>;
47
40
  }
41
+ export {};
48
42
  //# sourceMappingURL=arca-agro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arca-agro.d.ts","sourceRoot":"","sources":["../src/arca-agro.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,QAAQ;;IACnB,mEAAmE;IACnE,SAAgB,GAAG,EAAE,SAAS,CAAC;IAC/B,+DAA+D;IAC/D,SAAgB,GAAG,EAAE,SAAS,CAAC;IAK/B,0DAA0D;gBAC9C,MAAM,EAAE,cAAc;IAmDlC;;;OAGG;IACH,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI;IAKvE,kCAAkC;IAClC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI;IAKxE;;;OAGG;IACG,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,GAAG,EAAE,iBAAiB,CAAA;KAAE,CAAC;IASnG,mFAAmF;IAC7E,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
1
+ {"version":3,"file":"arca-agro.d.ts","sourceRoot":"","sources":["../src/arca-agro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAY,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAgC,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE,KAAK,WAAW,GAAG,MAAM,OAAO,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,QAAS,SAAQ,WAAW,CAAC,WAAW,CAAC;IACpD,mEAAmE;IACnE,SAAgB,GAAG,EAAE,SAAS,CAAC;IAC/B,+DAA+D;IAC/D,SAAgB,GAAG,EAAE,SAAS,CAAC;IAE/B,0DAA0D;IAC1D,YAAY,MAAM,EAAE,cAAc,EAWjC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,iBAAiB,CAAC;QAAC,GAAG,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAEtF;CACF"}
package/dist/arca-agro.js CHANGED
@@ -1,5 +1,4 @@
1
- import { EventEmitter } from 'node:events';
2
- import { WsaaClient, safeEmit, validateCuit } from '@ramiidv/arca-common';
1
+ import { ArcaSdkBase, statusOf } from '@ramiidv/arca-common';
3
2
  import { CpeClient } from './cpe-client.js';
4
3
  import { LpgClient } from './lpg-client.js';
5
4
  import { CPE_ENDPOINTS, LPG_ENDPOINTS, WSAA_SERVICES } from './constants.js';
@@ -20,87 +19,30 @@ import { CPE_ENDPOINTS, LPG_ENDPOINTS, WSAA_SERVICES } from './constants.js';
20
19
  * const liq = await agro.lpg.liquidacionAutorizar({ liquidacion: { ... } });
21
20
  * ```
22
21
  */
23
- export class ArcaAgro {
22
+ export class ArcaAgro extends ArcaSdkBase {
24
23
  /** WSCPE: Carta de Porte Electrónica (automotor y ferroviaria). */
25
24
  cpe;
26
25
  /** WSLPG: Liquidación Primaria de Granos y certificaciones. */
27
26
  lpg;
28
- #wsaa;
29
- #emitter = new EventEmitter();
30
27
  /** @throws ArcaValidationError si el CUIT es inválido. */
31
28
  constructor(config) {
32
- const cuit = validateCuit(config.cuit);
33
- const production = config.production ?? false;
34
- const emit = (event) => {
35
- safeEmit(config.onEvent, event);
36
- safeEmit((e) => this.#emitter.emit(e.type, e), event);
37
- };
38
- this.#wsaa = new WsaaClient({
39
- cert: config.cert,
40
- key: config.key,
41
- production,
42
- endpoint: config.endpoints?.wsaa,
43
- tokenTTLMinutes: config.tokenTTLMinutes,
44
- timeout: config.timeout,
45
- retries: config.retries,
46
- retryDelayMs: config.retryDelayMs,
47
- onEvent: emit,
48
- ticketStorage: config.ticketStorage,
49
- clockOffsetMs: config.clockOffsetMs,
50
- autoClockSkew: config.autoClockSkew,
51
- loginErrorCooldownMs: config.loginErrorCooldownMs,
52
- fetch: config.fetch,
53
- legacyTls: config.legacyTls,
54
- });
55
- const soap = {
56
- timeout: config.timeout,
57
- retries: config.retries,
58
- retryDelayMs: config.retryDelayMs,
59
- onEvent: emit,
60
- fetch: config.fetch,
61
- legacyTls: config.legacyTls,
62
- };
63
- const env = production ? 'production' : 'testing';
64
- this.cpe = new CpeClient({
65
- endpoint: config.endpoints?.cpe ?? CPE_ENDPOINTS[env],
66
- cuit,
67
- soap,
68
- getTicket: (opts) => this.#wsaa.getAccessTicket(WSAA_SERVICES.cpe, opts),
69
- });
70
- this.lpg = new LpgClient({
71
- endpoint: config.endpoints?.lpg ?? LPG_ENDPOINTS[env],
72
- cuit,
73
- soap,
74
- getTicket: (opts) => this.#wsaa.getAccessTicket(WSAA_SERVICES.lpg, opts),
29
+ super(config, WSAA_SERVICES);
30
+ const context = (service, endpoint) => ({
31
+ endpoint,
32
+ cuit: this.cuit,
33
+ transport: this.transport,
34
+ getTicket: (opts) => this.ticket(service, opts),
35
+ callOptions: (opts) => this.callOptions(opts),
75
36
  });
76
- }
77
- /**
78
- * Suscribirse a eventos del SDK (`auth:*`, `request:*`).
79
- * Los errores de los handlers se ignoran.
80
- */
81
- on(event, handler) {
82
- this.#emitter.on(event, handler);
83
- return this;
84
- }
85
- /** Desuscribirse de un evento. */
86
- off(event, handler) {
87
- this.#emitter.off(event, handler);
88
- return this;
37
+ this.cpe = new CpeClient(context('cpe', this.endpoint(CPE_ENDPOINTS, config.endpoints?.cpe)));
38
+ this.lpg = new LpgClient(context('lpg', this.endpoint(LPG_ENDPOINTS, config.endpoints?.lpg)));
89
39
  }
90
40
  /**
91
41
  * Estado de los servidores de WSCPE y WSLPG (`dummy`, sin autenticación).
92
42
  * Una falla de un servicio no impide conocer el estado del otro.
93
43
  */
94
- async serverStatus(opts) {
95
- const [cpe, lpg] = await Promise.allSettled([this.cpe.dummy(opts), this.lpg.dummy(opts)]);
96
- const toStatus = (r) => r.status === 'fulfilled'
97
- ? { ok: true, status: r.value }
98
- : { ok: false, error: r.reason instanceof Error ? r.reason : new Error(String(r.reason)) };
99
- return { cpe: toStatus(cpe), lpg: toStatus(lpg) };
100
- }
101
- /** Invalida los tickets de acceso (memoria y `ticketStorage`) de WSCPE y WSLPG. */
102
- async clearAuthCache() {
103
- await Promise.all([this.#wsaa.clearTicket(WSAA_SERVICES.cpe), this.#wsaa.clearTicket(WSAA_SERVICES.lpg)]);
44
+ status(opts) {
45
+ return statusOf({ cpe: () => this.cpe.dummy(opts), lpg: () => this.lpg.dummy(opts) });
104
46
  }
105
47
  }
106
48
  //# sourceMappingURL=arca-agro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arca-agro.js","sourceRoot":"","sources":["../src/arca-agro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arca-agro.js","sourceRoot":"","sources":["../src/arca-agro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAM7E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,QAAS,SAAQ,WAAwB;IACpD,mEAAmE;IACnD,GAAG,CAAY;IAC/B,+DAA+D;IAC/C,GAAG,CAAY;IAE/B,0DAA0D;IAC1D,YAAY,MAAsB;QAChC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,CAAC,OAAoB,EAAE,QAAgB,EAAkB,EAAE,CAAC,CAAC;YAC3E,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;YAC/C,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAkB;QACvB,OAAO,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC;CACF"}
@@ -1,13 +1,13 @@
1
1
  export declare const WSAA_SERVICES: {
2
- readonly cpe: "wscpe";
3
- readonly lpg: "wslpg";
2
+ readonly cpe: 'wscpe';
3
+ readonly lpg: 'wslpg';
4
4
  };
5
5
  /**
6
6
  * Endpoints de WSCPE (`soap:address` de los WSDL oficiales y manual WSCPE §2.2).
7
7
  */
8
8
  export declare const CPE_ENDPOINTS: {
9
- readonly testing: "https://cpea-ws-qaext.afip.gob.ar/wscpe/services/soap";
10
- readonly production: "https://cpea-ws.afip.gob.ar/wscpe/services/soap";
9
+ readonly testing: 'https://cpea-ws-qaext.afip.gob.ar/wscpe/services/soap';
10
+ readonly production: 'https://cpea-ws.afip.gob.ar/wscpe/services/soap';
11
11
  };
12
12
  /** Namespace (targetNamespace) de WSCPE. */
13
13
  export declare const CPE_NAMESPACE = "https://serviciosjava.afip.gob.ar/wscpe/";
@@ -22,25 +22,25 @@ export declare const TIPO_CPE: {
22
22
  };
23
23
  /** Estados de una carta de porte (manual WSCPE §2.7.1). */
24
24
  export declare const ESTADOS_CPE: {
25
- readonly AC: "Activa";
26
- readonly AN: "Anulada";
27
- readonly BR: "Borrador";
28
- readonly CF: "Activa con confirmación de arribo";
29
- readonly CN: "Confirmada";
30
- readonly CO: "Activa con contingencia";
31
- readonly DE: "Desactivada";
32
- readonly RE: "Rechazada";
33
- readonly PA: "Pendiente de aceptación por el productor";
34
- readonly AP: "Anulación por el productor";
35
- readonly DD: "Descargado en destino";
36
- readonly PE: "Pendiente de emisión";
37
- readonly IN: "Inactiva";
38
- readonly PO: "Pendiente de aceptación por el origen";
25
+ readonly AC: 'Activa';
26
+ readonly AN: 'Anulada';
27
+ readonly BR: 'Borrador';
28
+ readonly CF: 'Activa con confirmación de arribo';
29
+ readonly CN: 'Confirmada';
30
+ readonly CO: 'Activa con contingencia';
31
+ readonly DE: 'Desactivada';
32
+ readonly RE: 'Rechazada';
33
+ readonly PA: 'Pendiente de aceptación por el productor';
34
+ readonly AP: 'Anulación por el productor';
35
+ readonly DD: 'Descargado en destino';
36
+ readonly PE: 'Pendiente de emisión';
37
+ readonly IN: 'Inactiva';
38
+ readonly PO: 'Pendiente de aceptación por el origen';
39
39
  };
40
40
  /** Endpoints de WSLPG (`soap:address` de los WSDL oficiales). */
41
41
  export declare const LPG_ENDPOINTS: {
42
- readonly testing: "https://fwshomo.afip.gov.ar/wslpg/LpgService";
43
- readonly production: "https://serviciosjava.afip.gob.ar/wslpg/LpgService";
42
+ readonly testing: 'https://fwshomo.afip.gov.ar/wslpg/LpgService';
43
+ readonly production: 'https://serviciosjava.afip.gob.ar/wslpg/LpgService';
44
44
  };
45
45
  /** Namespace (targetNamespace) de WSLPG. Ojo: es `http`, no `https`. */
46
46
  export declare const LPG_NAMESPACE = "http://serviciosjava.afip.gob.ar/wslpg/";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,aAAa,6CAA6C,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AAEX,2DAA2D;AAC3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;CAed,CAAC;AAMX,iEAAiE;AACjE,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,aAAa,4CAA4C,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa;aACxB,GAAG,EAAE,OAAO;aACZ,GAAG,EAAE,OAAO;CACJ,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,aAAa;aACxB,OAAO,EAAE,uDAAuD;aAChE,UAAU,EAAE,iDAAiD;CACrD,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,aAAa,6CAA6C,CAAC;AAExE;;;GAGG;AACH,eAAO,MAAM,QAAQ;aACnB,SAAS,EAAE,EAAE;aACb,WAAW,EAAE,EAAE;aACf,qBAAqB,EAAE,GAAG;CAClB,CAAC;AAEX,2DAA2D;AAC3D,eAAO,MAAM,WAAW;aACtB,EAAE,EAAE,QAAQ;aACZ,EAAE,EAAE,SAAS;aACb,EAAE,EAAE,UAAU;aACd,EAAE,EAAE,mCAAmC;aACvC,EAAE,EAAE,YAAY;aAChB,EAAE,EAAE,yBAAyB;aAC7B,EAAE,EAAE,aAAa;aACjB,EAAE,EAAE,WAAW;aACf,EAAE,EAAE,0CAA0C;aAC9C,EAAE,EAAE,4BAA4B;aAChC,EAAE,EAAE,uBAAuB;aAC3B,EAAE,EAAE,sBAAsB;aAC1B,EAAE,EAAE,UAAU;aACd,EAAE,EAAE,uCAAuC;CACnC,CAAC;AAMX,iEAAiE;AACjE,eAAO,MAAM,aAAa;aACxB,OAAO,EAAE,8CAA8C;aACvD,UAAU,EAAE,oDAAoD;CACxD,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,aAAa,4CAA4C,CAAC"}
package/dist/context.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AccessTicket, CallOptions, SoapCallOptions } from '@ramiidv/arca-common';
1
+ import type { AccessTicket, CallOptions, ServiceTransport } from '@ramiidv/arca-common';
2
2
  /**
3
3
  * Contexto que `ArcaAgro` le pasa a cada sub-cliente.
4
4
  * @internal
@@ -7,7 +7,10 @@ export interface ServiceContext {
7
7
  readonly endpoint: string;
8
8
  /** CUIT representada, normalizada a 11 dígitos. */
9
9
  readonly cuit: string;
10
+ readonly transport: ServiceTransport;
11
+ /** Ticket de acceso del servicio (ya combina el `signal` global). */
10
12
  readonly getTicket: (opts?: CallOptions) => Promise<AccessTicket>;
11
- readonly soap: Pick<SoapCallOptions, 'timeout' | 'retries' | 'retryDelayMs' | 'onEvent' | 'fetch' | 'legacyTls'>;
13
+ /** Combina el `signal` global de `ArcaAgro` con el de la llamada. */
14
+ readonly callOptions: (opts?: CallOptions) => CallOptions;
12
15
  }
13
16
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC;CAClH"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExF;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,qEAAqE;IACrE,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,KAAK,WAAW,CAAC;CAC3D"}
@@ -1,3 +1,4 @@
1
+ import { SoapServiceClient } from '@ramiidv/arca-common';
1
2
  import type { CallOptions, ServerStatus } from '@ramiidv/arca-common';
2
3
  import type { ServiceContext } from './context.js';
3
4
  import type { CodigoDescripcion } from './types.js';
@@ -13,7 +14,7 @@ import type { CuitInput } from './types.js';
13
14
  * reintentan y, si la respuesta se pierde, el `ArcaSoapError` tiene
14
15
  * `uncertain: true` (ver README, "Recuperar una emisión incierta").
15
16
  */
16
- export declare class CpeClient {
17
+ export declare class CpeClient extends SoapServiceClient {
17
18
  #private;
18
19
  /** @internal Se construye desde `ArcaAgro`. */
19
20
  constructor(ctx: ServiceContext);
@@ -1 +1 @@
1
- {"version":3,"file":"cpe-client.d.ts","sourceRoot":"","sources":["../src/cpe-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cpe-client.d.ts","sourceRoot":"","sources":["../src/cpe-client.ts"],"names":[],"mappings":"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"}