@albertomarturelo/sii-mcp 0.10.0 → 0.12.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 CHANGED
@@ -9,6 +9,36 @@ Versions move in **lockstep** with `@albertomarturelo/sii-core` and
9
9
  (ADR-003), so the domain detail behind each entry lives in the
10
10
  [core changelog](../core/CHANGELOG.md).
11
11
 
12
+ ## 0.12.0 — 2026-10-18
13
+
14
+ ### Changed
15
+
16
+ - **A failed tool call's text is a JSON object (#134):** `{ "error", "type", "reason"?,
17
+ "codigo"? }`, still with `isError: true`. Before, it was the bare message. It is the CLI's
18
+ JSON error without `exitCode`, with the same stable `type`. The verbatim SII message is still
19
+ in `error`. A client that parsed the bare text must read `error` instead.
20
+
21
+ ### Fixed
22
+
23
+ - **A session SII has closed is reported as expired (#139):** `whoami` and `auth_status` with
24
+ `refresh` answer `session_expired`. Before, they failed with "DatosCntrNow ausente".
25
+
26
+ ## 0.11.0 — 2026-10-18
27
+
28
+ ### Changed
29
+
30
+ - **`auth_status` and the `sii://session` resource report the CLI's rejection latch**
31
+ (`loginBlocked`, ADR-028), so the model can tell the user that unattended logins for a RUT
32
+ are blocked after a rejected Clave. The MCP reports it and never lifts it; lifting it is a
33
+ person's act in the terminal.
34
+ - Runs on the browser-free core driver for every read (ADR-027). The MCP's own `auth_login`
35
+ still opens SII's real page in a browser, so the MCP keeps needing Chromium for login.
36
+
37
+ ### Security
38
+
39
+ - **No Clave source was added to the MCP.** The new env/stdin login tasks live in the
40
+ CLI-only subpath, and a test asserts the main barrel the MCP imports lacks them.
41
+
12
42
  ## 0.10.0 — 2026-09-12
13
43
 
14
44
  ### Added
package/README.md CHANGED
@@ -24,6 +24,15 @@ npx playwright install chromium
24
24
  Requires **Node ≥ 20**. (The `sii` CLI is handy for the first `sii auth login`;
25
25
  the login can also run through the `auth_login` tool.)
26
26
 
27
+ Two things live **only** here: the www2 session (`auth_login` with `www2`, which opens
28
+ SII's OAuth page, where reCAPTCHA runs) and the Carpeta Tributaria tools that need it
29
+ (`carpeta_instituciones`). `auth_status` also reports when the CLI's unattended login is
30
+ blocked after a rejected Clave (`loginBlocked`); the MCP shows it and never lifts it.
31
+
32
+ The MCP is **not** the way to run this unattended: no tool receives the Clave, by design.
33
+ For a bot, cron or CI, use the CLI with `--clave-env` (see the
34
+ [project README](https://github.com/albertomarturelo/sii#uso-autónomo-agentes-cron-ci)).
35
+
27
36
  ## Connect to Claude
28
37
 
29
38
  **Claude Desktop** — add to `claude_desktop_config.json` and restart the app
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAcL,KAAK,OAAO,EACb,MAAM,4BAA4B,CAAC;AA4BpC,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAuKvD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAcL,KAAK,OAAO,EACb,MAAM,4BAA4B,CAAC;AA4BpC,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CA+KvD"}
package/dist/server.js CHANGED
@@ -83,11 +83,16 @@ export function buildServer(runtime) {
83
83
  return `RUT: ${fmt(id.rut)}\nNombre: ${id.nombre ?? '—'}\nTipo: ${id.accountType}\n${www2Line(id.www2)}`;
84
84
  }
85
85
  const s = await authStatus(runtime);
86
+ // The rejection latch (ADR-028) is reported, never lifted here: unblock is CLI-only.
87
+ const blocked = s.loginBlocked
88
+ .map((b) => `\nLogin desatendido (CLI) bloqueado para ${fmt(b.rut)} desde ${b.at}` +
89
+ `${b.codigo ? ` (código ${b.codigo})` : ''}; lo levanta una persona en la terminal.`)
90
+ .join('');
86
91
  if (!s.authenticated || !s.rut)
87
- return 'No autenticado. Usa la tool auth_login.';
92
+ return `No autenticado. Usa la tool auth_login.${blocked}`;
88
93
  const ctx = await operatingStatus(runtime);
89
94
  const op = ctx && !ctx.isSelf ? `\n${describeOperating(ctx)}` : '';
90
- return `Autenticado (sesión local) como ${fmt(s.rut)}.${op}\n${www2Line(s.www2)}`;
95
+ return `Autenticado (sesión local) como ${fmt(s.rut)}.${op}\n${www2Line(s.www2)}${blocked}`;
91
96
  }));
92
97
  // logout carries NO secret (best-effort server close + local cookie wipe), so
93
98
  // ADR-006 does not bar it from MCP — switching accounts is logout→login (ADR-005).
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,kGAAkG;AAClG,gFAAgF;AAChF,kFAAkF;AAClF,2FAA2F;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,KAAK,EACL,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,IAAI,GAAG,EAChB,YAAY,EACZ,KAAK,EACL,MAAM,EACN,OAAO,EACP,WAAW,EACX,eAAe,EACf,aAAa,GAGd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,+DAA+D;AAC/D,MAAM,QAAQ,GAAG,CAAC,CAAiB,EAAU,EAAE,CAC7C,CAAC,CAAC,aAAa;IACb,CAAC,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;IACvE,CAAC,CAAC,iFAAiF,CAAC;AAExF,sFAAsF;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,YAAY,GAAG,CAAC,GAAQ,EAAE,KAAc,EAAE,EAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;CAClG,CAAC,CAAC;AAEH,mFAAmF;AACnF,sFAAsF;AACtF,MAAM,UAAU,GAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAyB;KAC1F,OAAO,CAAC;AAEX,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAEnE,2EAA2E;IAC3E,MAAM,CAAC,gBAAgB,CACrB,SAAS,EACT,eAAe,EACf;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,0EAA0E;QACvF,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,CAC5D,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,WAAW,EACX,iBAAiB,EACjB;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,oFAAoF;QACtF,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC,CACjE,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,UAAU,EACV,gBAAgB,EAChB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,4FAA4F;QAC9F,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC,CAC9D,CAAC;IAEF,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EACR,cAAc,EACd;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,oEAAoE;QACjF,QAAQ,EAAE,kBAAkB;KAC7B,EACD,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CACxC,CAAC;IAEF,kFAAkF;IAClF,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,0FAA0F;YAC1F,4GAA4G;YAC5G,8FAA8F;YAC9F,+FAA+F;QACjG,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC7C,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;KAC1D,EACD,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,GACR,CAAC,CAAC,MAAM,KAAK,uBAAuB;YAClC,CAAC,CAAC,oCAAoC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG;YACnD,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5C,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,8HAA8H;QAChI,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;QAChD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CACd,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,QAAQ,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,WAAW,KAAK,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3G,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,qFAAqF;QACrF,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY;aAC3B,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,4CAA4C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE;YACtE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,0CAA0C,CACvF;aACA,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,GAAG;YAAE,OAAO,0CAA0C,OAAO,EAAE,CAAC;QAC3F,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,OAAO,mCAAmC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;IAC9F,CAAC,CAAC,CACL,CAAC;IAEF,8EAA8E;IAC9E,mFAAmF;IACnF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EACT,kGAAkG;YAClG,+EAA+E;QACjF,0FAA0F;QAC1F,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;KAC1D,EACD,GAAG,EAAE,CACH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,SAAS;YAAE,OAAO,yBAAyB,CAAC;QACnD,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY;YACzB,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,yBAAyB,CAAC;QAC9B,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,CAAC,CAAC,CACL,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,SAAS,EACT;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,+FAA+F;YAC/F,iFAAiF;YACjF,mFAAmF;QACrF,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC1B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC5B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAC7B;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;KACrC,EACD,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CACtB,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM;gBAAE,OAAO,+CAA+C,CAAC;YACpE,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,GAAG;YAAE,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,+CAA+C,CAAC;IACxF,CAAC,CAAC,CACL,CAAC;IAEF,4EAA4E;IAC5E,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,5 +1,9 @@
1
+ /** A failed tool call's text: the CLI's JSON error without `exitCode` (a tool has none), so
2
+ * both surfaces report the same stable `type` next to SII's verbatim message (ADR-012
3
+ * amendment). */
4
+ export declare function errorText(e: unknown): string;
1
5
  /** Run a task and wrap its text as a tool result; domain errors come back as an
2
- * error result carrying SII's Spanish message verbatim (CONVENTIONS). */
6
+ * error result carrying SII's Spanish message verbatim (CONVENTIONS) and its kind. */
3
7
  export declare function toolText(fn: () => Promise<string>): Promise<{
4
8
  content: {
5
9
  type: 'text';
@@ -1 +1 @@
1
- {"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"AAMA;0EAC0E;AAC1E,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IACjE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAMD"}
1
+ {"version":3,"file":"tool-helpers.d.ts","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"AAOA;;kBAEkB;AAClB,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAG5C;AAED;uFACuF;AACvF,wBAAsB,QAAQ,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;IACjE,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAMD"}
@@ -1,15 +1,23 @@
1
1
  // Shared MCP tool helpers. Each domain module owns a `tools/<mod>.ts` exporting a
2
2
  // `register<Mod>Tools(server, runtime)`; they all reuse `toolText` so SII's Spanish
3
3
  // error messages surface verbatim and the registration stays uniform across modules.
4
+ import { classifyError } from '@albertomarturelo/sii-core';
4
5
  const messageOf = (e) => (e instanceof Error ? e.message : String(e));
6
+ /** A failed tool call's text: the CLI's JSON error without `exitCode` (a tool has none), so
7
+ * both surfaces report the same stable `type` next to SII's verbatim message (ADR-012
8
+ * amendment). */
9
+ export function errorText(e) {
10
+ const { type, ...detail } = classifyError(e);
11
+ return JSON.stringify({ error: messageOf(e), type, ...detail });
12
+ }
5
13
  /** Run a task and wrap its text as a tool result; domain errors come back as an
6
- * error result carrying SII's Spanish message verbatim (CONVENTIONS). */
14
+ * error result carrying SII's Spanish message verbatim (CONVENTIONS) and its kind. */
7
15
  export async function toolText(fn) {
8
16
  try {
9
17
  return { content: [{ type: 'text', text: await fn() }] };
10
18
  }
11
19
  catch (e) {
12
- return { content: [{ type: 'text', text: messageOf(e) }], isError: true };
20
+ return { content: [{ type: 'text', text: errorText(e) }], isError: true };
13
21
  }
14
22
  }
15
23
  //# sourceMappingURL=tool-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-helpers.js","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,oFAAoF;AACpF,qFAAqF;AAErF,MAAM,SAAS,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvF;0EAC0E;AAC1E,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAyB;IAItD,IAAI,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tool-helpers.js","sourceRoot":"","sources":["../src/tool-helpers.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,oFAAoF;AACpF,qFAAqF;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,SAAS,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvF;;kBAEkB;AAClB,MAAM,UAAU,SAAS,CAAC,CAAU;IAClC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;uFACuF;AACvF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,EAAyB;IAItD,IAAI,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@albertomarturelo/sii-mcp",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "type": "module",
5
5
  "description": "MCP (stdio) server for Chile's SII (tax authority): exposes authenticated reads — RCV, F29, F22, boletas de honorarios, DTE-authorized, peticiones administrativas — plus factura borradores on the Portal MIPYME (never emission) and document downloads, as tools/resources for Claude Desktop and Claude Code. Each tool is a thin call into @albertomarturelo/sii-core tasks (ADR-003).",
6
6
  "keywords": [
@@ -45,7 +45,7 @@
45
45
  "@modelcontextprotocol/sdk": "^1.0.0",
46
46
  "playwright": "^1.49.0",
47
47
  "zod": "^4.4.3",
48
- "@albertomarturelo/sii-core": "^0.10.0"
48
+ "@albertomarturelo/sii-core": "^0.12.0"
49
49
  },
50
50
  "scripts": {
51
51
  "build": "tsc -b"