euparliamentmonitor 0.8.27 → 0.8.28

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 (32) hide show
  1. package/README.md +9 -39
  2. package/package.json +1 -1
  3. package/scripts/constants/language-articles.d.ts +1 -7
  4. package/scripts/constants/language-articles.js +0 -302
  5. package/scripts/constants/languages.d.ts +1 -1
  6. package/scripts/constants/languages.js +1 -1
  7. package/scripts/generators/analysis-builders.d.ts +6 -2
  8. package/scripts/generators/analysis-builders.js +6 -2
  9. package/scripts/generators/builders/breaking-builders.d.ts +1 -11
  10. package/scripts/generators/builders/breaking-builders.js +1 -104
  11. package/scripts/generators/builders/committee-builders.d.ts +2 -10
  12. package/scripts/generators/builders/committee-builders.js +1 -98
  13. package/scripts/generators/builders/index.d.ts +5 -5
  14. package/scripts/generators/builders/index.js +5 -5
  15. package/scripts/generators/builders/propositions-builders.d.ts +2 -10
  16. package/scripts/generators/builders/propositions-builders.js +1 -66
  17. package/scripts/generators/builders/prospective-builders.d.ts +2 -11
  18. package/scripts/generators/builders/prospective-builders.js +1 -50
  19. package/scripts/generators/builders/shared-builders.d.ts +2 -13
  20. package/scripts/generators/builders/shared-builders.js +0 -13
  21. package/scripts/generators/builders/voting-builders.d.ts +2 -16
  22. package/scripts/generators/builders/voting-builders.js +1 -104
  23. package/scripts/generators/mindmap-content.d.ts +1 -34
  24. package/scripts/generators/mindmap-content.js +11 -76
  25. package/scripts/generators/swot-content.d.ts +1 -25
  26. package/scripts/generators/swot-content.js +2 -263
  27. package/scripts/index.d.ts +12 -5
  28. package/scripts/index.js +12 -5
  29. package/scripts/types/index.d.ts +1 -1
  30. package/scripts/types/visualization.d.ts +0 -131
  31. package/scripts/generators/sankey-content.d.ts +0 -45
  32. package/scripts/generators/sankey-content.js +0 -227
package/README.md CHANGED
@@ -122,49 +122,19 @@ import {
122
122
 
123
123
  ## Current Status
124
124
 
125
- **MCP Server Integration**: The project is designed to use the
125
+ **MCP Server Integration**: The project uses the
126
126
  [European-Parliament-MCP-Server](https://github.com/Hack23/European-Parliament-MCP-Server)
127
- for accessing real EU Parliament data.
128
-
129
- - **MCP Server Status**: The MCP server is currently in development (skeleton
130
- implementation)
131
- - **Fallback Mode**: News generation works with placeholder content when MCP
132
- server is unavailable
127
+ v1.2.4 for accessing real EU Parliament data via the Model Context Protocol.
128
+
129
+ - **MCP Server Status**: Fully operational 60+ EP data tools available
130
+ (feeds, direct lookups, analytical tools, intelligence correlation)
131
+ - **Agentic Workflows**: 10 gh-aw markdown workflows for automated news
132
+ generation with AI-driven political intelligence analysis
133
+ - **Fallback Mode**: News generation can work with reduced data when EP API
134
+ endpoints are temporarily unavailable
133
135
  - **Environment Variable**: Set `USE_EP_MCP=false` to disable MCP client
134
136
  connection attempts
135
137
 
136
- ### When MCP Server is Ready
137
-
138
- Once the European-Parliament-MCP-Server is fully implemented, the system will
139
- automatically:
140
-
141
- 1. Connect to the MCP server for real-time EU Parliament data
142
- 2. Fetch plenary sessions, committee meetings, and documents
143
- 3. Generate articles with actual parliamentary information
144
- 4. Provide proper translation or content generation in each language
145
-
146
- ### Current Limitations
147
-
148
- **Note**: The current implementation generates placeholder content in English
149
- for all languages when MCP server is unavailable. To enable full functionality:
150
-
151
- 1. **Complete the MCP Server**: The European-Parliament-MCP-Server needs
152
- implementation of:
153
- - `get_plenary_sessions` tool
154
- - `search_documents` tool
155
- - `get_parliamentary_questions` tool
156
- - `get_committee_info` tool
157
-
158
- 2. **Install MCP Server**: Once ready, install the MCP server:
159
-
160
- ```bash
161
- npm install -g european-parliament-mcp-server
162
- # or clone and build locally
163
- ```
164
-
165
- 3. **Enable MCP Client**: The news generator will automatically connect when the
166
- server is available
167
-
168
138
  EU Parliament Monitor is an automated news generation platform that monitors
169
139
  European Parliament activities and generates multi-language news articles
170
140
  covering:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "euparliamentmonitor",
3
- "version": "0.8.27",
3
+ "version": "0.8.28",
4
4
  "type": "module",
5
5
  "description": "European Parliament Intelligence Platform - Monitor political activity with systematic transparency",
6
6
  "main": "scripts/index.js",
@@ -4,7 +4,7 @@
4
4
  * Each article type (week-ahead, Plenary Votes & Resolutions, breaking, Committee Activity, Legislative Procedures)
5
5
  * has its own localized title template returning `LangTitleSubtitle`.
6
6
  */
7
- import type { LanguageMap, LangTitleSubtitle, PropositionsStrings, EditorialStrings, MotionsStrings, WeekAheadStrings, WeekAheadStakeholderStrings, BreakingStrings, DeepAnalysisStrings, CommitteeAnalysisContentStrings, SwotStrings, DashboardStrings, SwotBuilderStrings, DashboardBuilderStrings, MultiDimensionalSwotStrings } from '../types/index.js';
7
+ import type { LanguageMap, LangTitleSubtitle, PropositionsStrings, EditorialStrings, MotionsStrings, WeekAheadStrings, WeekAheadStakeholderStrings, BreakingStrings, DeepAnalysisStrings, CommitteeAnalysisContentStrings, SwotStrings, DashboardStrings, SwotBuilderStrings, DashboardBuilderStrings } from '../types/index.js';
8
8
  /**
9
9
  * Localized base keywords per article category.
10
10
  * These provide language-appropriate SEO keywords that the article generator
@@ -56,12 +56,6 @@ export declare const SWOT_BUILDER_STRINGS: LanguageMap<SwotBuilderStrings>;
56
56
  * Panel titles, metric labels, and chart labels.
57
57
  */
58
58
  export declare const DASHBOARD_BUILDER_STRINGS: LanguageMap<DashboardBuilderStrings>;
59
- /**
60
- * Localized strings for multi-dimensional SWOT analysis visualization.
61
- * Covers dimension names, stakeholder labels, temporal headings, and evidence labels
62
- * across all 14 supported languages.
63
- */
64
- export declare const MULTI_DIMENSIONAL_SWOT_STRINGS: LanguageMap<MultiDimensionalSwotStrings>;
65
59
  /** Section headings for month-in-review articles, localized to all 14 languages */
66
60
  export declare const MONTH_IN_REVIEW_STRINGS: LanguageMap<{
67
61
  readonly overview: string;
@@ -6256,308 +6256,6 @@ export const DASHBOARD_BUILDER_STRINGS = {
6256
6256
  impactNeutral: '中立',
6257
6257
  },
6258
6258
  };
6259
- // ─── Multi-Dimensional SWOT strings ──────────────────────────────────────────
6260
- /**
6261
- * Localized strings for multi-dimensional SWOT analysis visualization.
6262
- * Covers dimension names, stakeholder labels, temporal headings, and evidence labels
6263
- * across all 14 supported languages.
6264
- */
6265
- export const MULTI_DIMENSIONAL_SWOT_STRINGS = {
6266
- en: {
6267
- dimensionsLabel: 'Dimensions',
6268
- stakeholderPerspectivesLabel: 'Stakeholder Perspectives',
6269
- temporalAnalysisLabel: 'Temporal Analysis',
6270
- shortTermLabel: 'Short-term (This week)',
6271
- mediumTermLabel: 'Medium-term (This quarter)',
6272
- longTermLabel: 'Long-term (This term)',
6273
- dimensionPolitical: 'Political',
6274
- dimensionEconomic: 'Economic',
6275
- dimensionSocial: 'Social',
6276
- dimensionLegal: 'Legal',
6277
- dimensionGeopolitical: 'Geopolitical',
6278
- stakeholderCitizen: 'Citizens',
6279
- stakeholderIndustry: 'Industry',
6280
- stakeholderNgo: 'Civil Society',
6281
- stakeholderMep: 'MEPs',
6282
- stakeholderGovernment: 'Governments',
6283
- stakeholderMedia: 'Media',
6284
- evidenceLabel: 'Evidence',
6285
- crossReferencesLabel: 'References',
6286
- },
6287
- sv: {
6288
- dimensionsLabel: 'Dimensioner',
6289
- stakeholderPerspectivesLabel: 'Intressentperspektiv',
6290
- temporalAnalysisLabel: 'Tidsanalys',
6291
- shortTermLabel: 'Kortsiktigt (denna vecka)',
6292
- mediumTermLabel: 'Medellång sikt (detta kvartal)',
6293
- longTermLabel: 'Lång sikt (denna mandatperiod)',
6294
- dimensionPolitical: 'Politisk',
6295
- dimensionEconomic: 'Ekonomisk',
6296
- dimensionSocial: 'Social',
6297
- dimensionLegal: 'Juridisk',
6298
- dimensionGeopolitical: 'Geopolitisk',
6299
- stakeholderCitizen: 'Medborgare',
6300
- stakeholderIndustry: 'Industri',
6301
- stakeholderNgo: 'Civilsamhälle',
6302
- stakeholderMep: 'Ledamöter',
6303
- stakeholderGovernment: 'Regeringar',
6304
- stakeholderMedia: 'Media',
6305
- evidenceLabel: 'Bevis',
6306
- crossReferencesLabel: 'Referenser',
6307
- },
6308
- da: {
6309
- dimensionsLabel: 'Dimensioner',
6310
- stakeholderPerspectivesLabel: 'Interessentperspektiver',
6311
- temporalAnalysisLabel: 'Tidsanalyse',
6312
- shortTermLabel: 'Kortsigtet (denne uge)',
6313
- mediumTermLabel: 'Mellemlang sigt (dette kvartal)',
6314
- longTermLabel: 'Langsigtet (denne periode)',
6315
- dimensionPolitical: 'Politisk',
6316
- dimensionEconomic: 'Økonomisk',
6317
- dimensionSocial: 'Social',
6318
- dimensionLegal: 'Juridisk',
6319
- dimensionGeopolitical: 'Geopolitisk',
6320
- stakeholderCitizen: 'Borgere',
6321
- stakeholderIndustry: 'Industri',
6322
- stakeholderNgo: 'Civilsamfund',
6323
- stakeholderMep: "MEP'er",
6324
- stakeholderGovernment: 'Regeringer',
6325
- stakeholderMedia: 'Medier',
6326
- evidenceLabel: 'Beviser',
6327
- crossReferencesLabel: 'Referencer',
6328
- },
6329
- no: {
6330
- dimensionsLabel: 'Dimensjoner',
6331
- stakeholderPerspectivesLabel: 'Interessentperspektiver',
6332
- temporalAnalysisLabel: 'Tidsanalyse',
6333
- shortTermLabel: 'Kortsiktig (denne uken)',
6334
- mediumTermLabel: 'Mellomlang sikt (dette kvartalet)',
6335
- longTermLabel: 'Langsiktig (denne perioden)',
6336
- dimensionPolitical: 'Politisk',
6337
- dimensionEconomic: 'Økonomisk',
6338
- dimensionSocial: 'Sosial',
6339
- dimensionLegal: 'Juridisk',
6340
- dimensionGeopolitical: 'Geopolitisk',
6341
- stakeholderCitizen: 'Borgere',
6342
- stakeholderIndustry: 'Industri',
6343
- stakeholderNgo: 'Sivilsamfunn',
6344
- stakeholderMep: 'MEP-er',
6345
- stakeholderGovernment: 'Regjeringer',
6346
- stakeholderMedia: 'Medier',
6347
- evidenceLabel: 'Bevis',
6348
- crossReferencesLabel: 'Referanser',
6349
- },
6350
- fi: {
6351
- dimensionsLabel: 'Dimensiot',
6352
- stakeholderPerspectivesLabel: 'Sidosryhmien näkökulmat',
6353
- temporalAnalysisLabel: 'Aikaanalyysi',
6354
- shortTermLabel: 'Lyhytaikainen (tämä viikko)',
6355
- mediumTermLabel: 'Keskipitkä aikaväli (tämä vuosineljännes)',
6356
- longTermLabel: 'Pitkäaikainen (tämä toimikausi)',
6357
- dimensionPolitical: 'Poliittinen',
6358
- dimensionEconomic: 'Taloudellinen',
6359
- dimensionSocial: 'Sosiaalinen',
6360
- dimensionLegal: 'Oikeudellinen',
6361
- dimensionGeopolitical: 'Geopoliittinen',
6362
- stakeholderCitizen: 'Kansalaiset',
6363
- stakeholderIndustry: 'Teollisuus',
6364
- stakeholderNgo: 'Kansalaisyhteiskunta',
6365
- stakeholderMep: 'MEP:t',
6366
- stakeholderGovernment: 'Hallitukset',
6367
- stakeholderMedia: 'Media',
6368
- evidenceLabel: 'Todisteet',
6369
- crossReferencesLabel: 'Viitteet',
6370
- },
6371
- de: {
6372
- dimensionsLabel: 'Dimensionen',
6373
- stakeholderPerspectivesLabel: 'Akteursperspektiven',
6374
- temporalAnalysisLabel: 'Zeitliche Analyse',
6375
- shortTermLabel: 'Kurzfristig (diese Woche)',
6376
- mediumTermLabel: 'Mittelfristig (dieses Quartal)',
6377
- longTermLabel: 'Langfristig (diese Wahlperiode)',
6378
- dimensionPolitical: 'Politisch',
6379
- dimensionEconomic: 'Wirtschaftlich',
6380
- dimensionSocial: 'Sozial',
6381
- dimensionLegal: 'Rechtlich',
6382
- dimensionGeopolitical: 'Geopolitisch',
6383
- stakeholderCitizen: 'Bürger',
6384
- stakeholderIndustry: 'Industrie',
6385
- stakeholderNgo: 'Zivilgesellschaft',
6386
- stakeholderMep: 'Abgeordnete',
6387
- stakeholderGovernment: 'Regierungen',
6388
- stakeholderMedia: 'Medien',
6389
- evidenceLabel: 'Belege',
6390
- crossReferencesLabel: 'Referenzen',
6391
- },
6392
- fr: {
6393
- dimensionsLabel: 'Dimensions',
6394
- stakeholderPerspectivesLabel: 'Perspectives des parties prenantes',
6395
- temporalAnalysisLabel: 'Analyse temporelle',
6396
- shortTermLabel: 'Court terme (cette semaine)',
6397
- mediumTermLabel: 'Moyen terme (ce trimestre)',
6398
- longTermLabel: 'Long terme (cette législature)',
6399
- dimensionPolitical: 'Politique',
6400
- dimensionEconomic: 'Économique',
6401
- dimensionSocial: 'Social',
6402
- dimensionLegal: 'Juridique',
6403
- dimensionGeopolitical: 'Géopolitique',
6404
- stakeholderCitizen: 'Citoyens',
6405
- stakeholderIndustry: 'Industrie',
6406
- stakeholderNgo: 'Société civile',
6407
- stakeholderMep: 'Eurodéputés',
6408
- stakeholderGovernment: 'Gouvernements',
6409
- stakeholderMedia: 'Médias',
6410
- evidenceLabel: 'Preuves',
6411
- crossReferencesLabel: 'Références',
6412
- },
6413
- es: {
6414
- dimensionsLabel: 'Dimensiones',
6415
- stakeholderPerspectivesLabel: 'Perspectivas de partes interesadas',
6416
- temporalAnalysisLabel: 'Análisis temporal',
6417
- shortTermLabel: 'Corto plazo (esta semana)',
6418
- mediumTermLabel: 'Medio plazo (este trimestre)',
6419
- longTermLabel: 'Largo plazo (esta legislatura)',
6420
- dimensionPolitical: 'Político',
6421
- dimensionEconomic: 'Económico',
6422
- dimensionSocial: 'Social',
6423
- dimensionLegal: 'Jurídico',
6424
- dimensionGeopolitical: 'Geopolítico',
6425
- stakeholderCitizen: 'Ciudadanos',
6426
- stakeholderIndustry: 'Industria',
6427
- stakeholderNgo: 'Sociedad civil',
6428
- stakeholderMep: 'Eurodiputados',
6429
- stakeholderGovernment: 'Gobiernos',
6430
- stakeholderMedia: 'Medios',
6431
- evidenceLabel: 'Evidencia',
6432
- crossReferencesLabel: 'Referencias',
6433
- },
6434
- nl: {
6435
- dimensionsLabel: 'Dimensies',
6436
- stakeholderPerspectivesLabel: 'Stakeholderperspectief',
6437
- temporalAnalysisLabel: 'Tijdanalyse',
6438
- shortTermLabel: 'Korte termijn (deze week)',
6439
- mediumTermLabel: 'Middellange termijn (dit kwartaal)',
6440
- longTermLabel: 'Lange termijn (deze termijn)',
6441
- dimensionPolitical: 'Politiek',
6442
- dimensionEconomic: 'Economisch',
6443
- dimensionSocial: 'Sociaal',
6444
- dimensionLegal: 'Juridisch',
6445
- dimensionGeopolitical: 'Geopolitiek',
6446
- stakeholderCitizen: 'Burgers',
6447
- stakeholderIndustry: 'Industrie',
6448
- stakeholderNgo: 'Maatschappelijk middenveld',
6449
- stakeholderMep: 'EP-leden',
6450
- stakeholderGovernment: 'Overheden',
6451
- stakeholderMedia: 'Media',
6452
- evidenceLabel: 'Bewijs',
6453
- crossReferencesLabel: 'Referenties',
6454
- },
6455
- ar: {
6456
- dimensionsLabel: 'الأبعاد',
6457
- stakeholderPerspectivesLabel: 'وجهات نظر أصحاب المصلحة',
6458
- temporalAnalysisLabel: 'التحليل الزمني',
6459
- shortTermLabel: 'قصير الأمد (هذا الأسبوع)',
6460
- mediumTermLabel: 'متوسط الأمد (هذا الربع)',
6461
- longTermLabel: 'طويل الأمد (هذه الفترة)',
6462
- dimensionPolitical: 'سياسي',
6463
- dimensionEconomic: 'اقتصادي',
6464
- dimensionSocial: 'اجتماعي',
6465
- dimensionLegal: 'قانوني',
6466
- dimensionGeopolitical: 'جيوسياسي',
6467
- stakeholderCitizen: 'المواطنون',
6468
- stakeholderIndustry: 'الصناعة',
6469
- stakeholderNgo: 'المجتمع المدني',
6470
- stakeholderMep: 'أعضاء البرلمان',
6471
- stakeholderGovernment: 'الحكومات',
6472
- stakeholderMedia: 'وسائل الإعلام',
6473
- evidenceLabel: 'الأدلة',
6474
- crossReferencesLabel: 'المراجع',
6475
- },
6476
- he: {
6477
- dimensionsLabel: 'ממדים',
6478
- stakeholderPerspectivesLabel: 'נקודות מבט של בעלי עניין',
6479
- temporalAnalysisLabel: 'ניתוח זמני',
6480
- shortTermLabel: 'טווח קצר (השבוע)',
6481
- mediumTermLabel: 'טווח בינוני (הרבעון הנוכחי)',
6482
- longTermLabel: 'טווח ארוך (הכהונה הנוכחית)',
6483
- dimensionPolitical: 'פוליטי',
6484
- dimensionEconomic: 'כלכלי',
6485
- dimensionSocial: 'חברתי',
6486
- dimensionLegal: 'משפטי',
6487
- dimensionGeopolitical: 'גיאופוליטי',
6488
- stakeholderCitizen: 'אזרחים',
6489
- stakeholderIndustry: 'תעשייה',
6490
- stakeholderNgo: 'חברה אזרחית',
6491
- stakeholderMep: 'חברי פרלמנט',
6492
- stakeholderGovernment: 'ממשלות',
6493
- stakeholderMedia: 'תקשורת',
6494
- evidenceLabel: 'ראיות',
6495
- crossReferencesLabel: 'מקורות',
6496
- },
6497
- ja: {
6498
- dimensionsLabel: '次元',
6499
- stakeholderPerspectivesLabel: '利害関係者の視点',
6500
- temporalAnalysisLabel: '時間的分析',
6501
- shortTermLabel: '短期(今週)',
6502
- mediumTermLabel: '中期(今四半期)',
6503
- longTermLabel: '長期(今会期)',
6504
- dimensionPolitical: '政治的',
6505
- dimensionEconomic: '経済的',
6506
- dimensionSocial: '社会的',
6507
- dimensionLegal: '法的',
6508
- dimensionGeopolitical: '地政学的',
6509
- stakeholderCitizen: '市民',
6510
- stakeholderIndustry: '産業',
6511
- stakeholderNgo: '市民社会',
6512
- stakeholderMep: 'MEP',
6513
- stakeholderGovernment: '政府',
6514
- stakeholderMedia: 'メディア',
6515
- evidenceLabel: '根拠',
6516
- crossReferencesLabel: '参考文献',
6517
- },
6518
- ko: {
6519
- dimensionsLabel: '차원',
6520
- stakeholderPerspectivesLabel: '이해관계자 관점',
6521
- temporalAnalysisLabel: '시간적 분석',
6522
- shortTermLabel: '단기(이번 주)',
6523
- mediumTermLabel: '중기(이번 분기)',
6524
- longTermLabel: '장기(이번 임기)',
6525
- dimensionPolitical: '정치적',
6526
- dimensionEconomic: '경제적',
6527
- dimensionSocial: '사회적',
6528
- dimensionLegal: '법적',
6529
- dimensionGeopolitical: '지정학적',
6530
- stakeholderCitizen: '시민',
6531
- stakeholderIndustry: '산업',
6532
- stakeholderNgo: '시민사회',
6533
- stakeholderMep: '유럽의원',
6534
- stakeholderGovernment: '정부',
6535
- stakeholderMedia: '미디어',
6536
- evidenceLabel: '증거',
6537
- crossReferencesLabel: '참고문헌',
6538
- },
6539
- zh: {
6540
- dimensionsLabel: '维度',
6541
- stakeholderPerspectivesLabel: '利益相关者视角',
6542
- temporalAnalysisLabel: '时间维度分析',
6543
- shortTermLabel: '短期(本周)',
6544
- mediumTermLabel: '中期(本季度)',
6545
- longTermLabel: '长期(本届任期)',
6546
- dimensionPolitical: '政治',
6547
- dimensionEconomic: '经济',
6548
- dimensionSocial: '社会',
6549
- dimensionLegal: '法律',
6550
- dimensionGeopolitical: '地缘政治',
6551
- stakeholderCitizen: '公民',
6552
- stakeholderIndustry: '工业',
6553
- stakeholderNgo: '公民社会',
6554
- stakeholderMep: '议员',
6555
- stakeholderGovernment: '政府',
6556
- stakeholderMedia: '媒体',
6557
- evidenceLabel: '证据',
6558
- crossReferencesLabel: '参考文献',
6559
- },
6560
- };
6561
6259
  // ─── Month-in-Review section heading strings ──────────────────────────────────
6562
6260
  /** Section headings for month-in-review articles, localized to all 14 languages */
6563
6261
  export const MONTH_IN_REVIEW_STRINGS = {
@@ -10,5 +10,5 @@
10
10
  export { ALL_LANGUAGES, LANGUAGE_PRESETS, LANGUAGE_FLAGS, LANGUAGE_NAMES, getLocalizedString, isSupportedLanguage, getTextDirection, } from './language-core.js';
11
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, RELATED_ARTICLES_NAV_LABELS, BREADCRUMB_HOME_LABELS, BREADCRUMB_NEWS_LABELS, TIMELINE_HEADINGS, COMPARISON_BEFORE_LABELS, COMPARISON_AFTER_LABELS, KEY_FIGURES_HEADINGS, 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, SYNTHESIS_SUMMARY_LABELS, DOCUMENT_ANALYSIS_LABELS, SIGNIFICANCE_SCORING_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, ANALYSIS_INSIGHTS_HEADING, } 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, LOCALIZED_KEYWORDS, MONTH_IN_REVIEW_STRINGS, ANALYSIS_QUALITY_LABELS, ANALYSIS_INSIGHTS_HEADING, } from './language-articles.js';
14
14
  //# sourceMappingURL=languages.d.ts.map
@@ -11,5 +11,5 @@
11
11
  */
12
12
  export { ALL_LANGUAGES, LANGUAGE_PRESETS, LANGUAGE_FLAGS, LANGUAGE_NAMES, getLocalizedString, isSupportedLanguage, getTextDirection, } from './language-core.js';
13
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, RELATED_ARTICLES_NAV_LABELS, BREADCRUMB_HOME_LABELS, BREADCRUMB_NEWS_LABELS, TIMELINE_HEADINGS, COMPARISON_BEFORE_LABELS, COMPARISON_AFTER_LABELS, KEY_FIGURES_HEADINGS, 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, SYNTHESIS_SUMMARY_LABELS, DOCUMENT_ANALYSIS_LABELS, SIGNIFICANCE_SCORING_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';
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, LOCALIZED_KEYWORDS, MONTH_IN_REVIEW_STRINGS, ANALYSIS_QUALITY_LABELS, ANALYSIS_INSIGHTS_HEADING, } from './language-articles.js';
15
15
  //# sourceMappingURL=languages.js.map
@@ -2,7 +2,11 @@
2
2
  * @module Generators/AnalysisBuilders
3
3
  * @description Barrel re-export — the implementation has been refactored into
4
4
  * bounded-context modules under {@link module:Generators/Builders}.
5
- * All public symbols remain accessible at this path for backward compatibility.
5
+ *
6
+ * **Note:** Multi-dimensional SWOT builders, standard mindmap/sankey section
7
+ * builders, and related helpers were removed as dead code in v0.8.27+.
8
+ * Only the actively-used analysis, SWOT, dashboard, and intelligence mindmap
9
+ * builders are exported below.
6
10
  */
7
- export { AI_MARKER, buildVotingAnalysis, buildVotingSwot, buildVotingDashboard, buildVotingMindmap, buildVotingMultiDimensionalSwot, buildProspectiveAnalysis, buildProspectiveSwot, buildProspectiveDashboard, buildProspectiveMindmap, buildProspectiveMultiDimensionalSwot, buildBreakingAnalysis, buildBreakingSwot, buildBreakingDashboard, buildBreakingMindmap, buildBreakingMultiDimensionalSwot, buildPropositionsAnalysis, buildPropositionsSwot, buildPropositionsDashboard, buildPropositionsMindmap, buildPropositionsMultiDimensionalSwot, buildCommitteeAnalysis, buildCommitteeSwot, buildCommitteeDashboard, buildCommitteeMindmap, buildCommitteeMultiDimensionalSwot, } from './builders/index.js';
11
+ export { AI_MARKER, buildVotingAnalysis, buildVotingSwot, buildVotingDashboard, buildVotingMindmap, buildProspectiveAnalysis, buildProspectiveSwot, buildProspectiveDashboard, buildProspectiveMindmap, buildBreakingAnalysis, buildBreakingSwot, buildBreakingDashboard, buildBreakingMindmap, buildPropositionsAnalysis, buildPropositionsSwot, buildPropositionsDashboard, buildPropositionsMindmap, buildCommitteeAnalysis, buildCommitteeSwot, buildCommitteeDashboard, buildCommitteeMindmap, } from './builders/index.js';
8
12
  //# sourceMappingURL=analysis-builders.d.ts.map
@@ -4,7 +4,11 @@
4
4
  * @module Generators/AnalysisBuilders
5
5
  * @description Barrel re-export — the implementation has been refactored into
6
6
  * bounded-context modules under {@link module:Generators/Builders}.
7
- * All public symbols remain accessible at this path for backward compatibility.
7
+ *
8
+ * **Note:** Multi-dimensional SWOT builders, standard mindmap/sankey section
9
+ * builders, and related helpers were removed as dead code in v0.8.27+.
10
+ * Only the actively-used analysis, SWOT, dashboard, and intelligence mindmap
11
+ * builders are exported below.
8
12
  */
9
- export { AI_MARKER, buildVotingAnalysis, buildVotingSwot, buildVotingDashboard, buildVotingMindmap, buildVotingMultiDimensionalSwot, buildProspectiveAnalysis, buildProspectiveSwot, buildProspectiveDashboard, buildProspectiveMindmap, buildProspectiveMultiDimensionalSwot, buildBreakingAnalysis, buildBreakingSwot, buildBreakingDashboard, buildBreakingMindmap, buildBreakingMultiDimensionalSwot, buildPropositionsAnalysis, buildPropositionsSwot, buildPropositionsDashboard, buildPropositionsMindmap, buildPropositionsMultiDimensionalSwot, buildCommitteeAnalysis, buildCommitteeSwot, buildCommitteeDashboard, buildCommitteeMindmap, buildCommitteeMultiDimensionalSwot, } from './builders/index.js';
13
+ export { AI_MARKER, buildVotingAnalysis, buildVotingSwot, buildVotingDashboard, buildVotingMindmap, buildProspectiveAnalysis, buildProspectiveSwot, buildProspectiveDashboard, buildProspectiveMindmap, buildBreakingAnalysis, buildBreakingSwot, buildBreakingDashboard, buildBreakingMindmap, buildPropositionsAnalysis, buildPropositionsSwot, buildPropositionsDashboard, buildPropositionsMindmap, buildCommitteeAnalysis, buildCommitteeSwot, buildCommitteeDashboard, buildCommitteeMindmap, } from './builders/index.js';
10
14
  //# sourceMappingURL=analysis-builders.js.map
@@ -3,7 +3,7 @@
3
3
  * @description Deep analysis, SWOT, dashboard, mindmap and multi-dimensional SWOT
4
4
  * builders for breaking news articles.
5
5
  */
6
- import type { DeepAnalysis, BreakingNewsFeedData, LanguageCode, SwotAnalysis, DashboardConfig, IntelligenceMindmap, MultiDimensionalSwot } from '../../types/index.js';
6
+ import type { DeepAnalysis, BreakingNewsFeedData, LanguageCode, SwotAnalysis, DashboardConfig, IntelligenceMindmap } from '../../types/index.js';
7
7
  /**
8
8
  * Build deep analysis for breaking news articles.
9
9
  *
@@ -45,14 +45,4 @@ export declare function buildBreakingDashboard(feedData: BreakingNewsFeedData |
45
45
  * @returns Intelligence mindmap data
46
46
  */
47
47
  export declare function buildBreakingMindmap(feedData: BreakingNewsFeedData | undefined, _lang?: LanguageCode): IntelligenceMindmap | null;
48
- /**
49
- * Build multi-dimensional SWOT analysis for breaking news articles.
50
- *
51
- * @param feedData - EP feed data
52
- * @param anomalyRaw - Raw anomaly text
53
- * @param coalitionRaw - Raw coalition text
54
- * @param lang - Target language code
55
- * @returns Multi-dimensional SWOT data
56
- */
57
- export declare function buildBreakingMultiDimensionalSwot(feedData: BreakingNewsFeedData | undefined, anomalyRaw: string, coalitionRaw: string, lang?: LanguageCode): MultiDimensionalSwot;
58
48
  //# sourceMappingURL=breaking-builders.d.ts.map
@@ -3,7 +3,7 @@
3
3
  import { getLocalizedString, BREAKING_STRINGS, SWOT_BUILDER_STRINGS, DASHBOARD_BUILDER_STRINGS, } from '../../constants/languages.js';
4
4
  import { buildDefaultStakeholderPerspectives } from '../../utils/intelligence-analysis.js';
5
5
  import { AI_MARKER } from '../../constants/analysis-constants.js';
6
- import { buildOutcomeMatrix, buildCategoryDistributionPanel, makeDimension, } from './shared-builders.js';
6
+ import { buildOutcomeMatrix, buildCategoryDistributionPanel } from './shared-builders.js';
7
7
  // ─── Constant ─────────────────────────────────────────────────────────────────
8
8
  /**
9
9
  * Build multi-stakeholder perspectives for a breaking news analysis.
@@ -22,77 +22,6 @@ function buildBreakingStakeholderPerspectives(adoptedCount, topic) {
22
22
  eu_institutions: 0.9,
23
23
  });
24
24
  }
25
- /**
26
- * Build stakeholder views for breaking multi-dimensional SWOT.
27
- *
28
- * @param adoptedCount - Number of adopted texts
29
- * @param anomalyRaw - Raw anomaly text
30
- * @param procCount - Number of active procedures
31
- * @param eventCount - Number of events
32
- * @param coalitionRaw - Raw coalition text
33
- * @param s - Localized SWOT builder strings
34
- * @returns Stakeholder views map
35
- */
36
- function buildBreakingMDStakeholders(adoptedCount, anomalyRaw, procCount, eventCount, coalitionRaw, s) {
37
- return {
38
- citizen: {
39
- strengths: adoptedCount > 0
40
- ? [{ text: s.breakingAdopted(adoptedCount), severity: 'medium' }]
41
- : [],
42
- weaknesses: anomalyRaw
43
- ? [{ text: s.breakingAnomalyWeakness, severity: 'high' }]
44
- : [],
45
- opportunities: procCount > 0
46
- ? [{ text: s.breakingProceduresActive(procCount), severity: 'medium' }]
47
- : [],
48
- threats: anomalyRaw ? [{ text: s.breakingAnomalyThreat, severity: 'high' }] : [],
49
- },
50
- media: {
51
- strengths: eventCount > 0 ? [{ text: s.breakingEvents(eventCount), severity: 'high' }] : [],
52
- weaknesses: [],
53
- opportunities: coalitionRaw
54
- ? [{ text: s.breakingCoalitionOpportunity, severity: 'medium' }]
55
- : [],
56
- threats: [{ text: s.breakingRapidEvents, severity: 'medium' }],
57
- },
58
- };
59
- }
60
- /**
61
- * Compute weakness and opportunity items for breaking news based on procedure count.
62
- * Returns a weakness when no procedures exist, or an opportunity when they do.
63
- *
64
- * @param procCount - Number of active procedures
65
- * @param s - Localized SWOT builder strings
66
- * @returns Tuple of weakness items and opportunity items
67
- */
68
- function getBreakingProcedureItems(procCount, s) {
69
- if (procCount === 0) {
70
- return [[{ text: s.breakingNoProcedures, severity: 'medium' }], []];
71
- }
72
- return [[], [{ text: s.breakingProceduresActive(procCount), severity: 'medium' }]];
73
- }
74
- /**
75
- * Build the 5 SWOT dimensions for breaking news multi-dimensional SWOT.
76
- *
77
- * @param adoptedCount - Number of adopted texts
78
- * @param anomalyRaw - Raw anomaly text
79
- * @param coalitionRaw - Raw coalition text
80
- * @param procCount - Number of active procedures
81
- * @param eventCount - Number of events
82
- * @param s - Localized SWOT builder strings
83
- * @returns Array of 5 SwotDimension objects
84
- */
85
- function buildBreakingMDDimensions(adoptedCount, anomalyRaw, coalitionRaw, procCount, eventCount, s) {
86
- const [procWeakness, procOpportunity] = getBreakingProcedureItems(procCount, s);
87
- const political = makeDimension('political', adoptedCount > 0 ? [{ text: s.breakingAdopted(adoptedCount), severity: 'high' }] : [], anomalyRaw ? [{ text: s.breakingAnomalyWeakness, severity: 'high' }] : [], coalitionRaw ? [{ text: s.breakingCoalitionOpportunity, severity: 'medium' }] : [], anomalyRaw ? [{ text: s.breakingAnomalyThreat, severity: 'high' }] : []);
88
- const economic = makeDimension('economic', adoptedCount > 0
89
- ? [{ text: s.breakingAdopted(adoptedCount), severity: 'medium' }]
90
- : [], procWeakness, procOpportunity, [{ text: s.breakingRapidEvents, severity: 'medium' }]);
91
- const social = makeDimension('social', eventCount > 0 ? [{ text: s.breakingEvents(eventCount), severity: 'medium' }] : [], [], procOpportunity, [{ text: s.breakingRapidEvents, severity: 'medium' }]);
92
- const legal = makeDimension('legal', adoptedCount > 0 ? [{ text: s.breakingAdopted(adoptedCount), severity: 'high' }] : [], procWeakness, procOpportunity, anomalyRaw ? [{ text: s.breakingAnomalyThreat, severity: 'high' }] : []);
93
- const geopolitical = makeDimension('geopolitical', eventCount > 0 ? [{ text: s.breakingEvents(eventCount), severity: 'medium' }] : [], [], coalitionRaw ? [{ text: s.breakingCoalitionOpportunity, severity: 'medium' }] : [], anomalyRaw ? [{ text: s.breakingAnomalyThreat, severity: 'medium' }] : []);
94
- return [political, economic, social, legal, geopolitical];
95
- }
96
25
  /**
97
26
  * Build deep analysis for breaking news articles.
98
27
  *
@@ -464,36 +393,4 @@ export function buildBreakingMindmap(feedData, _lang = 'en') {
464
393
  summary: `${totalItems} feed items detected across ${domainNodes.length} activity categories.`,
465
394
  };
466
395
  }
467
- /**
468
- * Build multi-dimensional SWOT analysis for breaking news articles.
469
- *
470
- * @param feedData - EP feed data
471
- * @param anomalyRaw - Raw anomaly text
472
- * @param coalitionRaw - Raw coalition text
473
- * @param lang - Target language code
474
- * @returns Multi-dimensional SWOT data
475
- */
476
- export function buildBreakingMultiDimensionalSwot(feedData, anomalyRaw, coalitionRaw, lang = 'en') {
477
- const s = getLocalizedString(SWOT_BUILDER_STRINGS, lang);
478
- const base = buildBreakingSwot(feedData, anomalyRaw, coalitionRaw, lang);
479
- const adoptedCount = feedData?.adoptedTexts.length ?? 0;
480
- const eventCount = feedData?.events.length ?? 0;
481
- const procCount = feedData?.procedures.length ?? 0;
482
- const dimensions = buildBreakingMDDimensions(adoptedCount, anomalyRaw, coalitionRaw, procCount, eventCount, s);
483
- const temporal = {
484
- shortTerm: base,
485
- mediumTerm: {
486
- strengths: base.strengths.filter((i) => i.severity === 'high'),
487
- weaknesses: base.weaknesses,
488
- opportunities: base.opportunities,
489
- threats: base.threats.filter((i) => i.severity === 'high'),
490
- },
491
- };
492
- const stakeholderViews = buildBreakingMDStakeholders(adoptedCount, anomalyRaw, procCount, eventCount, coalitionRaw, s);
493
- return {
494
- dimensions,
495
- temporal,
496
- stakeholderViews,
497
- };
498
- }
499
396
  //# sourceMappingURL=breaking-builders.js.map
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * @module Generators/Builders/CommitteeBuilders
3
- * @description Deep analysis, SWOT, dashboard, mindmap and multi-dimensional SWOT
3
+ * @description Deep analysis, SWOT, dashboard and mindmap
4
4
  * builders for committee report articles.
5
5
  */
6
- import type { DeepAnalysis, CommitteeData, LanguageCode, SwotAnalysis, DashboardConfig, IntelligenceMindmap, MultiDimensionalSwot } from '../../types/index.js';
6
+ import type { DeepAnalysis, CommitteeData, LanguageCode, SwotAnalysis, DashboardConfig, IntelligenceMindmap } from '../../types/index.js';
7
7
  /**
8
8
  * Build deep analysis for committee reports articles.
9
9
  *
@@ -41,12 +41,4 @@ export declare function buildCommitteeDashboard(committees: readonly CommitteeDa
41
41
  * @returns Intelligence mindmap data, or null when all data is placeholder
42
42
  */
43
43
  export declare function buildCommitteeMindmap(committees: readonly CommitteeData[], _lang?: LanguageCode): IntelligenceMindmap | null;
44
- /**
45
- * Build multi-dimensional SWOT analysis for committee reports articles.
46
- *
47
- * @param committees - Committee data list
48
- * @param lang - Target language code
49
- * @returns Multi-dimensional SWOT data, or `null` when all committee data is placeholder
50
- */
51
- export declare function buildCommitteeMultiDimensionalSwot(committees: readonly CommitteeData[], lang?: LanguageCode): MultiDimensionalSwot | null;
52
44
  //# sourceMappingURL=committee-builders.d.ts.map