@ramiidv/arca-agro 0.1.0 → 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.
Files changed (61) hide show
  1. package/README.md +211 -179
  2. package/dist/arca-agro.d.ts +25 -140
  3. package/dist/arca-agro.d.ts.map +1 -1
  4. package/dist/arca-agro.js +69 -264
  5. package/dist/arca-agro.js.map +1 -1
  6. package/dist/constants.d.ts +34 -8
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +34 -11
  9. package/dist/constants.js.map +1 -1
  10. package/dist/context.d.ts +13 -0
  11. package/dist/context.d.ts.map +1 -0
  12. package/dist/context.js +2 -0
  13. package/dist/context.js.map +1 -0
  14. package/dist/cpe-client.d.ts +95 -51
  15. package/dist/cpe-client.d.ts.map +1 -1
  16. package/dist/cpe-client.js +236 -228
  17. package/dist/cpe-client.js.map +1 -1
  18. package/dist/cpe-schemas.d.ts +76 -0
  19. package/dist/cpe-schemas.d.ts.map +1 -0
  20. package/dist/cpe-schemas.js +512 -0
  21. package/dist/cpe-schemas.js.map +1 -0
  22. package/dist/cpe-types.d.ts +599 -0
  23. package/dist/cpe-types.d.ts.map +1 -0
  24. package/dist/cpe-types.js +2 -0
  25. package/dist/cpe-types.js.map +1 -0
  26. package/dist/errors.d.ts +38 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +53 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/index.d.ts +10 -10
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -13
  33. package/dist/index.js.map +1 -1
  34. package/dist/lpg-client.d.ts +64 -43
  35. package/dist/lpg-client.d.ts.map +1 -1
  36. package/dist/lpg-client.js +215 -175
  37. package/dist/lpg-client.js.map +1 -1
  38. package/dist/lpg-schemas.d.ts +50 -0
  39. package/dist/lpg-schemas.d.ts.map +1 -0
  40. package/dist/lpg-schemas.js +478 -0
  41. package/dist/lpg-schemas.js.map +1 -0
  42. package/dist/lpg-types.d.ts +470 -0
  43. package/dist/lpg-types.d.ts.map +1 -0
  44. package/dist/lpg-types.js +2 -0
  45. package/dist/lpg-types.js.map +1 -0
  46. package/dist/schema.d.ts +90 -0
  47. package/dist/schema.d.ts.map +1 -0
  48. package/dist/schema.js +301 -0
  49. package/dist/schema.js.map +1 -0
  50. package/dist/types.d.ts +33 -455
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/validation.d.ts +22 -43
  53. package/dist/validation.d.ts.map +1 -1
  54. package/dist/validation.js +31 -134
  55. package/dist/validation.js.map +1 -1
  56. package/llms.txt +78 -159
  57. package/package.json +7 -8
  58. package/dist/ctg-client.d.ts +0 -56
  59. package/dist/ctg-client.d.ts.map +0 -1
  60. package/dist/ctg-client.js +0 -214
  61. package/dist/ctg-client.js.map +0 -1
@@ -1,163 +1,48 @@
1
- import type { ArcaEvent, ServerStatus } from '@ramiidv/arca-common';
1
+ import type { ArcaEvent, CallOptions } from '@ramiidv/arca-common';
2
2
  import { CpeClient } from './cpe-client.js';
3
- import { CtgClient } from './ctg-client.js';
4
3
  import { LpgClient } from './lpg-client.js';
5
- import type { ArcaAgroConfig, AgroAuth, CartaPorteAutomotor, CartaPorteResult, ConsultaCPEParams, ConsultaCPEPorDestinoParams, ConfirmadoArriboCPEParams, RechazoAnulacionCPEParams, EditarCPEParams, ContingenciaCPEParams, SolicitudCTG, CTGResult, ConsultaCTGParams, ConfirmarArriboCTGParams, RechazoCTGParams, AnulacionCTGParams, CTGActivosResult, Liquidacion, LiquidacionResult, ConsultaLiquidacionParams, AjusteUnificadoParams, Certificacion, CertificacionResult, LpgParameterQueryParams } from './types.js';
4
+ import type { AgroServiceStatus, ArcaAgroConfig } from './types.js';
6
5
  /**
7
- * Orquestador principal para los servicios agropecuarios de ARCA.
8
- * Expone los tres servicios (WSCPE, WSCTG, WSLPG) con autenticación automática.
6
+ * Cliente de los servicios agropecuarios de ARCA: WSCPE (Carta de Porte
7
+ * Electrónica) y WSLPG (Liquidación Primaria de Granos), con autenticación
8
+ * WSAA automática.
9
9
  *
10
10
  * @example
11
11
  * ```ts
12
12
  * const agro = new ArcaAgro({
13
- * cuit: 20123456789,
13
+ * cuit: '20-12345678-6',
14
14
  * cert: fs.readFileSync('cert.pem', 'utf-8'),
15
15
  * key: fs.readFileSync('key.pem', 'utf-8'),
16
- * production: false,
17
16
  * });
18
- *
19
- * // Carta de Porte
17
+ * const nroOrden = await agro.cpe.siguienteNroOrden(1, TIPO_CPE.AUTOMOTOR);
20
18
  * const cpe = await agro.cpe.autorizarCPEAutomotor({ ... });
21
- *
22
- * // CTG
23
- * const ctg = await agro.ctg.solicitarCTGInicial({ ... });
24
- *
25
- * // Liquidaciones
26
- * const liq = await agro.lpg.liquidacionAutorizar({ ... });
19
+ * const liq = await agro.lpg.liquidacionAutorizar({ liquidacion: { ... } });
27
20
  * ```
28
21
  */
29
22
  export declare class ArcaAgro {
30
- private readonly wsaa;
31
- private readonly cpeClient;
32
- private readonly ctgClient;
33
- private readonly lpgClient;
34
- private readonly cuit;
35
- private readonly production;
36
- private readonly emitter;
37
- private readonly onEventCb?;
38
- /** Acceso a los servicios de Carta de Porte Electrónica (WSCPE). */
39
- readonly cpe: ArcaAgroCpe;
40
- /** Acceso a los servicios de Código de Trazabilidad de Granos (WSCTG). */
41
- readonly ctg: ArcaAgroCtg;
42
- /** Acceso a los servicios de Liquidación Primaria de Granos (WSLPG). */
43
- readonly lpg: ArcaAgroLpg;
23
+ #private;
24
+ /** WSCPE: Carta de Porte Electrónica (automotor y ferroviaria). */
25
+ readonly cpe: CpeClient;
26
+ /** WSLPG: Liquidación Primaria de Granos y certificaciones. */
27
+ readonly lpg: LpgClient;
28
+ /** @throws ArcaValidationError si el CUIT es inválido. */
44
29
  constructor(config: ArcaAgroConfig);
45
30
  /**
46
- * Suscribirse a eventos del SDK.
47
- *
48
- * @example
49
- * ```ts
50
- * agro.on('request:end', (e) => console.log(`${e.method} took ${e.durationMs}ms`));
51
- * agro.on('auth:login', (e) => console.log(`Login ${e.service} in ${e.durationMs}ms`));
52
- * ```
31
+ * Suscribirse a eventos del SDK (`auth:*`, `request:*`).
32
+ * Los errores de los handlers se ignoran.
53
33
  */
54
34
  on(event: ArcaEvent['type'], handler: (event: ArcaEvent) => void): this;
55
35
  /** Desuscribirse de un evento. */
56
36
  off(event: ArcaEvent['type'], handler: (event: ArcaEvent) => void): this;
57
- /** @internal */
58
- getAuth(service: string): Promise<AgroAuth>;
59
- /** @internal */
60
- getCpeClient(): CpeClient;
61
- /** @internal */
62
- getCtgClient(): CtgClient;
63
- /** @internal */
64
- getLpgClient(): LpgClient;
65
- /** Verifica el estado de los servidores de los 3 servicios agro. */
66
- serverStatus(): Promise<{
67
- cpe: ServerStatus;
68
- ctg: ServerStatus;
69
- lpg: ServerStatus;
37
+ /**
38
+ * Estado de los servidores de WSCPE y WSLPG (`dummy`, sin autenticación).
39
+ * Una falla de un servicio no impide conocer el estado del otro.
40
+ */
41
+ serverStatus(opts?: CallOptions): Promise<{
42
+ cpe: AgroServiceStatus;
43
+ lpg: AgroServiceStatus;
70
44
  }>;
71
- /** Invalida los tickets de acceso cacheados para todos los servicios agro. */
72
- clearAuthCache(): void;
73
- }
74
- /**
75
- * Namespace con métodos de Carta de Porte Electrónica (WSCPE).
76
- * Se accede a través de `agro.cpe.*`.
77
- */
78
- declare class ArcaAgroCpe {
79
- private readonly agro;
80
- constructor(agro: ArcaAgro);
81
- private auth;
82
- private client;
83
- /** Autoriza una CPE para transporte automotor. */
84
- autorizarCPEAutomotor(cpe: CartaPorteAutomotor): Promise<CartaPorteResult>;
85
- /** Confirma el arribo de una CPE en destino. */
86
- confirmadoArriboCPE(params: ConfirmadoArriboCPEParams): Promise<CartaPorteResult>;
87
- /** Rechaza una CPE. */
88
- rechazoCPE(params: RechazoAnulacionCPEParams): Promise<CartaPorteResult>;
89
- /** Anula una CPE. */
90
- anularCPE(params: RechazoAnulacionCPEParams): Promise<CartaPorteResult>;
91
- /** Edita campos de una CPE previamente autorizada. */
92
- editarCPE(params: EditarCPEParams): Promise<CartaPorteResult>;
93
- /** Informa una contingencia sobre una CPE. */
94
- informarContingencia(params: ContingenciaCPEParams): Promise<CartaPorteResult>;
95
- /** Consulta CPEs según criterios de búsqueda. */
96
- consultarCPE(params: ConsultaCPEParams): Promise<CartaPorteResult[]>;
97
- /** Consulta CPEs por destino. */
98
- consultarCPEPorDestino(params: ConsultaCPEPorDestinoParams): Promise<CartaPorteResult[]>;
99
- /** Consulta el último número de orden utilizado para una sucursal. */
100
- consultarUltNroOrden(sucursal: number): Promise<number>;
101
- /** Obtiene el siguiente número de orden (último + 1). */
102
- siguienteNroOrden(sucursal: number): Promise<number>;
103
- /** Obtiene la constancia PDF de una CPE en base64. */
104
- consultarConstanciaCPEPDF(nroCTG: number): Promise<string>;
105
- /** Verifica el estado de los servidores del WSCPE. */
106
- dummy(): Promise<ServerStatus>;
107
- }
108
- /**
109
- * Namespace con métodos de Código de Trazabilidad de Granos (WSCTG).
110
- * Se accede a través de `agro.ctg.*`.
111
- */
112
- declare class ArcaAgroCtg {
113
- private readonly agro;
114
- constructor(agro: ArcaAgro);
115
- private auth;
116
- private client;
117
- /** Solicita un CTG inicial para el transporte de granos. */
118
- solicitarCTGInicial(solicitud: SolicitudCTG): Promise<CTGResult>;
119
- /** Confirma el arribo de un CTG en destino. */
120
- confirmarArribo(params: ConfirmarArriboCTGParams): Promise<CTGResult>;
121
- /** Rechaza un CTG. */
122
- rechazarCTG(params: RechazoCTGParams): Promise<CTGResult>;
123
- /** Anula un CTG. */
124
- anularCTG(params: AnulacionCTGParams): Promise<CTGResult>;
125
- /** Consulta CTGs según criterios de búsqueda. */
126
- consultarCTG(params: ConsultaCTGParams): Promise<CTGResult[]>;
127
- /** Consulta CTGs y retorna el resultado en formato Excel (base64). */
128
- consultarCTGExcel(params: ConsultaCTGParams): Promise<string>;
129
- /** Obtiene la constancia PDF de un CTG en base64. */
130
- consultarConstanciaCTGPDF(nroCTG: number): Promise<string>;
131
- /** Obtiene los CTGs activos (pendientes). */
132
- obtenerCTGActivos(): Promise<CTGActivosResult>;
133
- /** Verifica el estado de los servidores del WSCTG. */
134
- dummy(): Promise<ServerStatus>;
135
- }
136
- /**
137
- * Namespace con métodos de Liquidación Primaria de Granos (WSLPG).
138
- * Se accede a través de `agro.lpg.*`.
139
- */
140
- declare class ArcaAgroLpg {
141
- private readonly agro;
142
- constructor(agro: ArcaAgro);
143
- private auth;
144
- private client;
145
- /** Autoriza una liquidación primaria de granos. */
146
- liquidacionAutorizar(liquidacion: Liquidacion): Promise<LiquidacionResult>;
147
- /** Consulta liquidaciones previamente autorizadas. */
148
- liquidacionConsultar(params: ConsultaLiquidacionParams): Promise<LiquidacionResult[]>;
149
- /** Anula una liquidación previamente autorizada. */
150
- liquidacionAnular(ptoEmision: number, nroOrden: number): Promise<LiquidacionResult>;
151
- /** Ajusta una liquidación mediante ajuste unificado. */
152
- liquidacionAjustarUnificado(params: AjusteUnificadoParams): Promise<LiquidacionResult>;
153
- /** Autoriza una certificación de granos. */
154
- certificacionAutorizar(certificacion: Certificacion): Promise<CertificacionResult>;
155
- /** Anula una certificación previamente autorizada. */
156
- certificacionAnular(tipoCertificacion: number, nroCertificacion: number): Promise<CertificacionResult>;
157
- /** Consulta parámetros del WSLPG (tipos de grano, grados, puertos, etc.). */
158
- consultarParametros(tipoParametro: string, params?: LpgParameterQueryParams): Promise<Record<string, unknown>[]>;
159
- /** Verifica el estado de los servidores del WSLPG. */
160
- dummy(): Promise<ServerStatus>;
45
+ /** Invalida los tickets de acceso (memoria y `ticketStorage`) de WSCPE y WSLPG. */
46
+ clearAuthCache(): Promise<void>;
161
47
  }
162
- export {};
163
48
  //# sourceMappingURL=arca-agro.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arca-agro.d.ts","sourceRoot":"","sources":["../src/arca-agro.ts"],"names":[],"mappings":"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"}
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"}
package/dist/arca-agro.js CHANGED
@@ -1,301 +1,106 @@
1
1
  import { EventEmitter } from 'node:events';
2
- import { WsaaClient } from '@ramiidv/arca-common';
2
+ import { WsaaClient, safeEmit, validateCuit } from '@ramiidv/arca-common';
3
3
  import { CpeClient } from './cpe-client.js';
4
- import { CtgClient } from './ctg-client.js';
5
4
  import { LpgClient } from './lpg-client.js';
6
- import { WSAA_SERVICES } from './constants.js';
7
- import { validateCPE, validateCTG, validateLiquidacion } from './validation.js';
5
+ import { CPE_ENDPOINTS, LPG_ENDPOINTS, WSAA_SERVICES } from './constants.js';
8
6
  /**
9
- * Orquestador principal para los servicios agropecuarios de ARCA.
10
- * Expone los tres servicios (WSCPE, WSCTG, WSLPG) con autenticación automática.
7
+ * Cliente de los servicios agropecuarios de ARCA: WSCPE (Carta de Porte
8
+ * Electrónica) y WSLPG (Liquidación Primaria de Granos), con autenticación
9
+ * WSAA automática.
11
10
  *
12
11
  * @example
13
12
  * ```ts
14
13
  * const agro = new ArcaAgro({
15
- * cuit: 20123456789,
14
+ * cuit: '20-12345678-6',
16
15
  * cert: fs.readFileSync('cert.pem', 'utf-8'),
17
16
  * key: fs.readFileSync('key.pem', 'utf-8'),
18
- * production: false,
19
17
  * });
20
- *
21
- * // Carta de Porte
18
+ * const nroOrden = await agro.cpe.siguienteNroOrden(1, TIPO_CPE.AUTOMOTOR);
22
19
  * const cpe = await agro.cpe.autorizarCPEAutomotor({ ... });
23
- *
24
- * // CTG
25
- * const ctg = await agro.ctg.solicitarCTGInicial({ ... });
26
- *
27
- * // Liquidaciones
28
- * const liq = await agro.lpg.liquidacionAutorizar({ ... });
20
+ * const liq = await agro.lpg.liquidacionAutorizar({ liquidacion: { ... } });
29
21
  * ```
30
22
  */
31
23
  export class ArcaAgro {
32
- wsaa;
33
- cpeClient;
34
- ctgClient;
35
- lpgClient;
36
- cuit;
37
- production;
38
- emitter = new EventEmitter();
39
- onEventCb;
40
- /** Acceso a los servicios de Carta de Porte Electrónica (WSCPE). */
24
+ /** WSCPE: Carta de Porte Electrónica (automotor y ferroviaria). */
41
25
  cpe;
42
- /** Acceso a los servicios de Código de Trazabilidad de Granos (WSCTG). */
43
- ctg;
44
- /** Acceso a los servicios de Liquidación Primaria de Granos (WSLPG). */
26
+ /** WSLPG: Liquidación Primaria de Granos y certificaciones. */
45
27
  lpg;
28
+ #wsaa;
29
+ #emitter = new EventEmitter();
30
+ /** @throws ArcaValidationError si el CUIT es inválido. */
46
31
  constructor(config) {
47
- this.cuit = config.cuit;
48
- this.production = config.production ?? false;
49
- this.onEventCb = config.onEvent;
50
- const timeoutMs = config.requestTimeoutMs ?? 30_000;
51
- const retries = config.retries ?? 1;
52
- const retryDelayMs = config.retryDelayMs ?? 1_000;
32
+ const cuit = validateCuit(config.cuit);
33
+ const production = config.production ?? false;
53
34
  const emit = (event) => {
54
- this.onEventCb?.(event);
55
- this.emitter.emit(event.type, event);
35
+ safeEmit(config.onEvent, event);
36
+ safeEmit((e) => this.#emitter.emit(e.type, e), event);
56
37
  };
57
- const clientOpts = { timeoutMs, retries, retryDelayMs, onEvent: emit };
58
- this.wsaa = new WsaaClient({
38
+ this.#wsaa = new WsaaClient({
59
39
  cert: config.cert,
60
40
  key: config.key,
61
- production: this.production,
62
- tokenTTLMinutes: config.tokenTTLMinutes ?? 720,
63
- timeout: timeoutMs,
64
- retries,
65
- retryDelayMs,
41
+ production,
42
+ endpoint: config.endpoints?.wsaa,
43
+ tokenTTLMinutes: config.tokenTTLMinutes,
44
+ timeout: config.timeout,
45
+ retries: config.retries,
46
+ retryDelayMs: config.retryDelayMs,
66
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),
67
75
  });
68
- this.cpeClient = new CpeClient(this.production, clientOpts);
69
- this.ctgClient = new CtgClient(this.production, clientOpts);
70
- this.lpgClient = new LpgClient(this.production, clientOpts);
71
- this.cpe = new ArcaAgroCpe(this);
72
- this.ctg = new ArcaAgroCtg(this);
73
- this.lpg = new ArcaAgroLpg(this);
74
76
  }
75
- // ============================================================
76
- // Eventos
77
- // ============================================================
78
77
  /**
79
- * Suscribirse a eventos del SDK.
80
- *
81
- * @example
82
- * ```ts
83
- * agro.on('request:end', (e) => console.log(`${e.method} took ${e.durationMs}ms`));
84
- * agro.on('auth:login', (e) => console.log(`Login ${e.service} in ${e.durationMs}ms`));
85
- * ```
78
+ * Suscribirse a eventos del SDK (`auth:*`, `request:*`).
79
+ * Los errores de los handlers se ignoran.
86
80
  */
87
81
  on(event, handler) {
88
- this.emitter.on(event, handler);
82
+ this.#emitter.on(event, handler);
89
83
  return this;
90
84
  }
91
85
  /** Desuscribirse de un evento. */
92
86
  off(event, handler) {
93
- this.emitter.off(event, handler);
87
+ this.#emitter.off(event, handler);
94
88
  return this;
95
89
  }
96
- // ============================================================
97
- // Auth helpers (internal)
98
- // ============================================================
99
- /** @internal */
100
- async getAuth(service) {
101
- const ticket = await this.wsaa.getAccessTicket(service);
102
- return {
103
- Token: ticket.token,
104
- Sign: ticket.sign,
105
- Cuit: this.cuit,
106
- };
107
- }
108
- /** @internal */
109
- getCpeClient() { return this.cpeClient; }
110
- /** @internal */
111
- getCtgClient() { return this.ctgClient; }
112
- /** @internal */
113
- getLpgClient() { return this.lpgClient; }
114
- // ============================================================
115
- // Estado de servicios
116
- // ============================================================
117
- /** Verifica el estado de los servidores de los 3 servicios agro. */
118
- async serverStatus() {
119
- const [cpe, ctg, lpg] = await Promise.all([
120
- this.cpeClient.dummy(),
121
- this.ctgClient.dummy(),
122
- this.lpgClient.dummy(),
123
- ]);
124
- return { cpe, ctg, lpg };
125
- }
126
- // ============================================================
127
- // Cache
128
- // ============================================================
129
- /** Invalida los tickets de acceso cacheados para todos los servicios agro. */
130
- clearAuthCache() {
131
- this.wsaa.clearTicket(WSAA_SERVICES.cpe);
132
- this.wsaa.clearTicket(WSAA_SERVICES.ctg);
133
- this.wsaa.clearTicket(WSAA_SERVICES.lpg);
134
- }
135
- }
136
- // ============================================================
137
- // Namespace: CPE
138
- // ============================================================
139
- /**
140
- * Namespace con métodos de Carta de Porte Electrónica (WSCPE).
141
- * Se accede a través de `agro.cpe.*`.
142
- */
143
- class ArcaAgroCpe {
144
- agro;
145
- constructor(agro) {
146
- this.agro = agro;
147
- }
148
- auth() { return this.agro.getAuth(WSAA_SERVICES.cpe); }
149
- client() { return this.agro.getCpeClient(); }
150
- /** Autoriza una CPE para transporte automotor. */
151
- async autorizarCPEAutomotor(cpe) {
152
- validateCPE(cpe);
153
- return this.client().autorizarCPEAutomotor(await this.auth(), cpe);
154
- }
155
- /** Confirma el arribo de una CPE en destino. */
156
- async confirmadoArriboCPE(params) {
157
- return this.client().confirmadoArriboCPE(await this.auth(), params);
158
- }
159
- /** Rechaza una CPE. */
160
- async rechazoCPE(params) {
161
- return this.client().rechazoCPE(await this.auth(), params);
162
- }
163
- /** Anula una CPE. */
164
- async anularCPE(params) {
165
- return this.client().anularCPE(await this.auth(), params);
166
- }
167
- /** Edita campos de una CPE previamente autorizada. */
168
- async editarCPE(params) {
169
- return this.client().editarCPE(await this.auth(), params);
170
- }
171
- /** Informa una contingencia sobre una CPE. */
172
- async informarContingencia(params) {
173
- return this.client().informarContingencia(await this.auth(), params);
174
- }
175
- /** Consulta CPEs según criterios de búsqueda. */
176
- async consultarCPE(params) {
177
- return this.client().consultarCPE(await this.auth(), params);
178
- }
179
- /** Consulta CPEs por destino. */
180
- async consultarCPEPorDestino(params) {
181
- return this.client().consultarCPEPorDestino(await this.auth(), params);
182
- }
183
- /** Consulta el último número de orden utilizado para una sucursal. */
184
- async consultarUltNroOrden(sucursal) {
185
- return this.client().consultarUltNroOrden(await this.auth(), sucursal);
186
- }
187
- /** Obtiene el siguiente número de orden (último + 1). */
188
- async siguienteNroOrden(sucursal) {
189
- const ultimo = await this.consultarUltNroOrden(sucursal);
190
- return ultimo + 1;
191
- }
192
- /** Obtiene la constancia PDF de una CPE en base64. */
193
- async consultarConstanciaCPEPDF(nroCTG) {
194
- return this.client().consultarConstanciaCPEPDF(await this.auth(), nroCTG);
195
- }
196
- /** Verifica el estado de los servidores del WSCPE. */
197
- async dummy() {
198
- return this.client().dummy();
199
- }
200
- }
201
- // ============================================================
202
- // Namespace: CTG
203
- // ============================================================
204
- /**
205
- * Namespace con métodos de Código de Trazabilidad de Granos (WSCTG).
206
- * Se accede a través de `agro.ctg.*`.
207
- */
208
- class ArcaAgroCtg {
209
- agro;
210
- constructor(agro) {
211
- this.agro = agro;
212
- }
213
- auth() { return this.agro.getAuth(WSAA_SERVICES.ctg); }
214
- client() { return this.agro.getCtgClient(); }
215
- /** Solicita un CTG inicial para el transporte de granos. */
216
- async solicitarCTGInicial(solicitud) {
217
- validateCTG(solicitud);
218
- return this.client().solicitarCTGInicial(await this.auth(), solicitud);
219
- }
220
- /** Confirma el arribo de un CTG en destino. */
221
- async confirmarArribo(params) {
222
- return this.client().confirmarArribo(await this.auth(), params);
223
- }
224
- /** Rechaza un CTG. */
225
- async rechazarCTG(params) {
226
- return this.client().rechazarCTG(await this.auth(), params);
227
- }
228
- /** Anula un CTG. */
229
- async anularCTG(params) {
230
- return this.client().anularCTG(await this.auth(), params);
231
- }
232
- /** Consulta CTGs según criterios de búsqueda. */
233
- async consultarCTG(params) {
234
- return this.client().consultarCTG(await this.auth(), params);
235
- }
236
- /** Consulta CTGs y retorna el resultado en formato Excel (base64). */
237
- async consultarCTGExcel(params) {
238
- return this.client().consultarCTGExcel(await this.auth(), params);
239
- }
240
- /** Obtiene la constancia PDF de un CTG en base64. */
241
- async consultarConstanciaCTGPDF(nroCTG) {
242
- return this.client().consultarConstanciaCTGPDF(await this.auth(), nroCTG);
243
- }
244
- /** Obtiene los CTGs activos (pendientes). */
245
- async obtenerCTGActivos() {
246
- return this.client().obtenerCTGActivos(await this.auth());
247
- }
248
- /** Verifica el estado de los servidores del WSCTG. */
249
- async dummy() {
250
- return this.client().dummy();
251
- }
252
- }
253
- // ============================================================
254
- // Namespace: LPG
255
- // ============================================================
256
- /**
257
- * Namespace con métodos de Liquidación Primaria de Granos (WSLPG).
258
- * Se accede a través de `agro.lpg.*`.
259
- */
260
- class ArcaAgroLpg {
261
- agro;
262
- constructor(agro) {
263
- this.agro = agro;
264
- }
265
- auth() { return this.agro.getAuth(WSAA_SERVICES.lpg); }
266
- client() { return this.agro.getLpgClient(); }
267
- /** Autoriza una liquidación primaria de granos. */
268
- async liquidacionAutorizar(liquidacion) {
269
- validateLiquidacion(liquidacion);
270
- return this.client().liquidacionAutorizar(await this.auth(), liquidacion);
271
- }
272
- /** Consulta liquidaciones previamente autorizadas. */
273
- async liquidacionConsultar(params) {
274
- return this.client().liquidacionConsultar(await this.auth(), params);
275
- }
276
- /** Anula una liquidación previamente autorizada. */
277
- async liquidacionAnular(ptoEmision, nroOrden) {
278
- return this.client().liquidacionAnular(await this.auth(), ptoEmision, nroOrden);
279
- }
280
- /** Ajusta una liquidación mediante ajuste unificado. */
281
- async liquidacionAjustarUnificado(params) {
282
- return this.client().liquidacionAjustarUnificado(await this.auth(), params);
283
- }
284
- /** Autoriza una certificación de granos. */
285
- async certificacionAutorizar(certificacion) {
286
- return this.client().certificacionAutorizar(await this.auth(), certificacion);
287
- }
288
- /** Anula una certificación previamente autorizada. */
289
- async certificacionAnular(tipoCertificacion, nroCertificacion) {
290
- return this.client().certificacionAnular(await this.auth(), tipoCertificacion, nroCertificacion);
291
- }
292
- /** Consulta parámetros del WSLPG (tipos de grano, grados, puertos, etc.). */
293
- async consultarParametros(tipoParametro, params) {
294
- return this.client().consultarParametros(await this.auth(), tipoParametro, params);
295
- }
296
- /** Verifica el estado de los servidores del WSLPG. */
297
- async dummy() {
298
- return this.client().dummy();
90
+ /**
91
+ * Estado de los servidores de WSCPE y WSLPG (`dummy`, sin autenticación).
92
+ * Una falla de un servicio no impide conocer el estado del otro.
93
+ */
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)]);
299
104
  }
300
105
  }
301
106
  //# 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":"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"}