ris-mcp-ts 1.2.4 → 1.3.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/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 +59 -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":"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,EAAE,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,0EAA0E;AAC1E,4EAA4E;AAC5E,kBAAkB;AAClB,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,+EAA+E;AAC/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,0BAA0B;AACjF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,oBAAoB;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,mBAAmB;AAOpD,MAAM,CAAC,MAAM,GAAG,GAAY,OAAO,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;AAExD,gFAAgF;AAChF,+EAA+E;AAC/E,qEAAqE;AACrE,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAE1B,mEAAmE;AACnE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAExC,2EAA2E;AAC3E,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;KAChC,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CACzC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC5E,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IAElC,IAAI,MAAM,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,2EAA2E;AAC3E,gFAAgF;AAChF,8CAA8C;AAC9C,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEhC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,EAAE;IACP,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,KAAK;IACpB,uEAAuE;IACvE,8EAA8E;IAC9E,yEAAyE;IACzE,sEAAsE;IACtE,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;QACpB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QACtE,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,EAAE,KAAK,EAAE,mDAAmD,EAAE;CACxE,CAAC,CAAC;AACH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE5B;;;;GAIG;AACH,SAAS,YAAY,CAAC,SAAiB,EAAE,KAAmB;IAC1D,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB;IACzB,IAAI,QAA4B,CAAC;IACjC,IAAI,cAAc,GAAG,QAAQ,CAAC;IAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,YAAY,GAAG,cAAc,EAAE,CAAC;YACxC,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC;YACpC,QAAQ,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,SAAwC;IACzF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;QAC9D,kBAAkB,EAAE,CAAC;IACvB,CAAC;IACD,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IACxD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,GAAG,uBAAuB,EAAE,CAAC;YACvD,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAChC,KAAmB,EACnB,GAAY,EACZ,GAAa;IAEb,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uDAAuD,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;IAClD,GAAG,CAAC,IAAI,CAAC;QACP,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,SAAS;QAClB,cAAc,EAAE,QAAQ,CAAC,IAAI;KAC9B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,sFAAsF;AACtF,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACrD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;IAEtE,yBAAyB;IACzB,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,iEAAiE;QACjE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC,CAAC;QAChF,OAAO;IACT,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,6BAA6B,CAAC;QAClD,kBAAkB,EAAE,GAAW,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;KACtD,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAEzB,SAAS,CAAC,OAAO,GAAG,GAAS,EAAE;QAC7B,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YACxB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAElD,kEAAkE;IAClE,+DAA+D;IAC/D,IAAI,SAAS,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,eAAe,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;IAEtE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;IACH,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC,CAAC;AAClF,CAAC,CAAC,CAAC;AAEH,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACvD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;IAEtE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;IACH,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC,CAAC;AAClF,CAAC,CAAC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AAEtC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;IACpC,iFAAiF;IACjF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,iBAAiB,EAAE,CAAC;IACtB,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAC9B,UAAU,CAAC,KAAK,EAAE,CAAC;IAEnB,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,2EAA2E;IAC3E,6EAA6E;IAC7E,iCAAiC;IACjC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE;QACxC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,4CAA4C,CAAC,CAAC;QACnE,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACnC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,6DAA6D;QAC7D,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -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;
|
|
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;AAqCzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuN5D"}
|
package/dist/tools/dokument.js
CHANGED
|
@@ -4,8 +4,25 @@
|
|
|
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
|
+
/**
|
|
10
|
+
* Structured metadata about the retrieved document.
|
|
11
|
+
*
|
|
12
|
+
* Deliberately metadata only: the document text is large and stays in the text
|
|
13
|
+
* content block instead of being duplicated into the structured payload.
|
|
14
|
+
*/
|
|
15
|
+
const DokumentOutputShape = {
|
|
16
|
+
dokumentnummer: z
|
|
17
|
+
.string()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('RIS document number, if the document was requested by number'),
|
|
20
|
+
quelle_url: z.string().describe('Canonical RIS URL the document text was retrieved from'),
|
|
21
|
+
laenge: z.number().describe('Length in characters of the returned text'),
|
|
22
|
+
gekuerzt: z
|
|
23
|
+
.boolean()
|
|
24
|
+
.describe('Whether the returned text was truncated to stay within the size limit'),
|
|
25
|
+
};
|
|
9
26
|
export function registerDokumentTool(server) {
|
|
10
27
|
server.registerTool('ris_dokument', {
|
|
11
28
|
title: 'Dokument abrufen',
|
|
@@ -25,17 +42,18 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
25
42
|
.default('markdown')
|
|
26
43
|
.describe('"markdown" (default) or "json"'),
|
|
27
44
|
},
|
|
45
|
+
outputSchema: DokumentOutputShape,
|
|
28
46
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
29
|
-
}, async (args) => {
|
|
47
|
+
}, async (args, extra) => {
|
|
30
48
|
const { dokumentnummer, url: inputUrl, response_format } = args;
|
|
31
49
|
if (!dokumentnummer && !inputUrl) {
|
|
32
|
-
return
|
|
50
|
+
return createErrorResponse('**Fehler:** Bitte gib entweder eine `dokumentnummer` oder eine `url` an.\n\n' +
|
|
33
51
|
'Die Dokumentnummer findest du in den Suchergebnissen von `ris_bundesrecht`, ' +
|
|
34
52
|
'`ris_landesrecht` oder `ris_judikatur`.');
|
|
35
53
|
}
|
|
36
54
|
// SSRF protection: validate user-supplied URLs against domain allowlist
|
|
37
55
|
if (inputUrl && !isAllowedUrl(inputUrl)) {
|
|
38
|
-
return
|
|
56
|
+
return createErrorResponse('**Fehler:** Die angegebene URL ist nicht erlaubt.\n\n' +
|
|
39
57
|
'Nur HTTPS-URLs zu offiziellen RIS-Domains sind zulaessig ' +
|
|
40
58
|
'(data.bka.gv.at, www.ris.bka.gv.at, ris.bka.gv.at).');
|
|
41
59
|
}
|
|
@@ -45,7 +63,7 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
45
63
|
let metadata;
|
|
46
64
|
if (dokumentnummer && !inputUrl) {
|
|
47
65
|
// Strategy: Try direct URL construction first, fallback to search API
|
|
48
|
-
const directResult = await getDocumentByNumber(dokumentnummer);
|
|
66
|
+
const directResult = await getDocumentByNumber(dokumentnummer, undefined, extra.signal);
|
|
49
67
|
if (directResult.success) {
|
|
50
68
|
// Direct fetch succeeded - use minimal metadata
|
|
51
69
|
htmlContent = directResult.html;
|
|
@@ -73,20 +91,20 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
73
91
|
let apiResponse;
|
|
74
92
|
switch (route?.endpoint) {
|
|
75
93
|
case 'Bundesrecht':
|
|
76
|
-
apiResponse = await searchBundesrecht(searchParams);
|
|
94
|
+
apiResponse = await searchBundesrecht(searchParams, undefined, extra.signal);
|
|
77
95
|
break;
|
|
78
96
|
case 'Landesrecht':
|
|
79
|
-
apiResponse = await searchLandesrecht(searchParams);
|
|
97
|
+
apiResponse = await searchLandesrecht(searchParams, undefined, extra.signal);
|
|
80
98
|
break;
|
|
81
99
|
case 'Sonstige':
|
|
82
|
-
apiResponse = await searchSonstige(searchParams);
|
|
100
|
+
apiResponse = await searchSonstige(searchParams, undefined, extra.signal);
|
|
83
101
|
break;
|
|
84
102
|
case 'Bezirke':
|
|
85
|
-
apiResponse = await searchBezirke(searchParams);
|
|
103
|
+
apiResponse = await searchBezirke(searchParams, undefined, extra.signal);
|
|
86
104
|
break;
|
|
87
105
|
case 'Judikatur':
|
|
88
106
|
default:
|
|
89
|
-
apiResponse = await searchJudikatur(searchParams);
|
|
107
|
+
apiResponse = await searchJudikatur(searchParams, undefined, extra.signal);
|
|
90
108
|
break;
|
|
91
109
|
}
|
|
92
110
|
// Find the document with matching dokumentnummer (don't blindly take first result)
|
|
@@ -95,14 +113,14 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
95
113
|
// Both direct fetch and search failed - provide helpful error
|
|
96
114
|
const directError = directResult.error;
|
|
97
115
|
if (findResult.error === 'no_documents') {
|
|
98
|
-
return
|
|
116
|
+
return createErrorResponse(`**Fehler:** Kein Dokument mit der Nummer \`${dokumentnummer}\` gefunden.\n\n` +
|
|
99
117
|
`Direkter Abruf: ${directError}\n` +
|
|
100
118
|
`Suche: Keine Ergebnisse.\n\n` +
|
|
101
119
|
'Bitte pruefe die Dokumentnummer oder verwende eine Suche, ' +
|
|
102
120
|
'um das gewuenschte Dokument zu finden.');
|
|
103
121
|
}
|
|
104
122
|
else {
|
|
105
|
-
return
|
|
123
|
+
return createErrorResponse(`**Fehler:** Dokument \`${dokumentnummer}\` nicht gefunden.\n\n` +
|
|
106
124
|
`Direkter Abruf: ${directError}\n` +
|
|
107
125
|
`Suche: ${findResult.totalResults} Ergebnisse, aber keines mit dieser Dokumentnummer.\n\n` +
|
|
108
126
|
`Bitte verwende eine alternative Suche oder die direkte URL.`);
|
|
@@ -111,14 +129,14 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
111
129
|
const doc = findResult.document;
|
|
112
130
|
contentUrl = doc.content_urls.html ?? undefined;
|
|
113
131
|
if (!contentUrl) {
|
|
114
|
-
return
|
|
132
|
+
return createErrorResponse(`**Fehler:** Keine Inhalts-URL fuer Dokument \`${dokumentnummer}\` verfuegbar.\n\n` +
|
|
115
133
|
'Das Dokument hat moeglicherweise keinen abrufbaren Volltext.');
|
|
116
134
|
}
|
|
117
135
|
// SSRF protection: this URL comes straight from the search API response
|
|
118
136
|
// and would otherwise be fetched unchecked. Validate it against the same
|
|
119
137
|
// domain allowlist used for user-supplied URLs.
|
|
120
138
|
if (!isAllowedUrl(contentUrl)) {
|
|
121
|
-
return
|
|
139
|
+
return createErrorResponse('**Fehler:** Die Inhalts-URL des Dokuments ist nicht erlaubt.\n\n' +
|
|
122
140
|
'Nur HTTPS-URLs zu offiziellen RIS-Domains sind zulaessig ' +
|
|
123
141
|
'(data.bka.gv.at, www.ris.bka.gv.at, ris.bka.gv.at).');
|
|
124
142
|
}
|
|
@@ -154,19 +172,42 @@ Note: For long documents, content may be truncated. Use specific searches to nar
|
|
|
154
172
|
};
|
|
155
173
|
}
|
|
156
174
|
if (!contentUrl) {
|
|
157
|
-
return
|
|
175
|
+
return createErrorResponse('**Fehler:** Keine gueltige URL zum Abrufen des Dokuments.');
|
|
158
176
|
}
|
|
159
177
|
// Fetch document content if not already fetched via direct URL
|
|
160
178
|
if (!htmlContent) {
|
|
161
|
-
htmlContent = await getDocumentContent(contentUrl);
|
|
179
|
+
htmlContent = await getDocumentContent(contentUrl, undefined, extra.signal);
|
|
162
180
|
}
|
|
163
181
|
// Format the document
|
|
164
182
|
const formatted = formatDocument(htmlContent, metadata, response_format);
|
|
165
183
|
const result = truncateResponse(formatted);
|
|
166
|
-
|
|
184
|
+
// The text stays the payload; the resource_link lets a client open the
|
|
185
|
+
// untruncated original, which matters most when `gekuerzt` is true.
|
|
186
|
+
return {
|
|
187
|
+
content: [
|
|
188
|
+
{ type: 'text', text: result },
|
|
189
|
+
{
|
|
190
|
+
type: 'resource_link',
|
|
191
|
+
uri: contentUrl,
|
|
192
|
+
name: dokumentnummer ?? metadata.titel ?? contentUrl,
|
|
193
|
+
mimeType: 'text/html',
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
structuredContent: {
|
|
197
|
+
dokumentnummer,
|
|
198
|
+
quelle_url: contentUrl,
|
|
199
|
+
laenge: result.length,
|
|
200
|
+
gekuerzt: result !== formatted,
|
|
201
|
+
},
|
|
202
|
+
};
|
|
167
203
|
}
|
|
168
204
|
catch (e) {
|
|
169
|
-
|
|
205
|
+
// A cancelled call has no reader left for a German error message; let the
|
|
206
|
+
// abort propagate so the SDK drops the request.
|
|
207
|
+
if (extra.signal.aborted) {
|
|
208
|
+
throw e;
|
|
209
|
+
}
|
|
210
|
+
return createErrorResponse(formatErrorResponse(e));
|
|
170
211
|
}
|
|
171
212
|
});
|
|
172
213
|
}
|
|
@@ -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"}
|