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/parser.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser for RIS API responses.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to parse raw API responses into
|
|
5
|
+
* structured Document and SearchResult models.
|
|
6
|
+
*/
|
|
7
|
+
import type { ContentUrl, Document, NormalizedSearchResults, RawContentReference, RawDocumentReference, SearchResult } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Extract text from various API response formats.
|
|
10
|
+
* Handles strings, objects with #text, and objects with item.
|
|
11
|
+
*/
|
|
12
|
+
export declare function extractText(elem: unknown): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* Extract content URLs from raw content reference.
|
|
15
|
+
*/
|
|
16
|
+
export declare function extractContentUrls(contentRef: RawContentReference | undefined): ContentUrl;
|
|
17
|
+
/**
|
|
18
|
+
* Parse a document reference from the API response into a Document model.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseDocumentFromApiResponse(docRef: RawDocumentReference): Document;
|
|
21
|
+
/**
|
|
22
|
+
* Result type for finding a document by dokumentnummer.
|
|
23
|
+
*/
|
|
24
|
+
export type FindDocumentResult = {
|
|
25
|
+
success: true;
|
|
26
|
+
document: Document;
|
|
27
|
+
} | {
|
|
28
|
+
success: false;
|
|
29
|
+
error: 'no_documents' | 'not_found';
|
|
30
|
+
totalResults?: number;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Find a document by dokumentnummer from a list of raw API document references.
|
|
34
|
+
*
|
|
35
|
+
* This function parses all documents and finds the one matching the requested
|
|
36
|
+
* dokumentnummer rather than blindly taking the first result (which may not
|
|
37
|
+
* be the correct document when the API returns multiple results).
|
|
38
|
+
*
|
|
39
|
+
* @param rawDocuments - Raw document references from the API response
|
|
40
|
+
* @param dokumentnummer - The document number to find
|
|
41
|
+
* @returns Result object indicating success with the document, or failure with error type
|
|
42
|
+
*/
|
|
43
|
+
export declare function findDocumentByDokumentnummer(rawDocuments: RawDocumentReference[], dokumentnummer: string): FindDocumentResult;
|
|
44
|
+
/**
|
|
45
|
+
* Parse API response into a SearchResult model.
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseSearchResults(apiResponse: NormalizedSearchResults): SearchResult;
|
|
48
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,UAAU,EACV,QAAQ,EACR,uBAAuB,EACvB,mBAAmB,EAEnB,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AAMpB;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmBxD;AAcD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,GAAG,UAAU,CA0B1F;AAMD;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,GAAG,QAAQ,CA+HnF;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,GACrC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,cAAc,GAAG,WAAW,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,oBAAoB,EAAE,EACpC,cAAc,EAAE,MAAM,GACrB,kBAAkB,CAapB;AAMD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,uBAAuB,GAAG,YAAY,CAgBrF"}
|
package/dist/parser.js
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser for RIS API responses.
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to parse raw API responses into
|
|
5
|
+
* structured Document and SearchResult models.
|
|
6
|
+
*/
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Helper Functions
|
|
9
|
+
// =============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Extract text from various API response formats.
|
|
12
|
+
* Handles strings, objects with #text, and objects with item.
|
|
13
|
+
*/
|
|
14
|
+
export function extractText(elem) {
|
|
15
|
+
if (elem === null || elem === undefined) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
if (typeof elem === 'string') {
|
|
19
|
+
const trimmed = elem.trim();
|
|
20
|
+
return trimmed || null;
|
|
21
|
+
}
|
|
22
|
+
if (typeof elem === 'object') {
|
|
23
|
+
const obj = elem;
|
|
24
|
+
const text = obj['#text'] ?? obj['item'];
|
|
25
|
+
if (typeof text === 'string') {
|
|
26
|
+
return text.trim() || null;
|
|
27
|
+
}
|
|
28
|
+
if (Array.isArray(text)) {
|
|
29
|
+
return text.join(', ');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Extract URL by DataType from content URL list.
|
|
36
|
+
*/
|
|
37
|
+
function getUrlByType(contentUrlList, dataType) {
|
|
38
|
+
for (const item of contentUrlList) {
|
|
39
|
+
if (item.DataType === dataType && item.Url) {
|
|
40
|
+
return item.Url;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Extract content URLs from raw content reference.
|
|
47
|
+
*/
|
|
48
|
+
export function extractContentUrls(contentRef) {
|
|
49
|
+
if (!contentRef) {
|
|
50
|
+
return { html: null, xml: null, pdf: null, rtf: null };
|
|
51
|
+
}
|
|
52
|
+
const urls = contentRef.Urls;
|
|
53
|
+
if (!urls) {
|
|
54
|
+
return { html: null, xml: null, pdf: null, rtf: null };
|
|
55
|
+
}
|
|
56
|
+
let contentUrlList = urls.ContentUrl;
|
|
57
|
+
if (!contentUrlList) {
|
|
58
|
+
return { html: null, xml: null, pdf: null, rtf: null };
|
|
59
|
+
}
|
|
60
|
+
// Ensure it's an array
|
|
61
|
+
if (!Array.isArray(contentUrlList)) {
|
|
62
|
+
contentUrlList = [contentUrlList];
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
html: getUrlByType(contentUrlList, 'Html'),
|
|
66
|
+
xml: getUrlByType(contentUrlList, 'Xml'),
|
|
67
|
+
pdf: getUrlByType(contentUrlList, 'Pdf'),
|
|
68
|
+
rtf: getUrlByType(contentUrlList, 'Rtf'),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// =============================================================================
|
|
72
|
+
// Document Parsing
|
|
73
|
+
// =============================================================================
|
|
74
|
+
/**
|
|
75
|
+
* Parse a document reference from the API response into a Document model.
|
|
76
|
+
*/
|
|
77
|
+
export function parseDocumentFromApiResponse(docRef) {
|
|
78
|
+
const data = docRef.Data ?? {};
|
|
79
|
+
const metadaten = data.Metadaten ?? {};
|
|
80
|
+
const dokumentliste = data.Dokumentliste ?? {};
|
|
81
|
+
const technisch = metadaten.Technisch ?? {};
|
|
82
|
+
const allgemein = metadaten.Allgemein ?? {};
|
|
83
|
+
// Extract content reference - can be a dict or array of dicts
|
|
84
|
+
const contentRefRaw = dokumentliste.ContentReference;
|
|
85
|
+
let contentRef;
|
|
86
|
+
if (Array.isArray(contentRefRaw)) {
|
|
87
|
+
// Find MainDocument or use first entry
|
|
88
|
+
contentRef =
|
|
89
|
+
contentRefRaw.find((ref) => ref.ContentType === 'MainDocument') ?? contentRefRaw[0];
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
contentRef = contentRefRaw;
|
|
93
|
+
}
|
|
94
|
+
// Extract content URLs
|
|
95
|
+
const contentUrls = extractContentUrls(contentRef);
|
|
96
|
+
// Extract metadata from Bundesrecht, Landesrecht, or Judikatur
|
|
97
|
+
const bundesrecht = metadaten.Bundesrecht;
|
|
98
|
+
const landesrecht = metadaten.Landesrecht;
|
|
99
|
+
const judikatur = metadaten.Judikatur;
|
|
100
|
+
// Initialize citation variables
|
|
101
|
+
let kurztitelElem = '';
|
|
102
|
+
let langtitelElem = '';
|
|
103
|
+
let kundmachungsorgan = '';
|
|
104
|
+
let paragraph = '';
|
|
105
|
+
let inkrafttreten = '';
|
|
106
|
+
let ausserkrafttreten = '';
|
|
107
|
+
let eli = '';
|
|
108
|
+
let gesamteRechtsvorschriftUrl = '';
|
|
109
|
+
let geschaeftszahl = '';
|
|
110
|
+
let entscheidungsdatum = '';
|
|
111
|
+
if (bundesrecht) {
|
|
112
|
+
// Handle Bundesrecht
|
|
113
|
+
const nested = bundesrecht.BrKons ?? {};
|
|
114
|
+
kurztitelElem = bundesrecht.Kurztitel ?? '';
|
|
115
|
+
langtitelElem = bundesrecht.Langtitel ?? bundesrecht.Titel ?? '';
|
|
116
|
+
kundmachungsorgan = nested.Kundmachungsorgan ?? '';
|
|
117
|
+
paragraph = nested.ArtikelParagraphAnlage ?? '';
|
|
118
|
+
inkrafttreten = nested.Inkrafttretensdatum ?? '';
|
|
119
|
+
ausserkrafttreten = nested.Ausserkrafttretensdatum ?? '';
|
|
120
|
+
eli = bundesrecht.Eli ?? '';
|
|
121
|
+
gesamteRechtsvorschriftUrl = nested.GesamteRechtsvorschriftUrl ?? '';
|
|
122
|
+
}
|
|
123
|
+
else if (landesrecht) {
|
|
124
|
+
// Handle Landesrecht
|
|
125
|
+
const nested = landesrecht.LrKons ?? {};
|
|
126
|
+
kurztitelElem = landesrecht.Kurztitel ?? '';
|
|
127
|
+
langtitelElem = landesrecht.Langtitel ?? landesrecht.Titel ?? '';
|
|
128
|
+
kundmachungsorgan = nested.Kundmachungsorgan ?? '';
|
|
129
|
+
paragraph = nested.ArtikelParagraphAnlage ?? '';
|
|
130
|
+
inkrafttreten = nested.Inkrafttretensdatum ?? '';
|
|
131
|
+
ausserkrafttreten = nested.Ausserkrafttretensdatum ?? '';
|
|
132
|
+
eli = landesrecht.Eli ?? '';
|
|
133
|
+
gesamteRechtsvorschriftUrl = nested.GesamteRechtsvorschriftUrl ?? '';
|
|
134
|
+
}
|
|
135
|
+
else if (judikatur) {
|
|
136
|
+
// Handle Judikatur (court decisions)
|
|
137
|
+
const geschaeftszahlElem = judikatur.Geschaeftszahl;
|
|
138
|
+
if (typeof geschaeftszahlElem === 'object' && geschaeftszahlElem !== null) {
|
|
139
|
+
const item = geschaeftszahlElem.item;
|
|
140
|
+
if (Array.isArray(item)) {
|
|
141
|
+
geschaeftszahl = item.join(', ');
|
|
142
|
+
}
|
|
143
|
+
else if (typeof item === 'string') {
|
|
144
|
+
geschaeftszahl = item;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else if (typeof geschaeftszahlElem === 'string') {
|
|
148
|
+
geschaeftszahl = geschaeftszahlElem;
|
|
149
|
+
}
|
|
150
|
+
entscheidungsdatum = judikatur.Entscheidungsdatum ?? '';
|
|
151
|
+
// Get court-specific nested data
|
|
152
|
+
const courtNested = judikatur.Vfgh ?? judikatur.Vwgh ?? judikatur.Justiz ?? judikatur.Bvwg;
|
|
153
|
+
const leitsatz = courtNested?.Leitsatz ?? '';
|
|
154
|
+
kurztitelElem = geschaeftszahl; // Use Geschaeftszahl as kurztitel
|
|
155
|
+
langtitelElem = leitsatz; // Use Leitsatz as langtitel
|
|
156
|
+
}
|
|
157
|
+
// Build Citation
|
|
158
|
+
const citation = {
|
|
159
|
+
kurztitel: extractText(kurztitelElem),
|
|
160
|
+
langtitel: extractText(langtitelElem),
|
|
161
|
+
kundmachungsorgan: extractText(kundmachungsorgan),
|
|
162
|
+
paragraph: extractText(paragraph),
|
|
163
|
+
eli: extractText(eli),
|
|
164
|
+
inkrafttreten: extractText(inkrafttreten) ?? extractText(entscheidungsdatum),
|
|
165
|
+
ausserkrafttreten: extractText(ausserkrafttreten),
|
|
166
|
+
};
|
|
167
|
+
// Extract document number and application from Technisch section
|
|
168
|
+
const dokumentnummer = technisch.ID ?? '';
|
|
169
|
+
const applikation = technisch.Applikation ?? '';
|
|
170
|
+
// Extract title
|
|
171
|
+
let titel = extractText(kurztitelElem) ?? '';
|
|
172
|
+
if (!titel && geschaeftszahl) {
|
|
173
|
+
titel = `GZ ${geschaeftszahl}`;
|
|
174
|
+
}
|
|
175
|
+
if (!titel && contentRef) {
|
|
176
|
+
const name = contentRef.Name;
|
|
177
|
+
if (typeof name === 'string') {
|
|
178
|
+
titel = name;
|
|
179
|
+
}
|
|
180
|
+
else if (typeof name === 'object' && name !== null) {
|
|
181
|
+
titel = name['#text'] ?? '';
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
// Build document URLs
|
|
185
|
+
const dokumentUrl = allgemein.DokumentUrl ?? null;
|
|
186
|
+
return {
|
|
187
|
+
dokumentnummer,
|
|
188
|
+
applikation,
|
|
189
|
+
titel,
|
|
190
|
+
kurztitel: extractText(kurztitelElem),
|
|
191
|
+
citation,
|
|
192
|
+
content_urls: contentUrls,
|
|
193
|
+
dokument_url: dokumentUrl,
|
|
194
|
+
gesamte_rechtsvorschrift_url: gesamteRechtsvorschriftUrl || null,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Find a document by dokumentnummer from a list of raw API document references.
|
|
199
|
+
*
|
|
200
|
+
* This function parses all documents and finds the one matching the requested
|
|
201
|
+
* dokumentnummer rather than blindly taking the first result (which may not
|
|
202
|
+
* be the correct document when the API returns multiple results).
|
|
203
|
+
*
|
|
204
|
+
* @param rawDocuments - Raw document references from the API response
|
|
205
|
+
* @param dokumentnummer - The document number to find
|
|
206
|
+
* @returns Result object indicating success with the document, or failure with error type
|
|
207
|
+
*/
|
|
208
|
+
export function findDocumentByDokumentnummer(rawDocuments, dokumentnummer) {
|
|
209
|
+
if (!rawDocuments || rawDocuments.length === 0) {
|
|
210
|
+
return { success: false, error: 'no_documents' };
|
|
211
|
+
}
|
|
212
|
+
const parsedDocs = rawDocuments.map(parseDocumentFromApiResponse);
|
|
213
|
+
const doc = parsedDocs.find((d) => d.dokumentnummer === dokumentnummer);
|
|
214
|
+
if (!doc) {
|
|
215
|
+
return { success: false, error: 'not_found', totalResults: rawDocuments.length };
|
|
216
|
+
}
|
|
217
|
+
return { success: true, document: doc };
|
|
218
|
+
}
|
|
219
|
+
// =============================================================================
|
|
220
|
+
// Search Results Parsing
|
|
221
|
+
// =============================================================================
|
|
222
|
+
/**
|
|
223
|
+
* Parse API response into a SearchResult model.
|
|
224
|
+
*/
|
|
225
|
+
export function parseSearchResults(apiResponse) {
|
|
226
|
+
const totalHits = apiResponse.hits;
|
|
227
|
+
const page = apiResponse.page_number;
|
|
228
|
+
const pageSize = apiResponse.page_size;
|
|
229
|
+
const rawDocuments = apiResponse.documents;
|
|
230
|
+
const documents = rawDocuments.map(parseDocumentFromApiResponse);
|
|
231
|
+
const hasMore = page * pageSize < totalHits;
|
|
232
|
+
return {
|
|
233
|
+
total_hits: totalHits,
|
|
234
|
+
page,
|
|
235
|
+
page_size: pageSize,
|
|
236
|
+
has_more: hasMore,
|
|
237
|
+
documents,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server for the Austrian RIS (Rechtsinformationssystem).
|
|
3
|
+
*
|
|
4
|
+
* This module provides an MCP server with tools for searching and retrieving
|
|
5
|
+
* Austrian legal documents including federal laws, state laws, and court decisions.
|
|
6
|
+
*
|
|
7
|
+
* API Documentation: https://data.bka.gv.at/ris/api/v2.6/
|
|
8
|
+
*/
|
|
9
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
10
|
+
export declare const server: McpServer;
|
|
11
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,eAAO,MAAM,MAAM,WAGjB,CAAC"}
|
package/dist/server.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server for the Austrian RIS (Rechtsinformationssystem).
|
|
3
|
+
*
|
|
4
|
+
* This module provides an MCP server with tools for searching and retrieving
|
|
5
|
+
* Austrian legal documents including federal laws, state laws, and court decisions.
|
|
6
|
+
*
|
|
7
|
+
* API Documentation: https://data.bka.gv.at/ris/api/v2.6/
|
|
8
|
+
*/
|
|
9
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
10
|
+
import { registerAllTools } from './tools/index.js';
|
|
11
|
+
export const server = new McpServer({
|
|
12
|
+
name: 'ris-mcp',
|
|
13
|
+
version: '1.0.0',
|
|
14
|
+
});
|
|
15
|
+
registerAllTools(server);
|
|
16
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAClC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,gBAAgB,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool 8: ris_bezirke — Search district administrative authority announcements.
|
|
3
|
+
*/
|
|
4
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
export declare function registerBezirkeTool(server: McpServer): void;
|
|
6
|
+
//# sourceMappingURL=bezirke.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bezirke.d.ts","sourceRoot":"","sources":["../../src/tools/bezirke.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoF3D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool 8: ris_bezirke — Search district administrative authority announcements.
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchBezirke } from '../client.js';
|
|
6
|
+
import { IM_RIS_SEIT_VALUES } from '../constants.js';
|
|
7
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
+
import { BundeslandSchema, DateSchema } from '../types.js';
|
|
9
|
+
export function registerBezirkeTool(server) {
|
|
10
|
+
server.tool('ris_bezirke', `Search Austrian district administrative authority announcements (Kundmachungen der Bezirksverwaltungsbehörden).
|
|
11
|
+
|
|
12
|
+
Use this tool to find announcements and ordinances from district administrative authorities.
|
|
13
|
+
|
|
14
|
+
Note: Only certain states publish here: Niederösterreich, Oberösterreich, Tirol, Vorarlberg, Burgenland, Steiermark.
|
|
15
|
+
|
|
16
|
+
Example queries:
|
|
17
|
+
- bundesland="Niederösterreich", suchworte="Bauordnung"
|
|
18
|
+
- bezirksverwaltungsbehoerde="Bezirkshauptmannschaft Innsbruck"`, {
|
|
19
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
20
|
+
titel: z.string().max(500).optional().describe('Search in titles'),
|
|
21
|
+
bundesland: BundeslandSchema.optional().describe('Filter by state - Burgenland, Kärnten, Niederösterreich, Oberösterreich, Salzburg, Steiermark, Tirol, Vorarlberg, Wien'),
|
|
22
|
+
bezirksverwaltungsbehoerde: z
|
|
23
|
+
.string()
|
|
24
|
+
.max(200)
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('District authority name (e.g., "Bezirkshauptmannschaft Innsbruck", "Bezirkshauptmannschaft Amstetten")'),
|
|
27
|
+
kundmachungsnummer: z.string().max(100).optional().describe('Announcement number'),
|
|
28
|
+
kundmachungsdatum_von: DateSchema.optional().describe('Announcement date from (YYYY-MM-DD)'),
|
|
29
|
+
kundmachungsdatum_bis: DateSchema.optional().describe('Announcement date to (YYYY-MM-DD)'),
|
|
30
|
+
im_ris_seit: z.enum(IM_RIS_SEIT_VALUES).optional().describe('Filter by time in RIS'),
|
|
31
|
+
seite: z.number().default(1).describe('Page number (default: 1)'),
|
|
32
|
+
limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'),
|
|
33
|
+
response_format: z
|
|
34
|
+
.enum(['markdown', 'json'])
|
|
35
|
+
.default('markdown')
|
|
36
|
+
.describe('"markdown" (default) or "json"'),
|
|
37
|
+
}, async (args) => {
|
|
38
|
+
const { suchworte, titel, bundesland, bezirksverwaltungsbehoerde, kundmachungsnummer, kundmachungsdatum_von, kundmachungsdatum_bis, im_ris_seit, seite, limit, response_format, } = args;
|
|
39
|
+
if (!hasAnyParam(args, [
|
|
40
|
+
'suchworte',
|
|
41
|
+
'titel',
|
|
42
|
+
'bundesland',
|
|
43
|
+
'bezirksverwaltungsbehoerde',
|
|
44
|
+
'kundmachungsnummer',
|
|
45
|
+
])) {
|
|
46
|
+
return createValidationErrorResponse([
|
|
47
|
+
'suchworte` für Volltextsuche',
|
|
48
|
+
'titel` für Titelsuche',
|
|
49
|
+
'bundesland` für Bundesland',
|
|
50
|
+
'bezirksverwaltungsbehoerde` für Bezirksverwaltungsbehörde',
|
|
51
|
+
'kundmachungsnummer` für Kundmachungsnummer',
|
|
52
|
+
]);
|
|
53
|
+
}
|
|
54
|
+
const params = buildBaseParams('Bvb', limit, seite);
|
|
55
|
+
addOptionalParams(params, [
|
|
56
|
+
[suchworte, 'Suchworte'],
|
|
57
|
+
[titel, 'Titel'],
|
|
58
|
+
[bundesland, 'Bundesland'],
|
|
59
|
+
[bezirksverwaltungsbehoerde, 'Bezirksverwaltungsbehoerde'],
|
|
60
|
+
[kundmachungsnummer, 'Kundmachungsnummer'],
|
|
61
|
+
[kundmachungsdatum_von, 'Kundmachungsdatum.Von'],
|
|
62
|
+
[kundmachungsdatum_bis, 'Kundmachungsdatum.Bis'],
|
|
63
|
+
[im_ris_seit, 'ImRisSeit'],
|
|
64
|
+
]);
|
|
65
|
+
return executeSearchTool(searchBezirke, params, response_format);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=bezirke.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bezirke.js","sourceRoot":"","sources":["../../src/tools/bezirke.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_bundesgesetzblatt — Search Austrian Federal Law Gazettes (Bundesgesetzblatt).
|
|
3
|
+
*/
|
|
4
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
export declare function registerBundesgesetzblattTool(server: McpServer): void;
|
|
6
|
+
//# sourceMappingURL=bundesgesetzblatt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundesgesetzblatt.d.ts","sourceRoot":"","sources":["../../src/tools/bundesgesetzblatt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiErE"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_bundesgesetzblatt — Search Austrian Federal Law Gazettes (Bundesgesetzblatt).
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchBundesrecht } from '../client.js';
|
|
6
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
7
|
+
export function registerBundesgesetzblattTool(server) {
|
|
8
|
+
server.tool('ris_bundesgesetzblatt', `Search Austrian Federal Law Gazettes (Bundesgesetzblatt).
|
|
9
|
+
|
|
10
|
+
Use this tool for historical research and tracking when laws were enacted.
|
|
11
|
+
Contains official publications of federal laws, ordinances, and treaties.
|
|
12
|
+
|
|
13
|
+
Example queries:
|
|
14
|
+
- bgblnummer="120", jahrgang="2023", teil="1" -> Find specific gazette
|
|
15
|
+
- suchworte="Klimaschutz" -> Full-text search in gazettes`, {
|
|
16
|
+
bgblnummer: z.string().max(100).optional().describe('Gazette number (e.g., "120")'),
|
|
17
|
+
teil: z
|
|
18
|
+
.enum(['1', '2', '3'])
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('Part - "1" (I=Laws), "2" (II=Ordinances), "3" (III=Treaties)'),
|
|
21
|
+
jahrgang: z.string().max(10).optional().describe('Year (e.g., "2023")'),
|
|
22
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
23
|
+
titel: z.string().max(500).optional().describe('Search in gazette titles'),
|
|
24
|
+
applikation: z
|
|
25
|
+
.enum(['BgblAuth', 'BgblPdf', 'BgblAlt'])
|
|
26
|
+
.default('BgblAuth')
|
|
27
|
+
.describe('"BgblAuth" (authentic 2004+, default), "BgblPdf" (PDF), "BgblAlt" (1945-2003)'),
|
|
28
|
+
seite: z.number().default(1).describe('Page number (default: 1)'),
|
|
29
|
+
limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'),
|
|
30
|
+
response_format: z
|
|
31
|
+
.enum(['markdown', 'json'])
|
|
32
|
+
.default('markdown')
|
|
33
|
+
.describe('"markdown" (default) or "json"'),
|
|
34
|
+
}, async (args) => {
|
|
35
|
+
const { bgblnummer, teil, jahrgang, suchworte, titel, applikation, seite, limit, response_format, } = args;
|
|
36
|
+
if (!hasAnyParam(args, ['bgblnummer', 'jahrgang', 'suchworte', 'titel'])) {
|
|
37
|
+
return createValidationErrorResponse([
|
|
38
|
+
'bgblnummer` fuer Gesetzblatt-Nummer',
|
|
39
|
+
'jahrgang` fuer Jahr',
|
|
40
|
+
'suchworte` fuer Volltextsuche',
|
|
41
|
+
'titel` fuer Suche in Titeln',
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
const params = buildBaseParams(applikation, limit, seite);
|
|
45
|
+
addOptionalParams(params, [
|
|
46
|
+
[bgblnummer, 'Bgblnummer'],
|
|
47
|
+
[teil, 'Teil'],
|
|
48
|
+
[jahrgang, 'Jahrgang'],
|
|
49
|
+
[suchworte, 'Suchworte'],
|
|
50
|
+
[titel, 'Titel'],
|
|
51
|
+
]);
|
|
52
|
+
return executeSearchTool(searchBundesrecht, params, response_format);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=bundesgesetzblatt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundesgesetzblatt.js","sourceRoot":"","sources":["../../src/tools/bundesgesetzblatt.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB;;;;;;;4DAOwD,EACxD;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACnF,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACrB,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAC1E,WAAW,EAAE,CAAC;aACX,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;aACxC,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CAAC,+EAA+E,CAAC;QAC5F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACrF,eAAe,EAAE,CAAC;aACf,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC1B,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CAAC,gCAAgC,CAAC;KAC9C,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EACJ,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,WAAW,EACX,KAAK,EACL,KAAK,EACL,eAAe,GAChB,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,6BAA6B,CAAC;gBACnC,qCAAqC;gBACrC,qBAAqB;gBACrB,+BAA+B;gBAC/B,6BAA6B;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,iBAAiB,CAAC,MAAM,EAAE;YACxB,CAAC,UAAU,EAAE,YAAY,CAAC;YAC1B,CAAC,IAAI,EAAE,MAAM,CAAC;YACd,CAAC,QAAQ,EAAE,UAAU,CAAC;YACtB,CAAC,SAAS,EAAE,WAAW,CAAC;YACxB,CAAC,KAAK,EAAE,OAAO,CAAC;SACjB,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_bundesrecht — Search Austrian federal laws (Bundesrecht).
|
|
3
|
+
*/
|
|
4
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
export declare function registerBundesrechtTool(server: McpServer): void;
|
|
6
|
+
//# sourceMappingURL=bundesrecht.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundesrecht.d.ts","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0E/D"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_bundesrecht — Search Austrian federal laws (Bundesrecht).
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchBundesrecht } from '../client.js';
|
|
6
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
7
|
+
import { BundesrechtApplikationSchema, DateSchema } from '../types.js';
|
|
8
|
+
export function registerBundesrechtTool(server) {
|
|
9
|
+
server.tool('ris_bundesrecht', `Search Austrian federal laws (Bundesrecht).
|
|
10
|
+
|
|
11
|
+
Use this tool to find Austrian federal legislation like ABGB, StGB, UGB, etc.
|
|
12
|
+
|
|
13
|
+
Example queries:
|
|
14
|
+
- suchworte="Mietrecht" -> Find laws mentioning rent law
|
|
15
|
+
- titel="ABGB", paragraph="1319a" -> Find specific ABGB section
|
|
16
|
+
- applikation="Begut" -> Search draft legislation`, {
|
|
17
|
+
suchworte: z
|
|
18
|
+
.string()
|
|
19
|
+
.max(1000)
|
|
20
|
+
.optional()
|
|
21
|
+
.describe('Full-text search terms (e.g., "Mietrecht", "Schadenersatz")'),
|
|
22
|
+
titel: z
|
|
23
|
+
.string()
|
|
24
|
+
.max(500)
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('Search in law titles (e.g., "ABGB", "Strafgesetzbuch")'),
|
|
27
|
+
paragraph: z
|
|
28
|
+
.string()
|
|
29
|
+
.max(100)
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Paragraph number to search for (e.g., "1295" for §1295)'),
|
|
32
|
+
applikation: BundesrechtApplikationSchema.default('BrKons').describe('Data source - "BrKons" (consolidated, default), "Begut" (drafts), "BgblAuth" (gazette), "Erv" (English)'),
|
|
33
|
+
fassung_vom: DateSchema.optional().describe('Date for historical version (YYYY-MM-DD)'),
|
|
34
|
+
seite: z.number().default(1).describe('Page number (default: 1)'),
|
|
35
|
+
limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'),
|
|
36
|
+
response_format: z
|
|
37
|
+
.enum(['markdown', 'json'])
|
|
38
|
+
.default('markdown')
|
|
39
|
+
.describe('"markdown" (default) or "json"'),
|
|
40
|
+
}, async (args) => {
|
|
41
|
+
const { suchworte, titel, paragraph, applikation, fassung_vom, seite, limit, response_format, } = args;
|
|
42
|
+
if (!hasAnyParam(args, ['suchworte', 'titel', 'paragraph'])) {
|
|
43
|
+
return createValidationErrorResponse([
|
|
44
|
+
'suchworte` fuer Volltextsuche',
|
|
45
|
+
'titel` fuer Suche in Gesetzesnamen',
|
|
46
|
+
'paragraph` fuer Suche nach Paragraphen',
|
|
47
|
+
]);
|
|
48
|
+
}
|
|
49
|
+
const params = buildBaseParams(applikation, limit, seite);
|
|
50
|
+
addOptionalParams(params, [
|
|
51
|
+
[suchworte, 'Suchworte'],
|
|
52
|
+
[titel, 'Titel'],
|
|
53
|
+
[fassung_vom, 'FassungVom'],
|
|
54
|
+
]);
|
|
55
|
+
if (paragraph) {
|
|
56
|
+
params['Abschnitt.Von'] = paragraph;
|
|
57
|
+
params['Abschnitt.Bis'] = paragraph;
|
|
58
|
+
params['Abschnitt.Typ'] = 'Paragraph';
|
|
59
|
+
}
|
|
60
|
+
return executeSearchTool(searchBundesrecht, params, response_format);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=bundesrecht.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundesrecht.js","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;oDAOgD,EAChD;QACE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wDAAwD,CAAC;QACrE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;QACtE,WAAW,EAAE,4BAA4B,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAClE,yGAAyG,CAC1G;QACD,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACvF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACrF,eAAe,EAAE,CAAC;aACf,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC1B,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CAAC,gCAAgC,CAAC;KAC9C,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EACJ,SAAS,EACT,KAAK,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,KAAK,EACL,KAAK,EACL,eAAe,GAChB,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,6BAA6B,CAAC;gBACnC,+BAA+B;gBAC/B,oCAAoC;gBACpC,wCAAwC;aACzC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,iBAAiB,CAAC,MAAM,EAAE;YACxB,CAAC,SAAS,EAAE,WAAW,CAAC;YACxB,CAAC,KAAK,EAAE,OAAO,CAAC;YAChB,CAAC,WAAW,EAAE,YAAY,CAAC;SAC5B,CAAC,CAAC;QAEH,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;YACpC,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;YACpC,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC;QACxC,CAAC;QAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dokument.d.ts","sourceRoot":"","sources":["../../src/tools/dokument.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyP5D"}
|