ris-mcp-ts 1.0.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/LICENSE +21 -0
- package/README.md +490 -0
- package/dist/client.d.ts +109 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +371 -0
- package/dist/client.js.map +1 -0
- package/dist/constants.d.ts +67 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +168 -0
- package/dist/constants.js.map +1 -0
- package/dist/formatting.d.ts +70 -0
- package/dist/formatting.d.ts.map +1 -0
- package/dist/formatting.js +366 -0
- package/dist/formatting.js.map +1 -0
- package/dist/helpers.d.ts +46 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +92 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/parser.d.ts +48 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +240 -0
- package/dist/parser.js.map +1 -0
- package/dist/server.d.ts +11 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +16 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/bezirke.d.ts +6 -0
- package/dist/tools/bezirke.d.ts.map +1 -0
- package/dist/tools/bezirke.js +68 -0
- package/dist/tools/bezirke.js.map +1 -0
- package/dist/tools/bundesgesetzblatt.d.ts +6 -0
- package/dist/tools/bundesgesetzblatt.d.ts.map +1 -0
- package/dist/tools/bundesgesetzblatt.js +55 -0
- package/dist/tools/bundesgesetzblatt.js.map +1 -0
- package/dist/tools/bundesrecht.d.ts +6 -0
- package/dist/tools/bundesrecht.d.ts.map +1 -0
- package/dist/tools/bundesrecht.js +63 -0
- package/dist/tools/bundesrecht.js.map +1 -0
- package/dist/tools/dokument.d.ts +6 -0
- package/dist/tools/dokument.d.ts.map +1 -0
- package/dist/tools/dokument.js +244 -0
- package/dist/tools/dokument.js.map +1 -0
- package/dist/tools/gemeinden.d.ts +6 -0
- package/dist/tools/gemeinden.d.ts.map +1 -0
- package/dist/tools/gemeinden.js +125 -0
- package/dist/tools/gemeinden.js.map +1 -0
- package/dist/tools/history.d.ts +6 -0
- package/dist/tools/history.d.ts.map +1 -0
- package/dist/tools/history.js +65 -0
- package/dist/tools/history.js.map +1 -0
- package/dist/tools/index.d.ts +12 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +36 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/judikatur.d.ts +6 -0
- package/dist/tools/judikatur.d.ts.map +1 -0
- package/dist/tools/judikatur.js +46 -0
- package/dist/tools/judikatur.js.map +1 -0
- package/dist/tools/landesgesetzblatt.d.ts +6 -0
- package/dist/tools/landesgesetzblatt.d.ts.map +1 -0
- package/dist/tools/landesgesetzblatt.js +60 -0
- package/dist/tools/landesgesetzblatt.js.map +1 -0
- package/dist/tools/landesrecht.d.ts +6 -0
- package/dist/tools/landesrecht.d.ts.map +1 -0
- package/dist/tools/landesrecht.js +51 -0
- package/dist/tools/landesrecht.js.map +1 -0
- package/dist/tools/regierungsvorlagen.d.ts +6 -0
- package/dist/tools/regierungsvorlagen.d.ts.map +1 -0
- package/dist/tools/regierungsvorlagen.js +97 -0
- package/dist/tools/regierungsvorlagen.js.map +1 -0
- package/dist/tools/sonstige.d.ts +6 -0
- package/dist/tools/sonstige.d.ts.map +1 -0
- package/dist/tools/sonstige.js +271 -0
- package/dist/tools/sonstige.js.map +1 -0
- package/dist/tools/verordnungen.d.ts +6 -0
- package/dist/tools/verordnungen.d.ts.map +1 -0
- package/dist/tools/verordnungen.js +68 -0
- package/dist/tools/verordnungen.js.map +1 -0
- package/dist/types.d.ts +471 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +151 -0
- package/dist/types.js.map +1 -0
- package/package.json +87 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas and TypeScript types for the RIS MCP Server.
|
|
3
|
+
*
|
|
4
|
+
* This module defines all data models used for interacting with the Austrian
|
|
5
|
+
* Legal Information System (RIS) API, including enums for various search
|
|
6
|
+
* parameters and document models for representing legal documents.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
/**
|
|
10
|
+
* Application types for federal law searches in RIS.
|
|
11
|
+
*/
|
|
12
|
+
export declare const BundesrechtApplikationSchema: z.ZodEnum<["BrKons", "Begut", "BgblAuth", "Erv"]>;
|
|
13
|
+
export type BundesrechtApplikation = z.infer<typeof BundesrechtApplikationSchema>;
|
|
14
|
+
/**
|
|
15
|
+
* Court types for case law searches in RIS.
|
|
16
|
+
*/
|
|
17
|
+
export declare const JudikaturGerichtSchema: z.ZodEnum<["Justiz", "Vfgh", "Vwgh", "Bvwg", "Lvwg", "Dsk", "AsylGH", "Normenliste", "Pvak", "Gbk", "Dok"]>;
|
|
18
|
+
export type JudikaturGericht = z.infer<typeof JudikaturGerichtSchema>;
|
|
19
|
+
/**
|
|
20
|
+
* Austrian federal states (Bundesländer).
|
|
21
|
+
* Note: Uses Umlauts (ö, ä) for display purposes.
|
|
22
|
+
*/
|
|
23
|
+
export declare const BundeslandSchema: z.ZodEnum<["Wien", "Niederösterreich", "Oberösterreich", "Steiermark", "Tirol", "Kärnten", "Salzburg", "Vorarlberg", "Burgenland"]>;
|
|
24
|
+
export type Bundesland = z.infer<typeof BundeslandSchema>;
|
|
25
|
+
/**
|
|
26
|
+
* Austrian federal states for Landesrecht API (ASCII versions without Umlauts).
|
|
27
|
+
* The RIS API uses the SucheIn format (e.g., Bundesland.SucheInWien=true).
|
|
28
|
+
*/
|
|
29
|
+
export declare const LANDESRECHT_BUNDESLAENDER: readonly ["Wien", "Niederoesterreich", "Oberoesterreich", "Salzburg", "Tirol", "Vorarlberg", "Kaernten", "Steiermark", "Burgenland"];
|
|
30
|
+
export declare const LandesrechtBundeslandSchema: z.ZodEnum<["Wien", "Niederoesterreich", "Oberoesterreich", "Salzburg", "Tirol", "Vorarlberg", "Kaernten", "Steiermark", "Burgenland"]>;
|
|
31
|
+
export type LandesrechtBundesland = z.infer<typeof LandesrechtBundeslandSchema>;
|
|
32
|
+
/**
|
|
33
|
+
* Date format validation schema (YYYY-MM-DD).
|
|
34
|
+
* Used for date parameters in RIS API requests.
|
|
35
|
+
*/
|
|
36
|
+
export declare const DateSchema: z.ZodString;
|
|
37
|
+
export declare const OptionalDateSchema: z.ZodOptional<z.ZodString>;
|
|
38
|
+
/**
|
|
39
|
+
* Number of documents per page for paginated API responses.
|
|
40
|
+
*/
|
|
41
|
+
export declare const DokumenteProSeiteSchema: z.ZodEnum<["Ten", "Twenty", "Fifty", "OneHundred"]>;
|
|
42
|
+
export type DokumenteProSeite = z.infer<typeof DokumenteProSeiteSchema>;
|
|
43
|
+
/**
|
|
44
|
+
* Output format for MCP tool responses.
|
|
45
|
+
*/
|
|
46
|
+
export declare const ResponseFormatSchema: z.ZodEnum<["markdown", "json"]>;
|
|
47
|
+
export type ResponseFormat = z.infer<typeof ResponseFormatSchema>;
|
|
48
|
+
/**
|
|
49
|
+
* URLs for accessing document content in different formats.
|
|
50
|
+
*/
|
|
51
|
+
export declare const ContentUrlSchema: z.ZodObject<{
|
|
52
|
+
xml: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
53
|
+
html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
54
|
+
rtf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
55
|
+
pdf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
56
|
+
}, "strip", z.ZodTypeAny, {
|
|
57
|
+
xml?: string | null | undefined;
|
|
58
|
+
html?: string | null | undefined;
|
|
59
|
+
rtf?: string | null | undefined;
|
|
60
|
+
pdf?: string | null | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
xml?: string | null | undefined;
|
|
63
|
+
html?: string | null | undefined;
|
|
64
|
+
rtf?: string | null | undefined;
|
|
65
|
+
pdf?: string | null | undefined;
|
|
66
|
+
}>;
|
|
67
|
+
export type ContentUrl = z.infer<typeof ContentUrlSchema>;
|
|
68
|
+
/**
|
|
69
|
+
* Citation information for a legal document.
|
|
70
|
+
*/
|
|
71
|
+
export declare const CitationSchema: z.ZodObject<{
|
|
72
|
+
kurztitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
73
|
+
langtitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
74
|
+
kundmachungsorgan: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
75
|
+
paragraph: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
76
|
+
eli: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
77
|
+
inkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
78
|
+
ausserkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
79
|
+
}, "strip", z.ZodTypeAny, {
|
|
80
|
+
kurztitel?: string | null | undefined;
|
|
81
|
+
langtitel?: string | null | undefined;
|
|
82
|
+
kundmachungsorgan?: string | null | undefined;
|
|
83
|
+
paragraph?: string | null | undefined;
|
|
84
|
+
eli?: string | null | undefined;
|
|
85
|
+
inkrafttreten?: string | null | undefined;
|
|
86
|
+
ausserkrafttreten?: string | null | undefined;
|
|
87
|
+
}, {
|
|
88
|
+
kurztitel?: string | null | undefined;
|
|
89
|
+
langtitel?: string | null | undefined;
|
|
90
|
+
kundmachungsorgan?: string | null | undefined;
|
|
91
|
+
paragraph?: string | null | undefined;
|
|
92
|
+
eli?: string | null | undefined;
|
|
93
|
+
inkrafttreten?: string | null | undefined;
|
|
94
|
+
ausserkrafttreten?: string | null | undefined;
|
|
95
|
+
}>;
|
|
96
|
+
export type Citation = z.infer<typeof CitationSchema>;
|
|
97
|
+
/**
|
|
98
|
+
* A single legal document from the RIS database.
|
|
99
|
+
*/
|
|
100
|
+
export declare const DocumentSchema: z.ZodObject<{
|
|
101
|
+
dokumentnummer: z.ZodString;
|
|
102
|
+
applikation: z.ZodString;
|
|
103
|
+
titel: z.ZodString;
|
|
104
|
+
kurztitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
105
|
+
citation: z.ZodObject<{
|
|
106
|
+
kurztitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
107
|
+
langtitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
108
|
+
kundmachungsorgan: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
109
|
+
paragraph: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
110
|
+
eli: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
111
|
+
inkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
112
|
+
ausserkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
113
|
+
}, "strip", z.ZodTypeAny, {
|
|
114
|
+
kurztitel?: string | null | undefined;
|
|
115
|
+
langtitel?: string | null | undefined;
|
|
116
|
+
kundmachungsorgan?: string | null | undefined;
|
|
117
|
+
paragraph?: string | null | undefined;
|
|
118
|
+
eli?: string | null | undefined;
|
|
119
|
+
inkrafttreten?: string | null | undefined;
|
|
120
|
+
ausserkrafttreten?: string | null | undefined;
|
|
121
|
+
}, {
|
|
122
|
+
kurztitel?: string | null | undefined;
|
|
123
|
+
langtitel?: string | null | undefined;
|
|
124
|
+
kundmachungsorgan?: string | null | undefined;
|
|
125
|
+
paragraph?: string | null | undefined;
|
|
126
|
+
eli?: string | null | undefined;
|
|
127
|
+
inkrafttreten?: string | null | undefined;
|
|
128
|
+
ausserkrafttreten?: string | null | undefined;
|
|
129
|
+
}>;
|
|
130
|
+
content_urls: z.ZodObject<{
|
|
131
|
+
xml: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
132
|
+
html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
133
|
+
rtf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
134
|
+
pdf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
135
|
+
}, "strip", z.ZodTypeAny, {
|
|
136
|
+
xml?: string | null | undefined;
|
|
137
|
+
html?: string | null | undefined;
|
|
138
|
+
rtf?: string | null | undefined;
|
|
139
|
+
pdf?: string | null | undefined;
|
|
140
|
+
}, {
|
|
141
|
+
xml?: string | null | undefined;
|
|
142
|
+
html?: string | null | undefined;
|
|
143
|
+
rtf?: string | null | undefined;
|
|
144
|
+
pdf?: string | null | undefined;
|
|
145
|
+
}>;
|
|
146
|
+
dokument_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
147
|
+
gesamte_rechtsvorschrift_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
148
|
+
}, "strip", z.ZodTypeAny, {
|
|
149
|
+
dokumentnummer: string;
|
|
150
|
+
applikation: string;
|
|
151
|
+
titel: string;
|
|
152
|
+
citation: {
|
|
153
|
+
kurztitel?: string | null | undefined;
|
|
154
|
+
langtitel?: string | null | undefined;
|
|
155
|
+
kundmachungsorgan?: string | null | undefined;
|
|
156
|
+
paragraph?: string | null | undefined;
|
|
157
|
+
eli?: string | null | undefined;
|
|
158
|
+
inkrafttreten?: string | null | undefined;
|
|
159
|
+
ausserkrafttreten?: string | null | undefined;
|
|
160
|
+
};
|
|
161
|
+
content_urls: {
|
|
162
|
+
xml?: string | null | undefined;
|
|
163
|
+
html?: string | null | undefined;
|
|
164
|
+
rtf?: string | null | undefined;
|
|
165
|
+
pdf?: string | null | undefined;
|
|
166
|
+
};
|
|
167
|
+
kurztitel?: string | null | undefined;
|
|
168
|
+
dokument_url?: string | null | undefined;
|
|
169
|
+
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
170
|
+
}, {
|
|
171
|
+
dokumentnummer: string;
|
|
172
|
+
applikation: string;
|
|
173
|
+
titel: string;
|
|
174
|
+
citation: {
|
|
175
|
+
kurztitel?: string | null | undefined;
|
|
176
|
+
langtitel?: string | null | undefined;
|
|
177
|
+
kundmachungsorgan?: string | null | undefined;
|
|
178
|
+
paragraph?: string | null | undefined;
|
|
179
|
+
eli?: string | null | undefined;
|
|
180
|
+
inkrafttreten?: string | null | undefined;
|
|
181
|
+
ausserkrafttreten?: string | null | undefined;
|
|
182
|
+
};
|
|
183
|
+
content_urls: {
|
|
184
|
+
xml?: string | null | undefined;
|
|
185
|
+
html?: string | null | undefined;
|
|
186
|
+
rtf?: string | null | undefined;
|
|
187
|
+
pdf?: string | null | undefined;
|
|
188
|
+
};
|
|
189
|
+
kurztitel?: string | null | undefined;
|
|
190
|
+
dokument_url?: string | null | undefined;
|
|
191
|
+
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
192
|
+
}>;
|
|
193
|
+
export type Document = z.infer<typeof DocumentSchema>;
|
|
194
|
+
/**
|
|
195
|
+
* Paginated search results from the RIS API.
|
|
196
|
+
*/
|
|
197
|
+
export declare const SearchResultSchema: z.ZodObject<{
|
|
198
|
+
total_hits: z.ZodNumber;
|
|
199
|
+
page: z.ZodNumber;
|
|
200
|
+
page_size: z.ZodNumber;
|
|
201
|
+
has_more: z.ZodBoolean;
|
|
202
|
+
documents: z.ZodArray<z.ZodObject<{
|
|
203
|
+
dokumentnummer: z.ZodString;
|
|
204
|
+
applikation: z.ZodString;
|
|
205
|
+
titel: z.ZodString;
|
|
206
|
+
kurztitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
207
|
+
citation: z.ZodObject<{
|
|
208
|
+
kurztitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
209
|
+
langtitel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
210
|
+
kundmachungsorgan: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
211
|
+
paragraph: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
212
|
+
eli: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
213
|
+
inkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
214
|
+
ausserkrafttreten: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
215
|
+
}, "strip", z.ZodTypeAny, {
|
|
216
|
+
kurztitel?: string | null | undefined;
|
|
217
|
+
langtitel?: string | null | undefined;
|
|
218
|
+
kundmachungsorgan?: string | null | undefined;
|
|
219
|
+
paragraph?: string | null | undefined;
|
|
220
|
+
eli?: string | null | undefined;
|
|
221
|
+
inkrafttreten?: string | null | undefined;
|
|
222
|
+
ausserkrafttreten?: string | null | undefined;
|
|
223
|
+
}, {
|
|
224
|
+
kurztitel?: string | null | undefined;
|
|
225
|
+
langtitel?: string | null | undefined;
|
|
226
|
+
kundmachungsorgan?: string | null | undefined;
|
|
227
|
+
paragraph?: string | null | undefined;
|
|
228
|
+
eli?: string | null | undefined;
|
|
229
|
+
inkrafttreten?: string | null | undefined;
|
|
230
|
+
ausserkrafttreten?: string | null | undefined;
|
|
231
|
+
}>;
|
|
232
|
+
content_urls: z.ZodObject<{
|
|
233
|
+
xml: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
234
|
+
html: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
235
|
+
rtf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
236
|
+
pdf: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
237
|
+
}, "strip", z.ZodTypeAny, {
|
|
238
|
+
xml?: string | null | undefined;
|
|
239
|
+
html?: string | null | undefined;
|
|
240
|
+
rtf?: string | null | undefined;
|
|
241
|
+
pdf?: string | null | undefined;
|
|
242
|
+
}, {
|
|
243
|
+
xml?: string | null | undefined;
|
|
244
|
+
html?: string | null | undefined;
|
|
245
|
+
rtf?: string | null | undefined;
|
|
246
|
+
pdf?: string | null | undefined;
|
|
247
|
+
}>;
|
|
248
|
+
dokument_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
249
|
+
gesamte_rechtsvorschrift_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
250
|
+
}, "strip", z.ZodTypeAny, {
|
|
251
|
+
dokumentnummer: string;
|
|
252
|
+
applikation: string;
|
|
253
|
+
titel: string;
|
|
254
|
+
citation: {
|
|
255
|
+
kurztitel?: string | null | undefined;
|
|
256
|
+
langtitel?: string | null | undefined;
|
|
257
|
+
kundmachungsorgan?: string | null | undefined;
|
|
258
|
+
paragraph?: string | null | undefined;
|
|
259
|
+
eli?: string | null | undefined;
|
|
260
|
+
inkrafttreten?: string | null | undefined;
|
|
261
|
+
ausserkrafttreten?: string | null | undefined;
|
|
262
|
+
};
|
|
263
|
+
content_urls: {
|
|
264
|
+
xml?: string | null | undefined;
|
|
265
|
+
html?: string | null | undefined;
|
|
266
|
+
rtf?: string | null | undefined;
|
|
267
|
+
pdf?: string | null | undefined;
|
|
268
|
+
};
|
|
269
|
+
kurztitel?: string | null | undefined;
|
|
270
|
+
dokument_url?: string | null | undefined;
|
|
271
|
+
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
272
|
+
}, {
|
|
273
|
+
dokumentnummer: string;
|
|
274
|
+
applikation: string;
|
|
275
|
+
titel: string;
|
|
276
|
+
citation: {
|
|
277
|
+
kurztitel?: string | null | undefined;
|
|
278
|
+
langtitel?: string | null | undefined;
|
|
279
|
+
kundmachungsorgan?: string | null | undefined;
|
|
280
|
+
paragraph?: string | null | undefined;
|
|
281
|
+
eli?: string | null | undefined;
|
|
282
|
+
inkrafttreten?: string | null | undefined;
|
|
283
|
+
ausserkrafttreten?: string | null | undefined;
|
|
284
|
+
};
|
|
285
|
+
content_urls: {
|
|
286
|
+
xml?: string | null | undefined;
|
|
287
|
+
html?: string | null | undefined;
|
|
288
|
+
rtf?: string | null | undefined;
|
|
289
|
+
pdf?: string | null | undefined;
|
|
290
|
+
};
|
|
291
|
+
kurztitel?: string | null | undefined;
|
|
292
|
+
dokument_url?: string | null | undefined;
|
|
293
|
+
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
294
|
+
}>, "many">;
|
|
295
|
+
}, "strip", z.ZodTypeAny, {
|
|
296
|
+
total_hits: number;
|
|
297
|
+
page: number;
|
|
298
|
+
page_size: number;
|
|
299
|
+
has_more: boolean;
|
|
300
|
+
documents: {
|
|
301
|
+
dokumentnummer: string;
|
|
302
|
+
applikation: string;
|
|
303
|
+
titel: string;
|
|
304
|
+
citation: {
|
|
305
|
+
kurztitel?: string | null | undefined;
|
|
306
|
+
langtitel?: string | null | undefined;
|
|
307
|
+
kundmachungsorgan?: string | null | undefined;
|
|
308
|
+
paragraph?: string | null | undefined;
|
|
309
|
+
eli?: string | null | undefined;
|
|
310
|
+
inkrafttreten?: string | null | undefined;
|
|
311
|
+
ausserkrafttreten?: string | null | undefined;
|
|
312
|
+
};
|
|
313
|
+
content_urls: {
|
|
314
|
+
xml?: string | null | undefined;
|
|
315
|
+
html?: string | null | undefined;
|
|
316
|
+
rtf?: string | null | undefined;
|
|
317
|
+
pdf?: string | null | undefined;
|
|
318
|
+
};
|
|
319
|
+
kurztitel?: string | null | undefined;
|
|
320
|
+
dokument_url?: string | null | undefined;
|
|
321
|
+
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
322
|
+
}[];
|
|
323
|
+
}, {
|
|
324
|
+
total_hits: number;
|
|
325
|
+
page: number;
|
|
326
|
+
page_size: number;
|
|
327
|
+
has_more: boolean;
|
|
328
|
+
documents: {
|
|
329
|
+
dokumentnummer: string;
|
|
330
|
+
applikation: string;
|
|
331
|
+
titel: string;
|
|
332
|
+
citation: {
|
|
333
|
+
kurztitel?: string | null | undefined;
|
|
334
|
+
langtitel?: string | null | undefined;
|
|
335
|
+
kundmachungsorgan?: string | null | undefined;
|
|
336
|
+
paragraph?: string | null | undefined;
|
|
337
|
+
eli?: string | null | undefined;
|
|
338
|
+
inkrafttreten?: string | null | undefined;
|
|
339
|
+
ausserkrafttreten?: string | null | undefined;
|
|
340
|
+
};
|
|
341
|
+
content_urls: {
|
|
342
|
+
xml?: string | null | undefined;
|
|
343
|
+
html?: string | null | undefined;
|
|
344
|
+
rtf?: string | null | undefined;
|
|
345
|
+
pdf?: string | null | undefined;
|
|
346
|
+
};
|
|
347
|
+
kurztitel?: string | null | undefined;
|
|
348
|
+
dokument_url?: string | null | undefined;
|
|
349
|
+
gesamte_rechtsvorschrift_url?: string | null | undefined;
|
|
350
|
+
}[];
|
|
351
|
+
}>;
|
|
352
|
+
export type SearchResult = z.infer<typeof SearchResultSchema>;
|
|
353
|
+
/**
|
|
354
|
+
* Raw content URL from API response.
|
|
355
|
+
*/
|
|
356
|
+
export interface RawContentUrl {
|
|
357
|
+
DataType?: string;
|
|
358
|
+
Url?: string;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Raw URLs container from API response.
|
|
362
|
+
*/
|
|
363
|
+
export interface RawUrls {
|
|
364
|
+
ContentUrl?: RawContentUrl | RawContentUrl[];
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Raw content reference from API response.
|
|
368
|
+
*/
|
|
369
|
+
export interface RawContentReference {
|
|
370
|
+
ContentType?: string;
|
|
371
|
+
Name?: string | {
|
|
372
|
+
'#text'?: string;
|
|
373
|
+
};
|
|
374
|
+
Urls?: RawUrls;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Raw hits info from API response.
|
|
378
|
+
*/
|
|
379
|
+
export interface RawHitsInfo {
|
|
380
|
+
'#text'?: string | number;
|
|
381
|
+
'@pageNumber'?: string | number;
|
|
382
|
+
'@pageSize'?: string | number;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Raw document reference from API response.
|
|
386
|
+
*/
|
|
387
|
+
export interface RawDocumentReference {
|
|
388
|
+
Data?: {
|
|
389
|
+
Metadaten?: {
|
|
390
|
+
Technisch?: {
|
|
391
|
+
ID?: string;
|
|
392
|
+
Applikation?: string;
|
|
393
|
+
};
|
|
394
|
+
Allgemein?: {
|
|
395
|
+
DokumentUrl?: string;
|
|
396
|
+
};
|
|
397
|
+
Bundesrecht?: {
|
|
398
|
+
Kurztitel?: string;
|
|
399
|
+
Langtitel?: string;
|
|
400
|
+
Titel?: string;
|
|
401
|
+
Eli?: string;
|
|
402
|
+
BrKons?: {
|
|
403
|
+
Kundmachungsorgan?: string;
|
|
404
|
+
ArtikelParagraphAnlage?: string;
|
|
405
|
+
Inkrafttretensdatum?: string;
|
|
406
|
+
Ausserkrafttretensdatum?: string;
|
|
407
|
+
GesamteRechtsvorschriftUrl?: string;
|
|
408
|
+
};
|
|
409
|
+
};
|
|
410
|
+
Landesrecht?: {
|
|
411
|
+
Kurztitel?: string;
|
|
412
|
+
Langtitel?: string;
|
|
413
|
+
Titel?: string;
|
|
414
|
+
Eli?: string;
|
|
415
|
+
LrKons?: {
|
|
416
|
+
Kundmachungsorgan?: string;
|
|
417
|
+
ArtikelParagraphAnlage?: string;
|
|
418
|
+
Inkrafttretensdatum?: string;
|
|
419
|
+
Ausserkrafttretensdatum?: string;
|
|
420
|
+
GesamteRechtsvorschriftUrl?: string;
|
|
421
|
+
};
|
|
422
|
+
};
|
|
423
|
+
Judikatur?: {
|
|
424
|
+
Geschaeftszahl?: {
|
|
425
|
+
item?: string | string[];
|
|
426
|
+
} | string;
|
|
427
|
+
Entscheidungsdatum?: string;
|
|
428
|
+
Vfgh?: {
|
|
429
|
+
Leitsatz?: string;
|
|
430
|
+
};
|
|
431
|
+
Vwgh?: {
|
|
432
|
+
Leitsatz?: string;
|
|
433
|
+
};
|
|
434
|
+
Justiz?: {
|
|
435
|
+
Leitsatz?: string;
|
|
436
|
+
};
|
|
437
|
+
Bvwg?: {
|
|
438
|
+
Leitsatz?: string;
|
|
439
|
+
};
|
|
440
|
+
};
|
|
441
|
+
};
|
|
442
|
+
Dokumentliste?: {
|
|
443
|
+
ContentReference?: RawContentReference | RawContentReference[];
|
|
444
|
+
};
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Raw API search response structure.
|
|
449
|
+
*/
|
|
450
|
+
export interface RawApiResponse {
|
|
451
|
+
OgdSearchResult?: {
|
|
452
|
+
OgdDocumentResults?: {
|
|
453
|
+
Hits?: RawHitsInfo | string | number;
|
|
454
|
+
OgdDocumentReference?: RawDocumentReference | RawDocumentReference[];
|
|
455
|
+
};
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Normalized search results from client.
|
|
460
|
+
*/
|
|
461
|
+
export interface NormalizedSearchResults {
|
|
462
|
+
hits: number;
|
|
463
|
+
page_number: number;
|
|
464
|
+
page_size: number;
|
|
465
|
+
documents: RawDocumentReference[];
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Map numeric limit to RIS API DokumenteProSeite value.
|
|
469
|
+
*/
|
|
470
|
+
export declare function limitToDokumenteProSeite(limit: number): DokumenteProSeite;
|
|
471
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schemas and TypeScript types for the RIS MCP Server.
|
|
3
|
+
*
|
|
4
|
+
* This module defines all data models used for interacting with the Austrian
|
|
5
|
+
* Legal Information System (RIS) API, including enums for various search
|
|
6
|
+
* parameters and document models for representing legal documents.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Enums
|
|
11
|
+
// =============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Application types for federal law searches in RIS.
|
|
14
|
+
*/
|
|
15
|
+
export const BundesrechtApplikationSchema = z.enum([
|
|
16
|
+
'BrKons', // Consolidated federal law
|
|
17
|
+
'Begut', // Draft legislation
|
|
18
|
+
'BgblAuth', // Federal Law Gazette authentic
|
|
19
|
+
'Erv', // English translations
|
|
20
|
+
]);
|
|
21
|
+
/**
|
|
22
|
+
* Court types for case law searches in RIS.
|
|
23
|
+
*/
|
|
24
|
+
export const JudikaturGerichtSchema = z.enum([
|
|
25
|
+
'Justiz', // Ordinary courts (OGH, OLG, LG, BG)
|
|
26
|
+
'Vfgh', // Constitutional Court
|
|
27
|
+
'Vwgh', // Supreme Administrative Court
|
|
28
|
+
'Bvwg', // Federal Administrative Court
|
|
29
|
+
'Lvwg', // State Administrative Courts
|
|
30
|
+
'Dsk', // Data Protection Authority
|
|
31
|
+
'AsylGH', // Asylum Court (historical, until 2013)
|
|
32
|
+
'Normenliste', // Court norm lists (judicial review)
|
|
33
|
+
'Pvak', // Personnel Representation Supervision Commission
|
|
34
|
+
'Gbk', // Equal Treatment Commission
|
|
35
|
+
'Dok', // Disciplinary Commission
|
|
36
|
+
]);
|
|
37
|
+
/**
|
|
38
|
+
* Austrian federal states (Bundesländer).
|
|
39
|
+
* Note: Uses Umlauts (ö, ä) for display purposes.
|
|
40
|
+
*/
|
|
41
|
+
export const BundeslandSchema = z.enum([
|
|
42
|
+
'Wien',
|
|
43
|
+
'Niederösterreich',
|
|
44
|
+
'Oberösterreich',
|
|
45
|
+
'Steiermark',
|
|
46
|
+
'Tirol',
|
|
47
|
+
'Kärnten',
|
|
48
|
+
'Salzburg',
|
|
49
|
+
'Vorarlberg',
|
|
50
|
+
'Burgenland',
|
|
51
|
+
]);
|
|
52
|
+
/**
|
|
53
|
+
* Austrian federal states for Landesrecht API (ASCII versions without Umlauts).
|
|
54
|
+
* The RIS API uses the SucheIn format (e.g., Bundesland.SucheInWien=true).
|
|
55
|
+
*/
|
|
56
|
+
export const LANDESRECHT_BUNDESLAENDER = [
|
|
57
|
+
'Wien',
|
|
58
|
+
'Niederoesterreich',
|
|
59
|
+
'Oberoesterreich',
|
|
60
|
+
'Salzburg',
|
|
61
|
+
'Tirol',
|
|
62
|
+
'Vorarlberg',
|
|
63
|
+
'Kaernten',
|
|
64
|
+
'Steiermark',
|
|
65
|
+
'Burgenland',
|
|
66
|
+
];
|
|
67
|
+
export const LandesrechtBundeslandSchema = z.enum(LANDESRECHT_BUNDESLAENDER);
|
|
68
|
+
/**
|
|
69
|
+
* Date format validation schema (YYYY-MM-DD).
|
|
70
|
+
* Used for date parameters in RIS API requests.
|
|
71
|
+
*/
|
|
72
|
+
export const DateSchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, {
|
|
73
|
+
message: 'Datum muss im Format YYYY-MM-DD sein (z.B. 2024-01-15)',
|
|
74
|
+
});
|
|
75
|
+
export const OptionalDateSchema = DateSchema.optional();
|
|
76
|
+
/**
|
|
77
|
+
* Number of documents per page for paginated API responses.
|
|
78
|
+
*/
|
|
79
|
+
export const DokumenteProSeiteSchema = z.enum([
|
|
80
|
+
'Ten', // 10 documents
|
|
81
|
+
'Twenty', // 20 documents
|
|
82
|
+
'Fifty', // 50 documents
|
|
83
|
+
'OneHundred', // 100 documents
|
|
84
|
+
]);
|
|
85
|
+
/**
|
|
86
|
+
* Output format for MCP tool responses.
|
|
87
|
+
*/
|
|
88
|
+
export const ResponseFormatSchema = z.enum(['markdown', 'json']);
|
|
89
|
+
// =============================================================================
|
|
90
|
+
// Document Models
|
|
91
|
+
// =============================================================================
|
|
92
|
+
/**
|
|
93
|
+
* URLs for accessing document content in different formats.
|
|
94
|
+
*/
|
|
95
|
+
export const ContentUrlSchema = z.object({
|
|
96
|
+
xml: z.string().nullable().optional(),
|
|
97
|
+
html: z.string().nullable().optional(),
|
|
98
|
+
rtf: z.string().nullable().optional(),
|
|
99
|
+
pdf: z.string().nullable().optional(),
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* Citation information for a legal document.
|
|
103
|
+
*/
|
|
104
|
+
export const CitationSchema = z.object({
|
|
105
|
+
kurztitel: z.string().nullable().optional(),
|
|
106
|
+
langtitel: z.string().nullable().optional(),
|
|
107
|
+
kundmachungsorgan: z.string().nullable().optional(),
|
|
108
|
+
paragraph: z.string().nullable().optional(),
|
|
109
|
+
eli: z.string().nullable().optional(),
|
|
110
|
+
inkrafttreten: z.string().nullable().optional(),
|
|
111
|
+
ausserkrafttreten: z.string().nullable().optional(),
|
|
112
|
+
});
|
|
113
|
+
/**
|
|
114
|
+
* A single legal document from the RIS database.
|
|
115
|
+
*/
|
|
116
|
+
export const DocumentSchema = z.object({
|
|
117
|
+
dokumentnummer: z.string(),
|
|
118
|
+
applikation: z.string(),
|
|
119
|
+
titel: z.string(),
|
|
120
|
+
kurztitel: z.string().nullable().optional(),
|
|
121
|
+
citation: CitationSchema,
|
|
122
|
+
content_urls: ContentUrlSchema,
|
|
123
|
+
dokument_url: z.string().nullable().optional(),
|
|
124
|
+
gesamte_rechtsvorschrift_url: z.string().nullable().optional(),
|
|
125
|
+
});
|
|
126
|
+
/**
|
|
127
|
+
* Paginated search results from the RIS API.
|
|
128
|
+
*/
|
|
129
|
+
export const SearchResultSchema = z.object({
|
|
130
|
+
total_hits: z.number().min(0),
|
|
131
|
+
page: z.number().min(1),
|
|
132
|
+
page_size: z.number().min(1).max(100),
|
|
133
|
+
has_more: z.boolean(),
|
|
134
|
+
documents: z.array(DocumentSchema),
|
|
135
|
+
});
|
|
136
|
+
// =============================================================================
|
|
137
|
+
// Helper for limit mapping
|
|
138
|
+
// =============================================================================
|
|
139
|
+
/**
|
|
140
|
+
* Map numeric limit to RIS API DokumenteProSeite value.
|
|
141
|
+
*/
|
|
142
|
+
export function limitToDokumenteProSeite(limit) {
|
|
143
|
+
const mapping = {
|
|
144
|
+
10: 'Ten',
|
|
145
|
+
20: 'Twenty',
|
|
146
|
+
50: 'Fifty',
|
|
147
|
+
100: 'OneHundred',
|
|
148
|
+
};
|
|
149
|
+
return mapping[limit] ?? 'Twenty';
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|