@cyanheads/ris-austria-mcp-server 0.2.7 → 0.4.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/AGENTS.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** ris-austria-mcp-server
4
- **Version:** 0.2.7
4
+ **Version:** 0.4.0
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.11.0`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Developer Protocol
2
2
 
3
3
  **Server:** ris-austria-mcp-server
4
- **Version:** 0.2.7
4
+ **Version:** 0.4.0
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.11.0`
6
6
  **Engines:** Bun ≥1.3.0, Node ≥24.0.0
7
7
  **MCP SDK:** `@modelcontextprotocol/sdk` ^1.29.0
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![Version](https://img.shields.io/badge/Version-0.2.7-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/ris-austria-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/ris-austria-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/ris-austria-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
10
+ [![Version](https://img.shields.io/badge/Version-0.4.0-blue.svg?style=flat-square)](./CHANGELOG.md) [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![Docker](https://img.shields.io/badge/Docker-ghcr.io-2496ED?style=flat-square&logo=docker&logoColor=white)](https://github.com/users/cyanheads/packages/container/package/ris-austria-mcp-server) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.29.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/) [![npm](https://img.shields.io/npm/v/@cyanheads/ris-austria-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/ris-austria-mcp-server) [![TypeScript](https://img.shields.io/badge/TypeScript-^7.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
11
11
 
12
12
  </div>
13
13
 
@@ -96,7 +96,8 @@ Search federal law before it is enacted.
96
96
  - `stage: review_drafts` covers ministerial drafts in public review (Begutachtungsentwürfe). `in_review_on` answers what is in review on a given date
97
97
  - `stage: government_bills` covers bills adopted by the council of ministers (Regierungsvorlagen, 2004+), filtered by adoption date
98
98
  - `ministry` accepts the abbreviation ("BMF") and the server expands it to RIS's exact designation
99
- - Output includes review deadlines and council adoption dates
99
+ - Output includes review deadlines, council adoption dates, and the RIS web view
100
+ - `materials` lists the companion documents filed with the draft — Erläuterungen (the drafting reasoning the bill text omits), Textgegenüberstellung, Vorblatt/WFA, covering letter, annexes. Their filenames are opaque and per-record, so passing a `materials[].url` to `ris_get_document` is the only way to read one; `format` there picks the rendition, so the one URL reaches every text rendition the companion has. Where RIS files no HTML rendition — about one companion in eight, nearly all covering letters — the URL is the PDF, which is a download rather than a text rendition
100
101
 
101
102
  ---
102
103
 
@@ -107,6 +108,7 @@ Sectoral official gazettes and executive documents: seven collections, five of t
107
108
  - `collection`: `social_insurance` (Avsv), `veterinary` (Avn), `court_rules` (KmGer), `trade_exam_rules` (PruefGewO), `health_structure_plans` (Spg, ÖSG/RSG), `ministerial_decrees` (Erlässe), `council_minutes` (Ministerratsprotokolle)
108
109
  - Collection-aware filters: issue numbers, issuers (insurance carriers, ministries), cited norm ("decrees citing the DSG"), in-force date for the consolidated collections, plan type and state for health plans, session number and legislature for council minutes
109
110
  - Binding labels per collection: `authentic`, `administrative_directive` (decrees bind the administration, not citizens), or `preparatory` (council minutes)
111
+ - Every record carries the RIS web view — the only browsable surface for the PDF-only council minutes and for ministerial decrees
110
112
 
111
113
  ---
112
114
 
@@ -126,11 +128,12 @@ Resolve a citation to its canonical document.
126
128
 
127
129
  Read and export a single document.
128
130
 
129
- - Addresses documents by `document_number` plus `application` (from any search or lookup result), or by a passed-through `ris.bka.gv.at` document URL (host and path allowlisted)
131
+ - Addresses documents by `document_number` plus `application` (from any search or lookup result), or by a passed-through `ris.bka.gv.at` document URL (host and path allowlisted) — including a draft's companion documents from a `ris_search_drafts` record's `materials[].url`, which nothing else can reach. `format` selects the rendition for a companion exactly as for a main document
130
132
  - `format`: `markdown` (default, boilerplate stripped), raw `html`, RIS `xml`, or `urls_only`
131
133
  - Every response carries a binding status: `authentic` (with amtssigniert PDF URL), `consolidated_informational`, `historical_record`, `decision`, `preparatory`, `administrative_directive`, or `translation`
132
134
  - Applications that publish only the signed PDF (district and municipal promulgations, court rules) or only scans (1848–1940 gazettes, ÖNB-hosted) return a `format_unavailable` notice with the usable URLs instead of failing
133
- - Oversized markdown returns a §/Artikel/Anlage section outline (`kind: outline`) instead of truncating. Re-call with `sections:[…]` to pull the sections you need
135
+ - Markdown over 40,000 bytes returns a §/Artikel/Anlage section outline (`kind: outline`) instead of truncating. Re-call with `sections:[…]` to pull the sections you need
136
+ - Outlining needs those headings. A rendition without them — most court decisions, gazette and announcement bodies, every raw `html`/`xml` — has nothing to outline and returns whole at any size
134
137
  - Returns content, not fresh metadata. The upstream API has no document-by-number search, so document numbers come from a prior search or lookup result
135
138
 
136
139
  ---
@@ -0,0 +1,18 @@
1
+ ---
2
+ summary: "ris_search_drafts surfaces a draft's companion documents and both it and ris_search_announcements gain the RIS web view; ris_get_document fetches a companion by URL and its outline budget is re-derived to 40,000 bytes."
3
+ breaking: false
4
+ security: false
5
+ ---
6
+
7
+ # 0.3.0 — 2026-07-31
8
+
9
+ ## Added
10
+
11
+ - **`ris_search_drafts` `materials`** — records now carry the companion documents filed with a draft (Erläuterungen, Textgegenüberstellung, Vorblatt/WFA, the Begleitschreiben covering letter, and Attachment annexes) as `{type, name, urls}`. Coverage is per-record; `type` is `Material`, `Letter`, or `Attachment` and is the reliable discriminator — `name` is free text RIS varies across records. Empty when the ministry filed none. ([#26](https://github.com/cyanheads/ris-austria-mcp-server/issues/26))
12
+ - **`ris_get_document` companion-document fetch** — `document_url` now accepts a `Materialien_`/`Schreiben_`/`Anlagen_` filename (a `materials[].urls` entry) and fetches it inside the parent document's folder instead of rejecting it — previously the only route to these documents. `content_urls` for a companion carries its own XML/HTML/PDF; RTF is present on roughly 40% of them and there is no `.pdfsig`. `RisService.buildDocumentContentUrl` gains an optional `contentName` parameter, held to the same safe-character pattern as the document number. ([#26](https://github.com/cyanheads/ris-austria-mcp-server/issues/26))
13
+ - **`ris_search_drafts` and `ris_search_announcements` `document_url`** — both records now carry the RIS web view (`Allgemein.DokumentUrl`), matching `ris_search_gazette` and `ris_track_changes`. It is the only browsable surface for the PDF-only `council_minutes` collection and for `ministerial_decrees`. ([#32](https://github.com/cyanheads/ris-austria-mcp-server/issues/32))
14
+
15
+ ## Changed
16
+
17
+ - **`ris_get_document` outline budget** — `OUTLINE_BUDGET_BYTES` (now exported) lowered from 500,000 to 40,000 bytes, re-derived against 61 live renditions sampled across nine applications. The prior threshold was calibrated before the screen-reader-twin strip roughly halved rendered byte counts, so it had stopped firing on the multi-hundred-KB bills it was sized for. The budget bounds only markdown carrying at least two §/Artikel/Anlage headings — a rendition without them (most court decisions, many gazette and announcement bodies, all raw html/xml) returns whole at any size. ([#31](https://github.com/cyanheads/ris-austria-mcp-server/issues/31))
18
+ - **Partial-section-match notice** — no longer tells the caller to re-call `ris_get_document` without `sections:[…]` for an outline, since that re-call only returns one for documents over the budget. It now names candidate section names to copy verbatim for the re-call instead. ([#31](https://github.com/cyanheads/ris-austria-mcp-server/issues/31))
@@ -0,0 +1,17 @@
1
+ ---
2
+ summary: "ris_search_drafts materials collapses to one URL per companion; ris_get_document now accepts every companion filename shape RIS publishes, not only its newest one."
3
+ breaking: true
4
+ security: false
5
+ ---
6
+
7
+ # 0.4.0 — 2026-07-31
8
+
9
+ ## Changed
10
+
11
+ - **`ris_search_drafts` `materials[].url`** — `materials[].urls` (an object of up to four rendition URLs) collapses to a single `materials[].url`: the companion's HTML rendition, or its PDF where RIS files no HTML one (roughly one companion in eight, nearly all Begut covering letters). `ris_get_document` validates a companion URL's extension and then discards it, rebuilding the rendition from its own `format` input, so one URL already reached every rendition the companion has — the four-URL set was duplication. Cuts `structuredContent` 38–46% across sampled page sizes. **Breaking** for anything reading `materials[].urls.html` (or `.xml`/`.pdf`/`.rtf`). ([#34](https://github.com/cyanheads/ris-austria-mcp-server/issues/34))
12
+ - **`document_url` refusal messages** — split into their three distinct causes (unrenderable extension, path nested below the document folder, unrecognized filename) instead of one message that told a caller who had copied a URL verbatim to copy a URL verbatim.
13
+
14
+ ## Fixed
15
+
16
+ - **`ris_get_document` companion filename acceptance** — `document_url` now accepts every companion filename shape RIS publishes, not only the `Materialien_`/`Schreiben_`/`Anlagen_` + UUID shape used on 2026 records. Adds the `COO_{n}_{n}_{n}_{n}` Fabasoft object address (79.7% of the live corpus, every companion filed before 2026) and the prefixless `{NNNN}_{UUID}` shape. Each is matched as a whole anchored alternative over hex digits, `_`, and its own literal prefix — never a prefix or substring test, which would also match the per-record inline formula images RIS names `Material-COO_…`/`Anlage-COO_…`. ([#35](https://github.com/cyanheads/ris-austria-mcp-server/issues/35))
17
+ - **Companion 404 recovery** — a companion document RIS publishes with no rendition in the requested format now gets a recovery hint pointing at `format: urls_only` and `content_urls.pdf`, instead of the generic `document_not_found` recovery written for `document_number` + `application` addressing.
@@ -2,13 +2,17 @@
2
2
  * @fileoverview ris_get_document — read one RIS document's full text (markdown/html/xml)
3
3
  * or its rendition URLs, with explicit binding status and the amtssigniert Authentisch PDF
4
4
  * surfaced wherever it exists. Two addressing modes route to the same fetch path:
5
- * `document_number` + `application`, or a `document_url` from a result's content_urls.
5
+ * `document_number` + `application`, or a `document_url` from a result's content_urls — the
6
+ * latter also carrying the one route to a draft's companion documents, whose per-record
7
+ * opaque filenames no document number reaches (see {@link COMPANION_STEMS} for the shapes
8
+ * RIS files them under).
6
9
  * Format availability varies by application (full text · authentic-PDF-only · PDF-only ·
7
10
  * metadata-only) — a text-format request against a non-text application degrades to a
8
11
  * `format_unavailable` notice on a success result, never an error. Markdown conversion drops
9
12
  * the `.sr-only` screen-reader twin RIS ships beside every abbreviated citation, keeping the
10
- * visible form; `html` and `xml` pass through untouched. Oversized markdown overflows to a
11
- * retrievable §/Artikel/Anlage section outline (never a silent truncation); a follow-up call
13
+ * visible form; `html` and `xml` pass through untouched. Oversized markdown carrying
14
+ * §/Artikel/Anlage structure overflows to a retrievable section outline (never a silent
15
+ * truncation, and never for a rendition with no such headings); a follow-up call
12
16
  * with `sections:[…]` returns just the chosen sections, and a selector matching nothing gets
13
17
  * the outline back with a notice rather than the whole document. The shared
14
18
  * {@link renderDocument} helper backs both this tool and the `ris://document/…` resource.
@@ -21,6 +25,24 @@ import { type OutlineResult, type SectionMeta } from '@cyanheads/mcp-ts-core/uti
21
25
  import type { RisBindingStatus } from '../../../services/ris/reference/index.js';
22
26
  /** Requested output format. `markdown` and `html` both read the HTML rendition. */
23
27
  type DocumentFormat = 'markdown' | 'html' | 'xml' | 'urls_only';
28
+ /**
29
+ * Serialized-length budget for inlining document text. Above it, markdown overflows to a
30
+ * §/Artikel/Anlage section outline instead of returning whole — but only when the rendition
31
+ * segments into at least two of those sections. A rendition carrying none of them has nothing
32
+ * to outline and returns whole however large: court decisions, gazette and announcement
33
+ * bodies, and consolidated `§ 0` promulgation records all do, measured live to 399,972 bytes
34
+ * on a Bvwg decision.
35
+ *
36
+ * Sized against what one tool result can carry into a working context (≈10K tokens of legal
37
+ * prose), not against what counts as a pathological document: across live samples the
38
+ * documents callers routinely read land well under it — consolidated-law sections at 2–3 KB,
39
+ * drafts and bills at 6–36 KB — while the multi-act bills and long translations that motivated
40
+ * the outline (71 KB–199 KB) route through it.
41
+ *
42
+ * Handed to `outlineOnOverflow`, which measures `JSON.stringify` length (≈ UTF-8 bytes for
43
+ * the mostly-Latin legal text); the exact `byte_size` is reported separately.
44
+ */
45
+ export declare const OUTLINE_BUDGET_BYTES = 40000;
24
46
  /** Constructed rendition URLs for a document, keyed by DataType. */
25
47
  interface RenditionContentUrls {
26
48
  html?: string;
@@ -28,7 +50,11 @@ interface RenditionContentUrls {
28
50
  rtf?: string;
29
51
  xml?: string;
30
52
  }
31
- /** A resolved document rendition — the shared unit behind the tool and the resource. */
53
+ /**
54
+ * A resolved document rendition — the shared unit behind the tool and the resource. A
55
+ * companion document resolves to the same shape, addressed by `contentName` inside the
56
+ * parent document's folder.
57
+ */
32
58
  export interface DocumentRendition {
33
59
  /** Application code the document belongs to (echoed). */
34
60
  readonly application: string;
@@ -52,6 +78,8 @@ export interface DocumentRendition {
52
78
  /** Result of parsing a caller-supplied document_url into an application + document number. */
53
79
  type ParsedDocumentUrl = {
54
80
  readonly application: string;
81
+ /** Companion-document filename stem; absent for a main-document rendition. */
82
+ readonly contentName?: string;
55
83
  readonly documentNumber: string;
56
84
  } | {
57
85
  readonly error: string;
@@ -125,8 +153,12 @@ export declare function renderOutlineSections(sections: readonly SectionMeta[]):
125
153
  * and convert one RIS document. Throws framework errors (`validationError` for an unknown
126
154
  * application or unsafe document number; `notFound`/`serviceUnavailable`/`timeout` from the
127
155
  * content fetch) — callers map these onto their own typed contract.
156
+ *
157
+ * `contentName` addresses a companion document inside the same folder instead of the main
158
+ * rendition; the requested `format` still selects the rendition, exactly as it does for a
159
+ * main document.
128
160
  */
129
- export declare function renderDocument(applicationCode: string, documentNumber: string, format: DocumentFormat, ctx: Context): Promise<DocumentRendition>;
161
+ export declare function renderDocument(applicationCode: string, documentNumber: string, format: DocumentFormat, ctx: Context, contentName?: string): Promise<DocumentRendition>;
130
162
  export declare const risGetDocument: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
131
163
  document_number: z.ZodOptional<z.ZodString>;
132
164
  application: z.ZodOptional<z.ZodEnum<{
@@ -184,8 +216,8 @@ export declare const risGetDocument: import("@cyanheads/mcp-ts-core").ToolDefini
184
216
  }, {
185
217
  readonly reason: "unsupported_url";
186
218
  readonly code: JsonRpcErrorCode.ValidationError;
187
- readonly when: "document_url fails the host + /Dokumente/ path-prefix allowlist, or its path segment is not a recognized RIS application — thrown locally, nothing fetched.";
188
- readonly recovery: "Only ris.bka.gv.at /Dokumente/ URLs are fetchable — pass a URL exactly as returned in content_urls, or switch to document_number + application.";
219
+ readonly when: "document_url fails the host + /Dokumente/ path-prefix allowlist, its path segment is not a recognized RIS application, or its trailing filename addresses neither the document’s own rendition nor one of its companion documents — thrown locally, nothing fetched.";
220
+ readonly recovery: "Only ris.bka.gv.at /Dokumente/ URLs are fetchable, and only a document’s own rendition or a companion filed in the same folder — copy the URL verbatim from a result’s content_urls or a ris_search_drafts record’s materials, or switch to document_number + application.";
189
221
  }, {
190
222
  readonly reason: "document_not_found";
191
223
  readonly code: JsonRpcErrorCode.NotFound;
@@ -1 +1 @@
1
- {"version":3,"file":"ris-get-document.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ris-get-document.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,17 @@
2
2
  * @fileoverview ris_get_document — read one RIS document's full text (markdown/html/xml)
3
3
  * or its rendition URLs, with explicit binding status and the amtssigniert Authentisch PDF
4
4
  * surfaced wherever it exists. Two addressing modes route to the same fetch path:
5
- * `document_number` + `application`, or a `document_url` from a result's content_urls.
5
+ * `document_number` + `application`, or a `document_url` from a result's content_urls — the
6
+ * latter also carrying the one route to a draft's companion documents, whose per-record
7
+ * opaque filenames no document number reaches (see {@link COMPANION_STEMS} for the shapes
8
+ * RIS files them under).
6
9
  * Format availability varies by application (full text · authentic-PDF-only · PDF-only ·
7
10
  * metadata-only) — a text-format request against a non-text application degrades to a
8
11
  * `format_unavailable` notice on a success result, never an error. Markdown conversion drops
9
12
  * the `.sr-only` screen-reader twin RIS ships beside every abbreviated citation, keeping the
10
- * visible form; `html` and `xml` pass through untouched. Oversized markdown overflows to a
11
- * retrievable §/Artikel/Anlage section outline (never a silent truncation); a follow-up call
13
+ * visible form; `html` and `xml` pass through untouched. Oversized markdown carrying
14
+ * §/Artikel/Anlage structure overflows to a retrievable section outline (never a silent
15
+ * truncation, and never for a rendition with no such headings); a follow-up call
12
16
  * with `sections:[…]` returns just the chosen sections, and a selector matching nothing gets
13
17
  * the outline back with a notice rather than the whole document. The shared
14
18
  * {@link renderDocument} helper backs both this tool and the `ris://document/…` resource.
@@ -33,25 +37,65 @@ const BINDING_STATUSES = [
33
37
  ];
34
38
  /**
35
39
  * Serialized-length budget for inlining document text. Above it, markdown overflows to a
36
- * §/Artikel/Anlage section outline instead of returning whole — generous, so it fires only
37
- * on the pathological documents (multi-hundred-KB consolidations and government bills).
40
+ * §/Artikel/Anlage section outline instead of returning whole — but only when the rendition
41
+ * segments into at least two of those sections. A rendition carrying none of them has nothing
42
+ * to outline and returns whole however large: court decisions, gazette and announcement
43
+ * bodies, and consolidated `§ 0` promulgation records all do, measured live to 399,972 bytes
44
+ * on a Bvwg decision.
45
+ *
46
+ * Sized against what one tool result can carry into a working context (≈10K tokens of legal
47
+ * prose), not against what counts as a pathological document: across live samples the
48
+ * documents callers routinely read land well under it — consolidated-law sections at 2–3 KB,
49
+ * drafts and bills at 6–36 KB — while the multi-act bills and long translations that motivated
50
+ * the outline (71 KB–199 KB) route through it.
51
+ *
38
52
  * Handed to `outlineOnOverflow`, which measures `JSON.stringify` length (≈ UTF-8 bytes for
39
53
  * the mostly-Latin legal text); the exact `byte_size` is reported separately.
40
54
  */
41
- const OUTLINE_BUDGET_BYTES = 500_000;
55
+ export const OUTLINE_BUDGET_BYTES = 40_000;
42
56
  const APPLICATION_CODES = RIS_APPLICATIONS.map((app) => app.code);
43
57
  const APPLICATION_BY_CODE = new Map(RIS_APPLICATIONS.map((app) => [app.code, app]));
44
58
  /** Content-path segment → application, for reverse-mapping a passed document_url. */
45
59
  const APPLICATION_BY_SEGMENT = new Map(RIS_APPLICATIONS.flatMap((app) => app.contentPathSegment !== null ? [[app.contentPathSegment, app]] : []));
46
60
  /**
47
- * Lowercase file extensions a main-document rendition URL may end in — the constructible
61
+ * Lowercase file extensions a rendition URL may end in — the constructible
48
62
  * `RisContentFormat` set plus the derived `.pdfsig` authentic variant (see
49
- * {@link authenticPdfFrom}). A `document_url`'s trailing filename must be
50
- * `{documentNumber}.{ext}` for one of these; any other filename (a `Materialien_`/`Anlagen_…`
51
- * content attachment, an unknown extension) addresses non-main content this tool would
52
- * otherwise silently swap for the main document.
63
+ * {@link authenticPdfFrom}). A `document_url`'s trailing filename must carry one of these;
64
+ * an unknown extension addresses something this tool cannot render.
53
65
  */
54
66
  const RENDITION_EXTENSIONS = new Set([...RIS_CONTENT_FORMATS, 'pdfsig']);
67
+ /**
68
+ * Filename stems of a companion document — the `Erläuterungen`, `Textgegenüberstellung`,
69
+ * `Vorblatt und WFA`, cover letter, and annex texts a `Begut` draft or `RegV` bill ships
70
+ * beside its main text, surfaced on a `ris_search_drafts` record's `materials`. The stem is
71
+ * opaque and per-record — the URL is the only handle, so nothing about a companion is
72
+ * reconstructible from a document number, and this list is what decides whether a passed
73
+ * `document_url` may address a file other than the main rendition. Three shapes, every one
74
+ * of the 23,483 companion URLs across the full live Begut + RegV corpus (7,185 records,
75
+ * every page of both applications, drafts from 2003 through 2026):
76
+ *
77
+ * - `{Materialien|Schreiben|Anlagen}_{NNNN}_{UUID}` — 4,763, all on records from 2026.
78
+ * - `COO_{n}_{n}_{n}_{n}` — 18,719, the Fabasoft object address, on every record before
79
+ * 2026. Not a date: the leading group is a constant store id, so nothing here is a year.
80
+ * Refusing it refused four companion URLs in five (#35).
81
+ * - `{NNNN}_{UUID}` — 1, the ordinal + UUID tail with no prefix, on one RegV record.
82
+ *
83
+ * Each alternative is anchored end to end over hex digits, `_`, and its own literal prefix,
84
+ * so an accepted stem can carry no `/`, `.`, `%`, backslash, or null byte. Widening happens
85
+ * by adding a whole alternative, never by relaxing one into a prefix or substring test — RIS
86
+ * names the per-record inline formula images `Material-COO_…` and `Anlage-COO_…`, ~55 on
87
+ * every draft record, and a passed filename matching none of these shapes is content this
88
+ * tool would otherwise fetch blind inside the document's folder.
89
+ */
90
+ const COMPANION_STEMS = [
91
+ /^(?:Materialien|Schreiben|Anlagen)_\d{4}_[0-9A-F]{8}(?:_[0-9A-F]{4}){3}_[0-9A-F]{12}$/iu,
92
+ /^COO(?:_\d{1,10}){4}$/u,
93
+ /^\d{4}_[0-9A-F]{8}(?:_[0-9A-F]{4}){3}_[0-9A-F]{12}$/iu,
94
+ ];
95
+ /** Whether a `document_url`'s filename stem addresses a companion document. */
96
+ function isCompanionStem(stem) {
97
+ return COMPANION_STEMS.some((pattern) => pattern.test(stem));
98
+ }
55
99
  /**
56
100
  * Drop RIS's screen-reader twin, pass every other span through untouched. RIS renditions
57
101
  * carry each abbreviated legal reference twice — the visible citation in
@@ -137,23 +181,40 @@ export function parseDocumentUrl(url, contentBaseUrl) {
137
181
  return { error: `"${rawDocumentNumber}" is not a decodable path segment (malformed % escape)` };
138
182
  }
139
183
  // A folder URL (…/{segment}/{documentNumber}[/]) carries no trailing filename and resolves
140
- // fine. A trailing filename is a main-document rendition only when it is exactly
141
- // {documentNumber}.{ext} for a known rendition extension; a content attachment
142
- // (Materialien_/Anlagen_… memoranda and annexes) or any deeper nesting names non-main
143
- // content the fetch would silently swap for the main document — reject it here instead.
184
+ // fine. A trailing filename addresses one of exactly two things: the main-document
185
+ // rendition, named {documentNumber}.{ext}, or a companion document, named in one of the
186
+ // {@link COMPANION_STEMS} shapes. Anything else — an unknown stem, an unknown extension,
187
+ // deeper nesting — is content this tool would otherwise fetch blind or silently swap for
188
+ // the main document, so it is rejected here. Each of the three causes reports itself: they
189
+ // ask different things of the caller, and a caller who passed a URL a search result handed
190
+ // them learns nothing from being told to pass a URL a search result handed them.
144
191
  if (filename !== undefined) {
145
192
  const decodedFilename = decodePathSegment(filename);
146
193
  if (decodedFilename === undefined) {
147
194
  return { error: `"${filename}" is not a decodable filename (malformed % escape)` };
148
195
  }
196
+ if (rest.length > 0) {
197
+ return {
198
+ error: `"${decodedFilename}/${rest.join('/')}" nests below the document folder — RIS files every rendition directly in /Dokumente/${segment}/${documentNumber}/, so drop the trailing path`,
199
+ };
200
+ }
149
201
  const dot = decodedFilename.lastIndexOf('.');
150
202
  const stem = dot === -1 ? decodedFilename : decodedFilename.slice(0, dot);
151
203
  const extension = dot === -1 ? '' : decodedFilename.slice(dot + 1).toLowerCase();
152
- if (rest.length > 0 || stem !== documentNumber || !RENDITION_EXTENSIONS.has(extension)) {
204
+ if (!RENDITION_EXTENSIONS.has(extension)) {
153
205
  return {
154
- error: `"${decodedFilename}" points at a content attachment or non-rendition file, not a main-document rendition — pass a main-document URL as returned in content_urls`,
206
+ error: `"${decodedFilename}" does not end in a RIS rendition extension (${[...RENDITION_EXTENSIONS].join(', ')}) — the extension is only checked and then discarded, so pass any rendition URL of the document you want and select the rendition with format`,
155
207
  };
156
208
  }
209
+ const isMainDocument = stem === documentNumber;
210
+ if (!isMainDocument && !isCompanionStem(stem)) {
211
+ return {
212
+ error: `"${decodedFilename}" is neither ${documentNumber}'s own rendition (${documentNumber}.${extension}) nor one of its companion documents — RIS assigns companion filenames opaquely, so one cannot be composed by hand. Copy a materials[].url from a ris_search_drafts record verbatim, or drop the filename to read ${documentNumber} itself`,
213
+ };
214
+ }
215
+ if (!isMainDocument) {
216
+ return { application: app.code, contentName: stem, documentNumber };
217
+ }
157
218
  }
158
219
  return { application: app.code, documentNumber };
159
220
  }
@@ -164,10 +225,22 @@ function authenticPdfFrom(pdfUrl) {
164
225
  /**
165
226
  * Construct the rendition URLs for a document from its application's format availability.
166
227
  * `buildDocumentContentUrl` throws `ValidationError` for an unsafe document number.
228
+ *
229
+ * A companion document (`contentName`) is published as XML, HTML and PDF on 20,654 of the
230
+ * 23,483 companions in the live Begut + RegV corpus — RTF on 61% of those, the signed
231
+ * `.pdfsig` on none — so those three are what gets constructed. The other 2,829 (12.0%,
232
+ * nearly all Begut covering letters) carry PDF, or PDF and RTF, and nothing else: RIS 404s a
233
+ * rendition it does not list, so the constructed XML and HTML are dead for them and only the
234
+ * PDF resolves. Which case a companion falls in is legible only from the search result that
235
+ * listed it, never from the URL, so the same three are built either way.
167
236
  */
168
- function buildRenditionUrls(service, app, documentNumber) {
237
+ function buildRenditionUrls(service, app, documentNumber, contentName) {
169
238
  if (app.formats === 'none')
170
239
  return { contentUrls: {} }; // BgblAlt — no content URLs to build
240
+ if (contentName !== undefined) {
241
+ const url = (format) => service.buildDocumentContentUrl(app.code, documentNumber, format, contentName);
242
+ return { contentUrls: { xml: url('xml'), html: url('html'), pdf: url('pdf') } };
243
+ }
171
244
  const pdf = service.buildDocumentContentUrl(app.code, documentNumber, 'pdf');
172
245
  const authenticPdfUrl = app.binding === 'authentic' ? authenticPdfFrom(pdf) : undefined;
173
246
  if (app.formats === 'authentic_pdf_only') {
@@ -310,8 +383,12 @@ export function renderOutlineSections(sections) {
310
383
  * and convert one RIS document. Throws framework errors (`validationError` for an unknown
311
384
  * application or unsafe document number; `notFound`/`serviceUnavailable`/`timeout` from the
312
385
  * content fetch) — callers map these onto their own typed contract.
386
+ *
387
+ * `contentName` addresses a companion document inside the same folder instead of the main
388
+ * rendition; the requested `format` still selects the rendition, exactly as it does for a
389
+ * main document.
313
390
  */
314
- export async function renderDocument(applicationCode, documentNumber, format, ctx) {
391
+ export async function renderDocument(applicationCode, documentNumber, format, ctx, contentName) {
315
392
  const app = APPLICATION_BY_CODE.get(applicationCode);
316
393
  if (!app) {
317
394
  throw validationError(`Unknown RIS application "${applicationCode}".`, {
@@ -320,7 +397,7 @@ export async function renderDocument(applicationCode, documentNumber, format, ct
320
397
  });
321
398
  }
322
399
  const service = getRisService();
323
- const urls = buildRenditionUrls(service, app, documentNumber);
400
+ const urls = buildRenditionUrls(service, app, documentNumber, contentName);
324
401
  const base = {
325
402
  application: app.code,
326
403
  bindingStatus: app.binding,
@@ -338,7 +415,7 @@ export async function renderDocument(applicationCode, documentNumber, format, ct
338
415
  if (format === 'urls_only')
339
416
  return base;
340
417
  const fetchFormat = format === 'xml' ? 'xml' : 'html';
341
- const url = service.buildDocumentContentUrl(app.code, documentNumber, fetchFormat);
418
+ const url = service.buildDocumentContentUrl(app.code, documentNumber, fetchFormat, contentName);
342
419
  const fetched = await service.fetchDocumentContent(url, ctx);
343
420
  const rendered = format === 'markdown' ? MARKDOWN_CONVERTER.translate(fetched.text) : fetched.text;
344
421
  const encoded = new TextEncoder().encode(rendered);
@@ -356,10 +433,10 @@ const ContentUrlsSchema = z
356
433
  pdf: z.string().optional().describe('PDF rendition URL.'),
357
434
  rtf: z.string().optional().describe('RTF rendition URL.'),
358
435
  })
359
- .describe('Constructed rendition URLs. Empty for authentic-PDF-only (Bvb/GrA/KmGer) and metadata-only (BgblAlt) applications — see authentic_pdf_url and the notice.');
436
+ .describe('Constructed rendition URLs. Empty for authentic-PDF-only (Bvb/GrA/KmGer) and metadata-only (BgblAlt) applications — see authentic_pdf_url and the notice. For a companion document (a draft’s Erläuterungen, Textgegenüberstellung, WFA, cover letter, or annex) these are the companion’s own XML/HTML/PDF, not the parent document’s — constructed rather than read back from RIS, so for the roughly one companion in eight that RIS files as a PDF only, xml and html return 404 and pdf is the one that resolves.');
360
437
  export const risGetDocument = tool('ris_get_document', {
361
438
  title: 'Get RIS Document',
362
- description: 'Fetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_lookup_citation result), or a document_url from a result’s content_urls. format: markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (the RIS Nutzdaten XML), or urls_only (no fetch — every rendition URL, including the Authentisch PDF). Format availability varies by application and the tool degrades explicitly, never silently: consolidated law, gazettes, case law, drafts, and most sectoral collections carry full text; district and municipal promulgations and court rules (Bvb, GrA, KmGer) publish only the signed authentic PDF; party-transparency decisions and council minutes (Upts, Mrp) are PDF-only; the 1848–1940 imperial gazettes (BgblAlt) are metadata-only — for these a text-format request returns a format_unavailable notice with the usable URL, not an error. Every result carries binding_status; only authentic (amtssigniert) publications are legally binding. This tool returns content, not fresh metadata — the metadata rides the search/lookup step that produced the document number. When the markdown text overflows the byte budget the tool returns a §/Artikel/Anlage section outline (kind: outline) instead of truncating; re-call with sections:[…] naming outline entries to retrieve just those, and a name matching no section returns the outline again with a notice rather than the whole document. Markdown drops the screen-reader expansions RIS ships alongside each abbreviated citation, keeping the visible citation form; raw html/xml renditions are returned exactly as published and, carrying no markdown headings, always return in full.',
439
+ description: 'Fetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_lookup_citation result), or a document_url from a result’s content_urls — or, for a draft’s companion documents (Erläuterungen, Textgegenüberstellung, WFA, cover letter, annexes), a ris_search_drafts record’s materials[].url, which is the only route to them. format: markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (the RIS Nutzdaten XML), or urls_only (no fetch — every rendition URL, including the Authentisch PDF). Format availability varies by application and the tool degrades explicitly, never silently: consolidated law, gazettes, case law, drafts, and most sectoral collections carry full text; district and municipal promulgations and court rules (Bvb, GrA, KmGer) publish only the signed authentic PDF; party-transparency decisions and council minutes (Upts, Mrp) are PDF-only; the 1848–1940 imperial gazettes (BgblAlt) are metadata-only — for these a text-format request returns a format_unavailable notice with the usable URL, not an error. Every result carries binding_status; only authentic (amtssigniert) publications are legally binding. This tool returns content, not fresh metadata — the metadata rides the search/lookup step that produced the document number. When the markdown text overflows the 40,000-byte budget and carries at least two §/Artikel/Anlage headings the tool returns a section outline (kind: outline) instead of truncating; re-call with sections:[…] naming outline entries to retrieve just those, and a name matching no section returns the outline again with a notice rather than the whole document. Outlining needs those headings: a rendition without them — most court decisions, many gazette and announcement bodies, and every raw html/xml rendition — has nothing to outline and returns whole at any size. Markdown drops the screen-reader expansions RIS ships alongside each abbreviated citation, keeping the visible citation form; raw html/xml renditions are returned exactly as published.',
363
440
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
364
441
  input: z.object({
365
442
  document_number: z
@@ -373,7 +450,7 @@ export const risGetDocument = tool('ris_get_document', {
373
450
  document_url: z
374
451
  .string()
375
452
  .optional()
376
- .describe('A https://www.ris.bka.gv.at/Dokumente/… main-document rendition URL as returned in a result’s content_urls — the alternative to document_number + application. Must address a main-document rendition ({documentNumber}.{ext}); content-attachment URLs (Materialien_/Anlagen_… memoranda and annexes) are not fetchable this way.'),
453
+ .describe('A https://www.ris.bka.gv.at/Dokumente/… rendition URL as returned in a result’s content_urls — the alternative to document_number + application. Also the only way to read a draft’s companion documents: pass a ris_search_drafts record’s materials[].url (the Erläuterungen, Textgegenüberstellung, WFA, cover letter, or annex), whose filenames are opaque and per-record and so cannot be reached through document_number. Every companion filename RIS publishes is accepted, whichever shape it carries. The URL’s own extension is only checked against the rendition extensions RIS uses and is then discarded — format selects which rendition is returned, for a companion exactly as for a main document. A filename that is neither this document’s own rendition nor one of its companions is rejected; companion filenames cannot be composed by hand, so copy one verbatim.'),
377
454
  format: z
378
455
  .enum(['markdown', 'html', 'xml', 'urls_only'])
379
456
  .default('markdown')
@@ -381,7 +458,7 @@ export const risGetDocument = tool('ris_get_document', {
381
458
  sections: z
382
459
  .array(z.string())
383
460
  .optional()
384
- .describe('Section names to retrieve, each copied verbatim from a prior outline response (kind: outline). Omit for the full document — which returns a §/Artikel/Anlage outline instead when the markdown overflows the byte budget. A name that matches no section is never silently ignored: a total miss returns the outline (kind: outline) with a notice, a partial miss returns the matched sections with a notice naming the rest. Applies to markdown only — html, xml, and urls_only carry no headings to select from and return in full.'),
461
+ .describe('Section names to retrieve, each copied verbatim from a prior outline response (kind: outline). Omit for the full document — which returns a §/Artikel/Anlage outline instead when the markdown overflows the 40,000-byte budget and carries at least two such headings. A name that matches no section is never silently ignored: a total miss returns the outline (kind: outline) with a notice, a partial miss returns the matched sections with a notice naming other sections to pick from. Applies to markdown only — html, xml, and urls_only carry no headings to select from and return in full.'),
385
462
  }),
386
463
  output: z.object({
387
464
  text: z
@@ -433,8 +510,8 @@ export const risGetDocument = tool('ris_get_document', {
433
510
  {
434
511
  reason: 'unsupported_url',
435
512
  code: JsonRpcErrorCode.ValidationError,
436
- when: 'document_url fails the host + /Dokumente/ path-prefix allowlist, or its path segment is not a recognized RIS application — thrown locally, nothing fetched.',
437
- recovery: 'Only ris.bka.gv.at /Dokumente/ URLs are fetchable — pass a URL exactly as returned in content_urls, or switch to document_number + application.',
513
+ when: 'document_url fails the host + /Dokumente/ path-prefix allowlist, its path segment is not a recognized RIS application, or its trailing filename addresses neither the document’s own rendition nor one of its companion documents — thrown locally, nothing fetched.',
514
+ recovery: 'Only ris.bka.gv.at /Dokumente/ URLs are fetchable, and only a document’s own rendition or a companion filed in the same folder — copy the URL verbatim from a result’s content_urls or a ris_search_drafts record’s materials, or switch to document_number + application.',
438
515
  },
439
516
  {
440
517
  reason: 'document_not_found',
@@ -465,6 +542,7 @@ export const risGetDocument = tool('ris_get_document', {
465
542
  const failAddressing = (message) => ctx.fail('invalid_addressing', message, { ...ctx.recoveryFor('invalid_addressing') });
466
543
  let resolvedApplication;
467
544
  let resolvedDocumentNumber;
545
+ let resolvedContentName;
468
546
  if (documentUrl !== undefined) {
469
547
  if (documentNumber !== undefined || application !== undefined) {
470
548
  throw failAddressing('Provide document_url OR document_number + application, not both addressing modes.');
@@ -477,6 +555,7 @@ export const risGetDocument = tool('ris_get_document', {
477
555
  }
478
556
  resolvedApplication = parsed.application;
479
557
  resolvedDocumentNumber = parsed.documentNumber;
558
+ resolvedContentName = parsed.contentName;
480
559
  }
481
560
  else {
482
561
  if (documentNumber === undefined || application === undefined) {
@@ -486,7 +565,7 @@ export const risGetDocument = tool('ris_get_document', {
486
565
  resolvedDocumentNumber = documentNumber;
487
566
  }
488
567
  // Map framework errors from resolution/fetch onto this tool's declared contract.
489
- const rendition = await renderDocument(resolvedApplication, resolvedDocumentNumber, format, ctx).catch((err) => {
568
+ const rendition = await renderDocument(resolvedApplication, resolvedDocumentNumber, format, ctx, resolvedContentName).catch((err) => {
490
569
  if (err instanceof McpError) {
491
570
  if (err.code === JsonRpcErrorCode.ValidationError) {
492
571
  throw ctx.fail('invalid_addressing', err.message, {
@@ -494,9 +573,18 @@ export const risGetDocument = tool('ris_get_document', {
494
573
  });
495
574
  }
496
575
  if (err.code === JsonRpcErrorCode.NotFound) {
497
- throw ctx.fail('document_not_found', err.message, {
498
- ...ctx.recoveryFor('document_not_found'),
499
- });
576
+ // The contract's recovery is written for the document_number + application mode.
577
+ // A companion was addressed by a URL, and its likeliest 404 is a rendition RIS
578
+ // never filed rather than a mistyped identifier — one companion in eight is filed
579
+ // as PDF (or PDF and RTF) with no html or xml twin to render, nearly all of them
580
+ // review-draft covering letters, and RIS 404s a rendition it does not list.
581
+ throw ctx.fail('document_not_found', err.message, resolvedContentName === undefined
582
+ ? { ...ctx.recoveryFor('document_not_found') }
583
+ : {
584
+ recovery: {
585
+ hint: `This companion document has no ${format} rendition — about one in eight is filed as a PDF with no text rendition at all, and RIS returns 404 for a rendition it does not publish. Re-call with format: urls_only and fetch content_urls.pdf yourself. If the PDF 404s too, the URL itself is stale — take a fresh one from a ris_search_drafts record's materials.`,
586
+ },
587
+ });
500
588
  }
501
589
  if (err.code === JsonRpcErrorCode.ServiceUnavailable) {
502
590
  throw ctx.fail('upstream_error', err.message, { ...ctx.recoveryFor('upstream_error') });
@@ -538,7 +626,10 @@ export const risGetDocument = tool('ris_get_document', {
538
626
  const selection = selectDocumentSections(rendition.text, requestedSections);
539
627
  if (selection.text !== '') {
540
628
  if (selection.unmatched.length > 0) {
541
- ctx.enrich.notice(`Returned only the matched sections — ${quoteNames(selection.unmatched)} named no section of this document and ${selection.unmatched.length === 1 ? 'was' : 'were'} skipped. Re-call ris_get_document without sections:[…] for the outline of all ${selection.available.length} §/Artikel/Anlage sections.`);
629
+ // Names candidates from the roster rather than promising an outline on a re-call
630
+ // without sections:[…] — that re-call only outlines a document over the byte
631
+ // budget, and returns the whole text for every document under it.
632
+ ctx.enrich.notice(`Returned only the matched sections — ${quoteNames(selection.unmatched)} named no section of this document and ${selection.unmatched.length === 1 ? 'was' : 'were'} skipped. This document has ${selection.available.length} §/Artikel/Anlage sections; copy a name verbatim and re-call ris_get_document with the same addressing — e.g. ${exampleSectionNames(selection.available)}.`);
542
633
  }
543
634
  return {
544
635
  ...base,
@@ -1 +1 @@
1
- {"version":3,"file":"ris-get-document.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ris-get-document.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-get-document.tool.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,7 @@ export declare const risSearchAnnouncements: import("@cyanheads/mcp-ts-core").To
85
85
  preparatory: "preparatory";
86
86
  }>;
87
87
  authentic_pdf_url: z.ZodOptional<z.ZodString>;
88
+ document_url: z.ZodOptional<z.ZodString>;
88
89
  content_urls: z.ZodObject<{
89
90
  xml: z.ZodOptional<z.ZodString>;
90
91
  html: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"ris-search-announcements.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-announcements.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAiLjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+TjC,CAAC"}
1
+ {"version":3,"file":"ris-search-announcements.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-announcements.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAwLjE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgUjC,CAAC"}
@@ -88,6 +88,10 @@ const AnnouncementRecordSchema = z
88
88
  .string()
89
89
  .optional()
90
90
  .describe('The amtssigniert authentic PDF (.pdfsig, Authentisch DataType) — the legally binding artifact — where the collection publishes one.'),
91
+ document_url: z
92
+ .string()
93
+ .optional()
94
+ .describe('RIS web view of the document (DokumentUrl) — for humans. The only browsable surface for council minutes (PDF-only) and ministerial decrees.'),
91
95
  content_urls: ContentUrlsSchema,
92
96
  })
93
97
  .describe('One sectoral announcement or executive document.');
@@ -113,6 +117,7 @@ function toRecord(hit, collection) {
113
117
  ...(hit.contentUrls.authentic !== undefined && {
114
118
  authentic_pdf_url: hit.contentUrls.authentic,
115
119
  }),
120
+ ...(hit.documentUrl !== undefined && { document_url: hit.documentUrl }),
116
121
  };
117
122
  const md = hit.metadata;
118
123
  if (md.controller === 'Sonstige') {
@@ -131,7 +136,7 @@ function toRecord(hit, collection) {
131
136
  }
132
137
  export const risSearchAnnouncements = tool('ris_search_announcements', {
133
138
  title: 'Search Official Announcements',
134
- description: 'Search Austria’s sectoral official gazettes and executive documents — seven collections behind one collection enum: social_insurance (Amtliche Verlautbarungen der Sozialversicherung, authentic), veterinary (Amtliche Veterinärnachrichten, authentic), court_rules (Kundmachungen der Gerichte — rules of procedure and case-allocation plans, authentic; currently LVwG Tirol and Vorarlberg only), trade_exam_rules (Prüfungsordnungen gemäß Gewerbeordnung, authentic), health_structure_plans (Strukturpläne Gesundheit — federal ÖSG and per-state RSG, authentic), ministerial_decrees (Erlässe der Bundesministerien — decrees interpreting law; bind the administration, not citizens), and council_minutes (Ministerratsprotokolle — council-of-ministers session records). Each collection accepts a different filter set: query and title are broadly available; number, published_from/to, in_force_as_of, issuer (ministry abbreviations expanded), norm ("decrees citing the DSG"), case_number, type, department, plan_type/plan_state (health plans), and session_number/legislature (council minutes) apply where the collection supports them — a filter outside its set is rejected locally. Every result carries a binding label and the authentic PDF where it exists. Per-collection parameter matrix and issuers: ris_list_reference topic collections or issuing_bodies.',
139
+ description: 'Search Austria’s sectoral official gazettes and executive documents — seven collections behind one collection enum: social_insurance (Amtliche Verlautbarungen der Sozialversicherung, authentic), veterinary (Amtliche Veterinärnachrichten, authentic), court_rules (Kundmachungen der Gerichte — rules of procedure and case-allocation plans, authentic; currently LVwG Tirol and Vorarlberg only), trade_exam_rules (Prüfungsordnungen gemäß Gewerbeordnung, authentic), health_structure_plans (Strukturpläne Gesundheit — federal ÖSG and per-state RSG, authentic), ministerial_decrees (Erlässe der Bundesministerien — decrees interpreting law; bind the administration, not citizens), and council_minutes (Ministerratsprotokolle — council-of-ministers session records). Each collection accepts a different filter set: query and title are broadly available; number, published_from/to, in_force_as_of, issuer (ministry abbreviations expanded), norm ("decrees citing the DSG"), case_number, type, department, plan_type/plan_state (health plans), and session_number/legislature (council minutes) apply where the collection supports them — a filter outside its set is rejected locally. Every result carries a binding label, the authentic PDF where it exists, and the RIS web view (document_url) — the only browsable surface for the PDF-only council minutes and for ministerial decrees. Per-collection parameter matrix and issuers: ris_list_reference topic collections or issuing_bodies.',
135
140
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
136
141
  input: z.object({
137
142
  collection: z
@@ -391,6 +396,8 @@ export const risSearchAnnouncements = tool('ris_search_announcements', {
391
396
  lines.push(`**Norms:** ${r.norms_cited.join('; ')}`);
392
397
  if (r.authentic_pdf_url !== undefined)
393
398
  lines.push(`**Authentic PDF:** ${r.authentic_pdf_url}`);
399
+ if (r.document_url !== undefined)
400
+ lines.push(`**RIS view:** ${r.document_url}`);
394
401
  const urls = ['html', 'pdf', 'rtf', 'xml']
395
402
  .filter((key) => r.content_urls[key] !== undefined)
396
403
  .map((key) => `[${key.toUpperCase()}](${r.content_urls[key]})`);
@@ -1 +1 @@
1
- {"version":3,"file":"ris-search-announcements.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-announcements.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,UAAU,GACX,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,EACL,eAAe,EACf,aAAa,EACb,uBAAuB,GAExB,MAAM,cAAc,CAAC;AAEtB,MAAM,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAGzD,CAAC;AACF,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAsC,CAAC;AACvF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAGxE,CAAC;AAEF,mFAAmF;AACnF,MAAM,oBAAoB,GAGtB;IACF,eAAe,EAAE,aAAa;IAC9B,WAAW,EAAE,WAAW;IACxB,sBAAsB,EAAE,WAAW;IACnC,mBAAmB,EAAE,0BAA0B;IAC/C,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,WAAW;IAC7B,UAAU,EAAE,WAAW;CACxB,CAAC;AAEF,mEAAmE;AACnE,SAAS,UAAU,CAAC,KAAyB;IAC3C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,QAA0B,EAC1B,UAA6B;IAE7B,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO;IACxE,OAAO,aAAa,QAAQ,CAAC,KAAK,sCAAsC,UAAU,KAChF,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QAC9B,CAAC,CAAC,iBAAiB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB;QACtG,CAAC,CAAC,6DACN,EAAE,CAAC;AACL,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC3D,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAC1D,CAAC;KACD,QAAQ,CACP,8IAA8I,CAC/I,CAAC;AAEJ,MAAM,wBAAwB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,CACP,wLAAwL,CACzL;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,CAAC,wEAAwE,CAAC;IACrF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACnF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IAC1F,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F,CAC5F;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;SAC/C,QAAQ,CACP,kHAAkH,CACnH;IACH,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC,CAAC;SAC1E,QAAQ,CACP,0IAA0I,CAC3I;IACH,OAAO,EAAE,CAAC;SACP,IAAI,CAAC,CAAC,WAAW,EAAE,0BAA0B,EAAE,aAAa,CAAC,CAAC;SAC9D,QAAQ,CACP,mRAAmR,CACpR;IACH,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,qIAAqI,CACtI;IACH,YAAY,EAAE,iBAAiB;CAChC,CAAC;KACD,QAAQ,CAAC,kDAAkD,CAAC,CAAC;AAIhE,8DAA8D;AAC9D,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC;IAChD,OAAO;QACL,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC;QACjC,GAAG,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,SAAS,QAAQ,CAAC,GAAW,EAAE,UAA6B;IAC1D,MAAM,IAAI,GAAuB;QAC/B,OAAO,EAAE,oBAAoB,CAAC,UAAU,CAAC;QACzC,UAAU;QACV,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC;QAClC,eAAe,EAAE,GAAG,CAAC,cAAc;QACnC,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;QACf,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,IAAI;YAC7C,iBAAiB,EAAE,GAAG,CAAC,WAAW,CAAC,SAAS;SAC7C,CAAC;KACH,CAAC;IACF,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;IACxB,IAAI,EAAE,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO;YACL,GAAG,IAAI;YACP,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;YACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC;YAC/B,GAAG,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;YACrD,GAAG,CAAC,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC;YACtE,GAAG,CAAC,EAAE,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;YACrE,GAAG,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC;YACxD,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC;SACnD,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,EAAE;IACrE,KAAK,EAAE,+BAA+B;IACtC,WAAW,EACT,q0CAAq0C;IACv0C,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,gBAAgB,CAAC;aACtB,QAAQ,CACP,iPAAiP,CAClP;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oKAAoK,CACrK;QACH,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,wFAAwF,CACzF;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,4GAA4G,CAC7G;QACH,cAAc,EAAE,aAAa;aAC1B,QAAQ,EAAE;aACV,QAAQ,CACP,kKAAkK,CACnK;QACH,YAAY,EAAE,aAAa;aACxB,QAAQ,EAAE;aACV,QAAQ,CAAC,+CAA+C,CAAC;QAC5D,cAAc,EAAE,aAAa;aAC1B,QAAQ,EAAE;aACV,QAAQ,CACP,yKAAyK,CAC1K;QACH,kBAAkB,EAAE,aAAa;aAC9B,QAAQ,EAAE;aACV,QAAQ,CACP,2FAA2F,CAC5F;QACH,gBAAgB,EAAE,aAAa;aAC5B,QAAQ,EAAE;aACV,QAAQ,CACP,4FAA4F,CAC7F;QACH,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,gPAAgP,CACjP;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,oIAAoI,CACrI;QACH,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sFAAsF,CACvF;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sPAAsP,CACvP;QACH,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;aAC7C,QAAQ,EAAE;aACV,QAAQ,CACP,sKAAsK,CACvK;QACH,UAAU,EAAE,CAAC;aACV,IAAI,CAAC,WAAW,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,2KAA2K,CAC5K;QACH,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iEAAiE,CAAC;QAC9E,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,iFAAiF,CAAC;QAC9F,aAAa,EAAE,CAAC;aACb,IAAI,CAAC,mBAAmB,CAAC;aACzB,QAAQ,EAAE;aACV,QAAQ,CACP,gHAAgH,CACjH;QACH,OAAO,EAAE,CAAC;aACP,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;aAC7B,QAAQ,EAAE;aACV,QAAQ,CACP,iGAAiG,CAClG;QACH,cAAc,EAAE,CAAC;aACd,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;aACjC,QAAQ,EAAE;aACV,QAAQ,CAAC,uCAAuC,CAAC;QACpD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QACpF,SAAS,EAAE,CAAC;aACT,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE,QAAQ,EAAE;aACV,QAAQ,CAAC,kEAAkE,CAAC;KAChF,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CAAC,wBAAwB,CAAC;aAC/B,QAAQ,CAAC,6EAA6E,CAAC;KAC3F,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACvD,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,kFAAkF,CAAC;QAC/F,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wEAAwE,CAAC;KACtF;IACD,MAAM,EAAE;QACN;YACE,MAAM,EAAE,4BAA4B;YACpC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,wMAAwM;YAC9M,QAAQ,EACN,2KAA2K;SAC9K;QACD;YACE,MAAM,EAAE,eAAe;YACvB,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,IAAI,EAAE,yZAAyZ;YAC/Z,QAAQ,EACN,+PAA+P;SAClQ;QACD;YACE,MAAM,EAAE,gBAAgB;YACxB,IAAI,EAAE,gBAAgB,CAAC,kBAAkB;YACzC,IAAI,EAAE,4EAA4E;YAClF,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,mHAAmH;SACtH;QACD;YACE,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,gBAAgB,CAAC,OAAO;YAC9B,IAAI,EAAE,4DAA4D;YAClE,SAAS,EAAE,IAAI;YACf,QAAQ,EACN,8JAA8J;SACjK;KACF;IAED,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAElD,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,eAAe,EAAE,MAAM,IAAI,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,WAAW,CAAC,CAAC;QAC3C,MAAM,WAAW,GAA8C;YAC7D,CAAC,OAAO,EAAE,KAAK,CAAC;YAChB,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClB,CAAC,gBAAgB,EAAE,aAAa,CAAC;YACjC,CAAC,cAAc,EAAE,WAAW,CAAC;YAC7B,CAAC,gBAAgB,EAAE,WAAW,CAAC;YAC/B,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;YACxC,CAAC,kBAAkB,EAAE,cAAc,CAAC;YACpC,CAAC,QAAQ,EAAE,MAAM,CAAC;YAClB,CAAC,MAAM,EAAE,IAAI,CAAC;YACd,CAAC,aAAa,EAAE,UAAU,CAAC;YAC3B,CAAC,MAAM,EAAE,IAAI,CAAC;YACd,CAAC,YAAY,EAAE,UAAU,CAAC;YAC1B,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;YAC9B,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC;YAChC,CAAC,gBAAgB,EAAE,aAAa,CAAC;YACjC,CAAC,aAAa,EAAE,WAAW,CAAC;SAC7B,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,CAAC,IAAI,CACZ,4BAA4B,EAC5B,GAAG,SAAS,CAAC,CAAC,CAAC,0CAA0C,UAAU,mBAAmB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAC/G,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,4BAA4B,CAAC,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAA8B;YACxC,UAAU;YACV,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;YACvC,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;YACrD,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;YACjD,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;YACjD,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;YAC3D,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,CAAC;YACvD,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC;YAC/C,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACnE,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YACtE,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;YACrD,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/E,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YAC7D,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;YAClF,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACrD,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SACpE,CAAC;QAEF,uFAAuF;QACvF,kFAAkF;QAClF,4BAA4B;QAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE;aACjC,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC;aAChC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,eAAe,CACnB,uBAAuB,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,EACvF,GAAG,CACJ,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC7C,UAAU;YACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;YACxB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5E,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,CAAC,kBAAkB,UAAU,GAAG,CAAC,CAAC;YACpD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,SAAS,CAAC,IAAI,CACZ,6EAA6E,CAC9E,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,SAAS,CAAC,IAAI,CACZ,uJAAuJ,CACxJ,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;gBACjC,SAAS,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAClF,CAAC;YACD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,sFAAsF;IACtF,qEAAqE;IACrE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YACnE,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5E,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,CAAC,iBAAiB,KAAK,SAAS;gBACnC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAW;iBAClD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;iBAClD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ris-search-announcements.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-announcements.tool.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@
4
4
  * (RegV, 2004+). `stage` routes to the owning application; the two stage-specific date filters
5
5
  * (in_review_on, decided_from/to) are guarded locally before any upstream call. Ministry inputs
6
6
  * accept an abbreviation ("BMF") — the service expands it to RIS's exact-match designation.
7
+ * Records carry the companion documents filed with the draft (`materials` — Erläuterungen,
8
+ * Textgegenüberstellung, WFA, covering letter, annexes), each as one opaque, per-record URL —
9
+ * the only route to them: `ris_get_document` fetches it as `document_url`, its `format` input
10
+ * selecting the rendition.
7
11
  * @module mcp-server/tools/definitions/ris-search-drafts
8
12
  */
9
13
  import { z } from '@cyanheads/mcp-ts-core';
@@ -47,6 +51,12 @@ export declare const risSearchDrafts: import("@cyanheads/mcp-ts-core").ToolDefin
47
51
  ministry: z.ZodOptional<z.ZodString>;
48
52
  review_deadline: z.ZodOptional<z.ZodString>;
49
53
  decided: z.ZodOptional<z.ZodString>;
54
+ document_url: z.ZodOptional<z.ZodString>;
55
+ materials: z.ZodArray<z.ZodObject<{
56
+ type: z.ZodString;
57
+ name: z.ZodOptional<z.ZodString>;
58
+ url: z.ZodString;
59
+ }, z.core.$strip>>;
50
60
  content_urls: z.ZodObject<{
51
61
  xml: z.ZodOptional<z.ZodString>;
52
62
  html: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"ris-search-drafts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-drafts.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAoGjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqN1B,CAAC"}
1
+ {"version":3,"file":"ris-search-drafts.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-drafts.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA4KjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0N1B,CAAC"}
@@ -4,6 +4,10 @@
4
4
  * (RegV, 2004+). `stage` routes to the owning application; the two stage-specific date filters
5
5
  * (in_review_on, decided_from/to) are guarded locally before any upstream call. Ministry inputs
6
6
  * accept an abbreviation ("BMF") — the service expands it to RIS's exact-match designation.
7
+ * Records carry the companion documents filed with the draft (`materials` — Erläuterungen,
8
+ * Textgegenüberstellung, WFA, covering letter, annexes), each as one opaque, per-record URL —
9
+ * the only route to them: `ris_get_document` fetches it as `document_url`, its `format` input
10
+ * selecting the rendition.
7
11
  * @module mcp-server/tools/definitions/ris-search-drafts
8
12
  */
9
13
  import { tool, z } from '@cyanheads/mcp-ts-core';
@@ -24,7 +28,27 @@ const ContentUrlsSchema = z
24
28
  pdf: z.string().optional().describe('PDF rendition URL.'),
25
29
  rtf: z.string().optional().describe('RTF rendition URL.'),
26
30
  })
27
- .describe('Rendition URLs of the main document (attachments are excluded).');
31
+ .describe('Rendition URLs of the main document (companion documents ride in materials).');
32
+ /**
33
+ * Content types of the companion documents a draft ships beside its bill text. Everything
34
+ * else RIS lists is either the bill itself (`MainDocument`) or one of the dozens of inline
35
+ * formula images per record (`EmbeddedAttachment`, ~55 per record — noise for a caller).
36
+ */
37
+ const COMPANION_CONTENT_TYPES = new Set(['Material', 'Letter', 'Attachment']);
38
+ const MaterialSchema = z
39
+ .object({
40
+ type: z
41
+ .string()
42
+ .describe('Content type — Material (Erläuterungen, Textgegenüberstellung, Vorblatt/WFA), Letter (the Begleitschreiben covering the review draft), or Attachment (annex texts, e.g. treaty translations). The reliable discriminator: name is free text and varies per record.'),
43
+ name: z
44
+ .string()
45
+ .optional()
46
+ .describe('RIS-supplied label, as filed. Unstable across records — the same content appears as "Vorblatt und WFA", "Vorblatt+WFA", or "WFA"; "Textgegenüberstellung" or "TGÜ". Read type, not this, to classify.'),
47
+ url: z
48
+ .string()
49
+ .describe('One rendition URL for this companion — its HTML rendition, or its PDF where RIS files no HTML one (roughly one companion in eight, nearly all of them review-draft covering letters). Pass it to ris_get_document as document_url: the extension is discarded there and format selects what comes back (markdown, html, or the RIS Nutzdaten xml of this companion, plus the companion’s own rendition URLs under urls_only), so this one URL reaches every text rendition the companion has. A PDF-only companion has none, and the URL is a direct download. The filename is opaque and per-record, so no document number reaches it.'),
50
+ })
51
+ .describe('One companion document filed alongside the draft.');
28
52
  const DraftRecordSchema = z
29
53
  .object({
30
54
  document_number: z
@@ -47,12 +71,19 @@ const DraftRecordSchema = z
47
71
  .string()
48
72
  .optional()
49
73
  .describe('Council-of-ministers adoption date (Beschlussdatum) — government_bills only.'),
74
+ document_url: z
75
+ .string()
76
+ .optional()
77
+ .describe('RIS web view of the draft document (DokumentUrl) — for humans.'),
78
+ materials: z
79
+ .array(MaterialSchema)
80
+ .describe('Companion documents filed with the draft — the Erläuterungen (explanatory notes, carrying the reasoning the bill text omits), Textgegenüberstellung (redline against the current law), Vorblatt/WFA (impact assessment), the covering letter, and any annexes. Read one by passing its url to ris_get_document as document_url. Empty when the ministry filed none; coverage is uneven by design.'),
50
81
  content_urls: ContentUrlsSchema,
51
82
  })
52
83
  .describe('One pipeline document — a review draft or a government bill.');
53
- /** Pick the four core rendition URLs off a normalized hit. */
54
- function pickContentUrls(hit) {
55
- const { html, pdf, rtf, xml } = hit.contentUrls;
84
+ /** Pick the four core rendition URLs off a normalized URL set. */
85
+ function pickContentUrls(urls) {
86
+ const { html, pdf, rtf, xml } = urls;
56
87
  return {
57
88
  ...(xml !== undefined && { xml }),
58
89
  ...(html !== undefined && { html }),
@@ -60,12 +91,47 @@ function pickContentUrls(hit) {
60
91
  ...(rtf !== undefined && { rtf }),
61
92
  };
62
93
  }
94
+ /**
95
+ * Pick the draft's companion documents off a normalized hit. `normalizeHit` parses every
96
+ * content reference; the main document's renditions are already served as `content_urls`,
97
+ * and the inline formula images are per-record temporary files with nothing to read.
98
+ *
99
+ * One URL per companion, not the rendition set RIS lists: `ris_get_document` validates a
100
+ * companion URL's extension and then discards it, rebuilding the rendition from its own
101
+ * `format` input, so every spelling of the URL is the same handle. HTML is preferred — the
102
+ * rendition the default `markdown` format reads, and the one that opens in a browser.
103
+ *
104
+ * The fallback is not a guard against an impossible state. 2,829 of the 23,483 companions
105
+ * across the full live Begut + RegV corpus (12.0%) carry no HTML rendition — 2,820 Begut
106
+ * covering letters and 9 RegV treaty texts — and RIS 404s a rendition it does not list, so
107
+ * those are PDF downloads with no text rendition to render.
108
+ */
109
+ function pickMaterials(hit) {
110
+ return hit.contentReferences.flatMap((reference) => {
111
+ const { name, type, urls } = reference;
112
+ if (type === undefined || !COMPANION_CONTENT_TYPES.has(type))
113
+ return [];
114
+ const url = urls.html ?? urls.pdf ?? urls.xml ?? urls.rtf;
115
+ if (url === undefined)
116
+ return [];
117
+ return [{ type, ...(name !== undefined && { name }), url }];
118
+ });
119
+ }
120
+ /** Render a rendition-URL set as markdown links; `''` when the set carries none. */
121
+ function renditionLinks(urls) {
122
+ return ['html', 'pdf', 'rtf', 'xml']
123
+ .filter((key) => urls[key] !== undefined)
124
+ .map((key) => `[${key.toUpperCase()}](${urls[key]})`)
125
+ .join(' · ');
126
+ }
63
127
  /** Map a normalized RIS hit (Begut/RegV ride the Bundesrecht controller) to the record shape. */
64
128
  function toRecord(hit, stage) {
65
129
  const base = {
66
- content_urls: pickContentUrls(hit),
130
+ content_urls: pickContentUrls(hit.contentUrls),
67
131
  document_number: hit.documentNumber,
132
+ materials: pickMaterials(hit),
68
133
  stage,
134
+ ...(hit.documentUrl !== undefined && { document_url: hit.documentUrl }),
69
135
  };
70
136
  const md = hit.metadata;
71
137
  if (md.controller === 'Bundesrecht') {
@@ -83,7 +149,7 @@ function toRecord(hit, stage) {
83
149
  }
84
150
  export const risSearchDrafts = tool('ris_search_drafts', {
85
151
  title: 'Search Draft Legislation',
86
- description: 'Search Austria’s federal lawmaking pipeline BEFORE promulgation — the monitoring counterpart to ris_search_gazette (what will become law). stage selects the phase: review_drafts (Begutachtungsentwürfe — draft laws a ministry has put into public review, before any government bill exists) or government_bills (Regierungsvorlagen — bills the council of ministers adopted and submitted to parliament, 2004+). Filter by query (full text), title, ministry (accepts an abbreviation like "BMF" — expanded to RIS’s exact designation; the historical name at submission time counts), in_review_on (review_drafts only — drafts whose review window covers the date; today = "what is in Begutachtung right now"), or decided_from/to (government_bills only — council adoption date). changed_since gives coarse recency. Documents are preparatory, not binding law. Ministry codes: ris_list_reference topic ministries.',
152
+ description: 'Search Austria’s federal lawmaking pipeline BEFORE promulgation — the monitoring counterpart to ris_search_gazette (what will become law). stage selects the phase: review_drafts (Begutachtungsentwürfe — draft laws a ministry has put into public review, before any government bill exists) or government_bills (Regierungsvorlagen — bills the council of ministers adopted and submitted to parliament, 2004+). Filter by query (full text), title, ministry (accepts an abbreviation like "BMF" — expanded to RIS’s exact designation; the historical name at submission time counts), in_review_on (review_drafts only — drafts whose review window covers the date; today = "what is in Begutachtung right now"), or decided_from/to (government_bills only — council adoption date). changed_since gives coarse recency. Each record carries materials — the companion documents filed with the draft (Erläuterungen, Textgegenüberstellung, Vorblatt/WFA, covering letter, annexes); the Erläuterungen carry the drafting reasoning the bill text omits, and passing a materials[].url to ris_get_document as document_url is the only way to read one (format there picks the rendition returned). Documents are preparatory, not binding law. Ministry codes: ris_list_reference topic ministries.',
87
153
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: true },
88
154
  input: z.object({
89
155
  stage: z
@@ -252,11 +318,17 @@ export const risSearchDrafts = tool('ris_search_drafts', {
252
318
  dates.push(`**Decided:** ${r.decided}`);
253
319
  if (dates.length > 0)
254
320
  lines.push(dates.join(' | '));
255
- const urls = ['html', 'pdf', 'rtf', 'xml']
256
- .filter((key) => r.content_urls[key] !== undefined)
257
- .map((key) => `[${key.toUpperCase()}](${r.content_urls[key]})`);
258
- if (urls.length > 0)
259
- lines.push(`**Text:** ${urls.join(' · ')}`);
321
+ if (r.document_url !== undefined)
322
+ lines.push(`**RIS view:** ${r.document_url}`);
323
+ const urls = renditionLinks(r.content_urls);
324
+ if (urls !== '')
325
+ lines.push(`**Text:** ${urls}`);
326
+ if (r.materials.length > 0) {
327
+ lines.push('**Materials:**');
328
+ for (const material of r.materials) {
329
+ lines.push(`- ${material.name ?? material.type} (${material.type}) — ${material.url}`);
330
+ }
331
+ }
260
332
  return lines.join('\n');
261
333
  });
262
334
  return [{ type: 'text', text: blocks.join('\n\n') }];
@@ -1 +1 @@
1
- {"version":3,"file":"ris-search-drafts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-drafts.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ris-search-drafts.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/ris-search-drafts.tool.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,15 @@ export declare class RisService {
56
56
  /**
57
57
  * Construct a content URL for a document number from the per-application path-segment
58
58
  * map (`/Dokumente/{segment}/{DOKNR}/{DOKNR}.{format}`), harvested live 2026-07-05.
59
+ *
60
+ * `contentName` names a file inside the document's folder other than the main rendition —
61
+ * one of the companion documents a draft ships alongside its bill text
62
+ * (`/Dokumente/{segment}/{DOKNR}/{contentName}.{format}`). RIS names those opaquely and in
63
+ * several shapes, so the caller's URL is the only source for one. It is held to the same
64
+ * safe-character pattern as the document number, so nothing outside the folder is
65
+ * constructible.
59
66
  */
60
- buildDocumentContentUrl(application: string, documentNumber: string, format: RisContentFormat): string;
67
+ buildDocumentContentUrl(application: string, documentNumber: string, format: RisContentFormat, contentName?: string): string;
61
68
  /** Fetch one document rendition from the content host (allowlist-guarded). */
62
69
  fetchDocumentContent(url: string, ctx: Context): Promise<RisDocumentContent>;
63
70
  /** Run one search request with retry wrapping the full fetch + parse pipeline. */
@@ -1 +1 @@
1
- {"version":3,"file":"ris-service.d.ts","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAuB/D,OAAO,EACL,KAAK,yBAAyB,EAO9B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyFpF,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,YAAI,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AASpE;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,GAAG,CAenF;AAED;;;GAGG;AACH,qBAAa,UAAU;IAET,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,wEAAwE;IACxE,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEjD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,SAAS;IAKjB,2FAA2F;IAC3F,OAAO,CAAC,cAAc;IAatB,gFAAgF;IAC1E,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAE/F;IAED,mFAAmF;IAC7E,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAEvF;IAED,6FAA6F;IACvF,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAEvF;IAED,+EAA+E;IACzE,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAErF;IAED,qEAAqE;IAC/D,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,EACjC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,eAAe,CAAC,CAE1B;IAED,8EAA8E;IACxE,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAOlF;IAED;;;OAGG;IACH,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,gBAAgB,GACvB,MAAM,CAwBR;IAED,8EAA8E;IACxE,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiCjF;IAED,kFAAkF;YACpE,MAAM;IASpB;;;;OAIG;YACW,OAAO;IAsBrB,oFAAoF;YACtE,SAAS;CA0CxB;AAMD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEtD;AAED,uFAAuF;AACvF,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
1
+ {"version":3,"file":"ris-service.d.ts","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAuB/D,OAAO,EACL,KAAK,yBAAyB,EAO9B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAyFpF,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,YAAI,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AASpE;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,GAAG,CAenF;AAED;;;GAGG;AACH,qBAAa,UAAU;IAET,OAAO,CAAC,QAAQ,CAAC,QAAQ;IADrC,wEAAwE;IACxE,YAA6B,QAAQ,EAAE,MAAM,EAAI;IAEjD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,SAAS;IAKjB,2FAA2F;IAC3F,OAAO,CAAC,cAAc;IAatB,gFAAgF;IAC1E,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAE/F;IAED,mFAAmF;IAC7E,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAEvF;IAED,6FAA6F;IACvF,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAEvF;IAED,+EAA+E;IACzE,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAErF;IAED,qEAAqE;IAC/D,mBAAmB,CACvB,MAAM,EAAE,yBAAyB,EACjC,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,eAAe,CAAC,CAE1B;IAED,8EAA8E;IACxE,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAOlF;IAED;;;;;;;;;;OAUG;IACH,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CA8BR;IAED,8EAA8E;IACxE,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiCjF;IAED,kFAAkF;YACpE,MAAM;IASpB;;;;OAIG;YACW,OAAO;IAsBrB,oFAAoF;YACtE,SAAS;CA0CxB;AAMD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEtD;AAED,uFAAuF;AACvF,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}
@@ -180,8 +180,15 @@ export class RisService {
180
180
  /**
181
181
  * Construct a content URL for a document number from the per-application path-segment
182
182
  * map (`/Dokumente/{segment}/{DOKNR}/{DOKNR}.{format}`), harvested live 2026-07-05.
183
+ *
184
+ * `contentName` names a file inside the document's folder other than the main rendition —
185
+ * one of the companion documents a draft ships alongside its bill text
186
+ * (`/Dokumente/{segment}/{DOKNR}/{contentName}.{format}`). RIS names those opaquely and in
187
+ * several shapes, so the caller's URL is the only source for one. It is held to the same
188
+ * safe-character pattern as the document number, so nothing outside the folder is
189
+ * constructible.
183
190
  */
184
- buildDocumentContentUrl(application, documentNumber, format) {
191
+ buildDocumentContentUrl(application, documentNumber, format, contentName) {
185
192
  const segment = CONTENT_PATH_SEGMENTS.get(application);
186
193
  if (segment === undefined) {
187
194
  throw validationError(`Unknown RIS application "${application}".`, {
@@ -197,8 +204,14 @@ export class RisService {
197
204
  documentNumber,
198
205
  });
199
206
  }
207
+ if (contentName !== undefined && !DOCUMENT_NUMBER_PATTERN.test(contentName)) {
208
+ throw validationError(`"${contentName}" is not a valid RIS content filename.`, {
209
+ contentName,
210
+ });
211
+ }
200
212
  const doknr = encodeURIComponent(documentNumber);
201
- return `${this.config.contentBaseUrl}/Dokumente/${segment}/${doknr}/${doknr}.${format}`;
213
+ const file = contentName === undefined ? doknr : encodeURIComponent(contentName);
214
+ return `${this.config.contentBaseUrl}/Dokumente/${segment}/${doknr}/${file}.${format}`;
202
215
  }
203
216
  /** Fetch one document rendition from the content host (allowlist-guarded). */
204
217
  async fetchDocumentContent(url, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"ris-service.js","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ris-service.js","sourceRoot":"","sources":["../../../src/services/ris/ris-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/ris-austria-mcp-server",
3
- "version": "0.2.7",
3
+ "version": "0.4.0",
4
4
  "mcpName": "io.github.cyanheads/ris-austria-mcp-server",
5
5
  "description": "Search Austrian consolidated federal & state law, court decisions, and the authentic Bundesgesetzblatt from the official RIS via MCP. Keyless. STDIO or Streamable HTTP.",
6
6
  "type": "module",
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/ris-austria-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.2.7",
9
+ "version": "0.4.0",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/ris-austria-mcp-server",
21
21
  "runtimeHint": "node",
22
- "version": "0.2.7",
22
+ "version": "0.4.0",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -54,7 +54,7 @@
54
54
  "registryBaseUrl": "https://registry.npmjs.org",
55
55
  "identifier": "@cyanheads/ris-austria-mcp-server",
56
56
  "runtimeHint": "node",
57
- "version": "0.2.7",
57
+ "version": "0.4.0",
58
58
  "packageArguments": [
59
59
  {
60
60
  "type": "positional",