@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.
Files changed (154) hide show
  1. package/AGENTS.md +401 -0
  2. package/CLAUDE.md +401 -0
  3. package/Dockerfile +125 -0
  4. package/LICENSE +201 -0
  5. package/README.md +309 -0
  6. package/changelog/0.1.x/0.1.0.md +25 -0
  7. package/changelog/0.1.x/0.1.1.md +24 -0
  8. package/changelog/0.1.x/0.1.2.md +16 -0
  9. package/changelog/0.1.x/0.1.3.md +11 -0
  10. package/changelog/0.1.x/0.1.4.md +11 -0
  11. package/changelog/0.1.x/0.1.5.md +18 -0
  12. package/changelog/template.md +129 -0
  13. package/dist/config/server-config.d.ts +19 -0
  14. package/dist/config/server-config.d.ts.map +1 -0
  15. package/dist/config/server-config.js +35 -0
  16. package/dist/config/server-config.js.map +1 -0
  17. package/dist/index.d.ts +7 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +37 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/mcp-server/resources/definitions/ris-document.resource.d.ts +30 -0
  22. package/dist/mcp-server/resources/definitions/ris-document.resource.d.ts.map +1 -0
  23. package/dist/mcp-server/resources/definitions/ris-document.resource.js +75 -0
  24. package/dist/mcp-server/resources/definitions/ris-document.resource.js.map +1 -0
  25. package/dist/mcp-server/tools/definitions/_shared.d.ts +8 -0
  26. package/dist/mcp-server/tools/definitions/_shared.d.ts.map +1 -0
  27. package/dist/mcp-server/tools/definitions/_shared.js +10 -0
  28. package/dist/mcp-server/tools/definitions/_shared.js.map +1 -0
  29. package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts +189 -0
  30. package/dist/mcp-server/tools/definitions/ris-get-document.tool.d.ts.map +1 -0
  31. package/dist/mcp-server/tools/definitions/ris-get-document.tool.js +504 -0
  32. package/dist/mcp-server/tools/definitions/ris-get-document.tool.js.map +1 -0
  33. package/dist/mcp-server/tools/definitions/ris-list-reference.tool.d.ts +42 -0
  34. package/dist/mcp-server/tools/definitions/ris-list-reference.tool.d.ts.map +1 -0
  35. package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js +316 -0
  36. package/dist/mcp-server/tools/definitions/ris-list-reference.tool.js.map +1 -0
  37. package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.d.ts +80 -0
  38. package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.d.ts.map +1 -0
  39. package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js +529 -0
  40. package/dist/mcp-server/tools/definitions/ris-lookup-citation.tool.js.map +1 -0
  41. package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts +118 -0
  42. package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.d.ts.map +1 -0
  43. package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js +389 -0
  44. package/dist/mcp-server/tools/definitions/ris-search-announcements.tool.js.map +1 -0
  45. package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts +178 -0
  46. package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.d.ts.map +1 -0
  47. package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js +495 -0
  48. package/dist/mcp-server/tools/definitions/ris-search-case-law.tool.js.map +1 -0
  49. package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts +80 -0
  50. package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.d.ts.map +1 -0
  51. package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js +264 -0
  52. package/dist/mcp-server/tools/definitions/ris-search-drafts.tool.js.map +1 -0
  53. package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts +147 -0
  54. package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.d.ts.map +1 -0
  55. package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js +509 -0
  56. package/dist/mcp-server/tools/definitions/ris-search-gazette.tool.js.map +1 -0
  57. package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts +145 -0
  58. package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.d.ts.map +1 -0
  59. package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js +466 -0
  60. package/dist/mcp-server/tools/definitions/ris-search-legislation.tool.js.map +1 -0
  61. package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts +73 -0
  62. package/dist/mcp-server/tools/definitions/ris-track-changes.tool.d.ts.map +1 -0
  63. package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js +265 -0
  64. package/dist/mcp-server/tools/definitions/ris-track-changes.tool.js.map +1 -0
  65. package/dist/services/ris/normalizer.d.ts +40 -0
  66. package/dist/services/ris/normalizer.d.ts.map +1 -0
  67. package/dist/services/ris/normalizer.js +480 -0
  68. package/dist/services/ris/normalizer.js.map +1 -0
  69. package/dist/services/ris/reference/applications.d.ts +529 -0
  70. package/dist/services/ris/reference/applications.d.ts.map +1 -0
  71. package/dist/services/ris/reference/applications.js +520 -0
  72. package/dist/services/ris/reference/applications.js.map +1 -0
  73. package/dist/services/ris/reference/changed-since-intervals.d.ts +42 -0
  74. package/dist/services/ris/reference/changed-since-intervals.d.ts.map +1 -0
  75. package/dist/services/ris/reference/changed-since-intervals.js +16 -0
  76. package/dist/services/ris/reference/changed-since-intervals.js.map +1 -0
  77. package/dist/services/ris/reference/citation-formats.d.ts +39 -0
  78. package/dist/services/ris/reference/citation-formats.d.ts.map +1 -0
  79. package/dist/services/ris/reference/citation-formats.js +39 -0
  80. package/dist/services/ris/reference/citation-formats.js.map +1 -0
  81. package/dist/services/ris/reference/collections.d.ts +82 -0
  82. package/dist/services/ris/reference/collections.d.ts.map +1 -0
  83. package/dist/services/ris/reference/collections.js +102 -0
  84. package/dist/services/ris/reference/collections.js.map +1 -0
  85. package/dist/services/ris/reference/courts.d.ts +201 -0
  86. package/dist/services/ris/reference/courts.d.ts.map +1 -0
  87. package/dist/services/ris/reference/courts.js +198 -0
  88. package/dist/services/ris/reference/courts.js.map +1 -0
  89. package/dist/services/ris/reference/decision-kinds.d.ts +78 -0
  90. package/dist/services/ris/reference/decision-kinds.d.ts.map +1 -0
  91. package/dist/services/ris/reference/decision-kinds.js +117 -0
  92. package/dist/services/ris/reference/decision-kinds.js.map +1 -0
  93. package/dist/services/ris/reference/decision-types.d.ts +36 -0
  94. package/dist/services/ris/reference/decision-types.d.ts.map +1 -0
  95. package/dist/services/ris/reference/decision-types.js +29 -0
  96. package/dist/services/ris/reference/decision-types.js.map +1 -0
  97. package/dist/services/ris/reference/district-authorities.d.ts +314 -0
  98. package/dist/services/ris/reference/district-authorities.d.ts.map +1 -0
  99. package/dist/services/ris/reference/district-authorities.js +212 -0
  100. package/dist/services/ris/reference/district-authorities.js.map +1 -0
  101. package/dist/services/ris/reference/gazette-parts.d.ts +73 -0
  102. package/dist/services/ris/reference/gazette-parts.d.ts.map +1 -0
  103. package/dist/services/ris/reference/gazette-parts.js +58 -0
  104. package/dist/services/ris/reference/gazette-parts.js.map +1 -0
  105. package/dist/services/ris/reference/index.d.ts +23 -0
  106. package/dist/services/ris/reference/index.d.ts.map +1 -0
  107. package/dist/services/ris/reference/index.js +23 -0
  108. package/dist/services/ris/reference/index.js.map +1 -0
  109. package/dist/services/ris/reference/issuing-bodies.d.ts +642 -0
  110. package/dist/services/ris/reference/issuing-bodies.d.ts.map +1 -0
  111. package/dist/services/ris/reference/issuing-bodies.js +616 -0
  112. package/dist/services/ris/reference/issuing-bodies.js.map +1 -0
  113. package/dist/services/ris/reference/justiz-subject-areas.d.ts +133 -0
  114. package/dist/services/ris/reference/justiz-subject-areas.d.ts.map +1 -0
  115. package/dist/services/ris/reference/justiz-subject-areas.js +67 -0
  116. package/dist/services/ris/reference/justiz-subject-areas.js.map +1 -0
  117. package/dist/services/ris/reference/law-types.d.ts +46 -0
  118. package/dist/services/ris/reference/law-types.d.ts.map +1 -0
  119. package/dist/services/ris/reference/law-types.js +41 -0
  120. package/dist/services/ris/reference/law-types.js.map +1 -0
  121. package/dist/services/ris/reference/ministries.d.ts +360 -0
  122. package/dist/services/ris/reference/ministries.d.ts.map +1 -0
  123. package/dist/services/ris/reference/ministries.js +408 -0
  124. package/dist/services/ris/reference/ministries.js.map +1 -0
  125. package/dist/services/ris/reference/search-syntax.d.ts +66 -0
  126. package/dist/services/ris/reference/search-syntax.d.ts.map +1 -0
  127. package/dist/services/ris/reference/search-syntax.js +65 -0
  128. package/dist/services/ris/reference/search-syntax.js.map +1 -0
  129. package/dist/services/ris/reference/section-types.d.ts +33 -0
  130. package/dist/services/ris/reference/section-types.d.ts.map +1 -0
  131. package/dist/services/ris/reference/section-types.js +29 -0
  132. package/dist/services/ris/reference/section-types.js.map +1 -0
  133. package/dist/services/ris/reference/stages.d.ts +41 -0
  134. package/dist/services/ris/reference/stages.d.ts.map +1 -0
  135. package/dist/services/ris/reference/stages.js +27 -0
  136. package/dist/services/ris/reference/stages.js.map +1 -0
  137. package/dist/services/ris/reference/states.d.ts +90 -0
  138. package/dist/services/ris/reference/states.d.ts.map +1 -0
  139. package/dist/services/ris/reference/states.js +85 -0
  140. package/dist/services/ris/reference/states.js.map +1 -0
  141. package/dist/services/ris/request-builder.d.ts +195 -0
  142. package/dist/services/ris/request-builder.d.ts.map +1 -0
  143. package/dist/services/ris/request-builder.js +673 -0
  144. package/dist/services/ris/request-builder.js.map +1 -0
  145. package/dist/services/ris/ris-service.d.ts +65 -0
  146. package/dist/services/ris/ris-service.d.ts.map +1 -0
  147. package/dist/services/ris/ris-service.js +200 -0
  148. package/dist/services/ris/ris-service.js.map +1 -0
  149. package/dist/services/ris/types.d.ts +651 -0
  150. package/dist/services/ris/types.d.ts.map +1 -0
  151. package/dist/services/ris/types.js +11 -0
  152. package/dist/services/ris/types.js.map +1 -0
  153. package/package.json +108 -0
  154. package/server.json +111 -0
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @fileoverview Per-court `Entscheidungsart` (decision kind) values. Most courts validate
3
+ * against a schema enum (request XSDs); Justiz takes an exact-match string with four
4
+ * documented values. Courts not listed here have no Entscheidungsart parameter at all.
5
+ * The XSD enums carry an "Undefined" sentinel meaning "no filter" — omitted here.
6
+ * @module services/ris/reference/decision-kinds
7
+ */
8
+ /** Decision-kind values for one court. */
9
+ export interface CourtDecisionKinds {
10
+ /** Court code (matches `RIS_COURTS`). */
11
+ readonly court: string;
12
+ /** Usage note, when needed. */
13
+ readonly note: string | null;
14
+ /** Whether upstream validates the value against a schema enum or matches a string. */
15
+ readonly paramKind: 'schema_enum' | 'exact_match_string';
16
+ /** Valid values, verbatim. */
17
+ readonly values: readonly string[];
18
+ }
19
+ /** Courts whose search request has no Entscheidungsart parameter. */
20
+ export declare const COURTS_WITHOUT_DECISION_KIND: readonly ["normenliste", "dok", "pvak", "umse", "bks", "upts"];
21
+ /** Decision-kind values per court that has the parameter. */
22
+ export declare const RIS_DECISION_KINDS: readonly [{
23
+ readonly court: "vfgh";
24
+ readonly paramKind: "schema_enum";
25
+ readonly values: readonly ["Beschluss", "Erkenntnis", "Vergleich", "KeineAngabe"];
26
+ readonly note: null;
27
+ }, {
28
+ readonly court: "vwgh";
29
+ readonly paramKind: "schema_enum";
30
+ readonly values: readonly ["Beschluss", "Erkenntnis", "BeschlussVS", "ErkenntnisVS"];
31
+ readonly note: "VS marks decisions of a verstärkter Senat (enlarged panel).";
32
+ }, {
33
+ readonly court: "justiz";
34
+ readonly paramKind: "exact_match_string";
35
+ readonly values: readonly ["Ordentliche Erledigung (Sachentscheidung)", "Zurückweisung mangels erheblicher Rechtsfrage", "Zurückweisung aus anderen Gründen", "Verstärkter Senat"];
36
+ readonly note: "New in API v2.6; like Fachgebiet, tagging is not yet populated in the corpus — probed values returned 0 hits on 2026-07-05.";
37
+ }, {
38
+ readonly court: "bvwg";
39
+ readonly paramKind: "schema_enum";
40
+ readonly values: readonly ["Beschluss", "Erkenntnis"];
41
+ readonly note: null;
42
+ }, {
43
+ readonly court: "lvwg";
44
+ readonly paramKind: "schema_enum";
45
+ readonly values: readonly ["Beschluss", "Erkenntnis", "Bescheid"];
46
+ readonly note: null;
47
+ }, {
48
+ readonly court: "dsk";
49
+ readonly paramKind: "schema_enum";
50
+ readonly values: readonly ["BescheidBeschwerde", "BescheidAmtswegigesPruefverfahren", "VerwaltungsstraferkenntnisVerwarnungErmahnung", "BescheidWissenschaftStatistikArchiv", "BescheidInternatDatenverkehr", "BescheidAkkreditierungZertifizierung", "BescheidVerhaltensregeln", "BescheidWarnung", "BescheidRegistrierung", "BescheidSonstiger", "Empfehlung", "Verfahrensschriftsaetze"];
51
+ readonly note: "BescheidBeschwerde (complaint decisions) is the volume category — 1,296 live hits on 2026-07-05.";
52
+ }, {
53
+ readonly court: "gbk";
54
+ readonly paramKind: "schema_enum";
55
+ readonly values: readonly ["Einzelfallpruefungsergebnis", "Gutachten"];
56
+ readonly note: null;
57
+ }, {
58
+ readonly court: "uvs";
59
+ readonly paramKind: "schema_enum";
60
+ readonly values: readonly ["Beschluss", "Erkenntnis", "Bescheid"];
61
+ readonly note: null;
62
+ }, {
63
+ readonly court: "asylgh";
64
+ readonly paramKind: "schema_enum";
65
+ readonly values: readonly ["Beschluss", "Erkenntnis", "ErkenntnisGrundsatzentscheidung", "ErkenntnisVerstaerkterSenat", "Bescheid"];
66
+ readonly note: null;
67
+ }, {
68
+ readonly court: "ubas";
69
+ readonly paramKind: "schema_enum";
70
+ readonly values: readonly ["Bescheid", "Ersatzbescheid"];
71
+ readonly note: null;
72
+ }, {
73
+ readonly court: "verg";
74
+ readonly paramKind: "schema_enum";
75
+ readonly values: readonly ["Bescheid", "Beschluss", "Empfehlung", "Gutachten", "Vorabentscheidungsantrag", "Vorabentscheidung"];
76
+ readonly note: null;
77
+ }];
78
+ //# sourceMappingURL=decision-kinds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-kinds.d.ts","sourceRoot":"","sources":["../../../../src/services/ris/reference/decision-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,0CAA0C;AAC1C,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,oBAAoB,CAAC;IACzD,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,qEAAqE;AACrE,eAAO,MAAM,4BAA4B,gEAO/B,CAAC;AAEX,6DAA6D;AAC7D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkGmB,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * @fileoverview Per-court `Entscheidungsart` (decision kind) values. Most courts validate
3
+ * against a schema enum (request XSDs); Justiz takes an exact-match string with four
4
+ * documented values. Courts not listed here have no Entscheidungsart parameter at all.
5
+ * The XSD enums carry an "Undefined" sentinel meaning "no filter" — omitted here.
6
+ * @module services/ris/reference/decision-kinds
7
+ */
8
+ /** Courts whose search request has no Entscheidungsart parameter. */
9
+ export const COURTS_WITHOUT_DECISION_KIND = [
10
+ 'normenliste',
11
+ 'dok',
12
+ 'pvak',
13
+ 'umse',
14
+ 'bks',
15
+ 'upts',
16
+ ];
17
+ /** Decision-kind values per court that has the parameter. */
18
+ export const RIS_DECISION_KINDS = [
19
+ {
20
+ court: 'vfgh',
21
+ paramKind: 'schema_enum',
22
+ values: ['Beschluss', 'Erkenntnis', 'Vergleich', 'KeineAngabe'],
23
+ note: null,
24
+ },
25
+ {
26
+ court: 'vwgh',
27
+ paramKind: 'schema_enum',
28
+ values: ['Beschluss', 'Erkenntnis', 'BeschlussVS', 'ErkenntnisVS'],
29
+ note: 'VS marks decisions of a verstärkter Senat (enlarged panel).',
30
+ },
31
+ {
32
+ court: 'justiz',
33
+ paramKind: 'exact_match_string',
34
+ values: [
35
+ 'Ordentliche Erledigung (Sachentscheidung)',
36
+ 'Zurückweisung mangels erheblicher Rechtsfrage',
37
+ 'Zurückweisung aus anderen Gründen',
38
+ 'Verstärkter Senat',
39
+ ],
40
+ note: 'New in API v2.6; like Fachgebiet, tagging is not yet populated in the corpus — probed values returned 0 hits on 2026-07-05.',
41
+ },
42
+ {
43
+ court: 'bvwg',
44
+ paramKind: 'schema_enum',
45
+ values: ['Beschluss', 'Erkenntnis'],
46
+ note: null,
47
+ },
48
+ {
49
+ court: 'lvwg',
50
+ paramKind: 'schema_enum',
51
+ values: ['Beschluss', 'Erkenntnis', 'Bescheid'],
52
+ note: null,
53
+ },
54
+ {
55
+ court: 'dsk',
56
+ paramKind: 'schema_enum',
57
+ values: [
58
+ 'BescheidBeschwerde',
59
+ 'BescheidAmtswegigesPruefverfahren',
60
+ 'VerwaltungsstraferkenntnisVerwarnungErmahnung',
61
+ 'BescheidWissenschaftStatistikArchiv',
62
+ 'BescheidInternatDatenverkehr',
63
+ 'BescheidAkkreditierungZertifizierung',
64
+ 'BescheidVerhaltensregeln',
65
+ 'BescheidWarnung',
66
+ 'BescheidRegistrierung',
67
+ 'BescheidSonstiger',
68
+ 'Empfehlung',
69
+ 'Verfahrensschriftsaetze',
70
+ ],
71
+ note: 'BescheidBeschwerde (complaint decisions) is the volume category — 1,296 live hits on 2026-07-05.',
72
+ },
73
+ {
74
+ court: 'gbk',
75
+ paramKind: 'schema_enum',
76
+ values: ['Einzelfallpruefungsergebnis', 'Gutachten'],
77
+ note: null,
78
+ },
79
+ {
80
+ court: 'uvs',
81
+ paramKind: 'schema_enum',
82
+ values: ['Beschluss', 'Erkenntnis', 'Bescheid'],
83
+ note: null,
84
+ },
85
+ {
86
+ court: 'asylgh',
87
+ paramKind: 'schema_enum',
88
+ values: [
89
+ 'Beschluss',
90
+ 'Erkenntnis',
91
+ 'ErkenntnisGrundsatzentscheidung',
92
+ 'ErkenntnisVerstaerkterSenat',
93
+ 'Bescheid',
94
+ ],
95
+ note: null,
96
+ },
97
+ {
98
+ court: 'ubas',
99
+ paramKind: 'schema_enum',
100
+ values: ['Bescheid', 'Ersatzbescheid'],
101
+ note: null,
102
+ },
103
+ {
104
+ court: 'verg',
105
+ paramKind: 'schema_enum',
106
+ values: [
107
+ 'Bescheid',
108
+ 'Beschluss',
109
+ 'Empfehlung',
110
+ 'Gutachten',
111
+ 'Vorabentscheidungsantrag',
112
+ 'Vorabentscheidung',
113
+ ],
114
+ note: null,
115
+ },
116
+ ];
117
+ //# sourceMappingURL=decision-kinds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-kinds.js","sourceRoot":"","sources":["../../../../src/services/ris/reference/decision-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,qEAAqE;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,aAAa;IACb,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;CACE,CAAC;AAEX,6DAA6D;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC;QAC/D,IAAI,EAAE,IAAI;KACX;IACD;QACE,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC;QAClE,IAAI,EAAE,6DAA6D;KACpE;IACD;QACE,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,oBAAoB;QAC/B,MAAM,EAAE;YACN,2CAA2C;YAC3C,+CAA+C;YAC/C,mCAAmC;YACnC,mBAAmB;SACpB;QACD,IAAI,EAAE,6HAA6H;KACpI;IACD;QACE,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;QACnC,IAAI,EAAE,IAAI;KACX;IACD;QACE,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC;QAC/C,IAAI,EAAE,IAAI;KACX;IACD;QACE,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE;YACN,oBAAoB;YACpB,mCAAmC;YACnC,+CAA+C;YAC/C,qCAAqC;YACrC,8BAA8B;YAC9B,sCAAsC;YACtC,0BAA0B;YAC1B,iBAAiB;YACjB,uBAAuB;YACvB,mBAAmB;YACnB,YAAY;YACZ,yBAAyB;SAC1B;QACD,IAAI,EAAE,kGAAkG;KACzG;IACD;QACE,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,6BAA6B,EAAE,WAAW,CAAC;QACpD,IAAI,EAAE,IAAI;KACX;IACD;QACE,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC;QAC/C,IAAI,EAAE,IAAI;KACX;IACD;QACE,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE;YACN,WAAW;YACX,YAAY;YACZ,iCAAiC;YACjC,6BAA6B;YAC7B,UAAU;SACX;QACD,IAAI,EAAE,IAAI;KACX;IACD;QACE,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;QACtC,IAAI,EAAE,IAAI;KACX;IACD;QACE,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE;YACN,UAAU;YACV,WAAW;YACX,YAAY;YACZ,WAAW;YACX,0BAA0B;YAC1B,mBAAmB;SACpB;QACD,IAAI,EAAE,IAAI;KACX;CAC+C,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @fileoverview Decision document types for case-law searches — headnote (Rechtssatz) vs.
3
+ * full decision text (Entscheidungstext) — and how they map to the upstream `Dokumenttyp`
4
+ * flags. One decision can appear as several headnote documents plus one text document
5
+ * sharing the same Geschäftszahl.
6
+ * @module services/ris/reference/decision-types
7
+ */
8
+ /** One decision document type. */
9
+ export interface DecisionType {
10
+ /** Value used by the tool's `decision_type` parameter. */
11
+ readonly code: 'headnote' | 'full_text' | 'all';
12
+ /** What the value selects. */
13
+ readonly description: string;
14
+ /** German name of the document kind. */
15
+ readonly germanName: string;
16
+ /** Upstream mapping. */
17
+ readonly upstream: string;
18
+ }
19
+ /** All decision document types. */
20
+ export declare const RIS_DECISION_TYPES: readonly [{
21
+ readonly code: "headnote";
22
+ readonly germanName: "Rechtssatz";
23
+ readonly upstream: "Dokumenttyp.SucheInRechtssaetzen=true";
24
+ readonly description: "Search only headnotes — the distilled legal propositions extracted from a decision.";
25
+ }, {
26
+ readonly code: "full_text";
27
+ readonly germanName: "Entscheidungstext";
28
+ readonly upstream: "Dokumenttyp.SucheInEntscheidungstexten=true";
29
+ readonly description: "Search only full decision texts.";
30
+ }, {
31
+ readonly code: "all";
32
+ readonly germanName: "Rechtssatz und Entscheidungstext";
33
+ readonly upstream: "both flags omitted (upstream searches everything)";
34
+ readonly description: "Search headnotes and full texts alike — the default. Not available on gbk, upts, or normenliste.";
35
+ }];
36
+ //# sourceMappingURL=decision-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-types.d.ts","sourceRoot":"","sources":["../../../../src/services/ris/reference/decision-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kCAAkC;AAClC,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IAChD,8BAA8B;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wBAAwB;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,mCAAmC;AACnC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAqBa,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @fileoverview Decision document types for case-law searches — headnote (Rechtssatz) vs.
3
+ * full decision text (Entscheidungstext) — and how they map to the upstream `Dokumenttyp`
4
+ * flags. One decision can appear as several headnote documents plus one text document
5
+ * sharing the same Geschäftszahl.
6
+ * @module services/ris/reference/decision-types
7
+ */
8
+ /** All decision document types. */
9
+ export const RIS_DECISION_TYPES = [
10
+ {
11
+ code: 'headnote',
12
+ germanName: 'Rechtssatz',
13
+ upstream: 'Dokumenttyp.SucheInRechtssaetzen=true',
14
+ description: 'Search only headnotes — the distilled legal propositions extracted from a decision.',
15
+ },
16
+ {
17
+ code: 'full_text',
18
+ germanName: 'Entscheidungstext',
19
+ upstream: 'Dokumenttyp.SucheInEntscheidungstexten=true',
20
+ description: 'Search only full decision texts.',
21
+ },
22
+ {
23
+ code: 'all',
24
+ germanName: 'Rechtssatz und Entscheidungstext',
25
+ upstream: 'both flags omitted (upstream searches everything)',
26
+ description: 'Search headnotes and full texts alike — the default. Not available on gbk, upts, or normenliste.',
27
+ },
28
+ ];
29
+ //# sourceMappingURL=decision-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decision-types.js","sourceRoot":"","sources":["../../../../src/services/ris/reference/decision-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH,mCAAmC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,uCAAuC;QACjD,WAAW,EACT,qFAAqF;KACxF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,6CAA6C;QACvD,WAAW,EAAE,kCAAkC;KAChD;IACD;QACE,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,kCAAkC;QAC9C,QAAQ,EAAE,mDAAmD;QAC7D,WAAW,EACT,kGAAkG;KACrG;CACyC,CAAC"}
@@ -0,0 +1,314 @@
1
+ /**
2
+ * @fileoverview Bezirksverwaltungsbehörden (district administrative authorities) accepted by
3
+ * the Bvb `Bezirksverwaltungsbehoerde` filter (exact match). Harvested from the complete live
4
+ * Bvb corpus (2,433 documents, 2026-07-05); superset of the OGD Handbook V2.6 list.
5
+ * @module services/ris/reference/district-authorities
6
+ */
7
+ /** One district administrative authority as spelled in RIS Bvb documents. */
8
+ export interface DistrictAuthority {
9
+ /** Bezirkshauptmannschaft vs. Statutarstadt (statutory city acting as district authority). */
10
+ readonly kind: 'district_commission' | 'statutory_city';
11
+ /** Exact filter value for the Bvb `Bezirksverwaltungsbehoerde` parameter. */
12
+ readonly name: string;
13
+ /** Bundesland the authority belongs to (umlauted spelling, as in Bvb metadata). */
14
+ readonly state: string;
15
+ }
16
+ /** All district authorities observed in the RIS Bvb corpus. */
17
+ export declare const RIS_DISTRICT_AUTHORITIES: readonly [{
18
+ readonly name: "Bezirkshauptmannschaft Eisenstadt-Umgebung";
19
+ readonly state: "Burgenland";
20
+ readonly kind: "district_commission";
21
+ }, {
22
+ readonly name: "Bezirkshauptmannschaft Güssing";
23
+ readonly state: "Burgenland";
24
+ readonly kind: "district_commission";
25
+ }, {
26
+ readonly name: "Bezirkshauptmannschaft Jennersdorf";
27
+ readonly state: "Burgenland";
28
+ readonly kind: "district_commission";
29
+ }, {
30
+ readonly name: "Bezirkshauptmannschaft Mattersburg";
31
+ readonly state: "Burgenland";
32
+ readonly kind: "district_commission";
33
+ }, {
34
+ readonly name: "Bezirkshauptmannschaft Neusiedl am See";
35
+ readonly state: "Burgenland";
36
+ readonly kind: "district_commission";
37
+ }, {
38
+ readonly name: "Bezirkshauptmannschaft Oberpullendorf";
39
+ readonly state: "Burgenland";
40
+ readonly kind: "district_commission";
41
+ }, {
42
+ readonly name: "Bezirkshauptmannschaft Oberwart";
43
+ readonly state: "Burgenland";
44
+ readonly kind: "district_commission";
45
+ }, {
46
+ readonly name: "Bezirkshauptmannschaft Amstetten";
47
+ readonly state: "Niederösterreich";
48
+ readonly kind: "district_commission";
49
+ }, {
50
+ readonly name: "Bezirkshauptmannschaft Baden";
51
+ readonly state: "Niederösterreich";
52
+ readonly kind: "district_commission";
53
+ }, {
54
+ readonly name: "Bezirkshauptmannschaft Bruck an der Leitha";
55
+ readonly state: "Niederösterreich";
56
+ readonly kind: "district_commission";
57
+ }, {
58
+ readonly name: "Bezirkshauptmannschaft Gänserndorf";
59
+ readonly state: "Niederösterreich";
60
+ readonly kind: "district_commission";
61
+ }, {
62
+ readonly name: "Bezirkshauptmannschaft Gmünd";
63
+ readonly state: "Niederösterreich";
64
+ readonly kind: "district_commission";
65
+ }, {
66
+ readonly name: "Bezirkshauptmannschaft Hollabrunn";
67
+ readonly state: "Niederösterreich";
68
+ readonly kind: "district_commission";
69
+ }, {
70
+ readonly name: "Bezirkshauptmannschaft Horn";
71
+ readonly state: "Niederösterreich";
72
+ readonly kind: "district_commission";
73
+ }, {
74
+ readonly name: "Bezirkshauptmannschaft Korneuburg";
75
+ readonly state: "Niederösterreich";
76
+ readonly kind: "district_commission";
77
+ }, {
78
+ readonly name: "Bezirkshauptmannschaft Krems an der Donau";
79
+ readonly state: "Niederösterreich";
80
+ readonly kind: "district_commission";
81
+ }, {
82
+ readonly name: "Bezirkshauptmannschaft Lilienfeld";
83
+ readonly state: "Niederösterreich";
84
+ readonly kind: "district_commission";
85
+ }, {
86
+ readonly name: "Bezirkshauptmannschaft Melk";
87
+ readonly state: "Niederösterreich";
88
+ readonly kind: "district_commission";
89
+ }, {
90
+ readonly name: "Bezirkshauptmannschaft Mistelbach";
91
+ readonly state: "Niederösterreich";
92
+ readonly kind: "district_commission";
93
+ }, {
94
+ readonly name: "Bezirkshauptmannschaft Mödling";
95
+ readonly state: "Niederösterreich";
96
+ readonly kind: "district_commission";
97
+ }, {
98
+ readonly name: "Bezirkshauptmannschaft Neunkirchen";
99
+ readonly state: "Niederösterreich";
100
+ readonly kind: "district_commission";
101
+ }, {
102
+ readonly name: "Bezirkshauptmannschaft Scheibbs";
103
+ readonly state: "Niederösterreich";
104
+ readonly kind: "district_commission";
105
+ }, {
106
+ readonly name: "Bezirkshauptmannschaft St. Pölten";
107
+ readonly state: "Niederösterreich";
108
+ readonly kind: "district_commission";
109
+ }, {
110
+ readonly name: "Bezirkshauptmannschaft Tulln";
111
+ readonly state: "Niederösterreich";
112
+ readonly kind: "district_commission";
113
+ }, {
114
+ readonly name: "Bezirkshauptmannschaft Waidhofen an der Thaya";
115
+ readonly state: "Niederösterreich";
116
+ readonly kind: "district_commission";
117
+ }, {
118
+ readonly name: "Bezirkshauptmannschaft Wiener Neustadt";
119
+ readonly state: "Niederösterreich";
120
+ readonly kind: "district_commission";
121
+ }, {
122
+ readonly name: "Bezirkshauptmannschaft Zwettl";
123
+ readonly state: "Niederösterreich";
124
+ readonly kind: "district_commission";
125
+ }, {
126
+ readonly name: "Statutarstadt Krems an der Donau";
127
+ readonly state: "Niederösterreich";
128
+ readonly kind: "statutory_city";
129
+ }, {
130
+ readonly name: "Statutarstadt St. Pölten";
131
+ readonly state: "Niederösterreich";
132
+ readonly kind: "statutory_city";
133
+ }, {
134
+ readonly name: "Statutarstadt Waidhofen an der Ybbs";
135
+ readonly state: "Niederösterreich";
136
+ readonly kind: "statutory_city";
137
+ }, {
138
+ readonly name: "Statutarstadt Wr. Neustadt";
139
+ readonly state: "Niederösterreich";
140
+ readonly kind: "statutory_city";
141
+ }, {
142
+ readonly name: "Bezirkshauptmannschaft Braunau";
143
+ readonly state: "Oberösterreich";
144
+ readonly kind: "district_commission";
145
+ }, {
146
+ readonly name: "Bezirkshauptmannschaft Eferding";
147
+ readonly state: "Oberösterreich";
148
+ readonly kind: "district_commission";
149
+ }, {
150
+ readonly name: "Bezirkshauptmannschaft Freistadt";
151
+ readonly state: "Oberösterreich";
152
+ readonly kind: "district_commission";
153
+ }, {
154
+ readonly name: "Bezirkshauptmannschaft Gmunden";
155
+ readonly state: "Oberösterreich";
156
+ readonly kind: "district_commission";
157
+ }, {
158
+ readonly name: "Bezirkshauptmannschaft Grieskirchen";
159
+ readonly state: "Oberösterreich";
160
+ readonly kind: "district_commission";
161
+ }, {
162
+ readonly name: "Bezirkshauptmannschaft Kirchdorf";
163
+ readonly state: "Oberösterreich";
164
+ readonly kind: "district_commission";
165
+ }, {
166
+ readonly name: "Bezirkshauptmannschaft Linz-Land";
167
+ readonly state: "Oberösterreich";
168
+ readonly kind: "district_commission";
169
+ }, {
170
+ readonly name: "Bezirkshauptmannschaft Perg";
171
+ readonly state: "Oberösterreich";
172
+ readonly kind: "district_commission";
173
+ }, {
174
+ readonly name: "Bezirkshauptmannschaft Ried";
175
+ readonly state: "Oberösterreich";
176
+ readonly kind: "district_commission";
177
+ }, {
178
+ readonly name: "Bezirkshauptmannschaft Rohrbach";
179
+ readonly state: "Oberösterreich";
180
+ readonly kind: "district_commission";
181
+ }, {
182
+ readonly name: "Bezirkshauptmannschaft Schärding";
183
+ readonly state: "Oberösterreich";
184
+ readonly kind: "district_commission";
185
+ }, {
186
+ readonly name: "Bezirkshauptmannschaft Steyr-Land";
187
+ readonly state: "Oberösterreich";
188
+ readonly kind: "district_commission";
189
+ }, {
190
+ readonly name: "Bezirkshauptmannschaft Urfahr-Umgebung";
191
+ readonly state: "Oberösterreich";
192
+ readonly kind: "district_commission";
193
+ }, {
194
+ readonly name: "Bezirkshauptmannschaft Vöcklabruck";
195
+ readonly state: "Oberösterreich";
196
+ readonly kind: "district_commission";
197
+ }, {
198
+ readonly name: "Bezirkshauptmannschaft Wels-Land";
199
+ readonly state: "Oberösterreich";
200
+ readonly kind: "district_commission";
201
+ }, {
202
+ readonly name: "Statutarstadt Linz";
203
+ readonly state: "Oberösterreich";
204
+ readonly kind: "statutory_city";
205
+ }, {
206
+ readonly name: "Statutarstadt Steyr";
207
+ readonly state: "Oberösterreich";
208
+ readonly kind: "statutory_city";
209
+ }, {
210
+ readonly name: "Statutarstadt Wels";
211
+ readonly state: "Oberösterreich";
212
+ readonly kind: "statutory_city";
213
+ }, {
214
+ readonly name: "Bezirkshauptmannschaft Bruck-Mürzzuschlag";
215
+ readonly state: "Steiermark";
216
+ readonly kind: "district_commission";
217
+ }, {
218
+ readonly name: "Bezirkshauptmannschaft Deutschlandsberg";
219
+ readonly state: "Steiermark";
220
+ readonly kind: "district_commission";
221
+ }, {
222
+ readonly name: "Bezirkshauptmannschaft Graz-Umgebung";
223
+ readonly state: "Steiermark";
224
+ readonly kind: "district_commission";
225
+ }, {
226
+ readonly name: "Bezirkshauptmannschaft Hartberg-Fürstenfeld";
227
+ readonly state: "Steiermark";
228
+ readonly kind: "district_commission";
229
+ }, {
230
+ readonly name: "Bezirkshauptmannschaft Leibnitz";
231
+ readonly state: "Steiermark";
232
+ readonly kind: "district_commission";
233
+ }, {
234
+ readonly name: "Bezirkshauptmannschaft Leoben";
235
+ readonly state: "Steiermark";
236
+ readonly kind: "district_commission";
237
+ }, {
238
+ readonly name: "Bezirkshauptmannschaft Liezen";
239
+ readonly state: "Steiermark";
240
+ readonly kind: "district_commission";
241
+ }, {
242
+ readonly name: "Bezirkshauptmannschaft Murau";
243
+ readonly state: "Steiermark";
244
+ readonly kind: "district_commission";
245
+ }, {
246
+ readonly name: "Bezirkshauptmannschaft Murtal";
247
+ readonly state: "Steiermark";
248
+ readonly kind: "district_commission";
249
+ }, {
250
+ readonly name: "Bezirkshauptmannschaft Südoststeiermark";
251
+ readonly state: "Steiermark";
252
+ readonly kind: "district_commission";
253
+ }, {
254
+ readonly name: "Bezirkshauptmannschaft Voitsberg";
255
+ readonly state: "Steiermark";
256
+ readonly kind: "district_commission";
257
+ }, {
258
+ readonly name: "Bezirkshauptmannschaft Weiz";
259
+ readonly state: "Steiermark";
260
+ readonly kind: "district_commission";
261
+ }, {
262
+ readonly name: "Bezirkshauptmannschaft Imst";
263
+ readonly state: "Tirol";
264
+ readonly kind: "district_commission";
265
+ }, {
266
+ readonly name: "Bezirkshauptmannschaft Innsbruck";
267
+ readonly state: "Tirol";
268
+ readonly kind: "district_commission";
269
+ }, {
270
+ readonly name: "Bezirkshauptmannschaft Kitzbühel";
271
+ readonly state: "Tirol";
272
+ readonly kind: "district_commission";
273
+ }, {
274
+ readonly name: "Bezirkshauptmannschaft Kufstein";
275
+ readonly state: "Tirol";
276
+ readonly kind: "district_commission";
277
+ }, {
278
+ readonly name: "Bezirkshauptmannschaft Landeck";
279
+ readonly state: "Tirol";
280
+ readonly kind: "district_commission";
281
+ }, {
282
+ readonly name: "Bezirkshauptmannschaft Lienz";
283
+ readonly state: "Tirol";
284
+ readonly kind: "district_commission";
285
+ }, {
286
+ readonly name: "Bezirkshauptmannschaft Reutte";
287
+ readonly state: "Tirol";
288
+ readonly kind: "district_commission";
289
+ }, {
290
+ readonly name: "Bezirkshauptmannschaft Schwaz";
291
+ readonly state: "Tirol";
292
+ readonly kind: "district_commission";
293
+ }, {
294
+ readonly name: "Statutarstadt Innsbruck";
295
+ readonly state: "Tirol";
296
+ readonly kind: "statutory_city";
297
+ }, {
298
+ readonly name: "Bezirkshauptmannschaft Bludenz";
299
+ readonly state: "Vorarlberg";
300
+ readonly kind: "district_commission";
301
+ }, {
302
+ readonly name: "Bezirkshauptmannschaft Bregenz";
303
+ readonly state: "Vorarlberg";
304
+ readonly kind: "district_commission";
305
+ }, {
306
+ readonly name: "Bezirkshauptmannschaft Dornbirn";
307
+ readonly state: "Vorarlberg";
308
+ readonly kind: "district_commission";
309
+ }, {
310
+ readonly name: "Bezirkshauptmannschaft Feldkirch";
311
+ readonly state: "Vorarlberg";
312
+ readonly kind: "district_commission";
313
+ }];
314
+ //# sourceMappingURL=district-authorities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"district-authorities.d.ts","sourceRoot":"","sources":["../../../../src/services/ris/reference/district-authorities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,gBAAgB,CAAC;IACxD,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2MY,CAAC"}