@cyanheads/ris-austria-mcp-server 0.4.3 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +32 -8
- package/CLAUDE.md +32 -8
- package/README.md +103 -137
- package/changelog/0.4.x/0.4.4.md +30 -0
- package/changelog/0.5.x/0.5.0.md +29 -0
- package/changelog/template.md +7 -7
- package/dist/config/server-config.d.ts.map +1 -1
- package/dist/config/server-config.js +1 -1
- package/dist/config/server-config.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared.d.ts +27 -4
- package/dist/mcp-server/tools/definitions/_shared.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/_shared.js +37 -0
- package/dist/mcp-server/tools/definitions/_shared.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts +19 -7
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js +61 -27
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js +21 -10
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js +1 -5
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts +12 -3
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js +49 -62
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts +3 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js +26 -52
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts +12 -3
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js +22 -28
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts +10 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js +29 -40
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts +4 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js +20 -43
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts +4 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js +6 -11
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js.map +1 -1
- package/dist/services/ris/reference/changed-since-intervals.d.ts +5 -3
- package/dist/services/ris/reference/changed-since-intervals.d.ts.map +1 -1
- package/dist/services/ris/reference/changed-since-intervals.js +4 -2
- package/dist/services/ris/reference/changed-since-intervals.js.map +1 -1
- package/dist/services/ris/reference/collections.d.ts +10 -6
- package/dist/services/ris/reference/collections.d.ts.map +1 -1
- package/dist/services/ris/reference/collections.js +29 -3
- package/dist/services/ris/reference/collections.js.map +1 -1
- package/dist/services/ris/reference/issuing-bodies.d.ts +57 -22
- package/dist/services/ris/reference/issuing-bodies.d.ts.map +1 -1
- package/dist/services/ris/reference/issuing-bodies.js +58 -23
- package/dist/services/ris/reference/issuing-bodies.js.map +1 -1
- package/dist/services/ris/reference/ministries.d.ts +56 -2
- package/dist/services/ris/reference/ministries.d.ts.map +1 -1
- package/dist/services/ris/reference/ministries.js +65 -1
- package/dist/services/ris/reference/ministries.js.map +1 -1
- package/dist/services/ris/request-builder.d.ts +20 -3
- package/dist/services/ris/request-builder.d.ts.map +1 -1
- package/dist/services/ris/request-builder.js +69 -17
- package/dist/services/ris/request-builder.js.map +1 -1
- package/dist/services/ris/ris-service.d.ts +21 -8
- package/dist/services/ris/ris-service.d.ts.map +1 -1
- package/dist/services/ris/ris-service.js +57 -31
- package/dist/services/ris/ris-service.js.map +1 -1
- package/package.json +8 -8
- package/server.json +5 -5
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
* ministries. Compiled from the OGD Handbook V2.6 value lists: `EinbringendeStelle`
|
|
4
4
|
* (BgblAuth/Begut/RegV — phrase match, the bare abbreviation matches), Mrp `Einbringer`
|
|
5
5
|
* (exact match against the full "ABBR (Name)" composite), and Erlaesse `Bundesministerium`
|
|
6
|
-
* (exact match against the full designation only).
|
|
6
|
+
* (exact match against the full designation only). The ministries in office since 2025 post-date
|
|
7
|
+
* the Handbook: their rows carry the spellings the live corpus uses (full Mrp and Erlaesse
|
|
8
|
+
* sweeps plus per-abbreviation `EinbringendeStelle` probes on Begut/RegV/BgblAuth, 2026-09-24).
|
|
9
|
+
* Both exact-match parameters are free strings upstream — an unlisted value matches nothing
|
|
10
|
+
* rather than failing validation.
|
|
7
11
|
* @module services/ris/reference/ministries
|
|
8
12
|
*/
|
|
9
13
|
/** Which RIS issuer parameter families accept a ministry value. */
|
|
@@ -18,7 +22,7 @@ export type MinistryParamFamily =
|
|
|
18
22
|
export interface Ministry {
|
|
19
23
|
/** Official abbreviation ("BMF"); null for older Erlaesse-only designations. */
|
|
20
24
|
readonly abbreviation: string | null;
|
|
21
|
-
/** Parameter families whose
|
|
25
|
+
/** Parameter families whose value lists (documented, or live-verified for 2025+) carry it. */
|
|
22
26
|
readonly acceptedBy: readonly MinistryParamFamily[];
|
|
23
27
|
/** Full German designation without the abbreviation prefix. */
|
|
24
28
|
readonly designation: string;
|
|
@@ -51,6 +55,11 @@ export declare const RIS_MINISTRIES: readonly [{
|
|
|
51
55
|
readonly designation: 'Bundesministerium für Arbeit, Soziales, Gesundheit und Konsumentenschutz';
|
|
52
56
|
readonly mrpComposite: 'BMASGK (Bundesministerium für Arbeit, Soziales, Gesundheit und Konsumentenschutz)';
|
|
53
57
|
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
58
|
+
}, {
|
|
59
|
+
readonly abbreviation: 'BMASGPK';
|
|
60
|
+
readonly designation: 'Bundesministerium für Arbeit, Soziales, Gesundheit, Pflege und Konsumentenschutz';
|
|
61
|
+
readonly mrpComposite: 'BMASGPK (Bundesministerium für Arbeit, Soziales, Gesundheit, Pflege und Konsumentenschutz)';
|
|
62
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
54
63
|
}, {
|
|
55
64
|
readonly abbreviation: 'BMASK';
|
|
56
65
|
readonly designation: 'Bundesministerium für Arbeit, Soziales und Konsumentenschutz';
|
|
@@ -96,6 +105,16 @@ export declare const RIS_MINISTRIES: readonly [{
|
|
|
96
105
|
readonly designation: 'Bundesministerium für europäische und internationale Angelegenheiten';
|
|
97
106
|
readonly mrpComposite: 'BMEIA (Bundesministerium für europäische und internationale Angelegenheiten)';
|
|
98
107
|
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
108
|
+
}, {
|
|
109
|
+
readonly abbreviation: 'BMEIF';
|
|
110
|
+
readonly designation: 'Bundesministerin für Europa, Integration und Familie im Bundeskanzleramt';
|
|
111
|
+
readonly mrpComposite: 'BMEIF (Bundesministerin für Europa, Integration und Familie im Bundeskanzleramt)';
|
|
112
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
113
|
+
}, {
|
|
114
|
+
readonly abbreviation: 'BMEIF';
|
|
115
|
+
readonly designation: 'Bundesministerium für Europa, Integration und Familie';
|
|
116
|
+
readonly mrpComposite: 'BMEIF (Bundesministerium für Europa, Integration und Familie)';
|
|
117
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
99
118
|
}, {
|
|
100
119
|
readonly abbreviation: 'BMEUV';
|
|
101
120
|
readonly designation: 'Bundesministerin für EU und Verfassung im Bundeskanzleramt';
|
|
@@ -111,11 +130,26 @@ export declare const RIS_MINISTRIES: readonly [{
|
|
|
111
130
|
readonly designation: 'Bundesministerin für Frauen, Familie, Integration und Medien im Bundeskanzleramt';
|
|
112
131
|
readonly mrpComposite: 'BMFFIM (Bundesministerin für Frauen, Familie, Integration und Medien im Bundeskanzleramt)';
|
|
113
132
|
readonly acceptedBy: readonly ["einbringende_stelle", "mrp_einbringer"];
|
|
133
|
+
}, {
|
|
134
|
+
readonly abbreviation: 'BMFFJI';
|
|
135
|
+
readonly designation: 'Bundesministerin für Frauen, Familie, Jugend und Integration im Bundeskanzleramt';
|
|
136
|
+
readonly mrpComposite: 'BMFFJI (Bundesministerin für Frauen, Familie, Jugend und Integration im Bundeskanzleramt)';
|
|
137
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
138
|
+
}, {
|
|
139
|
+
readonly abbreviation: 'BMFI';
|
|
140
|
+
readonly designation: 'Bundesministerin für Frauen und Integration';
|
|
141
|
+
readonly mrpComposite: 'BMFI (Bundesministerin für Frauen und Integration)';
|
|
142
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
114
143
|
}, {
|
|
115
144
|
readonly abbreviation: 'BMFJ';
|
|
116
145
|
readonly designation: 'Bundesministerium für Familien und Jugend';
|
|
117
146
|
readonly mrpComposite: 'BMFJ (Bundesministerium für Familien und Jugend)';
|
|
118
147
|
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
148
|
+
}, {
|
|
149
|
+
readonly abbreviation: 'BMFWF';
|
|
150
|
+
readonly designation: 'Bundesministerium für Frauen, Wissenschaft und Forschung';
|
|
151
|
+
readonly mrpComposite: 'BMFWF (Bundesministerium für Frauen, Wissenschaft und Forschung)';
|
|
152
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
119
153
|
}, {
|
|
120
154
|
readonly abbreviation: 'BMG';
|
|
121
155
|
readonly designation: 'Bundesministerium für Gesundheit';
|
|
@@ -136,6 +170,11 @@ export declare const RIS_MINISTRIES: readonly [{
|
|
|
136
170
|
readonly designation: 'Bundesministerium für Inneres';
|
|
137
171
|
readonly mrpComposite: 'BMI (Bundesministerium für Inneres)';
|
|
138
172
|
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
173
|
+
}, {
|
|
174
|
+
readonly abbreviation: 'BMIMI';
|
|
175
|
+
readonly designation: 'Bundesministerium für Innovation, Mobilität und Infrastruktur';
|
|
176
|
+
readonly mrpComposite: 'BMIMI (Bundesministerium für Innovation, Mobilität und Infrastruktur)';
|
|
177
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
139
178
|
}, {
|
|
140
179
|
readonly abbreviation: 'BMJ';
|
|
141
180
|
readonly designation: 'Bundesministerium für Justiz';
|
|
@@ -166,6 +205,11 @@ export declare const RIS_MINISTRIES: readonly [{
|
|
|
166
205
|
readonly designation: 'Bundesministerium für Landwirtschaft, Regionen und Tourismus';
|
|
167
206
|
readonly mrpComposite: 'BMLRT (Bundesministerium für Landwirtschaft, Regionen und Tourismus)';
|
|
168
207
|
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
208
|
+
}, {
|
|
209
|
+
readonly abbreviation: 'BMLUK';
|
|
210
|
+
readonly designation: 'Bundesministerium für Land- und Forstwirtschaft, Klima- und Umweltschutz, Regionen und Wasserwirtschaft';
|
|
211
|
+
readonly mrpComposite: 'BMLUK (Bundesministerium für Land- und Forstwirtschaft, Klima- und Umweltschutz, Regionen und Wasserwirtschaft)';
|
|
212
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
169
213
|
}, {
|
|
170
214
|
readonly abbreviation: 'BMLV';
|
|
171
215
|
readonly designation: 'Bundesministerium für Landesverteidigung';
|
|
@@ -221,6 +265,11 @@ export declare const RIS_MINISTRIES: readonly [{
|
|
|
221
265
|
readonly designation: 'Bundesministerium für Wirtschaft und Arbeit';
|
|
222
266
|
readonly mrpComposite: 'BMWA (Bundesministerium für Wirtschaft und Arbeit)';
|
|
223
267
|
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
268
|
+
}, {
|
|
269
|
+
readonly abbreviation: 'BMWET';
|
|
270
|
+
readonly designation: 'Bundesministerium für Wirtschaft, Energie und Tourismus';
|
|
271
|
+
readonly mrpComposite: 'BMWET (Bundesministerium für Wirtschaft, Energie und Tourismus)';
|
|
272
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
224
273
|
}, {
|
|
225
274
|
readonly abbreviation: 'BMWF';
|
|
226
275
|
readonly designation: 'Bundesministerium für Wissenschaft und Forschung';
|
|
@@ -236,6 +285,11 @@ export declare const RIS_MINISTRIES: readonly [{
|
|
|
236
285
|
readonly designation: 'Bundesministerium für Wissenschaft, Forschung und Wirtschaft';
|
|
237
286
|
readonly mrpComposite: 'BMWFW (Bundesministerium für Wissenschaft, Forschung und Wirtschaft)';
|
|
238
287
|
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
288
|
+
}, {
|
|
289
|
+
readonly abbreviation: 'BMWKMS';
|
|
290
|
+
readonly designation: 'Bundesministerium für Wohnen, Kunst, Kultur, Medien und Sport';
|
|
291
|
+
readonly mrpComposite: 'BMWKMS (Bundesministerium für Wohnen, Kunst, Kultur, Medien und Sport)';
|
|
292
|
+
readonly acceptedBy: readonly ["einbringende_stelle", "erlaesse_bundesministerium", "mrp_einbringer"];
|
|
239
293
|
}, {
|
|
240
294
|
readonly abbreviation: 'PARLAMENT';
|
|
241
295
|
readonly designation: 'Parlament';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ministries.d.ts","sourceRoot":"","sources":["../../../../src/services/ris/reference/ministries.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ministries.d.ts","sourceRoot":"","sources":["../../../../src/services/ris/reference/ministries.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
* ministries. Compiled from the OGD Handbook V2.6 value lists: `EinbringendeStelle`
|
|
4
4
|
* (BgblAuth/Begut/RegV — phrase match, the bare abbreviation matches), Mrp `Einbringer`
|
|
5
5
|
* (exact match against the full "ABBR (Name)" composite), and Erlaesse `Bundesministerium`
|
|
6
|
-
* (exact match against the full designation only).
|
|
6
|
+
* (exact match against the full designation only). The ministries in office since 2025 post-date
|
|
7
|
+
* the Handbook: their rows carry the spellings the live corpus uses (full Mrp and Erlaesse
|
|
8
|
+
* sweeps plus per-abbreviation `EinbringendeStelle` probes on Begut/RegV/BgblAuth, 2026-09-24).
|
|
9
|
+
* Both exact-match parameters are free strings upstream — an unlisted value matches nothing
|
|
10
|
+
* rather than failing validation.
|
|
7
11
|
* @module services/ris/reference/ministries
|
|
8
12
|
*/
|
|
9
13
|
/** All ministry designations documented in the OGD Handbook V2.6 value lists. */
|
|
@@ -38,6 +42,12 @@ export const RIS_MINISTRIES = [
|
|
|
38
42
|
mrpComposite: 'BMASGK (Bundesministerium für Arbeit, Soziales, Gesundheit und Konsumentenschutz)',
|
|
39
43
|
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
40
44
|
},
|
|
45
|
+
{
|
|
46
|
+
abbreviation: 'BMASGPK',
|
|
47
|
+
designation: 'Bundesministerium für Arbeit, Soziales, Gesundheit, Pflege und Konsumentenschutz',
|
|
48
|
+
mrpComposite: 'BMASGPK (Bundesministerium für Arbeit, Soziales, Gesundheit, Pflege und Konsumentenschutz)',
|
|
49
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
50
|
+
},
|
|
41
51
|
{
|
|
42
52
|
abbreviation: 'BMASK',
|
|
43
53
|
designation: 'Bundesministerium für Arbeit, Soziales und Konsumentenschutz',
|
|
@@ -92,6 +102,18 @@ export const RIS_MINISTRIES = [
|
|
|
92
102
|
mrpComposite: 'BMEIA (Bundesministerium für europäische und internationale Angelegenheiten)',
|
|
93
103
|
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
94
104
|
},
|
|
105
|
+
{
|
|
106
|
+
abbreviation: 'BMEIF',
|
|
107
|
+
designation: 'Bundesministerin für Europa, Integration und Familie im Bundeskanzleramt',
|
|
108
|
+
mrpComposite: 'BMEIF (Bundesministerin für Europa, Integration und Familie im Bundeskanzleramt)',
|
|
109
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
abbreviation: 'BMEIF',
|
|
113
|
+
designation: 'Bundesministerium für Europa, Integration und Familie',
|
|
114
|
+
mrpComposite: 'BMEIF (Bundesministerium für Europa, Integration und Familie)',
|
|
115
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
116
|
+
},
|
|
95
117
|
{
|
|
96
118
|
abbreviation: 'BMEUV',
|
|
97
119
|
designation: 'Bundesministerin für EU und Verfassung im Bundeskanzleramt',
|
|
@@ -110,12 +132,30 @@ export const RIS_MINISTRIES = [
|
|
|
110
132
|
mrpComposite: 'BMFFIM (Bundesministerin für Frauen, Familie, Integration und Medien im Bundeskanzleramt)',
|
|
111
133
|
acceptedBy: ['einbringende_stelle', 'mrp_einbringer'],
|
|
112
134
|
},
|
|
135
|
+
{
|
|
136
|
+
abbreviation: 'BMFFJI',
|
|
137
|
+
designation: 'Bundesministerin für Frauen, Familie, Jugend und Integration im Bundeskanzleramt',
|
|
138
|
+
mrpComposite: 'BMFFJI (Bundesministerin für Frauen, Familie, Jugend und Integration im Bundeskanzleramt)',
|
|
139
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
abbreviation: 'BMFI',
|
|
143
|
+
designation: 'Bundesministerin für Frauen und Integration',
|
|
144
|
+
mrpComposite: 'BMFI (Bundesministerin für Frauen und Integration)',
|
|
145
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
146
|
+
},
|
|
113
147
|
{
|
|
114
148
|
abbreviation: 'BMFJ',
|
|
115
149
|
designation: 'Bundesministerium für Familien und Jugend',
|
|
116
150
|
mrpComposite: 'BMFJ (Bundesministerium für Familien und Jugend)',
|
|
117
151
|
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
118
152
|
},
|
|
153
|
+
{
|
|
154
|
+
abbreviation: 'BMFWF',
|
|
155
|
+
designation: 'Bundesministerium für Frauen, Wissenschaft und Forschung',
|
|
156
|
+
mrpComposite: 'BMFWF (Bundesministerium für Frauen, Wissenschaft und Forschung)',
|
|
157
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
158
|
+
},
|
|
119
159
|
{
|
|
120
160
|
abbreviation: 'BMG',
|
|
121
161
|
designation: 'Bundesministerium für Gesundheit',
|
|
@@ -140,6 +180,12 @@ export const RIS_MINISTRIES = [
|
|
|
140
180
|
mrpComposite: 'BMI (Bundesministerium für Inneres)',
|
|
141
181
|
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
142
182
|
},
|
|
183
|
+
{
|
|
184
|
+
abbreviation: 'BMIMI',
|
|
185
|
+
designation: 'Bundesministerium für Innovation, Mobilität und Infrastruktur',
|
|
186
|
+
mrpComposite: 'BMIMI (Bundesministerium für Innovation, Mobilität und Infrastruktur)',
|
|
187
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
188
|
+
},
|
|
143
189
|
{
|
|
144
190
|
abbreviation: 'BMJ',
|
|
145
191
|
designation: 'Bundesministerium für Justiz',
|
|
@@ -176,6 +222,12 @@ export const RIS_MINISTRIES = [
|
|
|
176
222
|
mrpComposite: 'BMLRT (Bundesministerium für Landwirtschaft, Regionen und Tourismus)',
|
|
177
223
|
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
178
224
|
},
|
|
225
|
+
{
|
|
226
|
+
abbreviation: 'BMLUK',
|
|
227
|
+
designation: 'Bundesministerium für Land- und Forstwirtschaft, Klima- und Umweltschutz, Regionen und Wasserwirtschaft',
|
|
228
|
+
mrpComposite: 'BMLUK (Bundesministerium für Land- und Forstwirtschaft, Klima- und Umweltschutz, Regionen und Wasserwirtschaft)',
|
|
229
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
230
|
+
},
|
|
179
231
|
{
|
|
180
232
|
abbreviation: 'BMLV',
|
|
181
233
|
designation: 'Bundesministerium für Landesverteidigung',
|
|
@@ -242,6 +294,12 @@ export const RIS_MINISTRIES = [
|
|
|
242
294
|
mrpComposite: 'BMWA (Bundesministerium für Wirtschaft und Arbeit)',
|
|
243
295
|
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
244
296
|
},
|
|
297
|
+
{
|
|
298
|
+
abbreviation: 'BMWET',
|
|
299
|
+
designation: 'Bundesministerium für Wirtschaft, Energie und Tourismus',
|
|
300
|
+
mrpComposite: 'BMWET (Bundesministerium für Wirtschaft, Energie und Tourismus)',
|
|
301
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
302
|
+
},
|
|
245
303
|
{
|
|
246
304
|
abbreviation: 'BMWF',
|
|
247
305
|
designation: 'Bundesministerium für Wissenschaft und Forschung',
|
|
@@ -260,6 +318,12 @@ export const RIS_MINISTRIES = [
|
|
|
260
318
|
mrpComposite: 'BMWFW (Bundesministerium für Wissenschaft, Forschung und Wirtschaft)',
|
|
261
319
|
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
262
320
|
},
|
|
321
|
+
{
|
|
322
|
+
abbreviation: 'BMWKMS',
|
|
323
|
+
designation: 'Bundesministerium für Wohnen, Kunst, Kultur, Medien und Sport',
|
|
324
|
+
mrpComposite: 'BMWKMS (Bundesministerium für Wohnen, Kunst, Kultur, Medien und Sport)',
|
|
325
|
+
acceptedBy: ['einbringende_stelle', 'erlaesse_bundesministerium', 'mrp_einbringer'],
|
|
326
|
+
},
|
|
263
327
|
{
|
|
264
328
|
abbreviation: 'PARLAMENT',
|
|
265
329
|
designation: 'Parlament',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ministries.js","sourceRoot":"","sources":["../../../../src/services/ris/reference/ministries.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ministries.js","sourceRoot":"","sources":["../../../../src/services/ris/reference/ministries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Request builders for the RIS OGD API — one thin builder per document
|
|
3
|
-
* class over a shared param bag, plus ministry
|
|
4
|
-
* application aliasing.
|
|
3
|
+
* class over a shared param bag, plus ministry and social-insurance-carrier abbreviation
|
|
4
|
+
* expansion and the History application aliasing.
|
|
5
5
|
*
|
|
6
6
|
* STRICT PARAM ALLOWLIST: RIS silently ignores unknown query params (a typo returns
|
|
7
7
|
* plausible but unfiltered results, never an error), so builders emit only spellings
|
|
@@ -41,13 +41,30 @@ export interface RisRequest {
|
|
|
41
41
|
readonly controller: RisController | 'History';
|
|
42
42
|
readonly params: Readonly<Record<string, string>>;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* `data.reason` on every ministry-expansion rejection. The tools that take a ministry declare it
|
|
46
|
+
* in their error contract, so the rejection reaches the caller with a recovery that points at
|
|
47
|
+
* the ministries table rather than the generic invalid-query advice.
|
|
48
|
+
*/
|
|
49
|
+
export declare const UNRESOLVED_MINISTRY_REASON = "unresolved_ministry";
|
|
44
50
|
/**
|
|
45
51
|
* Resolve a ministry input (abbreviation or full designation) to the value the target
|
|
46
52
|
* issuer-param family needs. Phrase-matched `EinbringendeStelle` gets the bare
|
|
47
53
|
* abbreviation (matches every designation era of that abbreviation — live-confirmed equal
|
|
48
54
|
* to the composite, 536 = 536); the exact-match families get the full designation
|
|
49
55
|
* (Erlaesse `Bundesministerium`) or the `ABBR (Name)` composite (Mrp `Einbringer`).
|
|
50
|
-
*
|
|
56
|
+
*
|
|
57
|
+
* The input is matched against the whole table first and narrowed to the family second, so
|
|
58
|
+
* a ministry the table knows but this family does not accept is rejected as exactly that,
|
|
59
|
+
* naming the parameters that do accept it — never as an unknown ministry that is its own
|
|
60
|
+
* near-miss. `acceptedBy` is taken from the value lists RIS publishes and the live corpus, so
|
|
61
|
+
* a known designation the family lacks is rejected even when it contains whitespace.
|
|
62
|
+
*
|
|
63
|
+
* A value the table does not know passes through unchanged when it contains whitespace: it
|
|
64
|
+
* is a full designation, and a static table that lags a cabinet reshuffle must not block an
|
|
65
|
+
* issuer RIS holds documents for (a phrase or exact match cannot widen the query). An unknown
|
|
66
|
+
* abbreviation-shaped token, or an abbreviation this family cannot resolve to one value,
|
|
67
|
+
* throws a ValidationError naming the near-misses or candidates.
|
|
51
68
|
*/
|
|
52
69
|
export declare function expandMinistry(input: string, family: MinistryParamFamily): string;
|
|
53
70
|
/** Applications reachable through the legislation surface. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-builder.d.ts","sourceRoot":"","sources":["../../../src/services/ris/request-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"request-builder.d.ts","sourceRoot":"","sources":["../../../src/services/ris/request-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Request builders for the RIS OGD API — one thin builder per document
|
|
3
|
-
* class over a shared param bag, plus ministry
|
|
4
|
-
* application aliasing.
|
|
3
|
+
* class over a shared param bag, plus ministry and social-insurance-carrier abbreviation
|
|
4
|
+
* expansion and the History application aliasing.
|
|
5
5
|
*
|
|
6
6
|
* STRICT PARAM ALLOWLIST: RIS silently ignores unknown query params (a typo returns
|
|
7
7
|
* plausible but unfiltered results, never an error), so builders emit only spellings
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* @module services/ris/request-builder
|
|
16
16
|
*/
|
|
17
17
|
import { validationError } from '@cyanheads/mcp-ts-core/errors';
|
|
18
|
-
import { RIS_APPLICATIONS, RIS_CHANGED_SINCE_INTERVALS, RIS_COLLECTIONS, RIS_COURTS, RIS_DECISION_KINDS, RIS_MINISTRIES, RIS_STAGES, RIS_STATES, } from './reference/index.js';
|
|
18
|
+
import { RIS_APPLICATIONS, RIS_CHANGED_SINCE_INTERVALS, RIS_COLLECTIONS, RIS_COURTS, RIS_DECISION_KINDS, RIS_ISSUING_BODIES, RIS_MINISTRIES, RIS_STAGES, RIS_STATES, } from './reference/index.js';
|
|
19
19
|
const PAGE_SIZE_TOKENS = {
|
|
20
20
|
10: 'Ten',
|
|
21
21
|
20: 'Twenty',
|
|
@@ -109,27 +109,56 @@ function stateByCode(code) {
|
|
|
109
109
|
/* ------------------------------------------------------------------------------------ */
|
|
110
110
|
/* Ministry expansion */
|
|
111
111
|
/* ------------------------------------------------------------------------------------ */
|
|
112
|
+
/**
|
|
113
|
+
* `data.reason` on every ministry-expansion rejection. The tools that take a ministry declare it
|
|
114
|
+
* in their error contract, so the rejection reaches the caller with a recovery that points at
|
|
115
|
+
* the ministries table rather than the generic invalid-query advice.
|
|
116
|
+
*/
|
|
117
|
+
export const UNRESOLVED_MINISTRY_REASON = 'unresolved_ministry';
|
|
118
|
+
/** Each issuer-param family as a rejection names it: the RIS parameter and what it serves. */
|
|
119
|
+
const MINISTRY_PARAMETER = {
|
|
120
|
+
einbringende_stelle: 'EinbringendeStelle (review drafts, government bills, federal gazette)',
|
|
121
|
+
erlaesse_bundesministerium: 'Erlaesse Bundesministerium (collection ministerial_decrees)',
|
|
122
|
+
mrp_einbringer: 'Mrp Einbringer (collection council_minutes)',
|
|
123
|
+
};
|
|
112
124
|
/**
|
|
113
125
|
* Resolve a ministry input (abbreviation or full designation) to the value the target
|
|
114
126
|
* issuer-param family needs. Phrase-matched `EinbringendeStelle` gets the bare
|
|
115
127
|
* abbreviation (matches every designation era of that abbreviation — live-confirmed equal
|
|
116
128
|
* to the composite, 536 = 536); the exact-match families get the full designation
|
|
117
129
|
* (Erlaesse `Bundesministerium`) or the `ABBR (Name)` composite (Mrp `Einbringer`).
|
|
118
|
-
*
|
|
130
|
+
*
|
|
131
|
+
* The input is matched against the whole table first and narrowed to the family second, so
|
|
132
|
+
* a ministry the table knows but this family does not accept is rejected as exactly that,
|
|
133
|
+
* naming the parameters that do accept it — never as an unknown ministry that is its own
|
|
134
|
+
* near-miss. `acceptedBy` is taken from the value lists RIS publishes and the live corpus, so
|
|
135
|
+
* a known designation the family lacks is rejected even when it contains whitespace.
|
|
136
|
+
*
|
|
137
|
+
* A value the table does not know passes through unchanged when it contains whitespace: it
|
|
138
|
+
* is a full designation, and a static table that lags a cabinet reshuffle must not block an
|
|
139
|
+
* issuer RIS holds documents for (a phrase or exact match cannot widen the query). An unknown
|
|
140
|
+
* abbreviation-shaped token, or an abbreviation this family cannot resolve to one value,
|
|
141
|
+
* throws a ValidationError naming the near-misses or candidates.
|
|
119
142
|
*/
|
|
120
143
|
export function expandMinistry(input, family) {
|
|
121
144
|
const needle = input.trim();
|
|
122
145
|
const lower = needle.toLowerCase();
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
146
|
+
const known = RIS_MINISTRIES.filter((ministry) => ministry.abbreviation?.toLowerCase() === lower ||
|
|
147
|
+
ministry.designation.toLowerCase() === lower ||
|
|
148
|
+
ministry.mrpComposite?.toLowerCase() === lower);
|
|
149
|
+
const matches = known.filter((ministry) => ministry.acceptedBy.some((accepted) => accepted === family));
|
|
150
|
+
if (known.length > 0 && matches.length === 0) {
|
|
151
|
+
const acceptedBy = [...new Set(known.flatMap((ministry) => ministry.acceptedBy))];
|
|
152
|
+
throw validationError(`Ministry "${needle}" is not accepted by this issuer parameter, ${MINISTRY_PARAMETER[family]} — RIS lists it only for ${acceptedBy.map((accepted) => MINISTRY_PARAMETER[accepted]).join(' and ')}.`, { acceptedBy, family, input: needle, reason: UNRESOLVED_MINISTRY_REASON });
|
|
153
|
+
}
|
|
127
154
|
if (matches.length === 0) {
|
|
155
|
+
if (/\s/u.test(needle))
|
|
156
|
+
return needle;
|
|
128
157
|
const nearMisses = RIS_MINISTRIES.filter((ministry) => ministry.abbreviation?.toLowerCase().startsWith(lower) ||
|
|
129
158
|
ministry.designation.toLowerCase().includes(lower))
|
|
130
159
|
.slice(0, 3)
|
|
131
160
|
.map((ministry) => ministry.abbreviation ?? ministry.designation);
|
|
132
|
-
throw validationError(`Unknown ministry "${needle}"${nearMisses.length > 0 ? ` — closest matches: ${nearMisses.join(', ')}` : ''}. Pass an abbreviation or full designation from the RIS ministries table.`, { input: needle, nearMisses });
|
|
161
|
+
throw validationError(`Unknown ministry "${needle}"${nearMisses.length > 0 ? ` — closest matches: ${nearMisses.join(', ')}` : ''}. Pass an abbreviation or full designation from the RIS ministries table.`, { input: needle, nearMisses, reason: UNRESOLVED_MINISTRY_REASON });
|
|
133
162
|
}
|
|
134
163
|
if (family === 'einbringende_stelle') {
|
|
135
164
|
const first = matches[0];
|
|
@@ -141,17 +170,25 @@ export function expandMinistry(input, family) {
|
|
|
141
170
|
return value === null ? [] : [value];
|
|
142
171
|
})),
|
|
143
172
|
];
|
|
144
|
-
if (values.length === 0) {
|
|
145
|
-
throw validationError(`Ministry "${needle}" is not accepted by this issuer parameter.`, {
|
|
146
|
-
family,
|
|
147
|
-
input: needle,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
173
|
if (values.length > 1) {
|
|
151
|
-
throw validationError(`Ministry "${needle}" is ambiguous here — pass the full designation instead: ${values.join(' | ')}.`, { candidates: values, input: needle });
|
|
174
|
+
throw validationError(`Ministry "${needle}" is ambiguous here — pass the full designation instead: ${values.join(' | ')}.`, { candidates: values, input: needle, reason: UNRESOLVED_MINISTRY_REASON });
|
|
152
175
|
}
|
|
153
176
|
return values[0];
|
|
154
177
|
}
|
|
178
|
+
/** Avsv carrier abbreviations, lowercased, to their exact `Urheber` value. */
|
|
179
|
+
const AVSV_ISSUER_BY_ABBREVIATION = new Map(RIS_ISSUING_BODIES.flatMap((body) => body.application === 'Avsv' && body.abbreviation !== undefined
|
|
180
|
+
? [[body.abbreviation.toLowerCase(), body.value]]
|
|
181
|
+
: []));
|
|
182
|
+
/**
|
|
183
|
+
* Expand a social-insurance carrier abbreviation ("ÖGK", case-insensitive) to the exact
|
|
184
|
+
* `Urheber` value RIS matches ("Österreichische Gesundheitskasse (ÖGK)"). Every other value —
|
|
185
|
+
* a full designation, a `<ABBR> Gesamtvertrag` series, an issuer the table has not caught up
|
|
186
|
+
* with — passes through unchanged: `Urheber` is an exact, case-insensitive match that refuses
|
|
187
|
+
* wildcards, so an unexpanded value can only miss, never widen the query.
|
|
188
|
+
*/
|
|
189
|
+
function expandSocialInsuranceIssuer(input) {
|
|
190
|
+
return AVSV_ISSUER_BY_ABBREVIATION.get(input.trim().toLowerCase()) ?? input;
|
|
191
|
+
}
|
|
155
192
|
/** Build a legislation search request. */
|
|
156
193
|
export function buildLegislationRequest(params) {
|
|
157
194
|
const app = params.application;
|
|
@@ -543,6 +580,18 @@ const AVN_TYPE_FLAGS = [
|
|
|
543
580
|
'VeroeffentlichungenAufGrundVEVO',
|
|
544
581
|
];
|
|
545
582
|
const NORM_APPS = new Set(['Avn', 'Erlaesse']);
|
|
583
|
+
/**
|
|
584
|
+
* Collections whose backend honors `ImRisSeit` (probed 2026-09-24). Avsv and Avn accept the
|
|
585
|
+
* element — a bogus value fails schema validation — but ignore every valid one and return the
|
|
586
|
+
* whole collection, so `changedSince` is refused there rather than forwarded.
|
|
587
|
+
*/
|
|
588
|
+
const CHANGED_SINCE_APPS = new Set([
|
|
589
|
+
'Erlaesse',
|
|
590
|
+
'KmGer',
|
|
591
|
+
'Mrp',
|
|
592
|
+
'PruefGewO',
|
|
593
|
+
'Spg',
|
|
594
|
+
]);
|
|
546
595
|
/** Sort columns confirmed valid per collection (probed 2026-07-05). */
|
|
547
596
|
const ANNOUNCEMENT_SORT_COLUMNS = {
|
|
548
597
|
Avn: { number: 'Avnnummer', published: 'Kundmachungsdatum' },
|
|
@@ -596,7 +645,7 @@ export function buildAnnouncementsRequest(params) {
|
|
|
596
645
|
}
|
|
597
646
|
if (params.issuer !== undefined) {
|
|
598
647
|
if (app === 'Avsv')
|
|
599
|
-
bag.set('Urheber', params.issuer);
|
|
648
|
+
bag.set('Urheber', expandSocialInsuranceIssuer(params.issuer));
|
|
600
649
|
else if (app === 'Erlaesse')
|
|
601
650
|
bag.set('Bundesministerium', expandMinistry(params.issuer, 'erlaesse_bundesministerium'));
|
|
602
651
|
else if (app === 'Mrp')
|
|
@@ -665,6 +714,9 @@ export function buildAnnouncementsRequest(params) {
|
|
|
665
714
|
unsupported('legislature', app);
|
|
666
715
|
bag.set('Gesetzgebungsperiode', params.legislature);
|
|
667
716
|
}
|
|
717
|
+
if (params.changedSince !== undefined && !CHANGED_SINCE_APPS.has(app)) {
|
|
718
|
+
unsupported('changedSince', app);
|
|
719
|
+
}
|
|
668
720
|
bag.changedSince(params.changedSince);
|
|
669
721
|
if (params.sortBy !== undefined) {
|
|
670
722
|
const columns = ANNOUNCEMENT_SORT_COLUMNS[app] ?? {};
|