riksdagsmonitor 0.8.21 → 0.8.24
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.
- package/README.md +53 -1
- package/dist/lib/dashboards/party-dashboard.js +2 -1
- package/dist/lib/dashboards/party-dashboard.js.map +1 -1
- package/dist/lib/dashboards/risk-dashboard.js +2 -1
- package/dist/lib/dashboards/risk-dashboard.js.map +1 -1
- package/dist/lib/shared/index.d.ts +0 -1
- package/dist/lib/shared/index.d.ts.map +1 -1
- package/dist/lib/shared/index.js +3 -1
- package/dist/lib/shared/index.js.map +1 -1
- package/dist/lib/shared/register-globals.d.ts +1 -1
- package/dist/lib/shared/register-globals.d.ts.map +1 -1
- package/dist/lib/shared/register-globals.js +7 -1
- package/dist/lib/shared/register-globals.js.map +1 -1
- package/package.json +54 -22
- package/dist/scripts/analysis-reader.d.ts +0 -241
- package/dist/scripts/analysis-reader.d.ts.map +0 -1
- package/dist/scripts/analysis-reader.js +0 -495
- package/dist/scripts/analysis-reader.js.map +0 -1
- package/dist/scripts/article-quality-enhancer.d.ts +0 -148
- package/dist/scripts/article-quality-enhancer.d.ts.map +0 -1
- package/dist/scripts/article-quality-enhancer.js +0 -430
- package/dist/scripts/article-quality-enhancer.js.map +0 -1
- package/dist/scripts/article-template/constants.d.ts +0 -104
- package/dist/scripts/article-template/constants.d.ts.map +0 -1
- package/dist/scripts/article-template/constants.js +0 -225
- package/dist/scripts/article-template/constants.js.map +0 -1
- package/dist/scripts/article-template/helpers.d.ts +0 -83
- package/dist/scripts/article-template/helpers.d.ts.map +0 -1
- package/dist/scripts/article-template/helpers.js +0 -236
- package/dist/scripts/article-template/helpers.js.map +0 -1
- package/dist/scripts/article-template/index.d.ts +0 -39
- package/dist/scripts/article-template/index.d.ts.map +0 -1
- package/dist/scripts/article-template/index.js +0 -37
- package/dist/scripts/article-template/index.js.map +0 -1
- package/dist/scripts/article-template/registry.d.ts +0 -64
- package/dist/scripts/article-template/registry.d.ts.map +0 -1
- package/dist/scripts/article-template/registry.js +0 -405
- package/dist/scripts/article-template/registry.js.map +0 -1
- package/dist/scripts/article-template/template.d.ts +0 -18
- package/dist/scripts/article-template/template.d.ts.map +0 -1
- package/dist/scripts/article-template/template.js +0 -359
- package/dist/scripts/article-template/template.js.map +0 -1
- package/dist/scripts/article-template/types.d.ts +0 -90
- package/dist/scripts/article-template/types.d.ts.map +0 -1
- package/dist/scripts/article-template/types.js +0 -96
- package/dist/scripts/article-template/types.js.map +0 -1
- package/dist/scripts/article-template.d.ts +0 -18
- package/dist/scripts/article-template.d.ts.map +0 -1
- package/dist/scripts/article-template.js +0 -18
- package/dist/scripts/article-template.js.map +0 -1
- package/dist/scripts/catalog-downloaded-data.d.ts +0 -66
- package/dist/scripts/catalog-downloaded-data.d.ts.map +0 -1
- package/dist/scripts/catalog-downloaded-data.js +0 -239
- package/dist/scripts/catalog-downloaded-data.js.map +0 -1
- package/dist/scripts/check-cia-schema-updates.d.ts +0 -186
- package/dist/scripts/check-cia-schema-updates.d.ts.map +0 -1
- package/dist/scripts/check-cia-schema-updates.js +0 -363
- package/dist/scripts/check-cia-schema-updates.js.map +0 -1
- package/dist/scripts/data-transformers/calendar.d.ts +0 -16
- package/dist/scripts/data-transformers/calendar.d.ts.map +0 -1
- package/dist/scripts/data-transformers/calendar.js +0 -137
- package/dist/scripts/data-transformers/calendar.js.map +0 -1
- package/dist/scripts/data-transformers/constants/committee-names.d.ts +0 -15
- package/dist/scripts/data-transformers/constants/committee-names.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/committee-names.js +0 -30
- package/dist/scripts/data-transformers/constants/committee-names.js.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts +0 -11
- package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part1.js +0 -900
- package/dist/scripts/data-transformers/constants/content-labels-part1.js.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts +0 -11
- package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels-part2.js +0 -900
- package/dist/scripts/data-transformers/constants/content-labels-part2.js.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels.d.ts +0 -13
- package/dist/scripts/data-transformers/constants/content-labels.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/content-labels.js +0 -18
- package/dist/scripts/data-transformers/constants/content-labels.js.map +0 -1
- package/dist/scripts/data-transformers/constants/index.d.ts +0 -15
- package/dist/scripts/data-transformers/constants/index.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/index.js +0 -15
- package/dist/scripts/data-transformers/constants/index.js.map +0 -1
- package/dist/scripts/data-transformers/constants/locale-map.d.ts +0 -13
- package/dist/scripts/data-transformers/constants/locale-map.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants/locale-map.js +0 -17
- package/dist/scripts/data-transformers/constants/locale-map.js.map +0 -1
- package/dist/scripts/data-transformers/constants.d.ts +0 -14
- package/dist/scripts/data-transformers/constants.d.ts.map +0 -1
- package/dist/scripts/data-transformers/constants.js +0 -14
- package/dist/scripts/data-transformers/constants.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts +0 -64
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js +0 -805
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts +0 -50
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.js +0 -310
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/committee.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/committee.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/committee.js +0 -247
- package/dist/scripts/data-transformers/content-generators/committee.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts +0 -124
- package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/dashboard-section.js +0 -564
- package/dist/scripts/data-transformers/content-generators/dashboard-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts +0 -82
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js +0 -321
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/generic.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/generic.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/generic.js +0 -295
- package/dist/scripts/data-transformers/content-generators/generic.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/index.d.ts +0 -84
- package/dist/scripts/data-transformers/content-generators/index.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/index.js +0 -47
- package/dist/scripts/data-transformers/content-generators/index.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/interpellations.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/interpellations.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/interpellations.js +0 -124
- package/dist/scripts/data-transformers/content-generators/interpellations.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts +0 -137
- package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/mindmap-section.js +0 -286
- package/dist/scripts/data-transformers/content-generators/mindmap-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts +0 -17
- package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/month-ahead.js +0 -212
- package/dist/scripts/data-transformers/content-generators/month-ahead.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts +0 -17
- package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/monthly-review.js +0 -173
- package/dist/scripts/data-transformers/content-generators/monthly-review.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/motions.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/motions.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/motions.js +0 -158
- package/dist/scripts/data-transformers/content-generators/motions.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts +0 -62
- package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/newsworthiness.js +0 -254
- package/dist/scripts/data-transformers/content-generators/newsworthiness.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/propositions.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/propositions.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/propositions.js +0 -263
- package/dist/scripts/data-transformers/content-generators/propositions.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts +0 -92
- package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/sankey-section.js +0 -257
- package/dist/scripts/data-transformers/content-generators/sankey-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/shared.d.ts +0 -139
- package/dist/scripts/data-transformers/content-generators/shared.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/shared.js +0 -935
- package/dist/scripts/data-transformers/content-generators/shared.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/swot-section.d.ts +0 -50
- package/dist/scripts/data-transformers/content-generators/swot-section.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/swot-section.js +0 -177
- package/dist/scripts/data-transformers/content-generators/swot-section.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts +0 -12
- package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators/week-ahead.js +0 -332
- package/dist/scripts/data-transformers/content-generators/week-ahead.js.map +0 -1
- package/dist/scripts/data-transformers/content-generators.d.ts +0 -15
- package/dist/scripts/data-transformers/content-generators.d.ts.map +0 -1
- package/dist/scripts/data-transformers/content-generators.js +0 -14
- package/dist/scripts/data-transformers/content-generators.js.map +0 -1
- package/dist/scripts/data-transformers/document-analysis.d.ts +0 -58
- package/dist/scripts/data-transformers/document-analysis.d.ts.map +0 -1
- package/dist/scripts/data-transformers/document-analysis.js +0 -396
- package/dist/scripts/data-transformers/document-analysis.js.map +0 -1
- package/dist/scripts/data-transformers/helpers.d.ts +0 -144
- package/dist/scripts/data-transformers/helpers.d.ts.map +0 -1
- package/dist/scripts/data-transformers/helpers.js +0 -408
- package/dist/scripts/data-transformers/helpers.js.map +0 -1
- package/dist/scripts/data-transformers/index.d.ts +0 -45
- package/dist/scripts/data-transformers/index.d.ts.map +0 -1
- package/dist/scripts/data-transformers/index.js +0 -66
- package/dist/scripts/data-transformers/index.js.map +0 -1
- package/dist/scripts/data-transformers/metadata.d.ts +0 -42
- package/dist/scripts/data-transformers/metadata.d.ts.map +0 -1
- package/dist/scripts/data-transformers/metadata.js +0 -385
- package/dist/scripts/data-transformers/metadata.js.map +0 -1
- package/dist/scripts/data-transformers/policy-analysis.d.ts +0 -105
- package/dist/scripts/data-transformers/policy-analysis.d.ts.map +0 -1
- package/dist/scripts/data-transformers/policy-analysis.js +0 -686
- package/dist/scripts/data-transformers/policy-analysis.js.map +0 -1
- package/dist/scripts/data-transformers/risk-analysis.d.ts +0 -104
- package/dist/scripts/data-transformers/risk-analysis.d.ts.map +0 -1
- package/dist/scripts/data-transformers/risk-analysis.js +0 -279
- package/dist/scripts/data-transformers/risk-analysis.js.map +0 -1
- package/dist/scripts/data-transformers/types.d.ts +0 -260
- package/dist/scripts/data-transformers/types.d.ts.map +0 -1
- package/dist/scripts/data-transformers/types.js +0 -11
- package/dist/scripts/data-transformers/types.js.map +0 -1
- package/dist/scripts/data-transformers.d.ts +0 -23
- package/dist/scripts/data-transformers.d.ts.map +0 -1
- package/dist/scripts/data-transformers.js +0 -35
- package/dist/scripts/data-transformers.js.map +0 -1
- package/dist/scripts/deep-inspection/index.d.ts +0 -55
- package/dist/scripts/deep-inspection/index.d.ts.map +0 -1
- package/dist/scripts/deep-inspection/index.js +0 -66
- package/dist/scripts/deep-inspection/index.js.map +0 -1
- package/dist/scripts/detect-swedish-leakage.d.ts +0 -69
- package/dist/scripts/detect-swedish-leakage.d.ts.map +0 -1
- package/dist/scripts/detect-swedish-leakage.js +0 -417
- package/dist/scripts/detect-swedish-leakage.js.map +0 -1
- package/dist/scripts/editorial-framework.d.ts +0 -121
- package/dist/scripts/editorial-framework.d.ts.map +0 -1
- package/dist/scripts/editorial-framework.js +0 -364
- package/dist/scripts/editorial-framework.js.map +0 -1
- package/dist/scripts/editorial-pillars.d.ts +0 -43
- package/dist/scripts/editorial-pillars.d.ts.map +0 -1
- package/dist/scripts/editorial-pillars.js +0 -215
- package/dist/scripts/editorial-pillars.js.map +0 -1
- package/dist/scripts/extract-news-metadata.d.ts +0 -12
- package/dist/scripts/extract-news-metadata.d.ts.map +0 -1
- package/dist/scripts/extract-news-metadata.js +0 -107
- package/dist/scripts/extract-news-metadata.js.map +0 -1
- package/dist/scripts/extract-vocabulary.d.ts +0 -15
- package/dist/scripts/extract-vocabulary.d.ts.map +0 -1
- package/dist/scripts/extract-vocabulary.js +0 -255
- package/dist/scripts/extract-vocabulary.js.map +0 -1
- package/dist/scripts/fix-article-navigation.d.ts +0 -37
- package/dist/scripts/fix-article-navigation.d.ts.map +0 -1
- package/dist/scripts/fix-article-navigation.js +0 -198
- package/dist/scripts/fix-article-navigation.js.map +0 -1
- package/dist/scripts/fix-keywords-localization.d.ts +0 -18
- package/dist/scripts/fix-keywords-localization.d.ts.map +0 -1
- package/dist/scripts/fix-keywords-localization.js +0 -270
- package/dist/scripts/fix-keywords-localization.js.map +0 -1
- package/dist/scripts/fix-old-articles-branding.d.ts +0 -17
- package/dist/scripts/fix-old-articles-branding.d.ts.map +0 -1
- package/dist/scripts/fix-old-articles-branding.js +0 -229
- package/dist/scripts/fix-old-articles-branding.js.map +0 -1
- package/dist/scripts/generate-news-backport.d.ts +0 -16
- package/dist/scripts/generate-news-backport.d.ts.map +0 -1
- package/dist/scripts/generate-news-backport.js +0 -379
- package/dist/scripts/generate-news-backport.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts +0 -141
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js +0 -546
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts +0 -59
- package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-cache.js +0 -116
- package/dist/scripts/generate-news-enhanced/analysis-cache.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts +0 -58
- package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/analysis-labels.js +0 -144
- package/dist/scripts/generate-news-enhanced/analysis-labels.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/config.d.ts +0 -58
- package/dist/scripts/generate-news-enhanced/config.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/config.js +0 -286
- package/dist/scripts/generate-news-enhanced/config.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/generators.d.ts +0 -119
- package/dist/scripts/generate-news-enhanced/generators.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/generators.js +0 -2131
- package/dist/scripts/generate-news-enhanced/generators.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/helpers.d.ts +0 -122
- package/dist/scripts/generate-news-enhanced/helpers.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/helpers.js +0 -468
- package/dist/scripts/generate-news-enhanced/helpers.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/index.d.ts +0 -19
- package/dist/scripts/generate-news-enhanced/index.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/index.js +0 -221
- package/dist/scripts/generate-news-enhanced/index.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts +0 -46
- package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/swot-analyzer.js +0 -1227
- package/dist/scripts/generate-news-enhanced/swot-analyzer.js.map +0 -1
- package/dist/scripts/generate-news-enhanced/types.d.ts +0 -34
- package/dist/scripts/generate-news-enhanced/types.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced/types.js +0 -9
- package/dist/scripts/generate-news-enhanced/types.js.map +0 -1
- package/dist/scripts/generate-news-enhanced.d.ts +0 -25
- package/dist/scripts/generate-news-enhanced.d.ts.map +0 -1
- package/dist/scripts/generate-news-enhanced.js +0 -37
- package/dist/scripts/generate-news-enhanced.js.map +0 -1
- package/dist/scripts/generate-news-indexes/constants.d.ts +0 -20
- package/dist/scripts/generate-news-indexes/constants.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/constants.js +0 -308
- package/dist/scripts/generate-news-indexes/constants.js.map +0 -1
- package/dist/scripts/generate-news-indexes/helpers.d.ts +0 -73
- package/dist/scripts/generate-news-indexes/helpers.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/helpers.js +0 -352
- package/dist/scripts/generate-news-indexes/helpers.js.map +0 -1
- package/dist/scripts/generate-news-indexes/index.d.ts +0 -20
- package/dist/scripts/generate-news-indexes/index.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/index.js +0 -75
- package/dist/scripts/generate-news-indexes/index.js.map +0 -1
- package/dist/scripts/generate-news-indexes/template.d.ts +0 -25
- package/dist/scripts/generate-news-indexes/template.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/template.js +0 -644
- package/dist/scripts/generate-news-indexes/template.js.map +0 -1
- package/dist/scripts/generate-news-indexes/types.d.ts +0 -96
- package/dist/scripts/generate-news-indexes/types.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes/types.js +0 -9
- package/dist/scripts/generate-news-indexes/types.js.map +0 -1
- package/dist/scripts/generate-news-indexes.d.ts +0 -20
- package/dist/scripts/generate-news-indexes.d.ts.map +0 -1
- package/dist/scripts/generate-news-indexes.js +0 -19
- package/dist/scripts/generate-news-indexes.js.map +0 -1
- package/dist/scripts/generate-rss.d.ts +0 -48
- package/dist/scripts/generate-rss.d.ts.map +0 -1
- package/dist/scripts/generate-rss.js +0 -299
- package/dist/scripts/generate-rss.js.map +0 -1
- package/dist/scripts/generate-sitemap-html.d.ts +0 -79
- package/dist/scripts/generate-sitemap-html.d.ts.map +0 -1
- package/dist/scripts/generate-sitemap-html.js +0 -878
- package/dist/scripts/generate-sitemap-html.js.map +0 -1
- package/dist/scripts/generate-sitemap.d.ts +0 -23
- package/dist/scripts/generate-sitemap.d.ts.map +0 -1
- package/dist/scripts/generate-sitemap.js +0 -476
- package/dist/scripts/generate-sitemap.js.map +0 -1
- package/dist/scripts/generate-types-from-cia-schemas.d.ts +0 -176
- package/dist/scripts/generate-types-from-cia-schemas.d.ts.map +0 -1
- package/dist/scripts/generate-types-from-cia-schemas.js +0 -318
- package/dist/scripts/generate-types-from-cia-schemas.js.map +0 -1
- package/dist/scripts/government-role-validator.d.ts +0 -65
- package/dist/scripts/government-role-validator.d.ts.map +0 -1
- package/dist/scripts/government-role-validator.js +0 -217
- package/dist/scripts/government-role-validator.js.map +0 -1
- package/dist/scripts/html-utils.d.ts +0 -17
- package/dist/scripts/html-utils.d.ts.map +0 -1
- package/dist/scripts/html-utils.js +0 -29
- package/dist/scripts/html-utils.js.map +0 -1
- package/dist/scripts/load-cia-stats.d.ts +0 -89
- package/dist/scripts/load-cia-stats.d.ts.map +0 -1
- package/dist/scripts/load-cia-stats.js +0 -400
- package/dist/scripts/load-cia-stats.js.map +0 -1
- package/dist/scripts/mcp-client/client.d.ts +0 -73
- package/dist/scripts/mcp-client/client.d.ts.map +0 -1
- package/dist/scripts/mcp-client/client.js +0 -526
- package/dist/scripts/mcp-client/client.js.map +0 -1
- package/dist/scripts/mcp-client/document-types.d.ts +0 -23
- package/dist/scripts/mcp-client/document-types.d.ts.map +0 -1
- package/dist/scripts/mcp-client/document-types.js +0 -62
- package/dist/scripts/mcp-client/document-types.js.map +0 -1
- package/dist/scripts/mcp-client/index.d.ts +0 -34
- package/dist/scripts/mcp-client/index.d.ts.map +0 -1
- package/dist/scripts/mcp-client/index.js +0 -67
- package/dist/scripts/mcp-client/index.js.map +0 -1
- package/dist/scripts/mcp-client/transport.d.ts +0 -32
- package/dist/scripts/mcp-client/transport.d.ts.map +0 -1
- package/dist/scripts/mcp-client/transport.js +0 -102
- package/dist/scripts/mcp-client/transport.js.map +0 -1
- package/dist/scripts/mcp-client.d.ts +0 -18
- package/dist/scripts/mcp-client.d.ts.map +0 -1
- package/dist/scripts/mcp-client.js +0 -18
- package/dist/scripts/mcp-client.js.map +0 -1
- package/dist/scripts/mcp-query-cli.d.ts +0 -25
- package/dist/scripts/mcp-query-cli.d.ts.map +0 -1
- package/dist/scripts/mcp-query-cli.js +0 -66
- package/dist/scripts/mcp-query-cli.js.map +0 -1
- package/dist/scripts/news-types/breaking-news.d.ts +0 -178
- package/dist/scripts/news-types/breaking-news.d.ts.map +0 -1
- package/dist/scripts/news-types/breaking-news.js +0 -432
- package/dist/scripts/news-types/breaking-news.js.map +0 -1
- package/dist/scripts/news-types/committee-reports.d.ts +0 -212
- package/dist/scripts/news-types/committee-reports.d.ts.map +0 -1
- package/dist/scripts/news-types/committee-reports.js +0 -404
- package/dist/scripts/news-types/committee-reports.js.map +0 -1
- package/dist/scripts/news-types/month-ahead.d.ts +0 -71
- package/dist/scripts/news-types/month-ahead.d.ts.map +0 -1
- package/dist/scripts/news-types/month-ahead.js +0 -392
- package/dist/scripts/news-types/month-ahead.js.map +0 -1
- package/dist/scripts/news-types/monthly-review.d.ts +0 -61
- package/dist/scripts/news-types/monthly-review.d.ts.map +0 -1
- package/dist/scripts/news-types/monthly-review.js +0 -417
- package/dist/scripts/news-types/monthly-review.js.map +0 -1
- package/dist/scripts/news-types/motions.d.ts +0 -214
- package/dist/scripts/news-types/motions.d.ts.map +0 -1
- package/dist/scripts/news-types/motions.js +0 -447
- package/dist/scripts/news-types/motions.js.map +0 -1
- package/dist/scripts/news-types/propositions.d.ts +0 -204
- package/dist/scripts/news-types/propositions.d.ts.map +0 -1
- package/dist/scripts/news-types/propositions.js +0 -401
- package/dist/scripts/news-types/propositions.js.map +0 -1
- package/dist/scripts/news-types/week-ahead.d.ts +0 -231
- package/dist/scripts/news-types/week-ahead.d.ts.map +0 -1
- package/dist/scripts/news-types/week-ahead.js +0 -441
- package/dist/scripts/news-types/week-ahead.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/analysis.d.ts +0 -47
- package/dist/scripts/news-types/weekly-review/analysis.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/analysis.js +0 -276
- package/dist/scripts/news-types/weekly-review/analysis.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/data-loader.d.ts +0 -51
- package/dist/scripts/news-types/weekly-review/data-loader.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/data-loader.js +0 -298
- package/dist/scripts/news-types/weekly-review/data-loader.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/generator.d.ts +0 -18
- package/dist/scripts/news-types/weekly-review/generator.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/generator.js +0 -284
- package/dist/scripts/news-types/weekly-review/generator.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/index.d.ts +0 -20
- package/dist/scripts/news-types/weekly-review/index.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/index.js +0 -23
- package/dist/scripts/news-types/weekly-review/index.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/types.d.ts +0 -72
- package/dist/scripts/news-types/weekly-review/types.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/types.js +0 -20
- package/dist/scripts/news-types/weekly-review/types.js.map +0 -1
- package/dist/scripts/news-types/weekly-review/validation.d.ts +0 -10
- package/dist/scripts/news-types/weekly-review/validation.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review/validation.js +0 -95
- package/dist/scripts/news-types/weekly-review/validation.js.map +0 -1
- package/dist/scripts/news-types/weekly-review.d.ts +0 -15
- package/dist/scripts/news-types/weekly-review.d.ts.map +0 -1
- package/dist/scripts/news-types/weekly-review.js +0 -14
- package/dist/scripts/news-types/weekly-review.js.map +0 -1
- package/dist/scripts/party-variants.d.ts +0 -23
- package/dist/scripts/party-variants.d.ts.map +0 -1
- package/dist/scripts/party-variants.js +0 -50
- package/dist/scripts/party-variants.js.map +0 -1
- package/dist/scripts/pipeline/index.d.ts +0 -19
- package/dist/scripts/pipeline/index.d.ts.map +0 -1
- package/dist/scripts/pipeline/index.js +0 -17
- package/dist/scripts/pipeline/index.js.map +0 -1
- package/dist/scripts/pipeline/orchestrator.d.ts +0 -56
- package/dist/scripts/pipeline/orchestrator.d.ts.map +0 -1
- package/dist/scripts/pipeline/orchestrator.js +0 -147
- package/dist/scripts/pipeline/orchestrator.js.map +0 -1
- package/dist/scripts/pipeline/types.d.ts +0 -117
- package/dist/scripts/pipeline/types.d.ts.map +0 -1
- package/dist/scripts/pipeline/types.js +0 -13
- package/dist/scripts/pipeline/types.js.map +0 -1
- package/dist/scripts/pipeline/validation.d.ts +0 -66
- package/dist/scripts/pipeline/validation.d.ts.map +0 -1
- package/dist/scripts/pipeline/validation.js +0 -129
- package/dist/scripts/pipeline/validation.js.map +0 -1
- package/dist/scripts/populate-analysis-data.d.ts +0 -41
- package/dist/scripts/populate-analysis-data.d.ts.map +0 -1
- package/dist/scripts/populate-analysis-data.js +0 -255
- package/dist/scripts/populate-analysis-data.js.map +0 -1
- package/dist/scripts/pre-article-analysis/data-downloader.d.ts +0 -80
- package/dist/scripts/pre-article-analysis/data-downloader.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/data-downloader.js +0 -230
- package/dist/scripts/pre-article-analysis/data-downloader.js.map +0 -1
- package/dist/scripts/pre-article-analysis/data-persistence.d.ts +0 -141
- package/dist/scripts/pre-article-analysis/data-persistence.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/data-persistence.js +0 -345
- package/dist/scripts/pre-article-analysis/data-persistence.js.map +0 -1
- package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts +0 -158
- package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/markdown-serializer.js +0 -648
- package/dist/scripts/pre-article-analysis/markdown-serializer.js.map +0 -1
- package/dist/scripts/pre-article-analysis/pdf-converter.d.ts +0 -58
- package/dist/scripts/pre-article-analysis/pdf-converter.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis/pdf-converter.js +0 -142
- package/dist/scripts/pre-article-analysis/pdf-converter.js.map +0 -1
- package/dist/scripts/pre-article-analysis.d.ts +0 -41
- package/dist/scripts/pre-article-analysis.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis.js +0 -591
- package/dist/scripts/pre-article-analysis.js.map +0 -1
- package/dist/scripts/scb-client.d.ts +0 -104
- package/dist/scripts/scb-client.d.ts.map +0 -1
- package/dist/scripts/scb-client.js +0 -286
- package/dist/scripts/scb-client.js.map +0 -1
- package/dist/scripts/scb-context.d.ts +0 -88
- package/dist/scripts/scb-context.d.ts.map +0 -1
- package/dist/scripts/scb-context.js +0 -307
- package/dist/scripts/scb-context.js.map +0 -1
- package/dist/scripts/shared/version.d.ts +0 -9
- package/dist/scripts/shared/version.d.ts.map +0 -1
- package/dist/scripts/shared/version.js +0 -28
- package/dist/scripts/shared/version.js.map +0 -1
- package/dist/scripts/statistical-claims-detector.d.ts +0 -119
- package/dist/scripts/statistical-claims-detector.d.ts.map +0 -1
- package/dist/scripts/statistical-claims-detector.js +0 -391
- package/dist/scripts/statistical-claims-detector.js.map +0 -1
- package/dist/scripts/sync-cia-schemas.d.ts +0 -52
- package/dist/scripts/sync-cia-schemas.d.ts.map +0 -1
- package/dist/scripts/sync-cia-schemas.js +0 -195
- package/dist/scripts/sync-cia-schemas.js.map +0 -1
- package/dist/scripts/translation-dictionary.d.ts +0 -45
- package/dist/scripts/translation-dictionary.d.ts.map +0 -1
- package/dist/scripts/translation-dictionary.js +0 -3642
- package/dist/scripts/translation-dictionary.js.map +0 -1
- package/dist/scripts/types/article.d.ts +0 -392
- package/dist/scripts/types/article.d.ts.map +0 -1
- package/dist/scripts/types/article.js +0 -6
- package/dist/scripts/types/article.js.map +0 -1
- package/dist/scripts/types/content.d.ts +0 -167
- package/dist/scripts/types/content.d.ts.map +0 -1
- package/dist/scripts/types/content.js +0 -6
- package/dist/scripts/types/content.js.map +0 -1
- package/dist/scripts/types/editorial.d.ts +0 -17
- package/dist/scripts/types/editorial.d.ts.map +0 -1
- package/dist/scripts/types/editorial.js +0 -6
- package/dist/scripts/types/editorial.js.map +0 -1
- package/dist/scripts/types/language.d.ts +0 -7
- package/dist/scripts/types/language.d.ts.map +0 -1
- package/dist/scripts/types/language.js +0 -6
- package/dist/scripts/types/language.js.map +0 -1
- package/dist/scripts/types/mcp.d.ts +0 -117
- package/dist/scripts/types/mcp.d.ts.map +0 -1
- package/dist/scripts/types/mcp.js +0 -6
- package/dist/scripts/types/mcp.js.map +0 -1
- package/dist/scripts/types/party.d.ts +0 -9
- package/dist/scripts/types/party.d.ts.map +0 -1
- package/dist/scripts/types/party.js +0 -6
- package/dist/scripts/types/party.js.map +0 -1
- package/dist/scripts/types/validation.d.ts +0 -136
- package/dist/scripts/types/validation.d.ts.map +0 -1
- package/dist/scripts/types/validation.js +0 -6
- package/dist/scripts/types/validation.js.map +0 -1
- package/dist/scripts/types/workflow.d.ts +0 -78
- package/dist/scripts/types/workflow.d.ts.map +0 -1
- package/dist/scripts/types/workflow.js +0 -6
- package/dist/scripts/types/workflow.js.map +0 -1
- package/dist/scripts/update-stats-from-cia.d.ts +0 -44
- package/dist/scripts/update-stats-from-cia.d.ts.map +0 -1
- package/dist/scripts/update-stats-from-cia.js +0 -310
- package/dist/scripts/update-stats-from-cia.js.map +0 -1
- package/dist/scripts/validate-against-cia-schemas.d.ts +0 -126
- package/dist/scripts/validate-against-cia-schemas.d.ts.map +0 -1
- package/dist/scripts/validate-against-cia-schemas.js +0 -299
- package/dist/scripts/validate-against-cia-schemas.js.map +0 -1
- package/dist/scripts/validate-cross-references.d.ts +0 -49
- package/dist/scripts/validate-cross-references.d.ts.map +0 -1
- package/dist/scripts/validate-cross-references.js +0 -183
- package/dist/scripts/validate-cross-references.js.map +0 -1
- package/dist/scripts/validate-file-ownership.d.ts +0 -68
- package/dist/scripts/validate-file-ownership.d.ts.map +0 -1
- package/dist/scripts/validate-file-ownership.js +0 -135
- package/dist/scripts/validate-file-ownership.js.map +0 -1
- package/dist/scripts/validate-news-translations.d.ts +0 -27
- package/dist/scripts/validate-news-translations.d.ts.map +0 -1
- package/dist/scripts/validate-news-translations.js +0 -258
- package/dist/scripts/validate-news-translations.js.map +0 -1
- package/dist/scripts/validate-translations.d.ts +0 -162
- package/dist/scripts/validate-translations.d.ts.map +0 -1
- package/dist/scripts/validate-translations.js +0 -378
- package/dist/scripts/validate-translations.js.map +0 -1
- package/dist/scripts/workflow-state-coordinator.d.ts +0 -354
- package/dist/scripts/workflow-state-coordinator.d.ts.map +0 -1
- package/dist/scripts/workflow-state-coordinator.js +0 -876
- package/dist/scripts/workflow-state-coordinator.js.map +0 -1
- package/dist/scripts/world-bank-client.d.ts +0 -122
- package/dist/scripts/world-bank-client.d.ts.map +0 -1
- package/dist/scripts/world-bank-client.js +0 -192
- package/dist/scripts/world-bank-client.js.map +0 -1
- package/dist/scripts/world-bank-context.d.ts +0 -88
- package/dist/scripts/world-bank-context.d.ts.map +0 -1
- package/dist/scripts/world-bank-context.js +0 -331
- package/dist/scripts/world-bank-context.js.map +0 -1
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module generate-news-enhanced/config
|
|
3
|
-
* @description CLI argument parsing, language configuration, and shared state
|
|
4
|
-
* for the enhanced news generation system.
|
|
5
|
-
*
|
|
6
|
-
* @author Hack23 AB
|
|
7
|
-
* @license Apache-2.0
|
|
8
|
-
*/
|
|
9
|
-
import fs from 'fs';
|
|
10
|
-
import path from 'path';
|
|
11
|
-
import { fileURLToPath } from 'url';
|
|
12
|
-
import { MCPClient } from '../mcp-client.js';
|
|
13
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
14
|
-
export const __dirname = path.dirname(__filename);
|
|
15
|
-
/** Extract YYYY-MM-DD from a Date, guaranteed non-undefined. */
|
|
16
|
-
export function toISODate(d) {
|
|
17
|
-
return d.toISOString().slice(0, 10);
|
|
18
|
-
}
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
// CLI argument parsing
|
|
21
|
-
// ---------------------------------------------------------------------------
|
|
22
|
-
const args = process.argv.slice(2);
|
|
23
|
-
/** Extract the value after the first '=' from a CLI argument, or empty string if absent. */
|
|
24
|
-
function parseArgValue(arg) {
|
|
25
|
-
if (!arg)
|
|
26
|
-
return '';
|
|
27
|
-
const idx = arg.indexOf('=');
|
|
28
|
-
return idx >= 0 ? arg.slice(idx + 1).trim() : '';
|
|
29
|
-
}
|
|
30
|
-
const typesArg = args.find(arg => arg.startsWith('--types='));
|
|
31
|
-
const languagesArg = args.find(arg => arg.startsWith('--languages='));
|
|
32
|
-
export const dryRunArg = args.includes('--dry-run');
|
|
33
|
-
const batchSizeArg = args.find(arg => arg.startsWith('--batch-size='));
|
|
34
|
-
export const skipExistingArg = args.includes('--skip-existing');
|
|
35
|
-
export const batchSize = batchSizeArg ? parseInt(parseArgValue(batchSizeArg) || '0', 10) : 0;
|
|
36
|
-
const qualityThresholdArg = args.find(arg => arg.startsWith('--quality-threshold='));
|
|
37
|
-
// Deep-inspection arguments: document IDs, URLs, focus topic, and analysis depth
|
|
38
|
-
const documentIdsArg = args.find(arg => arg.startsWith('--document-ids='));
|
|
39
|
-
const documentUrlsArg = args.find(arg => arg.startsWith('--document-urls='));
|
|
40
|
-
const focusTopicArg = args.find(arg => arg.startsWith('--focus-topic='));
|
|
41
|
-
const depthArg = args.find(arg => arg.startsWith('--depth='));
|
|
42
|
-
/** Comma-separated Riksdag document IDs for deep-inspection (e.g. H901FiU1,H901JuU25) */
|
|
43
|
-
const rawDocumentIds = parseArgValue(documentIdsArg);
|
|
44
|
-
export const documentIds = rawDocumentIds
|
|
45
|
-
? rawDocumentIds.split(',').map(id => id.trim()).filter(Boolean)
|
|
46
|
-
: [];
|
|
47
|
-
/** Comma-separated URLs for deep-inspection analysis */
|
|
48
|
-
const rawDocumentUrls = parseArgValue(documentUrlsArg);
|
|
49
|
-
export const documentUrls = rawDocumentUrls
|
|
50
|
-
? rawDocumentUrls.split(',').map(u => u.trim()).filter(Boolean)
|
|
51
|
-
: [];
|
|
52
|
-
/** Specific policy topic to focus deep-inspection analysis on */
|
|
53
|
-
export const focusTopic = parseArgValue(focusTopicArg);
|
|
54
|
-
/**
|
|
55
|
-
* Analysis depth for deep-inspection (1–4).
|
|
56
|
-
* 1 — surface analysis (what happened) — default, fastest
|
|
57
|
-
* 2 — adds predictive assessment and historical context
|
|
58
|
-
* 3 — adds executive intelligence summary and methodology (3 iterations)
|
|
59
|
-
* 4 — full report: adds quality-review iteration in methodology (4 iterations)
|
|
60
|
-
*/
|
|
61
|
-
const rawDepth = parseArgValue(depthArg);
|
|
62
|
-
const depthArgProvided = !!depthArg;
|
|
63
|
-
const parsedDepthNum = rawDepth ? Number(rawDepth) : NaN;
|
|
64
|
-
const depthIsValid = Number.isInteger(parsedDepthNum) && parsedDepthNum >= 1 && parsedDepthNum <= 4;
|
|
65
|
-
if (depthArgProvided && !depthIsValid) {
|
|
66
|
-
console.warn(`Invalid --depth value "${rawDepth}" (expected integer 1–4), falling back to default 1.`);
|
|
67
|
-
}
|
|
68
|
-
const safeDepth = depthIsValid ? parsedDepthNum : 1;
|
|
69
|
-
export const analysisDepth = safeDepth === 4 ? 4 :
|
|
70
|
-
safeDepth === 3 ? 3 :
|
|
71
|
-
safeDepth === 2 ? 2 :
|
|
72
|
-
1;
|
|
73
|
-
// --iterations=N: number of AI analysis iterations for deep-inspection (default: 3)
|
|
74
|
-
const iterationsArg = args.find(arg => arg.startsWith('--iterations='));
|
|
75
|
-
const DEFAULT_ITERATIONS = 3;
|
|
76
|
-
let parsedIterations = DEFAULT_ITERATIONS;
|
|
77
|
-
if (iterationsArg) {
|
|
78
|
-
const rawIter = parseArgValue(iterationsArg);
|
|
79
|
-
const numIter = rawIter === '' ? NaN : Number(rawIter);
|
|
80
|
-
if (Number.isFinite(numIter)) {
|
|
81
|
-
// Clamp to 1–10; 0/negative values map to 1 rather than falling back to default
|
|
82
|
-
parsedIterations = Math.min(10, Math.max(1, Math.floor(numIter)));
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
console.warn(`Invalid --iterations value "${rawIter}", falling back to default ${DEFAULT_ITERATIONS}.`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/** Number of AI analysis iterations for deep-inspection articles. Default: 3. */
|
|
89
|
-
export const analysisIterations = parsedIterations;
|
|
90
|
-
// ---------------------------------------------------------------------------
|
|
91
|
-
// Analysis depth (controls number of AI analysis iterations)
|
|
92
|
-
// ---------------------------------------------------------------------------
|
|
93
|
-
/**
|
|
94
|
-
* --analysis-depth=<quick|standard|deep>
|
|
95
|
-
*
|
|
96
|
-
* Controls how many AI analysis iterations run for deep-inspection articles:
|
|
97
|
-
* - `quick` — 1 pass (initial analysis only; fast)
|
|
98
|
-
* - `standard` — 2 passes (initial + SWOT refinement; default)
|
|
99
|
-
* - `deep` — 3 passes (initial + refinement + stakeholder validation)
|
|
100
|
-
*/
|
|
101
|
-
const analysisModeArg = args.find(arg => arg.startsWith('--analysis-depth='));
|
|
102
|
-
const rawAnalysisMode = parseArgValue(analysisModeArg ?? '').toLowerCase();
|
|
103
|
-
const VALID_ANALYSIS_DEPTHS = ['quick', 'standard', 'deep'];
|
|
104
|
-
function parseAnalysisDepth(raw) {
|
|
105
|
-
if (VALID_ANALYSIS_DEPTHS.includes(raw)) {
|
|
106
|
-
return raw;
|
|
107
|
-
}
|
|
108
|
-
if (raw && raw !== '') {
|
|
109
|
-
console.warn(`⚠️ Unknown --analysis-depth value "${raw}", falling back to "standard". Valid values: ${VALID_ANALYSIS_DEPTHS.join(', ')}`);
|
|
110
|
-
}
|
|
111
|
-
return 'standard';
|
|
112
|
-
}
|
|
113
|
-
export const analysisMode = parseAnalysisDepth(rawAnalysisMode);
|
|
114
|
-
const DEFAULT_QUALITY_THRESHOLD = 40;
|
|
115
|
-
let parsedQualityThreshold = DEFAULT_QUALITY_THRESHOLD;
|
|
116
|
-
if (qualityThresholdArg) {
|
|
117
|
-
const rawValue = parseArgValue(qualityThresholdArg);
|
|
118
|
-
const numericValue = rawValue === '' ? NaN : Number(rawValue);
|
|
119
|
-
if (Number.isFinite(numericValue)) {
|
|
120
|
-
parsedQualityThreshold = Math.min(100, Math.max(0, numericValue));
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
console.warn(`Invalid --quality-threshold value "${rawValue}", falling back to default ${DEFAULT_QUALITY_THRESHOLD}.`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
export const QUALITY_THRESHOLD = parsedQualityThreshold;
|
|
127
|
-
/**
|
|
128
|
-
* Default threshold (0–100) for the multi-dimensional quality assessment
|
|
129
|
-
* pipeline. Articles scoring below this value are flagged but still written.
|
|
130
|
-
* Referenced by `validateArticleQuality()` and the Check 13 validation script.
|
|
131
|
-
*/
|
|
132
|
-
export const MULTIDIM_QUALITY_THRESHOLD = 60;
|
|
133
|
-
/**
|
|
134
|
-
* Breaking news significance threshold (0–100). Documents scoring at or above
|
|
135
|
-
* this value are considered breaking news.
|
|
136
|
-
*/
|
|
137
|
-
export const BREAKING_NEWS_THRESHOLD = 60;
|
|
138
|
-
// --require-mcp flag: when true (default), abort if MCP server is unreachable after all retries.
|
|
139
|
-
// Set --require-mcp=false for local development/testing without a live MCP server.
|
|
140
|
-
const requireMcpArg = args.find(arg => arg.startsWith('--require-mcp'));
|
|
141
|
-
export const requireMcp = parseArgValue(requireMcpArg ?? '') !== 'false';
|
|
142
|
-
// ---------------------------------------------------------------------------
|
|
143
|
-
// Valid article types
|
|
144
|
-
// ---------------------------------------------------------------------------
|
|
145
|
-
export const VALID_ARTICLE_TYPES = ['week-ahead', 'month-ahead', 'weekly-review', 'monthly-review', 'committee-reports', 'propositions', 'motions', 'interpellations', 'breaking', 'deep-inspection'];
|
|
146
|
-
const rawArticleTypes = typesArg
|
|
147
|
-
? parseArgValue(typesArg).split(',').map(t => t.trim()).filter(Boolean)
|
|
148
|
-
: [];
|
|
149
|
-
const filteredArticleTypes = rawArticleTypes.filter(t => VALID_ARTICLE_TYPES.includes(t));
|
|
150
|
-
if (rawArticleTypes.length > 0 && filteredArticleTypes.length === 0) {
|
|
151
|
-
throw new Error(`No valid article types specified via --types. Valid types are: ${VALID_ARTICLE_TYPES.join(', ')}`);
|
|
152
|
-
}
|
|
153
|
-
export const articleTypes = filteredArticleTypes.length > 0
|
|
154
|
-
? filteredArticleTypes
|
|
155
|
-
: ['week-ahead'];
|
|
156
|
-
// ---------------------------------------------------------------------------
|
|
157
|
-
// Language configuration
|
|
158
|
-
// ---------------------------------------------------------------------------
|
|
159
|
-
export const ALL_LANGUAGES = ['en', 'sv', 'da', 'no', 'fi', 'de', 'fr', 'es', 'nl', 'ar', 'he', 'ja', 'ko', 'zh'];
|
|
160
|
-
export const LANGUAGE_PRESETS = {
|
|
161
|
-
'all': [...ALL_LANGUAGES],
|
|
162
|
-
'nordic': ['en', 'sv', 'da', 'no', 'fi'],
|
|
163
|
-
'eu-core': ['en', 'sv', 'de', 'fr', 'es', 'nl']
|
|
164
|
-
};
|
|
165
|
-
let languagesInput = languagesArg ? parseArgValue(languagesArg).trim().toLowerCase() : 'all';
|
|
166
|
-
// Expand presets (after trimming and normalizing)
|
|
167
|
-
const presetLanguages = LANGUAGE_PRESETS[languagesInput];
|
|
168
|
-
if (presetLanguages) {
|
|
169
|
-
languagesInput = presetLanguages.join(',');
|
|
170
|
-
}
|
|
171
|
-
export let languages = languagesInput
|
|
172
|
-
.split(',')
|
|
173
|
-
.map(l => l.trim())
|
|
174
|
-
.filter((l) => ALL_LANGUAGES.includes(l));
|
|
175
|
-
if (languages.length === 0) {
|
|
176
|
-
console.error('❌ No valid language codes provided. Valid codes:', ALL_LANGUAGES.join(', '));
|
|
177
|
-
process.exit(1);
|
|
178
|
-
}
|
|
179
|
-
// Log filtered article types (invalid types were removed during parsing above)
|
|
180
|
-
const filteredTypes = rawArticleTypes.filter(t => !VALID_ARTICLE_TYPES.includes(t));
|
|
181
|
-
if (filteredTypes.length > 0) {
|
|
182
|
-
console.warn(`⚠️ Unknown article types filtered out: ${filteredTypes.join(', ')}. Valid types: ${VALID_ARTICLE_TYPES.join(', ')}`);
|
|
183
|
-
}
|
|
184
|
-
// ---------------------------------------------------------------------------
|
|
185
|
-
// Configuration
|
|
186
|
-
// ---------------------------------------------------------------------------
|
|
187
|
-
export const NEWS_DIR = path.join(__dirname, '..', '..', 'news');
|
|
188
|
-
export const METADATA_DIR = path.join(NEWS_DIR, 'metadata');
|
|
189
|
-
// Track full requested set before any filtering
|
|
190
|
-
export const allRequestedLanguages = [...languages];
|
|
191
|
-
// Apply --skip-existing: remove languages that already have today's articles
|
|
192
|
-
if (skipExistingArg) {
|
|
193
|
-
const today = toISODate(new Date());
|
|
194
|
-
const existingFiles = fs.existsSync(NEWS_DIR)
|
|
195
|
-
? fs.readdirSync(NEWS_DIR).filter(f => f.startsWith(today) && f.endsWith('.html'))
|
|
196
|
-
: [];
|
|
197
|
-
const doneLangs = languages.filter(lang => existingFiles.some(f => f.endsWith(`-${lang}.html`)));
|
|
198
|
-
if (doneLangs.length > 0) {
|
|
199
|
-
console.log(`⏭️ Skipping already-generated languages: ${doneLangs.join(', ')}`);
|
|
200
|
-
languages = languages.filter(l => !doneLangs.includes(l));
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
// Apply --batch-size: limit to N languages per run
|
|
204
|
-
if (batchSize > 0 && languages.length > batchSize) {
|
|
205
|
-
const remaining = languages.slice(batchSize);
|
|
206
|
-
languages = languages.slice(0, batchSize);
|
|
207
|
-
console.log(`📦 Batch mode: processing ${languages.length} of ${allRequestedLanguages.length} requested languages`);
|
|
208
|
-
console.log(` This batch: ${languages.join(', ')}`);
|
|
209
|
-
console.log(` Remaining for next run(s): ${remaining.join(', ')}`);
|
|
210
|
-
}
|
|
211
|
-
if (languages.length === 0) {
|
|
212
|
-
console.log('✅ All requested languages already generated. Nothing to do.');
|
|
213
|
-
// Write a status metadata file so the workflow knows we're done
|
|
214
|
-
if (!fs.existsSync(METADATA_DIR)) {
|
|
215
|
-
fs.mkdirSync(METADATA_DIR, { recursive: true });
|
|
216
|
-
}
|
|
217
|
-
const batchStatus = {
|
|
218
|
-
complete: true,
|
|
219
|
-
allDone: allRequestedLanguages,
|
|
220
|
-
timestamp: new Date().toISOString(),
|
|
221
|
-
};
|
|
222
|
-
fs.writeFileSync(path.join(METADATA_DIR, 'batch-status.json'), JSON.stringify(batchStatus, null, 2));
|
|
223
|
-
process.exit(0);
|
|
224
|
-
}
|
|
225
|
-
console.log('📰 Enhanced News Generation Script');
|
|
226
|
-
console.log('Article types:', articleTypes.join(', '));
|
|
227
|
-
console.log('Languages:', languages.join(', '));
|
|
228
|
-
console.log('Batch size:', batchSize > 0 ? batchSize : 'all at once');
|
|
229
|
-
console.log('Skip existing:', skipExistingArg ? 'Yes' : 'No');
|
|
230
|
-
console.log('Dry run:', dryRunArg ? 'Yes (no files written)' : 'No');
|
|
231
|
-
// ---------------------------------------------------------------------------
|
|
232
|
-
// Shared MCP client (reuses connection/session across all generators)
|
|
233
|
-
// ---------------------------------------------------------------------------
|
|
234
|
-
let sharedClient = null;
|
|
235
|
-
/**
|
|
236
|
-
* Get or create the shared MCPClient instance.
|
|
237
|
-
* On first call, warms up the MCP server with a lightweight get_sync_status
|
|
238
|
-
* request using an extended timeout to handle Render.com cold starts (30-60s).
|
|
239
|
-
*
|
|
240
|
-
* @returns Warmed-up shared client
|
|
241
|
-
*/
|
|
242
|
-
export async function getSharedClient() {
|
|
243
|
-
if (sharedClient)
|
|
244
|
-
return sharedClient;
|
|
245
|
-
// Use extended timeout for initial connection (cold start can take 30-60s)
|
|
246
|
-
const coldStartTimeout = parseInt(process.env.MCP_CLIENT_TIMEOUT_MS ?? '', 10) || 90000;
|
|
247
|
-
sharedClient = new MCPClient({ timeout: coldStartTimeout });
|
|
248
|
-
// Warm up the MCP server before any data queries
|
|
249
|
-
console.log('⏳ Warming up MCP server (may take 30-60s on cold start)...');
|
|
250
|
-
console.log(` 🔗 Server: ${sharedClient.baseURL}`);
|
|
251
|
-
try {
|
|
252
|
-
const status = await sharedClient.request('get_sync_status', {});
|
|
253
|
-
console.log('✅ MCP server ready');
|
|
254
|
-
if (status && status['last_sync']) {
|
|
255
|
-
console.log(` 📊 Last sync: ${status['last_sync']}`);
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
catch (error) {
|
|
259
|
-
const message = error.message;
|
|
260
|
-
if (requireMcp) {
|
|
261
|
-
sharedClient = null;
|
|
262
|
-
throw new Error(`MCP server unavailable: ${message}`, { cause: error });
|
|
263
|
-
}
|
|
264
|
-
console.warn(`⚠️ MCP warm-up failed: ${message}`);
|
|
265
|
-
console.warn(' Continuing anyway — individual requests will retry with backoff');
|
|
266
|
-
}
|
|
267
|
-
// After warm-up succeeds, reduce timeout for normal requests
|
|
268
|
-
const normalTimeout = parseInt(process.env.MCP_CLIENT_TIMEOUT_MS ?? '', 10) || 30000;
|
|
269
|
-
sharedClient.timeout = normalTimeout;
|
|
270
|
-
return sharedClient;
|
|
271
|
-
}
|
|
272
|
-
// Ensure directories exist
|
|
273
|
-
if (!fs.existsSync(METADATA_DIR)) {
|
|
274
|
-
fs.mkdirSync(METADATA_DIR, { recursive: true });
|
|
275
|
-
}
|
|
276
|
-
// ---------------------------------------------------------------------------
|
|
277
|
-
// Generation statistics
|
|
278
|
-
// ---------------------------------------------------------------------------
|
|
279
|
-
export const stats = {
|
|
280
|
-
generated: 0,
|
|
281
|
-
errors: 0,
|
|
282
|
-
articles: [],
|
|
283
|
-
timestamp: new Date().toISOString(),
|
|
284
|
-
qualityScores: []
|
|
285
|
-
};
|
|
286
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../scripts/generate-news-enhanced/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module generate-news-enhanced/generators
|
|
3
|
-
* @description Article generator functions for week-ahead, committee reports,
|
|
4
|
-
* propositions, and motions article types.
|
|
5
|
-
*
|
|
6
|
-
* @author Hack23 AB
|
|
7
|
-
* @license Apache-2.0
|
|
8
|
-
*/
|
|
9
|
-
import { type RawDocument } from '../data-transformers.js';
|
|
10
|
-
import type { Language } from '../types/language.js';
|
|
11
|
-
import type { GenerationResult, TemplateSection } from '../types/article.js';
|
|
12
|
-
/**
|
|
13
|
-
* Build SWOT, dashboard, and economic TemplateSections for standard article
|
|
14
|
-
* types (not deep-inspection, which has its own richer builder).
|
|
15
|
-
*
|
|
16
|
-
* Produces 1–3 sections depending on available data:
|
|
17
|
-
* - SWOT stakeholder analysis (always, when docs.length >= 2)
|
|
18
|
-
* - Chart.js dashboard with document type breakdown (when docs.length >= 3)
|
|
19
|
-
* - Economic dashboard (when policyDomains match World Bank indicators)
|
|
20
|
-
*
|
|
21
|
-
* Each section is safe to append to `generateArticleHTML({ sections })`.
|
|
22
|
-
*/
|
|
23
|
-
export declare function buildArticleVisualizationSections(docs: RawDocument[], topic: string | null, lang: Language): TemplateSection[];
|
|
24
|
-
/**
|
|
25
|
-
* Generate Week Ahead article in specified languages
|
|
26
|
-
*/
|
|
27
|
-
export declare function generateWeekAhead(): Promise<GenerationResult>;
|
|
28
|
-
/**
|
|
29
|
-
* Generate Committee Reports article
|
|
30
|
-
*/
|
|
31
|
-
export declare function generateCommitteeReports(): Promise<GenerationResult>;
|
|
32
|
-
/**
|
|
33
|
-
* Generate Government Propositions article
|
|
34
|
-
*/
|
|
35
|
-
export declare function generatePropositions(): Promise<GenerationResult>;
|
|
36
|
-
/**
|
|
37
|
-
* Generate Opposition Motions article
|
|
38
|
-
*/
|
|
39
|
-
export declare function generateMotions(): Promise<GenerationResult>;
|
|
40
|
-
/**
|
|
41
|
-
* Generate Interpellation Debates article
|
|
42
|
-
*/
|
|
43
|
-
export declare function generateInterpellations(): Promise<GenerationResult>;
|
|
44
|
-
/**
|
|
45
|
-
* Extract a Riksdag document ID (dok_id) from a known URL pattern.
|
|
46
|
-
* Supports:
|
|
47
|
-
* - https://riksdagen.se/sv/dokument-och-lagar/dokument/{type}/{dok_id}/
|
|
48
|
-
* - https://data.riksdagen.se/dokument/{dok_id}
|
|
49
|
-
* - https://data.riksdagen.se/dokument/{dok_id}.json
|
|
50
|
-
*
|
|
51
|
-
* @returns The extracted dok_id, or null if the URL doesn't match a known pattern.
|
|
52
|
-
*/
|
|
53
|
-
export declare function extractDocIdFromUrl(url: string): string | null;
|
|
54
|
-
/**
|
|
55
|
-
* Determine whether a URL points to a government (regeringen.se) resource
|
|
56
|
-
* that can be fetched via the get_g0v_document_content MCP tool.
|
|
57
|
-
*/
|
|
58
|
-
export declare function isGovernmentUrl(url: string): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Determine whether a URL points to a GitHub repository resource
|
|
61
|
-
* (github.com or raw.githubusercontent.com) that can be fetched as raw content.
|
|
62
|
-
*/
|
|
63
|
-
export declare function isGitHubUrl(url: string): boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Convert a GitHub blob/tree URL to a raw.githubusercontent.com URL.
|
|
66
|
-
* Handles patterns like:
|
|
67
|
-
* - https://github.com/{owner}/{repo}/blob/{branch}/{path}
|
|
68
|
-
* - https://github.com/{owner}/{repo}/raw/{branch}/{path}
|
|
69
|
-
* - https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{path} (returned as-is)
|
|
70
|
-
*
|
|
71
|
-
* @returns The raw URL, or null if the URL cannot be converted.
|
|
72
|
-
*/
|
|
73
|
-
export declare function toGitHubRawUrl(url: string): string | null;
|
|
74
|
-
/**
|
|
75
|
-
* Compute a short, deterministic hash suffix from a URL path string.
|
|
76
|
-
* Used to generate collision-resistant `dok_id` values for documents
|
|
77
|
-
* fetched from government or GitHub URLs.
|
|
78
|
-
*
|
|
79
|
-
* The hash is a simple DJB2-style left-shift-and-add over each character,
|
|
80
|
-
* rendered in base-36. A leading `-` (from negative ints) is replaced with `n`.
|
|
81
|
-
*/
|
|
82
|
-
export declare function hashPathSuffix(path: string): string;
|
|
83
|
-
/**
|
|
84
|
-
* Strip HTML tags from a user-supplied string to prevent XSS.
|
|
85
|
-
* Uses a multi-pass loop to handle nested tag reconstruction attempts
|
|
86
|
-
* (e.g. `<scr<script>ipt>`). Returns **plain text** — callers must
|
|
87
|
-
* apply `escapeHtml()` at their render sites so escaping happens exactly once.
|
|
88
|
-
*/
|
|
89
|
-
export declare function sanitizePlainText(text: string): string;
|
|
90
|
-
/**
|
|
91
|
-
* Generate topic-focused, comprehensive deep-inspection article content.
|
|
92
|
-
* All sections are explicitly oriented around `topic`. Uses enriched full-text
|
|
93
|
-
* content from each document and the 5W deep-analysis framework.
|
|
94
|
-
*
|
|
95
|
-
* @param depth - Analysis depth (1–4). Higher depth adds more intelligence sections:
|
|
96
|
-
* 1 = Topic Context + Document Intelligence + 5W Deep Analysis + Strategic Implications + Key Takeaways
|
|
97
|
-
* 2 = depth 1 + Historical Context + Predictive Assessment
|
|
98
|
-
* 3 = depth 2 + Executive Intelligence Summary + Methodology (3 iterations)
|
|
99
|
-
* 4 = depth 3 + quality-review iteration in Methodology (4 iterations)
|
|
100
|
-
* When an AIAnalysisResult is supplied, its strategic implications and key
|
|
101
|
-
* takeaways replace the template-based versions for richer, context-aware output.
|
|
102
|
-
*/
|
|
103
|
-
declare function generateDeepInspectionContent(docs: RawDocument[], topic: string | null, lang: Language, depth?: 1 | 2 | 3 | 4, aiResult?: import('./ai-analysis-pipeline.js').AIAnalysisResult): string;
|
|
104
|
-
/**
|
|
105
|
-
* Test-only hooks for deep-inspection content generation.
|
|
106
|
-
* Exported to support behavioral tests without source inspection.
|
|
107
|
-
* @internal
|
|
108
|
-
*/
|
|
109
|
-
export declare const __deepInspectionTestHooks: {
|
|
110
|
-
generateDeepInspectionContent: typeof generateDeepInspectionContent;
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Generate Deep-Inspection article targeting specific documents or policy topics.
|
|
114
|
-
* Uses documentIds, documentUrls, and focusTopic from CLI config to fetch
|
|
115
|
-
* targeted Riksdag documents and generate in-depth analysis articles.
|
|
116
|
-
*/
|
|
117
|
-
export declare function generateDeepInspection(): Promise<GenerationResult>;
|
|
118
|
-
export {};
|
|
119
|
-
//# sourceMappingURL=generators.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../../../scripts/generate-news-enhanced/generators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAA8B,eAAe,EAA8C,MAAM,qBAAqB,CAAC;AA6DrJ;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,WAAW,EAAE,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,QAAQ,GACb,eAAe,EAAE,CAkDnB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAqHnE;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuF1E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuFtE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuFjE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuFzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2B9D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BzD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQtD;AA2OD;;;;;;;;;;;;GAYG;AACH,iBAAS,6BAA6B,CACpC,IAAI,EAAE,WAAW,EAAE,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,QAAQ,EACd,KAAK,GAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAK,EACxB,QAAQ,CAAC,EAAE,OAAO,2BAA2B,EAAE,gBAAgB,GAC9D,MAAM,CAoFR;AAkBD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;CAErC,CAAC;AAo3BF;;;;GAIG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAkUxE"}
|