euparliamentmonitor 0.9.18 → 0.9.20

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 (169) hide show
  1. package/package.json +6 -5
  2. package/scripts/aggregator/metadata/artifact-highlight.d.ts +16 -52
  3. package/scripts/aggregator/metadata/artifact-highlight.js +18 -791
  4. package/scripts/aggregator/metadata/artifact-walker.d.ts +34 -0
  5. package/scripts/aggregator/metadata/artifact-walker.js +177 -0
  6. package/scripts/aggregator/metadata/editorial-highlight.d.ts +15 -0
  7. package/scripts/aggregator/metadata/editorial-highlight.js +53 -0
  8. package/scripts/aggregator/metadata/priority-finding-highlight.d.ts +31 -0
  9. package/scripts/aggregator/metadata/priority-finding-highlight.js +577 -0
  10. package/scripts/aggregator/metadata/text-utils.js +7 -0
  11. package/scripts/aggregator/metadata/translated-sibling.d.ts +23 -0
  12. package/scripts/aggregator/metadata/translated-sibling.js +39 -0
  13. package/scripts/constants/articles/breaking-strings-central.d.ts +8 -0
  14. package/scripts/constants/articles/breaking-strings-central.js +105 -0
  15. package/scripts/constants/articles/breaking-strings-east.d.ts +8 -0
  16. package/scripts/constants/articles/breaking-strings-east.js +203 -0
  17. package/scripts/constants/articles/breaking-strings-eu.js +349 -0
  18. package/scripts/constants/articles/breaking-strings-global.js +349 -0
  19. package/scripts/constants/articles/breaking-strings-nordic.d.ts +8 -0
  20. package/scripts/constants/articles/breaking-strings-nordic.js +252 -0
  21. package/scripts/constants/articles/breaking-strings-west.d.ts +8 -0
  22. package/scripts/constants/articles/breaking-strings-west.js +154 -0
  23. package/scripts/constants/articles/breaking.d.ts +0 -2
  24. package/scripts/constants/articles/breaking.js +9 -689
  25. package/scripts/constants/articles/committee-reports-content-eu.d.ts +7 -0
  26. package/scripts/constants/articles/committee-reports-content-eu.js +272 -0
  27. package/scripts/constants/articles/committee-reports-content-global.d.ts +7 -0
  28. package/scripts/constants/articles/committee-reports-content-global.js +272 -0
  29. package/scripts/constants/articles/committee-reports.d.ts +0 -1
  30. package/scripts/constants/articles/committee-reports.js +4 -533
  31. package/scripts/constants/articles/dashboard/ar.d.ts +8 -0
  32. package/scripts/constants/articles/dashboard/ar.js +71 -0
  33. package/scripts/constants/articles/dashboard/da.d.ts +8 -0
  34. package/scripts/constants/articles/dashboard/da.js +71 -0
  35. package/scripts/constants/articles/dashboard/de.d.ts +8 -0
  36. package/scripts/constants/articles/dashboard/de.js +71 -0
  37. package/scripts/constants/articles/dashboard/en.d.ts +8 -0
  38. package/scripts/constants/articles/dashboard/en.js +71 -0
  39. package/scripts/constants/articles/dashboard/es.d.ts +8 -0
  40. package/scripts/constants/articles/dashboard/es.js +71 -0
  41. package/scripts/constants/articles/dashboard/fi.d.ts +8 -0
  42. package/scripts/constants/articles/dashboard/fi.js +71 -0
  43. package/scripts/constants/articles/dashboard/fr.d.ts +8 -0
  44. package/scripts/constants/articles/dashboard/fr.js +71 -0
  45. package/scripts/constants/articles/dashboard/he.d.ts +8 -0
  46. package/scripts/constants/articles/dashboard/he.js +71 -0
  47. package/scripts/constants/articles/dashboard/index.d.ts +7 -0
  48. package/scripts/constants/articles/dashboard/index.js +33 -0
  49. package/scripts/constants/articles/dashboard/ja.d.ts +8 -0
  50. package/scripts/constants/articles/dashboard/ja.js +71 -0
  51. package/scripts/constants/articles/dashboard/ko.d.ts +8 -0
  52. package/scripts/constants/articles/dashboard/ko.js +71 -0
  53. package/scripts/constants/articles/dashboard/nl.d.ts +8 -0
  54. package/scripts/constants/articles/dashboard/nl.js +71 -0
  55. package/scripts/constants/articles/dashboard/no.d.ts +8 -0
  56. package/scripts/constants/articles/dashboard/no.js +71 -0
  57. package/scripts/constants/articles/dashboard/sv.d.ts +8 -0
  58. package/scripts/constants/articles/dashboard/sv.js +71 -0
  59. package/scripts/constants/articles/dashboard/zh.d.ts +8 -0
  60. package/scripts/constants/articles/dashboard/zh.js +71 -0
  61. package/scripts/constants/articles/dashboard-builder-eu.js +474 -0
  62. package/scripts/constants/articles/dashboard-builder-global.js +474 -0
  63. package/scripts/constants/articles/dashboard.d.ts +4 -3
  64. package/scripts/constants/articles/dashboard.js +4 -942
  65. package/scripts/constants/articles/deep-analysis/ar.d.ts +8 -0
  66. package/scripts/constants/articles/deep-analysis/ar.js +75 -0
  67. package/scripts/constants/articles/deep-analysis/da.d.ts +8 -0
  68. package/scripts/constants/articles/deep-analysis/da.js +75 -0
  69. package/scripts/constants/articles/deep-analysis/de.d.ts +8 -0
  70. package/scripts/constants/articles/deep-analysis/de.js +75 -0
  71. package/scripts/constants/articles/deep-analysis/en.d.ts +8 -0
  72. package/scripts/constants/articles/deep-analysis/en.js +75 -0
  73. package/scripts/constants/articles/deep-analysis/es.d.ts +8 -0
  74. package/scripts/constants/articles/deep-analysis/es.js +75 -0
  75. package/scripts/constants/articles/deep-analysis/fi.d.ts +8 -0
  76. package/scripts/constants/articles/deep-analysis/fi.js +75 -0
  77. package/scripts/constants/articles/deep-analysis/fr.d.ts +8 -0
  78. package/scripts/constants/articles/deep-analysis/fr.js +75 -0
  79. package/scripts/constants/articles/deep-analysis/he.d.ts +8 -0
  80. package/scripts/constants/articles/deep-analysis/he.js +75 -0
  81. package/scripts/constants/articles/deep-analysis/index.d.ts +7 -0
  82. package/scripts/constants/articles/deep-analysis/index.js +33 -0
  83. package/scripts/constants/articles/deep-analysis/ja.d.ts +8 -0
  84. package/scripts/constants/articles/deep-analysis/ja.js +75 -0
  85. package/scripts/constants/articles/deep-analysis/ko.d.ts +8 -0
  86. package/scripts/constants/articles/deep-analysis/ko.js +75 -0
  87. package/scripts/constants/articles/deep-analysis/nl.d.ts +8 -0
  88. package/scripts/constants/articles/deep-analysis/nl.js +75 -0
  89. package/scripts/constants/articles/deep-analysis/no.d.ts +8 -0
  90. package/scripts/constants/articles/deep-analysis/no.js +75 -0
  91. package/scripts/constants/articles/deep-analysis/sv.d.ts +8 -0
  92. package/scripts/constants/articles/deep-analysis/sv.js +75 -0
  93. package/scripts/constants/articles/deep-analysis/zh.d.ts +8 -0
  94. package/scripts/constants/articles/deep-analysis/zh.js +75 -0
  95. package/scripts/constants/articles/deep-analysis-strings-eu.js +502 -0
  96. package/scripts/constants/articles/deep-analysis-strings-global.js +502 -0
  97. package/scripts/constants/articles/deep-analysis.d.ts +4 -3
  98. package/scripts/constants/articles/deep-analysis.js +3 -997
  99. package/scripts/constants/articles/localized-keywords-central.d.ts +8 -0
  100. package/scripts/constants/articles/localized-keywords-central.js +118 -0
  101. package/scripts/constants/articles/localized-keywords-eu.js +411 -0
  102. package/scripts/constants/articles/localized-keywords-global.d.ts +7 -0
  103. package/scripts/constants/articles/localized-keywords-global.js +236 -0
  104. package/scripts/constants/articles/localized-keywords-nordic.d.ts +8 -0
  105. package/scripts/constants/articles/localized-keywords-nordic.js +303 -0
  106. package/scripts/constants/articles/localized-keywords.js +6 -637
  107. package/scripts/constants/articles/swot-builder-central.d.ts +8 -0
  108. package/scripts/constants/articles/swot-builder-central.js +90 -0
  109. package/scripts/constants/articles/swot-builder-eu.js +299 -0
  110. package/scripts/constants/articles/swot-builder-global.d.ts +7 -0
  111. package/scripts/constants/articles/swot-builder-global.js +299 -0
  112. package/scripts/constants/articles/swot-builder-nordic.d.ts +8 -0
  113. package/scripts/constants/articles/swot-builder-nordic.js +216 -0
  114. package/scripts/constants/articles/swot.d.ts +0 -5
  115. package/scripts/constants/articles/swot.js +6 -588
  116. package/scripts/constants/articles/week-ahead-eu.d.ts +12 -0
  117. package/scripts/constants/articles/week-ahead-eu.js +278 -0
  118. package/scripts/constants/articles/week-ahead-global.d.ts +12 -0
  119. package/scripts/constants/articles/week-ahead-global.js +278 -0
  120. package/scripts/constants/articles/week-ahead.d.ts +4 -7
  121. package/scripts/constants/articles/week-ahead.js +11 -535
  122. package/scripts/constants/world-bank/category-map-analysis.d.ts +9 -0
  123. package/scripts/constants/world-bank/category-map-analysis.js +204 -0
  124. package/scripts/constants/world-bank/category-map-legislative.d.ts +9 -0
  125. package/scripts/constants/world-bank/category-map-legislative.js +130 -0
  126. package/scripts/constants/world-bank/category-map-periodic.d.ts +9 -0
  127. package/scripts/constants/world-bank/category-map-periodic.js +176 -0
  128. package/scripts/constants/world-bank/category-map.d.ts +3 -26
  129. package/scripts/constants/world-bank/category-map.js +8 -501
  130. package/scripts/constants/world-bank/committee-map-part1.d.ts +3 -0
  131. package/scripts/constants/world-bank/committee-map-part1.js +367 -0
  132. package/scripts/constants/world-bank/committee-map-part2.d.ts +3 -0
  133. package/scripts/constants/world-bank/committee-map-part2.js +313 -0
  134. package/scripts/constants/world-bank/committee-map-types.d.ts +38 -0
  135. package/scripts/constants/world-bank/committee-map-types.js +4 -0
  136. package/scripts/constants/world-bank/committee-map.d.ts +7 -46
  137. package/scripts/constants/world-bank/committee-map.js +5 -675
  138. package/scripts/discover-untranslated-briefs.js +85 -6
  139. package/scripts/mcp/ep/client.d.ts +33 -695
  140. package/scripts/mcp/ep/client.js +37 -1122
  141. package/scripts/mcp/ep/tools-data.d.ts +28 -0
  142. package/scripts/mcp/ep/tools-data.js +124 -0
  143. package/scripts/mcp/ep/tools-documents.d.ts +30 -0
  144. package/scripts/mcp/ep/tools-documents.js +119 -0
  145. package/scripts/mcp/ep/tools-feeds.d.ts +23 -0
  146. package/scripts/mcp/ep/tools-feeds.js +153 -0
  147. package/scripts/mcp/ep/tools-list.d.ts +13 -0
  148. package/scripts/mcp/ep/tools-list.js +79 -0
  149. package/scripts/mcp/ep/tools-procedures.d.ts +13 -0
  150. package/scripts/mcp/ep/tools-procedures.js +118 -0
  151. package/scripts/mcp/ep-mcp-client.d.ts +5 -0
  152. package/scripts/mcp/ep-mcp-client.js +6 -0
  153. package/scripts/mcp/imf/client.d.ts +4 -75
  154. package/scripts/mcp/imf/client.js +22 -238
  155. package/scripts/mcp/imf/http-transport.d.ts +92 -0
  156. package/scripts/mcp/imf/http-transport.js +232 -0
  157. package/scripts/mcp/imf/lifecycle.d.ts +23 -0
  158. package/scripts/mcp/imf/lifecycle.js +35 -0
  159. package/scripts/mcp/mcp-connection.d.ts +2 -0
  160. package/scripts/mcp/mcp-connection.js +2 -0
  161. package/scripts/mcp/transport/connection.d.ts +24 -73
  162. package/scripts/mcp/transport/connection.js +99 -424
  163. package/scripts/mcp/transport/gateway.d.ts +68 -0
  164. package/scripts/mcp/transport/gateway.js +228 -0
  165. package/scripts/mcp/transport/process.d.ts +62 -0
  166. package/scripts/mcp/transport/process.js +147 -0
  167. package/scripts/mcp/transport/reconnect.d.ts +73 -0
  168. package/scripts/mcp/transport/reconnect.js +96 -0
  169. package/scripts/validate-brief-translations.js +3 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "euparliamentmonitor",
3
- "version": "0.9.18",
3
+ "version": "0.9.20",
4
4
  "type": "module",
5
5
  "description": "European Parliament Intelligence Platform - Monitor political activity with systematic transparency",
6
6
  "main": "scripts/index.js",
@@ -158,15 +158,15 @@
158
158
  "@types/papaparse": "5.5.2",
159
159
  "@typescript-eslint/eslint-plugin": "8.59.4",
160
160
  "@typescript-eslint/parser": "8.59.4",
161
- "@vitest/coverage-v8": "4.1.6",
162
- "@vitest/ui": "4.1.6",
161
+ "@vitest/coverage-v8": "4.1.7",
162
+ "@vitest/ui": "4.1.7",
163
163
  "chart.js": "4.5.1",
164
164
  "chartjs-plugin-annotation": "3.1.0",
165
165
  "clean-css": "^5.3.3",
166
166
  "d3": "7.9.0",
167
167
  "eslint": "10.4.0",
168
168
  "eslint-config-prettier": "10.1.8",
169
- "eslint-plugin-jsdoc": "62.9.0",
169
+ "eslint-plugin-jsdoc": "63.0.0",
170
170
  "eslint-plugin-security": "4.0.0",
171
171
  "eslint-plugin-sonarjs": "4.0.3",
172
172
  "fast-check": "^4.8.0",
@@ -187,7 +187,8 @@
187
187
  "tsx": "4.22.3",
188
188
  "typedoc": "0.28.19",
189
189
  "typescript": "6.0.3",
190
- "vitest": "4.1.6"
190
+ "vitest": "4.1.7",
191
+ "yaml": "^2.9.0"
191
192
  },
192
193
  "engines": {
193
194
  "node": ">=26"
@@ -1,57 +1,21 @@
1
1
  /**
2
- * Attempt to read the first H1 and first prose paragraph from the first
3
- * existing artefact under `EDITORIAL_ARTEFACT_CANDIDATES`. Returns
4
- * `null` when no candidate artefact exists.
2
+ * @module Aggregator/Metadata/ArtifactHighlight
3
+ * @description Thin re-export barrel that aggregates the three split
4
+ * highlight modules back into the single public surface expected by
5
+ * `article-metadata.ts`:
5
6
  *
6
- * @param runDir - Absolute run directory path
7
- * @param articleType - Article type slug (used by {@link isGenericHeading})
8
- * @param date - ISO run date (used by {@link isGenericHeading})
9
- * @returns `{headline, summary}` where either field may be empty
10
- */
11
- export declare function extractArtifactHighlight(runDir: string, articleType: string, date: string): {
12
- readonly headline: string;
13
- readonly summary: string;
14
- } | null;
15
- /**
16
- * Return `true` when a top-level `.md` filename looks like a translated
17
- * sibling of a canonical editorial artefact (e.g.
18
- * `executive-brief_ar.md`). These files must be excluded from the
19
- * top-level fallback scan in {@link extractArtifactHighlight} because
20
- * their localized H1s evade the English-only generic-heading detector
21
- * and would otherwise hijack the English SEO surfaces.
22
- *
23
- * @param filename - Run-relative `.md` filename (no path separators)
24
- * @returns `true` when the file is a translated sibling brief
25
- */
26
- export declare function isTranslatedSiblingBrief(filename: string): boolean;
27
- /**
28
- * Mine the FIRST named priority finding from an executive-brief–style
29
- * artefact body. Looks for a section heading from
30
- * {@link PRIORITY_FINDING_SECTION_HEADINGS} and returns the first dossier
31
- * name + descriptive paragraph found inside it. Supports the three
32
- * canonical Stage-B authoring patterns:
33
- *
34
- * 1. **Bold-in-numbered-list** (breaking briefs):
35
- * `1. **Digital Markets Act Enforcement** (TA-10-2026-0160, 2026-04-30)`
36
- * ` Parliament adopted a resolution …`
37
- * 2. **Numbered subheading** (committee briefs):
38
- * `### 1. Clean Industrial Deal Implementation (ITRE/ENVI)`
39
- * `The Clean Industrial Deal framework …`
40
- * 3. **Bold-leading paragraph** (synthesis variants):
41
- * `**Trigger 1: DMA Enforcement Resolution** (TA-10-2026-0160)`
42
- * `- Significance: 🟢 HIGH IMPACT …`
43
- *
44
- * Trailing parenthesised metadata (`(TA-10-2026-0160, 2026-04-30)`,
45
- * `(ITRE/ENVI)`) is stripped from the headline so it stays headline-shaped
46
- * (`Digital Markets Act Enforcement`) rather than boilerplate
47
- * (`Digital Markets Act Enforcement (TA-10-2026-0160, 2026-04-30)`).
7
+ * - {@link extractArtifactHighlight} primary editorial-artefact walker
8
+ * (see `editorial-highlight.ts`)
9
+ * - {@link extractPriorityFindingHighlight} — fallback priority-finding
10
+ * extractor (see `priority-finding-highlight.ts`)
11
+ * - {@link isTranslatedSiblingBrief} — translated-sibling filter predicate
12
+ * (see `translated-sibling.ts`)
48
13
  *
49
- * @param body - Editorial artefact body
50
- * @returns `{headline, summary}` when a priority finding was identified;
51
- * `null` when the body has no priority section or no usable item inside
14
+ * @see editorial-highlight.ts
15
+ * @see priority-finding-highlight.ts
16
+ * @see translated-sibling.ts
52
17
  */
53
- export declare function extractPriorityFindingHighlight(body: string): {
54
- readonly headline: string;
55
- readonly summary: string;
56
- } | null;
18
+ export { extractArtifactHighlight } from './editorial-highlight.js';
19
+ export { extractPriorityFindingHighlight } from './priority-finding-highlight.js';
20
+ export { isTranslatedSiblingBrief } from './translated-sibling.js';
57
21
  //# sourceMappingURL=artifact-highlight.d.ts.map