euparliamentmonitor 0.8.18 → 0.8.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 (204) hide show
  1. package/README.md +57 -0
  2. package/package.json +24 -7
  3. package/scripts/constants/language-articles.d.ts +4 -0
  4. package/scripts/constants/language-articles.js +20 -0
  5. package/scripts/constants/language-ui.d.ts +8 -8
  6. package/scripts/constants/language-ui.js +64 -64
  7. package/scripts/constants/languages.d.ts +2 -2
  8. package/scripts/constants/languages.js +2 -2
  9. package/scripts/generators/news-enhanced.js +10 -0
  10. package/scripts/generators/pipeline/analysis-classification.d.ts +49 -0
  11. package/scripts/generators/pipeline/analysis-classification.js +333 -0
  12. package/scripts/generators/pipeline/analysis-existing.d.ts +67 -0
  13. package/scripts/generators/pipeline/analysis-existing.js +547 -0
  14. package/scripts/generators/pipeline/analysis-helpers.d.ts +140 -0
  15. package/scripts/generators/pipeline/analysis-helpers.js +266 -0
  16. package/scripts/generators/pipeline/analysis-risk.d.ts +49 -0
  17. package/scripts/generators/pipeline/analysis-risk.js +417 -0
  18. package/scripts/generators/pipeline/analysis-stage.d.ts +18 -38
  19. package/scripts/generators/pipeline/analysis-stage.js +217 -1702
  20. package/scripts/generators/pipeline/analysis-threats.d.ts +41 -0
  21. package/scripts/generators/pipeline/analysis-threats.js +142 -0
  22. package/scripts/generators/pipeline/fetch-stage.d.ts +15 -15
  23. package/scripts/generators/pipeline/fetch-stage.js +30 -30
  24. package/scripts/generators/strategies/article-strategy.d.ts +126 -7
  25. package/scripts/generators/strategies/article-strategy.js +491 -1
  26. package/scripts/generators/strategies/breaking-news-strategy.js +98 -8
  27. package/scripts/generators/strategies/committee-reports-strategy.js +23 -2
  28. package/scripts/generators/strategies/month-ahead-strategy.js +23 -2
  29. package/scripts/generators/strategies/monthly-review-strategy.js +13 -1
  30. package/scripts/generators/strategies/motions-strategy.js +15 -1
  31. package/scripts/generators/strategies/propositions-strategy.js +15 -1
  32. package/scripts/generators/strategies/week-ahead-strategy.js +19 -1
  33. package/scripts/generators/strategies/weekly-review-strategy.js +17 -1
  34. package/scripts/generators/synthesis-summary.d.ts +93 -0
  35. package/scripts/generators/synthesis-summary.js +364 -0
  36. package/scripts/index.d.ts +4 -1
  37. package/scripts/index.js +5 -0
  38. package/scripts/mcp/ep-mcp-client.d.ts +17 -0
  39. package/scripts/mcp/ep-mcp-client.js +78 -2
  40. package/scripts/mcp/mcp-connection.d.ts +3 -1
  41. package/scripts/mcp/mcp-connection.js +27 -4
  42. package/scripts/templates/article-template.js +9 -9
  43. package/scripts/types/index.d.ts +1 -0
  44. package/scripts/types/quality.d.ts +9 -6
  45. package/scripts/types/significance.d.ts +130 -0
  46. package/scripts/types/significance.js +4 -0
  47. package/scripts/utils/article-quality-scorer.d.ts +13 -11
  48. package/scripts/utils/article-quality-scorer.js +36 -23
  49. package/scripts/utils/political-classification.d.ts +2 -1
  50. package/scripts/utils/political-classification.js +2 -1
  51. package/scripts/utils/significance-scoring.d.ts +97 -0
  52. package/scripts/utils/significance-scoring.js +190 -0
  53. package/scripts/constants/analysis-constants.d.ts.map +0 -1
  54. package/scripts/constants/analysis-constants.js.map +0 -1
  55. package/scripts/constants/committee-indicator-map.d.ts.map +0 -1
  56. package/scripts/constants/committee-indicator-map.js.map +0 -1
  57. package/scripts/constants/config.d.ts.map +0 -1
  58. package/scripts/constants/config.js.map +0 -1
  59. package/scripts/constants/language-articles.d.ts.map +0 -1
  60. package/scripts/constants/language-articles.js.map +0 -1
  61. package/scripts/constants/language-core.d.ts.map +0 -1
  62. package/scripts/constants/language-core.js.map +0 -1
  63. package/scripts/constants/language-ui.d.ts.map +0 -1
  64. package/scripts/constants/language-ui.js.map +0 -1
  65. package/scripts/constants/languages.d.ts.map +0 -1
  66. package/scripts/constants/languages.js.map +0 -1
  67. package/scripts/generators/analysis-builders.d.ts.map +0 -1
  68. package/scripts/generators/analysis-builders.js.map +0 -1
  69. package/scripts/generators/breaking-content.d.ts.map +0 -1
  70. package/scripts/generators/breaking-content.js.map +0 -1
  71. package/scripts/generators/committee-helpers.d.ts.map +0 -1
  72. package/scripts/generators/committee-helpers.js.map +0 -1
  73. package/scripts/generators/dashboard-content.d.ts.map +0 -1
  74. package/scripts/generators/dashboard-content.js.map +0 -1
  75. package/scripts/generators/deep-analysis-content.d.ts.map +0 -1
  76. package/scripts/generators/deep-analysis-content.js.map +0 -1
  77. package/scripts/generators/mindmap-content.d.ts.map +0 -1
  78. package/scripts/generators/mindmap-content.js.map +0 -1
  79. package/scripts/generators/motions-content.d.ts.map +0 -1
  80. package/scripts/generators/motions-content.js.map +0 -1
  81. package/scripts/generators/news-enhanced.d.ts.map +0 -1
  82. package/scripts/generators/news-enhanced.js.map +0 -1
  83. package/scripts/generators/news-indexes.d.ts.map +0 -1
  84. package/scripts/generators/news-indexes.js.map +0 -1
  85. package/scripts/generators/pipeline/analysis-stage.d.ts.map +0 -1
  86. package/scripts/generators/pipeline/analysis-stage.js.map +0 -1
  87. package/scripts/generators/pipeline/fetch-stage.d.ts.map +0 -1
  88. package/scripts/generators/pipeline/fetch-stage.js.map +0 -1
  89. package/scripts/generators/pipeline/generate-stage.d.ts.map +0 -1
  90. package/scripts/generators/pipeline/generate-stage.js.map +0 -1
  91. package/scripts/generators/pipeline/output-stage.d.ts.map +0 -1
  92. package/scripts/generators/pipeline/output-stage.js.map +0 -1
  93. package/scripts/generators/pipeline/transform-stage.d.ts.map +0 -1
  94. package/scripts/generators/pipeline/transform-stage.js.map +0 -1
  95. package/scripts/generators/propositions-content.d.ts.map +0 -1
  96. package/scripts/generators/propositions-content.js.map +0 -1
  97. package/scripts/generators/sankey-content.d.ts.map +0 -1
  98. package/scripts/generators/sankey-content.js.map +0 -1
  99. package/scripts/generators/sitemap.d.ts.map +0 -1
  100. package/scripts/generators/sitemap.js.map +0 -1
  101. package/scripts/generators/strategies/article-strategy.d.ts.map +0 -1
  102. package/scripts/generators/strategies/article-strategy.js.map +0 -1
  103. package/scripts/generators/strategies/breaking-news-strategy.d.ts.map +0 -1
  104. package/scripts/generators/strategies/breaking-news-strategy.js.map +0 -1
  105. package/scripts/generators/strategies/committee-reports-strategy.d.ts.map +0 -1
  106. package/scripts/generators/strategies/committee-reports-strategy.js.map +0 -1
  107. package/scripts/generators/strategies/month-ahead-strategy.d.ts.map +0 -1
  108. package/scripts/generators/strategies/month-ahead-strategy.js.map +0 -1
  109. package/scripts/generators/strategies/monthly-review-strategy.d.ts.map +0 -1
  110. package/scripts/generators/strategies/monthly-review-strategy.js.map +0 -1
  111. package/scripts/generators/strategies/motions-strategy.d.ts.map +0 -1
  112. package/scripts/generators/strategies/motions-strategy.js.map +0 -1
  113. package/scripts/generators/strategies/propositions-strategy.d.ts.map +0 -1
  114. package/scripts/generators/strategies/propositions-strategy.js.map +0 -1
  115. package/scripts/generators/strategies/week-ahead-strategy.d.ts.map +0 -1
  116. package/scripts/generators/strategies/week-ahead-strategy.js.map +0 -1
  117. package/scripts/generators/strategies/weekly-review-strategy.d.ts.map +0 -1
  118. package/scripts/generators/strategies/weekly-review-strategy.js.map +0 -1
  119. package/scripts/generators/swot-content.d.ts.map +0 -1
  120. package/scripts/generators/swot-content.js.map +0 -1
  121. package/scripts/generators/week-ahead-content.d.ts.map +0 -1
  122. package/scripts/generators/week-ahead-content.js.map +0 -1
  123. package/scripts/index.d.ts.map +0 -1
  124. package/scripts/index.js.map +0 -1
  125. package/scripts/mcp/ep-mcp-client.d.ts.map +0 -1
  126. package/scripts/mcp/ep-mcp-client.js.map +0 -1
  127. package/scripts/mcp/mcp-connection.d.ts.map +0 -1
  128. package/scripts/mcp/mcp-connection.js.map +0 -1
  129. package/scripts/mcp/mcp-health.d.ts.map +0 -1
  130. package/scripts/mcp/mcp-health.js.map +0 -1
  131. package/scripts/mcp/mcp-retry.d.ts.map +0 -1
  132. package/scripts/mcp/mcp-retry.js.map +0 -1
  133. package/scripts/mcp/wb-mcp-client.d.ts.map +0 -1
  134. package/scripts/mcp/wb-mcp-client.js.map +0 -1
  135. package/scripts/templates/article-template.d.ts.map +0 -1
  136. package/scripts/templates/article-template.js.map +0 -1
  137. package/scripts/templates/section-builders.d.ts.map +0 -1
  138. package/scripts/templates/section-builders.js.map +0 -1
  139. package/scripts/types/analysis.d.ts.map +0 -1
  140. package/scripts/types/analysis.js.map +0 -1
  141. package/scripts/types/common.d.ts.map +0 -1
  142. package/scripts/types/common.js.map +0 -1
  143. package/scripts/types/generation.d.ts.map +0 -1
  144. package/scripts/types/generation.js.map +0 -1
  145. package/scripts/types/index.d.ts.map +0 -1
  146. package/scripts/types/index.js.map +0 -1
  147. package/scripts/types/intelligence.d.ts.map +0 -1
  148. package/scripts/types/intelligence.js.map +0 -1
  149. package/scripts/types/mcp.d.ts.map +0 -1
  150. package/scripts/types/mcp.js.map +0 -1
  151. package/scripts/types/parliament.d.ts.map +0 -1
  152. package/scripts/types/parliament.js.map +0 -1
  153. package/scripts/types/political-classification.d.ts.map +0 -1
  154. package/scripts/types/political-classification.js.map +0 -1
  155. package/scripts/types/political-risk.d.ts.map +0 -1
  156. package/scripts/types/political-risk.js.map +0 -1
  157. package/scripts/types/political-threats.d.ts.map +0 -1
  158. package/scripts/types/political-threats.js.map +0 -1
  159. package/scripts/types/quality.d.ts.map +0 -1
  160. package/scripts/types/quality.js.map +0 -1
  161. package/scripts/types/stakeholder.d.ts.map +0 -1
  162. package/scripts/types/stakeholder.js.map +0 -1
  163. package/scripts/types/visualization.d.ts.map +0 -1
  164. package/scripts/types/visualization.js.map +0 -1
  165. package/scripts/types/world-bank.d.ts.map +0 -1
  166. package/scripts/types/world-bank.js.map +0 -1
  167. package/scripts/utils/article-category.d.ts.map +0 -1
  168. package/scripts/utils/article-category.js.map +0 -1
  169. package/scripts/utils/article-quality-scorer.d.ts.map +0 -1
  170. package/scripts/utils/article-quality-scorer.js.map +0 -1
  171. package/scripts/utils/content-metadata.d.ts.map +0 -1
  172. package/scripts/utils/content-metadata.js.map +0 -1
  173. package/scripts/utils/content-validator.d.ts.map +0 -1
  174. package/scripts/utils/content-validator.js.map +0 -1
  175. package/scripts/utils/copy-test-reports.d.ts.map +0 -1
  176. package/scripts/utils/copy-test-reports.js.map +0 -1
  177. package/scripts/utils/file-utils.d.ts.map +0 -1
  178. package/scripts/utils/file-utils.js.map +0 -1
  179. package/scripts/utils/fix-articles.d.ts.map +0 -1
  180. package/scripts/utils/fix-articles.js.map +0 -1
  181. package/scripts/utils/generate-docs-index.d.ts.map +0 -1
  182. package/scripts/utils/generate-docs-index.js.map +0 -1
  183. package/scripts/utils/html-sanitize.d.ts.map +0 -1
  184. package/scripts/utils/html-sanitize.js.map +0 -1
  185. package/scripts/utils/intelligence-analysis.d.ts.map +0 -1
  186. package/scripts/utils/intelligence-analysis.js.map +0 -1
  187. package/scripts/utils/intelligence-index.d.ts.map +0 -1
  188. package/scripts/utils/intelligence-index.js.map +0 -1
  189. package/scripts/utils/metadata-utils.d.ts.map +0 -1
  190. package/scripts/utils/metadata-utils.js.map +0 -1
  191. package/scripts/utils/news-metadata.d.ts.map +0 -1
  192. package/scripts/utils/news-metadata.js.map +0 -1
  193. package/scripts/utils/political-classification.d.ts.map +0 -1
  194. package/scripts/utils/political-classification.js.map +0 -1
  195. package/scripts/utils/political-risk-assessment.d.ts.map +0 -1
  196. package/scripts/utils/political-risk-assessment.js.map +0 -1
  197. package/scripts/utils/political-threat-assessment.d.ts.map +0 -1
  198. package/scripts/utils/political-threat-assessment.js.map +0 -1
  199. package/scripts/utils/validate-articles.d.ts.map +0 -1
  200. package/scripts/utils/validate-articles.js.map +0 -1
  201. package/scripts/utils/validate-ep-api.d.ts.map +0 -1
  202. package/scripts/utils/validate-ep-api.js.map +0 -1
  203. package/scripts/utils/world-bank-data.d.ts.map +0 -1
  204. package/scripts/utils/world-bank-data.js.map +0 -1
package/README.md CHANGED
@@ -65,7 +65,29 @@
65
65
  [![ISMS](https://img.shields.io/badge/Hack23-ISMS-blue)](https://github.com/Hack23/ISMS-PUBLIC)
66
66
  [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/Hack23/euparliamentmonitor)
67
67
 
68
+ ## 📦 Quick Start
68
69
 
70
+ ```bash
71
+ npm install euparliamentmonitor
72
+ ```
73
+
74
+ ```typescript
75
+ import {
76
+ EuropeanParliamentMCPClient,
77
+ generateArticleHTML,
78
+ scoreArticleQuality,
79
+ ALL_LANGUAGES,
80
+ } from 'euparliamentmonitor';
81
+ ```
82
+
83
+ **Key capabilities:**
84
+ - 🏛️ **EU Parliament MCP Client** — Connect to European Parliament open data via Model Context Protocol
85
+ - 📰 **News Generation** — Generate multi-language articles (14 languages) from parliamentary data
86
+ - 🔍 **Political Intelligence** — Voting anomaly detection, coalition analysis, threat assessment
87
+ - 📊 **Article Quality** — Score and validate generated content with comprehensive quality metrics
88
+ - 🌍 **Multilingual** — Full i18n support: EN, SV, DA, NO, FI, DE, FR, ES, NL, AR, HE, JA, KO, ZH
89
+
90
+ > Published with [npm provenance](https://docs.npmjs.com/generating-provenance-statements) for supply chain security. [SLSA Level 3](https://github.com/Hack23/euparliamentmonitor/attestations) build attestations included.
69
91
 
70
92
  ## 🎯 Status Badges
71
93
 
@@ -381,6 +403,41 @@ npm --version # Should be 10.x.x or higher
381
403
 
382
404
  ## Installation
383
405
 
406
+ ### As an npm Package
407
+
408
+ ```bash
409
+ npm install euparliamentmonitor
410
+ ```
411
+
412
+ ### TypeScript / ES Module Usage
413
+
414
+ ```typescript
415
+ import {
416
+ // MCP Client for EU Parliament data
417
+ EuropeanParliamentMCPClient,
418
+ getEPMCPClient,
419
+ // Intelligence analysis
420
+ scoreVotingAnomaly,
421
+ analyzeCoalitionCohesion,
422
+ assessPoliticalThreats,
423
+ // Article generation
424
+ generateArticleHTML,
425
+ scoreArticleQuality,
426
+ // Multi-language support (14 languages)
427
+ ALL_LANGUAGES,
428
+ LANGUAGE_NAMES,
429
+ // Content validation
430
+ validateArticleContent,
431
+ validateTranslationCompleteness,
432
+ } from 'euparliamentmonitor';
433
+
434
+ // Or import specific modules for tree-shaking
435
+ import { EuropeanParliamentMCPClient } from 'euparliamentmonitor/mcp/ep-mcp-client';
436
+ import type { ArticleCategory, LanguageCode } from 'euparliamentmonitor/types';
437
+ ```
438
+
439
+ ### From Source (Development)
440
+
384
441
  ```bash
385
442
  # Clone the repository
386
443
  git clone https://github.com/Hack23/euparliamentmonitor.git
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "euparliamentmonitor",
3
- "version": "0.8.18",
3
+ "version": "0.8.20",
4
4
  "type": "module",
5
5
  "description": "European Parliament Intelligence Platform - Monitor political activity with systematic transparency",
6
6
  "main": "scripts/index.js",
@@ -44,7 +44,8 @@
44
44
  }
45
45
  },
46
46
  "files": [
47
- "scripts/",
47
+ "scripts/**/*.js",
48
+ "scripts/**/*.d.ts",
48
49
  "README.md",
49
50
  "LICENSE",
50
51
  "SECURITY.md"
@@ -97,19 +98,35 @@
97
98
  "type": "git",
98
99
  "url": "git+https://github.com/Hack23/euparliamentmonitor.git"
99
100
  },
101
+ "sideEffects": false,
100
102
  "keywords": [
101
103
  "european-parliament",
104
+ "european-union",
102
105
  "parliament",
103
- "europe",
106
+ "eu",
107
+ "mep",
104
108
  "politics",
109
+ "democracy",
110
+ "civic-tech",
105
111
  "osint",
106
112
  "transparency",
107
113
  "intelligence",
114
+ "political-analysis",
115
+ "legislative",
116
+ "voting",
117
+ "monitoring",
118
+ "news-generation",
119
+ "multilingual",
120
+ "i18n",
108
121
  "mcp",
109
122
  "model-context-protocol",
110
123
  "open-data",
111
124
  "typescript"
112
125
  ],
126
+ "funding": {
127
+ "type": "github",
128
+ "url": "https://github.com/sponsors/Hack23"
129
+ },
113
130
  "author": "Hack23 AB",
114
131
  "license": "Apache-2.0",
115
132
  "bugs": {
@@ -125,8 +142,8 @@
125
142
  "@types/papaparse": "5.5.2",
126
143
  "@typescript-eslint/eslint-plugin": "8.58.0",
127
144
  "@typescript-eslint/parser": "8.58.0",
128
- "@vitest/coverage-v8": "4.1.2",
129
- "@vitest/ui": "4.1.2",
145
+ "@vitest/coverage-v8": "4.1.3",
146
+ "@vitest/ui": "4.1.3",
130
147
  "chart.js": "4.5.1",
131
148
  "chartjs-plugin-annotation": "3.1.0",
132
149
  "d3": "7.9.0",
@@ -146,13 +163,13 @@
146
163
  "tsx": "4.21.0",
147
164
  "typedoc": "0.28.18",
148
165
  "typescript": "6.0.2",
149
- "vitest": "4.1.2"
166
+ "vitest": "4.1.3"
150
167
  },
151
168
  "engines": {
152
169
  "node": ">=25"
153
170
  },
154
171
  "dependencies": {
155
- "european-parliament-mcp-server": "1.1.24"
172
+ "european-parliament-mcp-server": "1.1.28"
156
173
  },
157
174
  "optionalDependencies": {
158
175
  "worldbank-mcp": "1.0.1"
@@ -81,4 +81,8 @@ export declare const ANALYSIS_QUALITY_LABELS: LanguageMap<{
81
81
  readonly medium: string;
82
82
  readonly low: string;
83
83
  }>;
84
+ /**
85
+ * Localized heading for the analysis pipeline insights section.
86
+ */
87
+ export declare const ANALYSIS_INSIGHTS_HEADING: LanguageMap;
84
88
  //# sourceMappingURL=language-articles.d.ts.map
@@ -6804,4 +6804,24 @@ export const ANALYSIS_QUALITY_LABELS = {
6804
6804
  low: '低',
6805
6805
  },
6806
6806
  };
6807
+ // ─── Analysis Insights heading ───────────────────────────────────────────────
6808
+ /**
6809
+ * Localized heading for the analysis pipeline insights section.
6810
+ */
6811
+ export const ANALYSIS_INSIGHTS_HEADING = {
6812
+ en: 'Analysis Pipeline Insights',
6813
+ sv: 'Insikter från analyspipeline',
6814
+ da: 'Indsigter fra analysepipeline',
6815
+ no: 'Innsikter fra analysepipeline',
6816
+ fi: 'Analyysiputken tulokset',
6817
+ de: 'Erkenntnisse der Analysepipeline',
6818
+ fr: 'Résultats du pipeline d\u2019analyse',
6819
+ es: 'Resultados del pipeline de análisis',
6820
+ nl: 'Inzichten uit de analysepipeline',
6821
+ ar: '\u062A\u062D\u0644\u064A\u0644\u0627\u062A \u062E\u0637 \u0627\u0644\u062A\u062D\u0644\u064A\u0644',
6822
+ he: '\u05EA\u05D5\u05D1\u05E0\u05D5\u05EA \u05DE\u05DF \u05E6\u05D9\u05E0\u05D5\u05E8 \u05D4\u05E0\u05D9\u05EA\u05D5\u05D7',
6823
+ ja: '\u5206\u6790\u30D1\u30A4\u30D7\u30E9\u30A4\u30F3\u306E\u6D1E\u5BDF',
6824
+ ko: '\uBD84\uC11D \uD30C\uC774\uD504\uB77C\uC778 \uC778\uC0AC\uC774\uD2B8',
6825
+ zh: '\u5206\u6790\u7BA1\u9053\u6D1E\u5BDF',
6826
+ };
6807
6827
  //# sourceMappingURL=language-articles.js.map
@@ -113,8 +113,8 @@ export declare const THREAT_FRAMEWORK_LABELS: LanguageMap;
113
113
  export declare const CLASSIFICATION_GUIDE_LABELS: LanguageMap;
114
114
  /** Localized style guide labels */
115
115
  export declare const STYLE_GUIDE_LABELS: LanguageMap;
116
- /** Localized "Significance Assessment" labels */
117
- export declare const SIGNIFICANCE_ASSESSMENT_LABELS: LanguageMap;
116
+ /** Localized "Significance Classification" labels */
117
+ export declare const SIGNIFICANCE_CLASSIFICATION_LABELS: LanguageMap;
118
118
  /** Localized "Actor Mapping" labels */
119
119
  export declare const ACTOR_MAPPING_LABELS: LanguageMap;
120
120
  /** Localized "Forces Analysis" labels */
@@ -123,8 +123,8 @@ export declare const FORCES_ANALYSIS_LABELS: LanguageMap;
123
123
  export declare const IMPACT_MATRIX_LABELS: LanguageMap;
124
124
  /** Localized "Political Threat Landscape" labels */
125
125
  export declare const POLITICAL_THREAT_LANDSCAPE_LABELS: LanguageMap;
126
- /** Localized "Actor Threat Profiles" labels */
127
- export declare const ACTOR_THREAT_PROFILES_LABELS: LanguageMap;
126
+ /** Localized "Actor Threat Profiling" labels */
127
+ export declare const ACTOR_THREAT_PROFILING_LABELS: LanguageMap;
128
128
  /** Localized "Consequence Trees" labels */
129
129
  export declare const CONSEQUENCE_TREES_LABELS: LanguageMap;
130
130
  /** Localized "Legislative Disruption" labels */
@@ -139,10 +139,10 @@ export declare const POLITICAL_CAPITAL_RISK_LABELS: LanguageMap;
139
139
  export declare const LEGISLATIVE_VELOCITY_RISK_LABELS: LanguageMap;
140
140
  /** Localized "Agent Risk Workflow" labels */
141
141
  export declare const AGENT_RISK_WORKFLOW_LABELS: LanguageMap;
142
- /** Localized "Stakeholder Analysis" labels */
143
- export declare const STAKEHOLDER_ANALYSIS_LABELS: LanguageMap;
144
- /** Localized "Coalition Analysis" labels */
145
- export declare const COALITION_ANALYSIS_LABELS: LanguageMap;
142
+ /** Localized "Stakeholder Impact" labels */
143
+ export declare const STAKEHOLDER_IMPACT_LABELS: LanguageMap;
144
+ /** Localized "Coalition Dynamics" labels */
145
+ export declare const COALITION_DYNAMICS_LABELS: LanguageMap;
146
146
  /** Localized "Voting Patterns" labels */
147
147
  export declare const VOTING_PATTERNS_LABELS: LanguageMap;
148
148
  /** Localized "Cross-Session Intelligence" labels */
@@ -1182,22 +1182,22 @@ export const STYLE_GUIDE_LABELS = {
1182
1182
  zh: '政治风格指南',
1183
1183
  };
1184
1184
  // ─── Per-file analysis link labels ────────────────────────────────────────────
1185
- /** Localized "Significance Assessment" labels */
1186
- export const SIGNIFICANCE_ASSESSMENT_LABELS = {
1187
- en: 'Significance Assessment',
1188
- sv: 'Betydelsebedömning',
1189
- da: 'Betydningsvurdering',
1190
- no: 'Betydningsvurdering',
1191
- fi: 'Merkittävyysarviointi',
1192
- de: 'Bedeutsamkeitsbewertung',
1193
- fr: 'Évaluation de la signification',
1194
- es: 'Evaluación de significancia',
1195
- nl: 'Significantiebeoordeling',
1196
- ar: 'تقييم الأهمية',
1197
- he: 'הערכת חשיבות',
1198
- ja: '重要性評価',
1199
- ko: '중요도 평가',
1200
- zh: '重要性评估',
1185
+ /** Localized "Significance Classification" labels */
1186
+ export const SIGNIFICANCE_CLASSIFICATION_LABELS = {
1187
+ en: 'Significance Classification',
1188
+ sv: 'Betydelseklassificering',
1189
+ da: 'Betydningsklassificering',
1190
+ no: 'Betydningsklassifisering',
1191
+ fi: 'Merkittävyysluokittelu',
1192
+ de: 'Bedeutsamkeitsklassifizierung',
1193
+ fr: 'Classification de la signification',
1194
+ es: 'Clasificación de significancia',
1195
+ nl: 'Significantieclassificatie',
1196
+ ar: 'تصنيف الأهمية',
1197
+ he: 'סיווג חשיבות',
1198
+ ja: '重要性分類',
1199
+ ko: '중요도 분류',
1200
+ zh: '重要性分类',
1201
1201
  };
1202
1202
  /** Localized "Actor Mapping" labels */
1203
1203
  export const ACTOR_MAPPING_LABELS = {
@@ -1267,22 +1267,22 @@ export const POLITICAL_THREAT_LANDSCAPE_LABELS = {
1267
1267
  ko: '정치적 위협 환경',
1268
1268
  zh: '政治威胁态势',
1269
1269
  };
1270
- /** Localized "Actor Threat Profiles" labels */
1271
- export const ACTOR_THREAT_PROFILES_LABELS = {
1272
- en: 'Actor Threat Profiles',
1273
- sv: 'Aktörshotprofiler',
1274
- da: 'Aktørtrusselsprofiler',
1275
- no: 'Aktørtrusselsprofiler',
1276
- fi: 'Toimijoiden uhkaprofiilit',
1277
- de: 'Akteurs-Bedrohungsprofile',
1278
- fr: 'Profils de menaces des acteurs',
1279
- es: 'Perfiles de amenazas de actores',
1280
- nl: 'Dreigingsprofielen van actoren',
1281
- ar: 'ملفات تهديد الفاعلين',
1282
- he: 'פרופילי איום שחקנים',
1283
- ja: 'アクター脅威プロファイル',
1284
- ko: '행위자 위협 프로필',
1285
- zh: '行动者威胁概况',
1270
+ /** Localized "Actor Threat Profiling" labels */
1271
+ export const ACTOR_THREAT_PROFILING_LABELS = {
1272
+ en: 'Actor Threat Profiling',
1273
+ sv: 'Aktörshotprofilering',
1274
+ da: 'Aktørtrusselprofilering',
1275
+ no: 'Aktørtrusselprofilering',
1276
+ fi: 'Toimijoiden uhkaprofilointi',
1277
+ de: 'Akteurs-Bedrohungsprofilierung',
1278
+ fr: 'Profilage des menaces des acteurs',
1279
+ es: 'Perfilado de amenazas de actores',
1280
+ nl: 'Dreigingsprofilering van actoren',
1281
+ ar: 'تنميط تهديد الفاعلين',
1282
+ he: 'פרופיילינג איום שחקנים',
1283
+ ja: 'アクター脅威プロファイリング',
1284
+ ko: '행위자 위협 프로파일링',
1285
+ zh: '行动者威胁分析',
1286
1286
  };
1287
1287
  /** Localized "Consequence Trees" labels */
1288
1288
  export const CONSEQUENCE_TREES_LABELS = {
@@ -1405,39 +1405,39 @@ export const AGENT_RISK_WORKFLOW_LABELS = {
1405
1405
  ko: '에이전트 위험 워크플로',
1406
1406
  zh: '代理风险工作流',
1407
1407
  };
1408
- /** Localized "Stakeholder Analysis" labels */
1409
- export const STAKEHOLDER_ANALYSIS_LABELS = {
1410
- en: 'Stakeholder Analysis',
1411
- sv: 'Intressentanalys',
1412
- da: 'Interessentanalyse',
1413
- no: 'Interessentanalyse',
1414
- fi: 'Sidosryhmäanalyysi',
1415
- de: 'Stakeholder-Analyse',
1416
- fr: 'Analyse des parties prenantes',
1417
- es: 'Análisis de partes interesadas',
1418
- nl: 'Stakeholderanalyse',
1419
- ar: 'تحليل أصحاب المصلحة',
1420
- he: 'ניתוח בעלי עניין',
1421
- ja: 'ステークホルダー分析',
1422
- ko: '이해관계자 분석',
1423
- zh: '利益相关者分析',
1408
+ /** Localized "Stakeholder Impact" labels */
1409
+ export const STAKEHOLDER_IMPACT_LABELS = {
1410
+ en: 'Stakeholder Impact',
1411
+ sv: 'Intressentpåverkan',
1412
+ da: 'Interessentpåvirkning',
1413
+ no: 'Interessentpåvirkning',
1414
+ fi: 'Sidosryhmävaikutus',
1415
+ de: 'Stakeholder-Auswirkung',
1416
+ fr: 'Impact sur les parties prenantes',
1417
+ es: 'Impacto de partes interesadas',
1418
+ nl: 'Stakeholderimpact',
1419
+ ar: 'تأثير أصحاب المصلحة',
1420
+ he: 'השפעה על בעלי עניין',
1421
+ ja: 'ステークホルダー影響',
1422
+ ko: '이해관계자 영향',
1423
+ zh: '利益相关者影响',
1424
1424
  };
1425
- /** Localized "Coalition Analysis" labels */
1426
- export const COALITION_ANALYSIS_LABELS = {
1427
- en: 'Coalition Analysis',
1428
- sv: 'Koalitionsanalys',
1429
- da: 'Koalitionsanalyse',
1430
- no: 'Koalisjonsanalyse',
1431
- fi: 'Koalitioanalyysi',
1432
- de: 'Koalitionsanalyse',
1433
- fr: 'Analyse des coalitions',
1434
- es: 'Análisis de coaliciones',
1435
- nl: 'Coalitieanalyse',
1436
- ar: 'تحليل الائتلافات',
1437
- he: 'ניתוח קואליציות',
1438
- ja: '連立分析',
1439
- ko: '연합 분석',
1440
- zh: '联盟分析',
1425
+ /** Localized "Coalition Dynamics" labels */
1426
+ export const COALITION_DYNAMICS_LABELS = {
1427
+ en: 'Coalition Dynamics',
1428
+ sv: 'Koalitionsdynamik',
1429
+ da: 'Koalitionsdynamik',
1430
+ no: 'Koalisjonsdynamikk',
1431
+ fi: 'Koalitiodynamiikka',
1432
+ de: 'Koalitionsdynamik',
1433
+ fr: 'Dynamique des coalitions',
1434
+ es: 'Dinámica de coaliciones',
1435
+ nl: 'Coalitiedynamiek',
1436
+ ar: 'ديناميكيات الائتلافات',
1437
+ he: 'דינמיקה קואליציונית',
1438
+ ja: '連立ダイナミクス',
1439
+ ko: '연합 역학',
1440
+ zh: '联盟动态',
1441
1441
  };
1442
1442
  /** Localized "Voting Patterns" labels */
1443
1443
  export const VOTING_PATTERNS_LABELS = {
@@ -8,7 +8,7 @@
8
8
  * - **language-articles** — Article-type title generators and body-text strings
9
9
  */
10
10
  export { ALL_LANGUAGES, LANGUAGE_PRESETS, LANGUAGE_FLAGS, LANGUAGE_NAMES, getLocalizedString, isSupportedLanguage, getTextDirection, } from './language-core.js';
11
- export { PAGE_TITLES, PAGE_DESCRIPTIONS, SECTION_HEADINGS, NO_ARTICLES_MESSAGES, SKIP_LINK_TEXTS, ARTICLE_TYPE_LABELS, READ_TIME_LABELS, BACK_TO_NEWS_LABELS, ARTICLE_NAV_LABELS, AI_SECTION_CONTENT, FILTER_LABELS, SOURCES_HEADING_LABELS, HEADER_SUBTITLE_LABELS, THEME_TOGGLE_LABELS, FOOTER_ABOUT_HEADING_LABELS, FOOTER_ABOUT_TEXT_LABELS, FOOTER_QUICK_LINKS_LABELS, FOOTER_BUILT_BY_LABELS, FOOTER_LANGUAGES_LABELS, TOC_ARIA_LABELS, RELATED_ANALYSIS_LABELS, ANALYSIS_TRANSPARENCY_LABELS, ANALYSIS_SUMMARY_LABELS, METHODOLOGY_LABELS, TRANSPARENCY_DISCLOSURE_LABELS, CLASSIFICATION_ANALYSIS_LABELS, THREAT_ASSESSMENT_LABELS, RISK_SCORING_LABELS, DEEP_ANALYSIS_LABELS, VIEW_SOURCE_LABELS, OPEN_SOURCE_NOTE_LABELS, AI_ANALYSIS_GUIDE_LABELS, SWOT_FRAMEWORK_LABELS, RISK_METHODOLOGY_LABELS, THREAT_FRAMEWORK_LABELS, CLASSIFICATION_GUIDE_LABELS, STYLE_GUIDE_LABELS, SIGNIFICANCE_ASSESSMENT_LABELS, ACTOR_MAPPING_LABELS, FORCES_ANALYSIS_LABELS, IMPACT_MATRIX_LABELS, POLITICAL_THREAT_LANDSCAPE_LABELS, ACTOR_THREAT_PROFILES_LABELS, CONSEQUENCE_TREES_LABELS, LEGISLATIVE_DISRUPTION_LABELS, RISK_MATRIX_LABELS, QUANTITATIVE_SWOT_LABELS, POLITICAL_CAPITAL_RISK_LABELS, LEGISLATIVE_VELOCITY_RISK_LABELS, AGENT_RISK_WORKFLOW_LABELS, STAKEHOLDER_ANALYSIS_LABELS, COALITION_ANALYSIS_LABELS, VOTING_PATTERNS_LABELS, CROSS_SESSION_INTELLIGENCE_LABELS, } from './language-ui.js';
11
+ export { PAGE_TITLES, PAGE_DESCRIPTIONS, SECTION_HEADINGS, NO_ARTICLES_MESSAGES, SKIP_LINK_TEXTS, ARTICLE_TYPE_LABELS, READ_TIME_LABELS, BACK_TO_NEWS_LABELS, ARTICLE_NAV_LABELS, AI_SECTION_CONTENT, FILTER_LABELS, SOURCES_HEADING_LABELS, HEADER_SUBTITLE_LABELS, THEME_TOGGLE_LABELS, FOOTER_ABOUT_HEADING_LABELS, FOOTER_ABOUT_TEXT_LABELS, FOOTER_QUICK_LINKS_LABELS, FOOTER_BUILT_BY_LABELS, FOOTER_LANGUAGES_LABELS, TOC_ARIA_LABELS, RELATED_ANALYSIS_LABELS, ANALYSIS_TRANSPARENCY_LABELS, ANALYSIS_SUMMARY_LABELS, METHODOLOGY_LABELS, TRANSPARENCY_DISCLOSURE_LABELS, CLASSIFICATION_ANALYSIS_LABELS, THREAT_ASSESSMENT_LABELS, RISK_SCORING_LABELS, DEEP_ANALYSIS_LABELS, VIEW_SOURCE_LABELS, OPEN_SOURCE_NOTE_LABELS, AI_ANALYSIS_GUIDE_LABELS, SWOT_FRAMEWORK_LABELS, RISK_METHODOLOGY_LABELS, THREAT_FRAMEWORK_LABELS, CLASSIFICATION_GUIDE_LABELS, STYLE_GUIDE_LABELS, SIGNIFICANCE_CLASSIFICATION_LABELS, ACTOR_MAPPING_LABELS, FORCES_ANALYSIS_LABELS, IMPACT_MATRIX_LABELS, POLITICAL_THREAT_LANDSCAPE_LABELS, ACTOR_THREAT_PROFILING_LABELS, CONSEQUENCE_TREES_LABELS, LEGISLATIVE_DISRUPTION_LABELS, RISK_MATRIX_LABELS, QUANTITATIVE_SWOT_LABELS, POLITICAL_CAPITAL_RISK_LABELS, LEGISLATIVE_VELOCITY_RISK_LABELS, AGENT_RISK_WORKFLOW_LABELS, STAKEHOLDER_IMPACT_LABELS, COALITION_DYNAMICS_LABELS, VOTING_PATTERNS_LABELS, CROSS_SESSION_INTELLIGENCE_LABELS, } from './language-ui.js';
12
12
  export type { AISection, RelationshipLabels, RelatedAnalysisStrings } from './language-ui.js';
13
- export { WEEK_AHEAD_TITLES, MONTH_AHEAD_TITLES, WEEKLY_REVIEW_TITLES, MONTHLY_REVIEW_TITLES, MOTIONS_TITLES, BREAKING_NEWS_TITLES, COMMITTEE_REPORTS_TITLES, PROPOSITIONS_TITLES, PROPOSITIONS_STRINGS, EDITORIAL_STRINGS, MOTIONS_STRINGS, WEEK_AHEAD_STRINGS, WEEK_AHEAD_STAKEHOLDER_STRINGS, BREAKING_STRINGS, DEEP_ANALYSIS_STRINGS, COMMITTEE_ANALYSIS_CONTENT_STRINGS, SWOT_STRINGS, DASHBOARD_STRINGS, SWOT_BUILDER_STRINGS, DASHBOARD_BUILDER_STRINGS, MULTI_DIMENSIONAL_SWOT_STRINGS, LOCALIZED_KEYWORDS, MONTH_IN_REVIEW_STRINGS, ANALYSIS_QUALITY_LABELS, } from './language-articles.js';
13
+ export { WEEK_AHEAD_TITLES, MONTH_AHEAD_TITLES, WEEKLY_REVIEW_TITLES, MONTHLY_REVIEW_TITLES, MOTIONS_TITLES, BREAKING_NEWS_TITLES, COMMITTEE_REPORTS_TITLES, PROPOSITIONS_TITLES, PROPOSITIONS_STRINGS, EDITORIAL_STRINGS, MOTIONS_STRINGS, WEEK_AHEAD_STRINGS, WEEK_AHEAD_STAKEHOLDER_STRINGS, BREAKING_STRINGS, DEEP_ANALYSIS_STRINGS, COMMITTEE_ANALYSIS_CONTENT_STRINGS, SWOT_STRINGS, DASHBOARD_STRINGS, SWOT_BUILDER_STRINGS, DASHBOARD_BUILDER_STRINGS, MULTI_DIMENSIONAL_SWOT_STRINGS, LOCALIZED_KEYWORDS, MONTH_IN_REVIEW_STRINGS, ANALYSIS_QUALITY_LABELS, ANALYSIS_INSIGHTS_HEADING, } from './language-articles.js';
14
14
  //# sourceMappingURL=languages.d.ts.map
@@ -10,6 +10,6 @@
10
10
  * - **language-articles** — Article-type title generators and body-text strings
11
11
  */
12
12
  export { ALL_LANGUAGES, LANGUAGE_PRESETS, LANGUAGE_FLAGS, LANGUAGE_NAMES, getLocalizedString, isSupportedLanguage, getTextDirection, } from './language-core.js';
13
- export { PAGE_TITLES, PAGE_DESCRIPTIONS, SECTION_HEADINGS, NO_ARTICLES_MESSAGES, SKIP_LINK_TEXTS, ARTICLE_TYPE_LABELS, READ_TIME_LABELS, BACK_TO_NEWS_LABELS, ARTICLE_NAV_LABELS, AI_SECTION_CONTENT, FILTER_LABELS, SOURCES_HEADING_LABELS, HEADER_SUBTITLE_LABELS, THEME_TOGGLE_LABELS, FOOTER_ABOUT_HEADING_LABELS, FOOTER_ABOUT_TEXT_LABELS, FOOTER_QUICK_LINKS_LABELS, FOOTER_BUILT_BY_LABELS, FOOTER_LANGUAGES_LABELS, TOC_ARIA_LABELS, RELATED_ANALYSIS_LABELS, ANALYSIS_TRANSPARENCY_LABELS, ANALYSIS_SUMMARY_LABELS, METHODOLOGY_LABELS, TRANSPARENCY_DISCLOSURE_LABELS, CLASSIFICATION_ANALYSIS_LABELS, THREAT_ASSESSMENT_LABELS, RISK_SCORING_LABELS, DEEP_ANALYSIS_LABELS, VIEW_SOURCE_LABELS, OPEN_SOURCE_NOTE_LABELS, AI_ANALYSIS_GUIDE_LABELS, SWOT_FRAMEWORK_LABELS, RISK_METHODOLOGY_LABELS, THREAT_FRAMEWORK_LABELS, CLASSIFICATION_GUIDE_LABELS, STYLE_GUIDE_LABELS, SIGNIFICANCE_ASSESSMENT_LABELS, ACTOR_MAPPING_LABELS, FORCES_ANALYSIS_LABELS, IMPACT_MATRIX_LABELS, POLITICAL_THREAT_LANDSCAPE_LABELS, ACTOR_THREAT_PROFILES_LABELS, CONSEQUENCE_TREES_LABELS, LEGISLATIVE_DISRUPTION_LABELS, RISK_MATRIX_LABELS, QUANTITATIVE_SWOT_LABELS, POLITICAL_CAPITAL_RISK_LABELS, LEGISLATIVE_VELOCITY_RISK_LABELS, AGENT_RISK_WORKFLOW_LABELS, STAKEHOLDER_ANALYSIS_LABELS, COALITION_ANALYSIS_LABELS, VOTING_PATTERNS_LABELS, CROSS_SESSION_INTELLIGENCE_LABELS, } from './language-ui.js';
14
- export { WEEK_AHEAD_TITLES, MONTH_AHEAD_TITLES, WEEKLY_REVIEW_TITLES, MONTHLY_REVIEW_TITLES, MOTIONS_TITLES, BREAKING_NEWS_TITLES, COMMITTEE_REPORTS_TITLES, PROPOSITIONS_TITLES, PROPOSITIONS_STRINGS, EDITORIAL_STRINGS, MOTIONS_STRINGS, WEEK_AHEAD_STRINGS, WEEK_AHEAD_STAKEHOLDER_STRINGS, BREAKING_STRINGS, DEEP_ANALYSIS_STRINGS, COMMITTEE_ANALYSIS_CONTENT_STRINGS, SWOT_STRINGS, DASHBOARD_STRINGS, SWOT_BUILDER_STRINGS, DASHBOARD_BUILDER_STRINGS, MULTI_DIMENSIONAL_SWOT_STRINGS, LOCALIZED_KEYWORDS, MONTH_IN_REVIEW_STRINGS, ANALYSIS_QUALITY_LABELS, } from './language-articles.js';
13
+ export { PAGE_TITLES, PAGE_DESCRIPTIONS, SECTION_HEADINGS, NO_ARTICLES_MESSAGES, SKIP_LINK_TEXTS, ARTICLE_TYPE_LABELS, READ_TIME_LABELS, BACK_TO_NEWS_LABELS, ARTICLE_NAV_LABELS, AI_SECTION_CONTENT, FILTER_LABELS, SOURCES_HEADING_LABELS, HEADER_SUBTITLE_LABELS, THEME_TOGGLE_LABELS, FOOTER_ABOUT_HEADING_LABELS, FOOTER_ABOUT_TEXT_LABELS, FOOTER_QUICK_LINKS_LABELS, FOOTER_BUILT_BY_LABELS, FOOTER_LANGUAGES_LABELS, TOC_ARIA_LABELS, RELATED_ANALYSIS_LABELS, ANALYSIS_TRANSPARENCY_LABELS, ANALYSIS_SUMMARY_LABELS, METHODOLOGY_LABELS, TRANSPARENCY_DISCLOSURE_LABELS, CLASSIFICATION_ANALYSIS_LABELS, THREAT_ASSESSMENT_LABELS, RISK_SCORING_LABELS, DEEP_ANALYSIS_LABELS, VIEW_SOURCE_LABELS, OPEN_SOURCE_NOTE_LABELS, AI_ANALYSIS_GUIDE_LABELS, SWOT_FRAMEWORK_LABELS, RISK_METHODOLOGY_LABELS, THREAT_FRAMEWORK_LABELS, CLASSIFICATION_GUIDE_LABELS, STYLE_GUIDE_LABELS, SIGNIFICANCE_CLASSIFICATION_LABELS, ACTOR_MAPPING_LABELS, FORCES_ANALYSIS_LABELS, IMPACT_MATRIX_LABELS, POLITICAL_THREAT_LANDSCAPE_LABELS, ACTOR_THREAT_PROFILING_LABELS, CONSEQUENCE_TREES_LABELS, LEGISLATIVE_DISRUPTION_LABELS, RISK_MATRIX_LABELS, QUANTITATIVE_SWOT_LABELS, POLITICAL_CAPITAL_RISK_LABELS, LEGISLATIVE_VELOCITY_RISK_LABELS, AGENT_RISK_WORKFLOW_LABELS, STAKEHOLDER_IMPACT_LABELS, COALITION_DYNAMICS_LABELS, VOTING_PATTERNS_LABELS, CROSS_SESSION_INTELLIGENCE_LABELS, } from './language-ui.js';
14
+ export { WEEK_AHEAD_TITLES, MONTH_AHEAD_TITLES, WEEKLY_REVIEW_TITLES, MONTHLY_REVIEW_TITLES, MOTIONS_TITLES, BREAKING_NEWS_TITLES, COMMITTEE_REPORTS_TITLES, PROPOSITIONS_TITLES, PROPOSITIONS_STRINGS, EDITORIAL_STRINGS, MOTIONS_STRINGS, WEEK_AHEAD_STRINGS, WEEK_AHEAD_STAKEHOLDER_STRINGS, BREAKING_STRINGS, DEEP_ANALYSIS_STRINGS, COMMITTEE_ANALYSIS_CONTENT_STRINGS, SWOT_STRINGS, DASHBOARD_STRINGS, SWOT_BUILDER_STRINGS, DASHBOARD_BUILDER_STRINGS, MULTI_DIMENSIONAL_SWOT_STRINGS, LOCALIZED_KEYWORDS, MONTH_IN_REVIEW_STRINGS, ANALYSIS_QUALITY_LABELS, ANALYSIS_INSIGHTS_HEADING, } from './language-articles.js';
15
15
  //# sourceMappingURL=languages.js.map
@@ -359,6 +359,16 @@ async function main() {
359
359
  // so article transparency links point to the correct suffixed analysis
360
360
  // directory when suffix deduplication is active.
361
361
  const analysisDir = analysisCtx ? path.basename(analysisCtx.outputDir) : undefined;
362
+ // Expose analysis dir/slug via env vars so strategies can locate analysis
363
+ // artifacts without hard-coding paths. Follows the EP_FEED_DATA_FILE pattern.
364
+ if (analysisCtx) {
365
+ // Base dir: parent of date-scoped dir (e.g. 'analysis' from 'analysis/2026-04-06/breaking')
366
+ const analysisOutputParent = path.dirname(analysisCtx.outputDir);
367
+ const analysisBaseDir = path.dirname(analysisOutputParent);
368
+ process.env['EP_ANALYSIS_DIR'] = analysisBaseDir;
369
+ // Slug: the resolved directory basename (may include dedup suffix like 'breaking-2')
370
+ process.env['EP_ANALYSIS_SLUG'] = analysisDir;
371
+ }
362
372
  // Extract the dedup suffix by comparing the resolved analysis dir
363
373
  // basename with the original slug. For example:
364
374
  // slug = 'breaking' → analysisDir = 'breaking-2' → dedupSuffix = '-2'
@@ -0,0 +1,49 @@
1
+ import type { MarkdownBuilder } from './analysis-helpers.js';
2
+ import type { AnalysisMethod } from './analysis-stage.js';
3
+ /** Analysis method identifier for significance scoring */
4
+ export declare const METHOD_SIGNIFICANCE_SCORING_ID: "significance-scoring";
5
+ /**
6
+ * Build markdown for the significance classification method.
7
+ * Scores and ranks legislative items by political significance.
8
+ *
9
+ * @param fetchedData - Raw fetched EP data
10
+ * @param date - Analysis date
11
+ * @returns Markdown content string
12
+ */
13
+ export declare function buildSignificanceClassificationMarkdown(fetchedData: Record<string, unknown>, date: string): string;
14
+ /**
15
+ * Build markdown for the impact matrix method.
16
+ *
17
+ * @param fetchedData - Raw fetched EP data
18
+ * @param date - Analysis date
19
+ * @returns Markdown content string
20
+ */
21
+ export declare function buildImpactMatrixMarkdown(fetchedData: Record<string, unknown>, date: string): string;
22
+ /**
23
+ * Build markdown for the actor mapping method.
24
+ *
25
+ * @param fetchedData - Raw fetched EP data
26
+ * @param date - Analysis date
27
+ * @returns Markdown content string
28
+ */
29
+ export declare function buildActorMappingMarkdown(fetchedData: Record<string, unknown>, date: string): string;
30
+ /**
31
+ * Build markdown for the political forces analysis method.
32
+ *
33
+ * @param fetchedData - Raw fetched EP data
34
+ * @param date - Analysis date
35
+ * @returns Markdown content string
36
+ */
37
+ export declare function buildForcesAnalysisMarkdown(fetchedData: Record<string, unknown>, date: string): string;
38
+ /**
39
+ * Build markdown for the significance-scoring method.
40
+ * Uses the 5-dimension scoring engine to score all EP events.
41
+ *
42
+ * @param fetchedData - Raw fetched EP data
43
+ * @param date - Analysis date
44
+ * @returns Markdown content string
45
+ */
46
+ export declare function buildSignificanceScoringMarkdown(fetchedData: Record<string, unknown>, date: string): string;
47
+ /** All classification method builders keyed by their AnalysisMethod identifier */
48
+ export declare const CLASSIFICATION_BUILDERS: Readonly<Partial<Record<AnalysisMethod, MarkdownBuilder>>>;
49
+ //# sourceMappingURL=analysis-classification.d.ts.map