@albertomarturelo/sii-core 0.14.0 → 0.16.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 +63 -0
- package/dist/adapters/node/http.d.ts.map +1 -1
- package/dist/adapters/node/http.js +8 -6
- package/dist/adapters/node/http.js.map +1 -1
- package/dist/adapters/node/network.d.ts +9 -0
- package/dist/adapters/node/network.d.ts.map +1 -0
- package/dist/adapters/node/network.js +60 -0
- package/dist/adapters/node/network.js.map +1 -0
- package/dist/adapters/node/portal.d.ts.map +1 -1
- package/dist/adapters/node/portal.js +5 -4
- package/dist/adapters/node/portal.js.map +1 -1
- package/dist/auth/auth.d.ts.map +1 -1
- package/dist/auth/auth.js +13 -1
- package/dist/auth/auth.js.map +1 -1
- package/dist/auth/datos-cntr.d.ts +9 -0
- package/dist/auth/datos-cntr.d.ts.map +1 -1
- package/dist/auth/datos-cntr.js +22 -0
- package/dist/auth/datos-cntr.js.map +1 -1
- package/dist/errors/errors.d.ts +21 -0
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +23 -0
- package/dist/errors/errors.js.map +1 -1
- package/dist/errors/kind.d.ts +1 -1
- package/dist/errors/kind.d.ts.map +1 -1
- package/dist/errors/kind.js +3 -1
- package/dist/errors/kind.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/portal/carpeta-tributaria-regular.d.ts.map +1 -1
- package/dist/portal/carpeta-tributaria-regular.js +4 -1
- package/dist/portal/carpeta-tributaria-regular.js.map +1 -1
- package/dist/portal/dte-public.d.ts +1 -1
- package/dist/portal/dte-public.d.ts.map +1 -1
- package/dist/portal/dte-public.js +4 -2
- package/dist/portal/dte-public.js.map +1 -1
- package/dist/portal/f22/shared.d.ts.map +1 -1
- package/dist/portal/f22/shared.js +4 -1
- package/dist/portal/f22/shared.js.map +1 -1
- package/dist/portal/f29-rfi-form.d.ts +10 -0
- package/dist/portal/f29-rfi-form.d.ts.map +1 -1
- package/dist/portal/f29-rfi-form.js +10 -0
- package/dist/portal/f29-rfi-form.js.map +1 -1
- package/dist/portal/f29-rfi.d.ts +54 -1
- package/dist/portal/f29-rfi.d.ts.map +1 -1
- package/dist/portal/f29-rfi.js +224 -3
- package/dist/portal/f29-rfi.js.map +1 -1
- package/dist/portal/f29.d.ts +9 -0
- package/dist/portal/f29.d.ts.map +1 -1
- package/dist/portal/f29.js +59 -2
- package/dist/portal/f29.js.map +1 -1
- package/dist/portal/gwt.d.ts.map +1 -1
- package/dist/portal/gwt.js +30 -1
- package/dist/portal/gwt.js.map +1 -1
- package/dist/portal/rcv.d.ts.map +1 -1
- package/dist/portal/rcv.js +5 -2
- package/dist/portal/rcv.js.map +1 -1
- package/dist/portal/representacion.d.ts.map +1 -1
- package/dist/portal/representacion.js +5 -2
- package/dist/portal/representacion.js.map +1 -1
- package/dist/tasks/alertas.d.ts +65 -0
- package/dist/tasks/alertas.d.ts.map +1 -0
- package/dist/tasks/alertas.js +339 -0
- package/dist/tasks/alertas.js.map +1 -0
- package/dist/tasks/f29-submit.d.ts +83 -0
- package/dist/tasks/f29-submit.d.ts.map +1 -0
- package/dist/tasks/f29-submit.js +215 -0
- package/dist/tasks/f29-submit.js.map +1 -0
- package/dist/tasks/f29.d.ts +7 -1
- package/dist/tasks/f29.d.ts.map +1 -1
- package/dist/tasks/f29.js +9 -13
- package/dist/tasks/f29.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"f29-rfi.d.ts","sourceRoot":"","sources":["../../src/portal/f29-rfi.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"f29-rfi.d.ts","sourceRoot":"","sources":["../../src/portal/f29-rfi.ts"],"names":[],"mappings":"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"}
|
package/dist/portal/f29-rfi.js
CHANGED
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
// the type signatures come from the live permutation (`loadGwtPermutation`), the field layouts
|
|
6
6
|
// from `rfi-schema.ts`. The chain itself (which calls, in which order) is #161's.
|
|
7
7
|
import { HOSTS } from '../config/index.js';
|
|
8
|
-
import { F29Error } from '../errors/index.js';
|
|
9
|
-
import { Gwt7Codec, postGwt7 } from './gwt.js';
|
|
8
|
+
import { F29Error, F29RechazoError } from '../errors/index.js';
|
|
9
|
+
import { Gwt7Codec, postGwt7, } from './gwt.js';
|
|
10
10
|
import { RFI_READ_LAYOUT, RFI_WRITE_LAYOUT } from './rfi-schema.js';
|
|
11
|
+
import { F29_TIPO_PROPUESTA } from './f29.js';
|
|
12
|
+
import { f29CampoValores, fillF29Form } from './f29-rfi-form.js';
|
|
11
13
|
/** rfiInternet's module and the form service's entry point (observed 2026-10-19). */
|
|
12
14
|
export const RFI_FORMULARIO = {
|
|
13
15
|
moduleBase: `${HOSTS.portalApi}/rfiInternet/`,
|
|
@@ -32,6 +34,225 @@ export async function callFormularioFacade(session, method, params, opts = {}) {
|
|
|
32
34
|
params,
|
|
33
35
|
});
|
|
34
36
|
}, f29Error, opts.heal === undefined ? {} : { heal: opts.heal });
|
|
35
|
-
|
|
37
|
+
try {
|
|
38
|
+
return codec.decodeResponse(text, opts.returns);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
// Only SII's own exception proves the call had no effect; a body we cannot decode does not.
|
|
42
|
+
if (e instanceof F29Error && text.trimStart().startsWith('//EX')) {
|
|
43
|
+
throw new F29RechazoError(e.message);
|
|
44
|
+
}
|
|
45
|
+
throw e;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export const rfiCaller = (session) => (method, params, opts) => callFormularioFacade(session, method, params, opts ?? {});
|
|
49
|
+
const CLS = {
|
|
50
|
+
string: 'java.lang.String',
|
|
51
|
+
integer: 'java.lang.Integer',
|
|
52
|
+
boolean: 'java.lang.Boolean',
|
|
53
|
+
hashMap: 'java.util.HashMap',
|
|
54
|
+
formulario: 'cl.sii.sdi.dim.rfi.to.Formulario',
|
|
55
|
+
periodo: 'cl.sii.sdi.dim.rfi.to.Periodo',
|
|
56
|
+
contribuyente: 'cl.sii.sdi.core.web.shared.to.SdiContribuyenteTo',
|
|
57
|
+
resultadoContribuyente: 'cl.sii.sdi.dim.rfi.web.client.to.ResultadoRecuperarContribuyenteTo',
|
|
58
|
+
layout: 'cl.sii.sdi.difm.rcs.web.client.to.FormularioLayoutTO',
|
|
59
|
+
borradorRfi: 'cl.sii.sdi.dim.rfi.to.BorradorRfi',
|
|
60
|
+
borrador: 'cl.sii.sdi.dim.rfi.to.Borrador',
|
|
61
|
+
};
|
|
62
|
+
/** rfi `Formulario`: 0 a Boolean the client sets before reading the borrador, 10 the form código
|
|
63
|
+
* (`"029"`), 27 the int tipo de propuesta. */
|
|
64
|
+
const FORMULARIO = { flag: 0, codigo: 10, tipo: 27 };
|
|
65
|
+
const F29_CODIGO = '029';
|
|
66
|
+
/** rfi `Periodo`: [año, mes] as Integers. */
|
|
67
|
+
const PERIODO = { anno: 0, mes: 1 };
|
|
68
|
+
/** `Borrador`: 9 the FormularioRfi XML SII would file, 27 the tipo (Integer; 40 validated, 41 to
|
|
69
|
+
* save), 28 an integrity value that is never touched. */
|
|
70
|
+
const BORRADOR = { xml: 9, tipo: 27 };
|
|
71
|
+
/** `guardarBorradorRfiValidado` takes the validated borrador with its tipo 40 → 41. */
|
|
72
|
+
const TIPO_GUARDAR = 41;
|
|
73
|
+
const box = (cls, v) => ({ cls, values: [v] });
|
|
74
|
+
const roto = (what) => new F29Error(`No se pudo interpretar el formulario de SII (scraper roto): ${what}.`);
|
|
75
|
+
const isNode = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
76
|
+
function nodeOf(v, cls, what) {
|
|
77
|
+
if (!isNode(v) || v.cls !== cls)
|
|
78
|
+
throw roto(`${what} no es ${cls.split('.').pop()}`);
|
|
79
|
+
return v;
|
|
80
|
+
}
|
|
81
|
+
/** A Java array node's elements of class `cls`. */
|
|
82
|
+
function arrayOf(v, cls, what) {
|
|
83
|
+
if (!isNode(v) || v.cls !== `[L${cls};`)
|
|
84
|
+
throw roto(`${what} no es una lista`);
|
|
85
|
+
return v.values.map((x, k) => nodeOf(x, cls, `${what}[${k}]`));
|
|
86
|
+
}
|
|
87
|
+
const boxed = (v) => isNode(v) && v.values.length === 1 ? v.values[0] : v;
|
|
88
|
+
/** A HashMap<String, String> (consultarHijoToken's answer) as a plain record. */
|
|
89
|
+
function stringMap(v, what) {
|
|
90
|
+
const m = nodeOf(v, CLS.hashMap, what);
|
|
91
|
+
const entries = m.values[0];
|
|
92
|
+
if (!Array.isArray(entries))
|
|
93
|
+
throw roto(what);
|
|
94
|
+
const out = new Map();
|
|
95
|
+
for (const e of entries) {
|
|
96
|
+
if (!Array.isArray(e) || e.length !== 2)
|
|
97
|
+
throw roto(what);
|
|
98
|
+
const k = boxed(e[0]);
|
|
99
|
+
const val = boxed(e[1]);
|
|
100
|
+
if (typeof k !== 'string')
|
|
101
|
+
throw roto(what);
|
|
102
|
+
out.set(k, typeof val === 'string' ? val : null);
|
|
103
|
+
}
|
|
104
|
+
return out;
|
|
105
|
+
}
|
|
106
|
+
/** Open the form app at the URL `enviarDatosFlujo` answered (a 302 into rfiInternet). A landing
|
|
107
|
+
* on the login raises `SessionExpiredError` in the seam. */
|
|
108
|
+
export async function abrirFormularioF29(session, url) {
|
|
109
|
+
const r = await session.requestText(url, { method: 'GET' });
|
|
110
|
+
if (r.status !== 200) {
|
|
111
|
+
throw new F29Error(`SII no abrió el formulario del F29 (HTTP ${r.status}).`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/** Run the form app from the handoff to SII's validation, as the browser does in mode
|
|
115
|
+
* PPTA-F29-COMPLETA. It stops BEFORE `guardarBorradorRfiValidado`: nothing is filed or saved
|
|
116
|
+
* past the propuesta's borrador. `hoy` is the moment of the fill (the `Clock`'s now). */
|
|
117
|
+
export async function validarBorradorF29(call, params) {
|
|
118
|
+
const { rut, periodo, hoy } = params;
|
|
119
|
+
const periodoYm = `${periodo.year}${String(periodo.month).padStart(2, '0')}`;
|
|
120
|
+
// The flow's parameters, stored by the handoff. idBorrador is new for every flow.
|
|
121
|
+
const hijo = stringMap(await call('consultarHijoToken', [{ type: CLS.string, value: 'PARAM_PROPUESTA' }]), 'consultarHijoToken');
|
|
122
|
+
if (hijo.get('rut') !== String(rut.body) || hijo.get('periodo') !== periodoYm) {
|
|
123
|
+
throw new F29Error('SII abrió el formulario para otro contribuyente o período; no se continuó. ' +
|
|
124
|
+
'Vuelve a intentarlo desde `sii f29 submit`.');
|
|
125
|
+
}
|
|
126
|
+
const idBorrador = Number(hijo.get('idBorrador'));
|
|
127
|
+
if (!Number.isSafeInteger(idBorrador) || idBorrador <= 0)
|
|
128
|
+
throw roto('idBorrador');
|
|
129
|
+
const resultado = nodeOf(await call('getContribuyente', [
|
|
130
|
+
{ type: CLS.integer, value: box(CLS.integer, rut.body) },
|
|
131
|
+
{ type: CLS.string, value: rut.dv },
|
|
132
|
+
]), CLS.resultadoContribuyente, 'getContribuyente');
|
|
133
|
+
const contribuyente = nodeOf(resultado.values[0], CLS.contribuyente, 'contribuyente');
|
|
134
|
+
const formulario = arrayOf(await call('findAllFormulario', []), CLS.formulario, 'findAllFormulario').find((f) => f.values[FORMULARIO.codigo] === F29_CODIGO);
|
|
135
|
+
if (formulario === undefined)
|
|
136
|
+
throw roto('SII no ofrece el Formulario 29');
|
|
137
|
+
const periodoRfi = arrayOf(await call('findPeriodoHabilitado', [{ type: CLS.formulario, value: formulario }]), CLS.periodo, 'findPeriodoHabilitado').find((p) => boxed(p.values[PERIODO.anno]) === periodo.year &&
|
|
138
|
+
boxed(p.values[PERIODO.mes]) === periodo.month);
|
|
139
|
+
if (periodoRfi === undefined) {
|
|
140
|
+
throw new F29Error(`SII no habilita el período ${periodo.formatted} para declarar.`);
|
|
141
|
+
}
|
|
142
|
+
// The client marks the Formulario before it reads the borrador (both captures).
|
|
143
|
+
formulario.values[FORMULARIO.flag] = box(CLS.boolean, 1);
|
|
144
|
+
formulario.values[FORMULARIO.tipo] = F29_TIPO_PROPUESTA;
|
|
145
|
+
const layout = nodeOf(await call('findVersionBorradorById', [
|
|
146
|
+
{ type: CLS.formulario, value: formulario },
|
|
147
|
+
{ type: CLS.periodo, value: periodoRfi },
|
|
148
|
+
{ type: CLS.contribuyente, value: contribuyente },
|
|
149
|
+
{ type: CLS.contribuyente, value: contribuyente },
|
|
150
|
+
{ type: CLS.integer, value: box(CLS.integer, idBorrador) },
|
|
151
|
+
]), CLS.layout, 'findVersionBorradorById');
|
|
152
|
+
const { reglasFallidas } = fillF29Form(layout, hoy);
|
|
153
|
+
if (reglasFallidas.length > 0) {
|
|
154
|
+
// SII's client stops here and shows its rules' messages; so do we, verbatim, before
|
|
155
|
+
// validating anything.
|
|
156
|
+
throw new F29Error(`El formulario no cumple las reglas de SII: ${reglasFallidas.map((r) => r.mensaje).join(' ')}`);
|
|
157
|
+
}
|
|
158
|
+
const campos = f29CampoValores(layout, hoy);
|
|
159
|
+
// The client sets these two flow parameters right before it validates (both captures).
|
|
160
|
+
await call('crearHijoToken', [
|
|
161
|
+
{ type: CLS.string, value: 'URL_RETORNO' },
|
|
162
|
+
{ type: CLS.string, value: '-' },
|
|
163
|
+
]);
|
|
164
|
+
await call('crearHijoToken', [
|
|
165
|
+
{ type: CLS.string, value: 'ORIGEN' },
|
|
166
|
+
{ type: CLS.string, value: 'PROPUESTA' },
|
|
167
|
+
]);
|
|
168
|
+
const validado = nodeOf(await call('getBorradorRfiValidado', [
|
|
169
|
+
{ type: CLS.integer, value: box(CLS.integer, F29_TIPO_PROPUESTA) },
|
|
170
|
+
{ type: CLS.formulario, value: formulario },
|
|
171
|
+
{ type: CLS.periodo, value: periodoRfi },
|
|
172
|
+
{ type: CLS.contribuyente, value: contribuyente },
|
|
173
|
+
{ type: CLS.contribuyente, value: contribuyente },
|
|
174
|
+
{ type: CLS.layout, value: layout },
|
|
175
|
+
]), CLS.borradorRfi, 'getBorradorRfiValidado');
|
|
176
|
+
// BorradorRfi holds two Borrador; the browser saves the first (run6).
|
|
177
|
+
const borrador = nodeOf(validado.values[0], CLS.borrador, 'BorradorRfi');
|
|
178
|
+
const xml = borrador.values[BORRADOR.xml];
|
|
179
|
+
if (typeof xml !== 'string')
|
|
180
|
+
throw roto('el borrador no trae el formulario');
|
|
181
|
+
const declarados = codigosDeclarados(xml);
|
|
182
|
+
return { borrador, declarados, total: declarados.get('91') ?? 0, campos };
|
|
183
|
+
}
|
|
184
|
+
/** The FormularioRfi XML's declared códigos: `<Codigos tipo="D|R"><Codigo>…<Valor>…`. Only D
|
|
185
|
+
* (montos) and R (the result, 91) are read; E (the header: nombre, RUT, dirección) and N
|
|
186
|
+
* (SII-internal) are never read. Observed in the validated borrador, 2026-10-19. */
|
|
187
|
+
export function codigosDeclarados(xml) {
|
|
188
|
+
const out = new Map();
|
|
189
|
+
const bloques = [...xml.matchAll(/<Codigos\b([^>]*)>([\s\S]*?)<\/Codigos>/g)];
|
|
190
|
+
if (bloques.length === 0)
|
|
191
|
+
throw roto('el borrador no trae códigos');
|
|
192
|
+
for (const m of bloques) {
|
|
193
|
+
const tipo = /\btipo="([A-Z])"/.exec(m[1])?.[1];
|
|
194
|
+
if (tipo !== 'D' && tipo !== 'R')
|
|
195
|
+
continue;
|
|
196
|
+
const codigo = /<Codigo>\s*(\d+)\s*<\/Codigo>/.exec(m[2])?.[1];
|
|
197
|
+
const valor = /<Valor>\s*([^<]*?)\s*<\/Valor>/.exec(m[2])?.[1] ?? '';
|
|
198
|
+
if (codigo === undefined)
|
|
199
|
+
throw roto('un código sin número');
|
|
200
|
+
const n = valor === '' ? 0 : Number(valor);
|
|
201
|
+
if (!Number.isFinite(n))
|
|
202
|
+
throw roto(`el valor del código ${Number(codigo)}`);
|
|
203
|
+
if (n !== 0)
|
|
204
|
+
out.set(String(Number(codigo)), n);
|
|
205
|
+
}
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
/** ADR-029's safety rule: SII's "no presenta errores" is not proof of completeness. Compare the
|
|
209
|
+
* códigos SII validated against the propuesta and the formulas' results. Any entry refuses the
|
|
210
|
+
* submit. Amounts never leave this function. */
|
|
211
|
+
export function verificarBorradorF29(propuesta, campos, declarados) {
|
|
212
|
+
const out = [];
|
|
213
|
+
const esperado = new Map();
|
|
214
|
+
for (const c of campos) {
|
|
215
|
+
if (!c.formula || !/^\d+$/.test(c.codigo) || c.valor.trim() === '')
|
|
216
|
+
continue;
|
|
217
|
+
const v = Number(c.valor);
|
|
218
|
+
if (Number.isFinite(v) && v !== 0)
|
|
219
|
+
esperado.set(String(Number(c.codigo)), v);
|
|
220
|
+
}
|
|
221
|
+
for (const c of propuesta) {
|
|
222
|
+
if (!/^\d+$/.test(c.codigo) || c.valor === null || c.valor === 0)
|
|
223
|
+
continue;
|
|
224
|
+
const codigo = String(Number(c.codigo));
|
|
225
|
+
const f = esperado.get(codigo);
|
|
226
|
+
if (f !== undefined && f !== c.valor)
|
|
227
|
+
out.push({ codigo, motivo: 'formula_vs_propuesta' });
|
|
228
|
+
esperado.set(codigo, c.valor);
|
|
229
|
+
}
|
|
230
|
+
for (const [codigo, v] of esperado) {
|
|
231
|
+
const d = declarados.get(codigo);
|
|
232
|
+
if (d === undefined)
|
|
233
|
+
out.push({ codigo, motivo: 'falta' });
|
|
234
|
+
else if (d !== v)
|
|
235
|
+
out.push({ codigo, motivo: 'distinto' });
|
|
236
|
+
}
|
|
237
|
+
for (const codigo of declarados.keys()) {
|
|
238
|
+
if (!esperado.has(codigo))
|
|
239
|
+
out.push({ codigo, motivo: 'sobra' });
|
|
240
|
+
}
|
|
241
|
+
return out.sort((a, b) => Number(a.codigo) - Number(b.codigo));
|
|
242
|
+
}
|
|
243
|
+
/** Submit, call 1: save the validated borrador with tipo 41. Saves, does NOT file. Returns the
|
|
244
|
+
* `Borrador` SII answers, which call 2 sends unchanged. */
|
|
245
|
+
export async function guardarBorradorF29(call, borrador) {
|
|
246
|
+
borrador.values[BORRADOR.tipo] = box(CLS.integer, TIPO_GUARDAR);
|
|
247
|
+
return nodeOf(await call('guardarBorradorRfiValidado', [{ type: CLS.borrador, value: borrador }]), CLS.borrador, 'guardarBorradorRfiValidado');
|
|
248
|
+
}
|
|
249
|
+
/** Submit, call 2: `inyectarBorradorRfi` FILES the declaración. Called once, never retried. SII
|
|
250
|
+
* answered `//OK[1,1,["java.lang.Boolean/…"],0,7]` (true) on the filing of 2026-09. An
|
|
251
|
+
* `F29RechazoError` means SII refused it; any other failure leaves the outcome unknown. */
|
|
252
|
+
export async function inyectarBorradorF29(call, guardado) {
|
|
253
|
+
const r = await call('inyectarBorradorRfi', [{ type: CLS.borrador, value: guardado }]);
|
|
254
|
+
if (boxed(r ?? undefined) !== 1) {
|
|
255
|
+
throw new F29Error('SII no confirmó la presentación del F29.');
|
|
256
|
+
}
|
|
36
257
|
}
|
|
37
258
|
//# sourceMappingURL=f29-rfi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"f29-rfi.js","sourceRoot":"","sources":["../../src/portal/f29-rfi.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,yFAAyF;AACzF,iFAAiF;AACjF,+FAA+F;AAC/F,+FAA+F;AAC/F,kFAAkF;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAqD,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,UAAU,EAAE,GAAG,KAAK,CAAC,SAAS,eAAe;IAC7C,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,kBAAkB;CAC/B,CAAC;AACF,MAAM,kBAAkB,GAAG,wDAAwD,CAAC;AAEpF,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAS,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEnE;;;uFAGuF;AACvF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAsB,EACtB,MAAc,EACd,MAA4B,EAC5B,OAA6C,EAAE;IAE/C,IAAI,KAA4B,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,QAAQ,CACzB,OAAO,EACP,cAAc,EACd,CAAC,IAAI,EAAE,EAAE;QACP,KAAK,GAAG,IAAI,SAAS,CACnB,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,eAAe,EAAE,EAClD,IAAI,CAAC,IAAI,EACT,QAAQ,CACT,CAAC;QACF,OAAO,KAAK,CAAC,aAAa,CAAC;YACzB,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAE;YACjD,OAAO,EAAE,kBAAkB;YAC3B,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC,EACD,QAAQ,EACR,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CACnD,CAAC;IACF,OAAO,KAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC"}
|
|
1
|
+
{"version":3,"file":"f29-rfi.js","sourceRoot":"","sources":["../../src/portal/f29-rfi.ts"],"names":[],"mappings":"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"}
|
package/dist/portal/f29.d.ts
CHANGED
|
@@ -59,4 +59,13 @@ export declare function fetchF29Estado(session: PortalSession, params: {
|
|
|
59
59
|
rut: Rut;
|
|
60
60
|
periodo: Periodo;
|
|
61
61
|
}): Promise<F29Estado>;
|
|
62
|
+
/** The propuesta type of mode PPTA-F29-COMPLETA, the one `f29 submit` files (observed). */
|
|
63
|
+
export declare const F29_TIPO_PROPUESTA = 40;
|
|
64
|
+
/** Save the propuesta and hand the flow to the form app: `guardarPropuesta` then
|
|
65
|
+
* `enviarDatosFlujo`. Returns the rfiInternet entry URL SII answered. This WRITES a borrador
|
|
66
|
+
* "Guardada" (non-filing, ADR-029 amendment). */
|
|
67
|
+
export declare function iniciarFlujoPropuestaF29(session: PortalSession, params: {
|
|
68
|
+
rut: Rut;
|
|
69
|
+
periodo: Periodo;
|
|
70
|
+
}): Promise<string>;
|
|
62
71
|
//# sourceMappingURL=f29.d.ts.map
|
package/dist/portal/f29.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"f29.d.ts","sourceRoot":"","sources":["../../src/portal/f29.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"f29.d.ts","sourceRoot":"","sources":["../../src/portal/f29.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAsBpE;;kGAEkG;AAClG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;yFAGyF;AACzF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2FAA2F;IAC3F,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;IACvC,QAAQ,CAAC,sBAAsB,EAAE,SAAS,SAAS,EAAE,CAAC;CACvD;AAED;;;2EAG2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;wFACwF;AACxF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACzD;AAiID;;0FAE0F;AAC1F,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED;;;wDAGwD;AACxD,wBAAsB,cAAc,CAClC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,SAAS,CAAC,CAwBpB;AAWD,2FAA2F;AAC3F,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAoBrC;;kDAEkD;AAClD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,MAAM,CAAC,CAoCjB"}
|
package/dist/portal/f29.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
// F29 — Declaración Mensual de IVA
|
|
1
|
+
// F29 — Declaración Mensual de IVA. Typed facade over `PortalSession.requestJson`: the read
|
|
2
|
+
// facades, plus the submit's propuesta handoff at the end of this file (two writes, #161).
|
|
2
3
|
// Ported from the proven Python sii-cli (portal/f29.py + docs/sii-contract/f29.md); the wire
|
|
3
4
|
// contract is first-hand-observed there (live capture 2026-06-12, prod), NOT a third-party
|
|
4
5
|
// library (ADR-004). Full contract: docs/sii-contract/f29.md.
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
// channel is `metaData.errors` (a list of {id, descripcion}) — like F22, NOT RCV's `respEstado`.
|
|
28
29
|
import { z } from 'zod';
|
|
29
30
|
import { HOSTS } from '../config/index.js';
|
|
30
|
-
import { F29Error, NotAuthenticatedError } from '../errors/index.js';
|
|
31
|
+
import { F29Error, NetworkError, NotAuthenticatedError } from '../errors/index.js';
|
|
31
32
|
const F29_BASE = `${HOSTS.portalApi}/propuestaf29ui/services/data/facadeAdapterService`;
|
|
32
33
|
const PROPUESTA_URL = `${F29_BASE}/getDeclaracionConCondicionesYTipoPropuesta`;
|
|
33
34
|
const ESTADO_URL = `${F29_BASE}/getDeclaracionConEstados`;
|
|
@@ -143,6 +144,9 @@ async function postSdi(session, url, namespace, data) {
|
|
|
143
144
|
// told to re-login, not a misleading "no es JSON".
|
|
144
145
|
if (e instanceof NotAuthenticatedError)
|
|
145
146
|
throw e;
|
|
147
|
+
// SII never answered: the network's cause, not a «no es JSON» (#215).
|
|
148
|
+
if (e instanceof NetworkError)
|
|
149
|
+
throw e;
|
|
146
150
|
throw new F29Error('Respuesta inesperada de SII (no es JSON).');
|
|
147
151
|
}
|
|
148
152
|
const parsed = Envelope.safeParse(raw);
|
|
@@ -241,4 +245,57 @@ export async function fetchF29Estado(session, params) {
|
|
|
241
245
|
declaraciones,
|
|
242
246
|
};
|
|
243
247
|
}
|
|
248
|
+
// --- The submit's propuesta handoff (ADR-029 amendment, sii-contract/f29.md § Submit) ----------
|
|
249
|
+
// Observed 2026-10-18/19 (spike #138): before the form app opens, the propuesta SPA saves the
|
|
250
|
+
// propuesta and hands the flow over with two SDI writes on `facadeService`. `guardarPropuesta`
|
|
251
|
+
// leaves a borrador "Guardada" at SII; nothing is filed. `enviarDatosFlujo` answers the
|
|
252
|
+
// rfiInternet entry URL the browser then opens.
|
|
253
|
+
const FACADE_BASE = `${HOSTS.portalApi}/propuestaf29ui/services/data/facadeService`;
|
|
254
|
+
const FACADE_NAMESPACE = 'cl.sii.sdi.lob.iva.propuestaf29.data.api.interfaces.FacadeService';
|
|
255
|
+
/** The form número as these two ops send it (`"29"`, not the facades' internal `"2"`). */
|
|
256
|
+
const FORM_NUMERO = '29';
|
|
257
|
+
/** The propuesta type of mode PPTA-F29-COMPLETA, the one `f29 submit` files (observed). */
|
|
258
|
+
export const F29_TIPO_PROPUESTA = 40;
|
|
259
|
+
/** Where the flow must lead: the rfiInternet form app on the portal host. */
|
|
260
|
+
const RFI_ENTRY = `${HOSTS.portalApi}/rfiInternet`;
|
|
261
|
+
/** One handoff step. SII's client reports a failure of each step with its own code
|
|
262
|
+
* (`[mod-gdrpro-rfi3]`, `[mod-envdf-rfi3]`); the message keeps SII's text and adds the code. */
|
|
263
|
+
async function handoffStep(session, op, data, codigoError) {
|
|
264
|
+
try {
|
|
265
|
+
return await postSdi(session, `${FACADE_BASE}/${op}`, `${FACADE_NAMESPACE}/${op}`, data);
|
|
266
|
+
}
|
|
267
|
+
catch (e) {
|
|
268
|
+
if (e instanceof F29Error)
|
|
269
|
+
throw new F29Error(`${e.message} [${codigoError}]`);
|
|
270
|
+
throw e;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
/** Save the propuesta and hand the flow to the form app: `guardarPropuesta` then
|
|
274
|
+
* `enviarDatosFlujo`. Returns the rfiInternet entry URL SII answered. This WRITES a borrador
|
|
275
|
+
* "Guardada" (non-filing, ADR-029 amendment). */
|
|
276
|
+
export async function iniciarFlujoPropuestaF29(session, params) {
|
|
277
|
+
const { rut, periodo } = params;
|
|
278
|
+
const { mes, anno } = mesAnno(periodo);
|
|
279
|
+
await handoffStep(session, 'guardarPropuesta', {
|
|
280
|
+
rutCntr: String(rut.body),
|
|
281
|
+
dvCntr: rut.dv,
|
|
282
|
+
formCodigo: FORM_NUMERO,
|
|
283
|
+
tipoPropuestaInicial: F29_TIPO_PROPUESTA,
|
|
284
|
+
periodo: { anno, mes },
|
|
285
|
+
}, 'mod-gdrpro-rfi3');
|
|
286
|
+
const env = await handoffStep(session, 'enviarDatosFlujo', {
|
|
287
|
+
rut: String(rut.body),
|
|
288
|
+
dv: rut.dv,
|
|
289
|
+
periodo: `${anno}${mes}`,
|
|
290
|
+
form: FORM_NUMERO,
|
|
291
|
+
tipo: F29_TIPO_PROPUESTA,
|
|
292
|
+
}, 'mod-envdf-rfi3');
|
|
293
|
+
// Observed: `data` is `https://www4.sii.cl/rfiInternet?origen=PROPUESTA&accionPpta=…`. Follow
|
|
294
|
+
// it only when it leads to the form app on SII's own host.
|
|
295
|
+
const url = env.data;
|
|
296
|
+
if (typeof url !== 'string' || !(url === RFI_ENTRY || url.startsWith(`${RFI_ENTRY}?`))) {
|
|
297
|
+
throw new F29Error('SII no entregó el acceso al formulario del F29 (scraper roto) [mod-envdf-rfi3].');
|
|
298
|
+
}
|
|
299
|
+
return url;
|
|
300
|
+
}
|
|
244
301
|
//# sourceMappingURL=f29.js.map
|
package/dist/portal/f29.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"f29.js","sourceRoot":"","sources":["../../src/portal/f29.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"f29.js","sourceRoot":"","sources":["../../src/portal/f29.ts"],"names":[],"mappings":"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"}
|
package/dist/portal/gwt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gwt.d.ts","sourceRoot":"","sources":["../../src/portal/gwt.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;6DAE6D;AAC7D,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AACD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAUxD,kEAAkE;AAClE,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,IAAI,OAAO,CAEhD;AAeD;;sCAEsC;AACtC,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAqGD;;kEAEkE;AAClE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAkBxD;AAED;;yDAEyD;AACzD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAKjD;AA+CD;;uEAEuE;AACvE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AACD;4DAC4D;AAC5D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,EAAE,CAAC;AAExE;;+BAE+B;AAC/B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AACD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AACD,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;
|
|
1
|
+
{"version":3,"file":"gwt.d.ts","sourceRoot":"","sources":["../../src/portal/gwt.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;6DAE6D;AAC7D,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AACD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAUxD,kEAAkE;AAClE,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,IAAI,OAAO,CAEhD;AAeD;;sCAEsC;AACtC,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAqGD;;kEAEkE;AAClE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAkBxD;AAED;;yDAEyD;AACzD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAKjD;AA+CD;;uEAEuE;AACvE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AACD;4DAC4D;AAC5D,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,EAAE,CAAC;AAExE;;+BAE+B;AAC/B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;CAC3B;AACD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4FAA4F;IAC5F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;CACvC;AACD,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AA4CD;gFACgF;AAChF,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAFJ,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACtC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK;IAGnD;4FACwF;IACxF,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IA2GrC;oFACgF;IAChF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;IAkErC;;;;gGAI4F;IAC5F,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS;IAmDzD,OAAO,CAAC,QAAQ;IA8BhB,OAAO,CAAC,QAAQ;IAqBhB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,GAAG;CAGZ;AAsCD;;6CAE6C;AAC7C,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CA6FnD;AAoBD;;0DAE0D;AAC1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMvD;AAGD;0FAC0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAQD,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc,CAMlF;AAED,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD;;0EAE0E;AAC1E,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,EAChC,OAAO,UAAQ,GACd,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED,+CAA+C;AAC/C,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;oCAGoC;AACpC,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,MAAM,EACvC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,KAAK,EAChC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5B,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
|
package/dist/portal/gwt.js
CHANGED
|
@@ -226,6 +226,24 @@ const arrayElementOp = (cls) => cls === '[Ljava.lang.String;'
|
|
|
226
226
|
? 'o'
|
|
227
227
|
: PRIMITIVE_OP[cls[1]];
|
|
228
228
|
const GWT7_ROTO = 'No se pudo interpretar el formulario de SII (scraper roto)';
|
|
229
|
+
// The boxes GWT's JRE caches in `valueOf`, with the range it caches (GWT 2.x `Boolean`,
|
|
230
|
+
// `Byte`, `Short`, `Integer`, `Character` emulation). `Long` is left out: its value travels as
|
|
231
|
+
// a base64 token and no shared Long has been observed.
|
|
232
|
+
const BOX_CACHE = {
|
|
233
|
+
'java.lang.Boolean': () => true,
|
|
234
|
+
'java.lang.Byte': () => true,
|
|
235
|
+
'java.lang.Short': (n) => n >= -128 && n <= 127,
|
|
236
|
+
'java.lang.Integer': (n) => n >= -128 && n <= 127,
|
|
237
|
+
'java.lang.Character': (n) => n >= 0 && n <= 127,
|
|
238
|
+
};
|
|
239
|
+
/** The identity key of a box the client's `valueOf` would share, or null. */
|
|
240
|
+
function cachedBoxKey(v) {
|
|
241
|
+
const cached = BOX_CACHE[v.cls];
|
|
242
|
+
const n = v.values[0];
|
|
243
|
+
if (cached === undefined || v.values.length !== 1 || typeof n !== 'number')
|
|
244
|
+
return null;
|
|
245
|
+
return cached(n) ? `${v.cls}:${n}` : null;
|
|
246
|
+
}
|
|
229
247
|
/** The protocol-7 codec over one set of layouts and one permutation's signatures. `fail` builds
|
|
230
248
|
* the error the caller's surface raises (the F29 facade passes `F29Error`). */
|
|
231
249
|
export class Gwt7Codec {
|
|
@@ -249,6 +267,14 @@ export class Gwt7Codec {
|
|
|
249
267
|
// the browser's validation request shares them; without this the layout re-encodes ~11 KB
|
|
250
268
|
// larger). Other objects keep reference identity.
|
|
251
269
|
const seenStrings = new Map();
|
|
270
|
+
// The client's JRE boxes through `valueOf`, which hands out ONE instance per value for
|
|
271
|
+
// Boolean, and for Byte / Short / Integer / Character inside its cache (-128..127; 0..127
|
|
272
|
+
// for Character). The deserializers use `valueOf` too, so two equal small boxes the browser
|
|
273
|
+
// re-sends are one object, written once and then back-referenced. Observed (#161): the
|
|
274
|
+
// browser's `findVersionBorradorById` shares one Integer between the Formulario and the
|
|
275
|
+
// contribuyente, and one Boolean across the Formulario's flags; without this the request
|
|
276
|
+
// has the same values but different bytes.
|
|
277
|
+
const seenBoxes = new Map();
|
|
252
278
|
let count = 0;
|
|
253
279
|
const ref = (s) => {
|
|
254
280
|
if (s === null)
|
|
@@ -289,13 +315,16 @@ export class Gwt7Codec {
|
|
|
289
315
|
if (typeof v !== 'object' || Array.isArray(v))
|
|
290
316
|
throw this.err(`${at} debe ser objeto`);
|
|
291
317
|
const text = v.cls === STRING_CLASS && typeof v.values[0] === 'string' ? v.values[0] : null;
|
|
292
|
-
const
|
|
318
|
+
const box = cachedBoxKey(v);
|
|
319
|
+
const back = text !== null ? seenStrings.get(text) : box !== null ? seenBoxes.get(box) : seen.get(v);
|
|
293
320
|
if (back !== undefined) {
|
|
294
321
|
out.push(String(-(back + 1)));
|
|
295
322
|
return;
|
|
296
323
|
}
|
|
297
324
|
if (text !== null)
|
|
298
325
|
seenStrings.set(text, count);
|
|
326
|
+
if (box !== null)
|
|
327
|
+
seenBoxes.set(box, count);
|
|
299
328
|
seen.set(v, count++);
|
|
300
329
|
out.push(ref(this.sig(v.cls)));
|
|
301
330
|
if (v.cls.startsWith('[')) {
|