@albertomarturelo/sii-core 0.4.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 +15 -0
- package/dist/adapters/fake/index.d.ts +10 -1
- package/dist/adapters/fake/index.d.ts.map +1 -1
- package/dist/adapters/fake/index.js +9 -0
- package/dist/adapters/fake/index.js.map +1 -1
- package/dist/adapters/node/portal.d.ts.map +1 -1
- package/dist/adapters/node/portal.js +18 -0
- package/dist/adapters/node/portal.js.map +1 -1
- package/dist/config/config.d.ts +6 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +6 -0
- package/dist/config/config.js.map +1 -1
- package/dist/errors/errors.d.ts +8 -0
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +9 -1
- package/dist/errors/errors.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/portal/gwt-schema.d.ts +3 -0
- package/dist/portal/gwt-schema.d.ts.map +1 -0
- package/dist/portal/gwt-schema.js +123 -0
- package/dist/portal/gwt-schema.js.map +1 -0
- package/dist/portal/gwt.d.ts +24 -0
- package/dist/portal/gwt.d.ts.map +1 -0
- package/dist/portal/gwt.js +206 -0
- package/dist/portal/gwt.js.map +1 -0
- package/dist/portal/peticiones.d.ts +31 -0
- package/dist/portal/peticiones.d.ts.map +1 -0
- package/dist/portal/peticiones.js +137 -0
- package/dist/portal/peticiones.js.map +1 -0
- package/dist/seams/index.d.ts +17 -0
- package/dist/seams/index.d.ts.map +1 -1
- package/dist/tasks/peticiones.d.ts +9 -0
- package/dist/tasks/peticiones.d.ts.map +1 -0
- package/dist/tasks/peticiones.js +35 -0
- package/dist/tasks/peticiones.js.map +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,21 @@ All notable changes to `@albertomarturelo/sii-core` are documented here. The for
|
|
|
4
4
|
loosely based on [Keep a Changelog](https://keepachangelog.com/); the package is
|
|
5
5
|
pre-1.0, so MINOR bumps may carry breaking changes (pin or use `~` downstream).
|
|
6
6
|
|
|
7
|
+
## 0.5.0 — 2026-07-03
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **`peticionesList` — peticiones administrativas via GWT-RPC (#74).** New task
|
|
12
|
+
returning a taxpayer's SISPAD administrative requests with their state timeline
|
|
13
|
+
(número, materia, estado actual, and per transition the fecha + SII's verbatim
|
|
14
|
+
note). **Body-RUT** (operable-set gate, like RCV). The FIRST GWT-RPC surface: a
|
|
15
|
+
cold authenticated POST to `www3.sii.cl/sispadinternet/peticion` decoded in-house
|
|
16
|
+
(`portal/gwt.ts`, schema-directed — the field layout derived from the compiled
|
|
17
|
+
permutation, `gwt-schema.ts`). PII: NO `raw`, tight allowlist; the audit records
|
|
18
|
+
only the read (rut + count). Live-validated end-to-end (ADR-020).
|
|
19
|
+
- **`PortalSession.requestText` seam** — an authenticated raw-body GET/POST → text,
|
|
20
|
+
the peer of `requestPublic`; the transport behind GWT-RPC read facades (ADR-020).
|
|
21
|
+
|
|
7
22
|
## 0.4.0 — 2026-07-03
|
|
8
23
|
|
|
9
24
|
### Added
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuditEntry, AuditSink, Clock, CredentialLoginOptions, FormRequest, InteractiveLoginOptions, JsonRequest, KeyValueStore, PortalDriver, PortalSession, PublicRequest, PublicResponse } from '../../seams/index.js';
|
|
1
|
+
import type { AuditEntry, AuditSink, Clock, CredentialLoginOptions, FormRequest, InteractiveLoginOptions, JsonRequest, KeyValueStore, PortalDriver, PortalSession, PublicRequest, PublicResponse, TextRequest } from '../../seams/index.js';
|
|
2
2
|
export declare class FixedClock implements Clock {
|
|
3
3
|
private current;
|
|
4
4
|
/** Each `sleep(ms)` is recorded (not awaited) so a test can assert pacing without
|
|
@@ -29,6 +29,9 @@ export interface FakeSessionScript {
|
|
|
29
29
|
/** Result for `requestForm(url, options)` — an authenticated form-POST (BHE emit,
|
|
30
30
|
* ADR-017). Return the decoded body string (status 200) or a full PublicResponse. */
|
|
31
31
|
requestForm?: (url: string, options?: FormRequest) => PublicResponse | string;
|
|
32
|
+
/** Result for `requestText(url, options)` — an authenticated raw-body request (GWT-RPC
|
|
33
|
+
* reads, ADR-020). Return the decoded body string (status 200) or a full PublicResponse. */
|
|
34
|
+
requestText?: (url: string, options?: TextRequest) => PublicResponse | string;
|
|
32
35
|
/** Cookie name → value map for `cookie(url, name)`. */
|
|
33
36
|
cookies?: Record<string, string>;
|
|
34
37
|
storageState?: unknown;
|
|
@@ -54,6 +57,12 @@ export declare class FakePortalSession implements PortalSession {
|
|
|
54
57
|
options?: FormRequest;
|
|
55
58
|
} | null;
|
|
56
59
|
requestForm(url: string, options?: FormRequest): Promise<PublicResponse>;
|
|
60
|
+
/** The last requestText call — lets a test assert the GWT-RPC body/URL sent to SII. */
|
|
61
|
+
lastTextRequest: {
|
|
62
|
+
url: string;
|
|
63
|
+
options?: TextRequest;
|
|
64
|
+
} | null;
|
|
65
|
+
requestText(url: string, options?: TextRequest): Promise<PublicResponse>;
|
|
57
66
|
cookie(_url: string, name: string): Promise<string | null>;
|
|
58
67
|
storageState(): Promise<unknown>;
|
|
59
68
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/fake/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,KAAK,EACL,sBAAsB,EACtB,WAAW,EACX,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/fake/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,15 @@ export class FakePortalSession {
|
|
|
67
67
|
return { status: 200, body: '' };
|
|
68
68
|
return typeof r === 'string' ? { status: 200, body: r } : r;
|
|
69
69
|
}
|
|
70
|
+
/** The last requestText call — lets a test assert the GWT-RPC body/URL sent to SII. */
|
|
71
|
+
lastTextRequest = null;
|
|
72
|
+
async requestText(url, options) {
|
|
73
|
+
this.lastTextRequest = options ? { url, options } : { url };
|
|
74
|
+
const r = this.script.requestText?.(url, options);
|
|
75
|
+
if (r === undefined)
|
|
76
|
+
return { status: 200, body: '' };
|
|
77
|
+
return typeof r === 'string' ? { status: 200, body: r } : r;
|
|
78
|
+
}
|
|
70
79
|
async cookie(_url, name) {
|
|
71
80
|
return this.script.cookies?.[name] ?? null;
|
|
72
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/fake/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/fake/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/portal.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,sBAAsB,EAEtB,uBAAuB,EAEvB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/portal.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,sBAAsB,EAEtB,uBAAuB,EAEvB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAgJ9B,qBAAa,sBAAuB,YAAW,YAAY;IACnD,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IAuB1E,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,aAAa,CAAC;IAuCxE,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBtD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CA0BvF"}
|
|
@@ -100,6 +100,24 @@ class PlaywrightPortalSession {
|
|
|
100
100
|
const text = new TextDecoder(charsetOf(response.headers()['content-type'])).decode(buffer);
|
|
101
101
|
return { status: response.status(), body: text };
|
|
102
102
|
}
|
|
103
|
+
async requestText(url, options = {}) {
|
|
104
|
+
// Authenticated raw-body request from the browser's APIRequestContext (the session
|
|
105
|
+
// cookies ride). The primitive behind GWT-RPC read facades (SISPAD peticiones, ADR-020):
|
|
106
|
+
// the body is an opaque string (a `text/x-gwt-rpc` stream) and the response is text
|
|
107
|
+
// (`//OK[…]`) — neither JSON nor urlencoded/HTML. Like `requestForm`, a non-JSON body is
|
|
108
|
+
// EXPECTED, so a dead session is detected URL-based (a bounce to `LOGIN_HOST`).
|
|
109
|
+
const response = await this.context.request.fetch(url, {
|
|
110
|
+
method: options.method ?? 'POST',
|
|
111
|
+
...(options.headers ? { headers: options.headers } : {}),
|
|
112
|
+
...(options.body !== undefined ? { data: options.body } : {}),
|
|
113
|
+
});
|
|
114
|
+
const wall = formLoginWallError(response.url());
|
|
115
|
+
if (wall)
|
|
116
|
+
throw wall;
|
|
117
|
+
const buffer = await response.body();
|
|
118
|
+
const text = new TextDecoder(charsetOf(response.headers()['content-type'])).decode(buffer);
|
|
119
|
+
return { status: response.status(), body: text };
|
|
120
|
+
}
|
|
103
121
|
async cookie(url, name) {
|
|
104
122
|
const cookies = await this.context.cookies(url);
|
|
105
123
|
return cookies.find((c) => c.name === name)?.value ?? null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/adapters/node/portal.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/adapters/node/portal.ts"],"names":[],"mappings":"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"}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -15,6 +15,12 @@ export declare const HOSTS: {
|
|
|
15
15
|
* the SDI-JSON facade. The `.sii.cl` session cookie SSO-carries here (observed
|
|
16
16
|
* 2026-06-30). Session-keyed (`rut_arrastre` = the principal). (#20 / ADR-004) */
|
|
17
17
|
readonly bheCgi: "https://loa.sii.cl/cgi_IMT";
|
|
18
|
+
/** SISPAD — peticiones administrativas. A GWT-RPC app: `text/x-gwt-rpc` POST to
|
|
19
|
+
* `/sispadinternet/peticion` returns a `//OK[…]` object graph; reached via
|
|
20
|
+
* `PortalSession.requestText` (a cold authenticated POST), NOT the SDI-JSON facade.
|
|
21
|
+
* The `.sii.cl` session cookie SSO-carries here (observed 2026-07-03). Body-RUT.
|
|
22
|
+
* (#74 / ADR-020) */
|
|
23
|
+
readonly sispad: "https://www3.sii.cl/sispadinternet";
|
|
18
24
|
/** Palena: DTE SOAP web services AND the public, login-free consulta CGIs
|
|
19
25
|
* (e.g. `/cvc_cgi/dte/ee_empresa_rut` — empresas autorizadas a emitir DTE, ADR-014). */
|
|
20
26
|
readonly dteWs: "https://palena.sii.cl";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK;IAChB,2FAA2F;;IAE3F,+FAA+F;;IAE/F,8FAA8F;;IAE9F,gGAAgG;;;IAGhG,+DAA+D;;IAE/D;;;uFAGmF;;IAEnF;6FACyF;;;CAGjF,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,UAAU,iBAAiB,CAAC;AAEzC,yCAAyC;AACzC,eAAO,MAAM,SAAS,QAAqC,CAAC;AAE5D,oFAAoF;AACpF,eAAO,MAAM,UAAU,QAAsC,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB,EAAE,QAG9B,CAAC;AAEF,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,KAAK;IAChB,2FAA2F;;IAE3F,+FAA+F;;IAE/F,8FAA8F;;IAE9F,gGAAgG;;;IAGhG,+DAA+D;;IAE/D;;;uFAGmF;;IAEnF;;;;0BAIsB;;IAEtB;6FACyF;;;CAGjF,CAAC;AAEX,+EAA+E;AAC/E,eAAO,MAAM,UAAU,iBAAiB,CAAC;AAEzC,yCAAyC;AACzC,eAAO,MAAM,SAAS,QAAqC,CAAC;AAE5D,oFAAoF;AACpF,eAAO,MAAM,UAAU,QAAsC,CAAC;AAE9D,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB,EAAE,QAG9B,CAAC;AAEF,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpD"}
|
package/dist/config/config.js
CHANGED
|
@@ -18,6 +18,12 @@ export const HOSTS = {
|
|
|
18
18
|
* the SDI-JSON facade. The `.sii.cl` session cookie SSO-carries here (observed
|
|
19
19
|
* 2026-06-30). Session-keyed (`rut_arrastre` = the principal). (#20 / ADR-004) */
|
|
20
20
|
bheCgi: 'https://loa.sii.cl/cgi_IMT',
|
|
21
|
+
/** SISPAD — peticiones administrativas. A GWT-RPC app: `text/x-gwt-rpc` POST to
|
|
22
|
+
* `/sispadinternet/peticion` returns a `//OK[…]` object graph; reached via
|
|
23
|
+
* `PortalSession.requestText` (a cold authenticated POST), NOT the SDI-JSON facade.
|
|
24
|
+
* The `.sii.cl` session cookie SSO-carries here (observed 2026-07-03). Body-RUT.
|
|
25
|
+
* (#74 / ADR-020) */
|
|
26
|
+
sispad: 'https://www3.sii.cl/sispadinternet',
|
|
21
27
|
/** Palena: DTE SOAP web services AND the public, login-free consulta CGIs
|
|
22
28
|
* (e.g. `/cvc_cgi/dte/ee_empresa_rut` — empresas autorizadas a emitir DTE, ADR-014). */
|
|
23
29
|
dteWs: 'https://palena.sii.cl',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,gFAAgF;AAChF,6DAA6D;AAE7D,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,2FAA2F;IAC3F,KAAK,EAAE,sBAAsB;IAC7B,+FAA+F;IAC/F,SAAS,EAAE,mDAAmD;IAC9D,8FAA8F;IAC9F,UAAU,EAAE,6BAA6B;IACzC,gGAAgG;IAChG,KAAK,EAAE,6CAA6C;IACpD,MAAM,EAAE,oBAAoB;IAC5B,+DAA+D;IAC/D,SAAS,EAAE,qBAAqB;IAChC;;;uFAGmF;IACnF,MAAM,EAAE,4BAA4B;IACpC;6FACyF;IACzF,KAAK,EAAE,uBAAuB;IAC9B,UAAU,EAAE,sDAAsD;CAC1D,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AAEzC,yCAAyC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;AAE5D,oFAAoF;AACpF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AAS9D,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,YAAY,EAAE,CAAC;IACf,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAC,WAAmB;IAC1C,OAAO,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,gFAAgF;AAChF,6DAA6D;AAE7D,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,2FAA2F;IAC3F,KAAK,EAAE,sBAAsB;IAC7B,+FAA+F;IAC/F,SAAS,EAAE,mDAAmD;IAC9D,8FAA8F;IAC9F,UAAU,EAAE,6BAA6B;IACzC,gGAAgG;IAChG,KAAK,EAAE,6CAA6C;IACpD,MAAM,EAAE,oBAAoB;IAC5B,+DAA+D;IAC/D,SAAS,EAAE,qBAAqB;IAChC;;;uFAGmF;IACnF,MAAM,EAAE,4BAA4B;IACpC;;;;0BAIsB;IACtB,MAAM,EAAE,oCAAoC;IAC5C;6FACyF;IACzF,KAAK,EAAE,uBAAuB;IAC9B,UAAU,EAAE,sDAAsD;CAC1D,CAAC;AAEX,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AAEzC,yCAAyC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;AAE5D,oFAAoF;AACpF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AAS9D,MAAM,CAAC,MAAM,gBAAgB,GAAa;IACxC,YAAY,EAAE,CAAC;IACf,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAC,WAAmB;IAC1C,OAAO,GAAG,SAAS,IAAI,WAAW,EAAE,CAAC;AACvC,CAAC"}
|
package/dist/errors/errors.d.ts
CHANGED
|
@@ -46,6 +46,14 @@ export declare class F29Error extends SiiError {
|
|
|
46
46
|
* result). */
|
|
47
47
|
export declare class BteError extends SiiError {
|
|
48
48
|
}
|
|
49
|
+
/** SII rejected a SISPAD peticiones (peticiones administrativas) GWT-RPC read, the
|
|
50
|
+
* response was a `//EX[…]` business error (surfaced verbatim — ADR-004), or the GWT
|
|
51
|
+
* object graph could not be decoded against the observed schema ("scraper roto", a loud
|
|
52
|
+
* fail — the app was recompiled with changed types). Peticiones is BODY-RUT (validate
|
|
53
|
+
* `--rut` vs the operable set, like RCV — ADR-005 / ADR-020). Never retried after a SII
|
|
54
|
+
* error; a `LOGIN_HOST` bounce surfaces as `SessionExpiredError`, not this. */
|
|
55
|
+
export declare class PeticionesError extends SiiError {
|
|
56
|
+
}
|
|
49
57
|
/** The public DTE-authorized consulta could not be completed for a non-user reason —
|
|
50
58
|
* the network/CGI failed, a non-200 came back, or the portal HTML changed shape
|
|
51
59
|
* ("scraper roto"). A RUT that is simply not a DTE emisor is NOT this error: it is a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAIA,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B;AAED,mEAAmE;AACnE,qBAAa,qBAAsB,SAAQ,QAAQ;CAAG;AAEtD;;iEAEiE;AACjE,qBAAa,mBAAoB,SAAQ,qBAAqB;CAAG;AAEjE;+BAC+B;AAC/B,qBAAa,gBAAiB,SAAQ,QAAQ;CAAG;AAEjD,mFAAmF;AACnF,qBAAa,cAAe,SAAQ,QAAQ;CAAG;AAE/C,oFAAoF;AACpF,qBAAa,uBAAwB,SAAQ,QAAQ;CAAG;AAExD,mFAAmF;AACnF,qBAAa,eAAgB,SAAQ,QAAQ;CAAG;AAEhD;8EAC8E;AAC9E,qBAAa,mBAAoB,SAAQ,QAAQ;CAAG;AAEpD;uFACuF;AACvF,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;8EAC8E;AAC9E,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;wFAGwF;AACxF,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;eAGe;AACf,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;;uCAIuC;AACvC,qBAAa,QAAS,SAAQ,QAAQ;CAAG"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAIA,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B;AAED,mEAAmE;AACnE,qBAAa,qBAAsB,SAAQ,QAAQ;CAAG;AAEtD;;iEAEiE;AACjE,qBAAa,mBAAoB,SAAQ,qBAAqB;CAAG;AAEjE;+BAC+B;AAC/B,qBAAa,gBAAiB,SAAQ,QAAQ;CAAG;AAEjD,mFAAmF;AACnF,qBAAa,cAAe,SAAQ,QAAQ;CAAG;AAE/C,oFAAoF;AACpF,qBAAa,uBAAwB,SAAQ,QAAQ;CAAG;AAExD,mFAAmF;AACnF,qBAAa,eAAgB,SAAQ,QAAQ;CAAG;AAEhD;8EAC8E;AAC9E,qBAAa,mBAAoB,SAAQ,QAAQ;CAAG;AAEpD;uFACuF;AACvF,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;8EAC8E;AAC9E,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;wFAGwF;AACxF,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;eAGe;AACf,qBAAa,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;;;gFAKgF;AAChF,qBAAa,eAAgB,SAAQ,QAAQ;CAAG;AAEhD;;;;uCAIuC;AACvC,qBAAa,QAAS,SAAQ,QAAQ;CAAG"}
|
package/dist/errors/errors.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Domain error hierarchy. The CLI maps these to exit codes (in @sii
|
|
1
|
+
// Domain error hierarchy. The CLI maps these to exit codes (in @albertomarturelo/sii-cli):
|
|
2
2
|
// NotAuthenticated → 2, LoginFailed → 3, RateLimit → 4. Pass SII's Spanish
|
|
3
3
|
// messages through unchanged (sii-py error-surfacing convention).
|
|
4
4
|
export class SiiError extends Error {
|
|
@@ -52,6 +52,14 @@ export class F29Error extends SiiError {
|
|
|
52
52
|
* result). */
|
|
53
53
|
export class BteError extends SiiError {
|
|
54
54
|
}
|
|
55
|
+
/** SII rejected a SISPAD peticiones (peticiones administrativas) GWT-RPC read, the
|
|
56
|
+
* response was a `//EX[…]` business error (surfaced verbatim — ADR-004), or the GWT
|
|
57
|
+
* object graph could not be decoded against the observed schema ("scraper roto", a loud
|
|
58
|
+
* fail — the app was recompiled with changed types). Peticiones is BODY-RUT (validate
|
|
59
|
+
* `--rut` vs the operable set, like RCV — ADR-005 / ADR-020). Never retried after a SII
|
|
60
|
+
* error; a `LOGIN_HOST` bounce surfaces as `SessionExpiredError`, not this. */
|
|
61
|
+
export class PeticionesError extends SiiError {
|
|
62
|
+
}
|
|
55
63
|
/** The public DTE-authorized consulta could not be completed for a non-user reason —
|
|
56
64
|
* the network/CGI failed, a non-200 came back, or the portal HTML changed shape
|
|
57
65
|
* ("scraper roto"). A RUT that is simply not a DTE emisor is NOT this error: it is a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,2EAA2E;AAC3E,kEAAkE;AAElE,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,mEAAmE;AACnE,MAAM,OAAO,qBAAsB,SAAQ,QAAQ;CAAG;AAEtD;;iEAEiE;AACjE,MAAM,OAAO,mBAAoB,SAAQ,qBAAqB;CAAG;AAEjE;+BAC+B;AAC/B,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;CAAG;AAEjD,mFAAmF;AACnF,MAAM,OAAO,cAAe,SAAQ,QAAQ;CAAG;AAE/C,oFAAoF;AACpF,MAAM,OAAO,uBAAwB,SAAQ,QAAQ;CAAG;AAExD,mFAAmF;AACnF,MAAM,OAAO,eAAgB,SAAQ,QAAQ;CAAG;AAEhD;8EAC8E;AAC9E,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;CAAG;AAEpD;uFACuF;AACvF,MAAM,OAAO,QAAS,SAAQ,QAAQ;CAAG;AAEzC;8EAC8E;AAC9E,MAAM,OAAO,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;wFAGwF;AACxF,MAAM,OAAO,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;eAGe;AACf,MAAM,OAAO,QAAS,SAAQ,QAAQ;CAAG;AAEzC;;;;;gFAKgF;AAChF,MAAM,OAAO,eAAgB,SAAQ,QAAQ;CAAG;AAEhD;;;;uCAIuC;AACvC,MAAM,OAAO,QAAS,SAAQ,QAAQ;CAAG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export { dteAuthorized } from './tasks/dte.js';
|
|
|
14
14
|
export type { DteAutorizados, DteAutorizado } from './tasks/dte.js';
|
|
15
15
|
export { bteList, bteEmitPreview, bteEmit } from './tasks/bte.js';
|
|
16
16
|
export type { BteMensual, BteBoleta, BteTotales, BteSide, BteEmitArgs, BteEmitResult, BteEmitida, BtePreview, BteRetiene, BteLineaEmision, } from './tasks/bte.js';
|
|
17
|
+
export { peticionesList } from './tasks/peticiones.js';
|
|
18
|
+
export type { PeticionesResult, Peticion, EstadoPeticion } from './tasks/peticiones.js';
|
|
17
19
|
export type { AuditEntry, AuditSink, Clock, CredentialLoginOptions, InteractiveLoginOptions, KeyValueStore, PortalDriver, PortalSession, Runtime, SecretStore, } from './seams/index.js';
|
|
18
20
|
export { Rut } from './rut/index.js';
|
|
19
21
|
export { formatMoney, formatRut } from './format/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnF,YAAY,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxF,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzF,YAAY,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,OAAO,EACP,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,GAChB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnF,YAAY,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzF,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxF,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzF,YAAY,EACV,aAAa,EACb,WAAW,EACX,eAAe,EACf,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,SAAS,EACT,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAClE,YAAY,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,OAAO,EACP,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAKxF,YAAY,EACV,UAAU,EACV,SAAS,EACT,KAAK,EACL,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,OAAO,EACP,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAGlC,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,7 @@ export { f22Status, f22Overview, f22Observaciones, f22Historial } from './tasks/
|
|
|
13
13
|
export { f29Formulario, f29Overview, f29Status, F29_GRUPO_LABELS } from './tasks/f29.js';
|
|
14
14
|
export { dteAuthorized } from './tasks/dte.js';
|
|
15
15
|
export { bteList, bteEmitPreview, bteEmit } from './tasks/bte.js';
|
|
16
|
+
export { peticionesList } from './tasks/peticiones.js';
|
|
16
17
|
// --- shared primitives ---
|
|
17
18
|
export { Rut } from './rut/index.js';
|
|
18
19
|
export { formatMoney, formatRut } from './format/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,gFAAgF;AAChF,6EAA6E;AAE7E,uCAAuC;AACvC,mFAAmF;AACnF,mGAAmG;AACnG,gDAAgD;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAQnF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAaxF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAazF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,gFAAgF;AAChF,6EAA6E;AAE7E,uCAAuC;AACvC,mFAAmF;AACnF,mGAAmG;AACnG,gDAAgD;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAQnF,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAaxF,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAazF,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAalE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAmBvD,4BAA4B;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtD,cAAc,mBAAmB,CAAC;AAElC,2EAA2E;AAC3E,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gwt-schema.d.ts","sourceRoot":"","sources":["../../src/portal/gwt-schema.ts"],"names":[],"mappings":"AAWA,qDAAqD;AACrD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiHvD,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// GENERATED — do not edit by hand. The GWT-RPC field schema for the SISPAD peticiones
|
|
2
|
+
// object graph (ADR-020). Each key is a Java class name; each value encodes that class's
|
|
3
|
+
// deserialize field order, one char per field: o=readObject s=readString i=readInt
|
|
4
|
+
// (int/boolean/short) l=readLong (2 tokens) d=readDouble L=collection M=map. Object/primitive
|
|
5
|
+
// arrays are handled by the "[" sig prefix in the reader, not here.
|
|
6
|
+
//
|
|
7
|
+
// DERIVED first-hand from the compiled GWT permutation deserializers (no third-party GWT
|
|
8
|
+
// library — ADR-004): strong-name A4775626553B7F6CC42EAB2808331B0E, module sispadinternet
|
|
9
|
+
// (GWT 2.0.3). Keyed by CLASS NAME (the per-type CRC in the wire sig rotates on SII recompile;
|
|
10
|
+
// the field layout does not). Regenerate with docs/sii-contract/peticiones-schema-extract.py.
|
|
11
|
+
/** class name → per-field op string (see header). */
|
|
12
|
+
export const GWT_SCHEMA = {
|
|
13
|
+
'cl.sii.sdi.core.web.aa.gwt.shared.SdiSerializableServiceException': 's',
|
|
14
|
+
'cl.sii.sdi.did.siger2.to.BienioTo': 'sss',
|
|
15
|
+
'cl.sii.sdi.did.siger2.to.CalidadJuridicaTo': 'sss',
|
|
16
|
+
'cl.sii.sdi.did.siger2.to.CargoTo': 'ss',
|
|
17
|
+
'cl.sii.sdi.did.siger2.to.ContractualTo': 'ssssss',
|
|
18
|
+
'cl.sii.sdi.did.siger2.to.CredencialTo': 'ssssss',
|
|
19
|
+
'cl.sii.sdi.did.siger2.to.DefinicionEstadosTo': 'iiiiiiii',
|
|
20
|
+
'cl.sii.sdi.did.siger2.to.DepartamentoTo': 'sss',
|
|
21
|
+
'cl.sii.sdi.did.siger2.to.DomicilioTo': 'sssssssss',
|
|
22
|
+
'cl.sii.sdi.did.siger2.to.EscalafonTo': 'sssssss',
|
|
23
|
+
'cl.sii.sdi.did.siger2.to.GradoTo': 's',
|
|
24
|
+
'cl.sii.sdi.did.siger2.to.GrupoAtencionTo': 'sss',
|
|
25
|
+
'cl.sii.sdi.did.siger2.to.GrupoTo': 'sss',
|
|
26
|
+
'cl.sii.sdi.did.siger2.to.HorarioTo': 'ssssso',
|
|
27
|
+
'cl.sii.sdi.did.siger2.to.InformacionlFuncionarioTo': 'sssssssss',
|
|
28
|
+
'cl.sii.sdi.did.siger2.to.LicenciaTo': '',
|
|
29
|
+
'cl.sii.sdi.did.siger2.to.LocalTo': 'ssssssssss',
|
|
30
|
+
'cl.sii.sdi.did.siger2.to.MarcacionTo': '',
|
|
31
|
+
'cl.sii.sdi.did.siger2.to.PermisoTo': 'ss',
|
|
32
|
+
'cl.sii.sdi.did.siger2.to.RegionalTo': 'sss',
|
|
33
|
+
'cl.sii.sdi.did.siger2.to.RelacionContractualTo': 'oooooooooooooo',
|
|
34
|
+
'cl.sii.sdi.did.siger2.to.SubroganteTo': '',
|
|
35
|
+
'cl.sii.sdi.did.siger2.to.TipoJefaturaTo': 'sssss',
|
|
36
|
+
'cl.sii.sdi.did.siger2.to.UbicacionOrganigramaTo': 'soooso',
|
|
37
|
+
'cl.sii.sdi.did.siger2.to.UnidadTo': 'sss',
|
|
38
|
+
'cl.sii.sdi.did.siger2.to.funcion.FuncionInformalTo': 'sss',
|
|
39
|
+
'cl.sii.sdi.did.siger2.to.funcionario.FuncionarioTo': 'ooooioooo',
|
|
40
|
+
'cl.sii.sdi.difsj.sispad.to.ActaRenunciaDatosImpresionTo': 'ssssssssssssosssososossss',
|
|
41
|
+
'cl.sii.sdi.difsj.sispad.to.AutorizacionModeloMaquinaRegistradoraTo': 'ooossoososoosoooossoooosooos',
|
|
42
|
+
'cl.sii.sdi.difsj.sispad.to.AutorizacionOtroSistemaTo': 'sooooosssssooooo',
|
|
43
|
+
'cl.sii.sdi.difsj.sispad.to.AutorizacionSispadTo': 'sooosooo',
|
|
44
|
+
'cl.sii.sdi.difsj.sispad.to.CamposEntradaTo': 'sooosoooo',
|
|
45
|
+
'cl.sii.sdi.difsj.sispad.to.ContribuyentePeticionTo': 'oooooo',
|
|
46
|
+
'cl.sii.sdi.difsj.sispad.to.DocumentoMateriaTo': 'osoooooo',
|
|
47
|
+
'cl.sii.sdi.difsj.sispad.to.DocumentoPerdidoTo': 'soooosossosoo',
|
|
48
|
+
'cl.sii.sdi.difsj.sispad.to.DocumentoPeticionTo': 'ssosssssoossossooosssoo',
|
|
49
|
+
'cl.sii.sdi.difsj.sispad.to.DocumentoTo': 'ssoooo',
|
|
50
|
+
'cl.sii.sdi.difsj.sispad.to.EstadoPeticionTo': 'oooooooosssooooooooo',
|
|
51
|
+
'cl.sii.sdi.difsj.sispad.to.EstadoTo': 'soooo',
|
|
52
|
+
'cl.sii.sdi.difsj.sispad.to.FormularioPeticionTo': 'ssoossososooo',
|
|
53
|
+
'cl.sii.sdi.difsj.sispad.to.HojaTrabajoGeneralTo': 'ooosssosoossssssssosooooo',
|
|
54
|
+
'cl.sii.sdi.difsj.sispad.to.InformeRespaldoTo': 'ssssssoosssssssssssos',
|
|
55
|
+
'cl.sii.sdi.difsj.sispad.to.InformeTribunalesTo': 'ooossoosooooooossoooosooos',
|
|
56
|
+
'cl.sii.sdi.difsj.sispad.to.LibroPerdidoTo': 'ooooososoooosoo',
|
|
57
|
+
'cl.sii.sdi.difsj.sispad.to.MaquinaRegistradoraTo': 'osooossooo',
|
|
58
|
+
'cl.sii.sdi.difsj.sispad.to.MateriaPerdidaDocumentosTo': 'oooosoooosooooossoooosooos',
|
|
59
|
+
'cl.sii.sdi.difsj.sispad.to.MateriaTo': 'oooossoooosooos',
|
|
60
|
+
'cl.sii.sdi.difsj.sispad.to.NotaResolutorTo': 'osooo',
|
|
61
|
+
'cl.sii.sdi.difsj.sispad.to.NotificacionMotivoTo': 'oo',
|
|
62
|
+
'cl.sii.sdi.difsj.sispad.to.NotificacionTo': 'ooosssoossosssssososososssooossssssossooososooososo',
|
|
63
|
+
'cl.sii.sdi.difsj.sispad.to.PeticionTo': 'ssossoosooooosssssoooooosooolssssssoossoosssoooooooososssssoooosssssssoooooosoooloooosooooolllllooooo',
|
|
64
|
+
'cl.sii.sdi.difsj.sispad.to.ReceptorTo': 'oooso',
|
|
65
|
+
'cl.sii.sdi.difsj.sispad.to.ResolucionTo': 'oooooooosssossoooossooosoos',
|
|
66
|
+
'cl.sii.sdi.difsj.sispad.to.RespuestaTo': 'ooososossosososo',
|
|
67
|
+
'cl.sii.sdi.difsj.sispad.to.SistemaPeticionTo': 'ooososoo',
|
|
68
|
+
'cl.sii.sdi.difsj.sispad.to.SistemaReferenciaTo': 'oooso',
|
|
69
|
+
'cl.sii.sdi.difsj.sispad.to.TareaTo': 'soooso',
|
|
70
|
+
'cl.sii.sdi.difsj.sispad.to.TipoFormularioTo': 'osooo',
|
|
71
|
+
'cl.sii.sdi.difsj.sispad.to.TomaRazonOtroSistemaTo': 'oossoosssoooooosssoososo',
|
|
72
|
+
'cl.sii.sdi.difsj.sispad.to.TomaRazonTo': 'sooosssooooosssoososo',
|
|
73
|
+
'cl.sii.sdi.difsj.sispad.to.ValorCampoEntradaTo': 'ooooooos',
|
|
74
|
+
'cl.sii.sdi.oicc.core.to.ComunaTo': 'oso',
|
|
75
|
+
'cl.sii.sdi.oicc.core.to.ContribuyenteFullTo': 'ooossssosoossoossooossoooo',
|
|
76
|
+
'cl.sii.sdi.oicc.core.to.ContribuyenteTo': 'ssoossooossoooo',
|
|
77
|
+
'cl.sii.sdi.oicc.core.to.DireccionFullTo': 'osssoooososooossssosoosooos',
|
|
78
|
+
'cl.sii.sdi.oicc.core.to.DireccionTo': 'oossssosoosooos',
|
|
79
|
+
'cl.sii.sdi.oicc.core.to.NegocioTo': 'soosoooooossssssossssioo',
|
|
80
|
+
'cl.sii.sdi.oicc.core.to.RegionTo': 'os',
|
|
81
|
+
'cl.sii.sdi.oicc.core.to.RegionalTo': 'oss',
|
|
82
|
+
'cl.sii.sdi.oicc.core.to.SubTipoContribuyenteTo': 'oso',
|
|
83
|
+
'cl.sii.sdi.oicc.core.to.UnidadOperativaTo': 'ssosoooo',
|
|
84
|
+
'com.google.gwt.http.client.RequestException': 's',
|
|
85
|
+
'com.google.gwt.i18n.client.impl.DateRecord': 'iiiiiiiiiiii',
|
|
86
|
+
'com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException': 's',
|
|
87
|
+
'com.google.gwt.user.client.rpc.SerializableException': 's',
|
|
88
|
+
'com.google.gwt.user.client.rpc.SerializationException': 's',
|
|
89
|
+
'java.io.IOException': 's',
|
|
90
|
+
'java.lang.ArithmeticException': 's',
|
|
91
|
+
'java.lang.ArrayIndexOutOfBoundsException': 's',
|
|
92
|
+
'java.lang.ArrayStoreException': 's',
|
|
93
|
+
'java.lang.Boolean': 'i',
|
|
94
|
+
'java.lang.ClassCastException': 's',
|
|
95
|
+
'java.lang.Exception': 's',
|
|
96
|
+
'java.lang.IllegalArgumentException': 's',
|
|
97
|
+
'java.lang.IllegalStateException': 's',
|
|
98
|
+
'java.lang.IndexOutOfBoundsException': 's',
|
|
99
|
+
'java.lang.Integer': 'i',
|
|
100
|
+
'java.lang.Long': 'l',
|
|
101
|
+
'java.lang.NegativeArraySizeException': 's',
|
|
102
|
+
'java.lang.NullPointerException': 's',
|
|
103
|
+
'java.lang.NumberFormatException': 's',
|
|
104
|
+
'java.lang.RuntimeException': 's',
|
|
105
|
+
'java.lang.Short': 'i',
|
|
106
|
+
'java.lang.String': 's',
|
|
107
|
+
'java.lang.StringIndexOutOfBoundsException': 's',
|
|
108
|
+
'java.lang.UnsupportedOperationException': 's',
|
|
109
|
+
'java.lang.annotation.AnnotationTypeMismatchException': 's',
|
|
110
|
+
'java.sql.Date': 'l',
|
|
111
|
+
'java.sql.Time': 'l',
|
|
112
|
+
'java.sql.Timestamp': 'li',
|
|
113
|
+
'java.util.ArrayList': 'L',
|
|
114
|
+
'java.util.ConcurrentModificationException': 's',
|
|
115
|
+
'java.util.Date': 'l',
|
|
116
|
+
'java.util.EmptyStackException': 's',
|
|
117
|
+
'java.util.LinkedList': 'L',
|
|
118
|
+
'java.util.NoSuchElementException': 's',
|
|
119
|
+
'java.util.Stack': 'L',
|
|
120
|
+
'java.util.TooManyListenersException': 's',
|
|
121
|
+
'java.util.Vector': 'L',
|
|
122
|
+
};
|
|
123
|
+
//# sourceMappingURL=gwt-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gwt-schema.js","sourceRoot":"","sources":["../../src/portal/gwt-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** A decoded GWT object-graph node. `sig` is the wire type signature; `fields` holds the
|
|
2
|
+
* ordered field values (scalars, nested nodes, or null); `items` holds collection
|
|
3
|
+
* elements (for `ArrayList`/`Vector`) or array elements. */
|
|
4
|
+
export interface GwtNode {
|
|
5
|
+
readonly sig: string;
|
|
6
|
+
readonly fields: GwtValue[];
|
|
7
|
+
readonly items?: GwtValue[];
|
|
8
|
+
}
|
|
9
|
+
export type GwtValue = string | number | GwtNode | null;
|
|
10
|
+
/** True when `v` is a decoded object node (not a scalar/null). */
|
|
11
|
+
export declare function isNode(v: GwtValue): v is GwtNode;
|
|
12
|
+
/** Build the `text/x-gwt-rpc` body for `peticionesUsuario`. `rut` is the numeric body
|
|
13
|
+
* (no DV); `token` is a placeholder (the server does not validate it — auth is by the
|
|
14
|
+
* session cookie + rut, ADR-020). */
|
|
15
|
+
export declare function buildPeticionesRequest(moduleBase: string, policyHash: string, rut: number, token: string): string;
|
|
16
|
+
/** Decode a `//OK[…]` GWT-RPC response into its root object-graph node. A `//EX[…]`
|
|
17
|
+
* business error is surfaced VERBATIM as a `PeticionesError` (ADR-004); any other body
|
|
18
|
+
* (or a schema mismatch mid-decode) is a loud "scraper roto". */
|
|
19
|
+
export declare function decodeGwtResponse(text: string): GwtValue;
|
|
20
|
+
/** True when the server rejected the serialization-policy hash — the trigger to
|
|
21
|
+
* re-source the hash and retry (self-heal, ADR-020). GWT answers a bad/blocked policy
|
|
22
|
+
* with an IncompatibleRemoteServiceException `//EX`. */
|
|
23
|
+
export declare function isPolicyError(e: unknown): boolean;
|
|
24
|
+
//# sourceMappingURL=gwt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gwt.d.ts","sourceRoot":"","sources":["../../src/portal/gwt.ts"],"names":[],"mappings":"AAsBA;;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"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
// In-house GWT-RPC codec for the SISPAD peticiones read (ADR-020). No third-party GWT
|
|
2
|
+
// library — the request template and the response object-graph reader are derived
|
|
3
|
+
// first-hand from the compiled permutation (strong-name A477…, module sispadinternet,
|
|
4
|
+
// GWT 2.0.3, observed 2026-07-03); the per-type field schema lives in `gwt-schema.ts`.
|
|
5
|
+
// Full wire contract: docs/sii-contract/peticiones.md.
|
|
6
|
+
//
|
|
7
|
+
// Transport shape: a `text/x-gwt-rpc` POST returns `//OK[…]` (success) or `//EX[…]`
|
|
8
|
+
// (a serialized business exception). The `[…]` is a JSON array laid out as
|
|
9
|
+
// [ …payload ints…, [stringTable], flags, version ]
|
|
10
|
+
// read by DECREMENTING an index from the end (GWT emits the payload reversed). A value
|
|
11
|
+
// is resolved by its position's declared TYPE (schema-directed), never guessed:
|
|
12
|
+
// readInt -> one raw token
|
|
13
|
+
// readLong -> two tokens; value = a + b (GWT splits high·2³² + low)
|
|
14
|
+
// readString-> one token: >0 => stringTable[t-1], else null
|
|
15
|
+
// readObject-> one token: 0 => null, <0 => back-reference, >0 => stringTable[t-1] is a
|
|
16
|
+
// type signature; instantiate (adds to the seen list BEFORE its fields, so
|
|
17
|
+
// cycles resolve) then run that class's field ops.
|
|
18
|
+
// Boxed leaves and collections resolve through the same schema (Integer="i", Timestamp=
|
|
19
|
+
// "li", ArrayList/Vector="L", …); object/primitive arrays are handled by the "[" prefix.
|
|
20
|
+
import { GWT_SCHEMA } from './gwt-schema.js';
|
|
21
|
+
import { PeticionesError } from '../errors/index.js';
|
|
22
|
+
/** True when `v` is a decoded object node (not a scalar/null). */
|
|
23
|
+
export function isNode(v) {
|
|
24
|
+
return typeof v === 'object' && v !== null;
|
|
25
|
+
}
|
|
26
|
+
const isSig = (s) => s.startsWith('[') || /\/\d+$/.test(s);
|
|
27
|
+
const className = (sig) => sig.split('/')[0];
|
|
28
|
+
// ── Request ──────────────────────────────────────────────────────────────────
|
|
29
|
+
// The peticionesUsuario(Integer rut, String token) call. Only the module base, the
|
|
30
|
+
// serialization-policy strong-name, the rut and the (unvalidated) token vary; the rest is
|
|
31
|
+
// the fixed invocation encoding observed 2026-07-03. String table (7 entries, 1-based):
|
|
32
|
+
// [moduleBase, policyHash, service iface, method, Integer sig, String sig, token].
|
|
33
|
+
const SERVICE_IFACE = 'cl.sii.sdi.difsj.sispadinternet.web.client.service.aplicacion.peticion.ServicePeticion';
|
|
34
|
+
const INTEGER_SIG = 'java.lang.Integer/3438268394';
|
|
35
|
+
const STRING_SIG = 'java.lang.String/2004016611';
|
|
36
|
+
/** Build the `text/x-gwt-rpc` body for `peticionesUsuario`. `rut` is the numeric body
|
|
37
|
+
* (no DV); `token` is a placeholder (the server does not validate it — auth is by the
|
|
38
|
+
* session cookie + rut, ADR-020). */
|
|
39
|
+
export function buildPeticionesRequest(moduleBase, policyHash, rut, token) {
|
|
40
|
+
return (`5|0|7|${moduleBase}|${policyHash}|${SERVICE_IFACE}|peticionesUsuario|` +
|
|
41
|
+
`${INTEGER_SIG}|${STRING_SIG}|${token}|1|2|3|4|2|5|6|5|${rut}|7|`);
|
|
42
|
+
}
|
|
43
|
+
// ── Response ─────────────────────────────────────────────────────────────────
|
|
44
|
+
class GraphReader {
|
|
45
|
+
payload;
|
|
46
|
+
st;
|
|
47
|
+
i;
|
|
48
|
+
seen = [];
|
|
49
|
+
constructor(payload, st) {
|
|
50
|
+
this.payload = payload;
|
|
51
|
+
this.st = st;
|
|
52
|
+
this.i = payload.length - 1;
|
|
53
|
+
}
|
|
54
|
+
done() {
|
|
55
|
+
return this.i === -1;
|
|
56
|
+
}
|
|
57
|
+
tok() {
|
|
58
|
+
if (this.i < 0)
|
|
59
|
+
throw new PeticionesError(SCRAPER_ROTO + ' (fin de datos inesperado)');
|
|
60
|
+
return this.payload[this.i--];
|
|
61
|
+
}
|
|
62
|
+
readString() {
|
|
63
|
+
const t = this.tok();
|
|
64
|
+
return t > 0 ? (this.st[t - 1] ?? null) : null;
|
|
65
|
+
}
|
|
66
|
+
readObject() {
|
|
67
|
+
const t = this.tok();
|
|
68
|
+
if (t === 0)
|
|
69
|
+
return null;
|
|
70
|
+
if (t < 0) {
|
|
71
|
+
const ref = this.seen[-t - 1];
|
|
72
|
+
if (ref === undefined)
|
|
73
|
+
throw new PeticionesError(SCRAPER_ROTO + ' (referencia inválida)');
|
|
74
|
+
return ref;
|
|
75
|
+
}
|
|
76
|
+
const sig = this.st[t - 1];
|
|
77
|
+
if (sig === undefined || !isSig(sig)) {
|
|
78
|
+
throw new PeticionesError(SCRAPER_ROTO + ` (se esperaba un tipo, llegó "${String(sig).slice(0, 24)}")`);
|
|
79
|
+
}
|
|
80
|
+
const node = { sig, fields: [] };
|
|
81
|
+
this.seen.push(node);
|
|
82
|
+
if (sig.startsWith('[')) {
|
|
83
|
+
this.readArray(sig, node);
|
|
84
|
+
return node;
|
|
85
|
+
}
|
|
86
|
+
const ops = GWT_SCHEMA[className(sig)];
|
|
87
|
+
if (ops === undefined)
|
|
88
|
+
throw new PeticionesError(SCRAPER_ROTO + ` (tipo sin esquema: ${className(sig)})`);
|
|
89
|
+
this.runOps(ops, node);
|
|
90
|
+
return node;
|
|
91
|
+
}
|
|
92
|
+
readArray(sig, node) {
|
|
93
|
+
const el = sig[1];
|
|
94
|
+
const n = this.tok();
|
|
95
|
+
const items = [];
|
|
96
|
+
for (let k = 0; k < n; k++) {
|
|
97
|
+
if (el === 'L' || el === '[')
|
|
98
|
+
items.push(this.readObject());
|
|
99
|
+
else if (el === 'J')
|
|
100
|
+
items.push(this.tok() + this.tok()); // long[]
|
|
101
|
+
else
|
|
102
|
+
items.push(this.tok()); // C/I/Z/B/S/D/F -> one raw token
|
|
103
|
+
}
|
|
104
|
+
node.items = items;
|
|
105
|
+
}
|
|
106
|
+
runOps(ops, node) {
|
|
107
|
+
for (const op of ops) {
|
|
108
|
+
switch (op) {
|
|
109
|
+
case 's':
|
|
110
|
+
node.fields.push(this.readString());
|
|
111
|
+
break;
|
|
112
|
+
case 'i':
|
|
113
|
+
case 'd':
|
|
114
|
+
node.fields.push(this.tok());
|
|
115
|
+
break;
|
|
116
|
+
case 'l':
|
|
117
|
+
node.fields.push(this.tok() + this.tok());
|
|
118
|
+
break;
|
|
119
|
+
case 'o':
|
|
120
|
+
node.fields.push(this.readObject());
|
|
121
|
+
break;
|
|
122
|
+
case 'L': {
|
|
123
|
+
const n = this.tok();
|
|
124
|
+
const items = [];
|
|
125
|
+
for (let k = 0; k < n; k++)
|
|
126
|
+
items.push(this.readObject());
|
|
127
|
+
node.items = items;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
case 'M': {
|
|
131
|
+
const n = this.tok();
|
|
132
|
+
for (let k = 0; k < n; k++) {
|
|
133
|
+
this.readObject();
|
|
134
|
+
this.readObject();
|
|
135
|
+
}
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
default:
|
|
139
|
+
throw new PeticionesError(SCRAPER_ROTO + ` (op desconocida ${op})`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
const SCRAPER_ROTO = 'No se pudo interpretar la respuesta de SII (scraper roto)';
|
|
145
|
+
/** Decode a `//OK[…]` GWT-RPC response into its root object-graph node. A `//EX[…]`
|
|
146
|
+
* business error is surfaced VERBATIM as a `PeticionesError` (ADR-004); any other body
|
|
147
|
+
* (or a schema mismatch mid-decode) is a loud "scraper roto". */
|
|
148
|
+
export function decodeGwtResponse(text) {
|
|
149
|
+
const body = text.trimStart();
|
|
150
|
+
if (body.startsWith('//EX')) {
|
|
151
|
+
throw new PeticionesError(extractExceptionMessage(body));
|
|
152
|
+
}
|
|
153
|
+
if (!body.startsWith('//OK')) {
|
|
154
|
+
// requestText already maps a LOGIN_HOST bounce to SessionExpiredError, so reaching
|
|
155
|
+
// here with a non-OK/EX body means the wire shape changed — fail loud, never retry.
|
|
156
|
+
throw new PeticionesError(SCRAPER_ROTO + ' (respuesta no es //OK)');
|
|
157
|
+
}
|
|
158
|
+
const arr = parseArray(body);
|
|
159
|
+
const st = arr[arr.length - 3];
|
|
160
|
+
if (!Array.isArray(st))
|
|
161
|
+
throw new PeticionesError(SCRAPER_ROTO + ' (sin tabla de strings)');
|
|
162
|
+
const payload = arr.slice(0, arr.length - 3);
|
|
163
|
+
const reader = new GraphReader(payload, st);
|
|
164
|
+
const root = reader.readObject();
|
|
165
|
+
if (!reader.done())
|
|
166
|
+
throw new PeticionesError(SCRAPER_ROTO + ' (datos sobrantes)');
|
|
167
|
+
return root;
|
|
168
|
+
}
|
|
169
|
+
/** True when the server rejected the serialization-policy hash — the trigger to
|
|
170
|
+
* re-source the hash and retry (self-heal, ADR-020). GWT answers a bad/blocked policy
|
|
171
|
+
* with an IncompatibleRemoteServiceException `//EX`. */
|
|
172
|
+
export function isPolicyError(e) {
|
|
173
|
+
return (e instanceof PeticionesError &&
|
|
174
|
+
/IncompatibleRemoteService|policy|blocked|no est[aá] incluid/i.test(e.message));
|
|
175
|
+
}
|
|
176
|
+
function parseArray(body) {
|
|
177
|
+
const json = body.slice(body.indexOf('[')); // drop the `//OK` / `//EX` prefix
|
|
178
|
+
try {
|
|
179
|
+
const v = JSON.parse(json);
|
|
180
|
+
if (!Array.isArray(v))
|
|
181
|
+
throw new Error('not an array');
|
|
182
|
+
return v;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
throw new PeticionesError(SCRAPER_ROTO + ' (JSON inválido)');
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// The `//EX` graph is a serialized Throwable; its human message is the string-table
|
|
189
|
+
// entry that is neither a type signature nor an empty string. Join the plausible message
|
|
190
|
+
// strings so SII's wording reaches the user verbatim (ADR-004).
|
|
191
|
+
function extractExceptionMessage(body) {
|
|
192
|
+
try {
|
|
193
|
+
const arr = parseArray(body);
|
|
194
|
+
const st = arr[arr.length - 3];
|
|
195
|
+
if (Array.isArray(st)) {
|
|
196
|
+
const msgs = st.filter((s) => typeof s === 'string' && s.length > 0 && !isSig(s) && /\s/.test(s));
|
|
197
|
+
if (msgs.length)
|
|
198
|
+
return `SII rechazó la consulta de peticiones: ${msgs.join(' | ')}`;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
catch {
|
|
202
|
+
/* fall through */
|
|
203
|
+
}
|
|
204
|
+
return 'SII rechazó la consulta de peticiones (error de servicio).';
|
|
205
|
+
}
|
|
206
|
+
//# sourceMappingURL=gwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gwt.js","sourceRoot":"","sources":["../../src/portal/gwt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { PortalSession } from '../seams/index.js';
|
|
2
|
+
import type { Rut } from '../rut/index.js';
|
|
3
|
+
/** One state transition in a petition's timeline. `estado` is SII's label with any
|
|
4
|
+
* internal functionary suffix stripped; `mensaje` is SII's verbatim note to the taxpayer
|
|
5
|
+
* (what's pending / why) when present — the value behind an "en espera de Antecedentes". */
|
|
6
|
+
export interface EstadoPeticion {
|
|
7
|
+
readonly estado: string;
|
|
8
|
+
/** ISO-8601 date-time of the transition, or null when SII sent none. */
|
|
9
|
+
readonly fecha: string | null;
|
|
10
|
+
readonly mensaje: string | null;
|
|
11
|
+
}
|
|
12
|
+
/** One petición administrativa (curated; NO `raw`). */
|
|
13
|
+
export interface Peticion {
|
|
14
|
+
readonly numero: number;
|
|
15
|
+
readonly materia: string | null;
|
|
16
|
+
/** The most recent state's label (the timeline entry with the latest `fecha`). */
|
|
17
|
+
readonly estadoActual: string;
|
|
18
|
+
/** Full state history, most-recent-first. */
|
|
19
|
+
readonly timeline: readonly EstadoPeticion[];
|
|
20
|
+
}
|
|
21
|
+
/** All peticiones administrativas for `rut` (the resolved body RUT). */
|
|
22
|
+
export interface PeticionesResult {
|
|
23
|
+
readonly rut: string;
|
|
24
|
+
readonly peticiones: readonly Peticion[];
|
|
25
|
+
}
|
|
26
|
+
/** Read every petición administrativa for `rut` (body-RUT). Self-heals the policy hash on
|
|
27
|
+
* a policy rejection, then decodes + curates. Never retried after a genuine SII error. */
|
|
28
|
+
export declare function fetchPeticiones(session: PortalSession, args: {
|
|
29
|
+
readonly rut: Rut;
|
|
30
|
+
}): Promise<PeticionesResult>;
|
|
31
|
+
//# sourceMappingURL=peticiones.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peticiones.d.ts","sourceRoot":"","sources":["../../src/portal/peticiones.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAuB3C;;6FAE6F;AAC7F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;CAC9C;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,SAAS,QAAQ,EAAE,CAAC;CAC1C;AAgDD;2FAC2F;AAC3F,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAAE,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAK3B"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
// Peticiones Administrativas (SISPAD) — typed facade over the GWT-RPC read seam
|
|
2
|
+
// (`PortalSession.requestText`, ADR-020). Reaches `peticionesUsuario(rut, token)` on the
|
|
3
|
+
// legacy GWT app `www3.sii.cl/sispadinternet` with a COLD authenticated POST (no SPA
|
|
4
|
+
// warm-up) and decodes the `//OK[…]` object graph in-house (`gwt.ts`). Body-RUT like RCV:
|
|
5
|
+
// the caller resolves the operating RUT and validates `--rut` vs the operable set (ADR-005).
|
|
6
|
+
//
|
|
7
|
+
// PII posture — NO `raw`, tight allowlist (ADR-004 / ADR-006). The graph is PII-dense on
|
|
8
|
+
// every side (own identity, SII functionary names + emails, third-party RUTs); a per-field
|
|
9
|
+
// denylist is not provably complete, so only the tracking fields are curated. Even an
|
|
10
|
+
// estado glosa can embed a functionary name — `Petición … (Subrogancia Informal [NOMBRE])`
|
|
11
|
+
// — which is stripped. Full wire contract: docs/sii-contract/peticiones.md.
|
|
12
|
+
import { buildPeticionesRequest, decodeGwtResponse, isNode, isPolicyError } from './gwt.js';
|
|
13
|
+
import { HOSTS } from '../config/index.js';
|
|
14
|
+
import { PeticionesError } from '../errors/index.js';
|
|
15
|
+
const MODULE_BASE = `${HOSTS.sispad}/`;
|
|
16
|
+
const ENDPOINT = `${HOSTS.sispad}/peticion`;
|
|
17
|
+
const NOCACHE_URL = `${HOSTS.sispad}/sispadinternet.nocache.js`;
|
|
18
|
+
// Last-known-good serialization-policy strong-name (observed 2026-07-03). Validated by the
|
|
19
|
+
// server and rotated on SII recompile → self-healed at runtime (see `callWithHealing`).
|
|
20
|
+
const LAST_KNOWN_HASH = '598C9D524B940C07227C7D58BBBBDDFC';
|
|
21
|
+
// The GWT UI conversation id — NOT validated by the server (auth is by cookie + rut, ADR-020),
|
|
22
|
+
// so a constant placeholder suffices; a real token is a session secret we never need.
|
|
23
|
+
const TOKEN_PLACEHOLDER = 'SIICOREPETICIONESREAD';
|
|
24
|
+
const GWT_HEADERS = {
|
|
25
|
+
'Content-Type': 'text/x-gwt-rpc; charset=utf-8',
|
|
26
|
+
'X-GWT-Module-Base': MODULE_BASE,
|
|
27
|
+
};
|
|
28
|
+
// Curated field positions in the decoded graph — the observed contract (2026-07-03). A
|
|
29
|
+
// class whose fields shift on recompile is caught by the schema decode ("scraper roto");
|
|
30
|
+
// these indices are validated softly below (número numeric, estado glosa `Petici…`).
|
|
31
|
+
const PET = { numero: 12, materia: 26, estados: 21 };
|
|
32
|
+
const MATERIA_GLOSA = 10;
|
|
33
|
+
const EST = { glosa: 10, fecha: 7, nota: 9 };
|
|
34
|
+
// Module-scoped cache of the working policy hash (global to the SII deploy, so process-wide).
|
|
35
|
+
let cachedHash = null;
|
|
36
|
+
const nodeAt = (n, i) => n.fields[i] ?? null;
|
|
37
|
+
function intOf(v) {
|
|
38
|
+
return isNode(v) && typeof v.fields[0] === 'number' ? v.fields[0] : null;
|
|
39
|
+
}
|
|
40
|
+
function tsIso(v) {
|
|
41
|
+
if (!isNode(v) || typeof v.fields[0] !== 'number')
|
|
42
|
+
return null;
|
|
43
|
+
const d = new Date(v.fields[0]);
|
|
44
|
+
return Number.isNaN(d.getTime()) ? null : d.toISOString();
|
|
45
|
+
}
|
|
46
|
+
// SII embeds the acting functionary in some estado glosas: "… (Subrogancia Informal [NAME])".
|
|
47
|
+
// Strip that internal-PII suffix; the base label is the state (ADR-006).
|
|
48
|
+
const stripFunctionaryPII = (glosa) => glosa.replace(/\s*\(Subrogancia[^)]*\)\s*$/i, '').trim();
|
|
49
|
+
function curateEstado(node) {
|
|
50
|
+
if (!isNode(node))
|
|
51
|
+
return null;
|
|
52
|
+
const raw = nodeAt(node, EST.glosa);
|
|
53
|
+
if (typeof raw !== 'string' || !raw.startsWith('Petici'))
|
|
54
|
+
return null; // curation drift guard
|
|
55
|
+
const nota = nodeAt(node, EST.nota);
|
|
56
|
+
return {
|
|
57
|
+
estado: stripFunctionaryPII(raw),
|
|
58
|
+
fecha: tsIso(nodeAt(node, EST.fecha)),
|
|
59
|
+
mensaje: typeof nota === 'string' && nota.length > 0 ? nota : null,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function curatePeticion(node) {
|
|
63
|
+
if (!isNode(node))
|
|
64
|
+
return null;
|
|
65
|
+
const numero = intOf(nodeAt(node, PET.numero));
|
|
66
|
+
if (numero === null)
|
|
67
|
+
return null; // not a PeticionTo shape → skip (guard)
|
|
68
|
+
const materiaNode = nodeAt(node, PET.materia);
|
|
69
|
+
const materia = isNode(materiaNode)
|
|
70
|
+
? (nodeAt(materiaNode, MATERIA_GLOSA) ?? null)
|
|
71
|
+
: null;
|
|
72
|
+
const estadosNode = nodeAt(node, PET.estados);
|
|
73
|
+
const timeline = (isNode(estadosNode) ? (estadosNode.items ?? []) : [])
|
|
74
|
+
.map(curateEstado)
|
|
75
|
+
.filter((e) => e !== null)
|
|
76
|
+
.sort((a, b) => (b.fecha ?? '').localeCompare(a.fecha ?? ''));
|
|
77
|
+
const estadoActual = timeline[0]?.estado ?? '';
|
|
78
|
+
return { numero, materia: typeof materia === 'string' ? materia : null, estadoActual, timeline };
|
|
79
|
+
}
|
|
80
|
+
/** Read every petición administrativa for `rut` (body-RUT). Self-heals the policy hash on
|
|
81
|
+
* a policy rejection, then decodes + curates. Never retried after a genuine SII error. */
|
|
82
|
+
export async function fetchPeticiones(session, args) {
|
|
83
|
+
const root = await callWithHealing(session, args.rut.body);
|
|
84
|
+
const arr = isNode(root) ? (root.items ?? []) : [];
|
|
85
|
+
const peticiones = arr.map(curatePeticion).filter((p) => p !== null);
|
|
86
|
+
return { rut: args.rut.canonical, peticiones };
|
|
87
|
+
}
|
|
88
|
+
async function callOnce(session, rut, hash) {
|
|
89
|
+
const body = buildPeticionesRequest(MODULE_BASE, hash, rut, TOKEN_PLACEHOLDER);
|
|
90
|
+
const resp = await session.requestText(ENDPOINT, { method: 'POST', headers: GWT_HEADERS, body });
|
|
91
|
+
return decodeGwtResponse(resp.body);
|
|
92
|
+
}
|
|
93
|
+
async function callWithHealing(session, rut) {
|
|
94
|
+
const first = cachedHash ?? LAST_KNOWN_HASH;
|
|
95
|
+
try {
|
|
96
|
+
const root = await callOnce(session, rut, first);
|
|
97
|
+
cachedHash = first;
|
|
98
|
+
return root;
|
|
99
|
+
}
|
|
100
|
+
catch (e) {
|
|
101
|
+
if (!isPolicyError(e))
|
|
102
|
+
throw e;
|
|
103
|
+
// Self-heal: the policy strong-name rotated. Re-source candidates from the shipped
|
|
104
|
+
// permutation JS and try each (≤ a handful) until one deserializes (ADR-020).
|
|
105
|
+
const candidates = (await sourceHashCandidates(session)).filter((h) => h !== first);
|
|
106
|
+
for (const hash of candidates) {
|
|
107
|
+
try {
|
|
108
|
+
const root = await callOnce(session, rut, hash);
|
|
109
|
+
cachedHash = hash;
|
|
110
|
+
return root;
|
|
111
|
+
}
|
|
112
|
+
catch (inner) {
|
|
113
|
+
if (!isPolicyError(inner))
|
|
114
|
+
throw inner;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
throw new PeticionesError('No se pudo determinar la política de serialización de SISPAD (scraper roto): el hash rotó y ningún candidato del JS de permutación fue aceptado.');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
// Source candidate policy strong-names from the shipped GWT bundle: the bootstrap
|
|
121
|
+
// nocache.js lists the permutation strong-names; any permutation's `.cache.html` embeds
|
|
122
|
+
// the serialization-policy hashes (as `POc='…'` constants). Both are authenticated GETs.
|
|
123
|
+
async function sourceHashCandidates(session) {
|
|
124
|
+
const HEX32 = /[0-9A-F]{32}/g;
|
|
125
|
+
const nocache = await session.requestText(NOCACHE_URL, { method: 'GET' });
|
|
126
|
+
const perms = [...new Set(nocache.body.match(HEX32) ?? [])];
|
|
127
|
+
for (const perm of perms) {
|
|
128
|
+
const cache = await session.requestText(`${HOSTS.sispad}/${perm}.cache.html`, {
|
|
129
|
+
method: 'GET',
|
|
130
|
+
});
|
|
131
|
+
const hashes = [...new Set(cache.body.match(HEX32) ?? [])].filter((h) => h !== perm);
|
|
132
|
+
if (hashes.length)
|
|
133
|
+
return hashes;
|
|
134
|
+
}
|
|
135
|
+
return [];
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=peticiones.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peticiones.js","sourceRoot":"","sources":["../../src/portal/peticiones.ts"],"names":[],"mappings":"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"}
|
package/dist/seams/index.d.ts
CHANGED
|
@@ -47,6 +47,17 @@ export interface FormRequest {
|
|
|
47
47
|
readonly headers?: Record<string, string>;
|
|
48
48
|
readonly form?: Record<string, string>;
|
|
49
49
|
}
|
|
50
|
+
/** An AUTHENTICATED raw-body request from the session (cookies ride along). The primitive
|
|
51
|
+
* behind GWT-RPC read facades (SISPAD peticiones, ADR-020): the body is an opaque string
|
|
52
|
+
* (a `text/x-gwt-rpc` payload) and the response is text (`//OK[…]`), neither JSON nor
|
|
53
|
+
* urlencoded/HTML. The authenticated, arbitrary-content-type peer of `requestPublic`. The
|
|
54
|
+
* facade sets `Content-Type` (+ `X-GWT-Module-Base`) via `headers`. */
|
|
55
|
+
export interface TextRequest {
|
|
56
|
+
readonly method?: 'GET' | 'POST';
|
|
57
|
+
readonly headers?: Record<string, string>;
|
|
58
|
+
/** Raw request body, sent verbatim (e.g. the GWT-RPC stream). Omit for GET. */
|
|
59
|
+
readonly body?: string;
|
|
60
|
+
}
|
|
50
61
|
export interface PortalSession {
|
|
51
62
|
/** Navigate; returns the URL actually landed on (for URL-based auth detection). */
|
|
52
63
|
goto(url: string): Promise<string>;
|
|
@@ -63,6 +74,12 @@ export interface PortalSession {
|
|
|
63
74
|
* Login-wall detection is URL-based (landing on `LOGIN_HOST`) → `SessionExpiredError`,
|
|
64
75
|
* since an HTML body is EXPECTED here (unlike `requestJson`). */
|
|
65
76
|
requestForm(url: string, options?: FormRequest): Promise<PublicResponse>;
|
|
77
|
+
/** Issue an authenticated raw-body request from the session and return the decoded
|
|
78
|
+
* text body (charset-aware). The primitive behind GWT-RPC read facades (SISPAD
|
|
79
|
+
* peticiones, ADR-020) — a `text/x-gwt-rpc` POST returning `//OK[…]`. Login-wall
|
|
80
|
+
* detection is URL-based (landing on `LOGIN_HOST`) → `SessionExpiredError`, since a
|
|
81
|
+
* non-JSON body is EXPECTED (unlike `requestJson`). */
|
|
82
|
+
requestText(url: string, options?: TextRequest): Promise<PublicResponse>;
|
|
66
83
|
/** Value of a cookie visible to `url` (e.g. the SPA conversation `TOKEN`), or
|
|
67
84
|
* null. Used to seed SDI request metadata. */
|
|
68
85
|
cookie(url: string, name: string): Promise<string | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/seams/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/seams/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PeticionesResult } from '../portal/peticiones.js';
|
|
2
|
+
import type { Runtime } from '../seams/index.js';
|
|
3
|
+
export type { EstadoPeticion, Peticion, PeticionesResult } from '../portal/peticiones.js';
|
|
4
|
+
interface PeticionesArgs {
|
|
5
|
+
/** Per-call operating RUT override (must be in the operable set); else the pointer. */
|
|
6
|
+
readonly rut?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function peticionesList(runtime: Runtime, args?: PeticionesArgs): Promise<PeticionesResult>;
|
|
9
|
+
//# sourceMappingURL=peticiones.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peticiones.d.ts","sourceRoot":"","sources":["../../src/tasks/peticiones.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAc,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE7D,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,UAAU,cAAc;IACtB,uFAAuF;IACvF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
// Public peticiones task the surfaces call (ADR-003). Wraps the GWT-RPC facade in
|
|
2
|
+
// `withSession` — consume a live session, resolve the body RUT (override > pointer > self,
|
|
3
|
+
// ADR-005) — and writes ONE audit receipt. Peticiones is BODY-RUT (like RCV): `--rut`/
|
|
4
|
+
// operate selects a represented empresa; the operable-set gate lives in `withSession`.
|
|
5
|
+
// The audit records only that a read happened (rut + count) — NEVER petition contents
|
|
6
|
+
// (materia, estados, the SII messages are PII/business data, ADR-006 / ADR-020).
|
|
7
|
+
import { withSession } from '../auth/index.js';
|
|
8
|
+
import { recordAudit } from '../audit/index.js';
|
|
9
|
+
import { Rut } from '../rut/index.js';
|
|
10
|
+
import { fetchPeticiones } from '../portal/peticiones.js';
|
|
11
|
+
const sessionOpts = (rut) => (rut !== undefined ? { rut } : {});
|
|
12
|
+
function audit(runtime, result, extra) {
|
|
13
|
+
recordAudit(runtime, { action: 'peticiones_list', result, ...extra });
|
|
14
|
+
}
|
|
15
|
+
export async function peticionesList(runtime, args = {}) {
|
|
16
|
+
const start = runtime.clock.now().getTime();
|
|
17
|
+
try {
|
|
18
|
+
const { res, sessionRut } = await withSession(runtime, async (session, ctx) => ({
|
|
19
|
+
res: await fetchPeticiones(session, { rut: Rut.parse(ctx.operatingRut) }),
|
|
20
|
+
sessionRut: ctx.sessionRut,
|
|
21
|
+
}), sessionOpts(args.rut));
|
|
22
|
+
audit(runtime, 'ok', {
|
|
23
|
+
rut: res.rut,
|
|
24
|
+
count: res.peticiones.length,
|
|
25
|
+
durationMs: runtime.clock.now().getTime() - start,
|
|
26
|
+
...(res.rut !== sessionRut ? { rutAuth: sessionRut } : {}),
|
|
27
|
+
});
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
audit(runtime, 'failed', {});
|
|
32
|
+
throw e;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=peticiones.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peticiones.js","sourceRoot":"","sources":["../../src/tasks/peticiones.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,2FAA2F;AAC3F,uFAAuF;AACvF,uFAAuF;AACvF,sFAAsF;AACtF,iFAAiF;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAW1D,MAAM,WAAW,GAAG,CAAC,GAAY,EAAoB,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE3F,SAAS,KAAK,CAAC,OAAgB,EAAE,MAAc,EAAE,KAA0B;IACzE,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAgB,EAChB,OAAuB,EAAE;IAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,MAAM,WAAW,CAC3C,OAAO,EACP,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YACvB,GAAG,EAAE,MAAM,eAAe,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACzE,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC,EACF,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CACtB,CAAC;QACF,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACnB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,KAAK,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM;YAC5B,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK;YACjD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@albertomarturelo/sii-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Shared SII domain core: rut, config (prod hostnames), contracts, tasks, seams. A Node library; external side-effects (portal, secrets, audit, clock) are injected via seams (ADR-003).",
|
|
6
6
|
"license": "MIT",
|