euparliamentmonitor 0.8.4

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 (276) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1005 -0
  3. package/SECURITY.md +151 -0
  4. package/package.json +131 -0
  5. package/scripts/constants/committee-indicator-map.d.ts +199 -0
  6. package/scripts/constants/committee-indicator-map.d.ts.map +1 -0
  7. package/scripts/constants/committee-indicator-map.js +1224 -0
  8. package/scripts/constants/committee-indicator-map.js.map +1 -0
  9. package/scripts/constants/config.d.ts +38 -0
  10. package/scripts/constants/config.d.ts.map +1 -0
  11. package/scripts/constants/config.js +66 -0
  12. package/scripts/constants/config.js.map +1 -0
  13. package/scripts/constants/language-articles.d.ts +84 -0
  14. package/scripts/constants/language-articles.d.ts.map +1 -0
  15. package/scripts/constants/language-articles.js +6771 -0
  16. package/scripts/constants/language-articles.js.map +1 -0
  17. package/scripts/constants/language-core.d.ts +38 -0
  18. package/scripts/constants/language-core.d.ts.map +1 -0
  19. package/scripts/constants/language-core.js +90 -0
  20. package/scripts/constants/language-core.js.map +1 -0
  21. package/scripts/constants/language-ui.d.ts +82 -0
  22. package/scripts/constants/language-ui.d.ts.map +1 -0
  23. package/scripts/constants/language-ui.js +889 -0
  24. package/scripts/constants/language-ui.js.map +1 -0
  25. package/scripts/constants/languages.d.ts +14 -0
  26. package/scripts/constants/languages.d.ts.map +1 -0
  27. package/scripts/constants/languages.js +15 -0
  28. package/scripts/constants/languages.js.map +1 -0
  29. package/scripts/generators/analysis-builders.d.ts +266 -0
  30. package/scripts/generators/analysis-builders.d.ts.map +1 -0
  31. package/scripts/generators/analysis-builders.js +2903 -0
  32. package/scripts/generators/analysis-builders.js.map +1 -0
  33. package/scripts/generators/breaking-content.d.ts +45 -0
  34. package/scripts/generators/breaking-content.d.ts.map +1 -0
  35. package/scripts/generators/breaking-content.js +530 -0
  36. package/scripts/generators/breaking-content.js.map +1 -0
  37. package/scripts/generators/committee-helpers.d.ts +54 -0
  38. package/scripts/generators/committee-helpers.d.ts.map +1 -0
  39. package/scripts/generators/committee-helpers.js +154 -0
  40. package/scripts/generators/committee-helpers.js.map +1 -0
  41. package/scripts/generators/dashboard-content.d.ts +95 -0
  42. package/scripts/generators/dashboard-content.d.ts.map +1 -0
  43. package/scripts/generators/dashboard-content.js +630 -0
  44. package/scripts/generators/dashboard-content.js.map +1 -0
  45. package/scripts/generators/deep-analysis-content.d.ts +23 -0
  46. package/scripts/generators/deep-analysis-content.d.ts.map +1 -0
  47. package/scripts/generators/deep-analysis-content.js +831 -0
  48. package/scripts/generators/deep-analysis-content.js.map +1 -0
  49. package/scripts/generators/mindmap-content.d.ts +55 -0
  50. package/scripts/generators/mindmap-content.d.ts.map +1 -0
  51. package/scripts/generators/mindmap-content.js +512 -0
  52. package/scripts/generators/mindmap-content.js.map +1 -0
  53. package/scripts/generators/motions-content.d.ts +50 -0
  54. package/scripts/generators/motions-content.d.ts.map +1 -0
  55. package/scripts/generators/motions-content.js +391 -0
  56. package/scripts/generators/motions-content.js.map +1 -0
  57. package/scripts/generators/news-enhanced.d.ts +14 -0
  58. package/scripts/generators/news-enhanced.d.ts.map +1 -0
  59. package/scripts/generators/news-enhanced.js +169 -0
  60. package/scripts/generators/news-enhanced.js.map +1 -0
  61. package/scripts/generators/news-indexes.d.ts +31 -0
  62. package/scripts/generators/news-indexes.d.ts.map +1 -0
  63. package/scripts/generators/news-indexes.js +410 -0
  64. package/scripts/generators/news-indexes.js.map +1 -0
  65. package/scripts/generators/pipeline/fetch-stage.d.ts +352 -0
  66. package/scripts/generators/pipeline/fetch-stage.d.ts.map +1 -0
  67. package/scripts/generators/pipeline/fetch-stage.js +1522 -0
  68. package/scripts/generators/pipeline/fetch-stage.js.map +1 -0
  69. package/scripts/generators/pipeline/generate-stage.d.ts +43 -0
  70. package/scripts/generators/pipeline/generate-stage.d.ts.map +1 -0
  71. package/scripts/generators/pipeline/generate-stage.js +204 -0
  72. package/scripts/generators/pipeline/generate-stage.js.map +1 -0
  73. package/scripts/generators/pipeline/output-stage.d.ts +48 -0
  74. package/scripts/generators/pipeline/output-stage.d.ts.map +1 -0
  75. package/scripts/generators/pipeline/output-stage.js +145 -0
  76. package/scripts/generators/pipeline/output-stage.js.map +1 -0
  77. package/scripts/generators/pipeline/transform-stage.d.ts +57 -0
  78. package/scripts/generators/pipeline/transform-stage.d.ts.map +1 -0
  79. package/scripts/generators/pipeline/transform-stage.js +111 -0
  80. package/scripts/generators/pipeline/transform-stage.js.map +1 -0
  81. package/scripts/generators/propositions-content.d.ts +29 -0
  82. package/scripts/generators/propositions-content.d.ts.map +1 -0
  83. package/scripts/generators/propositions-content.js +90 -0
  84. package/scripts/generators/propositions-content.js.map +1 -0
  85. package/scripts/generators/sankey-content.d.ts +45 -0
  86. package/scripts/generators/sankey-content.d.ts.map +1 -0
  87. package/scripts/generators/sankey-content.js +227 -0
  88. package/scripts/generators/sankey-content.js.map +1 -0
  89. package/scripts/generators/sitemap.d.ts +66 -0
  90. package/scripts/generators/sitemap.d.ts.map +1 -0
  91. package/scripts/generators/sitemap.js +562 -0
  92. package/scripts/generators/sitemap.js.map +1 -0
  93. package/scripts/generators/strategies/article-strategy.d.ts +146 -0
  94. package/scripts/generators/strategies/article-strategy.d.ts.map +1 -0
  95. package/scripts/generators/strategies/article-strategy.js +4 -0
  96. package/scripts/generators/strategies/article-strategy.js.map +1 -0
  97. package/scripts/generators/strategies/breaking-news-strategy.d.ts +64 -0
  98. package/scripts/generators/strategies/breaking-news-strategy.d.ts.map +1 -0
  99. package/scripts/generators/strategies/breaking-news-strategy.js +246 -0
  100. package/scripts/generators/strategies/breaking-news-strategy.js.map +1 -0
  101. package/scripts/generators/strategies/committee-reports-strategy.d.ts +93 -0
  102. package/scripts/generators/strategies/committee-reports-strategy.d.ts.map +1 -0
  103. package/scripts/generators/strategies/committee-reports-strategy.js +447 -0
  104. package/scripts/generators/strategies/committee-reports-strategy.js.map +1 -0
  105. package/scripts/generators/strategies/month-ahead-strategy.d.ts +60 -0
  106. package/scripts/generators/strategies/month-ahead-strategy.d.ts.map +1 -0
  107. package/scripts/generators/strategies/month-ahead-strategy.js +175 -0
  108. package/scripts/generators/strategies/month-ahead-strategy.js.map +1 -0
  109. package/scripts/generators/strategies/monthly-review-strategy.d.ts +66 -0
  110. package/scripts/generators/strategies/monthly-review-strategy.d.ts.map +1 -0
  111. package/scripts/generators/strategies/monthly-review-strategy.js +204 -0
  112. package/scripts/generators/strategies/monthly-review-strategy.js.map +1 -0
  113. package/scripts/generators/strategies/motions-strategy.d.ts +61 -0
  114. package/scripts/generators/strategies/motions-strategy.d.ts.map +1 -0
  115. package/scripts/generators/strategies/motions-strategy.js +215 -0
  116. package/scripts/generators/strategies/motions-strategy.js.map +1 -0
  117. package/scripts/generators/strategies/propositions-strategy.d.ts +60 -0
  118. package/scripts/generators/strategies/propositions-strategy.d.ts.map +1 -0
  119. package/scripts/generators/strategies/propositions-strategy.js +257 -0
  120. package/scripts/generators/strategies/propositions-strategy.js.map +1 -0
  121. package/scripts/generators/strategies/week-ahead-strategy.d.ts +57 -0
  122. package/scripts/generators/strategies/week-ahead-strategy.d.ts.map +1 -0
  123. package/scripts/generators/strategies/week-ahead-strategy.js +178 -0
  124. package/scripts/generators/strategies/week-ahead-strategy.js.map +1 -0
  125. package/scripts/generators/strategies/weekly-review-strategy.d.ts +63 -0
  126. package/scripts/generators/strategies/weekly-review-strategy.d.ts.map +1 -0
  127. package/scripts/generators/strategies/weekly-review-strategy.js +211 -0
  128. package/scripts/generators/strategies/weekly-review-strategy.js.map +1 -0
  129. package/scripts/generators/swot-content.d.ts +42 -0
  130. package/scripts/generators/swot-content.d.ts.map +1 -0
  131. package/scripts/generators/swot-content.js +366 -0
  132. package/scripts/generators/swot-content.js.map +1 -0
  133. package/scripts/generators/week-ahead-content.d.ts +103 -0
  134. package/scripts/generators/week-ahead-content.d.ts.map +1 -0
  135. package/scripts/generators/week-ahead-content.js +610 -0
  136. package/scripts/generators/week-ahead-content.js.map +1 -0
  137. package/scripts/index.d.ts +40 -0
  138. package/scripts/index.d.ts.map +1 -0
  139. package/scripts/index.js +53 -0
  140. package/scripts/index.js.map +1 -0
  141. package/scripts/mcp/ep-mcp-client.d.ts +471 -0
  142. package/scripts/mcp/ep-mcp-client.d.ts.map +1 -0
  143. package/scripts/mcp/ep-mcp-client.js +734 -0
  144. package/scripts/mcp/ep-mcp-client.js.map +1 -0
  145. package/scripts/mcp/mcp-connection.d.ts +264 -0
  146. package/scripts/mcp/mcp-connection.d.ts.map +1 -0
  147. package/scripts/mcp/mcp-connection.js +790 -0
  148. package/scripts/mcp/mcp-connection.js.map +1 -0
  149. package/scripts/mcp/mcp-health.d.ts +75 -0
  150. package/scripts/mcp/mcp-health.d.ts.map +1 -0
  151. package/scripts/mcp/mcp-health.js +78 -0
  152. package/scripts/mcp/mcp-health.js.map +1 -0
  153. package/scripts/mcp/mcp-retry.d.ts +94 -0
  154. package/scripts/mcp/mcp-retry.d.ts.map +1 -0
  155. package/scripts/mcp/mcp-retry.js +127 -0
  156. package/scripts/mcp/mcp-retry.js.map +1 -0
  157. package/scripts/mcp/wb-mcp-client.d.ts +38 -0
  158. package/scripts/mcp/wb-mcp-client.d.ts.map +1 -0
  159. package/scripts/mcp/wb-mcp-client.js +112 -0
  160. package/scripts/mcp/wb-mcp-client.js.map +1 -0
  161. package/scripts/templates/article-template.d.ts +9 -0
  162. package/scripts/templates/article-template.d.ts.map +1 -0
  163. package/scripts/templates/article-template.js +378 -0
  164. package/scripts/templates/article-template.js.map +1 -0
  165. package/scripts/templates/section-builders.d.ts +28 -0
  166. package/scripts/templates/section-builders.d.ts.map +1 -0
  167. package/scripts/templates/section-builders.js +142 -0
  168. package/scripts/templates/section-builders.js.map +1 -0
  169. package/scripts/types/analysis.d.ts +115 -0
  170. package/scripts/types/analysis.d.ts.map +1 -0
  171. package/scripts/types/analysis.js +4 -0
  172. package/scripts/types/analysis.js.map +1 -0
  173. package/scripts/types/common.d.ts +584 -0
  174. package/scripts/types/common.d.ts.map +1 -0
  175. package/scripts/types/common.js +96 -0
  176. package/scripts/types/common.js.map +1 -0
  177. package/scripts/types/generation.d.ts +104 -0
  178. package/scripts/types/generation.d.ts.map +1 -0
  179. package/scripts/types/generation.js +4 -0
  180. package/scripts/types/generation.js.map +1 -0
  181. package/scripts/types/index.d.ts +24 -0
  182. package/scripts/types/index.d.ts.map +1 -0
  183. package/scripts/types/index.js +16 -0
  184. package/scripts/types/index.js.map +1 -0
  185. package/scripts/types/intelligence.d.ts +129 -0
  186. package/scripts/types/intelligence.d.ts.map +1 -0
  187. package/scripts/types/intelligence.js +4 -0
  188. package/scripts/types/intelligence.js.map +1 -0
  189. package/scripts/types/mcp.d.ts +418 -0
  190. package/scripts/types/mcp.d.ts.map +1 -0
  191. package/scripts/types/mcp.js +4 -0
  192. package/scripts/types/mcp.js.map +1 -0
  193. package/scripts/types/parliament.d.ts +388 -0
  194. package/scripts/types/parliament.d.ts.map +1 -0
  195. package/scripts/types/parliament.js +4 -0
  196. package/scripts/types/parliament.js.map +1 -0
  197. package/scripts/types/quality.d.ts +114 -0
  198. package/scripts/types/quality.d.ts.map +1 -0
  199. package/scripts/types/quality.js +4 -0
  200. package/scripts/types/quality.js.map +1 -0
  201. package/scripts/types/stakeholder.d.ts +88 -0
  202. package/scripts/types/stakeholder.d.ts.map +1 -0
  203. package/scripts/types/stakeholder.js +16 -0
  204. package/scripts/types/stakeholder.js.map +1 -0
  205. package/scripts/types/visualization.d.ts +708 -0
  206. package/scripts/types/visualization.d.ts.map +1 -0
  207. package/scripts/types/visualization.js +4 -0
  208. package/scripts/types/visualization.js.map +1 -0
  209. package/scripts/types/world-bank.d.ts +85 -0
  210. package/scripts/types/world-bank.d.ts.map +1 -0
  211. package/scripts/types/world-bank.js +4 -0
  212. package/scripts/types/world-bank.js.map +1 -0
  213. package/scripts/utils/article-category.d.ts +18 -0
  214. package/scripts/utils/article-category.d.ts.map +1 -0
  215. package/scripts/utils/article-category.js +49 -0
  216. package/scripts/utils/article-category.js.map +1 -0
  217. package/scripts/utils/article-quality-scorer.d.ts +87 -0
  218. package/scripts/utils/article-quality-scorer.d.ts.map +1 -0
  219. package/scripts/utils/article-quality-scorer.js +1048 -0
  220. package/scripts/utils/article-quality-scorer.js.map +1 -0
  221. package/scripts/utils/content-metadata.d.ts +34 -0
  222. package/scripts/utils/content-metadata.d.ts.map +1 -0
  223. package/scripts/utils/content-metadata.js +249 -0
  224. package/scripts/utils/content-metadata.js.map +1 -0
  225. package/scripts/utils/content-validator.d.ts +94 -0
  226. package/scripts/utils/content-validator.d.ts.map +1 -0
  227. package/scripts/utils/content-validator.js +489 -0
  228. package/scripts/utils/content-validator.js.map +1 -0
  229. package/scripts/utils/copy-test-reports.d.ts +9 -0
  230. package/scripts/utils/copy-test-reports.d.ts.map +1 -0
  231. package/scripts/utils/copy-test-reports.js +508 -0
  232. package/scripts/utils/copy-test-reports.js.map +1 -0
  233. package/scripts/utils/file-utils.d.ts +144 -0
  234. package/scripts/utils/file-utils.d.ts.map +1 -0
  235. package/scripts/utils/file-utils.js +374 -0
  236. package/scripts/utils/file-utils.js.map +1 -0
  237. package/scripts/utils/fix-articles.d.ts +27 -0
  238. package/scripts/utils/fix-articles.d.ts.map +1 -0
  239. package/scripts/utils/fix-articles.js +510 -0
  240. package/scripts/utils/fix-articles.js.map +1 -0
  241. package/scripts/utils/generate-docs-index.d.ts +8 -0
  242. package/scripts/utils/generate-docs-index.d.ts.map +1 -0
  243. package/scripts/utils/generate-docs-index.js +275 -0
  244. package/scripts/utils/generate-docs-index.js.map +1 -0
  245. package/scripts/utils/html-sanitize.d.ts +18 -0
  246. package/scripts/utils/html-sanitize.d.ts.map +1 -0
  247. package/scripts/utils/html-sanitize.js +57 -0
  248. package/scripts/utils/html-sanitize.js.map +1 -0
  249. package/scripts/utils/intelligence-analysis.d.ts +173 -0
  250. package/scripts/utils/intelligence-analysis.d.ts.map +1 -0
  251. package/scripts/utils/intelligence-analysis.js +936 -0
  252. package/scripts/utils/intelligence-analysis.js.map +1 -0
  253. package/scripts/utils/intelligence-index.d.ts +126 -0
  254. package/scripts/utils/intelligence-index.d.ts.map +1 -0
  255. package/scripts/utils/intelligence-index.js +731 -0
  256. package/scripts/utils/intelligence-index.js.map +1 -0
  257. package/scripts/utils/metadata-utils.d.ts +14 -0
  258. package/scripts/utils/metadata-utils.d.ts.map +1 -0
  259. package/scripts/utils/metadata-utils.js +18 -0
  260. package/scripts/utils/metadata-utils.js.map +1 -0
  261. package/scripts/utils/news-metadata.d.ts +47 -0
  262. package/scripts/utils/news-metadata.d.ts.map +1 -0
  263. package/scripts/utils/news-metadata.js +259 -0
  264. package/scripts/utils/news-metadata.js.map +1 -0
  265. package/scripts/utils/validate-articles.d.ts +2 -0
  266. package/scripts/utils/validate-articles.d.ts.map +1 -0
  267. package/scripts/utils/validate-articles.js +284 -0
  268. package/scripts/utils/validate-articles.js.map +1 -0
  269. package/scripts/utils/validate-ep-api.d.ts +51 -0
  270. package/scripts/utils/validate-ep-api.d.ts.map +1 -0
  271. package/scripts/utils/validate-ep-api.js +160 -0
  272. package/scripts/utils/validate-ep-api.js.map +1 -0
  273. package/scripts/utils/world-bank-data.d.ts +84 -0
  274. package/scripts/utils/world-bank-data.d.ts.map +1 -0
  275. package/scripts/utils/world-bank-data.js +311 -0
  276. package/scripts/utils/world-bank-data.js.map +1 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @module euparliamentmonitor
3
+ * @description European Parliament Intelligence Platform — npm package entry point.
4
+ *
5
+ * This barrel re-exports the reusable library surface of the EU Parliament
6
+ * Monitor so that other projects can consume types, MCP clients, analysis
7
+ * utilities, templates, and language constants without duplicating code.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import {
12
+ * EuropeanParliamentMCPClient,
13
+ * getEPMCPClient,
14
+ * ALL_LANGUAGES,
15
+ * scoreVotingAnomaly,
16
+ * generateArticleHTML,
17
+ * } from 'euparliamentmonitor';
18
+ * ```
19
+ *
20
+ * @see {@link https://github.com/Hack23/euparliamentmonitor | GitHub Repository}
21
+ * @see {@link https://github.com/Hack23/ISMS-PUBLIC/blob/main/Secure_Development_Policy.md | Secure Development Policy}
22
+ */
23
+ export * from './types/index.js';
24
+ export { MCPConnection, MCPSessionExpiredError, MCPRateLimitError, isRetriableError, formatRetryAfter, parseSSEResponse, } from './mcp/mcp-connection.js';
25
+ export { EuropeanParliamentMCPClient, getEPMCPClient, closeEPMCPClient, } from './mcp/ep-mcp-client.js';
26
+ export { WorldBankMCPClient, getWBMCPClient, closeWBMCPClient } from './mcp/wb-mcp-client.js';
27
+ export { type CircuitState, type CircuitBreakerOptions, CircuitBreaker, type MCPRetryPolicy, withRetry, } from './mcp/mcp-retry.js';
28
+ export { type ToolHealthEntry, type HealthSnapshot, MCPHealthMonitor } from './mcp/mcp-health.js';
29
+ export { scoreVotingAnomaly, analyzeCoalitionCohesion, scoreMEPInfluence, calculateLegislativeVelocity, rankBySignificance, buildIntelligenceSection, buildDefaultStakeholderPerspectives, scoreStakeholderInfluence, buildStakeholderOutcomeMatrix, rankStakeholdersByInfluence, computeVotingIntensity, detectCoalitionShifts, computePolarizationIndex, detectVotingTrends, computeCrossSessionCoalitionStability, rankMEPInfluenceByTopic, buildLegislativeVelocityReport, } from './utils/intelligence-analysis.js';
30
+ export { createEmptyIndex, addArticleToIndex, buildIndexFromEntries, findRelatedArticles, generateCrossReferences, detectTrends, findOrCreateSeries, buildRelatedArticlesHTML, } from './utils/intelligence-index.js';
31
+ export { assessAnalysisDepth, assessStakeholderCoverage, assessVisualizationQuality, calculateOverallScore, generateRecommendations, scoreArticleQuality, } from './utils/article-quality-scorer.js';
32
+ export { validateArticleContent, validateTranslationCompleteness, } from './utils/content-validator.js';
33
+ export { stripScriptBlocks } from './utils/html-sanitize.js';
34
+ export { parseArticleFilename, formatSlug, calculateReadTime, escapeHTML, isSafeURL, validateArticleHTML, type ArticleValidationResult, } from './utils/file-utils.js';
35
+ export { detectCategory } from './utils/article-category.js';
36
+ export { EU_COUNTRY_CODES, EU_AGGREGATE_CODE, POLICY_INDICATORS, parseWorldBankCSV, formatIndicatorValue, getMostRecentValue, buildEconomicContext, getWorldBankCountryCode, isEUMemberState, buildEconomicContextHTML, } from './utils/world-bank-data.js';
37
+ export { generateArticleHTML } from './templates/article-template.js';
38
+ export { ALL_LANGUAGES, LANGUAGE_PRESETS, LANGUAGE_FLAGS, LANGUAGE_NAMES, getLocalizedString, isSupportedLanguage, getTextDirection, } from './constants/language-core.js';
39
+ export { WB_INDICATORS, type WBIndicatorId, type IndicatorMapping, type CommitteeIndicatorEntry, COMMITTEE_INDICATOR_MAP, type CategoryIndicatorEntry, CATEGORY_INDICATOR_MAP, getCommitteeIndicators, getCommitteePrimaryIndicators, getCategoryIndicators, getIndicatorIdsForCommittees, getAllCategoryIndicatorIds, } from './constants/committee-indicator-map.js';
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,cAAc,EACd,KAAK,cAAc,EACnB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGlG,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,qCAAqC,EACrC,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,53 @@
1
+ // SPDX-FileCopyrightText: 2024-2026 Hack23 AB
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ /**
4
+ * @module euparliamentmonitor
5
+ * @description European Parliament Intelligence Platform — npm package entry point.
6
+ *
7
+ * This barrel re-exports the reusable library surface of the EU Parliament
8
+ * Monitor so that other projects can consume types, MCP clients, analysis
9
+ * utilities, templates, and language constants without duplicating code.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * import {
14
+ * EuropeanParliamentMCPClient,
15
+ * getEPMCPClient,
16
+ * ALL_LANGUAGES,
17
+ * scoreVotingAnomaly,
18
+ * generateArticleHTML,
19
+ * } from 'euparliamentmonitor';
20
+ * ```
21
+ *
22
+ * @see {@link https://github.com/Hack23/euparliamentmonitor | GitHub Repository}
23
+ * @see {@link https://github.com/Hack23/ISMS-PUBLIC/blob/main/Secure_Development_Policy.md | Secure Development Policy}
24
+ */
25
+ // ─── Types ───────────────────────────────────────────────────────────────────
26
+ export * from './types/index.js';
27
+ // ─── MCP Clients ─────────────────────────────────────────────────────────────
28
+ export { MCPConnection, MCPSessionExpiredError, MCPRateLimitError, isRetriableError, formatRetryAfter, parseSSEResponse, } from './mcp/mcp-connection.js';
29
+ export { EuropeanParliamentMCPClient, getEPMCPClient, closeEPMCPClient, } from './mcp/ep-mcp-client.js';
30
+ export { WorldBankMCPClient, getWBMCPClient, closeWBMCPClient } from './mcp/wb-mcp-client.js';
31
+ export { CircuitBreaker, withRetry, } from './mcp/mcp-retry.js';
32
+ export { MCPHealthMonitor } from './mcp/mcp-health.js';
33
+ // ─── Intelligence Analysis ───────────────────────────────────────────────────
34
+ export { scoreVotingAnomaly, analyzeCoalitionCohesion, scoreMEPInfluence, calculateLegislativeVelocity, rankBySignificance, buildIntelligenceSection, buildDefaultStakeholderPerspectives, scoreStakeholderInfluence, buildStakeholderOutcomeMatrix, rankStakeholdersByInfluence, computeVotingIntensity, detectCoalitionShifts, computePolarizationIndex, detectVotingTrends, computeCrossSessionCoalitionStability, rankMEPInfluenceByTopic, buildLegislativeVelocityReport, } from './utils/intelligence-analysis.js';
35
+ // ─── Intelligence Index ──────────────────────────────────────────────────────
36
+ export { createEmptyIndex, addArticleToIndex, buildIndexFromEntries, findRelatedArticles, generateCrossReferences, detectTrends, findOrCreateSeries, buildRelatedArticlesHTML, } from './utils/intelligence-index.js';
37
+ // ─── Article Quality ─────────────────────────────────────────────────────────
38
+ export { assessAnalysisDepth, assessStakeholderCoverage, assessVisualizationQuality, calculateOverallScore, generateRecommendations, scoreArticleQuality, } from './utils/article-quality-scorer.js';
39
+ // ─── Content Validation ──────────────────────────────────────────────────────
40
+ export { validateArticleContent, validateTranslationCompleteness, } from './utils/content-validator.js';
41
+ // ─── HTML Utilities ──────────────────────────────────────────────────────────
42
+ export { stripScriptBlocks } from './utils/html-sanitize.js';
43
+ export { parseArticleFilename, formatSlug, calculateReadTime, escapeHTML, isSafeURL, validateArticleHTML, } from './utils/file-utils.js';
44
+ // ─── Article Category Detection ──────────────────────────────────────────────
45
+ export { detectCategory } from './utils/article-category.js';
46
+ // ─── World Bank Data Utilities ───────────────────────────────────────────────
47
+ export { EU_COUNTRY_CODES, EU_AGGREGATE_CODE, POLICY_INDICATORS, parseWorldBankCSV, formatIndicatorValue, getMostRecentValue, buildEconomicContext, getWorldBankCountryCode, isEUMemberState, buildEconomicContextHTML, } from './utils/world-bank-data.js';
48
+ // ─── Templates ───────────────────────────────────────────────────────────────
49
+ export { generateArticleHTML } from './templates/article-template.js';
50
+ // ─── Constants & Languages ───────────────────────────────────────────────────
51
+ export { ALL_LANGUAGES, LANGUAGE_PRESETS, LANGUAGE_FLAGS, LANGUAGE_NAMES, getLocalizedString, isSupportedLanguage, getTextDirection, } from './constants/language-core.js';
52
+ export { WB_INDICATORS, COMMITTEE_INDICATOR_MAP, CATEGORY_INDICATOR_MAP, getCommitteeIndicators, getCommitteePrimaryIndicators, getCategoryIndicators, getIndicatorIdsForCommittees, getAllCategoryIndicatorIds, } from './constants/committee-indicator-map.js';
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,sCAAsC;AAEtC;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,gFAAgF;AAChF,cAAc,kBAAkB,CAAC;AAEjC,gFAAgF;AAChF,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,2BAA2B,EAC3B,cAAc,EACd,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EAGL,cAAc,EAEd,SAAS,GACV,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAA6C,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAElG,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,mCAAmC,EACnC,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,qCAAqC,EACrC,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAE1C,gFAAgF;AAChF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAEvC,gFAAgF;AAChF,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAE3C,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,8BAA8B,CAAC;AAEtC,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,mBAAmB,GAEpB,MAAM,uBAAuB,CAAC;AAE/B,gFAAgF;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,gFAAgF;AAChF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AAEpC,gFAAgF;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,gFAAgF;AAChF,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,aAAa,EAIb,uBAAuB,EAEvB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,qBAAqB,EACrB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,471 @@
1
+ /**
2
+ * @module MCP/EPMCPClient
3
+ * @description European Parliament MCP client — domain-specific tool wrappers
4
+ * built on top of the generic {@link MCPConnection} transport.
5
+ */
6
+ import { MCPConnection } from './mcp-connection.js';
7
+ import type { MCPClientOptions, MCPToolResult, GetMEPsOptions, GetPlenarySessionsOptions, SearchDocumentsOptions, GetParliamentaryQuestionsOptions, GetCommitteeInfoOptions, MonitorLegislativePipelineOptions, AssessMEPInfluenceOptions, AnalyzeCoalitionDynamicsOptions, DetectVotingAnomaliesOptions, ComparePoliticalGroupsOptions, VotingRecordsOptions, VotingPatternsOptions, GenerateReportOptions, AnalyzeLegislativeEffectivenessOptions, AnalyzeCommitteeActivityOptions, TrackMEPAttendanceOptions, AnalyzeCountryDelegationOptions, GeneratePoliticalLandscapeOptions, GetCurrentMEPsOptions, GetSpeechesOptions, GetProceduresOptions, GetAdoptedTextsOptions, GetEventsOptions, GetMeetingActivitiesOptions, GetMeetingDecisionsOptions, GetMEPDeclarationsOptions, GetIncomingMEPsOptions, GetOutgoingMEPsOptions, GetHomonymMEPsOptions, GetPlenaryDocumentsOptions, GetCommitteeDocumentsOptions, GetPlenarySessionDocumentsOptions, GetPlenarySessionDocumentItemsOptions, GetControlledVocabulariesOptions, GetExternalDocumentsOptions, GetMeetingForeseenActivitiesOptions, GetProcedureEventsOptions, GetMeetingPlenarySessionDocumentsOptions, GetMeetingPlenarySessionDocumentItemsOptions, NetworkAnalysisOptions, SentimentTrackerOptions, EarlyWarningSystemOptions, ComparativeIntelligenceOptions, CorrelateIntelligenceOptions, GetAllGeneratedStatsOptions, GetMEPsFeedOptions, GetEventsFeedOptions, GetProceduresFeedOptions, GetAdoptedTextsFeedOptions, GetMEPDeclarationsFeedOptions, GetDocumentsFeedOptions, GetPlenaryDocumentsFeedOptions, GetCommitteeDocumentsFeedOptions, GetPlenarySessionDocumentsFeedOptions, GetExternalDocumentsFeedOptions, GetParliamentaryQuestionsFeedOptions, GetCorporateBodiesFeedOptions, GetControlledVocabulariesFeedOptions } from '../types/index.js';
8
+ /**
9
+ * MCP Client for European Parliament data access.
10
+ * Extends {@link MCPConnection} with EP-specific tool wrapper methods.
11
+ */
12
+ export declare class EuropeanParliamentMCPClient extends MCPConnection {
13
+ /**
14
+ * Generic error-safe wrapper around {@link callToolWithRetry}.
15
+ * Retries transient failures (timeouts, connection drops) with a bounded
16
+ * back-off delay before falling back. Non-retriable errors (session expiry,
17
+ * rate limits, programmer errors) are caught immediately without additional delay.
18
+ * Catches any error thrown by the tool (or by the args factory), logs a warning,
19
+ * and returns a fallback payload.
20
+ *
21
+ * Accepts either a plain args object or a factory function `() => object`.
22
+ * Using a factory ensures that options normalization/destructuring runs inside
23
+ * the try/catch so invalid runtime inputs fall back gracefully.
24
+ *
25
+ * @param toolName - MCP tool name
26
+ * @param args - Tool arguments or a factory that builds them
27
+ * @param fallbackText - JSON text to return when the tool is unavailable
28
+ * @returns Tool result or fallback
29
+ */
30
+ private safeCallTool;
31
+ /**
32
+ * Get Members of European Parliament
33
+ *
34
+ * @param options - Filter options
35
+ * @returns List of MEPs
36
+ */
37
+ getMEPs(options?: GetMEPsOptions): Promise<MCPToolResult>;
38
+ /**
39
+ * Get plenary sessions
40
+ *
41
+ * @param options - Filter options. `dateFrom` is mapped to `startDate` and `dateTo` to `endDate`
42
+ * per the tool schema when the canonical fields are absent.
43
+ * @returns Plenary sessions data
44
+ */
45
+ getPlenarySessions(options?: GetPlenarySessionsOptions): Promise<MCPToolResult>;
46
+ /**
47
+ * Search legislative documents
48
+ *
49
+ * @param options - Search options (normalizes `query` to `keyword` if `keyword` is absent,
50
+ * since the MCP tool schema requires the `keyword` parameter)
51
+ * @returns Search results
52
+ */
53
+ searchDocuments(options?: SearchDocumentsOptions): Promise<MCPToolResult>;
54
+ /**
55
+ * Get parliamentary questions
56
+ *
57
+ * @param options - Filter options. `dateFrom` is mapped to `startDate` per the tool schema.
58
+ * `dateTo` is intentionally ignored because the `get_parliamentary_questions` tool schema
59
+ * only supports `startDate` as a date filter; passing `dateTo` would have no effect.
60
+ * @returns Parliamentary questions data
61
+ */
62
+ getParliamentaryQuestions(options?: GetParliamentaryQuestionsOptions): Promise<MCPToolResult>;
63
+ /**
64
+ * Get committee information
65
+ *
66
+ * @param options - Filter options
67
+ * @returns Committee info data
68
+ */
69
+ getCommitteeInfo(options?: GetCommitteeInfoOptions): Promise<MCPToolResult>;
70
+ /**
71
+ * Monitor legislative pipeline
72
+ *
73
+ * @param options - Filter options
74
+ * @returns Legislative pipeline data
75
+ */
76
+ monitorLegislativePipeline(options?: MonitorLegislativePipelineOptions): Promise<MCPToolResult>;
77
+ /**
78
+ * Analyze legislative effectiveness of an MEP or committee
79
+ *
80
+ * @param options - Options including subjectType and subjectId
81
+ * @returns Legislative effectiveness data
82
+ */
83
+ analyzeLegislativeEffectiveness(options: AnalyzeLegislativeEffectivenessOptions): Promise<MCPToolResult>;
84
+ /**
85
+ * Assess MEP influence using 5-dimension scoring model
86
+ *
87
+ * @param options - Options including required mepId and optional date range
88
+ * @returns MEP influence score and breakdown
89
+ */
90
+ assessMEPInfluence(options: AssessMEPInfluenceOptions): Promise<MCPToolResult>;
91
+ /**
92
+ * Analyze coalition dynamics and cohesion
93
+ *
94
+ * @param options - Options including optional political groups and date range
95
+ * @returns Coalition cohesion and stress analysis
96
+ */
97
+ analyzeCoalitionDynamics(options?: AnalyzeCoalitionDynamicsOptions): Promise<MCPToolResult>;
98
+ /**
99
+ * Detect voting anomalies and party defections
100
+ *
101
+ * @param options - Options including optional MEP id, political group, and date
102
+ * @returns Anomaly detection results
103
+ */
104
+ detectVotingAnomalies(options?: DetectVotingAnomaliesOptions): Promise<MCPToolResult>;
105
+ /**
106
+ * Compare political groups across dimensions
107
+ *
108
+ * @param options - Options including required groups and optional metrics and date
109
+ * @returns Cross-group comparative analysis
110
+ */
111
+ comparePoliticalGroups(options: ComparePoliticalGroupsOptions): Promise<MCPToolResult>;
112
+ /**
113
+ * Get detailed information about a specific MEP
114
+ *
115
+ * @param id - MEP identifier (must be non-empty)
116
+ * @returns Detailed MEP information including biography, contact, and activities
117
+ */
118
+ getMEPDetails(id: string): Promise<MCPToolResult>;
119
+ /**
120
+ * Retrieve voting records with optional filters
121
+ *
122
+ * @param options - Filter options (mepId, sessionId, limit)
123
+ * @returns Voting records data
124
+ */
125
+ getVotingRecords(options?: VotingRecordsOptions): Promise<MCPToolResult>;
126
+ /**
127
+ * Analyze voting behavior patterns for an MEP
128
+ *
129
+ * @param options - Analysis options (mepId required non-empty, dateFrom, compareWithGroup)
130
+ * @returns Voting pattern analysis
131
+ */
132
+ analyzeVotingPatterns(options: VotingPatternsOptions): Promise<MCPToolResult>;
133
+ /**
134
+ * Track a legislative procedure by its identifier
135
+ *
136
+ * @param procedureId - Legislative procedure identifier (must be non-empty)
137
+ * @returns Procedure status and timeline
138
+ */
139
+ trackLegislation(procedureId: string): Promise<MCPToolResult>;
140
+ /**
141
+ * Generate an analytical report
142
+ *
143
+ * @param options - Report options (reportType required non-empty, subjectId, dateFrom)
144
+ * @returns Generated report data
145
+ */
146
+ generateReport(options: GenerateReportOptions): Promise<MCPToolResult>;
147
+ /**
148
+ * Analyze committee activity, workload, and engagement
149
+ *
150
+ * @param options - Options including optional committeeId and date range
151
+ * @returns Committee activity analysis data
152
+ */
153
+ analyzeCommitteeActivity(options?: AnalyzeCommitteeActivityOptions): Promise<MCPToolResult>;
154
+ /**
155
+ * Track MEP attendance patterns and trends
156
+ *
157
+ * @param options - Options including optional mepId and date range
158
+ * @returns MEP attendance data
159
+ */
160
+ trackMEPAttendance(options?: TrackMEPAttendanceOptions): Promise<MCPToolResult>;
161
+ /**
162
+ * Analyze country delegation voting behavior and composition
163
+ *
164
+ * @param options - Options including required country code and optional date range
165
+ * @returns Country delegation analysis data
166
+ */
167
+ analyzeCountryDelegation(options: AnalyzeCountryDelegationOptions): Promise<MCPToolResult>;
168
+ /**
169
+ * Generate a parliament-wide political landscape overview
170
+ *
171
+ * @param options - Options including optional date range and detail level
172
+ * @returns Political landscape overview data
173
+ */
174
+ generatePoliticalLandscape(options?: GeneratePoliticalLandscapeOptions): Promise<MCPToolResult>;
175
+ /**
176
+ * Get currently active Members of European Parliament
177
+ *
178
+ * @param options - Pagination options
179
+ * @returns Active MEPs data
180
+ */
181
+ getCurrentMEPs(options?: GetCurrentMEPsOptions): Promise<MCPToolResult>;
182
+ /**
183
+ * Get plenary speeches and debate contributions
184
+ *
185
+ * @param options - Filter options including optional speechId or date range
186
+ * @returns Speeches data
187
+ */
188
+ getSpeeches(options?: GetSpeechesOptions): Promise<MCPToolResult>;
189
+ /**
190
+ * Get legislative procedures
191
+ *
192
+ * @param options - Filter options including optional processId or year
193
+ * @returns Procedures data
194
+ */
195
+ getProcedures(options?: GetProceduresOptions): Promise<MCPToolResult>;
196
+ /**
197
+ * Get adopted texts (legislative resolutions, positions, non-legislative resolutions)
198
+ *
199
+ * @param options - Filter options including optional docId or year
200
+ * @returns Adopted texts data
201
+ */
202
+ getAdoptedTexts(options?: GetAdoptedTextsOptions): Promise<MCPToolResult>;
203
+ /**
204
+ * Get European Parliament events (hearings, conferences, seminars)
205
+ *
206
+ * @param options - Filter options including optional eventId or date range
207
+ * @returns Events data
208
+ */
209
+ getEvents(options?: GetEventsOptions): Promise<MCPToolResult>;
210
+ /**
211
+ * Get activities linked to a specific plenary sitting
212
+ *
213
+ * @param options - Options including required sittingId
214
+ * @returns Meeting activities data
215
+ */
216
+ getMeetingActivities(options: GetMeetingActivitiesOptions): Promise<MCPToolResult>;
217
+ /**
218
+ * Get decisions made in a specific plenary sitting
219
+ *
220
+ * @param options - Options including required sittingId
221
+ * @returns Meeting decisions data
222
+ */
223
+ getMeetingDecisions(options: GetMeetingDecisionsOptions): Promise<MCPToolResult>;
224
+ /**
225
+ * Get MEP declarations of financial interests
226
+ *
227
+ * @param options - Filter options including optional docId or year
228
+ * @returns MEP declarations data
229
+ */
230
+ getMEPDeclarations(options?: GetMEPDeclarationsOptions): Promise<MCPToolResult>;
231
+ /**
232
+ * Get incoming Members of European Parliament
233
+ *
234
+ * @param options - Pagination options
235
+ * @returns Incoming MEPs data
236
+ */
237
+ getIncomingMEPs(options?: GetIncomingMEPsOptions): Promise<MCPToolResult>;
238
+ /**
239
+ * Get outgoing Members of European Parliament
240
+ *
241
+ * @param options - Pagination options
242
+ * @returns Outgoing MEPs data
243
+ */
244
+ getOutgoingMEPs(options?: GetOutgoingMEPsOptions): Promise<MCPToolResult>;
245
+ /**
246
+ * Get homonym MEPs (MEPs with identical names)
247
+ *
248
+ * @param options - Pagination options
249
+ * @returns Homonym MEPs data
250
+ */
251
+ getHomonymMEPs(options?: GetHomonymMEPsOptions): Promise<MCPToolResult>;
252
+ /**
253
+ * Get plenary documents
254
+ *
255
+ * @param options - Filter options including optional docId or year
256
+ * @returns Plenary documents data
257
+ */
258
+ getPlenaryDocuments(options?: GetPlenaryDocumentsOptions): Promise<MCPToolResult>;
259
+ /**
260
+ * Get committee documents
261
+ *
262
+ * @param options - Filter options including optional docId or year
263
+ * @returns Committee documents data
264
+ */
265
+ getCommitteeDocuments(options?: GetCommitteeDocumentsOptions): Promise<MCPToolResult>;
266
+ /**
267
+ * Get plenary session documents (agendas, minutes, voting lists)
268
+ *
269
+ * @param options - Filter options including optional docId
270
+ * @returns Plenary session documents data
271
+ */
272
+ getPlenarySessionDocuments(options?: GetPlenarySessionDocumentsOptions): Promise<MCPToolResult>;
273
+ /**
274
+ * Get plenary session document items
275
+ *
276
+ * @param options - Pagination options
277
+ * @returns Plenary session document items data
278
+ */
279
+ getPlenarySessionDocumentItems(options?: GetPlenarySessionDocumentItemsOptions): Promise<MCPToolResult>;
280
+ /**
281
+ * Get controlled vocabularies (standardized classification terms)
282
+ *
283
+ * @param options - Filter options including optional vocId
284
+ * @returns Controlled vocabularies data
285
+ */
286
+ getControlledVocabularies(options?: GetControlledVocabulariesOptions): Promise<MCPToolResult>;
287
+ /**
288
+ * Get external documents (non-EP documents such as Council positions)
289
+ *
290
+ * @param options - Filter options including optional docId or year
291
+ * @returns External documents data
292
+ */
293
+ getExternalDocuments(options?: GetExternalDocumentsOptions): Promise<MCPToolResult>;
294
+ /**
295
+ * Get foreseen (planned) activities for a specific plenary sitting
296
+ *
297
+ * @param options - Options including required sittingId
298
+ * @returns Foreseen activities data
299
+ */
300
+ getMeetingForeseenActivities(options: GetMeetingForeseenActivitiesOptions): Promise<MCPToolResult>;
301
+ /**
302
+ * Get events linked to a specific legislative procedure
303
+ *
304
+ * @param options - Options including required processId
305
+ * @returns Procedure events data
306
+ */
307
+ getProcedureEvents(options: GetProcedureEventsOptions): Promise<MCPToolResult>;
308
+ /**
309
+ * Get plenary session documents linked to a specific meeting
310
+ *
311
+ * @param options - Options including required sittingId
312
+ * @returns Meeting plenary session documents data
313
+ */
314
+ getMeetingPlenarySessionDocuments(options: GetMeetingPlenarySessionDocumentsOptions): Promise<MCPToolResult>;
315
+ /**
316
+ * Get plenary session document items linked to a specific meeting
317
+ *
318
+ * @param options - Options including required sittingId
319
+ * @returns Meeting plenary session document items data
320
+ */
321
+ getMeetingPlenarySessionDocumentItems(options: GetMeetingPlenarySessionDocumentItemsOptions): Promise<MCPToolResult>;
322
+ /**
323
+ * MEP relationship network mapping using committee co-membership
324
+ *
325
+ * @param options - Options including optional mepId, analysisType, and depth
326
+ * @returns Network analysis with centrality scores and clusters
327
+ */
328
+ networkAnalysis(options?: NetworkAnalysisOptions): Promise<MCPToolResult>;
329
+ /**
330
+ * Track political group institutional positioning and sentiment
331
+ *
332
+ * @param options - Options including optional groupId and timeframe
333
+ * @returns Sentiment tracking data
334
+ */
335
+ sentimentTracker(options?: SentimentTrackerOptions): Promise<MCPToolResult>;
336
+ /**
337
+ * Detect emerging political shifts and coalition fracture signals
338
+ *
339
+ * @param options - Options including optional sensitivity and focusArea
340
+ * @returns Early warning alerts and trend indicators
341
+ */
342
+ earlyWarningSystem(options?: EarlyWarningSystemOptions): Promise<MCPToolResult>;
343
+ /**
344
+ * Cross-reference MEP activities for comparative multi-dimensional profiling
345
+ *
346
+ * @param options - Options including required mepIds array and optional dimensions
347
+ * @returns Comparative intelligence profiles
348
+ */
349
+ comparativeIntelligence(options: ComparativeIntelligenceOptions): Promise<MCPToolResult>;
350
+ /**
351
+ * Cross-tool OSINT intelligence correlation engine
352
+ *
353
+ * @param options - Options including optional mepId and correlation scenarios
354
+ * @returns Correlated intelligence alerts and insights
355
+ */
356
+ correlateIntelligence(options?: CorrelateIntelligenceOptions): Promise<MCPToolResult>;
357
+ /**
358
+ * Retrieve precomputed European Parliament activity statistics (EP6–EP10, 2004–2025).
359
+ * Includes yearly stats, category rankings, political landscape history, and
360
+ * average-based predictions for 2026–2030. Static data refreshed weekly — no live API calls.
361
+ *
362
+ * @param options - Filter options including optional year range, category, and flags
363
+ * @returns Precomputed EP statistics data
364
+ */
365
+ getAllGeneratedStats(options?: GetAllGeneratedStatsOptions): Promise<MCPToolResult>;
366
+ /** Fallback payload for feed tools */
367
+ private static readonly FEED_FALLBACK;
368
+ /**
369
+ * Get MEPs feed (most recent updates via EP API v2)
370
+ *
371
+ * @param options - Pagination options
372
+ * @returns MEPs feed data
373
+ */
374
+ getMEPsFeed(options?: GetMEPsFeedOptions): Promise<MCPToolResult>;
375
+ /**
376
+ * Get events feed (most recent updates via EP API v2)
377
+ *
378
+ * @param options - Pagination options
379
+ * @returns Events feed data
380
+ */
381
+ getEventsFeed(options?: GetEventsFeedOptions): Promise<MCPToolResult>;
382
+ /**
383
+ * Get procedures feed (most recent updates via EP API v2)
384
+ *
385
+ * @param options - Pagination options
386
+ * @returns Procedures feed data
387
+ */
388
+ getProceduresFeed(options?: GetProceduresFeedOptions): Promise<MCPToolResult>;
389
+ /**
390
+ * Get adopted texts feed (most recent updates via EP API v2)
391
+ *
392
+ * @param options - Pagination options
393
+ * @returns Adopted texts feed data
394
+ */
395
+ getAdoptedTextsFeed(options?: GetAdoptedTextsFeedOptions): Promise<MCPToolResult>;
396
+ /**
397
+ * Get MEP declarations feed (most recent updates via EP API v2)
398
+ *
399
+ * @param options - Pagination options
400
+ * @returns MEP declarations feed data
401
+ */
402
+ getMEPDeclarationsFeed(options?: GetMEPDeclarationsFeedOptions): Promise<MCPToolResult>;
403
+ /**
404
+ * Get documents feed (most recent updates via EP API v2)
405
+ *
406
+ * @param options - Pagination options
407
+ * @returns Documents feed data
408
+ */
409
+ getDocumentsFeed(options?: GetDocumentsFeedOptions): Promise<MCPToolResult>;
410
+ /**
411
+ * Get plenary documents feed (most recent updates via EP API v2)
412
+ *
413
+ * @param options - Pagination options
414
+ * @returns Plenary documents feed data
415
+ */
416
+ getPlenaryDocumentsFeed(options?: GetPlenaryDocumentsFeedOptions): Promise<MCPToolResult>;
417
+ /**
418
+ * Get committee documents feed (most recent updates via EP API v2)
419
+ *
420
+ * @param options - Pagination options
421
+ * @returns Committee documents feed data
422
+ */
423
+ getCommitteeDocumentsFeed(options?: GetCommitteeDocumentsFeedOptions): Promise<MCPToolResult>;
424
+ /**
425
+ * Get plenary session documents feed (most recent updates via EP API v2)
426
+ *
427
+ * @param options - Pagination options
428
+ * @returns Plenary session documents feed data
429
+ */
430
+ getPlenarySessionDocumentsFeed(options?: GetPlenarySessionDocumentsFeedOptions): Promise<MCPToolResult>;
431
+ /**
432
+ * Get external documents feed (most recent updates via EP API v2)
433
+ *
434
+ * @param options - Pagination options
435
+ * @returns External documents feed data
436
+ */
437
+ getExternalDocumentsFeed(options?: GetExternalDocumentsFeedOptions): Promise<MCPToolResult>;
438
+ /**
439
+ * Get parliamentary questions feed (most recent updates via EP API v2)
440
+ *
441
+ * @param options - Pagination options
442
+ * @returns Parliamentary questions feed data
443
+ */
444
+ getParliamentaryQuestionsFeed(options?: GetParliamentaryQuestionsFeedOptions): Promise<MCPToolResult>;
445
+ /**
446
+ * Get corporate bodies feed (most recent updates via EP API v2)
447
+ *
448
+ * @param options - Pagination options
449
+ * @returns Corporate bodies feed data
450
+ */
451
+ getCorporateBodiesFeed(options?: GetCorporateBodiesFeedOptions): Promise<MCPToolResult>;
452
+ /**
453
+ * Get controlled vocabularies feed (most recent updates via EP API v2)
454
+ *
455
+ * @param options - Pagination options
456
+ * @returns Controlled vocabularies feed data
457
+ */
458
+ getControlledVocabulariesFeed(options?: GetControlledVocabulariesFeedOptions): Promise<MCPToolResult>;
459
+ }
460
+ /**
461
+ * Get or create singleton MCP client instance
462
+ *
463
+ * @param options - Client options
464
+ * @returns Connected MCP client
465
+ */
466
+ export declare function getEPMCPClient(options?: MCPClientOptions): Promise<EuropeanParliamentMCPClient>;
467
+ /**
468
+ * Close and cleanup singleton MCP client
469
+ */
470
+ export declare function closeEPMCPClient(): Promise<void>;
471
+ //# sourceMappingURL=ep-mcp-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ep-mcp-client.d.ts","sourceRoot":"","sources":["../../src/mcp/ep-mcp-client.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,iCAAiC,EACjC,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sCAAsC,EACtC,+BAA+B,EAC/B,yBAAyB,EACzB,+BAA+B,EAC/B,iCAAiC,EACjC,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,iCAAiC,EACjC,qCAAqC,EACrC,gCAAgC,EAChC,2BAA2B,EAC3B,mCAAmC,EACnC,yBAAyB,EACzB,wCAAwC,EACxC,4CAA4C,EAC5C,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,EAC1B,6BAA6B,EAC7B,uBAAuB,EACvB,8BAA8B,EAC9B,gCAAgC,EAChC,qCAAqC,EACrC,+BAA+B,EAC/B,oCAAoC,EACpC,6BAA6B,EAC7B,oCAAoC,EACrC,MAAM,mBAAmB,CAAC;AA0B3B;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,aAAa;IAC5D;;;;;;;;;;;;;;;;OAgBG;YACW,YAAY;IAe1B;;;;;OAKG;IACG,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAInE;;;;;;OAMG;IACG,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,aAAa,CAAC;IAkBzF;;;;;;OAMG;IACG,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBnF;;;;;;;OAOG;IACG,yBAAyB,CAC7B,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,aAAa,CAAC;IAezB;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBrF;;;;;OAKG;IACG,0BAA0B,CAC9B,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;OAKG;IACG,+BAA+B,CACnC,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,aAAa,CAAC;IAgBzB;;;;;OAKG;IACG,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAapF;;;;;OAKG;IACG,wBAAwB,CAC5B,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/F;;;;;OAKG;IACG,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,aAAa,CAAC;IAkB5F;;;;;OAKG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvD;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlF;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAcnF;;;;;OAKG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAcnE;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAY5E;;;;;OAKG;IACG,wBAAwB,CAC5B,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;OAKG;IACG,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzF;;;;;OAKG;IACG,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,OAAO,CAAC,aAAa,CAAC;IAchG;;;;;OAKG;IACG,0BAA0B,CAC9B,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;OAKG;IACG,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjF;;;;;OAKG;IACG,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3E;;;;;OAKG;IACG,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/E;;;;;OAKG;IACG,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAInF;;;;;OAKG;IACG,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIvE;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAcxF;;;;;OAKG;IACG,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IActF;;;;;OAKG;IACG,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzF;;;;;OAKG;IACG,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAInF;;;;;OAKG;IACG,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAInF;;;;;OAKG;IACG,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjF;;;;;OAKG;IACG,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3F;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/F;;;;;OAKG;IACG,0BAA0B,CAC9B,OAAO,GAAE,iCAAsC,GAC9C,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;OAKG;IACG,8BAA8B,CAClC,OAAO,GAAE,qCAA0C,GAClD,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;OAKG;IACG,yBAAyB,CAC7B,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,aAAa,CAAC;IAIzB;;;;;OAKG;IACG,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7F;;;;;OAKG;IACG,4BAA4B,CAChC,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;OAKG;IACG,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAcpF;;;;;OAKG;IACG,iCAAiC,CACrC,OAAO,EAAE,wCAAwC,GAChD,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;OAKG;IACG,qCAAqC,CACzC,OAAO,EAAE,4CAA4C,GACpD,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;OAKG;IACG,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IAInF;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIrF;;;;;OAKG;IACG,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,aAAa,CAAC;IAIzF;;;;;OAKG;IACG,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,aAAa,CAAC;IAU9F;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/F;;;;;;;OAOG;IACG,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAAC,aAAa,CAAC;IAM7F,sCAAsC;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAkB;IAEvD;;;;;OAKG;IACG,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI3E;;;;;OAKG;IACG,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAI/E;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,aAAa,CAAC;IAQvF;;;;;OAKG;IACG,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,OAAO,CAAC,aAAa,CAAC;IAQ3F;;;;;OAKG;IACG,sBAAsB,CAC1B,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;OAKG;IACG,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,aAAa,CAAC;IAQrF;;;;;OAKG;IACG,uBAAuB,CAC3B,OAAO,GAAE,8BAAmC,GAC3C,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;OAKG;IACG,yBAAyB,CAC7B,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;OAKG;IACG,8BAA8B,CAClC,OAAO,GAAE,qCAA0C,GAClD,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;OAKG;IACG,wBAAwB,CAC5B,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;OAKG;IACG,6BAA6B,CACjC,OAAO,GAAE,oCAAyC,GACjD,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;OAKG;IACG,sBAAsB,CAC1B,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;OAKG;IACG,6BAA6B,CACjC,OAAO,GAAE,oCAAyC,GACjD,OAAO,CAAC,aAAa,CAAC;CAO1B;AAGD;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,2BAA2B,CAAC,CAMtC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKtD"}