@ramiidv/arca-agro 0.1.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.
@@ -0,0 +1,267 @@
1
+ import { afipSoapCall, ensureArray, checkServiceErrors, } from '@ramiidv/arca-common';
2
+ import { CPE_ENDPOINTS, CPE_NAMESPACE } from './constants.js';
3
+ /**
4
+ * Cliente de bajo nivel para WSCPE (Carta de Porte Electrónica).
5
+ * Maneja el transporte de granos por vía automotor.
6
+ */
7
+ export class CpeClient {
8
+ endpoint;
9
+ soapOpts;
10
+ constructor(production, opts = {}) {
11
+ this.endpoint = production
12
+ ? CPE_ENDPOINTS.production
13
+ : CPE_ENDPOINTS.testing;
14
+ this.soapOpts = {
15
+ timeout: opts.timeoutMs,
16
+ retries: opts.retries,
17
+ retryDelayMs: opts.retryDelayMs,
18
+ onEvent: opts.onEvent,
19
+ };
20
+ }
21
+ async call(method, params) {
22
+ const result = await afipSoapCall(this.endpoint, CPE_NAMESPACE, method, params, this.soapOpts);
23
+ checkServiceErrors(result, 'WSCPE');
24
+ return result;
25
+ }
26
+ parseResult(raw) {
27
+ const errores = ensureArray((raw['errores'] ?? raw['arrayErrores'])).map((e) => ({
28
+ Code: Number(e['codigo'] ?? e['Code'] ?? 0),
29
+ Msg: String(e['descripcion'] ?? e['Msg'] ?? ''),
30
+ }));
31
+ const eventos = ensureArray((raw['eventos'] ?? raw['arrayEventos'])).map((e) => ({
32
+ Code: Number(e['codigo'] ?? e['Code'] ?? 0),
33
+ Msg: String(e['descripcion'] ?? e['Msg'] ?? ''),
34
+ }));
35
+ return {
36
+ nroCTG: raw['nroCTG'],
37
+ nroCartaPorte: raw['nroCartaPorte'],
38
+ nroOrden: raw['nroOrden'],
39
+ fechaEmision: raw['fechaEmision'],
40
+ fechaVencimiento: raw['fechaVencimiento'],
41
+ estado: raw['estado'],
42
+ errores: errores.length > 0 ? errores : undefined,
43
+ eventos: eventos.length > 0 ? eventos : undefined,
44
+ raw,
45
+ };
46
+ }
47
+ // ============================================================
48
+ // Autorización
49
+ // ============================================================
50
+ /**
51
+ * Autoriza una Carta de Porte Electrónica para transporte automotor.
52
+ */
53
+ async autorizarCPEAutomotor(auth, cpe) {
54
+ const { cuitTitularCartaPorte, sucursal, nroOrden, ...rest } = cpe;
55
+ const result = await this.call('autorizarCPEAutomotor', {
56
+ auth: {
57
+ token: auth.Token,
58
+ sign: auth.Sign,
59
+ cuitRepresentada: auth.Cuit,
60
+ },
61
+ solicitud: {
62
+ cuitTitularCartaPorte,
63
+ sucursal,
64
+ nroOrden,
65
+ ...rest,
66
+ },
67
+ });
68
+ return this.parseResult(result);
69
+ }
70
+ // ============================================================
71
+ // Confirmación de arribo
72
+ // ============================================================
73
+ /**
74
+ * Confirma el arribo de una CPE en destino.
75
+ */
76
+ async confirmadoArriboCPE(auth, params) {
77
+ const result = await this.call('confirmadoArriboCPE', {
78
+ auth: {
79
+ token: auth.Token,
80
+ sign: auth.Sign,
81
+ cuitRepresentada: auth.Cuit,
82
+ },
83
+ solicitud: {
84
+ nroCTG: params.nroCTG,
85
+ nroCartaPorte: params.nroCartaPorte,
86
+ cuitDestino: params.cuitDestino,
87
+ pesoNeto: params.pesoNeto,
88
+ fechaArribo: params.fechaArribo,
89
+ },
90
+ });
91
+ return this.parseResult(result);
92
+ }
93
+ // ============================================================
94
+ // Rechazo
95
+ // ============================================================
96
+ /**
97
+ * Rechaza una CPE.
98
+ */
99
+ async rechazoCPE(auth, params) {
100
+ const result = await this.call('rechazoCPE', {
101
+ auth: {
102
+ token: auth.Token,
103
+ sign: auth.Sign,
104
+ cuitRepresentada: auth.Cuit,
105
+ },
106
+ solicitud: {
107
+ nroCTG: params.nroCTG,
108
+ nroCartaPorte: params.nroCartaPorte,
109
+ codMotivo: params.codMotivo,
110
+ ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
111
+ },
112
+ });
113
+ return this.parseResult(result);
114
+ }
115
+ // ============================================================
116
+ // Anulación
117
+ // ============================================================
118
+ /**
119
+ * Anula una CPE.
120
+ */
121
+ async anularCPE(auth, params) {
122
+ const result = await this.call('anularCPE', {
123
+ auth: {
124
+ token: auth.Token,
125
+ sign: auth.Sign,
126
+ cuitRepresentada: auth.Cuit,
127
+ },
128
+ solicitud: {
129
+ nroCTG: params.nroCTG,
130
+ nroCartaPorte: params.nroCartaPorte,
131
+ codMotivo: params.codMotivo,
132
+ ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
133
+ },
134
+ });
135
+ return this.parseResult(result);
136
+ }
137
+ // ============================================================
138
+ // Edición
139
+ // ============================================================
140
+ /**
141
+ * Edita campos de una CPE previamente autorizada.
142
+ */
143
+ async editarCPE(auth, params) {
144
+ const { nroCTG, nroCartaPorte, ...campos } = params;
145
+ const result = await this.call('editarCPE', {
146
+ auth: {
147
+ token: auth.Token,
148
+ sign: auth.Sign,
149
+ cuitRepresentada: auth.Cuit,
150
+ },
151
+ solicitud: {
152
+ nroCTG,
153
+ nroCartaPorte,
154
+ ...campos,
155
+ },
156
+ });
157
+ return this.parseResult(result);
158
+ }
159
+ // ============================================================
160
+ // Contingencia
161
+ // ============================================================
162
+ /**
163
+ * Informa una contingencia sobre una CPE.
164
+ */
165
+ async informarContingencia(auth, params) {
166
+ const result = await this.call('informarContingencia', {
167
+ auth: {
168
+ token: auth.Token,
169
+ sign: auth.Sign,
170
+ cuitRepresentada: auth.Cuit,
171
+ },
172
+ solicitud: {
173
+ nroCTG: params.nroCTG,
174
+ nroCartaPorte: params.nroCartaPorte,
175
+ tipoContingencia: params.tipoContingencia,
176
+ ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
177
+ },
178
+ });
179
+ return this.parseResult(result);
180
+ }
181
+ // ============================================================
182
+ // Consultas
183
+ // ============================================================
184
+ /**
185
+ * Consulta CPEs según criterios de búsqueda.
186
+ */
187
+ async consultarCPE(auth, params) {
188
+ const result = await this.call('consultarCPE', {
189
+ auth: {
190
+ token: auth.Token,
191
+ sign: auth.Sign,
192
+ cuitRepresentada: auth.Cuit,
193
+ },
194
+ solicitud: params,
195
+ });
196
+ const items = ensureArray((result['cartaPorte'] ?? result['resultado'] ?? result));
197
+ return items.map((item) => this.parseResult(item));
198
+ }
199
+ /**
200
+ * Consulta CPEs por destino.
201
+ */
202
+ async consultarCPEPorDestino(auth, params) {
203
+ const result = await this.call('consultarCPEPorDestino', {
204
+ auth: {
205
+ token: auth.Token,
206
+ sign: auth.Sign,
207
+ cuitRepresentada: auth.Cuit,
208
+ },
209
+ solicitud: {
210
+ cuitDestino: params.cuitDestino,
211
+ fechaDesde: params.fechaDesde,
212
+ fechaHasta: params.fechaHasta,
213
+ ...(params.codGrano !== undefined && { codGrano: params.codGrano }),
214
+ ...(params.estado !== undefined && { estado: params.estado }),
215
+ },
216
+ });
217
+ const items = ensureArray((result['cartaPorte'] ?? result['resultado'] ?? result));
218
+ return items.map((item) => this.parseResult(item));
219
+ }
220
+ /**
221
+ * Consulta el último número de orden utilizado.
222
+ */
223
+ async consultarUltNroOrden(auth, sucursal) {
224
+ const result = await this.call('consultarUltNroOrden', {
225
+ auth: {
226
+ token: auth.Token,
227
+ sign: auth.Sign,
228
+ cuitRepresentada: auth.Cuit,
229
+ },
230
+ solicitud: {
231
+ sucursal,
232
+ },
233
+ });
234
+ return Number(result['nroOrden'] ?? 0);
235
+ }
236
+ /**
237
+ * Obtiene la constancia PDF de una CPE en base64.
238
+ */
239
+ async consultarConstanciaCPEPDF(auth, nroCTG) {
240
+ const result = await this.call('consultarConstanciaCPEPDF', {
241
+ auth: {
242
+ token: auth.Token,
243
+ sign: auth.Sign,
244
+ cuitRepresentada: auth.Cuit,
245
+ },
246
+ solicitud: {
247
+ nroCTG,
248
+ },
249
+ });
250
+ return String(result['pdf'] ?? result['constancia'] ?? '');
251
+ }
252
+ // ============================================================
253
+ // Estado del servicio
254
+ // ============================================================
255
+ /**
256
+ * Verifica el estado de los servidores del WSCPE.
257
+ */
258
+ async dummy() {
259
+ const result = await afipSoapCall(this.endpoint, CPE_NAMESPACE, 'dummy', {}, this.soapOpts);
260
+ return {
261
+ appserver: String(result['appserver'] ?? result['AppServer'] ?? ''),
262
+ dbserver: String(result['dbserver'] ?? result['DbServer'] ?? ''),
263
+ authserver: String(result['authserver'] ?? result['AuthServer'] ?? ''),
264
+ };
265
+ }
266
+ }
267
+ //# sourceMappingURL=cpe-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpe-client.js","sourceRoot":"","sources":["../src/cpe-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { ArcaEvent, ServerStatus } from '@ramiidv/arca-common';
2
+ import type { AgroAuth, SolicitudCTG, CTGResult, ConsultaCTGParams, ConfirmarArriboCTGParams, RechazoCTGParams, AnulacionCTGParams, CTGActivosResult } from './types.js';
3
+ export interface CtgClientOptions {
4
+ timeoutMs?: number;
5
+ retries?: number;
6
+ retryDelayMs?: number;
7
+ onEvent?: (event: ArcaEvent) => void;
8
+ }
9
+ /**
10
+ * Cliente de bajo nivel para WSCTG (Código de Trazabilidad de Granos).
11
+ * Gestiona CTGs para el seguimiento del transporte de granos.
12
+ */
13
+ export declare class CtgClient {
14
+ private readonly endpoint;
15
+ private readonly soapOpts;
16
+ constructor(production: boolean, opts?: CtgClientOptions);
17
+ private call;
18
+ private parseResult;
19
+ /**
20
+ * Solicita un CTG inicial para el transporte de granos.
21
+ */
22
+ solicitarCTGInicial(auth: AgroAuth, solicitud: SolicitudCTG): Promise<CTGResult>;
23
+ /**
24
+ * Confirma el arribo de un CTG en destino.
25
+ */
26
+ confirmarArribo(auth: AgroAuth, params: ConfirmarArriboCTGParams): Promise<CTGResult>;
27
+ /**
28
+ * Rechaza un CTG.
29
+ */
30
+ rechazarCTG(auth: AgroAuth, params: RechazoCTGParams): Promise<CTGResult>;
31
+ /**
32
+ * Anula un CTG.
33
+ */
34
+ anularCTG(auth: AgroAuth, params: AnulacionCTGParams): Promise<CTGResult>;
35
+ /**
36
+ * Consulta CTGs según criterios de búsqueda.
37
+ */
38
+ consultarCTG(auth: AgroAuth, params: ConsultaCTGParams): Promise<CTGResult[]>;
39
+ /**
40
+ * Consulta CTGs y retorna el resultado en formato Excel (base64).
41
+ */
42
+ consultarCTGExcel(auth: AgroAuth, params: ConsultaCTGParams): Promise<string>;
43
+ /**
44
+ * Obtiene la constancia PDF de un CTG en base64.
45
+ */
46
+ consultarConstanciaCTGPDF(auth: AgroAuth, nroCTG: number): Promise<string>;
47
+ /**
48
+ * Obtiene los CTGs activos (pendientes).
49
+ */
50
+ obtenerCTGActivos(auth: AgroAuth): Promise<CTGActivosResult>;
51
+ /**
52
+ * Verifica el estado de los servidores del WSCTG.
53
+ */
54
+ dummy(): Promise<ServerStatus>;
55
+ }
56
+ //# sourceMappingURL=ctg-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctg-client.d.ts","sourceRoot":"","sources":["../src/ctg-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAmB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4E;gBAEzF,UAAU,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB;YAY9C,IAAI;IAYlB,OAAO,CAAC,WAAW;IAiCnB;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBtF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC;IAuB3F;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/E;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/E;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAenF;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYnF;;OAEG;IACG,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAchF;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBlE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CAcrC"}
@@ -0,0 +1,214 @@
1
+ import { afipSoapCall, ensureArray, checkServiceErrors, } from '@ramiidv/arca-common';
2
+ import { CTG_ENDPOINTS, CTG_NAMESPACE } from './constants.js';
3
+ /**
4
+ * Cliente de bajo nivel para WSCTG (Código de Trazabilidad de Granos).
5
+ * Gestiona CTGs para el seguimiento del transporte de granos.
6
+ */
7
+ export class CtgClient {
8
+ endpoint;
9
+ soapOpts;
10
+ constructor(production, opts = {}) {
11
+ this.endpoint = production
12
+ ? CTG_ENDPOINTS.production
13
+ : CTG_ENDPOINTS.testing;
14
+ this.soapOpts = {
15
+ timeout: opts.timeoutMs,
16
+ retries: opts.retries,
17
+ retryDelayMs: opts.retryDelayMs,
18
+ onEvent: opts.onEvent,
19
+ };
20
+ }
21
+ async call(method, params) {
22
+ const result = await afipSoapCall(this.endpoint, CTG_NAMESPACE, method, params, this.soapOpts);
23
+ checkServiceErrors(result, 'WSCTG');
24
+ return result;
25
+ }
26
+ parseResult(raw) {
27
+ const errores = ensureArray((raw['errores'] ?? raw['arrayErrores'])).map((e) => ({
28
+ Code: Number(e['codigo'] ?? e['Code'] ?? 0),
29
+ Msg: String(e['descripcion'] ?? e['Msg'] ?? ''),
30
+ }));
31
+ const eventos = ensureArray((raw['eventos'] ?? raw['arrayEventos'])).map((e) => ({
32
+ Code: Number(e['codigo'] ?? e['Code'] ?? 0),
33
+ Msg: String(e['descripcion'] ?? e['Msg'] ?? ''),
34
+ }));
35
+ return {
36
+ nroCTG: raw['nroCTG'],
37
+ fechaEmision: raw['fechaEmision'],
38
+ vigenciaDesde: raw['vigenciaDesde'],
39
+ vigenciaHasta: raw['vigenciaHasta'],
40
+ tarifaReferencia: raw['tarifaReferencia'],
41
+ estado: raw['estado'],
42
+ nroCartaPorte: raw['nroCartaPorte'],
43
+ errores: errores.length > 0 ? errores : undefined,
44
+ eventos: eventos.length > 0 ? eventos : undefined,
45
+ raw,
46
+ };
47
+ }
48
+ // ============================================================
49
+ // Solicitud de CTG
50
+ // ============================================================
51
+ /**
52
+ * Solicita un CTG inicial para el transporte de granos.
53
+ */
54
+ async solicitarCTGInicial(auth, solicitud) {
55
+ const result = await this.call('solicitarCTGInicial', {
56
+ auth: {
57
+ token: auth.Token,
58
+ sign: auth.Sign,
59
+ cuitRepresentada: auth.Cuit,
60
+ },
61
+ solicitud,
62
+ });
63
+ return this.parseResult(result);
64
+ }
65
+ // ============================================================
66
+ // Confirmación de arribo
67
+ // ============================================================
68
+ /**
69
+ * Confirma el arribo de un CTG en destino.
70
+ */
71
+ async confirmarArribo(auth, params) {
72
+ const result = await this.call('confirmarArribo', {
73
+ auth: {
74
+ token: auth.Token,
75
+ sign: auth.Sign,
76
+ cuitRepresentada: auth.Cuit,
77
+ },
78
+ solicitud: {
79
+ nroCTG: params.nroCTG,
80
+ nroCartaPorte: params.nroCartaPorte,
81
+ cuitDestino: params.cuitDestino,
82
+ pesoNeto: params.pesoNeto,
83
+ fechaArribo: params.fechaArribo,
84
+ ...(params.codCosecha !== undefined && { codCosecha: params.codCosecha }),
85
+ },
86
+ });
87
+ return this.parseResult(result);
88
+ }
89
+ // ============================================================
90
+ // Rechazo
91
+ // ============================================================
92
+ /**
93
+ * Rechaza un CTG.
94
+ */
95
+ async rechazarCTG(auth, params) {
96
+ const result = await this.call('rechazarCTG', {
97
+ auth: {
98
+ token: auth.Token,
99
+ sign: auth.Sign,
100
+ cuitRepresentada: auth.Cuit,
101
+ },
102
+ solicitud: {
103
+ nroCTG: params.nroCTG,
104
+ nroCartaPorte: params.nroCartaPorte,
105
+ codMotivo: params.codMotivo,
106
+ ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
107
+ },
108
+ });
109
+ return this.parseResult(result);
110
+ }
111
+ // ============================================================
112
+ // Anulación
113
+ // ============================================================
114
+ /**
115
+ * Anula un CTG.
116
+ */
117
+ async anularCTG(auth, params) {
118
+ const result = await this.call('anularCTG', {
119
+ auth: {
120
+ token: auth.Token,
121
+ sign: auth.Sign,
122
+ cuitRepresentada: auth.Cuit,
123
+ },
124
+ solicitud: {
125
+ nroCTG: params.nroCTG,
126
+ nroCartaPorte: params.nroCartaPorte,
127
+ codMotivo: params.codMotivo,
128
+ ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
129
+ },
130
+ });
131
+ return this.parseResult(result);
132
+ }
133
+ // ============================================================
134
+ // Consultas
135
+ // ============================================================
136
+ /**
137
+ * Consulta CTGs según criterios de búsqueda.
138
+ */
139
+ async consultarCTG(auth, params) {
140
+ const result = await this.call('consultarCTG', {
141
+ auth: {
142
+ token: auth.Token,
143
+ sign: auth.Sign,
144
+ cuitRepresentada: auth.Cuit,
145
+ },
146
+ solicitud: params,
147
+ });
148
+ const items = ensureArray((result['consultarCTGDatos'] ?? result['resultado'] ?? result));
149
+ return items.map((item) => this.parseResult(item));
150
+ }
151
+ /**
152
+ * Consulta CTGs y retorna el resultado en formato Excel (base64).
153
+ */
154
+ async consultarCTGExcel(auth, params) {
155
+ const result = await this.call('consultarCTGExcel', {
156
+ auth: {
157
+ token: auth.Token,
158
+ sign: auth.Sign,
159
+ cuitRepresentada: auth.Cuit,
160
+ },
161
+ solicitud: params,
162
+ });
163
+ return String(result['excel'] ?? result['archivo'] ?? '');
164
+ }
165
+ /**
166
+ * Obtiene la constancia PDF de un CTG en base64.
167
+ */
168
+ async consultarConstanciaCTGPDF(auth, nroCTG) {
169
+ const result = await this.call('consultarConstanciaCTGPDF', {
170
+ auth: {
171
+ token: auth.Token,
172
+ sign: auth.Sign,
173
+ cuitRepresentada: auth.Cuit,
174
+ },
175
+ solicitud: {
176
+ nroCTG,
177
+ },
178
+ });
179
+ return String(result['pdf'] ?? result['constancia'] ?? '');
180
+ }
181
+ /**
182
+ * Obtiene los CTGs activos (pendientes).
183
+ */
184
+ async obtenerCTGActivos(auth) {
185
+ const result = await this.call('obtenerCTGActivos', {
186
+ auth: {
187
+ token: auth.Token,
188
+ sign: auth.Sign,
189
+ cuitRepresentada: auth.Cuit,
190
+ },
191
+ });
192
+ const ctgs = ensureArray((result['ctgActivo'] ?? result['resultado']));
193
+ return {
194
+ ctgs,
195
+ errores: undefined,
196
+ raw: result,
197
+ };
198
+ }
199
+ // ============================================================
200
+ // Estado del servicio
201
+ // ============================================================
202
+ /**
203
+ * Verifica el estado de los servidores del WSCTG.
204
+ */
205
+ async dummy() {
206
+ const result = await afipSoapCall(this.endpoint, CTG_NAMESPACE, 'dummy', {}, this.soapOpts);
207
+ return {
208
+ appserver: String(result['appserver'] ?? result['AppServer'] ?? ''),
209
+ dbserver: String(result['dbserver'] ?? result['DbServer'] ?? ''),
210
+ authserver: String(result['authserver'] ?? result['AuthServer'] ?? ''),
211
+ };
212
+ }
213
+ }
214
+ //# sourceMappingURL=ctg-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctg-client.js","sourceRoot":"","sources":["../src/ctg-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export { ArcaAgro } from './arca-agro.js';
2
+ export { CpeClient } from './cpe-client.js';
3
+ export type { CpeClientOptions } from './cpe-client.js';
4
+ export { CtgClient } from './ctg-client.js';
5
+ export type { CtgClientOptions } from './ctg-client.js';
6
+ export { LpgClient } from './lpg-client.js';
7
+ export type { LpgClientOptions } from './lpg-client.js';
8
+ export type { ArcaAgroConfig, AgroAuth, AgroError, AccessTicket, ArcaEvent, ServerStatus, 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';
9
+ export { validateCPE, validateCTG, validateLiquidacion } from './validation.js';
10
+ export { WSAA_SERVICES, CPE_ENDPOINTS, CPE_NAMESPACE, CTG_ENDPOINTS, CTG_NAMESPACE, LPG_ENDPOINTS, LPG_NAMESPACE, } from './constants.js';
11
+ export { ArcaError, ArcaAuthError, ArcaSoapError, ArcaServiceError, ArcaValidationError, } from '@ramiidv/arca-common';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKxD,YAAY,EAEV,cAAc,EACd,QAAQ,EACR,SAAS,EAET,YAAY,EACZ,SAAS,EACT,YAAY,EAEZ,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EAErB,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAEhB,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAKhF,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Main orchestrator
3
+ // ---------------------------------------------------------------------------
4
+ export { ArcaAgro } from './arca-agro.js';
5
+ // ---------------------------------------------------------------------------
6
+ // Low-level clients
7
+ // ---------------------------------------------------------------------------
8
+ export { CpeClient } from './cpe-client.js';
9
+ export { CtgClient } from './ctg-client.js';
10
+ export { LpgClient } from './lpg-client.js';
11
+ // ---------------------------------------------------------------------------
12
+ // Validators
13
+ // ---------------------------------------------------------------------------
14
+ export { validateCPE, validateCTG, validateLiquidacion } from './validation.js';
15
+ // ---------------------------------------------------------------------------
16
+ // Constants
17
+ // ---------------------------------------------------------------------------
18
+ export { WSAA_SERVICES, CPE_ENDPOINTS, CPE_NAMESPACE, CTG_ENDPOINTS, CTG_NAMESPACE, LPG_ENDPOINTS, LPG_NAMESPACE, } from './constants.js';
19
+ // ---------------------------------------------------------------------------
20
+ // Errors (re-export from common for convenience)
21
+ // ---------------------------------------------------------------------------
22
+ export { ArcaError, ArcaAuthError, ArcaSoapError, ArcaServiceError, ArcaValidationError, } from '@ramiidv/arca-common';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA0C5C,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAC9E,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEhF,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAC9E,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAC9E,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}