ris-mcp-ts 1.2.4 → 1.3.1
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/dist/client.d.ts +11 -9
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +67 -29
- package/dist/client.js.map +1 -1
- package/dist/helpers.d.ts +45 -10
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +27 -5
- package/dist/helpers.js.map +1 -1
- package/dist/http.d.ts +13 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +63 -8
- package/dist/http.js.map +1 -1
- package/dist/tools/bezirke.d.ts.map +1 -1
- package/dist/tools/bezirke.js +4 -3
- package/dist/tools/bezirke.js.map +1 -1
- package/dist/tools/bundesgesetzblatt.d.ts.map +1 -1
- package/dist/tools/bundesgesetzblatt.js +4 -3
- package/dist/tools/bundesgesetzblatt.js.map +1 -1
- package/dist/tools/bundesrecht.d.ts.map +1 -1
- package/dist/tools/bundesrecht.js +4 -3
- package/dist/tools/bundesrecht.js.map +1 -1
- package/dist/tools/dokument.d.ts.map +1 -1
- package/dist/tools/dokument.js +40 -18
- package/dist/tools/dokument.js.map +1 -1
- package/dist/tools/gemeinden.d.ts.map +1 -1
- package/dist/tools/gemeinden.js +4 -3
- package/dist/tools/gemeinden.js.map +1 -1
- package/dist/tools/history.d.ts.map +1 -1
- package/dist/tools/history.js +4 -3
- package/dist/tools/history.js.map +1 -1
- package/dist/tools/judikatur.d.ts.map +1 -1
- package/dist/tools/judikatur.js +4 -3
- package/dist/tools/judikatur.js.map +1 -1
- package/dist/tools/landesgesetzblatt.d.ts.map +1 -1
- package/dist/tools/landesgesetzblatt.js +4 -3
- package/dist/tools/landesgesetzblatt.js.map +1 -1
- package/dist/tools/landesrecht.d.ts.map +1 -1
- package/dist/tools/landesrecht.js +4 -3
- package/dist/tools/landesrecht.js.map +1 -1
- package/dist/tools/regierungsvorlagen.d.ts.map +1 -1
- package/dist/tools/regierungsvorlagen.js +4 -3
- package/dist/tools/regierungsvorlagen.js.map +1 -1
- package/dist/tools/sonstige.d.ts.map +1 -1
- package/dist/tools/sonstige.js +4 -3
- package/dist/tools/sonstige.js.map +1 -1
- package/dist/tools/verordnungen.d.ts.map +1 -1
- package/dist/tools/verordnungen.js +4 -3
- package/dist/tools/verordnungen.js.map +1 -1
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
package/dist/http.js
CHANGED
|
@@ -8,7 +8,7 @@ import crypto from 'node:crypto';
|
|
|
8
8
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
9
|
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
10
10
|
import express from 'express';
|
|
11
|
-
import rateLimit from 'express-rate-limit';
|
|
11
|
+
import rateLimit, { ipKeyGenerator } from 'express-rate-limit';
|
|
12
12
|
import { registerAllTools } from './tools/index.js';
|
|
13
13
|
import { VERSION } from './version.js';
|
|
14
14
|
// Re-exported for backward compatibility: VERSION now lives in version.js
|
|
@@ -27,15 +27,54 @@ export const sessions = new Map();
|
|
|
27
27
|
app.set('trust proxy', 1);
|
|
28
28
|
// Explicit body-size limit (N7) — reject oversized payloads early.
|
|
29
29
|
app.use(express.json({ limit: '1mb' }));
|
|
30
|
+
// Browser origins permitted to talk to /mcp, comma-separated. Read once at
|
|
31
|
+
// module load, same as PORT below. Unset or empty means: no browser origin is
|
|
32
|
+
// allowed, which is the correct default for a server-to-server MCP endpoint.
|
|
33
|
+
const ALLOWED_ORIGINS = new Set((process.env.ALLOWED_ORIGINS ?? '')
|
|
34
|
+
.split(',')
|
|
35
|
+
.map((origin) => origin.trim())
|
|
36
|
+
.filter((origin) => origin.length > 0));
|
|
37
|
+
/**
|
|
38
|
+
* Origin validation — protects the unauthenticated /mcp endpoint against
|
|
39
|
+
* cross-site requests and DNS rebinding. The SDK's own `allowedOrigins` /
|
|
40
|
+
* `enableDnsRebindingProtection` transport options are deprecated in favour of
|
|
41
|
+
* exactly this: external middleware.
|
|
42
|
+
*
|
|
43
|
+
* A missing Origin header passes: only browsers send one, and every non-browser
|
|
44
|
+
* MCP client (stdio bridge, curl, server-to-server) would otherwise break. This
|
|
45
|
+
* is not a hole — an attacker's page cannot suppress the header, the browser
|
|
46
|
+
* sets it. A present Origin must match the allowlist exactly.
|
|
47
|
+
*/
|
|
48
|
+
export function validateOrigin(req, res, next) {
|
|
49
|
+
const origin = req.headers.origin;
|
|
50
|
+
if (origin === undefined || ALLOWED_ORIGINS.has(origin)) {
|
|
51
|
+
next();
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
res.status(403).json({ error: 'Origin nicht erlaubt.' });
|
|
55
|
+
}
|
|
56
|
+
// Ordered before the rate limiter: a cross-origin request is rejected on a
|
|
57
|
+
// header check alone, so it should neither consume the limiter's budget for the
|
|
58
|
+
// client IP nor create an entry in its store.
|
|
59
|
+
app.use('/mcp', validateOrigin);
|
|
30
60
|
// Rate limiting: MCP-specific (each request triggers upstream RIS API calls)
|
|
31
61
|
export const mcpLimiter = rateLimit({
|
|
32
62
|
windowMs: 60_000,
|
|
33
63
|
max: 60,
|
|
34
64
|
standardHeaders: 'draft-7',
|
|
35
65
|
legacyHeaders: false,
|
|
36
|
-
|
|
66
|
+
// Key on the session id only if it belongs to an established session —
|
|
67
|
+
// otherwise a client would get a fresh bucket per request simply by sending a
|
|
68
|
+
// random id. Everything else falls back to the client IP; ipKeyGenerator
|
|
69
|
+
// buckets IPv6 addresses by subnet so those cannot be rotated either.
|
|
70
|
+
keyGenerator: (req) => {
|
|
71
|
+
const sessionId = req.headers['mcp-session-id'];
|
|
72
|
+
if (sessionId && sessions.has(sessionId)) {
|
|
73
|
+
return sessionId;
|
|
74
|
+
}
|
|
75
|
+
return req.ip ? ipKeyGenerator(req.ip) : 'unknown';
|
|
76
|
+
},
|
|
37
77
|
message: { error: 'Zu viele Anfragen. Bitte später erneut versuchen.' },
|
|
38
|
-
validate: { keyGeneratorIpFallback: false },
|
|
39
78
|
});
|
|
40
79
|
app.use('/mcp', mcpLimiter);
|
|
41
80
|
/**
|
|
@@ -91,6 +130,22 @@ export function sweepIdleSessions(now = Date.now()) {
|
|
|
91
130
|
}
|
|
92
131
|
return evicted;
|
|
93
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Hand a request to an established session's transport. The promise has to be
|
|
135
|
+
* awaited: a rejection escaping a non-async route handler bypasses Express'
|
|
136
|
+
* async error forwarding entirely and leaves the client waiting forever.
|
|
137
|
+
*/
|
|
138
|
+
async function handleWithTransport(entry, req, res) {
|
|
139
|
+
try {
|
|
140
|
+
await entry.transport.handleRequest(req, res, req.body);
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
console.error('Fehler bei der Session-Verarbeitung:', error);
|
|
144
|
+
if (!res.headersSent) {
|
|
145
|
+
res.status(500).json({ error: 'Interner Serverfehler. Bitte später erneut versuchen.' });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
94
149
|
// Health check endpoint
|
|
95
150
|
app.get('/health', (_req, res) => {
|
|
96
151
|
res.json({
|
|
@@ -107,7 +162,7 @@ app.post('/mcp', async (req, res) => {
|
|
|
107
162
|
const existing = sessions.get(sessionId);
|
|
108
163
|
if (existing) {
|
|
109
164
|
existing.lastActivity = Date.now();
|
|
110
|
-
await existing
|
|
165
|
+
await handleWithTransport(existing, req, res);
|
|
111
166
|
return;
|
|
112
167
|
}
|
|
113
168
|
// Session expired or server restarted — client must reinitialize
|
|
@@ -133,25 +188,25 @@ app.post('/mcp', async (req, res) => {
|
|
|
133
188
|
registerSession(transport.sessionId, transport);
|
|
134
189
|
}
|
|
135
190
|
});
|
|
136
|
-
app.get('/mcp', (req, res) => {
|
|
191
|
+
app.get('/mcp', async (req, res) => {
|
|
137
192
|
const sessionId = req.headers['mcp-session-id'];
|
|
138
193
|
if (sessionId) {
|
|
139
194
|
const entry = sessions.get(sessionId);
|
|
140
195
|
if (entry) {
|
|
141
196
|
entry.lastActivity = Date.now();
|
|
142
|
-
entry
|
|
197
|
+
await handleWithTransport(entry, req, res);
|
|
143
198
|
return;
|
|
144
199
|
}
|
|
145
200
|
}
|
|
146
201
|
res.status(400).json({ error: 'Keine gültige Session. Starte mit POST /mcp.' });
|
|
147
202
|
});
|
|
148
|
-
app.delete('/mcp', (req, res) => {
|
|
203
|
+
app.delete('/mcp', async (req, res) => {
|
|
149
204
|
const sessionId = req.headers['mcp-session-id'];
|
|
150
205
|
if (sessionId) {
|
|
151
206
|
const entry = sessions.get(sessionId);
|
|
152
207
|
if (entry) {
|
|
153
208
|
entry.lastActivity = Date.now();
|
|
154
|
-
entry
|
|
209
|
+
await handleWithTransport(entry, req, res);
|
|
155
210
|
return;
|
|
156
211
|
}
|
|
157
212
|
}
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,SAAS,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
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;AAoBzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2F3D"}
|
package/dist/tools/bezirke.js
CHANGED
|
@@ -5,7 +5,7 @@ import { z } from 'zod';
|
|
|
5
5
|
import { searchBezirke } from '../client.js';
|
|
6
6
|
import { IM_RIS_SEIT_VALUES } from '../constants.js';
|
|
7
7
|
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
-
import { BundeslandSchema, DateSchema, LimitSchema, SeiteSchema } from '../types.js';
|
|
8
|
+
import { BundeslandSchema, DateSchema, LimitSchema, SearchResultOutputShape, SeiteSchema, } from '../types.js';
|
|
9
9
|
export function registerBezirkeTool(server) {
|
|
10
10
|
server.registerTool('ris_bezirke', {
|
|
11
11
|
title: 'Bezirksverwaltungsbehörden durchsuchen',
|
|
@@ -38,8 +38,9 @@ Example queries:
|
|
|
38
38
|
.default('markdown')
|
|
39
39
|
.describe('"markdown" (default) or "json"'),
|
|
40
40
|
},
|
|
41
|
+
outputSchema: SearchResultOutputShape,
|
|
41
42
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
42
|
-
}, async (args) => {
|
|
43
|
+
}, async (args, extra) => {
|
|
43
44
|
const { suchworte, titel, bundesland, bezirksverwaltungsbehoerde, kundmachungsnummer, kundmachungsdatum_von, kundmachungsdatum_bis, im_ris_seit, seite, limit, response_format, } = args;
|
|
44
45
|
if (!hasAnyParam(args, [
|
|
45
46
|
'suchworte',
|
|
@@ -67,7 +68,7 @@ Example queries:
|
|
|
67
68
|
[kundmachungsdatum_bis, 'Kundmachungsdatum.Bis'],
|
|
68
69
|
[im_ris_seit, 'ImRisSeit'],
|
|
69
70
|
]);
|
|
70
|
-
return executeSearchTool(searchBezirke, params, response_format);
|
|
71
|
+
return executeSearchTool(searchBezirke, params, response_format, extra.signal);
|
|
71
72
|
});
|
|
72
73
|
}
|
|
73
74
|
//# sourceMappingURL=bezirke.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bezirke.js","sourceRoot":"","sources":["../../src/tools/bezirke.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"bezirke.js","sourceRoot":"","sources":["../../src/tools/bezirke.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;AAazE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
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;AAazE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwErE"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { searchBundesrecht } from '../client.js';
|
|
6
6
|
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
7
|
-
import { LimitSchema, SeiteSchema } from '../types.js';
|
|
7
|
+
import { LimitSchema, SearchResultOutputShape, SeiteSchema } from '../types.js';
|
|
8
8
|
export function registerBundesgesetzblattTool(server) {
|
|
9
9
|
server.registerTool('ris_bundesgesetzblatt', {
|
|
10
10
|
title: 'Bundesgesetzblatt durchsuchen',
|
|
@@ -36,8 +36,9 @@ Example queries:
|
|
|
36
36
|
.default('markdown')
|
|
37
37
|
.describe('"markdown" (default) or "json"'),
|
|
38
38
|
},
|
|
39
|
+
outputSchema: SearchResultOutputShape,
|
|
39
40
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
40
|
-
}, async (args) => {
|
|
41
|
+
}, async (args, extra) => {
|
|
41
42
|
const { bgblnummer, teil, jahrgang, suchworte, titel, applikation, seite, limit, response_format, } = args;
|
|
42
43
|
if (!hasAnyParam(args, ['bgblnummer', 'jahrgang', 'suchworte', 'titel'])) {
|
|
43
44
|
return createValidationErrorResponse([
|
|
@@ -55,7 +56,7 @@ Example queries:
|
|
|
55
56
|
[suchworte, 'Suchworte'],
|
|
56
57
|
[titel, 'Titel'],
|
|
57
58
|
]);
|
|
58
|
-
return executeSearchTool(searchBundesrecht, params, response_format);
|
|
59
|
+
return executeSearchTool(searchBundesrecht, params, response_format, extra.signal);
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
62
|
//# sourceMappingURL=bundesgesetzblatt.js.map
|
|
@@ -1 +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;AACvB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bundesgesetzblatt.js","sourceRoot":"","sources":["../../src/tools/bundesgesetzblatt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
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;AAoBzE,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA4B3F;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqF/D"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { searchBundesrecht } from '../client.js';
|
|
6
6
|
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
7
|
-
import { AbschnittTypSchema, BundesrechtApplikationSchema, DateSchema, LimitSchema, SeiteSchema, } from '../types.js';
|
|
7
|
+
import { AbschnittTypSchema, BundesrechtApplikationSchema, DateSchema, LimitSchema, SearchResultOutputShape, SeiteSchema, } from '../types.js';
|
|
8
8
|
/**
|
|
9
9
|
* Build the RIS API parameter object for a Bundesrecht search.
|
|
10
10
|
*
|
|
@@ -75,8 +75,9 @@ Example queries:
|
|
|
75
75
|
.default('markdown')
|
|
76
76
|
.describe('"markdown" (default) or "json"'),
|
|
77
77
|
},
|
|
78
|
+
outputSchema: SearchResultOutputShape,
|
|
78
79
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
79
|
-
}, async (args) => {
|
|
80
|
+
}, async (args, extra) => {
|
|
80
81
|
const { suchworte, titel, paragraph, abschnitt_typ, applikation, fassung_vom, seite, limit, response_format, } = args;
|
|
81
82
|
if (!hasAnyParam(args, ['suchworte', 'titel', 'paragraph'])) {
|
|
82
83
|
return createValidationErrorResponse([
|
|
@@ -95,7 +96,7 @@ Example queries:
|
|
|
95
96
|
seite,
|
|
96
97
|
limit,
|
|
97
98
|
});
|
|
98
|
-
return executeSearchTool(searchBundesrecht, params, response_format);
|
|
99
|
+
return executeSearchTool(searchBundesrecht, params, response_format, extra.signal);
|
|
99
100
|
});
|
|
100
101
|
}
|
|
101
102
|
//# sourceMappingURL=bundesrecht.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundesrecht.js","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bundesrecht.js","sourceRoot":"","sources":["../../src/tools/bundesrecht.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;AAmBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
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;AAmBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqN5D"}
|
package/dist/tools/dokument.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { getDocumentByNumber, getDocumentContent, getDocumentRoute, isAllowedUrl, searchBezirke, searchBundesrecht, searchJudikatur, searchLandesrecht, searchSonstige, } from '../client.js';
|
|
6
6
|
import { formatDocument, truncateResponse } from '../formatting.js';
|
|
7
|
-
import {
|
|
7
|
+
import { createErrorResponse, formatErrorResponse } from '../helpers.js';
|
|
8
8
|
import { findDocumentByDokumentnummer } from '../parser.js';
|
|
9
9
|
export function registerDokumentTool(server) {
|
|
10
10
|
server.registerTool('ris_dokument', {
|
|
@@ -25,17 +25,22 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
25
25
|
.default('markdown')
|
|
26
26
|
.describe('"markdown" (default) or "json"'),
|
|
27
27
|
},
|
|
28
|
+
// Deliberately no outputSchema: the spec lets a client treat the text block
|
|
29
|
+
// as a mere serialization of structuredContent and render only the latter.
|
|
30
|
+
// For this tool the text block IS the payload, so any structured metadata
|
|
31
|
+
// would replace the document text with a handful of fields and the model
|
|
32
|
+
// would never see the document.
|
|
28
33
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
29
|
-
}, async (args) => {
|
|
34
|
+
}, async (args, extra) => {
|
|
30
35
|
const { dokumentnummer, url: inputUrl, response_format } = args;
|
|
31
36
|
if (!dokumentnummer && !inputUrl) {
|
|
32
|
-
return
|
|
37
|
+
return createErrorResponse('**Fehler:** Bitte gib entweder eine `dokumentnummer` oder eine `url` an.\n\n' +
|
|
33
38
|
'Die Dokumentnummer findest du in den Suchergebnissen von `ris_bundesrecht`, ' +
|
|
34
39
|
'`ris_landesrecht` oder `ris_judikatur`.');
|
|
35
40
|
}
|
|
36
41
|
// SSRF protection: validate user-supplied URLs against domain allowlist
|
|
37
42
|
if (inputUrl && !isAllowedUrl(inputUrl)) {
|
|
38
|
-
return
|
|
43
|
+
return createErrorResponse('**Fehler:** Die angegebene URL ist nicht erlaubt.\n\n' +
|
|
39
44
|
'Nur HTTPS-URLs zu offiziellen RIS-Domains sind zulaessig ' +
|
|
40
45
|
'(data.bka.gv.at, www.ris.bka.gv.at, ris.bka.gv.at).');
|
|
41
46
|
}
|
|
@@ -45,7 +50,7 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
45
50
|
let metadata;
|
|
46
51
|
if (dokumentnummer && !inputUrl) {
|
|
47
52
|
// Strategy: Try direct URL construction first, fallback to search API
|
|
48
|
-
const directResult = await getDocumentByNumber(dokumentnummer);
|
|
53
|
+
const directResult = await getDocumentByNumber(dokumentnummer, undefined, extra.signal);
|
|
49
54
|
if (directResult.success) {
|
|
50
55
|
// Direct fetch succeeded - use minimal metadata
|
|
51
56
|
htmlContent = directResult.html;
|
|
@@ -73,20 +78,20 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
73
78
|
let apiResponse;
|
|
74
79
|
switch (route?.endpoint) {
|
|
75
80
|
case 'Bundesrecht':
|
|
76
|
-
apiResponse = await searchBundesrecht(searchParams);
|
|
81
|
+
apiResponse = await searchBundesrecht(searchParams, undefined, extra.signal);
|
|
77
82
|
break;
|
|
78
83
|
case 'Landesrecht':
|
|
79
|
-
apiResponse = await searchLandesrecht(searchParams);
|
|
84
|
+
apiResponse = await searchLandesrecht(searchParams, undefined, extra.signal);
|
|
80
85
|
break;
|
|
81
86
|
case 'Sonstige':
|
|
82
|
-
apiResponse = await searchSonstige(searchParams);
|
|
87
|
+
apiResponse = await searchSonstige(searchParams, undefined, extra.signal);
|
|
83
88
|
break;
|
|
84
89
|
case 'Bezirke':
|
|
85
|
-
apiResponse = await searchBezirke(searchParams);
|
|
90
|
+
apiResponse = await searchBezirke(searchParams, undefined, extra.signal);
|
|
86
91
|
break;
|
|
87
92
|
case 'Judikatur':
|
|
88
93
|
default:
|
|
89
|
-
apiResponse = await searchJudikatur(searchParams);
|
|
94
|
+
apiResponse = await searchJudikatur(searchParams, undefined, extra.signal);
|
|
90
95
|
break;
|
|
91
96
|
}
|
|
92
97
|
// Find the document with matching dokumentnummer (don't blindly take first result)
|
|
@@ -95,14 +100,14 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
95
100
|
// Both direct fetch and search failed - provide helpful error
|
|
96
101
|
const directError = directResult.error;
|
|
97
102
|
if (findResult.error === 'no_documents') {
|
|
98
|
-
return
|
|
103
|
+
return createErrorResponse(`**Fehler:** Kein Dokument mit der Nummer \`${dokumentnummer}\` gefunden.\n\n` +
|
|
99
104
|
`Direkter Abruf: ${directError}\n` +
|
|
100
105
|
`Suche: Keine Ergebnisse.\n\n` +
|
|
101
106
|
'Bitte pruefe die Dokumentnummer oder verwende eine Suche, ' +
|
|
102
107
|
'um das gewuenschte Dokument zu finden.');
|
|
103
108
|
}
|
|
104
109
|
else {
|
|
105
|
-
return
|
|
110
|
+
return createErrorResponse(`**Fehler:** Dokument \`${dokumentnummer}\` nicht gefunden.\n\n` +
|
|
106
111
|
`Direkter Abruf: ${directError}\n` +
|
|
107
112
|
`Suche: ${findResult.totalResults} Ergebnisse, aber keines mit dieser Dokumentnummer.\n\n` +
|
|
108
113
|
`Bitte verwende eine alternative Suche oder die direkte URL.`);
|
|
@@ -111,14 +116,14 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
111
116
|
const doc = findResult.document;
|
|
112
117
|
contentUrl = doc.content_urls.html ?? undefined;
|
|
113
118
|
if (!contentUrl) {
|
|
114
|
-
return
|
|
119
|
+
return createErrorResponse(`**Fehler:** Keine Inhalts-URL fuer Dokument \`${dokumentnummer}\` verfuegbar.\n\n` +
|
|
115
120
|
'Das Dokument hat moeglicherweise keinen abrufbaren Volltext.');
|
|
116
121
|
}
|
|
117
122
|
// SSRF protection: this URL comes straight from the search API response
|
|
118
123
|
// and would otherwise be fetched unchecked. Validate it against the same
|
|
119
124
|
// domain allowlist used for user-supplied URLs.
|
|
120
125
|
if (!isAllowedUrl(contentUrl)) {
|
|
121
|
-
return
|
|
126
|
+
return createErrorResponse('**Fehler:** Die Inhalts-URL des Dokuments ist nicht erlaubt.\n\n' +
|
|
122
127
|
'Nur HTTPS-URLs zu offiziellen RIS-Domains sind zulaessig ' +
|
|
123
128
|
'(data.bka.gv.at, www.ris.bka.gv.at, ris.bka.gv.at).');
|
|
124
129
|
}
|
|
@@ -154,19 +159,36 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
154
159
|
};
|
|
155
160
|
}
|
|
156
161
|
if (!contentUrl) {
|
|
157
|
-
return
|
|
162
|
+
return createErrorResponse('**Fehler:** Keine gueltige URL zum Abrufen des Dokuments.');
|
|
158
163
|
}
|
|
159
164
|
// Fetch document content if not already fetched via direct URL
|
|
160
165
|
if (!htmlContent) {
|
|
161
|
-
htmlContent = await getDocumentContent(contentUrl);
|
|
166
|
+
htmlContent = await getDocumentContent(contentUrl, undefined, extra.signal);
|
|
162
167
|
}
|
|
163
168
|
// Format the document
|
|
164
169
|
const formatted = formatDocument(htmlContent, metadata, response_format);
|
|
165
170
|
const result = truncateResponse(formatted);
|
|
166
|
-
|
|
171
|
+
// The text stays the payload; the resource_link lets a client open the
|
|
172
|
+
// untruncated original, which matters most for a truncated document.
|
|
173
|
+
return {
|
|
174
|
+
content: [
|
|
175
|
+
{ type: 'text', text: result },
|
|
176
|
+
{
|
|
177
|
+
type: 'resource_link',
|
|
178
|
+
uri: contentUrl,
|
|
179
|
+
name: dokumentnummer ?? metadata.titel ?? contentUrl,
|
|
180
|
+
mimeType: 'text/html',
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
};
|
|
167
184
|
}
|
|
168
185
|
catch (e) {
|
|
169
|
-
|
|
186
|
+
// A cancelled call has no reader left for a German error message; let the
|
|
187
|
+
// abort propagate so the SDK drops the request.
|
|
188
|
+
if (extra.signal.aborted) {
|
|
189
|
+
throw e;
|
|
190
|
+
}
|
|
191
|
+
return createErrorResponse(formatErrorResponse(e));
|
|
170
192
|
}
|
|
171
193
|
});
|
|
172
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dokument.js","sourceRoot":"","sources":["../../src/tools/dokument.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dokument.js","sourceRoot":"","sources":["../../src/tools/dokument.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemeinden.d.ts","sourceRoot":"","sources":["../../src/tools/gemeinden.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"gemeinden.d.ts","sourceRoot":"","sources":["../../src/tools/gemeinden.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgL7D"}
|
package/dist/tools/gemeinden.js
CHANGED
|
@@ -5,7 +5,7 @@ import { z } from 'zod';
|
|
|
5
5
|
import { searchGemeinden } from '../client.js';
|
|
6
6
|
import { GEMEINDEN_INDEX_VALUES, IM_RIS_SEIT_VALUES } from '../constants.js';
|
|
7
7
|
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
-
import { DateSchema, LimitSchema, SeiteSchema } from '../types.js';
|
|
8
|
+
import { DateSchema, LimitSchema, SearchResultOutputShape, SeiteSchema } from '../types.js';
|
|
9
9
|
export function registerGemeindenTool(server) {
|
|
10
10
|
server.registerTool('ris_gemeinden', {
|
|
11
11
|
title: 'Gemeinderecht durchsuchen',
|
|
@@ -84,8 +84,9 @@ Example queries:
|
|
|
84
84
|
.default('markdown')
|
|
85
85
|
.describe('"markdown" (default) or "json"'),
|
|
86
86
|
},
|
|
87
|
+
outputSchema: SearchResultOutputShape,
|
|
87
88
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
88
|
-
}, async (args) => {
|
|
89
|
+
}, async (args, extra) => {
|
|
89
90
|
const { suchworte, titel, bundesland, gemeinde, applikation, geschaeftszahl, index, fassung_vom, bezirk, gemeindeverband, kundmachungsnummer, kundmachungsdatum_von, kundmachungsdatum_bis, im_ris_seit, sortierung_richtung, sortierung_spalte_gr, seite, limit, response_format, } = args;
|
|
90
91
|
if (!hasAnyParam(args, [
|
|
91
92
|
'suchworte',
|
|
@@ -136,7 +137,7 @@ Example queries:
|
|
|
136
137
|
[kundmachungsdatum_bis, 'Kundmachungsdatum.Bis'],
|
|
137
138
|
]);
|
|
138
139
|
}
|
|
139
|
-
return executeSearchTool(searchGemeinden, params, response_format);
|
|
140
|
+
return executeSearchTool(searchGemeinden, params, response_format, extra.signal);
|
|
140
141
|
});
|
|
141
142
|
}
|
|
142
143
|
//# sourceMappingURL=gemeinden.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemeinden.js","sourceRoot":"","sources":["../../src/tools/gemeinden.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"gemeinden.js","sourceRoot":"","sources":["../../src/tools/gemeinden.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/tools/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/tools/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8E3D"}
|
package/dist/tools/history.js
CHANGED
|
@@ -5,7 +5,7 @@ import { z } from 'zod';
|
|
|
5
5
|
import { searchHistory } from '../client.js';
|
|
6
6
|
import { VALID_HISTORY_APPLICATIONS } from '../constants.js';
|
|
7
7
|
import { addOptionalParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
-
import { DateSchema, LimitSchema, limitToDokumenteProSeite, SeiteSchema } from '../types.js';
|
|
8
|
+
import { DateSchema, LimitSchema, limitToDokumenteProSeite, SearchResultOutputShape, SeiteSchema, } from '../types.js';
|
|
9
9
|
export function registerHistoryTool(server) {
|
|
10
10
|
server.registerTool('ris_history', {
|
|
11
11
|
title: 'Änderungshistorie durchsuchen',
|
|
@@ -43,8 +43,9 @@ Example queries:
|
|
|
43
43
|
.default('markdown')
|
|
44
44
|
.describe('"markdown" (default) or "json"'),
|
|
45
45
|
},
|
|
46
|
+
outputSchema: SearchResultOutputShape,
|
|
46
47
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
47
|
-
}, async (args) => {
|
|
48
|
+
}, async (args, extra) => {
|
|
48
49
|
const { applikation, aenderungen_von, aenderungen_bis, include_deleted, seite, limit, response_format, } = args;
|
|
49
50
|
if (!hasAnyParam(args, ['aenderungen_von', 'aenderungen_bis'])) {
|
|
50
51
|
return createValidationErrorResponse([
|
|
@@ -64,7 +65,7 @@ Example queries:
|
|
|
64
65
|
]);
|
|
65
66
|
if (include_deleted)
|
|
66
67
|
params['IncludeDeletedDocuments'] = 'true';
|
|
67
|
-
return executeSearchTool(searchHistory, params, response_format);
|
|
68
|
+
return executeSearchTool(searchHistory, params, response_format, extra.signal);
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
//# sourceMappingURL=history.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/tools/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/tools/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EACjB,6BAA6B,EAC7B,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EACV,WAAW,EACX,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE;;;;;;;;;;;;;uDAaoC;QACjD,WAAW,EAAE;YACX,WAAW,EAAE,CAAC;iBACX,IAAI,CAAC,0BAA0B,CAAC;iBAChC,QAAQ,CACP,gHAAgH;gBAC9G,0EAA0E;gBAC1E,sEAAsE;gBACtE,8EAA8E,CACjF;YACH,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACjF,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC/E,eAAe,EAAE,CAAC;iBACf,OAAO,EAAE;iBACT,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,uDAAuD,CAAC;YACpE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACvD,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YACjF,eAAe,EAAE,CAAC;iBACf,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;iBAC1B,OAAO,CAAC,UAAU,CAAC;iBACnB,QAAQ,CAAC,gCAAgC,CAAC;SAC9C;QACD,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,EACJ,WAAW,EACX,eAAe,EACf,eAAe,EACf,eAAe,EACf,KAAK,EACL,KAAK,EACL,eAAe,GAChB,GAAG,IAAI,CAAC;QAET,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,6BAA6B,CAAC;gBACnC,4CAA4C;gBAC5C,6CAA6C;aAC9C,CAAC,CAAC;QACL,CAAC;QAED,4DAA4D;QAC5D,MAAM,MAAM,GAA4B;YACtC,SAAS,EAAE,WAAW;YACtB,iBAAiB,EAAE,wBAAwB,CAAC,KAAK,CAAC;YAClD,YAAY,EAAE,KAAK;SACpB,CAAC;QAEF,iBAAiB,CAAC,MAAM,EAAE;YACxB,CAAC,eAAe,EAAE,gBAAgB,CAAC;YACnC,CAAC,eAAe,EAAE,gBAAgB,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,eAAe;YAAE,MAAM,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC;QAEhE,OAAO,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjF,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"judikatur.d.ts","sourceRoot":"","sources":["../../src/tools/judikatur.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"judikatur.d.ts","sourceRoot":"","sources":["../../src/tools/judikatur.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuBzE,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,YAAY,GAAG,mBAAmB,GAAG,OAAO,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC;IACtC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgDvF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4H7D"}
|