riksdagsmonitor 0.8.23 → 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 +53 -21
- 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 -531
- 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 -42
- package/dist/scripts/pre-article-analysis.d.ts.map +0 -1
- package/dist/scripts/pre-article-analysis.js +0 -642
- 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,354 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* @module Infrastructure/WorkflowOrchestration
|
|
4
|
-
* @category Infrastructure
|
|
5
|
-
*
|
|
6
|
-
* @title Workflow State Coordinator - Multi-Workflow Synchronization Engine
|
|
7
|
-
*
|
|
8
|
-
* @description
|
|
9
|
-
* **INTELLIGENCE OPERATIVE PERSPECTIVE**
|
|
10
|
-
*
|
|
11
|
-
* This module orchestrates coordination between three independent news generation
|
|
12
|
-
* workflows operating on different schedules, preventing wasted computational
|
|
13
|
-
* resources on duplicate article generation and maintaining editorial consistency.
|
|
14
|
-
* In intelligence operations, workflow state management prevents information
|
|
15
|
-
* redundancy and ensures efficient use of computational and editorial resources.
|
|
16
|
-
*
|
|
17
|
-
* **WORKFLOW ARCHITECTURE:**
|
|
18
|
-
* The platform operates three independent content generation workflows:
|
|
19
|
-
*
|
|
20
|
-
* 1. **Realtime Monitor (news-realtime-monitor.md)**
|
|
21
|
-
* Schedule: 2x daily (morning + afternoon)
|
|
22
|
-
* Content: Event-driven breaking news, voting updates, crisis response
|
|
23
|
-
* Intelligence value: Rapid notification of parliamentary surprises
|
|
24
|
-
* Latency: Real-time (5-15 minute response to events)
|
|
25
|
-
*
|
|
26
|
-
* 2. **Evening Analysis (news-evening-analysis.md)**
|
|
27
|
-
* Schedule: Daily at 17:00 (5 PM Swedish time)
|
|
28
|
-
* Content: Deep analytical synthesis, international context, forward assessment
|
|
29
|
-
* Intelligence value: End-of-day intelligence briefing format
|
|
30
|
-
* Latency: Structured analysis (1-2 hour research + writing)
|
|
31
|
-
*
|
|
32
|
-
* 3. **Article Generators (news-article-generator.md)**
|
|
33
|
-
* Schedule: Variable (triggered by content calendar or on-demand)
|
|
34
|
-
* Content: Committee reports, motions, propositions, week-ahead
|
|
35
|
-
* Intelligence value: Systematic coverage of all parliamentary products
|
|
36
|
-
* Latency: Scheduled batch processing (hourly to daily)
|
|
37
|
-
*
|
|
38
|
-
* **DEDUPLICATION FRAMEWORK:**
|
|
39
|
-
* The coordinator prevents duplicate article generation using similarity analysis:
|
|
40
|
-
*
|
|
41
|
-
* - **Similarity Threshold: 70%**
|
|
42
|
-
* Computes Levenshtein distance on article titles and keyword sets
|
|
43
|
-
* Articles >70% similar are considered duplicates
|
|
44
|
-
* Prevents wasted generation of already-covered topics
|
|
45
|
-
*
|
|
46
|
-
* - **Time-Window Filtering: 6 hours**
|
|
47
|
-
* Checks if similar article was generated in last 6 hours
|
|
48
|
-
* Allows coverage of same topic if sufficient time has passed
|
|
49
|
-
* Prevents rapid-fire duplicates while allowing topic revisits
|
|
50
|
-
*
|
|
51
|
-
* - **Topic-Based Tracking**
|
|
52
|
-
* Logs article topics (votes, bills, committees, etc.)
|
|
53
|
-
* Enables intelligent filtering at generation time
|
|
54
|
-
* Supports trending topic analysis
|
|
55
|
-
*
|
|
56
|
-
* **MCP QUERY CACHING:**
|
|
57
|
-
* To avoid redundant API calls to riksdag-regering MCP platform:
|
|
58
|
-
*
|
|
59
|
-
* - **Cache TTL: 2 hours**
|
|
60
|
-
* Stores results of expensive queries (voting patterns, full-text search)
|
|
61
|
-
* Reduces MCP server load during peak hours
|
|
62
|
-
* Ensures consistency across multiple workflow invocations
|
|
63
|
-
*
|
|
64
|
-
* - **Query Fingerprinting**
|
|
65
|
-
* Creates deterministic hash of MCP query parameters
|
|
66
|
-
* Enables cache hits even if queries structured differently
|
|
67
|
-
* Supports query normalization
|
|
68
|
-
*
|
|
69
|
-
* - **Staleness Handling**
|
|
70
|
-
* Fresh data (within 2 hours) used for analysis
|
|
71
|
-
* Older data triggers MCP refresh
|
|
72
|
-
* Prevents stale intelligence from being published
|
|
73
|
-
*
|
|
74
|
-
* **STATE MANAGEMENT:**
|
|
75
|
-
* Persistent state file (news/metadata/workflow-state.json) tracks:
|
|
76
|
-
* - Last workflow execution timestamp and results
|
|
77
|
-
* - Recently generated articles (content + timestamp)
|
|
78
|
-
* - MCP query cache with expiration times
|
|
79
|
-
* - Workflow coordination metadata
|
|
80
|
-
* - Running task list for cross-workflow visibility
|
|
81
|
-
*
|
|
82
|
-
* **OPERATIONAL WORKFLOW:**
|
|
83
|
-
* 1. Workflow begins: Load current state from persistent storage
|
|
84
|
-
* 2. Query Analysis: Check if similar article was recently generated
|
|
85
|
-
* 3. Cache Check: Retrieve cached MCP queries if available (<2hr old)
|
|
86
|
-
* 4. Generation: Create new article (or skip if duplicate)
|
|
87
|
-
* 5. State Update: Log article and update cache
|
|
88
|
-
* 6. Persistence: Write updated state for next workflow invocation
|
|
89
|
-
*
|
|
90
|
-
* **INCIDENT SCENARIOS:**
|
|
91
|
-
* - **Double-Generation**: Realtime Monitor and Article Generator both cover voting
|
|
92
|
-
* Solution: Similarity detection blocks duplicate, tracks in state
|
|
93
|
-
*
|
|
94
|
-
* - **Stale Analysis**: Evening Analysis uses MCP data from morning
|
|
95
|
-
* Solution: 2-hour cache expiration triggers fresh queries
|
|
96
|
-
*
|
|
97
|
-
* - **Missed Coverage**: Topic isn't covered by any workflow
|
|
98
|
-
* Solution: State logs enable gap analysis, manual workflow triggers
|
|
99
|
-
*
|
|
100
|
-
* - **Cache Corruption**: Stale query results cause analytical errors
|
|
101
|
-
* Solution: TTL-based expiration automatically refreshes
|
|
102
|
-
*
|
|
103
|
-
* **INTELLIGENCE APPLICATIONS:**
|
|
104
|
-
* - Prevents topic redundancy (editorial efficiency)
|
|
105
|
-
* - Ensures consistent coverage across workflows
|
|
106
|
-
* - Enables gap analysis (which topics are missed?)
|
|
107
|
-
* - Supports workflow optimization (timing, triggers)
|
|
108
|
-
* - Provides audit trail for editorial decisions
|
|
109
|
-
*
|
|
110
|
-
* **PERFORMANCE OPTIMIZATION:**
|
|
111
|
-
* - MCP cache reduces API calls by estimated 60-70%
|
|
112
|
-
* - Reduces computational load on MCP platform during peaks
|
|
113
|
-
* - Faster generation cycles (cache lookups faster than API calls)
|
|
114
|
-
* - Enables more frequent workflow execution
|
|
115
|
-
*
|
|
116
|
-
* **FAILURE MODES & RECOVERY:**
|
|
117
|
-
* - State file corruption: Graceful fallback to generation without deduplication
|
|
118
|
-
* - Cache miss during load: Automatic MCP refresh triggered
|
|
119
|
-
* - Timestamp drift: UTC normalization prevents timezone confusion
|
|
120
|
-
* - Concurrent workflow execution: Lock-based synchronization
|
|
121
|
-
*
|
|
122
|
-
* **SCALABILITY CONSIDERATIONS:**
|
|
123
|
-
* - State file size grows ~50KB per month (manageable)
|
|
124
|
-
* - Cache memory: ~5MB typical, scales with coverage breadth
|
|
125
|
-
* - Similarity computation: O(n) in articles, automated pruning at 180 days
|
|
126
|
-
* - MCP query cache: Automatic cleanup of expired entries
|
|
127
|
-
*
|
|
128
|
-
* **GDPR COMPLIANCE:**
|
|
129
|
-
* - Member mentions in articles tracked in state
|
|
130
|
-
* - Data retention policies enforced (180-day pruning)
|
|
131
|
-
* - Audit trail supports member rights requests
|
|
132
|
-
* - No personal data stored in cache beyond article references
|
|
133
|
-
*
|
|
134
|
-
* @osint Workflow Intelligence Analysis
|
|
135
|
-
* - Tracks which topics get covered and when
|
|
136
|
-
* - Identifies coordination patterns across workflows
|
|
137
|
-
* - Enables predictive analysis of future coverage
|
|
138
|
-
* - Supports investigation of coordination anomalies
|
|
139
|
-
*
|
|
140
|
-
* @risk Deduplication Accuracy
|
|
141
|
-
* - 70% similarity threshold prevents false positives
|
|
142
|
-
* - Enables legitimate retelling of same story (new angle)
|
|
143
|
-
* - Detects coordinated coverage (unusual pattern)
|
|
144
|
-
* - Monitors for suspicious generation patterns
|
|
145
|
-
*
|
|
146
|
-
* @gdpr Data Retention & Cleanup
|
|
147
|
-
* - Automatic pruning of state after 180 days
|
|
148
|
-
* - Member data retention tied to article dates
|
|
149
|
-
* - Supports right-to-be-forgotten implementations
|
|
150
|
-
* - Audit logging for regulatory compliance
|
|
151
|
-
*
|
|
152
|
-
* @security State Integrity
|
|
153
|
-
* - File permissions protect state from unauthorized modification
|
|
154
|
-
* - Checksums validate cache data integrity
|
|
155
|
-
* - Atomic writes prevent partial state corruption
|
|
156
|
-
* - Versioning enables rollback if needed
|
|
157
|
-
*
|
|
158
|
-
* @author Hack23 AB (Editorial Operations & Workflow Optimization)
|
|
159
|
-
* @license Apache-2.0
|
|
160
|
-
* @version 2.2.0
|
|
161
|
-
* @since 2024-10-15
|
|
162
|
-
* @see news/metadata/workflow-state.json (State Persistence)
|
|
163
|
-
* @see Issue #150 (Workflow Coordination Enhancement)
|
|
164
|
-
* @see docs/WORKFLOW_ARCHITECTURE.md (Complete Architecture)
|
|
165
|
-
*/
|
|
166
|
-
import type { RecentArticleEntry, RecentArticleInput, DuplicateCheckResult, WorkflowExecutionMetadata, WorkflowStatistics, LockInfo, ActiveGeneration } from './types/workflow.js';
|
|
167
|
-
declare const MCP_CACHE_TTL_SECONDS: number;
|
|
168
|
-
declare const MCP_CACHE_TTL_NON_PLENARY_SECONDS: number;
|
|
169
|
-
declare const RECENT_ARTICLE_TTL_SECONDS: number;
|
|
170
|
-
declare const SIMILARITY_THRESHOLD: number;
|
|
171
|
-
declare const TOPIC_JACCARD_THRESHOLD: number;
|
|
172
|
-
declare const LOCK_TIMEOUT_MS: number;
|
|
173
|
-
declare const ACTIVE_GENERATION_TTL_MS: number;
|
|
174
|
-
/**
|
|
175
|
-
* Compute Jaccard similarity between two topic arrays.
|
|
176
|
-
*
|
|
177
|
-
* @param a - First topic array
|
|
178
|
-
* @param b - Second topic array
|
|
179
|
-
* @returns Jaccard similarity 0.0-1.0
|
|
180
|
-
*/
|
|
181
|
-
export declare function jaccardTopicSimilarity(a: string[], b: string[]): number;
|
|
182
|
-
/**
|
|
183
|
-
* Return adaptive MCP cache TTL based on Riksdag plenary hours.
|
|
184
|
-
*
|
|
185
|
-
* Plenary hours: 08:00–16:00 Europe/Stockholm local time (DST-aware) → 2-hour TTL.
|
|
186
|
-
* Non-plenary hours → 4-hour TTL (data changes less frequently).
|
|
187
|
-
*
|
|
188
|
-
* @param now - Optional Date for testing
|
|
189
|
-
* @returns TTL in seconds
|
|
190
|
-
*/
|
|
191
|
-
export declare function getAdaptiveCacheTTL(now?: Date): number;
|
|
192
|
-
/**
|
|
193
|
-
* Workflow Lock Manager — file-based soft locks for cross-workflow coordination.
|
|
194
|
-
*
|
|
195
|
-
* Locks are directories under `news/metadata/locks/{type}-{date}.lock/`
|
|
196
|
-
* containing an `info.json` file with lease metadata.
|
|
197
|
-
*/
|
|
198
|
-
export declare class WorkflowLockManager {
|
|
199
|
-
private readonly lockDir;
|
|
200
|
-
private readonly timeoutMs;
|
|
201
|
-
constructor(lockDir?: string, timeoutMs?: number);
|
|
202
|
-
private validateLockInputs;
|
|
203
|
-
private getLockPath;
|
|
204
|
-
/**
|
|
205
|
-
* Acquire a soft lock for the given type + date.
|
|
206
|
-
* Uses `mkdirSync({ recursive: false })` for atomic creation on POSIX.
|
|
207
|
-
*
|
|
208
|
-
* @returns true if lock acquired, false if already held
|
|
209
|
-
*/
|
|
210
|
-
acquireLock(type: string, date: string, workflowId: string): boolean;
|
|
211
|
-
/**
|
|
212
|
-
* Release a held lock.
|
|
213
|
-
*/
|
|
214
|
-
releaseLock(type: string, date: string): void;
|
|
215
|
-
/**
|
|
216
|
-
* Check if a lock is currently held.
|
|
217
|
-
*/
|
|
218
|
-
isLocked(type: string, date: string): boolean;
|
|
219
|
-
/**
|
|
220
|
-
* Read lock information if the lock exists.
|
|
221
|
-
*/
|
|
222
|
-
getLockInfo(type: string, date: string): LockInfo | null;
|
|
223
|
-
/**
|
|
224
|
-
* Remove all locks older than the configured timeout.
|
|
225
|
-
*
|
|
226
|
-
* @returns Number of stale locks cleaned up
|
|
227
|
-
*/
|
|
228
|
-
cleanupStaleLocks(): number;
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Workflow State Coordinator
|
|
232
|
-
*/
|
|
233
|
-
export declare class WorkflowStateCoordinator {
|
|
234
|
-
private stateFilePath;
|
|
235
|
-
private state;
|
|
236
|
-
constructor(stateFilePath?: string);
|
|
237
|
-
/**
|
|
238
|
-
* Load state from disk
|
|
239
|
-
*/
|
|
240
|
-
load(): Promise<void>;
|
|
241
|
-
/**
|
|
242
|
-
* Save state to disk using atomic write (write-to-tmp + rename).
|
|
243
|
-
*/
|
|
244
|
-
save(): Promise<void>;
|
|
245
|
-
/**
|
|
246
|
-
* Clean up expired cache entries and old articles
|
|
247
|
-
*/
|
|
248
|
-
cleanupExpiredEntries(): void;
|
|
249
|
-
/**
|
|
250
|
-
* Cache MCP query result with adaptive TTL.
|
|
251
|
-
*
|
|
252
|
-
* @param queryKey - Unique identifier for the query
|
|
253
|
-
* @param result - Query result to cache
|
|
254
|
-
* @param ttl - Time to live in seconds (default: adaptive based on plenary hours)
|
|
255
|
-
*/
|
|
256
|
-
cacheMCPQuery(queryKey: string, result: unknown, ttl?: number): Promise<void>;
|
|
257
|
-
/**
|
|
258
|
-
* Get cached MCP query result
|
|
259
|
-
*
|
|
260
|
-
* @param queryKey - Unique identifier for the query
|
|
261
|
-
* @returns Cached result or null if expired/missing
|
|
262
|
-
*/
|
|
263
|
-
getCachedMCPQuery(queryKey: string): unknown | null;
|
|
264
|
-
/**
|
|
265
|
-
* Add recent article to tracking
|
|
266
|
-
*
|
|
267
|
-
* @param article - Article metadata
|
|
268
|
-
*/
|
|
269
|
-
addRecentArticle(article: RecentArticleInput): Promise<void>;
|
|
270
|
-
/**
|
|
271
|
-
* Check if article is duplicate based on similarity.
|
|
272
|
-
*
|
|
273
|
-
* Uses both weighted title/topic/source similarity (≥ 0.70 threshold)
|
|
274
|
-
* and Jaccard topic-only similarity (≥ 0.50 threshold) to catch
|
|
275
|
-
* same-topic articles with different titles.
|
|
276
|
-
*
|
|
277
|
-
* @param title - Article title
|
|
278
|
-
* @param topics - Article topics
|
|
279
|
-
* @param mcpQueries - MCP query keys used for this article
|
|
280
|
-
* @param significance - Optional political significance score (0-100).
|
|
281
|
-
* When provided and ≥ 80, a same-topic article with lower significance
|
|
282
|
-
* is NOT treated as a duplicate — the high-significance version overrides.
|
|
283
|
-
* @returns Duplicate check result with similarity score
|
|
284
|
-
*/
|
|
285
|
-
checkDuplicateArticle(title: string, topics?: string[], mcpQueries?: string[], significance?: number): Promise<DuplicateCheckResult>;
|
|
286
|
-
/**
|
|
287
|
-
* Calculate similarity between two articles
|
|
288
|
-
*
|
|
289
|
-
* Uses weighted combination of:
|
|
290
|
-
* - Title similarity (50%)
|
|
291
|
-
* - Topic overlap (30%)
|
|
292
|
-
* - MCP query overlap (20%)
|
|
293
|
-
*
|
|
294
|
-
* @returns Similarity score 0.0-1.0
|
|
295
|
-
*/
|
|
296
|
-
calculateSimilarity(title1: string, topics1: string[], mcpQueries1: string[], title2: string, topics2: string[], mcpQueries2: string[]): number;
|
|
297
|
-
/**
|
|
298
|
-
* Calculate string similarity using Jaccard similarity of word sets
|
|
299
|
-
*
|
|
300
|
-
* @param str1 - First string
|
|
301
|
-
* @param str2 - Second string
|
|
302
|
-
* @returns Similarity 0.0-1.0
|
|
303
|
-
*/
|
|
304
|
-
stringSimilarity(str1: string, str2: string): number;
|
|
305
|
-
/**
|
|
306
|
-
* Calculate set overlap (Jaccard similarity)
|
|
307
|
-
*
|
|
308
|
-
* @param set1 - First set
|
|
309
|
-
* @param set2 - Second set
|
|
310
|
-
* @returns Overlap 0.0-1.0
|
|
311
|
-
*/
|
|
312
|
-
setOverlap(set1: unknown[], set2: unknown[]): number;
|
|
313
|
-
/**
|
|
314
|
-
* Hash object for cache comparison
|
|
315
|
-
*
|
|
316
|
-
* @param obj - Object to hash
|
|
317
|
-
* @returns SHA-256 hash (first 16 hex chars)
|
|
318
|
-
*/
|
|
319
|
-
hashObject(obj: unknown): string;
|
|
320
|
-
/**
|
|
321
|
-
* Record workflow execution
|
|
322
|
-
*
|
|
323
|
-
* @param workflowName - Name of workflow
|
|
324
|
-
* @param metadata - Execution metadata
|
|
325
|
-
*/
|
|
326
|
-
recordWorkflowExecution(workflowName: string, metadata?: WorkflowExecutionMetadata): Promise<void>;
|
|
327
|
-
/**
|
|
328
|
-
* Register an active generation for cross-workflow visibility.
|
|
329
|
-
*/
|
|
330
|
-
registerActiveGeneration(workflowId: string, type: string, date: string): Promise<void>;
|
|
331
|
-
/**
|
|
332
|
-
* Unregister an active generation when done.
|
|
333
|
-
*/
|
|
334
|
-
unregisterActiveGeneration(workflowId: string, type: string, date: string): Promise<void>;
|
|
335
|
-
/**
|
|
336
|
-
* Get active generations for cross-workflow visibility.
|
|
337
|
-
*/
|
|
338
|
-
getActiveGenerations(): ActiveGeneration[];
|
|
339
|
-
/**
|
|
340
|
-
* Get recent articles from last N hours
|
|
341
|
-
*
|
|
342
|
-
* @param hours - Hours to look back
|
|
343
|
-
* @returns Recent articles
|
|
344
|
-
*/
|
|
345
|
-
getRecentArticles(hours?: number): RecentArticleEntry[];
|
|
346
|
-
/**
|
|
347
|
-
* Get workflow statistics
|
|
348
|
-
*
|
|
349
|
-
* @returns Statistics by workflow
|
|
350
|
-
*/
|
|
351
|
-
getWorkflowStatistics(): WorkflowStatistics;
|
|
352
|
-
}
|
|
353
|
-
export { MCP_CACHE_TTL_SECONDS, MCP_CACHE_TTL_NON_PLENARY_SECONDS, RECENT_ARTICLE_TTL_SECONDS, SIMILARITY_THRESHOLD, TOPIC_JACCARD_THRESHOLD, LOCK_TIMEOUT_MS, ACTIVE_GENERATION_TTL_MS, };
|
|
354
|
-
//# sourceMappingURL=workflow-state-coordinator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-state-coordinator.d.ts","sourceRoot":"","sources":["../../scripts/workflow-state-coordinator.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmKG;AAOH,OAAO,KAAK,EAGV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,yBAAyB,EAEzB,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAO7B,QAAA,MAAM,qBAAqB,EAAE,MAAoB,CAAC;AAClD,QAAA,MAAM,iCAAiC,EAAE,MAAoB,CAAC;AAC9D,QAAA,MAAM,0BAA0B,EAAE,MAAoB,CAAC;AACvD,QAAA,MAAM,oBAAoB,EAAE,MAAa,CAAC;AAC1C,QAAA,MAAM,uBAAuB,EAAE,MAAa,CAAC;AAC7C,QAAA,MAAM,eAAe,EAAE,MAAuB,CAAC;AAC/C,QAAA,MAAM,wBAAwB,EAAE,MAAuB,CAAC;AAcxD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAMvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAKtD;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,GAAE,MAAiB,EAAE,SAAS,GAAE,MAAwB;IAK3E,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,WAAW;IAKnB;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAsFpE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAS7C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAK7C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAYxD;;;;OAIG;IACH,iBAAiB,IAAI,MAAM;CAqD5B;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAgB;gBAEjB,aAAa,GAAE,MAAmB;IAW9C;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2D3B;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAmD7B;;;;;;OAMG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnF;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAuBnD;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE;;;;;;;;;;;;;;OAcG;IACG,qBAAqB,CACzB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAM,EAAO,EACrB,UAAU,GAAE,MAAM,EAAO,EACzB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC;IA2EhC;;;;;;;;;OASG;IACH,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM;IAQT;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IASpD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM;IAYpD;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM;IAahC;;;;;OAKG;IACG,uBAAuB,CAC3B,YAAY,EAAE,MAAM,EACpB,QAAQ,GAAE,yBAA8B,GACvC,OAAO,CAAC,IAAI,CAAC;IAoBhB;;OAEG;IACG,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7F;;OAEG;IACG,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/F;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,EAAE;IAI1C;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,GAAE,MAAU,GAAG,kBAAkB,EAAE;IAU1D;;;;OAIG;IACH,qBAAqB,IAAI,kBAAkB;CAO5C;AAGD,OAAO,EACL,qBAAqB,EACrB,iCAAiC,EACjC,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,wBAAwB,GACzB,CAAC"}
|