@cyanheads/ris-austria-mcp-server 0.1.5
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/AGENTS.md +401 -0
- package/CLAUDE.md +401 -0
- package/Dockerfile +125 -0
- package/LICENSE +201 -0
- package/README.md +309 -0
- package/changelog/0.1.x/0.1.0.md +25 -0
- package/changelog/0.1.x/0.1.1.md +24 -0
- package/changelog/0.1.x/0.1.2.md +16 -0
- package/changelog/0.1.x/0.1.3.md +11 -0
- package/changelog/0.1.x/0.1.4.md +11 -0
- package/changelog/0.1.x/0.1.5.md +18 -0
- package/changelog/template.md +129 -0
- package/dist/config/server-config.d.ts +19 -0
- package/dist/config/server-config.d.ts.map +1 -0
- package/dist/config/server-config.js +35 -0
- package/dist/config/server-config.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/ris-document.resource.d.ts +30 -0
- package/dist/mcp-server/resources/definitions/ris-document.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/ris-document.resource.js +75 -0
- package/dist/mcp-server/resources/definitions/ris-document.resource.js.map +1 -0
- package/dist/mcp-server/tools/definitions/_shared.d.ts +8 -0
- package/dist/mcp-server/tools/definitions/_shared.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/_shared.js +10 -0
- package/dist/mcp-server/tools/definitions/_shared.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts +189 -0
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js +504 -0
- package/dist/mcp-server/tools/definitions/ris-get-document.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.d.ts +42 -0
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js +316 -0
- package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.d.ts +80 -0
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js +529 -0
- package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts +118 -0
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js +389 -0
- package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts +178 -0
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js +495 -0
- package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts +80 -0
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js +264 -0
- package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js +509 -0
- package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts +145 -0
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js +466 -0
- package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts +73 -0
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js +265 -0
- package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js.map +1 -0
- package/dist/services/ris/normalizer.d.ts +40 -0
- package/dist/services/ris/normalizer.d.ts.map +1 -0
- package/dist/services/ris/normalizer.js +480 -0
- package/dist/services/ris/normalizer.js.map +1 -0
- package/dist/services/ris/reference/applications.d.ts +529 -0
- package/dist/services/ris/reference/applications.d.ts.map +1 -0
- package/dist/services/ris/reference/applications.js +520 -0
- package/dist/services/ris/reference/applications.js.map +1 -0
- package/dist/services/ris/reference/changed-since-intervals.d.ts +42 -0
- package/dist/services/ris/reference/changed-since-intervals.d.ts.map +1 -0
- package/dist/services/ris/reference/changed-since-intervals.js +16 -0
- package/dist/services/ris/reference/changed-since-intervals.js.map +1 -0
- package/dist/services/ris/reference/citation-formats.d.ts +39 -0
- package/dist/services/ris/reference/citation-formats.d.ts.map +1 -0
- package/dist/services/ris/reference/citation-formats.js +39 -0
- package/dist/services/ris/reference/citation-formats.js.map +1 -0
- package/dist/services/ris/reference/collections.d.ts +82 -0
- package/dist/services/ris/reference/collections.d.ts.map +1 -0
- package/dist/services/ris/reference/collections.js +102 -0
- package/dist/services/ris/reference/collections.js.map +1 -0
- package/dist/services/ris/reference/courts.d.ts +201 -0
- package/dist/services/ris/reference/courts.d.ts.map +1 -0
- package/dist/services/ris/reference/courts.js +198 -0
- package/dist/services/ris/reference/courts.js.map +1 -0
- package/dist/services/ris/reference/decision-kinds.d.ts +78 -0
- package/dist/services/ris/reference/decision-kinds.d.ts.map +1 -0
- package/dist/services/ris/reference/decision-kinds.js +117 -0
- package/dist/services/ris/reference/decision-kinds.js.map +1 -0
- package/dist/services/ris/reference/decision-types.d.ts +36 -0
- package/dist/services/ris/reference/decision-types.d.ts.map +1 -0
- package/dist/services/ris/reference/decision-types.js +29 -0
- package/dist/services/ris/reference/decision-types.js.map +1 -0
- package/dist/services/ris/reference/district-authorities.d.ts +314 -0
- package/dist/services/ris/reference/district-authorities.d.ts.map +1 -0
- package/dist/services/ris/reference/district-authorities.js +212 -0
- package/dist/services/ris/reference/district-authorities.js.map +1 -0
- package/dist/services/ris/reference/gazette-parts.d.ts +73 -0
- package/dist/services/ris/reference/gazette-parts.d.ts.map +1 -0
- package/dist/services/ris/reference/gazette-parts.js +58 -0
- package/dist/services/ris/reference/gazette-parts.js.map +1 -0
- package/dist/services/ris/reference/index.d.ts +23 -0
- package/dist/services/ris/reference/index.d.ts.map +1 -0
- package/dist/services/ris/reference/index.js +23 -0
- package/dist/services/ris/reference/index.js.map +1 -0
- package/dist/services/ris/reference/issuing-bodies.d.ts +642 -0
- package/dist/services/ris/reference/issuing-bodies.d.ts.map +1 -0
- package/dist/services/ris/reference/issuing-bodies.js +616 -0
- package/dist/services/ris/reference/issuing-bodies.js.map +1 -0
- package/dist/services/ris/reference/justiz-subject-areas.d.ts +133 -0
- package/dist/services/ris/reference/justiz-subject-areas.d.ts.map +1 -0
- package/dist/services/ris/reference/justiz-subject-areas.js +67 -0
- package/dist/services/ris/reference/justiz-subject-areas.js.map +1 -0
- package/dist/services/ris/reference/law-types.d.ts +46 -0
- package/dist/services/ris/reference/law-types.d.ts.map +1 -0
- package/dist/services/ris/reference/law-types.js +41 -0
- package/dist/services/ris/reference/law-types.js.map +1 -0
- package/dist/services/ris/reference/ministries.d.ts +360 -0
- package/dist/services/ris/reference/ministries.d.ts.map +1 -0
- package/dist/services/ris/reference/ministries.js +408 -0
- package/dist/services/ris/reference/ministries.js.map +1 -0
- package/dist/services/ris/reference/search-syntax.d.ts +66 -0
- package/dist/services/ris/reference/search-syntax.d.ts.map +1 -0
- package/dist/services/ris/reference/search-syntax.js +65 -0
- package/dist/services/ris/reference/search-syntax.js.map +1 -0
- package/dist/services/ris/reference/section-types.d.ts +33 -0
- package/dist/services/ris/reference/section-types.d.ts.map +1 -0
- package/dist/services/ris/reference/section-types.js +29 -0
- package/dist/services/ris/reference/section-types.js.map +1 -0
- package/dist/services/ris/reference/stages.d.ts +41 -0
- package/dist/services/ris/reference/stages.d.ts.map +1 -0
- package/dist/services/ris/reference/stages.js +27 -0
- package/dist/services/ris/reference/stages.js.map +1 -0
- package/dist/services/ris/reference/states.d.ts +90 -0
- package/dist/services/ris/reference/states.d.ts.map +1 -0
- package/dist/services/ris/reference/states.js +85 -0
- package/dist/services/ris/reference/states.js.map +1 -0
- package/dist/services/ris/request-builder.d.ts +195 -0
- package/dist/services/ris/request-builder.d.ts.map +1 -0
- package/dist/services/ris/request-builder.js +673 -0
- package/dist/services/ris/request-builder.js.map +1 -0
- package/dist/services/ris/ris-service.d.ts +65 -0
- package/dist/services/ris/ris-service.d.ts.map +1 -0
- package/dist/services/ris/ris-service.js +200 -0
- package/dist/services/ris/ris-service.js.map +1 -0
- package/dist/services/ris/types.d.ts +651 -0
- package/dist/services/ris/types.d.ts.map +1 -0
- package/dist/services/ris/types.js +11 -0
- package/dist/services/ris/types.js.map +1 -0
- package/package.json +108 -0
- package/server.json +111 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The two federal lawmaking-pipeline stages served by `ris_search_drafts`:
|
|
3
|
+
* ministerial review drafts (Begut) and government bills (RegV).
|
|
4
|
+
* @module services/ris/reference/stages
|
|
5
|
+
*/
|
|
6
|
+
/** One pipeline stage. */
|
|
7
|
+
export interface PipelineStage {
|
|
8
|
+
/** RIS `Applikation` value it routes to. */
|
|
9
|
+
readonly application: string;
|
|
10
|
+
/** Value used by the tool's `stage` parameter. */
|
|
11
|
+
readonly code: string;
|
|
12
|
+
/** Coverage window, when documented. */
|
|
13
|
+
readonly coverage: string | null;
|
|
14
|
+
/** What the stage holds. */
|
|
15
|
+
readonly description: string;
|
|
16
|
+
/** Official German designation. */
|
|
17
|
+
readonly germanName: string;
|
|
18
|
+
/** English name. */
|
|
19
|
+
readonly name: string;
|
|
20
|
+
/** Stage-specific tool parameters. */
|
|
21
|
+
readonly stageParams: readonly string[];
|
|
22
|
+
}
|
|
23
|
+
/** Both pipeline stages. */
|
|
24
|
+
export declare const RIS_STAGES: readonly [{
|
|
25
|
+
readonly code: "review_drafts";
|
|
26
|
+
readonly application: "Begut";
|
|
27
|
+
readonly name: "Ministerial review drafts";
|
|
28
|
+
readonly germanName: "Begutachtungsentwürfe";
|
|
29
|
+
readonly description: "Draft laws a ministry has put into public review (Begutachtung) — before any government bill exists.";
|
|
30
|
+
readonly stageParams: readonly ["in_review_on"];
|
|
31
|
+
readonly coverage: "As made available by the ministries";
|
|
32
|
+
}, {
|
|
33
|
+
readonly code: "government_bills";
|
|
34
|
+
readonly application: "RegV";
|
|
35
|
+
readonly name: "Government bills";
|
|
36
|
+
readonly germanName: "Regierungsvorlagen";
|
|
37
|
+
readonly description: "Bills adopted by the council of ministers and submitted to parliament.";
|
|
38
|
+
readonly stageParams: readonly ["decided_from", "decided_to"];
|
|
39
|
+
readonly coverage: "2004 and later";
|
|
40
|
+
}];
|
|
41
|
+
//# sourceMappingURL=stages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../../../../src/services/ris/reference/stages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,4BAA4B;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,4BAA4B;AAC5B,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAoBsB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The two federal lawmaking-pipeline stages served by `ris_search_drafts`:
|
|
3
|
+
* ministerial review drafts (Begut) and government bills (RegV).
|
|
4
|
+
* @module services/ris/reference/stages
|
|
5
|
+
*/
|
|
6
|
+
/** Both pipeline stages. */
|
|
7
|
+
export const RIS_STAGES = [
|
|
8
|
+
{
|
|
9
|
+
code: 'review_drafts',
|
|
10
|
+
application: 'Begut',
|
|
11
|
+
name: 'Ministerial review drafts',
|
|
12
|
+
germanName: 'Begutachtungsentwürfe',
|
|
13
|
+
description: 'Draft laws a ministry has put into public review (Begutachtung) — before any government bill exists.',
|
|
14
|
+
stageParams: ['in_review_on'],
|
|
15
|
+
coverage: 'As made available by the ministries',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
code: 'government_bills',
|
|
19
|
+
application: 'RegV',
|
|
20
|
+
name: 'Government bills',
|
|
21
|
+
germanName: 'Regierungsvorlagen',
|
|
22
|
+
description: 'Bills adopted by the council of ministers and submitted to parliament.',
|
|
23
|
+
stageParams: ['decided_from', 'decided_to'],
|
|
24
|
+
coverage: '2004 and later',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
//# sourceMappingURL=stages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stages.js","sourceRoot":"","sources":["../../../../src/services/ris/reference/stages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,4BAA4B;AAC5B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,2BAA2B;QACjC,UAAU,EAAE,uBAAuB;QACnC,WAAW,EACT,sGAAsG;QACxG,WAAW,EAAE,CAAC,cAAc,CAAC;QAC7B,QAAQ,EAAE,qCAAqC;KAChD;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,MAAM;QACnB,IAAI,EAAE,kBAAkB;QACxB,UAAU,EAAE,oBAAoB;QAChC,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE,CAAC,cAAc,EAAE,YAAY,CAAC;QAC3C,QAAQ,EAAE,gBAAgB;KAC3B;CAC0C,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The nine Bundesländer and their RIS request spellings. RIS uses three
|
|
3
|
+
* different shapes depending on the application: `Bundesland.SucheIn<Land>` boolean flags
|
|
4
|
+
* (LrKons/LgblAuth; Lgbl has only seven — no Niederösterreich, no Wien), a flat ASCII enum
|
|
5
|
+
* ("Kaernten" — Gr, GrA, Vbl, Lvwg, Uvs, and Spg's RSG `Land`), and a flat umlauted enum
|
|
6
|
+
* ("Kärnten" — Bvb only). Grounded in the request XSDs and live probes (2026-07-05):
|
|
7
|
+
* sending the wrong spelling fails schema validation.
|
|
8
|
+
* @module services/ris/reference/states
|
|
9
|
+
*/
|
|
10
|
+
/** One Bundesland with every RIS request spelling. */
|
|
11
|
+
export interface RisState {
|
|
12
|
+
/** State code used by tool `scope`/`state` parameters (lowercase). */
|
|
13
|
+
readonly code: string;
|
|
14
|
+
/** Boolean flag element under `Bundesland.` for LrKons / LgblAuth / Lgbl. */
|
|
15
|
+
readonly flagParam: string;
|
|
16
|
+
/** Flat enum value for Gr, GrA, Vbl, Lvwg, Uvs, and Spg `Land` (ASCII, no umlauts). */
|
|
17
|
+
readonly flatAscii: string;
|
|
18
|
+
/** Flat enum value for Bvb (umlauted). */
|
|
19
|
+
readonly flatUmlaut: string;
|
|
20
|
+
/** Whether the historical non-authentic Lgbl gazette carries this state. */
|
|
21
|
+
readonly inLgbl: boolean;
|
|
22
|
+
/** German proper name. */
|
|
23
|
+
readonly name: string;
|
|
24
|
+
}
|
|
25
|
+
/** All nine Bundesländer. */
|
|
26
|
+
export declare const RIS_STATES: readonly [{
|
|
27
|
+
readonly code: "burgenland";
|
|
28
|
+
readonly name: "Burgenland";
|
|
29
|
+
readonly flagParam: "SucheInBurgenland";
|
|
30
|
+
readonly flatAscii: "Burgenland";
|
|
31
|
+
readonly flatUmlaut: "Burgenland";
|
|
32
|
+
readonly inLgbl: true;
|
|
33
|
+
}, {
|
|
34
|
+
readonly code: "kaernten";
|
|
35
|
+
readonly name: "Kärnten";
|
|
36
|
+
readonly flagParam: "SucheInKaernten";
|
|
37
|
+
readonly flatAscii: "Kaernten";
|
|
38
|
+
readonly flatUmlaut: "Kärnten";
|
|
39
|
+
readonly inLgbl: true;
|
|
40
|
+
}, {
|
|
41
|
+
readonly code: "niederoesterreich";
|
|
42
|
+
readonly name: "Niederösterreich";
|
|
43
|
+
readonly flagParam: "SucheInNiederoesterreich";
|
|
44
|
+
readonly flatAscii: "Niederoesterreich";
|
|
45
|
+
readonly flatUmlaut: "Niederösterreich";
|
|
46
|
+
readonly inLgbl: false;
|
|
47
|
+
}, {
|
|
48
|
+
readonly code: "oberoesterreich";
|
|
49
|
+
readonly name: "Oberösterreich";
|
|
50
|
+
readonly flagParam: "SucheInOberoesterreich";
|
|
51
|
+
readonly flatAscii: "Oberoesterreich";
|
|
52
|
+
readonly flatUmlaut: "Oberösterreich";
|
|
53
|
+
readonly inLgbl: true;
|
|
54
|
+
}, {
|
|
55
|
+
readonly code: "salzburg";
|
|
56
|
+
readonly name: "Salzburg";
|
|
57
|
+
readonly flagParam: "SucheInSalzburg";
|
|
58
|
+
readonly flatAscii: "Salzburg";
|
|
59
|
+
readonly flatUmlaut: "Salzburg";
|
|
60
|
+
readonly inLgbl: true;
|
|
61
|
+
}, {
|
|
62
|
+
readonly code: "steiermark";
|
|
63
|
+
readonly name: "Steiermark";
|
|
64
|
+
readonly flagParam: "SucheInSteiermark";
|
|
65
|
+
readonly flatAscii: "Steiermark";
|
|
66
|
+
readonly flatUmlaut: "Steiermark";
|
|
67
|
+
readonly inLgbl: true;
|
|
68
|
+
}, {
|
|
69
|
+
readonly code: "tirol";
|
|
70
|
+
readonly name: "Tirol";
|
|
71
|
+
readonly flagParam: "SucheInTirol";
|
|
72
|
+
readonly flatAscii: "Tirol";
|
|
73
|
+
readonly flatUmlaut: "Tirol";
|
|
74
|
+
readonly inLgbl: true;
|
|
75
|
+
}, {
|
|
76
|
+
readonly code: "vorarlberg";
|
|
77
|
+
readonly name: "Vorarlberg";
|
|
78
|
+
readonly flagParam: "SucheInVorarlberg";
|
|
79
|
+
readonly flatAscii: "Vorarlberg";
|
|
80
|
+
readonly flatUmlaut: "Vorarlberg";
|
|
81
|
+
readonly inLgbl: true;
|
|
82
|
+
}, {
|
|
83
|
+
readonly code: "wien";
|
|
84
|
+
readonly name: "Wien";
|
|
85
|
+
readonly flagParam: "SucheInWien";
|
|
86
|
+
readonly flatAscii: "Wien";
|
|
87
|
+
readonly flatUmlaut: "Wien";
|
|
88
|
+
readonly inLgbl: false;
|
|
89
|
+
}];
|
|
90
|
+
//# sourceMappingURL=states.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"states.d.ts","sourceRoot":"","sources":["../../../../src/services/ris/reference/states.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sDAAsD;AACtD,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,6BAA6B;AAC7B,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyEiB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview The nine Bundesländer and their RIS request spellings. RIS uses three
|
|
3
|
+
* different shapes depending on the application: `Bundesland.SucheIn<Land>` boolean flags
|
|
4
|
+
* (LrKons/LgblAuth; Lgbl has only seven — no Niederösterreich, no Wien), a flat ASCII enum
|
|
5
|
+
* ("Kaernten" — Gr, GrA, Vbl, Lvwg, Uvs, and Spg's RSG `Land`), and a flat umlauted enum
|
|
6
|
+
* ("Kärnten" — Bvb only). Grounded in the request XSDs and live probes (2026-07-05):
|
|
7
|
+
* sending the wrong spelling fails schema validation.
|
|
8
|
+
* @module services/ris/reference/states
|
|
9
|
+
*/
|
|
10
|
+
/** All nine Bundesländer. */
|
|
11
|
+
export const RIS_STATES = [
|
|
12
|
+
{
|
|
13
|
+
code: 'burgenland',
|
|
14
|
+
name: 'Burgenland',
|
|
15
|
+
flagParam: 'SucheInBurgenland',
|
|
16
|
+
flatAscii: 'Burgenland',
|
|
17
|
+
flatUmlaut: 'Burgenland',
|
|
18
|
+
inLgbl: true,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
code: 'kaernten',
|
|
22
|
+
name: 'Kärnten',
|
|
23
|
+
flagParam: 'SucheInKaernten',
|
|
24
|
+
flatAscii: 'Kaernten',
|
|
25
|
+
flatUmlaut: 'Kärnten',
|
|
26
|
+
inLgbl: true,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
code: 'niederoesterreich',
|
|
30
|
+
name: 'Niederösterreich',
|
|
31
|
+
flagParam: 'SucheInNiederoesterreich',
|
|
32
|
+
flatAscii: 'Niederoesterreich',
|
|
33
|
+
flatUmlaut: 'Niederösterreich',
|
|
34
|
+
inLgbl: false,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
code: 'oberoesterreich',
|
|
38
|
+
name: 'Oberösterreich',
|
|
39
|
+
flagParam: 'SucheInOberoesterreich',
|
|
40
|
+
flatAscii: 'Oberoesterreich',
|
|
41
|
+
flatUmlaut: 'Oberösterreich',
|
|
42
|
+
inLgbl: true,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
code: 'salzburg',
|
|
46
|
+
name: 'Salzburg',
|
|
47
|
+
flagParam: 'SucheInSalzburg',
|
|
48
|
+
flatAscii: 'Salzburg',
|
|
49
|
+
flatUmlaut: 'Salzburg',
|
|
50
|
+
inLgbl: true,
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
code: 'steiermark',
|
|
54
|
+
name: 'Steiermark',
|
|
55
|
+
flagParam: 'SucheInSteiermark',
|
|
56
|
+
flatAscii: 'Steiermark',
|
|
57
|
+
flatUmlaut: 'Steiermark',
|
|
58
|
+
inLgbl: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
code: 'tirol',
|
|
62
|
+
name: 'Tirol',
|
|
63
|
+
flagParam: 'SucheInTirol',
|
|
64
|
+
flatAscii: 'Tirol',
|
|
65
|
+
flatUmlaut: 'Tirol',
|
|
66
|
+
inLgbl: true,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
code: 'vorarlberg',
|
|
70
|
+
name: 'Vorarlberg',
|
|
71
|
+
flagParam: 'SucheInVorarlberg',
|
|
72
|
+
flatAscii: 'Vorarlberg',
|
|
73
|
+
flatUmlaut: 'Vorarlberg',
|
|
74
|
+
inLgbl: true,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
code: 'wien',
|
|
78
|
+
name: 'Wien',
|
|
79
|
+
flagParam: 'SucheInWien',
|
|
80
|
+
flatAscii: 'Wien',
|
|
81
|
+
flatUmlaut: 'Wien',
|
|
82
|
+
inLgbl: false,
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
//# sourceMappingURL=states.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"states.js","sourceRoot":"","sources":["../../../../src/services/ris/reference/states.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,mBAAmB;QAC9B,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,0BAA0B;QACrC,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,kBAAkB;QAC9B,MAAM,EAAE,KAAK;KACd;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,wBAAwB;QACnC,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,mBAAmB;QAC9B,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,mBAAmB;QAC9B,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,IAAI;KACb;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,MAAM;QACZ,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,KAAK;KACd;CACqC,CAAC"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Request builders for the RIS OGD API — one thin builder per document
|
|
3
|
+
* class over a shared param bag, plus ministry-abbreviation expansion and the History
|
|
4
|
+
* application aliasing.
|
|
5
|
+
*
|
|
6
|
+
* STRICT PARAM ALLOWLIST: RIS silently ignores unknown query params (a typo returns
|
|
7
|
+
* plausible but unfiltered results, never an error), so builders emit only spellings
|
|
8
|
+
* confirmed against the live API (design ledger 2026-07-04/05 + build probes 2026-07-05).
|
|
9
|
+
* A caller-supplied field with no confirmed mapping for the target application throws a
|
|
10
|
+
* local ValidationError — it is never dropped and never forwarded.
|
|
11
|
+
*
|
|
12
|
+
* Flag complexes (`Teil.SucheIn…`, `Typ.SucheIn…`, `Dokumenttyp.SucheIn…`,
|
|
13
|
+
* `Bundesland.SucheIn…`) are only ever emitted as `=true` — probes show a present-but-
|
|
14
|
+
* false flag changes results in undocumented ways, while omission means "no filter".
|
|
15
|
+
* @module services/ris/request-builder
|
|
16
|
+
*/
|
|
17
|
+
import { type MinistryParamFamily, RIS_CHANGED_SINCE_INTERVALS, RIS_COLLECTIONS, RIS_COURTS, RIS_STAGES, RIS_STATES, type RisController } from './reference/index.js';
|
|
18
|
+
/** Page sizes RIS accepts (`DokumenteProSeite`). */
|
|
19
|
+
export type RisPageSize = 10 | 20 | 50 | 100;
|
|
20
|
+
/** Common paging params. */
|
|
21
|
+
export interface RisPagingParams {
|
|
22
|
+
/** 1-based page number (`Seitennummer`). */
|
|
23
|
+
readonly page?: number;
|
|
24
|
+
/** Documents per page (`DokumenteProSeite`). */
|
|
25
|
+
readonly pageSize?: RisPageSize;
|
|
26
|
+
}
|
|
27
|
+
/** Recency interval codes (`ImRisSeit`). */
|
|
28
|
+
export type ChangedSinceCode = (typeof RIS_CHANGED_SINCE_INTERVALS)[number]['code'];
|
|
29
|
+
/** Bundesland codes accepted by state-conditional params. */
|
|
30
|
+
export type RisStateCode = (typeof RIS_STATES)[number]['code'];
|
|
31
|
+
/** Court codes served by the case-law surface. */
|
|
32
|
+
export type RisCourtCode = (typeof RIS_COURTS)[number]['code'];
|
|
33
|
+
/** Announcement collection codes. */
|
|
34
|
+
export type RisCollectionCode = (typeof RIS_COLLECTIONS)[number]['code'];
|
|
35
|
+
/** Lawmaking-pipeline stage codes. */
|
|
36
|
+
export type RisStageCode = (typeof RIS_STAGES)[number]['code'];
|
|
37
|
+
/** Sort direction (`Sortierung.SortDirection`, XSD `WebSortDirection`). */
|
|
38
|
+
export type RisSortDirection = 'ascending' | 'descending';
|
|
39
|
+
/** A fully built upstream request: controller path segment + allowlisted params. */
|
|
40
|
+
export interface RisRequest {
|
|
41
|
+
readonly controller: RisController | 'History';
|
|
42
|
+
readonly params: Readonly<Record<string, string>>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Resolve a ministry input (abbreviation or full designation) to the value the target
|
|
46
|
+
* issuer-param family needs. Phrase-matched `EinbringendeStelle` gets the bare
|
|
47
|
+
* abbreviation (matches every designation era of that abbreviation — live-confirmed equal
|
|
48
|
+
* to the composite, 536 = 536); the exact-match families get the full designation
|
|
49
|
+
* (Erlaesse `Bundesministerium`) or the `ABBR (Name)` composite (Mrp `Einbringer`).
|
|
50
|
+
* Unknown or ambiguous inputs throw a ValidationError naming the near-misses.
|
|
51
|
+
*/
|
|
52
|
+
export declare function expandMinistry(input: string, family: MinistryParamFamily): string;
|
|
53
|
+
/** Applications reachable through the legislation surface. */
|
|
54
|
+
export type LegislationApplication = 'BrKons' | 'Erv' | 'Gr' | 'LrKons';
|
|
55
|
+
/** Search params for consolidated law and English translations. */
|
|
56
|
+
export interface LegislationSearchParams extends RisPagingParams {
|
|
57
|
+
readonly application: LegislationApplication;
|
|
58
|
+
readonly changedSince?: ChangedSinceCode;
|
|
59
|
+
readonly enteredForceFrom?: string;
|
|
60
|
+
readonly enteredForceTo?: string;
|
|
61
|
+
readonly index?: string;
|
|
62
|
+
readonly inForceAsOf?: string;
|
|
63
|
+
readonly lawId?: string;
|
|
64
|
+
readonly leftForceFrom?: string;
|
|
65
|
+
readonly leftForceTo?: string;
|
|
66
|
+
readonly municipality?: string;
|
|
67
|
+
readonly query?: string;
|
|
68
|
+
readonly sectionFrom?: string;
|
|
69
|
+
readonly sectionTo?: string;
|
|
70
|
+
readonly sectionType?: 'Alle' | 'Anlage' | 'Artikel' | 'Paragraph';
|
|
71
|
+
readonly sortBy?: 'in_force_date' | 'section';
|
|
72
|
+
readonly sortDirection?: RisSortDirection;
|
|
73
|
+
readonly state?: RisStateCode;
|
|
74
|
+
readonly title?: string;
|
|
75
|
+
}
|
|
76
|
+
/** Build a legislation search request. */
|
|
77
|
+
export declare function buildLegislationRequest(params: LegislationSearchParams): RisRequest;
|
|
78
|
+
/** Search params for the case-law surface. */
|
|
79
|
+
export interface CaseLawSearchParams extends RisPagingParams {
|
|
80
|
+
readonly caseNumber?: string;
|
|
81
|
+
readonly changedSince?: ChangedSinceCode;
|
|
82
|
+
readonly collectionNumber?: string;
|
|
83
|
+
/** Gbk: federal vs general commission (upstream `BundesGleichbehandlungskommission` / `Gleichbehandlungskommission`). */
|
|
84
|
+
readonly commission?: 'federal' | 'general';
|
|
85
|
+
readonly court: RisCourtCode;
|
|
86
|
+
readonly courtName?: string;
|
|
87
|
+
readonly decidedFrom?: string;
|
|
88
|
+
readonly decidedTo?: string;
|
|
89
|
+
readonly decisionKind?: string;
|
|
90
|
+
readonly decisionType?: 'all' | 'full_text' | 'headnote';
|
|
91
|
+
readonly discriminationGround?: 'Alter' | 'EthnischeZugehoerigkeit' | 'Geschlecht' | 'Mehrfachdiskriminierung' | 'Religion' | 'SexuelleOrientierung' | 'Weltanschauung';
|
|
92
|
+
readonly issuingBody?: string;
|
|
93
|
+
readonly legalArea?: 'civil' | 'criminal';
|
|
94
|
+
readonly norm?: string;
|
|
95
|
+
readonly party?: string;
|
|
96
|
+
readonly query?: string;
|
|
97
|
+
readonly senate?: 'I' | 'II' | 'III';
|
|
98
|
+
readonly sortBy?: 'case_number' | 'decision_date';
|
|
99
|
+
readonly sortDirection?: RisSortDirection;
|
|
100
|
+
readonly state?: RisStateCode;
|
|
101
|
+
readonly subjectArea?: string;
|
|
102
|
+
readonly subjectLaw?: string;
|
|
103
|
+
}
|
|
104
|
+
/** Build a case-law search request. */
|
|
105
|
+
export declare function buildCaseLawRequest(params: CaseLawSearchParams): RisRequest;
|
|
106
|
+
/** Applications reachable through the gazette surface. */
|
|
107
|
+
export type GazetteApplication = 'BgblAlt' | 'BgblAuth' | 'BgblPdf' | 'Bvb' | 'GrA' | 'Lgbl' | 'LgblAuth' | 'LgblNO' | 'Vbl';
|
|
108
|
+
/** Search params for the gazette surface (the tool resolves era tiers before calling). */
|
|
109
|
+
export interface GazetteSearchParams extends RisPagingParams {
|
|
110
|
+
readonly application: GazetteApplication;
|
|
111
|
+
readonly districtAuthority?: string;
|
|
112
|
+
readonly issuer?: string;
|
|
113
|
+
readonly municipality?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Gazette number. BgblAuth `Bgblnummer`, BgblPdf `Bundesgesetzblatt`, LgblAuth/Lgbl
|
|
116
|
+
* `Lgblnummer`, Vbl/Bvb/GrA `Kundmachungsnummer`. BgblAlt expects the full `N/YYYY`
|
|
117
|
+
* form in `Gesetzblattnummer` (e.g. "189/1902" — a bare number plus `year` matches
|
|
118
|
+
* nothing; live-confirmed 2026-07-05).
|
|
119
|
+
*/
|
|
120
|
+
readonly number?: string;
|
|
121
|
+
readonly part?: 'part1' | 'part2' | 'part3' | 'pre_1997';
|
|
122
|
+
readonly publishedFrom?: string;
|
|
123
|
+
readonly publishedTo?: string;
|
|
124
|
+
readonly query?: string;
|
|
125
|
+
readonly sortBy?: 'number' | 'published';
|
|
126
|
+
readonly sortDirection?: RisSortDirection;
|
|
127
|
+
readonly state?: RisStateCode;
|
|
128
|
+
readonly title?: string;
|
|
129
|
+
readonly type?: 'announcements' | 'laws' | 'other' | 'regulations';
|
|
130
|
+
/** Volume year filter — BgblAlt only (`Jahrgang`). */
|
|
131
|
+
readonly year?: string;
|
|
132
|
+
}
|
|
133
|
+
/** Build a gazette search request. */
|
|
134
|
+
export declare function buildGazetteRequest(params: GazetteSearchParams): RisRequest;
|
|
135
|
+
/** Search params for the drafts surface. */
|
|
136
|
+
export interface DraftsSearchParams extends RisPagingParams {
|
|
137
|
+
readonly changedSince?: ChangedSinceCode;
|
|
138
|
+
readonly decidedFrom?: string;
|
|
139
|
+
readonly decidedTo?: string;
|
|
140
|
+
readonly inReviewOn?: string;
|
|
141
|
+
readonly ministry?: string;
|
|
142
|
+
readonly query?: string;
|
|
143
|
+
readonly sortBy?: 'date' | 'ministry' | 'title';
|
|
144
|
+
readonly sortDirection?: RisSortDirection;
|
|
145
|
+
readonly stage: RisStageCode;
|
|
146
|
+
readonly title?: string;
|
|
147
|
+
}
|
|
148
|
+
/** Build a drafts search request. */
|
|
149
|
+
export declare function buildDraftsRequest(params: DraftsSearchParams): RisRequest;
|
|
150
|
+
/** Search params for the announcements surface. */
|
|
151
|
+
export interface AnnouncementsSearchParams extends RisPagingParams {
|
|
152
|
+
readonly caseNumber?: string;
|
|
153
|
+
readonly changedSince?: ChangedSinceCode;
|
|
154
|
+
readonly collection: RisCollectionCode;
|
|
155
|
+
readonly department?: string;
|
|
156
|
+
readonly enteredForceFrom?: string;
|
|
157
|
+
readonly enteredForceTo?: string;
|
|
158
|
+
readonly inForceAsOf?: string;
|
|
159
|
+
readonly issuer?: string;
|
|
160
|
+
readonly legislature?: string;
|
|
161
|
+
readonly norm?: string;
|
|
162
|
+
readonly number?: string;
|
|
163
|
+
/** Spg plan kind (upstream `SpgStrukturplanType`); defaults to `all` when a scope is set. */
|
|
164
|
+
readonly planKind?: 'all' | 'expert_opinion' | 'regulation';
|
|
165
|
+
/** Spg: federal ÖSG vs regional RSG search restriction. */
|
|
166
|
+
readonly planScope?: 'federal' | 'regional';
|
|
167
|
+
readonly planState?: RisStateCode;
|
|
168
|
+
readonly publishedFrom?: string;
|
|
169
|
+
readonly publishedTo?: string;
|
|
170
|
+
readonly query?: string;
|
|
171
|
+
readonly sessionNumber?: string;
|
|
172
|
+
readonly sortBy?: 'number' | 'published';
|
|
173
|
+
readonly sortDirection?: RisSortDirection;
|
|
174
|
+
readonly title?: string;
|
|
175
|
+
/**
|
|
176
|
+
* Document type. KmGer: `Geschaeftsordnung` | `Geschaeftsverteilung`; PruefGewO:
|
|
177
|
+
* `Befaehigungspruefungsordnung` | `Meisterpruefungsordnung`; Avn: one of the
|
|
178
|
+
* `Kundmachungen` / `VeroeffentlichungenAufGrundVEVO` / `SonstigeVeroeffentlichungen`
|
|
179
|
+
* search flags.
|
|
180
|
+
*/
|
|
181
|
+
readonly type?: string;
|
|
182
|
+
}
|
|
183
|
+
/** Build an announcements search request. */
|
|
184
|
+
export declare function buildAnnouncementsRequest(params: AnnouncementsSearchParams): RisRequest;
|
|
185
|
+
/** Params for the History change feed. */
|
|
186
|
+
export interface TrackChangesParams extends RisPagingParams {
|
|
187
|
+
/** Standard application code (e.g. `BrKons`) — aliased to the History name internally. */
|
|
188
|
+
readonly application: string;
|
|
189
|
+
readonly changedFrom?: string;
|
|
190
|
+
readonly changedTo?: string;
|
|
191
|
+
readonly includeDeleted?: boolean;
|
|
192
|
+
}
|
|
193
|
+
/** Build a History change-feed request (maps the four aliased application names). */
|
|
194
|
+
export declare function buildTrackChangesRequest(params: TrackChangesParams): RisRequest;
|
|
195
|
+
//# sourceMappingURL=request-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-builder.d.ts","sourceRoot":"","sources":["../../../src/services/ris/request-builder.ts"],"names":[],"mappings":"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"}
|