@albertomarturelo/sii-core 0.6.0 → 0.8.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 +124 -0
- package/dist/adapters/fake/index.d.ts +18 -1
- package/dist/adapters/fake/index.d.ts.map +1 -1
- package/dist/adapters/fake/index.js +20 -0
- package/dist/adapters/fake/index.js.map +1 -1
- package/dist/adapters/node/index.d.ts +10 -1
- package/dist/adapters/node/index.d.ts.map +1 -1
- package/dist/adapters/node/index.js +17 -1
- package/dist/adapters/node/index.js.map +1 -1
- package/dist/adapters/node/portal.d.ts.map +1 -1
- package/dist/adapters/node/portal.js +25 -0
- package/dist/adapters/node/portal.js.map +1 -1
- package/dist/config/config.d.ts +10 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +10 -0
- package/dist/config/config.js.map +1 -1
- package/dist/errors/errors.d.ts +5 -1
- package/dist/errors/errors.d.ts.map +1 -1
- package/dist/errors/errors.js +5 -1
- package/dist/errors/errors.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +3 -2
- package/dist/node.js.map +1 -1
- package/dist/portal/dte-mipyme.d.ts +228 -0
- package/dist/portal/dte-mipyme.d.ts.map +1 -0
- package/dist/portal/dte-mipyme.js +890 -0
- package/dist/portal/dte-mipyme.js.map +1 -0
- package/dist/portal/f29-pdf.d.ts +35 -0
- package/dist/portal/f29-pdf.d.ts.map +1 -0
- package/dist/portal/f29-pdf.js +83 -0
- package/dist/portal/f29-pdf.js.map +1 -0
- package/dist/seams/index.d.ts +38 -0
- package/dist/seams/index.d.ts.map +1 -1
- package/dist/tasks/dte.d.ts +124 -0
- package/dist/tasks/dte.d.ts.map +1 -1
- package/dist/tasks/dte.js +471 -5
- package/dist/tasks/dte.js.map +1 -1
- package/dist/tasks/f29.d.ts +49 -0
- package/dist/tasks/f29.d.ts.map +1 -1
- package/dist/tasks/f29.js +107 -0
- package/dist/tasks/f29.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,130 @@ 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.8.0 — 2026-09-09
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **The Portal MIPYME DTE surface — borradores, preview and emitted documents (#90, #91,
|
|
12
|
+
ADR-023).** SII's own FREE facturación portal (`Portal001` CGIs), reached with the Clave
|
|
13
|
+
alone. New tasks: `dteEmpresas`, `dteBorradorList`, `dteBorradorSave`,
|
|
14
|
+
`dteBorradorDelete`, `dtePreviewPdf`, `dteEmitidos`, `dtePdf`, plus `TIPOS_DTE` and
|
|
15
|
+
`MAX_ITEMS`. DTE **33** and **34** wired; more types arrive as a `--tipo` parameter, not
|
|
16
|
+
as new verbs (ADR-024).
|
|
17
|
+
- **BORRADORES ONLY — emission is deliberately out of scope (ADR-023).** Signing on this
|
|
18
|
+
portal is SERVER-SIDE (`mipeGenXMLFirma.cgi`, no certificado digital required), so a
|
|
19
|
+
Clave alone would be enough to issue a legally binding factura. `mipeGenXMLFirma.cgi` is
|
|
20
|
+
never called from this codebase, and a test asserts its absence from the compiled output.
|
|
21
|
+
Everything needed to *prepare* a document is automated; the one irreversible click stays
|
|
22
|
+
with a human in SII's own UI, one navigation away from any borrador this writes.
|
|
23
|
+
- **A third authorization mode: EMPRESA-KEYED (ADR-023).** Besides body-RUT (RCV) and
|
|
24
|
+
session-keyed (F22/F29/BTE), the MIPYME portal keeps its OWN authorized-empresa list
|
|
25
|
+
(`mipeSelEmpresa.cgi` — the empresas that registered this user as *usuario autorizado*),
|
|
26
|
+
which is neither the operate pointer's operable set nor the session principal. `empresa`
|
|
27
|
+
is validated against that LIVE list and re-selected before every operation, since the
|
|
28
|
+
choice scopes the form, the borrador CRUD and the listing. An unknown RUT fails with the
|
|
29
|
+
available list.
|
|
30
|
+
- **Single-empresa accounts resolve instead of failing (#95).** Such an account gets no
|
|
31
|
+
chooser at all — SII answers a JS launcher — so the empresa is read off the form's DTE
|
|
32
|
+
header box and nothing is POSTed. `parseChooser` returns a `launcher` / `chooser` /
|
|
33
|
+
`sinAutorizacion` shape rather than assuming a `<select>`.
|
|
34
|
+
- **SII's own validator judges the document, in-page, before anything is POSTed
|
|
35
|
+
(ADR-023).** The factura form ships `validaFacEx()`; it is run via `evaluate` with
|
|
36
|
+
`window.alert` captured, and its Spanish refusals surface VERBATIM (ADR-004). It produces
|
|
37
|
+
exactly the refusals the server would bounce, so an invalid document never costs a round
|
|
38
|
+
trip — posting past it was observed to redirect back to the form with the same alert.
|
|
39
|
+
- **A draft is a write, but not a destructive one (ADR-023).** `dteBorradorSave` is
|
|
40
|
+
reversible and legally inert, so it carries no double-entry confirm and no
|
|
41
|
+
`destructiveHint` — that ceremony (ADR-017) is for the irreversible step. The DELETE is
|
|
42
|
+
gated instead.
|
|
43
|
+
- **The preview PDF and the emitted document follow the ADR-022 descriptor contract.**
|
|
44
|
+
`mipePreView.cgi` (stamped "VISTA PREVIA · DOCUMENTO NO VALIDO", no folio) and
|
|
45
|
+
`mipeDisplayPDF.cgi?DHDR_CODIGO=` are fetched with `requestBinary`, written through
|
|
46
|
+
`FileSink`, and the task returns `{path, archivo, bytes, …}` — never the bytes. The local
|
|
47
|
+
filename is composed here: SII's `Content-Disposition` carries only the RUT.
|
|
48
|
+
- **`PortalSession.requestForm`** now backs the borrador CRUD (`mipeGrabaBorrador` /
|
|
49
|
+
`mipeEliminaBorrador`, `ES_BORR=TRUE`); the borradores listing is a bare JSON array on
|
|
50
|
+
www4 with no SDI envelope, and the emitted listing is ISO-8859-1 HTML whose rows are
|
|
51
|
+
MALFORMED — SII never closes the receptor cell — so it is parsed by anchor + `<td` split,
|
|
52
|
+
never with a strict parser.
|
|
53
|
+
- **PII posture.** Curated rows, **NO `raw`** anywhere on this surface (a row is counterparty
|
|
54
|
+
identity, ADR-004). The audit records the empresa RUT, the borrador id or folio and row
|
|
55
|
+
counts — never the counterparty, the amounts or free text.
|
|
56
|
+
|
|
57
|
+
### Fixed
|
|
58
|
+
|
|
59
|
+
- **`parseEmitidas` no longer drops blank cells before mapping the row by index (#92).** A
|
|
60
|
+
`PRV` (vista previa) document has no folio, so its folio cell comes back blank; filtering
|
|
61
|
+
it slid every later column one place left — fecha into folio
|
|
62
|
+
(`Number('2026-09-08')` ⇒ `NaN` ⇒ `null` once serialised), monto into fecha, estado into
|
|
63
|
+
monto — producing a plausible row with the values under the wrong names and raising
|
|
64
|
+
nothing. Cells now map positionally, a blank one reads as `null`, and a row whose cell
|
|
65
|
+
count is not EXACTLY the observed seven raises "scraper roto" (exact rather than a
|
|
66
|
+
minimum: a blank cell *before* the receptor RUT shifts the row just as badly). `cellText`
|
|
67
|
+
folds ` ` into whitespace so a spacer-only cell is a blank cell. Shipped unreleased,
|
|
68
|
+
so no published version carried the mislabelling.
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
|
|
72
|
+
- **Surfaces are named by SII artifact (ADR-024).** The MIPYME work landed under a
|
|
73
|
+
`factura` verb and was folded into `dte` before release: a factura is DTE 33, and the
|
|
74
|
+
artifact already had a verb. `portal/factura.ts` → `portal/dte-mipyme.ts`,
|
|
75
|
+
`tasks/factura.ts` → `tasks/dte.ts`. Nothing published ever exposed `factura`, so this
|
|
76
|
+
breaks no consumer. `ROADMAP.md` § "Where a new surface goes" is now the placement table
|
|
77
|
+
a new verb is checked against.
|
|
78
|
+
|
|
79
|
+
## 0.7.0 — 2026-08-31
|
|
80
|
+
|
|
81
|
+
### Breaking
|
|
82
|
+
|
|
83
|
+
- **`PortalSession` gains `requestBinary`.** A consumer that implements the
|
|
84
|
+
`PortalSession` interface itself (rather than using the Node default driver) must add
|
|
85
|
+
the method. The Node adapter, the fake session and both surfaces already do. Type-level
|
|
86
|
+
only — no behaviour changed for consumers using `createNodeRuntime`.
|
|
87
|
+
|
|
88
|
+
### Added
|
|
89
|
+
|
|
90
|
+
- **`f29Pdf` — download the filed F29 as a local PDF (#80, ADR-022).** New task
|
|
91
|
+
`f29Pdf(runtime, { periodo, tipo?, directorio, folio? })` returning `F29PdfResult`. Two
|
|
92
|
+
artifacts, both plain authenticated GET servlets under `www4.sii.cl/rfiInternet/`:
|
|
93
|
+
`compacto` (the form as SII prints it — and **the payment receipt** when the período was
|
|
94
|
+
paid: its stamp reads "RECIBIDA Y PAGADA POR INTERNET", with banco / medio de pago /
|
|
95
|
+
fecha), `solemne` (the Certificado de Declaración), or `ambos`. The `codInt` the servlet
|
|
96
|
+
demands is the `codigo` field `getDeclaracionConEstados` already returned, so one
|
|
97
|
+
existing JSON call yields both the folio and its authorization token — **no GWT-RPC and
|
|
98
|
+
no SPA warm-up** (unlike Fase 2's `formCompleto`, which bounces a live session to the
|
|
99
|
+
login wall). **Session-keyed** (ADR-005): no `--rut`; a representing operate pointer is
|
|
100
|
+
rejected up front.
|
|
101
|
+
- **The document output contract (ADR-022, amends ADR-012).** The task writes the bytes to
|
|
102
|
+
disk and returns a DESCRIPTOR — `{tipo, path, archivo, bytes, contentType}` — never the
|
|
103
|
+
bytes and never base64: these PDFs are PII-dense (razón social, domicilio, full financial
|
|
104
|
+
position) and their contents must stay out of the LLM's context (ADR-006). Success is
|
|
105
|
+
decided by `content-type` + the `%PDF-` magic, **never by HTTP status** — SII answers 200
|
|
106
|
+
for its own error page AND for the login-wall bounce. A per-artifact refusal is captured
|
|
107
|
+
verbatim in `documentosConError` with `incompleto: true` and does not discard a sibling
|
|
108
|
+
already written (CONVENTIONS' fan-out rule); only an all-artifacts failure throws. The
|
|
109
|
+
audit receipt records rut / período / folio / tipos — not the destination path, not the
|
|
110
|
+
contents.
|
|
111
|
+
- **`PortalSession.requestBinary` seam** — an authenticated request whose body is taken
|
|
112
|
+
UNDECODED (`Uint8Array`, keeping the pure barrel Node-free). Text decoding would corrupt
|
|
113
|
+
a PDF irreversibly, so this is a distinct primitive rather than a flag on `requestText`.
|
|
114
|
+
Login-wall detection is URL-based, as in `requestForm`/`requestText`.
|
|
115
|
+
- **`FileSink` seam + `NodeFileSink`** — writes a produced document (`mkdir -p`, mode
|
|
116
|
+
**0600**, leading `~` expanded). `Runtime.files` is **OPTIONAL** (like `secrets`), so an
|
|
117
|
+
embedded consumer injecting its own seams (ADR-016) is not forced to supply one; a task
|
|
118
|
+
that needs it and finds it missing raises an actionable error. `createNodeRuntime` always
|
|
119
|
+
wires the default.
|
|
120
|
+
- **`DOCUMENTOS_DIR`** exported from the `./node` subpath (`~/.sii/documentos`) — the
|
|
121
|
+
destination is a required task argument, since the pure core cannot know `$HOME`, and each
|
|
122
|
+
surface applies the default.
|
|
123
|
+
- **`testing.InMemoryFileSink`** — records what would have been written, so tests touch no
|
|
124
|
+
filesystem.
|
|
125
|
+
- Surfaced as `sii f29 pdf <periodo> [--tipo compacto|solemne|ambos] [--out <dir>]
|
|
126
|
+
[--folio <n>]` and the MCP `f29_pdf` tool (`readOnly`), whose description states that the
|
|
127
|
+
file holds tax PII and that its contents are deliberately not returned. The surface tipo
|
|
128
|
+
list has one owner (`F29_PDF_TIPO_ARGS`) so the CLI option list and the MCP zod enum
|
|
129
|
+
cannot drift.
|
|
130
|
+
|
|
7
131
|
## 0.6.0 — 2026-07-04
|
|
8
132
|
|
|
9
133
|
### Added
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuditEntry, AuditSink, Clock, CredentialLoginOptions, FormRequest, InteractiveLoginOptions, JsonRequest, KeyValueStore, PortalDriver, PortalSession, PublicRequest, PublicResponse, TextRequest } from '../../seams/index.js';
|
|
1
|
+
import type { AuditEntry, AuditSink, BinaryRequest, BinaryResponse, Clock, CredentialLoginOptions, FormRequest, InteractiveLoginOptions, JsonRequest, FileSink, 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
|
|
@@ -32,6 +32,10 @@ export interface FakeSessionScript {
|
|
|
32
32
|
/** Result for `requestText(url, options)` — an authenticated raw-body request (GWT-RPC
|
|
33
33
|
* reads, ADR-020). Return the decoded body string (status 200) or a full PublicResponse. */
|
|
34
34
|
requestText?: (url: string, options?: TextRequest) => PublicResponse | string;
|
|
35
|
+
/** Result for `requestBinary(url, options)` — an authenticated download (F29 PDFs,
|
|
36
|
+
* ADR-022). Return the raw bytes (content-type defaults to `application/pdf`) or a
|
|
37
|
+
* full BinaryResponse to script an error page / odd content-type. */
|
|
38
|
+
requestBinary?: (url: string, options?: BinaryRequest) => BinaryResponse | Uint8Array;
|
|
35
39
|
/** Cookie name → value map for `cookie(url, name)`. */
|
|
36
40
|
cookies?: Record<string, string>;
|
|
37
41
|
storageState?: unknown;
|
|
@@ -63,6 +67,12 @@ export declare class FakePortalSession implements PortalSession {
|
|
|
63
67
|
options?: TextRequest;
|
|
64
68
|
} | null;
|
|
65
69
|
requestText(url: string, options?: TextRequest): Promise<PublicResponse>;
|
|
70
|
+
/** The last requestBinary call — lets a test assert the download URL sent to SII. */
|
|
71
|
+
lastBinaryRequest: {
|
|
72
|
+
url: string;
|
|
73
|
+
options?: BinaryRequest;
|
|
74
|
+
} | null;
|
|
75
|
+
requestBinary(url: string, options?: BinaryRequest): Promise<BinaryResponse>;
|
|
66
76
|
cookie(_url: string, name: string): Promise<string | null>;
|
|
67
77
|
storageState(): Promise<unknown>;
|
|
68
78
|
close(): Promise<void>;
|
|
@@ -104,4 +114,11 @@ export declare class FakePortalDriver implements PortalDriver {
|
|
|
104
114
|
} | null;
|
|
105
115
|
requestPublic(url: string, options?: PublicRequest): Promise<PublicResponse>;
|
|
106
116
|
}
|
|
117
|
+
/** In-memory FileSink: records what would have been written, touching no filesystem.
|
|
118
|
+
* `files` maps the absolute path to the bytes, so a test asserts both destination and
|
|
119
|
+
* payload (ADR-022). */
|
|
120
|
+
export declare class InMemoryFileSink implements FileSink {
|
|
121
|
+
readonly files: Map<string, Uint8Array<ArrayBufferLike>>;
|
|
122
|
+
write(dir: string, name: string, bytes: Uint8Array): Promise<string>;
|
|
123
|
+
}
|
|
107
124
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/fake/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/fake/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,15 @@ export class FakePortalSession {
|
|
|
76
76
|
return { status: 200, body: '' };
|
|
77
77
|
return typeof r === 'string' ? { status: 200, body: r } : r;
|
|
78
78
|
}
|
|
79
|
+
/** The last requestBinary call — lets a test assert the download URL sent to SII. */
|
|
80
|
+
lastBinaryRequest = null;
|
|
81
|
+
async requestBinary(url, options) {
|
|
82
|
+
this.lastBinaryRequest = options ? { url, options } : { url };
|
|
83
|
+
const r = this.script.requestBinary?.(url, options);
|
|
84
|
+
if (r === undefined)
|
|
85
|
+
return { status: 200, contentType: null, bytes: new Uint8Array() };
|
|
86
|
+
return r instanceof Uint8Array ? { status: 200, contentType: 'application/pdf', bytes: r } : r;
|
|
87
|
+
}
|
|
79
88
|
async cookie(_url, name) {
|
|
80
89
|
return this.script.cookies?.[name] ?? null;
|
|
81
90
|
}
|
|
@@ -137,4 +146,15 @@ export class FakePortalDriver {
|
|
|
137
146
|
return typeof r === 'string' ? { status: 200, body: r } : r;
|
|
138
147
|
}
|
|
139
148
|
}
|
|
149
|
+
/** In-memory FileSink: records what would have been written, touching no filesystem.
|
|
150
|
+
* `files` maps the absolute path to the bytes, so a test asserts both destination and
|
|
151
|
+
* payload (ADR-022). */
|
|
152
|
+
export class InMemoryFileSink {
|
|
153
|
+
files = new Map();
|
|
154
|
+
async write(dir, name, bytes) {
|
|
155
|
+
const path = `${dir.replace(/\/+$/, '')}/${name}`;
|
|
156
|
+
this.files.set(path, bytes);
|
|
157
|
+
return path;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
140
160
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,4 +1,4 @@
|
|
|
1
|
-
import type { AuditEntry, AuditSink, Clock, KeyValueStore } from '../../seams/index.js';
|
|
1
|
+
import type { AuditEntry, AuditSink, Clock, FileSink, KeyValueStore } from '../../seams/index.js';
|
|
2
2
|
export declare const SII_DIR: string;
|
|
3
3
|
export declare class SystemClock implements Clock {
|
|
4
4
|
now(): Date;
|
|
@@ -19,4 +19,13 @@ export declare class FileAuditSink implements AuditSink {
|
|
|
19
19
|
constructor(path?: string);
|
|
20
20
|
record(entry: AuditEntry): void;
|
|
21
21
|
}
|
|
22
|
+
/** Default document destination: ~/.sii/documentos (ADR-022). A downloaded artifact is a
|
|
23
|
+
* tax document, so it lands under the tool's own dir unless the user names another. */
|
|
24
|
+
export declare const DOCUMENTOS_DIR: string;
|
|
25
|
+
/** fs-backed FileSink: writes a produced document, creating the directory. Files are 0600
|
|
26
|
+
* — these are PII-dense tax documents (ADR-006 / ADR-022). A leading `~` is expanded so a
|
|
27
|
+
* user- or model-supplied `~/Downloads` works as typed. */
|
|
28
|
+
export declare class NodeFileSink implements FileSink {
|
|
29
|
+
write(dir: string, name: string, bytes: Uint8Array): Promise<string>;
|
|
30
|
+
}
|
|
22
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElG,eAAO,MAAM,OAAO,QAA0B,CAAC;AAE/C,qBAAa,WAAY,YAAW,KAAK;IACvC,GAAG,IAAI,IAAI;IAGX,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjC;AAED,oFAAoF;AACpF,qBAAa,iBAAkB,YAAW,aAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,MAAgB;IACtD,OAAO,CAAC,OAAO;IAGT,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAQvC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOzC;AAED,gFAAgF;AAChF,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,GAAE,MAAqC;IACxE,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;CAQhC;AAED;wFACwF;AACxF,eAAO,MAAM,cAAc,QAA8B,CAAC;AAE1D;;4DAE4D;AAC5D,qBAAa,YAAa,YAAW,QAAQ;IACrC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ3E"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Playwright PortalDriver lands with the auth increment (ADR-008).
|
|
3
3
|
import { promises as fsp, appendFileSync, mkdirSync } from 'node:fs';
|
|
4
4
|
import { homedir } from 'node:os';
|
|
5
|
-
import { dirname, join } from 'node:path';
|
|
5
|
+
import { dirname, join, resolve } from 'node:path';
|
|
6
6
|
export const SII_DIR = join(homedir(), '.sii');
|
|
7
7
|
export class SystemClock {
|
|
8
8
|
now() {
|
|
@@ -62,4 +62,20 @@ export class FileAuditSink {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
+
/** Default document destination: ~/.sii/documentos (ADR-022). A downloaded artifact is a
|
|
66
|
+
* tax document, so it lands under the tool's own dir unless the user names another. */
|
|
67
|
+
export const DOCUMENTOS_DIR = join(SII_DIR, 'documentos');
|
|
68
|
+
/** fs-backed FileSink: writes a produced document, creating the directory. Files are 0600
|
|
69
|
+
* — these are PII-dense tax documents (ADR-006 / ADR-022). A leading `~` is expanded so a
|
|
70
|
+
* user- or model-supplied `~/Downloads` works as typed. */
|
|
71
|
+
export class NodeFileSink {
|
|
72
|
+
async write(dir, name, bytes) {
|
|
73
|
+
const expanded = dir.startsWith('~') ? join(homedir(), dir.slice(1)) : dir;
|
|
74
|
+
const target = resolve(expanded);
|
|
75
|
+
await fsp.mkdir(target, { recursive: true, mode: 0o700 });
|
|
76
|
+
const path = join(target, name);
|
|
77
|
+
await fsp.writeFile(path, bytes, { mode: 0o600 });
|
|
78
|
+
return path;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
65
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/node/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mEAAmE;AACnE,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/node/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,
|
|
1
|
+
{"version":3,"file":"portal.d.ts","sourceRoot":"","sources":["../../../src/adapters/node/portal.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAGV,sBAAsB,EAEtB,uBAAuB,EAEvB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EAEf,MAAM,sBAAsB,CAAC;AAyK9B,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"}
|
|
@@ -118,6 +118,31 @@ class PlaywrightPortalSession {
|
|
|
118
118
|
const text = new TextDecoder(charsetOf(response.headers()['content-type'])).decode(buffer);
|
|
119
119
|
return { status: response.status(), body: text };
|
|
120
120
|
}
|
|
121
|
+
async requestBinary(url, options = {}) {
|
|
122
|
+
// Authenticated download from the browser's APIRequestContext (the session cookies
|
|
123
|
+
// ride along) — the primitive behind the F29 PDF servlets (ADR-022). The body is taken
|
|
124
|
+
// UNDECODED: running a PDF through TextDecoder corrupts it irreversibly.
|
|
125
|
+
//
|
|
126
|
+
// SII answers HTTP 200 on BOTH failure modes here (observed 2026-08-31): a wrong
|
|
127
|
+
// `codInt` returns an HTML error page, and a dead cookie jar follows a redirect to the
|
|
128
|
+
// login wall. So status is never a success signal — the login wall is caught URL-based
|
|
129
|
+
// (as in requestForm/requestText) and the caller decides the rest from contentType +
|
|
130
|
+
// magic bytes.
|
|
131
|
+
const response = await this.context.request.fetch(url, {
|
|
132
|
+
method: options.method ?? 'GET',
|
|
133
|
+
...(options.headers ? { headers: options.headers } : {}),
|
|
134
|
+
...(options.body !== undefined ? { data: options.body } : {}),
|
|
135
|
+
});
|
|
136
|
+
const wall = formLoginWallError(response.url());
|
|
137
|
+
if (wall)
|
|
138
|
+
throw wall;
|
|
139
|
+
const buffer = await response.body();
|
|
140
|
+
return {
|
|
141
|
+
status: response.status(),
|
|
142
|
+
contentType: response.headers()['content-type'] ?? null,
|
|
143
|
+
bytes: new Uint8Array(buffer),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
121
146
|
async cookie(url, name) {
|
|
122
147
|
const cookies = await this.context.cookies(url);
|
|
123
148
|
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,16 @@ 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
|
+
/** MIPYME — the SII's FREE facturación electrónica portal (`Portal001` CGIs). The
|
|
19
|
+
* factura form (`mipeGenFacEx.cgi`), the borrador CRUD (`mipeGrabaBorrador.cgi` /
|
|
20
|
+
* `mipeEliminaBorrador.cgi`), the preview (`mipeDisplayPreView.cgi`) and the empresa
|
|
21
|
+
* chooser (`mipeSelEmpresa.cgi`) all live here. The `.sii.cl` session cookie
|
|
22
|
+
* SSO-carries (observed 2026-09-08). EMPRESA-KEYED: the working empresa is chosen by
|
|
23
|
+
* POSTing `mipeSelEmpresa.cgi`, not by the operate pointer. (#89 / ADR-023) */
|
|
24
|
+
readonly mipeCgi: "https://www1.sii.cl/cgi-bin/Portal001";
|
|
25
|
+
/** Static assets of the same MIPYME portal (`PreViewFrame.html`, the JS). Separate from
|
|
26
|
+
* `mipeCgi` because it is NOT under `/cgi-bin`. (#89 / ADR-023) */
|
|
27
|
+
readonly mipeStatic: "https://www1.sii.cl/Portal001";
|
|
18
28
|
/** SISPAD — peticiones administrativas. A GWT-RPC app: `text/x-gwt-rpc` POST to
|
|
19
29
|
* `/sispadinternet/peticion` returns a `//OK[…]` object graph; reached via
|
|
20
30
|
* `PortalSession.requestText` (a cold authenticated POST), NOT the SDI-JSON facade.
|
|
@@ -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;;;;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"}
|
|
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;;;;;oFAKgF;;IAEhF;wEACoE;;IAEpE;;;;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,16 @@ 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
|
+
/** MIPYME — the SII's FREE facturación electrónica portal (`Portal001` CGIs). The
|
|
22
|
+
* factura form (`mipeGenFacEx.cgi`), the borrador CRUD (`mipeGrabaBorrador.cgi` /
|
|
23
|
+
* `mipeEliminaBorrador.cgi`), the preview (`mipeDisplayPreView.cgi`) and the empresa
|
|
24
|
+
* chooser (`mipeSelEmpresa.cgi`) all live here. The `.sii.cl` session cookie
|
|
25
|
+
* SSO-carries (observed 2026-09-08). EMPRESA-KEYED: the working empresa is chosen by
|
|
26
|
+
* POSTing `mipeSelEmpresa.cgi`, not by the operate pointer. (#89 / ADR-023) */
|
|
27
|
+
mipeCgi: 'https://www1.sii.cl/cgi-bin/Portal001',
|
|
28
|
+
/** Static assets of the same MIPYME portal (`PreViewFrame.html`, the JS). Separate from
|
|
29
|
+
* `mipeCgi` because it is NOT under `/cgi-bin`. (#89 / ADR-023) */
|
|
30
|
+
mipeStatic: 'https://www1.sii.cl/Portal001',
|
|
21
31
|
/** SISPAD — peticiones administrativas. A GWT-RPC app: `text/x-gwt-rpc` POST to
|
|
22
32
|
* `/sispadinternet/peticion` returns a `//OK[…]` object graph; reached via
|
|
23
33
|
* `PortalSession.requestText` (a cold authenticated POST), NOT the SDI-JSON facade.
|
|
@@ -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;;;;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"}
|
|
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;;;;;oFAKgF;IAChF,OAAO,EAAE,uCAAuC;IAChD;wEACoE;IACpE,UAAU,EAAE,+BAA+B;IAC3C;;;;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
|
@@ -58,7 +58,11 @@ export declare class PeticionesError extends SiiError {
|
|
|
58
58
|
* the network/CGI failed, a non-200 came back, or the portal HTML changed shape
|
|
59
59
|
* ("scraper roto"). A RUT that is simply not a DTE emisor is NOT this error: it is a
|
|
60
60
|
* clean negative result (`autorizado: false` + SII's verbatim message). Fail loud,
|
|
61
|
-
* never retry (ADR-004 / ADR-014).
|
|
61
|
+
* never retry (ADR-004 / ADR-014).
|
|
62
|
+
* Also the MIPYME portal surface (ADR-023 / ADR-024): SII rejected a borrador operation, its
|
|
63
|
+
* own client-side validator refused the document (surfaced VERBATIM), or the portal form
|
|
64
|
+
* changed shape. Empresa-keyed. Never retried after a SII error; a `LOGIN_HOST` bounce is
|
|
65
|
+
* `SessionExpiredError`, not this. */
|
|
62
66
|
export declare class DteError extends SiiError {
|
|
63
67
|
}
|
|
64
68
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -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;;;;;gFAKgF;AAChF,qBAAa,eAAgB,SAAQ,QAAQ;CAAG;AAEhD
|
|
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;;;;;;;;uCAQuC;AACvC,qBAAa,QAAS,SAAQ,QAAQ;CAAG"}
|
package/dist/errors/errors.js
CHANGED
|
@@ -64,7 +64,11 @@ export class PeticionesError extends SiiError {
|
|
|
64
64
|
* the network/CGI failed, a non-200 came back, or the portal HTML changed shape
|
|
65
65
|
* ("scraper roto"). A RUT that is simply not a DTE emisor is NOT this error: it is a
|
|
66
66
|
* clean negative result (`autorizado: false` + SII's verbatim message). Fail loud,
|
|
67
|
-
* never retry (ADR-004 / ADR-014).
|
|
67
|
+
* never retry (ADR-004 / ADR-014).
|
|
68
|
+
* Also the MIPYME portal surface (ADR-023 / ADR-024): SII rejected a borrador operation, its
|
|
69
|
+
* own client-side validator refused the document (surfaced VERBATIM), or the portal form
|
|
70
|
+
* changed shape. Empresa-keyed. Never retried after a SII error; a `LOGIN_HOST` bounce is
|
|
71
|
+
* `SessionExpiredError`, not this. */
|
|
68
72
|
export class DteError extends SiiError {
|
|
69
73
|
}
|
|
70
74
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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;;;;;;;;uCAQuC;AACvC,MAAM,OAAO,QAAS,SAAQ,QAAQ;CAAG"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,11 +8,11 @@ export { rcvSummary, rcvList, rcvListAll } from './tasks/rcv.js';
|
|
|
8
8
|
export type { RcvResumen, RcvResumenRow, RcvDetalle, RcvDetalleDoc, RcvDetalleAll, RcvDetalleAllDoc, RcvSide, } from './tasks/rcv.js';
|
|
9
9
|
export { f22Status, f22Overview, f22Observaciones, f22Historial } from './tasks/f22.js';
|
|
10
10
|
export type { F22Estado, F22Declaraciones, F22Overview, F22Observaciones, F22Historial, F22Grupos, DeclaracionF22, CodigoF22, EventoF22, ObservacionF22, } from './tasks/f22.js';
|
|
11
|
-
export { f29Formulario, f29Overview, f29Status, F29_GRUPO_LABELS } from './tasks/f29.js';
|
|
12
|
-
export type { F29Formulario, F29Overview, F29OverviewArgs, MesF29, LineaF29, F29Grupo, F29Estado, F29Propuesta, CodigoF29, DeclaracionEstadoF29, } from './tasks/f29.js';
|
|
13
|
-
export { dteAuthorized } from './tasks/dte.js';
|
|
14
|
-
export type { DteAutorizados, DteAutorizado } from './tasks/dte.js';
|
|
11
|
+
export { f29Formulario, f29Overview, f29Pdf, f29Status, F29_GRUPO_LABELS, F29_PDF_TIPOS, F29_PDF_TIPO_ARGS, } from './tasks/f29.js';
|
|
12
|
+
export type { F29Formulario, F29Overview, F29OverviewArgs, MesF29, LineaF29, F29Grupo, F29Estado, F29Propuesta, CodigoF29, DeclaracionEstadoF29, DocumentoF29, F29PdfArgs, F29PdfResult, F29PdfTipo, F29PdfTipoArg, } from './tasks/f29.js';
|
|
15
13
|
export { bteList, bteEmitPreview, bteEmit } from './tasks/bte.js';
|
|
14
|
+
export { dteAuthorized, dteEmpresas, dteBorradorList, dteBorradorSave, dteBorradorDelete, dtePreviewPdf, dteEmitidos, dtePdf, TIPOS_DTE, MAX_ITEMS, } from './tasks/dte.js';
|
|
15
|
+
export type { DteAutorizados, DteAutorizado, DteBorradorArgs, DteBorradorRow, DteBorradorSaved, DteEmpresa, DteItem, DtePreviewDoc, DteEmitido, DteEmitidoDoc, DteEmitidosFiltro, EstadoEmitido, DteSelectAviso, DteTotales, FormaPago, TipoDte, } from './tasks/dte.js';
|
|
16
16
|
export type { BteMensual, BteBoleta, BteTotales, BteSide, BteEmitArgs, BteEmitResult, BteEmitida, BtePreview, BteRetiene, BteLineaEmision, } from './tasks/bte.js';
|
|
17
17
|
export { peticionesList } from './tasks/peticiones.js';
|
|
18
18
|
export type { PeticionesResult, Peticion, EstadoPeticion } from './tasks/peticiones.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,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjE,YAAY,EACV,UAAU,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -10,9 +10,9 @@ export { operate, operateSelf, operatingStatus, listOperable } from './tasks/ope
|
|
|
10
10
|
export { describeOperating, formatOperableEntry } from './identity/index.js';
|
|
11
11
|
export { rcvSummary, rcvList, rcvListAll } from './tasks/rcv.js';
|
|
12
12
|
export { f22Status, f22Overview, f22Observaciones, f22Historial } from './tasks/f22.js';
|
|
13
|
-
export { f29Formulario, f29Overview, f29Status, F29_GRUPO_LABELS } from './tasks/f29.js';
|
|
14
|
-
export { dteAuthorized } from './tasks/dte.js';
|
|
13
|
+
export { f29Formulario, f29Overview, f29Pdf, f29Status, F29_GRUPO_LABELS, F29_PDF_TIPOS, F29_PDF_TIPO_ARGS, } from './tasks/f29.js';
|
|
15
14
|
export { bteList, bteEmitPreview, bteEmit } from './tasks/bte.js';
|
|
15
|
+
export { dteAuthorized, dteEmpresas, dteBorradorList, dteBorradorSave, dteBorradorDelete, dtePreviewPdf, dteEmitidos, dtePdf, TIPOS_DTE, MAX_ITEMS, } from './tasks/dte.js';
|
|
16
16
|
export { peticionesList } from './tasks/peticiones.js';
|
|
17
17
|
// --- shared primitives ---
|
|
18
18
|
export { Rut } from './rut/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,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAaxF,OAAO,
|
|
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,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAaxF,OAAO,EACL,aAAa,EACb,WAAW,EACX,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAkBxB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,MAAM,EACN,SAAS,EACT,SAAS,GACV,MAAM,gBAAgB,CAAC;AA+BxB,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"}
|
package/dist/node.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Runtime } from './seams/index.js';
|
|
2
|
-
export { FileAuditSink, FileKeyValueStore, SII_DIR, SystemClock } from './adapters/node/index.js';
|
|
2
|
+
export { DOCUMENTOS_DIR, FileAuditSink, FileKeyValueStore, NodeFileSink, SII_DIR, SystemClock, } from './adapters/node/index.js';
|
|
3
3
|
export { PlaywrightPortalDriver } from './adapters/node/portal.js';
|
|
4
4
|
/** Composition root: the Node default adapters, any seam replaceable (ADR-016).
|
|
5
5
|
* e.g. `createNodeRuntime({ audit: myAuditSink })` keeps the other three defaults.
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;wFAGwF;AACxF,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,OAAO,CAAC,OAAO,CAAM,GAAG,OAAO,CAS3E"}
|
package/dist/node.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// adapters plus the composition root. Kept OFF the main barrel so importing the
|
|
3
3
|
// library's tasks/primitives never evaluates node:* or playwright — a consumer
|
|
4
4
|
// that injects its own seams (ADR-003) stays free of them entirely.
|
|
5
|
-
import { FileAuditSink, FileKeyValueStore, SystemClock } from './adapters/node/index.js';
|
|
5
|
+
import { FileAuditSink, FileKeyValueStore, NodeFileSink, SystemClock, } from './adapters/node/index.js';
|
|
6
6
|
import { PlaywrightPortalDriver } from './adapters/node/portal.js';
|
|
7
|
-
export { FileAuditSink, FileKeyValueStore, SII_DIR, SystemClock } from './adapters/node/index.js';
|
|
7
|
+
export { DOCUMENTOS_DIR, FileAuditSink, FileKeyValueStore, NodeFileSink, SII_DIR, SystemClock, } from './adapters/node/index.js';
|
|
8
8
|
export { PlaywrightPortalDriver } from './adapters/node/portal.js';
|
|
9
9
|
/** Composition root: the Node default adapters, any seam replaceable (ADR-016).
|
|
10
10
|
* e.g. `createNodeRuntime({ audit: myAuditSink })` keeps the other three defaults.
|
|
@@ -16,6 +16,7 @@ export function createNodeRuntime(overrides = {}) {
|
|
|
16
16
|
audit: new FileAuditSink(),
|
|
17
17
|
store: new FileKeyValueStore(),
|
|
18
18
|
portal: new PlaywrightPortalDriver(),
|
|
19
|
+
files: new NodeFileSink(),
|
|
19
20
|
...overrides,
|
|
20
21
|
};
|
|
21
22
|
}
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,+EAA+E;AAC/E,oEAAoE;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,+EAA+E;AAC/E,oEAAoE;AACpE,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,WAAW,GACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;wFAGwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,YAA8B,EAAE;IAChE,OAAO;QACL,KAAK,EAAE,IAAI,WAAW,EAAE;QACxB,KAAK,EAAE,IAAI,aAAa,EAAE;QAC1B,KAAK,EAAE,IAAI,iBAAiB,EAAE;QAC9B,MAAM,EAAE,IAAI,sBAAsB,EAAE;QACpC,KAAK,EAAE,IAAI,YAAY,EAAE;QACzB,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
|