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
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_landesgesetzblatt — Search Austrian State Law Gazettes (Landesgesetzblatt).
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchLandesrecht } from '../client.js';
|
|
6
|
+
import { BUNDESLAND_MAPPING } from '../constants.js';
|
|
7
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
+
import { LandesrechtBundeslandSchema } from '../types.js';
|
|
9
|
+
export function registerLandesgesetzblattTool(server) {
|
|
10
|
+
server.tool('ris_landesgesetzblatt', `Search Austrian State Law Gazettes (Landesgesetzblatt).
|
|
11
|
+
|
|
12
|
+
Use this tool to find official publications of state/provincial laws.
|
|
13
|
+
Covers all 9 federal states (Bundeslaender).
|
|
14
|
+
|
|
15
|
+
Example queries:
|
|
16
|
+
- lgblnummer="50", jahrgang="2023", bundesland="Wien"
|
|
17
|
+
- suchworte="Bauordnung", bundesland="Salzburg"`, {
|
|
18
|
+
lgblnummer: z.string().max(100).optional().describe('Gazette number (e.g., "50")'),
|
|
19
|
+
jahrgang: z.string().max(10).optional().describe('Year (e.g., "2023")'),
|
|
20
|
+
bundesland: LandesrechtBundeslandSchema.optional().describe('Filter by state - Wien, Niederoesterreich, Oberoesterreich, Salzburg, Tirol, Vorarlberg, Kaernten, Steiermark, Burgenland'),
|
|
21
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
22
|
+
titel: z.string().max(500).optional().describe('Search in gazette titles'),
|
|
23
|
+
applikation: z
|
|
24
|
+
.enum(['LgblAuth', 'Lgbl', 'LgblNO'])
|
|
25
|
+
.default('LgblAuth')
|
|
26
|
+
.describe('"LgblAuth" (authentic, default), "Lgbl" (general), "LgblNO" (Lower Austria)'),
|
|
27
|
+
seite: z.number().default(1).describe('Page number (default: 1)'),
|
|
28
|
+
limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'),
|
|
29
|
+
response_format: z
|
|
30
|
+
.enum(['markdown', 'json'])
|
|
31
|
+
.default('markdown')
|
|
32
|
+
.describe('"markdown" (default) or "json"'),
|
|
33
|
+
}, async (args) => {
|
|
34
|
+
const { lgblnummer, jahrgang, bundesland, suchworte, titel, applikation, seite, limit, response_format, } = args;
|
|
35
|
+
if (!hasAnyParam(args, ['lgblnummer', 'jahrgang', 'bundesland', 'suchworte', 'titel'])) {
|
|
36
|
+
return createValidationErrorResponse([
|
|
37
|
+
'lgblnummer` fuer Gesetzblatt-Nummer',
|
|
38
|
+
'jahrgang` fuer Jahr',
|
|
39
|
+
'bundesland` fuer Bundesland',
|
|
40
|
+
'suchworte` fuer Volltextsuche',
|
|
41
|
+
'titel` fuer Suche in Titeln',
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
const params = buildBaseParams(applikation, limit, seite);
|
|
45
|
+
addOptionalParams(params, [
|
|
46
|
+
[lgblnummer, 'Lgblnummer'],
|
|
47
|
+
[jahrgang, 'Jahrgang'],
|
|
48
|
+
[suchworte, 'Suchworte'],
|
|
49
|
+
[titel, 'Titel'],
|
|
50
|
+
]);
|
|
51
|
+
if (bundesland) {
|
|
52
|
+
const apiKey = BUNDESLAND_MAPPING[bundesland];
|
|
53
|
+
if (apiKey) {
|
|
54
|
+
params[`Bundesland.${apiKey}`] = 'true';
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return executeSearchTool(searchLandesrecht, params, response_format);
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=landesgesetzblatt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"landesgesetzblatt.js","sourceRoot":"","sources":["../../src/tools/landesgesetzblatt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_landesrecht — Search Austrian state/provincial laws (Landesrecht).
|
|
3
|
+
*/
|
|
4
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
export declare function registerLandesrechtTool(server: McpServer): void;
|
|
6
|
+
//# sourceMappingURL=landesrecht.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"landesrecht.d.ts","sourceRoot":"","sources":["../../src/tools/landesrecht.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoD/D"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_landesrecht — Search Austrian state/provincial laws (Landesrecht).
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchLandesrecht } from '../client.js';
|
|
6
|
+
import { BUNDESLAND_MAPPING } from '../constants.js';
|
|
7
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
+
import { LandesrechtBundeslandSchema } from '../types.js';
|
|
9
|
+
export function registerLandesrechtTool(server) {
|
|
10
|
+
server.tool('ris_landesrecht', `Search Austrian state/provincial laws (Landesrecht).
|
|
11
|
+
|
|
12
|
+
Use this tool to find laws enacted by Austrian federal states (Bundeslaender).
|
|
13
|
+
|
|
14
|
+
Example: suchworte="Bauordnung", bundesland="Salzburg"`, {
|
|
15
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
16
|
+
titel: z.string().max(500).optional().describe('Search in law titles'),
|
|
17
|
+
bundesland: LandesrechtBundeslandSchema.optional().describe('Filter by state - Wien, Niederoesterreich, Oberoesterreich, Salzburg, Tirol, Vorarlberg, Kaernten, Steiermark, Burgenland'),
|
|
18
|
+
applikation: z
|
|
19
|
+
.enum(['LrKons'])
|
|
20
|
+
.default('LrKons')
|
|
21
|
+
.describe('"LrKons" (consolidated, default)'),
|
|
22
|
+
seite: z.number().default(1).describe('Page number'),
|
|
23
|
+
limit: z.number().default(20).describe('Results per page'),
|
|
24
|
+
response_format: z
|
|
25
|
+
.enum(['markdown', 'json'])
|
|
26
|
+
.default('markdown')
|
|
27
|
+
.describe('"markdown" or "json"'),
|
|
28
|
+
}, async (args) => {
|
|
29
|
+
const { suchworte, titel, bundesland, applikation, seite, limit, response_format } = args;
|
|
30
|
+
if (!hasAnyParam(args, ['suchworte', 'titel', 'bundesland'])) {
|
|
31
|
+
return createValidationErrorResponse([
|
|
32
|
+
'suchworte` fuer Volltextsuche',
|
|
33
|
+
'titel` fuer Suche in Gesetzesnamen',
|
|
34
|
+
'bundesland` fuer Suche nach Bundesland',
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
const params = buildBaseParams(applikation, limit, seite);
|
|
38
|
+
addOptionalParams(params, [
|
|
39
|
+
[suchworte, 'Suchworte'],
|
|
40
|
+
[titel, 'Titel'],
|
|
41
|
+
]);
|
|
42
|
+
if (bundesland) {
|
|
43
|
+
const apiKey = BUNDESLAND_MAPPING[bundesland];
|
|
44
|
+
if (apiKey) {
|
|
45
|
+
params[`Bundesland.${apiKey}`] = 'true';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return executeSearchTool(searchLandesrecht, params, response_format);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=landesrecht.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"landesrecht.js","sourceRoot":"","sources":["../../src/tools/landesrecht.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,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,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;uDAImD,EACnD;QACE,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,sBAAsB,CAAC;QACtE,UAAU,EAAE,2BAA2B,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACzD,2HAA2H,CAC5H;QACD,WAAW,EAAE,CAAC;aACX,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;aAChB,OAAO,CAAC,QAAQ,CAAC;aACjB,QAAQ,CAAC,kCAAkC,CAAC;QAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC1D,eAAe,EAAE,CAAC;aACf,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;aAC1B,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CAAC,sBAAsB,CAAC;KACpC,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAE1F,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC7D,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;SACjB,CAAC,CAAC;QAEH,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,cAAc,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_regierungsvorlagen — Search Austrian Government Bills (Regierungsvorlagen).
|
|
3
|
+
*/
|
|
4
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
export declare function registerRegierungsvorlagenTool(server: McpServer): void;
|
|
6
|
+
//# sourceMappingURL=regierungsvorlagen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regierungsvorlagen.d.ts","sourceRoot":"","sources":["../../src/tools/regierungsvorlagen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAazE,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8GtE"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool: ris_regierungsvorlagen — Search Austrian Government Bills (Regierungsvorlagen).
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchBundesrecht } from '../client.js';
|
|
6
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
7
|
+
import { DateSchema } from '../types.js';
|
|
8
|
+
export function registerRegierungsvorlagenTool(server) {
|
|
9
|
+
server.tool('ris_regierungsvorlagen', `Search Austrian Government Bills (Regierungsvorlagen).
|
|
10
|
+
|
|
11
|
+
Use this tool for legislative history and parliamentary materials.
|
|
12
|
+
Contains government proposals submitted to parliament.
|
|
13
|
+
|
|
14
|
+
Example queries:
|
|
15
|
+
- suchworte="Klimaschutz" -> Full-text search in bills
|
|
16
|
+
- einbringende_stelle="BMF (Bundesministerium für Finanzen)" -> Bills from Finance Ministry
|
|
17
|
+
- beschlussdatum_von="2024-01-01", beschlussdatum_bis="2024-12-31" -> Bills from 2024`, {
|
|
18
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
19
|
+
titel: z.string().max(500).optional().describe('Search in bill titles'),
|
|
20
|
+
beschlussdatum_von: DateSchema.optional().describe('Decision date from (YYYY-MM-DD)'),
|
|
21
|
+
beschlussdatum_bis: DateSchema.optional().describe('Decision date to (YYYY-MM-DD)'),
|
|
22
|
+
einbringende_stelle: z
|
|
23
|
+
.enum([
|
|
24
|
+
'BKA (Bundeskanzleramt)',
|
|
25
|
+
'BMFFIM (Bundesministerin für Frauen, Familie, Integration und Medien im Bundeskanzleramt)',
|
|
26
|
+
'BMEUV (Bundesministerin für EU und Verfassung im Bundeskanzleramt)',
|
|
27
|
+
'BMKOES (Bundesministerium für Kunst, Kultur, öffentlichen Dienst und Sport)',
|
|
28
|
+
'BMEIA (Bundesministerium für europäische und internationale Angelegenheiten)',
|
|
29
|
+
'BMAW (Bundesministerium für Arbeit und Wirtschaft)',
|
|
30
|
+
'BMBWF (Bundesministerium für Bildung, Wissenschaft und Forschung)',
|
|
31
|
+
'BMF (Bundesministerium für Finanzen)',
|
|
32
|
+
'BMI (Bundesministerium für Inneres)',
|
|
33
|
+
'BMJ (Bundesministerium für Justiz)',
|
|
34
|
+
'BMK (Bundesministerium für Klimaschutz, Umwelt, Energie, Mobilität, Innovation und Technologie)',
|
|
35
|
+
'BMLV (Bundesministerium für Landesverteidigung)',
|
|
36
|
+
'BML (Bundesministerium für Land- und Forstwirtschaft, Regionen und Wasserwirtschaft)',
|
|
37
|
+
'BMSGPK (Bundesministerium für Soziales, Gesundheit, Pflege und Konsumentenschutz)',
|
|
38
|
+
])
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('Filter by submitting ministry'),
|
|
41
|
+
im_ris_seit: z
|
|
42
|
+
.enum([
|
|
43
|
+
'EinerWoche',
|
|
44
|
+
'ZweiWochen',
|
|
45
|
+
'EinemMonat',
|
|
46
|
+
'DreiMonaten',
|
|
47
|
+
'SechsMonaten',
|
|
48
|
+
'EinemJahr',
|
|
49
|
+
])
|
|
50
|
+
.optional()
|
|
51
|
+
.describe('Filter by time in RIS'),
|
|
52
|
+
sortierung_richtung: z
|
|
53
|
+
.enum(['Ascending', 'Descending'])
|
|
54
|
+
.optional()
|
|
55
|
+
.describe('Sort direction'),
|
|
56
|
+
sortierung_spalte: z
|
|
57
|
+
.enum(['Kurztitel', 'EinbringendeStelle', 'Beschlussdatum'])
|
|
58
|
+
.optional()
|
|
59
|
+
.describe('Sort by column'),
|
|
60
|
+
seite: z.number().default(1).describe('Page number (default: 1)'),
|
|
61
|
+
limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'),
|
|
62
|
+
response_format: z
|
|
63
|
+
.enum(['markdown', 'json'])
|
|
64
|
+
.default('markdown')
|
|
65
|
+
.describe('"markdown" (default) or "json"'),
|
|
66
|
+
}, async (args) => {
|
|
67
|
+
const { suchworte, titel, beschlussdatum_von, beschlussdatum_bis, einbringende_stelle, im_ris_seit, sortierung_richtung, sortierung_spalte, seite, limit, response_format, } = args;
|
|
68
|
+
if (!hasAnyParam(args, [
|
|
69
|
+
'suchworte',
|
|
70
|
+
'titel',
|
|
71
|
+
'beschlussdatum_von',
|
|
72
|
+
'einbringende_stelle',
|
|
73
|
+
'im_ris_seit',
|
|
74
|
+
])) {
|
|
75
|
+
return createValidationErrorResponse([
|
|
76
|
+
'suchworte` für Volltextsuche',
|
|
77
|
+
'titel` für Suche in Titeln',
|
|
78
|
+
'beschlussdatum_von/bis` für Datumsfilter',
|
|
79
|
+
'einbringende_stelle` für Ministerium',
|
|
80
|
+
'im_ris_seit` für Zeitfilter',
|
|
81
|
+
]);
|
|
82
|
+
}
|
|
83
|
+
const params = buildBaseParams('RegV', limit, seite);
|
|
84
|
+
addOptionalParams(params, [
|
|
85
|
+
[suchworte, 'Suchworte'],
|
|
86
|
+
[titel, 'Titel'],
|
|
87
|
+
[beschlussdatum_von, 'BeschlussdatumVon'],
|
|
88
|
+
[beschlussdatum_bis, 'BeschlussdatumBis'],
|
|
89
|
+
[einbringende_stelle, 'EinbringendeStelle'],
|
|
90
|
+
[im_ris_seit, 'ImRisSeit'],
|
|
91
|
+
[sortierung_richtung, 'Sortierung.SortDirection'],
|
|
92
|
+
[sortierung_spalte, 'Sortierung.SortedByColumn'],
|
|
93
|
+
]);
|
|
94
|
+
return executeSearchTool(searchBundesrecht, params, response_format);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=regierungsvorlagen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regierungsvorlagen.js","sourceRoot":"","sources":["../../src/tools/regierungsvorlagen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool 10: ris_sonstige — Search miscellaneous Austrian legal collections.
|
|
3
|
+
*/
|
|
4
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
export declare function registerSonstigeTool(server: McpServer): void;
|
|
6
|
+
//# sourceMappingURL=sonstige.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sonstige.d.ts","sourceRoot":"","sources":["../../src/tools/sonstige.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsR5D"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool 10: ris_sonstige — Search miscellaneous Austrian legal collections.
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchSonstige } from '../client.js';
|
|
6
|
+
import { AVSV_URHEBER_VALUES, AVN_TYP_VALUES, BUNDESMINISTERIEN, IM_RIS_SEIT_VALUES, KMGER_TYP_VALUES, PRUEFGEWO_TYP_VALUES, SPG_OSG_TYP_VALUES, SPG_RSG_TYP_VALUES, UPTS_PARTEIEN, } from '../constants.js';
|
|
7
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
+
import { DateSchema } from '../types.js';
|
|
9
|
+
export function registerSonstigeTool(server) {
|
|
10
|
+
server.tool('ris_sonstige', `Search miscellaneous Austrian legal collections (Sonstige).
|
|
11
|
+
|
|
12
|
+
Use this tool for specialized legal documents and historical materials.
|
|
13
|
+
|
|
14
|
+
Available applications:
|
|
15
|
+
- PruefGewO: Trade licensing examinations (Gewerbeordnung)
|
|
16
|
+
- Avsv: Social insurance announcements (Sozialversicherung)
|
|
17
|
+
- Spg: Health structure plans (Strukturpläne Gesundheit)
|
|
18
|
+
- Avn: Official veterinary notices (Amtliche Veterinärnachrichten)
|
|
19
|
+
- KmGer: Court announcements (Kundmachungen der Gerichte)
|
|
20
|
+
- Upts: Party transparency decisions (Parteien-Transparenz-Senat)
|
|
21
|
+
- Mrp: Council of Ministers protocols (Ministerratsprotokolle)
|
|
22
|
+
- Erlaesse: Ministerial decrees (Erlässe der Bundesministerien)
|
|
23
|
+
|
|
24
|
+
Example queries:
|
|
25
|
+
- applikation="Mrp", suchworte="Budget", einbringer="BMF..."
|
|
26
|
+
- applikation="Erlaesse", bundesministerium="Bundesministerium für Finanzen"
|
|
27
|
+
- applikation="Upts", partei="SPÖ - Sozialdemokratische Partei Österreichs"
|
|
28
|
+
- applikation="KmGer", kmger_typ="Geschaeftsordnung"
|
|
29
|
+
- applikation="Avsv", dokumentart="Richtlinie"`, {
|
|
30
|
+
applikation: z
|
|
31
|
+
.enum(['PruefGewO', 'Avsv', 'Spg', 'Avn', 'KmGer', 'Upts', 'Mrp', 'Erlaesse'])
|
|
32
|
+
.describe('Collection to search - "PruefGewO" (trade exams), "Avsv" (social insurance), "Spg" (health plans), "Avn" (veterinary notices), "KmGer" (court announcements), "Upts" (party transparency), "Mrp" (cabinet protocols), "Erlaesse" (decrees)'),
|
|
33
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
34
|
+
titel: z.string().max(500).optional().describe('Search in titles'),
|
|
35
|
+
datum_von: DateSchema.optional().describe('Date from (YYYY-MM-DD)'),
|
|
36
|
+
datum_bis: DateSchema.optional().describe('Date to (YYYY-MM-DD)'),
|
|
37
|
+
// Common parameters
|
|
38
|
+
im_ris_seit: z
|
|
39
|
+
.enum(IM_RIS_SEIT_VALUES)
|
|
40
|
+
.optional()
|
|
41
|
+
.describe('Filter by time in RIS - EinerWoche, ZweiWochen, EinemMonat, DreiMonaten, SechsMonaten, EinemJahr'),
|
|
42
|
+
sortierung_richtung: z
|
|
43
|
+
.enum(['Ascending', 'Descending'])
|
|
44
|
+
.optional()
|
|
45
|
+
.describe('Sort direction'),
|
|
46
|
+
geschaeftszahl: z
|
|
47
|
+
.string()
|
|
48
|
+
.max(200)
|
|
49
|
+
.optional()
|
|
50
|
+
.describe('File number/Aktenzeichen (for Mrp, Upts, KmGer)'),
|
|
51
|
+
norm: z.string().max(500).optional().describe('Legal norm reference (for Erlaesse, Upts)'),
|
|
52
|
+
fassung_vom: DateSchema.optional().describe('Historical version date (YYYY-MM-DD, for Erlaesse)'),
|
|
53
|
+
// Mrp-specific parameters
|
|
54
|
+
einbringer: z
|
|
55
|
+
.string()
|
|
56
|
+
.max(200)
|
|
57
|
+
.optional()
|
|
58
|
+
.describe('Submitter (Mrp only, e.g., ministry abbreviation)'),
|
|
59
|
+
sitzungsnummer: z.string().max(50).optional().describe('Session number (Mrp only)'),
|
|
60
|
+
gesetzgebungsperiode: z
|
|
61
|
+
.string()
|
|
62
|
+
.max(10)
|
|
63
|
+
.optional()
|
|
64
|
+
.describe("Legislative period (Mrp only, e.g., '27')"),
|
|
65
|
+
// Erlaesse-specific parameters
|
|
66
|
+
bundesministerium: z
|
|
67
|
+
.enum(BUNDESMINISTERIEN)
|
|
68
|
+
.optional()
|
|
69
|
+
.describe('Federal ministry (Erlaesse only)'),
|
|
70
|
+
abteilung: z.string().max(200).optional().describe('Department/division (Erlaesse only)'),
|
|
71
|
+
fundstelle: z.string().max(200).optional().describe('Source reference (Erlaesse only)'),
|
|
72
|
+
// Upts-specific parameters
|
|
73
|
+
partei: z.enum(UPTS_PARTEIEN).optional().describe('Political party (Upts only)'),
|
|
74
|
+
// KmGer-specific parameters
|
|
75
|
+
kmger_typ: z
|
|
76
|
+
.enum(KMGER_TYP_VALUES)
|
|
77
|
+
.optional()
|
|
78
|
+
.describe('Announcement type (KmGer only) - Geschaeftsordnung, Geschaeftsverteilung'),
|
|
79
|
+
gericht: z.string().max(200).optional().describe('Court name (KmGer only)'),
|
|
80
|
+
// Avsv-specific parameters
|
|
81
|
+
dokumentart: z
|
|
82
|
+
.string()
|
|
83
|
+
.max(200)
|
|
84
|
+
.optional()
|
|
85
|
+
.describe('Document type search (Avsv only) - free text search expression'),
|
|
86
|
+
urheber: z.enum(AVSV_URHEBER_VALUES).optional().describe('Author/institution (Avsv only)'),
|
|
87
|
+
avsvnummer: z.string().max(100).optional().describe('AVSV number (Avsv only)'),
|
|
88
|
+
// Avn-specific parameters
|
|
89
|
+
avnnummer: z.string().max(100).optional().describe('AVN number (Avn only)'),
|
|
90
|
+
avn_typ: z
|
|
91
|
+
.enum(AVN_TYP_VALUES)
|
|
92
|
+
.optional()
|
|
93
|
+
.describe('Notice type (Avn only) - Kundmachung, Verordnung, Erlass'),
|
|
94
|
+
// Spg-specific parameters
|
|
95
|
+
spgnummer: z.string().max(100).optional().describe('SPG number (Spg only)'),
|
|
96
|
+
osg_typ: z
|
|
97
|
+
.enum(SPG_OSG_TYP_VALUES)
|
|
98
|
+
.optional()
|
|
99
|
+
.describe('Austrian health structure plan type (Spg only) - ÖSG, ÖSG - Großgeräteplan'),
|
|
100
|
+
rsg_typ: z
|
|
101
|
+
.enum(SPG_RSG_TYP_VALUES)
|
|
102
|
+
.optional()
|
|
103
|
+
.describe('Regional health structure plan type (Spg only) - RSG, RSG - Großgeräteplan'),
|
|
104
|
+
rsg_land: z.string().max(100).optional().describe('Federal state for RSG (Spg only)'),
|
|
105
|
+
// PruefGewO-specific parameters
|
|
106
|
+
pruefgewo_typ: z
|
|
107
|
+
.enum(PRUEFGEWO_TYP_VALUES)
|
|
108
|
+
.optional()
|
|
109
|
+
.describe('Examination type (PruefGewO only) - Befähigungsprüfung, Eignungsprüfung, Meisterprüfung'),
|
|
110
|
+
seite: z.number().default(1).describe('Page number (default: 1)'),
|
|
111
|
+
limit: z.number().default(20).describe('Results per page 10/20/50/100 (default: 20)'),
|
|
112
|
+
response_format: z
|
|
113
|
+
.enum(['markdown', 'json'])
|
|
114
|
+
.default('markdown')
|
|
115
|
+
.describe('"markdown" (default) or "json"'),
|
|
116
|
+
}, async (args) => {
|
|
117
|
+
const { applikation, suchworte, titel, datum_von, datum_bis, im_ris_seit, sortierung_richtung, geschaeftszahl, norm, fassung_vom, einbringer, sitzungsnummer, gesetzgebungsperiode, bundesministerium, abteilung, fundstelle, partei, kmger_typ, gericht, dokumentart, urheber, avsvnummer, avnnummer, avn_typ, spgnummer, osg_typ, rsg_typ, rsg_land, pruefgewo_typ, seite, limit, response_format, } = args;
|
|
118
|
+
// Validate at least one search parameter beyond applikation
|
|
119
|
+
const searchParamKeys = [
|
|
120
|
+
'suchworte',
|
|
121
|
+
'titel',
|
|
122
|
+
'geschaeftszahl',
|
|
123
|
+
'norm',
|
|
124
|
+
'einbringer',
|
|
125
|
+
'sitzungsnummer',
|
|
126
|
+
'gesetzgebungsperiode',
|
|
127
|
+
'bundesministerium',
|
|
128
|
+
'abteilung',
|
|
129
|
+
'fundstelle',
|
|
130
|
+
'partei',
|
|
131
|
+
'kmger_typ',
|
|
132
|
+
'gericht',
|
|
133
|
+
'dokumentart',
|
|
134
|
+
'urheber',
|
|
135
|
+
'avsvnummer',
|
|
136
|
+
'avnnummer',
|
|
137
|
+
'avn_typ',
|
|
138
|
+
'spgnummer',
|
|
139
|
+
'osg_typ',
|
|
140
|
+
'rsg_typ',
|
|
141
|
+
'rsg_land',
|
|
142
|
+
'pruefgewo_typ',
|
|
143
|
+
'im_ris_seit',
|
|
144
|
+
'datum_von',
|
|
145
|
+
'datum_bis',
|
|
146
|
+
];
|
|
147
|
+
if (!hasAnyParam(args, searchParamKeys)) {
|
|
148
|
+
return createValidationErrorResponse([
|
|
149
|
+
'suchworte` fuer Volltextsuche',
|
|
150
|
+
'titel` fuer Suche in Titeln',
|
|
151
|
+
'oder applikationsspezifische Parameter (siehe Tool-Beschreibung)',
|
|
152
|
+
]);
|
|
153
|
+
}
|
|
154
|
+
const params = buildBaseParams(applikation, limit, seite);
|
|
155
|
+
addOptionalParams(params, [
|
|
156
|
+
[suchworte, 'Suchworte'],
|
|
157
|
+
[titel, 'Titel'],
|
|
158
|
+
[im_ris_seit, 'ImRisSeit'],
|
|
159
|
+
[sortierung_richtung, 'Sortierung.SortDirection'],
|
|
160
|
+
]);
|
|
161
|
+
// Build date parameters based on application type
|
|
162
|
+
if (datum_von || datum_bis) {
|
|
163
|
+
switch (applikation) {
|
|
164
|
+
case 'Mrp':
|
|
165
|
+
if (datum_von)
|
|
166
|
+
params['Sitzungsdatum.Von'] = datum_von;
|
|
167
|
+
if (datum_bis)
|
|
168
|
+
params['Sitzungsdatum.Bis'] = datum_bis;
|
|
169
|
+
break;
|
|
170
|
+
case 'Upts':
|
|
171
|
+
if (datum_von)
|
|
172
|
+
params['Entscheidungsdatum.Von'] = datum_von;
|
|
173
|
+
if (datum_bis)
|
|
174
|
+
params['Entscheidungsdatum.Bis'] = datum_bis;
|
|
175
|
+
break;
|
|
176
|
+
case 'Erlaesse':
|
|
177
|
+
if (datum_von)
|
|
178
|
+
params['VonInkrafttretensdatum'] = datum_von;
|
|
179
|
+
if (datum_bis)
|
|
180
|
+
params['BisInkrafttretensdatum'] = datum_bis;
|
|
181
|
+
break;
|
|
182
|
+
case 'PruefGewO':
|
|
183
|
+
case 'Spg':
|
|
184
|
+
case 'KmGer':
|
|
185
|
+
if (datum_von)
|
|
186
|
+
params['Kundmachungsdatum.Von'] = datum_von;
|
|
187
|
+
if (datum_bis)
|
|
188
|
+
params['Kundmachungsdatum.Bis'] = datum_bis;
|
|
189
|
+
break;
|
|
190
|
+
case 'Avsv':
|
|
191
|
+
case 'Avn':
|
|
192
|
+
if (datum_von)
|
|
193
|
+
params['Kundmachung.Von'] = datum_von;
|
|
194
|
+
if (datum_bis)
|
|
195
|
+
params['Kundmachung.Bis'] = datum_bis;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
// Application-specific parameters
|
|
200
|
+
switch (applikation) {
|
|
201
|
+
case 'Mrp':
|
|
202
|
+
if (geschaeftszahl)
|
|
203
|
+
params['Geschaeftszahl'] = geschaeftszahl;
|
|
204
|
+
if (einbringer)
|
|
205
|
+
params['Einbringer'] = einbringer;
|
|
206
|
+
if (sitzungsnummer)
|
|
207
|
+
params['Sitzungsnummer'] = sitzungsnummer;
|
|
208
|
+
if (gesetzgebungsperiode)
|
|
209
|
+
params['Gesetzgebungsperiode'] = gesetzgebungsperiode;
|
|
210
|
+
break;
|
|
211
|
+
case 'Erlaesse':
|
|
212
|
+
if (norm)
|
|
213
|
+
params['Norm'] = norm;
|
|
214
|
+
if (fassung_vom)
|
|
215
|
+
params['FassungVom'] = fassung_vom;
|
|
216
|
+
if (bundesministerium)
|
|
217
|
+
params['Bundesministerium'] = bundesministerium;
|
|
218
|
+
if (abteilung)
|
|
219
|
+
params['Abteilung'] = abteilung;
|
|
220
|
+
if (fundstelle)
|
|
221
|
+
params['Fundstelle'] = fundstelle;
|
|
222
|
+
break;
|
|
223
|
+
case 'Upts':
|
|
224
|
+
if (geschaeftszahl)
|
|
225
|
+
params['Geschaeftszahl'] = geschaeftszahl;
|
|
226
|
+
if (norm)
|
|
227
|
+
params['Norm'] = norm;
|
|
228
|
+
if (partei)
|
|
229
|
+
params['Partei'] = partei;
|
|
230
|
+
break;
|
|
231
|
+
case 'KmGer':
|
|
232
|
+
if (geschaeftszahl)
|
|
233
|
+
params['Geschaeftszahl'] = geschaeftszahl;
|
|
234
|
+
if (kmger_typ)
|
|
235
|
+
params['Typ'] = kmger_typ;
|
|
236
|
+
if (gericht)
|
|
237
|
+
params['Gericht'] = gericht;
|
|
238
|
+
break;
|
|
239
|
+
case 'Avsv':
|
|
240
|
+
if (dokumentart)
|
|
241
|
+
params['Dokumentart'] = dokumentart;
|
|
242
|
+
if (urheber)
|
|
243
|
+
params['Urheber'] = urheber;
|
|
244
|
+
if (avsvnummer)
|
|
245
|
+
params['Avsvnummer'] = avsvnummer;
|
|
246
|
+
break;
|
|
247
|
+
case 'Avn':
|
|
248
|
+
if (avnnummer)
|
|
249
|
+
params['Avnnummer'] = avnnummer;
|
|
250
|
+
if (avn_typ)
|
|
251
|
+
params['Typ'] = avn_typ;
|
|
252
|
+
break;
|
|
253
|
+
case 'Spg':
|
|
254
|
+
if (spgnummer)
|
|
255
|
+
params['Spgnummer'] = spgnummer;
|
|
256
|
+
if (osg_typ)
|
|
257
|
+
params['OsgTyp'] = osg_typ;
|
|
258
|
+
if (rsg_typ)
|
|
259
|
+
params['RsgTyp'] = rsg_typ;
|
|
260
|
+
if (rsg_land)
|
|
261
|
+
params['RsgLand'] = rsg_land;
|
|
262
|
+
break;
|
|
263
|
+
case 'PruefGewO':
|
|
264
|
+
if (pruefgewo_typ)
|
|
265
|
+
params['Typ'] = pruefgewo_typ;
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
return executeSearchTool(searchSonstige, params, response_format);
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=sonstige.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sonstige.js","sourceRoot":"","sources":["../../src/tools/sonstige.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool 12: ris_verordnungen — Search Austrian state ordinance gazettes.
|
|
3
|
+
*/
|
|
4
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
|
+
export declare function registerVerordnungenTool(server: McpServer): void;
|
|
6
|
+
//# sourceMappingURL=verordnungen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verordnungen.d.ts","sourceRoot":"","sources":["../../src/tools/verordnungen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8EhE"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool 12: ris_verordnungen — Search Austrian state ordinance gazettes.
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { searchLandesrecht } from '../client.js';
|
|
6
|
+
import { VALID_VBL_BUNDESLAENDER } from '../constants.js';
|
|
7
|
+
import { addOptionalParams, buildBaseParams, createValidationErrorResponse, executeSearchTool, hasAnyParam, } from '../helpers.js';
|
|
8
|
+
import { DateSchema } from '../types.js';
|
|
9
|
+
export function registerVerordnungenTool(server) {
|
|
10
|
+
server.tool('ris_verordnungen', `Search Austrian state ordinance gazettes (Verordnungsblaetter der Laender).
|
|
11
|
+
|
|
12
|
+
Use this tool to find official publications of state/provincial ordinances.
|
|
13
|
+
NOTE: Currently only Tirol data is available (since January 1, 2022).
|
|
14
|
+
Other federal states have not yet published their ordinance gazettes in RIS.
|
|
15
|
+
|
|
16
|
+
Example queries:
|
|
17
|
+
- suchworte="Wolf" -> Full-text search
|
|
18
|
+
- titel="Verordnung" -> Search in title
|
|
19
|
+
- bundesland="Tirol" -> Filter by state (currently only Tirol has data)
|
|
20
|
+
- kundmachungsnummer="25" -> Search by publication number
|
|
21
|
+
- kundmachungsdatum_von="2024-01-01", kundmachungsdatum_bis="2024-12-31" -> Date range`, {
|
|
22
|
+
suchworte: z.string().max(1000).optional().describe('Full-text search terms'),
|
|
23
|
+
titel: z.string().max(500).optional().describe('Search in title'),
|
|
24
|
+
bundesland: z
|
|
25
|
+
.enum(VALID_VBL_BUNDESLAENDER)
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Filter by state (currently only Tirol has data)'),
|
|
28
|
+
kundmachungsnummer: z.string().max(100).optional().describe('Publication number'),
|
|
29
|
+
kundmachungsdatum_von: DateSchema.optional().describe('Publication date from (YYYY-MM-DD)'),
|
|
30
|
+
kundmachungsdatum_bis: DateSchema.optional().describe('Publication date to (YYYY-MM-DD)'),
|
|
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, kundmachungsnummer, kundmachungsdatum_von, kundmachungsdatum_bis, seite, limit, response_format, } = args;
|
|
39
|
+
if (!hasAnyParam(args, [
|
|
40
|
+
'suchworte',
|
|
41
|
+
'titel',
|
|
42
|
+
'bundesland',
|
|
43
|
+
'kundmachungsnummer',
|
|
44
|
+
'kundmachungsdatum_von',
|
|
45
|
+
])) {
|
|
46
|
+
return createValidationErrorResponse([
|
|
47
|
+
'suchworte` fuer Volltextsuche',
|
|
48
|
+
'titel` fuer Titelsuche',
|
|
49
|
+
'bundesland` fuer Bundesland-Filter',
|
|
50
|
+
'kundmachungsnummer` fuer Verordnungsnummer',
|
|
51
|
+
'kundmachungsdatum_von` fuer Datum ab',
|
|
52
|
+
]);
|
|
53
|
+
}
|
|
54
|
+
// Uses Landesrecht endpoint with Applikation="Vbl"
|
|
55
|
+
// Note: Vbl uses direct Bundesland values, NOT the SucheIn format used by Lgbl
|
|
56
|
+
const params = buildBaseParams('Vbl', limit, seite);
|
|
57
|
+
addOptionalParams(params, [
|
|
58
|
+
[suchworte, 'Suchworte'],
|
|
59
|
+
[titel, 'Titel'],
|
|
60
|
+
[bundesland, 'Bundesland'],
|
|
61
|
+
[kundmachungsnummer, 'Kundmachungsnummer'],
|
|
62
|
+
[kundmachungsdatum_von, 'Kundmachungsdatum.Von'],
|
|
63
|
+
[kundmachungsdatum_bis, 'Kundmachungsdatum.Bis'],
|
|
64
|
+
]);
|
|
65
|
+
return executeSearchTool(searchLandesrecht, params, response_format);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=verordnungen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verordnungen.js","sourceRoot":"","sources":["../../src/tools/verordnungen.ts"],"names":[],"mappings":"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"}
|