riksdagsmonitor 0.8.12 → 0.8.15
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/dist/lib/cia/dashboard-init.d.ts +26 -0
- package/dist/lib/cia/dashboard-init.d.ts.map +1 -0
- package/dist/lib/cia/dashboard-init.js +108 -0
- package/dist/lib/cia/dashboard-init.js.map +1 -0
- package/dist/lib/cia/data-loader.d.ts +408 -0
- package/dist/lib/cia/data-loader.d.ts.map +1 -0
- package/dist/lib/cia/data-loader.js +867 -0
- package/dist/lib/cia/data-loader.js.map +1 -0
- package/dist/lib/cia/election-predictions.d.ts +78 -0
- package/dist/lib/cia/election-predictions.d.ts.map +1 -0
- package/dist/lib/cia/election-predictions.js +259 -0
- package/dist/lib/cia/election-predictions.js.map +1 -0
- package/dist/lib/cia/i18n-translations.d.ts +111 -0
- package/dist/lib/cia/i18n-translations.d.ts.map +1 -0
- package/dist/lib/cia/i18n-translations.js +619 -0
- package/dist/lib/cia/i18n-translations.js.map +1 -0
- package/dist/lib/cia/visualizations.d.ts +64 -0
- package/dist/lib/cia/visualizations.d.ts.map +1 -0
- package/dist/lib/cia/visualizations.js +662 -0
- package/dist/lib/cia/visualizations.js.map +1 -0
- package/dist/lib/dashboards/anomaly-detection.d.ts +44 -0
- package/dist/lib/dashboards/anomaly-detection.d.ts.map +1 -0
- package/dist/lib/dashboards/anomaly-detection.js +1017 -0
- package/dist/lib/dashboards/anomaly-detection.js.map +1 -0
- package/dist/lib/dashboards/coalition-dashboard.d.ts +36 -0
- package/dist/lib/dashboards/coalition-dashboard.d.ts.map +1 -0
- package/dist/lib/dashboards/coalition-dashboard.js +629 -0
- package/dist/lib/dashboards/coalition-dashboard.js.map +1 -0
- package/dist/lib/dashboards/coalition-loader.d.ts +43 -0
- package/dist/lib/dashboards/coalition-loader.d.ts.map +1 -0
- package/dist/lib/dashboards/coalition-loader.js +665 -0
- package/dist/lib/dashboards/coalition-loader.js.map +1 -0
- package/dist/lib/dashboards/committees-dashboard.d.ts +23 -0
- package/dist/lib/dashboards/committees-dashboard.d.ts.map +1 -0
- package/dist/lib/dashboards/committees-dashboard.js +886 -0
- package/dist/lib/dashboards/committees-dashboard.js.map +1 -0
- package/dist/lib/dashboards/election-cycle.d.ts +62 -0
- package/dist/lib/dashboards/election-cycle.d.ts.map +1 -0
- package/dist/lib/dashboards/election-cycle.js +484 -0
- package/dist/lib/dashboards/election-cycle.js.map +1 -0
- package/dist/lib/dashboards/ministry-dashboard.d.ts +46 -0
- package/dist/lib/dashboards/ministry-dashboard.d.ts.map +1 -0
- package/dist/lib/dashboards/ministry-dashboard.js +1114 -0
- package/dist/lib/dashboards/ministry-dashboard.js.map +1 -0
- package/dist/lib/dashboards/party-dashboard.d.ts +56 -0
- package/dist/lib/dashboards/party-dashboard.d.ts.map +1 -0
- package/dist/lib/dashboards/party-dashboard.js +981 -0
- package/dist/lib/dashboards/party-dashboard.js.map +1 -0
- package/dist/lib/dashboards/politician-dashboard.d.ts +41 -0
- package/dist/lib/dashboards/politician-dashboard.d.ts.map +1 -0
- package/dist/lib/dashboards/politician-dashboard.js +611 -0
- package/dist/lib/dashboards/politician-dashboard.js.map +1 -0
- package/dist/lib/dashboards/pre-election.d.ts +64 -0
- package/dist/lib/dashboards/pre-election.d.ts.map +1 -0
- package/dist/lib/dashboards/pre-election.js +604 -0
- package/dist/lib/dashboards/pre-election.js.map +1 -0
- package/dist/lib/dashboards/risk-dashboard.d.ts +37 -0
- package/dist/lib/dashboards/risk-dashboard.d.ts.map +1 -0
- package/dist/lib/dashboards/risk-dashboard.js +863 -0
- package/dist/lib/dashboards/risk-dashboard.js.map +1 -0
- package/dist/lib/dashboards/seasonal-patterns.d.ts +24 -0
- package/dist/lib/dashboards/seasonal-patterns.d.ts.map +1 -0
- package/dist/lib/dashboards/seasonal-patterns.js +535 -0
- package/dist/lib/dashboards/seasonal-patterns.js.map +1 -0
- package/dist/lib/dashboards/stats-loader.d.ts +35 -0
- package/dist/lib/dashboards/stats-loader.d.ts.map +1 -0
- package/dist/lib/dashboards/stats-loader.js +145 -0
- package/dist/lib/dashboards/stats-loader.js.map +1 -0
- package/dist/lib/shared/chart-factory.d.ts.map +1 -0
- package/dist/lib/shared/chart-factory.js.map +1 -0
- package/dist/lib/shared/data-loader.d.ts.map +1 -0
- package/dist/lib/shared/data-loader.js.map +1 -0
- package/dist/lib/shared/dom-utils.d.ts.map +1 -0
- package/dist/lib/shared/dom-utils.js.map +1 -0
- package/dist/lib/shared/error-boundary.d.ts.map +1 -0
- package/dist/lib/shared/error-boundary.js.map +1 -0
- package/dist/lib/shared/fallback-ui.d.ts.map +1 -0
- package/dist/lib/shared/fallback-ui.js.map +1 -0
- package/dist/lib/shared/index.d.ts.map +1 -0
- package/dist/lib/shared/index.js.map +1 -0
- package/dist/lib/shared/logger.d.ts.map +1 -0
- package/dist/lib/shared/logger.js.map +1 -0
- package/dist/lib/shared/register-globals.d.ts +14 -0
- package/dist/lib/shared/register-globals.d.ts.map +1 -0
- package/dist/lib/shared/register-globals.js +21 -0
- package/dist/lib/shared/register-globals.js.map +1 -0
- package/dist/lib/shared/theme.d.ts.map +1 -0
- package/dist/lib/shared/theme.js.map +1 -0
- package/dist/lib/shared/types.d.ts.map +1 -0
- package/dist/lib/shared/types.js.map +1 -0
- package/dist/lib/ui/back-to-top.d.ts +13 -0
- package/dist/lib/ui/back-to-top.d.ts.map +1 -0
- package/dist/lib/ui/back-to-top.js +48 -0
- package/dist/lib/ui/back-to-top.js.map +1 -0
- package/dist/scripts/ai-analysis/coalition-detector.d.ts +28 -0
- package/dist/scripts/ai-analysis/coalition-detector.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/coalition-detector.js +242 -0
- package/dist/scripts/ai-analysis/coalition-detector.js.map +1 -0
- package/dist/scripts/ai-analysis/dashboard-analyzer.d.ts +73 -0
- package/dist/scripts/ai-analysis/dashboard-analyzer.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/dashboard-analyzer.js +511 -0
- package/dist/scripts/ai-analysis/dashboard-analyzer.js.map +1 -0
- package/dist/scripts/ai-analysis/document-analyzer.d.ts +196 -0
- package/dist/scripts/ai-analysis/document-analyzer.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/document-analyzer.js +1001 -0
- package/dist/scripts/ai-analysis/document-analyzer.js.map +1 -0
- package/dist/scripts/ai-analysis/domains/index.d.ts +15 -0
- package/dist/scripts/ai-analysis/domains/index.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/domains/index.js +494 -0
- package/dist/scripts/ai-analysis/domains/index.js.map +1 -0
- package/dist/scripts/ai-analysis/helpers.d.ts +43 -0
- package/dist/scripts/ai-analysis/helpers.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/helpers.js +79 -0
- package/dist/scripts/ai-analysis/helpers.js.map +1 -0
- package/dist/scripts/ai-analysis/index.d.ts +15 -0
- package/dist/scripts/ai-analysis/index.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/index.js +14 -0
- package/dist/scripts/ai-analysis/index.js.map +1 -0
- package/dist/scripts/ai-analysis/pipeline.d.ts +41 -0
- package/dist/scripts/ai-analysis/pipeline.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/pipeline.js +208 -0
- package/dist/scripts/ai-analysis/pipeline.js.map +1 -0
- package/dist/scripts/ai-analysis/political-significance.d.ts +63 -0
- package/dist/scripts/ai-analysis/political-significance.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/political-significance.js +227 -0
- package/dist/scripts/ai-analysis/political-significance.js.map +1 -0
- package/dist/scripts/ai-analysis/quality-assessor.d.ts +104 -0
- package/dist/scripts/ai-analysis/quality-assessor.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/quality-assessor.js +554 -0
- package/dist/scripts/ai-analysis/quality-assessor.js.map +1 -0
- package/dist/scripts/ai-analysis/swot/index.d.ts +56 -0
- package/dist/scripts/ai-analysis/swot/index.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/swot/index.js +360 -0
- package/dist/scripts/ai-analysis/swot/index.js.map +1 -0
- package/dist/scripts/ai-analysis/swot/placeholders.d.ts +30 -0
- package/dist/scripts/ai-analysis/swot/placeholders.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/swot/placeholders.js +381 -0
- package/dist/scripts/ai-analysis/swot/placeholders.js.map +1 -0
- package/dist/scripts/ai-analysis/types.d.ts +333 -0
- package/dist/scripts/ai-analysis/types.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/types.js +19 -0
- package/dist/scripts/ai-analysis/types.js.map +1 -0
- package/dist/scripts/ai-analysis/visualisation/index.d.ts +15 -0
- package/dist/scripts/ai-analysis/visualisation/index.d.ts.map +1 -0
- package/dist/scripts/ai-analysis/visualisation/index.js +179 -0
- package/dist/scripts/ai-analysis/visualisation/index.js.map +1 -0
- package/dist/scripts/analysis-framework/cross-reference.d.ts +35 -0
- package/dist/scripts/analysis-framework/cross-reference.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/cross-reference.js +290 -0
- package/dist/scripts/analysis-framework/cross-reference.js.map +1 -0
- package/dist/scripts/analysis-framework/index.d.ts +79 -0
- package/dist/scripts/analysis-framework/index.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/index.js +133 -0
- package/dist/scripts/analysis-framework/index.js.map +1 -0
- package/dist/scripts/analysis-framework/lenses/citizen.d.ts +29 -0
- package/dist/scripts/analysis-framework/lenses/citizen.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/lenses/citizen.js +220 -0
- package/dist/scripts/analysis-framework/lenses/citizen.js.map +1 -0
- package/dist/scripts/analysis-framework/lenses/economic.d.ts +29 -0
- package/dist/scripts/analysis-framework/lenses/economic.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/lenses/economic.js +227 -0
- package/dist/scripts/analysis-framework/lenses/economic.js.map +1 -0
- package/dist/scripts/analysis-framework/lenses/government.d.ts +32 -0
- package/dist/scripts/analysis-framework/lenses/government.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/lenses/government.js +265 -0
- package/dist/scripts/analysis-framework/lenses/government.js.map +1 -0
- package/dist/scripts/analysis-framework/lenses/international.d.ts +29 -0
- package/dist/scripts/analysis-framework/lenses/international.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/lenses/international.js +248 -0
- package/dist/scripts/analysis-framework/lenses/international.js.map +1 -0
- package/dist/scripts/analysis-framework/lenses/media.d.ts +29 -0
- package/dist/scripts/analysis-framework/lenses/media.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/lenses/media.js +211 -0
- package/dist/scripts/analysis-framework/lenses/media.js.map +1 -0
- package/dist/scripts/analysis-framework/lenses/opposition.d.ts +29 -0
- package/dist/scripts/analysis-framework/lenses/opposition.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/lenses/opposition.js +234 -0
- package/dist/scripts/analysis-framework/lenses/opposition.js.map +1 -0
- package/dist/scripts/analysis-framework/methodology-types.d.ts +309 -0
- package/dist/scripts/analysis-framework/methodology-types.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/methodology-types.js +38 -0
- package/dist/scripts/analysis-framework/methodology-types.js.map +1 -0
- package/dist/scripts/analysis-framework/political-classification.d.ts +58 -0
- package/dist/scripts/analysis-framework/political-classification.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/political-classification.js +414 -0
- package/dist/scripts/analysis-framework/political-classification.js.map +1 -0
- package/dist/scripts/analysis-framework/political-risk-assessment.d.ts +74 -0
- package/dist/scripts/analysis-framework/political-risk-assessment.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/political-risk-assessment.js +656 -0
- package/dist/scripts/analysis-framework/political-risk-assessment.js.map +1 -0
- package/dist/scripts/analysis-framework/political-threat-analysis.d.ts +65 -0
- package/dist/scripts/analysis-framework/political-threat-analysis.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/political-threat-analysis.js +553 -0
- package/dist/scripts/analysis-framework/political-threat-analysis.js.map +1 -0
- package/dist/scripts/analysis-framework/significance-scorer.d.ts +62 -0
- package/dist/scripts/analysis-framework/significance-scorer.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/significance-scorer.js +196 -0
- package/dist/scripts/analysis-framework/significance-scorer.js.map +1 -0
- package/dist/scripts/analysis-framework/types.d.ts +138 -0
- package/dist/scripts/analysis-framework/types.d.ts.map +1 -0
- package/dist/scripts/analysis-framework/types.js +12 -0
- package/dist/scripts/analysis-framework/types.js.map +1 -0
- package/dist/scripts/analysis-reader.d.ts +240 -0
- package/dist/scripts/analysis-reader.d.ts.map +1 -0
- package/dist/scripts/analysis-reader.js +495 -0
- package/dist/scripts/analysis-reader.js.map +1 -0
- package/dist/scripts/article-quality-enhancer.d.ts +148 -0
- package/dist/scripts/article-quality-enhancer.d.ts.map +1 -0
- package/dist/scripts/article-quality-enhancer.js +430 -0
- package/dist/scripts/article-quality-enhancer.js.map +1 -0
- package/dist/scripts/article-template/constants.d.ts +104 -0
- package/dist/scripts/article-template/constants.d.ts.map +1 -0
- package/dist/scripts/article-template/constants.js +225 -0
- package/dist/scripts/article-template/constants.js.map +1 -0
- package/dist/scripts/article-template/helpers.d.ts +83 -0
- package/dist/scripts/article-template/helpers.d.ts.map +1 -0
- package/dist/scripts/article-template/helpers.js +236 -0
- package/dist/scripts/article-template/helpers.js.map +1 -0
- package/dist/scripts/article-template/index.d.ts +39 -0
- package/dist/scripts/article-template/index.d.ts.map +1 -0
- package/dist/scripts/article-template/index.js +37 -0
- package/dist/scripts/article-template/index.js.map +1 -0
- package/dist/scripts/article-template/registry.d.ts +64 -0
- package/dist/scripts/article-template/registry.d.ts.map +1 -0
- package/dist/scripts/article-template/registry.js +405 -0
- package/dist/scripts/article-template/registry.js.map +1 -0
- package/dist/scripts/article-template/template.d.ts +18 -0
- package/dist/scripts/article-template/template.d.ts.map +1 -0
- package/dist/scripts/article-template/template.js +359 -0
- package/dist/scripts/article-template/template.js.map +1 -0
- package/dist/scripts/article-template/types.d.ts +90 -0
- package/dist/scripts/article-template/types.d.ts.map +1 -0
- package/dist/scripts/article-template/types.js +96 -0
- package/dist/scripts/article-template/types.js.map +1 -0
- package/dist/scripts/article-template.d.ts +18 -0
- package/dist/scripts/article-template.d.ts.map +1 -0
- package/dist/scripts/article-template.js +18 -0
- package/dist/scripts/article-template.js.map +1 -0
- package/dist/scripts/catalog-downloaded-data.d.ts +66 -0
- package/dist/scripts/catalog-downloaded-data.d.ts.map +1 -0
- package/dist/scripts/catalog-downloaded-data.js +239 -0
- package/dist/scripts/catalog-downloaded-data.js.map +1 -0
- package/dist/scripts/check-cia-schema-updates.d.ts +186 -0
- package/dist/scripts/check-cia-schema-updates.d.ts.map +1 -0
- package/dist/scripts/check-cia-schema-updates.js +363 -0
- package/dist/scripts/check-cia-schema-updates.js.map +1 -0
- package/dist/scripts/data-transformers/calendar.d.ts +16 -0
- package/dist/scripts/data-transformers/calendar.d.ts.map +1 -0
- package/dist/scripts/data-transformers/calendar.js +137 -0
- package/dist/scripts/data-transformers/calendar.js.map +1 -0
- package/dist/scripts/data-transformers/constants/committee-names.d.ts +15 -0
- package/dist/scripts/data-transformers/constants/committee-names.d.ts.map +1 -0
- package/dist/scripts/data-transformers/constants/committee-names.js +30 -0
- package/dist/scripts/data-transformers/constants/committee-names.js.map +1 -0
- package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts +11 -0
- package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts.map +1 -0
- package/dist/scripts/data-transformers/constants/content-labels-part1.js +900 -0
- package/dist/scripts/data-transformers/constants/content-labels-part1.js.map +1 -0
- package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts +11 -0
- package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts.map +1 -0
- package/dist/scripts/data-transformers/constants/content-labels-part2.js +900 -0
- package/dist/scripts/data-transformers/constants/content-labels-part2.js.map +1 -0
- package/dist/scripts/data-transformers/constants/content-labels.d.ts +13 -0
- package/dist/scripts/data-transformers/constants/content-labels.d.ts.map +1 -0
- package/dist/scripts/data-transformers/constants/content-labels.js +18 -0
- package/dist/scripts/data-transformers/constants/content-labels.js.map +1 -0
- package/dist/scripts/data-transformers/constants/index.d.ts +15 -0
- package/dist/scripts/data-transformers/constants/index.d.ts.map +1 -0
- package/dist/scripts/data-transformers/constants/index.js +15 -0
- package/dist/scripts/data-transformers/constants/index.js.map +1 -0
- package/dist/scripts/data-transformers/constants/locale-map.d.ts +13 -0
- package/dist/scripts/data-transformers/constants/locale-map.d.ts.map +1 -0
- package/dist/scripts/data-transformers/constants/locale-map.js +17 -0
- package/dist/scripts/data-transformers/constants/locale-map.js.map +1 -0
- package/dist/scripts/data-transformers/constants.d.ts +14 -0
- package/dist/scripts/data-transformers/constants.d.ts.map +1 -0
- package/dist/scripts/data-transformers/constants.js +14 -0
- package/dist/scripts/data-transformers/constants.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts +64 -0
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js +805 -0
- package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.d.ts +89 -0
- package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.js +667 -0
- package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts +50 -0
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.js +310 -0
- package/dist/scripts/data-transformers/content-generators/cia-overview-section.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/committee.d.ts +12 -0
- package/dist/scripts/data-transformers/content-generators/committee.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/committee.js +247 -0
- package/dist/scripts/data-transformers/content-generators/committee.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts +124 -0
- package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/dashboard-section.js +564 -0
- package/dist/scripts/data-transformers/content-generators/dashboard-section.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts +82 -0
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js +321 -0
- package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/generic.d.ts +12 -0
- package/dist/scripts/data-transformers/content-generators/generic.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/generic.js +295 -0
- package/dist/scripts/data-transformers/content-generators/generic.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/index.d.ts +56 -0
- package/dist/scripts/data-transformers/content-generators/index.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/index.js +45 -0
- package/dist/scripts/data-transformers/content-generators/index.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/interpellations.d.ts +12 -0
- package/dist/scripts/data-transformers/content-generators/interpellations.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/interpellations.js +124 -0
- package/dist/scripts/data-transformers/content-generators/interpellations.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts +137 -0
- package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/mindmap-section.js +286 -0
- package/dist/scripts/data-transformers/content-generators/mindmap-section.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts +17 -0
- package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/month-ahead.js +212 -0
- package/dist/scripts/data-transformers/content-generators/month-ahead.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts +17 -0
- package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/monthly-review.js +173 -0
- package/dist/scripts/data-transformers/content-generators/monthly-review.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/motions.d.ts +12 -0
- package/dist/scripts/data-transformers/content-generators/motions.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/motions.js +158 -0
- package/dist/scripts/data-transformers/content-generators/motions.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts +52 -0
- package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/newsworthiness.js +244 -0
- package/dist/scripts/data-transformers/content-generators/newsworthiness.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/propositions.d.ts +12 -0
- package/dist/scripts/data-transformers/content-generators/propositions.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/propositions.js +263 -0
- package/dist/scripts/data-transformers/content-generators/propositions.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts +92 -0
- package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/sankey-section.js +257 -0
- package/dist/scripts/data-transformers/content-generators/sankey-section.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/shared.d.ts +81 -0
- package/dist/scripts/data-transformers/content-generators/shared.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/shared.js +913 -0
- package/dist/scripts/data-transformers/content-generators/shared.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.d.ts +83 -0
- package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.js +219 -0
- package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/swot-section.d.ts +50 -0
- package/dist/scripts/data-transformers/content-generators/swot-section.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/swot-section.js +177 -0
- package/dist/scripts/data-transformers/content-generators/swot-section.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts +12 -0
- package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators/week-ahead.js +332 -0
- package/dist/scripts/data-transformers/content-generators/week-ahead.js.map +1 -0
- package/dist/scripts/data-transformers/content-generators.d.ts +15 -0
- package/dist/scripts/data-transformers/content-generators.d.ts.map +1 -0
- package/dist/scripts/data-transformers/content-generators.js +14 -0
- package/dist/scripts/data-transformers/content-generators.js.map +1 -0
- package/dist/scripts/data-transformers/document-analysis.d.ts +58 -0
- package/dist/scripts/data-transformers/document-analysis.d.ts.map +1 -0
- package/dist/scripts/data-transformers/document-analysis.js +396 -0
- package/dist/scripts/data-transformers/document-analysis.js.map +1 -0
- package/dist/scripts/data-transformers/helpers.d.ts +144 -0
- package/dist/scripts/data-transformers/helpers.d.ts.map +1 -0
- package/dist/scripts/data-transformers/helpers.js +408 -0
- package/dist/scripts/data-transformers/helpers.js.map +1 -0
- package/dist/scripts/data-transformers/index.d.ts +45 -0
- package/dist/scripts/data-transformers/index.d.ts.map +1 -0
- package/dist/scripts/data-transformers/index.js +66 -0
- package/dist/scripts/data-transformers/index.js.map +1 -0
- package/dist/scripts/data-transformers/metadata.d.ts +42 -0
- package/dist/scripts/data-transformers/metadata.d.ts.map +1 -0
- package/dist/scripts/data-transformers/metadata.js +385 -0
- package/dist/scripts/data-transformers/metadata.js.map +1 -0
- package/dist/scripts/data-transformers/policy-analysis.d.ts +105 -0
- package/dist/scripts/data-transformers/policy-analysis.d.ts.map +1 -0
- package/dist/scripts/data-transformers/policy-analysis.js +686 -0
- package/dist/scripts/data-transformers/policy-analysis.js.map +1 -0
- package/dist/scripts/data-transformers/risk-analysis.d.ts +104 -0
- package/dist/scripts/data-transformers/risk-analysis.d.ts.map +1 -0
- package/dist/scripts/data-transformers/risk-analysis.js +279 -0
- package/dist/scripts/data-transformers/risk-analysis.js.map +1 -0
- package/dist/scripts/data-transformers/types.d.ts +260 -0
- package/dist/scripts/data-transformers/types.d.ts.map +1 -0
- package/dist/scripts/data-transformers/types.js +11 -0
- package/dist/scripts/data-transformers/types.js.map +1 -0
- package/dist/scripts/data-transformers.d.ts +23 -0
- package/dist/scripts/data-transformers.d.ts.map +1 -0
- package/dist/scripts/data-transformers.js +35 -0
- package/dist/scripts/data-transformers.js.map +1 -0
- package/dist/scripts/deep-inspection/index.d.ts +55 -0
- package/dist/scripts/deep-inspection/index.d.ts.map +1 -0
- package/dist/scripts/deep-inspection/index.js +66 -0
- package/dist/scripts/deep-inspection/index.js.map +1 -0
- package/dist/scripts/detect-swedish-leakage.d.ts +69 -0
- package/dist/scripts/detect-swedish-leakage.d.ts.map +1 -0
- package/dist/scripts/detect-swedish-leakage.js +417 -0
- package/dist/scripts/detect-swedish-leakage.js.map +1 -0
- package/dist/scripts/editorial-framework.d.ts +121 -0
- package/dist/scripts/editorial-framework.d.ts.map +1 -0
- package/dist/scripts/editorial-framework.js +364 -0
- package/dist/scripts/editorial-framework.js.map +1 -0
- package/dist/scripts/editorial-pillars.d.ts +43 -0
- package/dist/scripts/editorial-pillars.d.ts.map +1 -0
- package/dist/scripts/editorial-pillars.js +215 -0
- package/dist/scripts/editorial-pillars.js.map +1 -0
- package/dist/scripts/extract-news-metadata.d.ts +12 -0
- package/dist/scripts/extract-news-metadata.d.ts.map +1 -0
- package/dist/scripts/extract-news-metadata.js +107 -0
- package/dist/scripts/extract-news-metadata.js.map +1 -0
- package/dist/scripts/extract-vocabulary.d.ts +15 -0
- package/dist/scripts/extract-vocabulary.d.ts.map +1 -0
- package/dist/scripts/extract-vocabulary.js +255 -0
- package/dist/scripts/extract-vocabulary.js.map +1 -0
- package/dist/scripts/fix-article-navigation.d.ts +37 -0
- package/dist/scripts/fix-article-navigation.d.ts.map +1 -0
- package/dist/scripts/fix-article-navigation.js +198 -0
- package/dist/scripts/fix-article-navigation.js.map +1 -0
- package/dist/scripts/fix-keywords-localization.d.ts +18 -0
- package/dist/scripts/fix-keywords-localization.d.ts.map +1 -0
- package/dist/scripts/fix-keywords-localization.js +270 -0
- package/dist/scripts/fix-keywords-localization.js.map +1 -0
- package/dist/scripts/fix-old-articles-branding.d.ts +17 -0
- package/dist/scripts/fix-old-articles-branding.d.ts.map +1 -0
- package/dist/scripts/fix-old-articles-branding.js +229 -0
- package/dist/scripts/fix-old-articles-branding.js.map +1 -0
- package/dist/scripts/generate-news-backport.d.ts +16 -0
- package/dist/scripts/generate-news-backport.d.ts.map +1 -0
- package/dist/scripts/generate-news-backport.js +379 -0
- package/dist/scripts/generate-news-backport.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts +124 -0
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js +529 -0
- package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts +59 -0
- package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/analysis-cache.js +116 -0
- package/dist/scripts/generate-news-enhanced/analysis-cache.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts +58 -0
- package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/analysis-labels.js +144 -0
- package/dist/scripts/generate-news-enhanced/analysis-labels.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/config.d.ts +57 -0
- package/dist/scripts/generate-news-enhanced/config.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/config.js +286 -0
- package/dist/scripts/generate-news-enhanced/config.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/generators.d.ts +119 -0
- package/dist/scripts/generate-news-enhanced/generators.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/generators.js +2108 -0
- package/dist/scripts/generate-news-enhanced/generators.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/helpers.d.ts +123 -0
- package/dist/scripts/generate-news-enhanced/helpers.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/helpers.js +438 -0
- package/dist/scripts/generate-news-enhanced/helpers.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/index.d.ts +19 -0
- package/dist/scripts/generate-news-enhanced/index.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/index.js +221 -0
- package/dist/scripts/generate-news-enhanced/index.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts +35 -0
- package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/swot-analyzer.js +1179 -0
- package/dist/scripts/generate-news-enhanced/swot-analyzer.js.map +1 -0
- package/dist/scripts/generate-news-enhanced/types.d.ts +34 -0
- package/dist/scripts/generate-news-enhanced/types.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced/types.js +9 -0
- package/dist/scripts/generate-news-enhanced/types.js.map +1 -0
- package/dist/scripts/generate-news-enhanced.d.ts +25 -0
- package/dist/scripts/generate-news-enhanced.d.ts.map +1 -0
- package/dist/scripts/generate-news-enhanced.js +37 -0
- package/dist/scripts/generate-news-enhanced.js.map +1 -0
- package/dist/scripts/generate-news-indexes/constants.d.ts +20 -0
- package/dist/scripts/generate-news-indexes/constants.d.ts.map +1 -0
- package/dist/scripts/generate-news-indexes/constants.js +308 -0
- package/dist/scripts/generate-news-indexes/constants.js.map +1 -0
- package/dist/scripts/generate-news-indexes/helpers.d.ts +73 -0
- package/dist/scripts/generate-news-indexes/helpers.d.ts.map +1 -0
- package/dist/scripts/generate-news-indexes/helpers.js +352 -0
- package/dist/scripts/generate-news-indexes/helpers.js.map +1 -0
- package/dist/scripts/generate-news-indexes/index.d.ts +20 -0
- package/dist/scripts/generate-news-indexes/index.d.ts.map +1 -0
- package/dist/scripts/generate-news-indexes/index.js +75 -0
- package/dist/scripts/generate-news-indexes/index.js.map +1 -0
- package/dist/scripts/generate-news-indexes/template.d.ts +25 -0
- package/dist/scripts/generate-news-indexes/template.d.ts.map +1 -0
- package/dist/scripts/generate-news-indexes/template.js +644 -0
- package/dist/scripts/generate-news-indexes/template.js.map +1 -0
- package/dist/scripts/generate-news-indexes/types.d.ts +96 -0
- package/dist/scripts/generate-news-indexes/types.d.ts.map +1 -0
- package/dist/scripts/generate-news-indexes/types.js +9 -0
- package/dist/scripts/generate-news-indexes/types.js.map +1 -0
- package/dist/scripts/generate-news-indexes.d.ts +20 -0
- package/dist/scripts/generate-news-indexes.d.ts.map +1 -0
- package/dist/scripts/generate-news-indexes.js +19 -0
- package/dist/scripts/generate-news-indexes.js.map +1 -0
- package/dist/scripts/generate-rss.d.ts +48 -0
- package/dist/scripts/generate-rss.d.ts.map +1 -0
- package/dist/scripts/generate-rss.js +299 -0
- package/dist/scripts/generate-rss.js.map +1 -0
- package/dist/scripts/generate-sitemap-html.d.ts +79 -0
- package/dist/scripts/generate-sitemap-html.d.ts.map +1 -0
- package/dist/scripts/generate-sitemap-html.js +878 -0
- package/dist/scripts/generate-sitemap-html.js.map +1 -0
- package/dist/scripts/generate-sitemap.d.ts +23 -0
- package/dist/scripts/generate-sitemap.d.ts.map +1 -0
- package/dist/scripts/generate-sitemap.js +476 -0
- package/dist/scripts/generate-sitemap.js.map +1 -0
- package/dist/scripts/generate-types-from-cia-schemas.d.ts +176 -0
- package/dist/scripts/generate-types-from-cia-schemas.d.ts.map +1 -0
- package/dist/scripts/generate-types-from-cia-schemas.js +318 -0
- package/dist/scripts/generate-types-from-cia-schemas.js.map +1 -0
- package/dist/scripts/government-role-validator.d.ts +65 -0
- package/dist/scripts/government-role-validator.d.ts.map +1 -0
- package/dist/scripts/government-role-validator.js +217 -0
- package/dist/scripts/government-role-validator.js.map +1 -0
- package/dist/scripts/html-utils.d.ts +17 -0
- package/dist/scripts/html-utils.d.ts.map +1 -0
- package/dist/scripts/html-utils.js +29 -0
- package/dist/scripts/html-utils.js.map +1 -0
- package/dist/scripts/load-cia-stats.d.ts +89 -0
- package/dist/scripts/load-cia-stats.d.ts.map +1 -0
- package/dist/scripts/load-cia-stats.js +400 -0
- package/dist/scripts/load-cia-stats.js.map +1 -0
- package/dist/scripts/mcp-client/client.d.ts +73 -0
- package/dist/scripts/mcp-client/client.d.ts.map +1 -0
- package/dist/scripts/mcp-client/client.js +526 -0
- package/dist/scripts/mcp-client/client.js.map +1 -0
- package/dist/scripts/mcp-client/document-types.d.ts +23 -0
- package/dist/scripts/mcp-client/document-types.d.ts.map +1 -0
- package/dist/scripts/mcp-client/document-types.js +62 -0
- package/dist/scripts/mcp-client/document-types.js.map +1 -0
- package/dist/scripts/mcp-client/index.d.ts +34 -0
- package/dist/scripts/mcp-client/index.d.ts.map +1 -0
- package/dist/scripts/mcp-client/index.js +67 -0
- package/dist/scripts/mcp-client/index.js.map +1 -0
- package/dist/scripts/mcp-client/transport.d.ts +32 -0
- package/dist/scripts/mcp-client/transport.d.ts.map +1 -0
- package/dist/scripts/mcp-client/transport.js +102 -0
- package/dist/scripts/mcp-client/transport.js.map +1 -0
- package/dist/scripts/mcp-client.d.ts +18 -0
- package/dist/scripts/mcp-client.d.ts.map +1 -0
- package/dist/scripts/mcp-client.js +18 -0
- package/dist/scripts/mcp-client.js.map +1 -0
- package/dist/scripts/mcp-query-cli.d.ts +25 -0
- package/dist/scripts/mcp-query-cli.d.ts.map +1 -0
- package/dist/scripts/mcp-query-cli.js +66 -0
- package/dist/scripts/mcp-query-cli.js.map +1 -0
- package/dist/scripts/news-types/breaking-news.d.ts +178 -0
- package/dist/scripts/news-types/breaking-news.d.ts.map +1 -0
- package/dist/scripts/news-types/breaking-news.js +428 -0
- package/dist/scripts/news-types/breaking-news.js.map +1 -0
- package/dist/scripts/news-types/committee-reports.d.ts +212 -0
- package/dist/scripts/news-types/committee-reports.d.ts.map +1 -0
- package/dist/scripts/news-types/committee-reports.js +404 -0
- package/dist/scripts/news-types/committee-reports.js.map +1 -0
- package/dist/scripts/news-types/month-ahead.d.ts +71 -0
- package/dist/scripts/news-types/month-ahead.d.ts.map +1 -0
- package/dist/scripts/news-types/month-ahead.js +392 -0
- package/dist/scripts/news-types/month-ahead.js.map +1 -0
- package/dist/scripts/news-types/monthly-review.d.ts +61 -0
- package/dist/scripts/news-types/monthly-review.d.ts.map +1 -0
- package/dist/scripts/news-types/monthly-review.js +417 -0
- package/dist/scripts/news-types/monthly-review.js.map +1 -0
- package/dist/scripts/news-types/motions.d.ts +214 -0
- package/dist/scripts/news-types/motions.d.ts.map +1 -0
- package/dist/scripts/news-types/motions.js +447 -0
- package/dist/scripts/news-types/motions.js.map +1 -0
- package/dist/scripts/news-types/propositions.d.ts +204 -0
- package/dist/scripts/news-types/propositions.d.ts.map +1 -0
- package/dist/scripts/news-types/propositions.js +401 -0
- package/dist/scripts/news-types/propositions.js.map +1 -0
- package/dist/scripts/news-types/week-ahead.d.ts +231 -0
- package/dist/scripts/news-types/week-ahead.d.ts.map +1 -0
- package/dist/scripts/news-types/week-ahead.js +441 -0
- package/dist/scripts/news-types/week-ahead.js.map +1 -0
- package/dist/scripts/news-types/weekly-review/analysis.d.ts +47 -0
- package/dist/scripts/news-types/weekly-review/analysis.d.ts.map +1 -0
- package/dist/scripts/news-types/weekly-review/analysis.js +276 -0
- package/dist/scripts/news-types/weekly-review/analysis.js.map +1 -0
- package/dist/scripts/news-types/weekly-review/data-loader.d.ts +51 -0
- package/dist/scripts/news-types/weekly-review/data-loader.d.ts.map +1 -0
- package/dist/scripts/news-types/weekly-review/data-loader.js +298 -0
- package/dist/scripts/news-types/weekly-review/data-loader.js.map +1 -0
- package/dist/scripts/news-types/weekly-review/generator.d.ts +18 -0
- package/dist/scripts/news-types/weekly-review/generator.d.ts.map +1 -0
- package/dist/scripts/news-types/weekly-review/generator.js +284 -0
- package/dist/scripts/news-types/weekly-review/generator.js.map +1 -0
- package/dist/scripts/news-types/weekly-review/index.d.ts +20 -0
- package/dist/scripts/news-types/weekly-review/index.d.ts.map +1 -0
- package/dist/scripts/news-types/weekly-review/index.js +23 -0
- package/dist/scripts/news-types/weekly-review/index.js.map +1 -0
- package/dist/scripts/news-types/weekly-review/types.d.ts +72 -0
- package/dist/scripts/news-types/weekly-review/types.d.ts.map +1 -0
- package/dist/scripts/news-types/weekly-review/types.js +20 -0
- package/dist/scripts/news-types/weekly-review/types.js.map +1 -0
- package/dist/scripts/news-types/weekly-review/validation.d.ts +10 -0
- package/dist/scripts/news-types/weekly-review/validation.d.ts.map +1 -0
- package/dist/scripts/news-types/weekly-review/validation.js +95 -0
- package/dist/scripts/news-types/weekly-review/validation.js.map +1 -0
- package/dist/scripts/news-types/weekly-review.d.ts +15 -0
- package/dist/scripts/news-types/weekly-review.d.ts.map +1 -0
- package/dist/scripts/news-types/weekly-review.js +14 -0
- package/dist/scripts/news-types/weekly-review.js.map +1 -0
- package/dist/scripts/party-variants.d.ts +23 -0
- package/dist/scripts/party-variants.d.ts.map +1 -0
- package/dist/scripts/party-variants.js +50 -0
- package/dist/scripts/party-variants.js.map +1 -0
- package/dist/scripts/pipeline/index.d.ts +19 -0
- package/dist/scripts/pipeline/index.d.ts.map +1 -0
- package/dist/scripts/pipeline/index.js +17 -0
- package/dist/scripts/pipeline/index.js.map +1 -0
- package/dist/scripts/pipeline/orchestrator.d.ts +56 -0
- package/dist/scripts/pipeline/orchestrator.d.ts.map +1 -0
- package/dist/scripts/pipeline/orchestrator.js +147 -0
- package/dist/scripts/pipeline/orchestrator.js.map +1 -0
- package/dist/scripts/pipeline/types.d.ts +117 -0
- package/dist/scripts/pipeline/types.d.ts.map +1 -0
- package/dist/scripts/pipeline/types.js +13 -0
- package/dist/scripts/pipeline/types.js.map +1 -0
- package/dist/scripts/pipeline/validation.d.ts +66 -0
- package/dist/scripts/pipeline/validation.d.ts.map +1 -0
- package/dist/scripts/pipeline/validation.js +129 -0
- package/dist/scripts/pipeline/validation.js.map +1 -0
- package/dist/scripts/populate-analysis-data.d.ts +41 -0
- package/dist/scripts/populate-analysis-data.d.ts.map +1 -0
- package/dist/scripts/populate-analysis-data.js +255 -0
- package/dist/scripts/populate-analysis-data.js.map +1 -0
- package/dist/scripts/pre-article-analysis/data-downloader.d.ts +80 -0
- package/dist/scripts/pre-article-analysis/data-downloader.d.ts.map +1 -0
- package/dist/scripts/pre-article-analysis/data-downloader.js +230 -0
- package/dist/scripts/pre-article-analysis/data-downloader.js.map +1 -0
- package/dist/scripts/pre-article-analysis/data-persistence.d.ts +141 -0
- package/dist/scripts/pre-article-analysis/data-persistence.d.ts.map +1 -0
- package/dist/scripts/pre-article-analysis/data-persistence.js +345 -0
- package/dist/scripts/pre-article-analysis/data-persistence.js.map +1 -0
- package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts +95 -0
- package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts.map +1 -0
- package/dist/scripts/pre-article-analysis/markdown-serializer.js +648 -0
- package/dist/scripts/pre-article-analysis/markdown-serializer.js.map +1 -0
- package/dist/scripts/pre-article-analysis/pdf-converter.d.ts +58 -0
- package/dist/scripts/pre-article-analysis/pdf-converter.d.ts.map +1 -0
- package/dist/scripts/pre-article-analysis/pdf-converter.js +142 -0
- package/dist/scripts/pre-article-analysis/pdf-converter.js.map +1 -0
- package/dist/scripts/pre-article-analysis.d.ts +41 -0
- package/dist/scripts/pre-article-analysis.d.ts.map +1 -0
- package/dist/scripts/pre-article-analysis.js +578 -0
- package/dist/scripts/pre-article-analysis.js.map +1 -0
- package/dist/scripts/scb-client.d.ts +104 -0
- package/dist/scripts/scb-client.d.ts.map +1 -0
- package/dist/scripts/scb-client.js +286 -0
- package/dist/scripts/scb-client.js.map +1 -0
- package/dist/scripts/scb-context.d.ts +88 -0
- package/dist/scripts/scb-context.d.ts.map +1 -0
- package/dist/scripts/scb-context.js +307 -0
- package/dist/scripts/scb-context.js.map +1 -0
- package/dist/scripts/shared/version.d.ts +9 -0
- package/dist/scripts/shared/version.d.ts.map +1 -0
- package/dist/scripts/shared/version.js +28 -0
- package/dist/scripts/shared/version.js.map +1 -0
- package/dist/scripts/statistical-claims-detector.d.ts +119 -0
- package/dist/scripts/statistical-claims-detector.d.ts.map +1 -0
- package/dist/scripts/statistical-claims-detector.js +391 -0
- package/dist/scripts/statistical-claims-detector.js.map +1 -0
- package/dist/scripts/sync-cia-schemas.d.ts +52 -0
- package/dist/scripts/sync-cia-schemas.d.ts.map +1 -0
- package/dist/scripts/sync-cia-schemas.js +195 -0
- package/dist/scripts/sync-cia-schemas.js.map +1 -0
- package/dist/scripts/translation-dictionary.d.ts +45 -0
- package/dist/scripts/translation-dictionary.d.ts.map +1 -0
- package/dist/scripts/translation-dictionary.js +3642 -0
- package/dist/scripts/translation-dictionary.js.map +1 -0
- package/dist/scripts/types/article.d.ts +362 -0
- package/dist/scripts/types/article.d.ts.map +1 -0
- package/dist/scripts/types/article.js +6 -0
- package/dist/scripts/types/article.js.map +1 -0
- package/dist/scripts/types/content.d.ts +167 -0
- package/dist/scripts/types/content.d.ts.map +1 -0
- package/dist/scripts/types/content.js +6 -0
- package/dist/scripts/types/content.js.map +1 -0
- package/dist/scripts/types/editorial.d.ts +17 -0
- package/dist/scripts/types/editorial.d.ts.map +1 -0
- package/dist/scripts/types/editorial.js +6 -0
- package/dist/scripts/types/editorial.js.map +1 -0
- package/dist/scripts/types/language.d.ts +7 -0
- package/dist/scripts/types/language.d.ts.map +1 -0
- package/dist/scripts/types/language.js +6 -0
- package/dist/scripts/types/language.js.map +1 -0
- package/dist/scripts/types/mcp.d.ts +117 -0
- package/dist/scripts/types/mcp.d.ts.map +1 -0
- package/dist/scripts/types/mcp.js +6 -0
- package/dist/scripts/types/mcp.js.map +1 -0
- package/dist/scripts/types/party.d.ts +9 -0
- package/dist/scripts/types/party.d.ts.map +1 -0
- package/dist/scripts/types/party.js +6 -0
- package/dist/scripts/types/party.js.map +1 -0
- package/dist/scripts/types/validation.d.ts +136 -0
- package/dist/scripts/types/validation.d.ts.map +1 -0
- package/dist/scripts/types/validation.js +6 -0
- package/dist/scripts/types/validation.js.map +1 -0
- package/dist/scripts/types/workflow.d.ts +78 -0
- package/dist/scripts/types/workflow.d.ts.map +1 -0
- package/dist/scripts/types/workflow.js +6 -0
- package/dist/scripts/types/workflow.js.map +1 -0
- package/dist/scripts/update-stats-from-cia.d.ts +44 -0
- package/dist/scripts/update-stats-from-cia.d.ts.map +1 -0
- package/dist/scripts/update-stats-from-cia.js +310 -0
- package/dist/scripts/update-stats-from-cia.js.map +1 -0
- package/dist/scripts/validate-against-cia-schemas.d.ts +126 -0
- package/dist/scripts/validate-against-cia-schemas.d.ts.map +1 -0
- package/dist/scripts/validate-against-cia-schemas.js +299 -0
- package/dist/scripts/validate-against-cia-schemas.js.map +1 -0
- package/dist/scripts/validate-cross-references.d.ts +49 -0
- package/dist/scripts/validate-cross-references.d.ts.map +1 -0
- package/dist/scripts/validate-cross-references.js +183 -0
- package/dist/scripts/validate-cross-references.js.map +1 -0
- package/dist/scripts/validate-file-ownership.d.ts +68 -0
- package/dist/scripts/validate-file-ownership.d.ts.map +1 -0
- package/dist/scripts/validate-file-ownership.js +135 -0
- package/dist/scripts/validate-file-ownership.js.map +1 -0
- package/dist/scripts/validate-news-translations.d.ts +27 -0
- package/dist/scripts/validate-news-translations.d.ts.map +1 -0
- package/dist/scripts/validate-news-translations.js +258 -0
- package/dist/scripts/validate-news-translations.js.map +1 -0
- package/dist/scripts/validate-translations.d.ts +162 -0
- package/dist/scripts/validate-translations.d.ts.map +1 -0
- package/dist/scripts/validate-translations.js +378 -0
- package/dist/scripts/validate-translations.js.map +1 -0
- package/dist/scripts/workflow-state-coordinator.d.ts +354 -0
- package/dist/scripts/workflow-state-coordinator.d.ts.map +1 -0
- package/dist/scripts/workflow-state-coordinator.js +876 -0
- package/dist/scripts/workflow-state-coordinator.js.map +1 -0
- package/dist/scripts/world-bank-client.d.ts +122 -0
- package/dist/scripts/world-bank-client.d.ts.map +1 -0
- package/dist/scripts/world-bank-client.js +192 -0
- package/dist/scripts/world-bank-client.js.map +1 -0
- package/dist/scripts/world-bank-context.d.ts +88 -0
- package/dist/scripts/world-bank-context.d.ts.map +1 -0
- package/dist/scripts/world-bank-context.js +331 -0
- package/dist/scripts/world-bank-context.js.map +1 -0
- package/package.json +32 -7
- package/dist/lib/chart-factory.d.ts.map +0 -1
- package/dist/lib/chart-factory.js.map +0 -1
- package/dist/lib/data-loader.d.ts.map +0 -1
- package/dist/lib/data-loader.js.map +0 -1
- package/dist/lib/dom-utils.d.ts.map +0 -1
- package/dist/lib/dom-utils.js.map +0 -1
- package/dist/lib/error-boundary.d.ts.map +0 -1
- package/dist/lib/error-boundary.js.map +0 -1
- package/dist/lib/fallback-ui.d.ts.map +0 -1
- package/dist/lib/fallback-ui.js.map +0 -1
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/logger.d.ts.map +0 -1
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/theme.d.ts.map +0 -1
- package/dist/lib/theme.js.map +0 -1
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js.map +0 -1
- /package/dist/lib/{chart-factory.d.ts → shared/chart-factory.d.ts} +0 -0
- /package/dist/lib/{chart-factory.js → shared/chart-factory.js} +0 -0
- /package/dist/lib/{data-loader.d.ts → shared/data-loader.d.ts} +0 -0
- /package/dist/lib/{data-loader.js → shared/data-loader.js} +0 -0
- /package/dist/lib/{dom-utils.d.ts → shared/dom-utils.d.ts} +0 -0
- /package/dist/lib/{dom-utils.js → shared/dom-utils.js} +0 -0
- /package/dist/lib/{error-boundary.d.ts → shared/error-boundary.d.ts} +0 -0
- /package/dist/lib/{error-boundary.js → shared/error-boundary.js} +0 -0
- /package/dist/lib/{fallback-ui.d.ts → shared/fallback-ui.d.ts} +0 -0
- /package/dist/lib/{fallback-ui.js → shared/fallback-ui.js} +0 -0
- /package/dist/lib/{index.d.ts → shared/index.d.ts} +0 -0
- /package/dist/lib/{index.js → shared/index.js} +0 -0
- /package/dist/lib/{logger.d.ts → shared/logger.d.ts} +0 -0
- /package/dist/lib/{logger.js → shared/logger.js} +0 -0
- /package/dist/lib/{theme.d.ts → shared/theme.d.ts} +0 -0
- /package/dist/lib/{theme.js → shared/theme.js} +0 -0
- /package/dist/lib/{types.d.ts → shared/types.d.ts} +0 -0
- /package/dist/lib/{types.js → shared/types.js} +0 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SCB/Client
|
|
3
|
+
* @description TypeScript client for Statistics Sweden (SCB) data via MCP server.
|
|
4
|
+
* Provides typed access to SCB statistical tables for enriching political
|
|
5
|
+
* intelligence with official Swedish statistics.
|
|
6
|
+
*
|
|
7
|
+
* Works with the SCB MCP server (https://scb-mcp.onrender.com/mcp) which
|
|
8
|
+
* exposes the PxWebAPI 2.0 for programmatic access to SCB's statistical database.
|
|
9
|
+
*
|
|
10
|
+
* @author Hack23 AB
|
|
11
|
+
* @license Apache-2.0
|
|
12
|
+
* @see https://www.scb.se/en/services/open-data-api/api-for-the-statistical-database/
|
|
13
|
+
*/
|
|
14
|
+
import type { SCBIndicator } from './data-transformers/types.js';
|
|
15
|
+
/** Configuration for the SCB MCP client */
|
|
16
|
+
export interface SCBClientConfig {
|
|
17
|
+
/** SCB MCP server URL (default: https://scb-mcp.onrender.com/mcp) */
|
|
18
|
+
readonly serverUrl?: string;
|
|
19
|
+
/** Request timeout in ms (default: 15000) */
|
|
20
|
+
readonly timeout?: number;
|
|
21
|
+
/** Max retry attempts (default: 2) */
|
|
22
|
+
readonly maxRetries?: number;
|
|
23
|
+
}
|
|
24
|
+
/** A raw table search result from SCB */
|
|
25
|
+
export interface SCBTableInfo {
|
|
26
|
+
readonly tableId: string;
|
|
27
|
+
readonly label: string;
|
|
28
|
+
readonly category: string;
|
|
29
|
+
readonly updated: string;
|
|
30
|
+
}
|
|
31
|
+
/** Raw data point from an SCB table */
|
|
32
|
+
export interface SCBDataPoint {
|
|
33
|
+
readonly tableId: string;
|
|
34
|
+
readonly label: string;
|
|
35
|
+
readonly value: number;
|
|
36
|
+
readonly unit: string;
|
|
37
|
+
readonly period: string;
|
|
38
|
+
}
|
|
39
|
+
/** SCB policy domain definition with query and table mappings */
|
|
40
|
+
export interface SCBDomainConfig {
|
|
41
|
+
readonly domain: string;
|
|
42
|
+
readonly query: string;
|
|
43
|
+
readonly tables: readonly string[];
|
|
44
|
+
readonly indicators: readonly string[];
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* SCB domain table mappings connecting policy domains to SCB table IDs.
|
|
48
|
+
* Each domain has search query terms, known table IDs, and key indicators.
|
|
49
|
+
*/
|
|
50
|
+
export declare const SCB_DOMAINS: readonly SCBDomainConfig[];
|
|
51
|
+
/**
|
|
52
|
+
* Client for accessing Statistics Sweden (SCB) data via MCP server.
|
|
53
|
+
* Provides domain-based queries and indicator lookups.
|
|
54
|
+
*/
|
|
55
|
+
export declare class SCBClient {
|
|
56
|
+
readonly serverUrl: string;
|
|
57
|
+
readonly timeout: number;
|
|
58
|
+
readonly maxRetries: number;
|
|
59
|
+
constructor(config?: SCBClientConfig);
|
|
60
|
+
/**
|
|
61
|
+
* Search SCB tables by query string.
|
|
62
|
+
*
|
|
63
|
+
* @param query - Search terms (e.g., 'arbetslöshet sysselsättning')
|
|
64
|
+
* @param limit - Maximum number of results (default: 5)
|
|
65
|
+
* @returns Array of matching table info
|
|
66
|
+
*/
|
|
67
|
+
searchTables(query: string, limit?: number): Promise<SCBTableInfo[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Fetch data from a specific SCB table.
|
|
70
|
+
*
|
|
71
|
+
* @param tableId - SCB table identifier (e.g., 'TAB5765')
|
|
72
|
+
* @param selection - Optional selection filters (e.g., { Tid: ['TOP(4)'] })
|
|
73
|
+
* @returns Array of data points
|
|
74
|
+
*/
|
|
75
|
+
getTableData(tableId: string, selection?: Record<string, string[]>): Promise<SCBDataPoint[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Find SCB domain configuration for a policy area.
|
|
78
|
+
*
|
|
79
|
+
* @param domain - Policy domain key (e.g., 'labour', 'fiscal')
|
|
80
|
+
* @returns Domain config or undefined
|
|
81
|
+
*/
|
|
82
|
+
findDomain(domain: string): SCBDomainConfig | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Get all domains that have known table IDs for direct data access.
|
|
85
|
+
*
|
|
86
|
+
* @returns Domains with pre-configured table IDs
|
|
87
|
+
*/
|
|
88
|
+
getDomainsWithTables(): readonly SCBDomainConfig[];
|
|
89
|
+
/**
|
|
90
|
+
* Build an SCBIndicator from raw data points.
|
|
91
|
+
* Computes trend by comparing latest two values.
|
|
92
|
+
*
|
|
93
|
+
* @param label - Human-readable indicator label
|
|
94
|
+
* @param dataPoints - Raw data points sorted by period descending
|
|
95
|
+
* @param tableId - Source SCB table ID
|
|
96
|
+
* @returns SCBIndicator or null if no data
|
|
97
|
+
*/
|
|
98
|
+
buildIndicator(label: string, dataPoints: readonly SCBDataPoint[], tableId: string): SCBIndicator | null;
|
|
99
|
+
private callTool;
|
|
100
|
+
private fetchWithRetry;
|
|
101
|
+
}
|
|
102
|
+
/** Get or create the default singleton SCBClient */
|
|
103
|
+
export declare function getDefaultSCBClient(): SCBClient;
|
|
104
|
+
//# sourceMappingURL=scb-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scb-client.d.ts","sourceRoot":"","sources":["../../scripts/scb-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAMjE,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,uCAAuC;AACvC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAUD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAAS,eAAe,EA2FxC,CAAC;AAMX;;;GAGG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,MAAM,GAAE,eAAoB;IAMxC;;;;;;OAMG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAMrE;;;;;;OAMG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACnC,OAAO,CAAC,YAAY,EAAE,CAAC;IAS1B;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAMvD;;;;OAIG;IACH,oBAAoB,IAAI,SAAS,eAAe,EAAE;IAIlD;;;;;;;;OAQG;IACH,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,SAAS,YAAY,EAAE,EACnC,OAAO,EAAE,MAAM,GACd,YAAY,GAAG,IAAI;YA+BR,QAAQ;YAWR,cAAc;CAwD7B;AAQD,oDAAoD;AACpD,wBAAgB,mBAAmB,IAAI,SAAS,CAK/C"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SCB/Client
|
|
3
|
+
* @description TypeScript client for Statistics Sweden (SCB) data via MCP server.
|
|
4
|
+
* Provides typed access to SCB statistical tables for enriching political
|
|
5
|
+
* intelligence with official Swedish statistics.
|
|
6
|
+
*
|
|
7
|
+
* Works with the SCB MCP server (https://scb-mcp.onrender.com/mcp) which
|
|
8
|
+
* exposes the PxWebAPI 2.0 for programmatic access to SCB's statistical database.
|
|
9
|
+
*
|
|
10
|
+
* @author Hack23 AB
|
|
11
|
+
* @license Apache-2.0
|
|
12
|
+
* @see https://www.scb.se/en/services/open-data-api/api-for-the-statistical-database/
|
|
13
|
+
*/
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
// Constants
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
const DEFAULT_SERVER_URL = 'https://scb-mcp.onrender.com/mcp';
|
|
18
|
+
const DEFAULT_TIMEOUT = 15_000;
|
|
19
|
+
const DEFAULT_MAX_RETRIES = 2;
|
|
20
|
+
/**
|
|
21
|
+
* SCB domain table mappings connecting policy domains to SCB table IDs.
|
|
22
|
+
* Each domain has search query terms, known table IDs, and key indicators.
|
|
23
|
+
*/
|
|
24
|
+
export const SCB_DOMAINS = [
|
|
25
|
+
{
|
|
26
|
+
domain: 'fiscal',
|
|
27
|
+
query: 'skatter statsbudget offentliga finanser',
|
|
28
|
+
tables: ['TAB1291', 'TAB1292'],
|
|
29
|
+
indicators: ['Government revenue', 'Government expenditure', 'Budget balance'],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
domain: 'defence',
|
|
33
|
+
query: 'försvar militär offentliga utgifter',
|
|
34
|
+
tables: [],
|
|
35
|
+
indicators: ['Defence spending % GDP'],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
domain: 'environment',
|
|
39
|
+
query: 'växthusgaser utsläpp miljö',
|
|
40
|
+
tables: ['TAB5404', 'TAB5407'],
|
|
41
|
+
indicators: ['GHG emissions', 'Renewable energy share'],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
domain: 'education',
|
|
45
|
+
query: 'utbildning studenter skola',
|
|
46
|
+
tables: ['TAB4787', 'TAB4790'],
|
|
47
|
+
indicators: ['Student enrollment', 'Graduation rates'],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
domain: 'healthcare',
|
|
51
|
+
query: 'hälsa sjukvård vård',
|
|
52
|
+
tables: [],
|
|
53
|
+
indicators: ['Healthcare spending', 'Hospital beds'],
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
domain: 'migration',
|
|
57
|
+
query: 'invandring utvandring migration befolkning',
|
|
58
|
+
tables: ['TAB637', 'TAB4230'],
|
|
59
|
+
indicators: ['Immigration', 'Emigration', 'Net migration'],
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
domain: 'eu-foreign',
|
|
63
|
+
query: 'utrikeshandel export import',
|
|
64
|
+
tables: ['TAB2661'],
|
|
65
|
+
indicators: ['Export value', 'Import value', 'Trade balance'],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
domain: 'justice',
|
|
69
|
+
query: 'brott lagföringar kriminalstatistik',
|
|
70
|
+
tables: ['TAB1172'],
|
|
71
|
+
indicators: ['Reported crimes', 'Conviction rate'],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
domain: 'labour',
|
|
75
|
+
query: 'sysselsättning arbetslöshet arbetsmarknad',
|
|
76
|
+
tables: ['TAB5765', 'TAB5616'],
|
|
77
|
+
indicators: ['Unemployment rate', 'Employment rate'],
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
domain: 'housing',
|
|
81
|
+
query: 'bostäder nybyggnation hyror',
|
|
82
|
+
tables: ['TAB2052', 'TAB4709'],
|
|
83
|
+
indicators: ['Housing starts', 'Price index'],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
domain: 'transport',
|
|
87
|
+
query: 'trafik transport infrastruktur',
|
|
88
|
+
tables: [],
|
|
89
|
+
indicators: ['Road traffic', 'Transit ridership'],
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
domain: 'trade',
|
|
93
|
+
query: 'näringsliv företag BNP',
|
|
94
|
+
tables: ['TAB5802', 'TAB5803'],
|
|
95
|
+
indicators: ['GDP growth', 'Business starts', 'Industrial production'],
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
domain: 'taxation',
|
|
99
|
+
query: 'skatter inkomstskatt moms skatteintäkter',
|
|
100
|
+
tables: ['TAB1291'],
|
|
101
|
+
indicators: ['Tax revenue', 'Income tax', 'VAT revenue'],
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
domain: 'culture',
|
|
105
|
+
query: 'kultur fritid idrott bibliotek',
|
|
106
|
+
tables: ['TAB5195'],
|
|
107
|
+
indicators: ['Cultural expenditure', 'Library visits', 'Cultural participation'],
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
domain: 'governance',
|
|
111
|
+
query: 'demokrati valdeltagande riksdag',
|
|
112
|
+
tables: [],
|
|
113
|
+
indicators: ['Voter turnout', 'Parliamentary transparency'],
|
|
114
|
+
},
|
|
115
|
+
];
|
|
116
|
+
// ---------------------------------------------------------------------------
|
|
117
|
+
// SCBClient class
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
/**
|
|
120
|
+
* Client for accessing Statistics Sweden (SCB) data via MCP server.
|
|
121
|
+
* Provides domain-based queries and indicator lookups.
|
|
122
|
+
*/
|
|
123
|
+
export class SCBClient {
|
|
124
|
+
serverUrl;
|
|
125
|
+
timeout;
|
|
126
|
+
maxRetries;
|
|
127
|
+
constructor(config = {}) {
|
|
128
|
+
this.serverUrl = config.serverUrl ?? DEFAULT_SERVER_URL;
|
|
129
|
+
this.timeout = config.timeout ?? DEFAULT_TIMEOUT;
|
|
130
|
+
this.maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Search SCB tables by query string.
|
|
134
|
+
*
|
|
135
|
+
* @param query - Search terms (e.g., 'arbetslöshet sysselsättning')
|
|
136
|
+
* @param limit - Maximum number of results (default: 5)
|
|
137
|
+
* @returns Array of matching table info
|
|
138
|
+
*/
|
|
139
|
+
async searchTables(query, limit = 5) {
|
|
140
|
+
const params = { query, limit };
|
|
141
|
+
const result = await this.callTool('search_tables', params);
|
|
142
|
+
return result ?? [];
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Fetch data from a specific SCB table.
|
|
146
|
+
*
|
|
147
|
+
* @param tableId - SCB table identifier (e.g., 'TAB5765')
|
|
148
|
+
* @param selection - Optional selection filters (e.g., { Tid: ['TOP(4)'] })
|
|
149
|
+
* @returns Array of data points
|
|
150
|
+
*/
|
|
151
|
+
async getTableData(tableId, selection) {
|
|
152
|
+
const params = { tableId };
|
|
153
|
+
if (selection) {
|
|
154
|
+
params.selection = selection;
|
|
155
|
+
}
|
|
156
|
+
const result = await this.callTool('get_table_data', params);
|
|
157
|
+
return result ?? [];
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Find SCB domain configuration for a policy area.
|
|
161
|
+
*
|
|
162
|
+
* @param domain - Policy domain key (e.g., 'labour', 'fiscal')
|
|
163
|
+
* @returns Domain config or undefined
|
|
164
|
+
*/
|
|
165
|
+
findDomain(domain) {
|
|
166
|
+
return SCB_DOMAINS.find((d) => d.domain.toLowerCase() === domain.toLowerCase());
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get all domains that have known table IDs for direct data access.
|
|
170
|
+
*
|
|
171
|
+
* @returns Domains with pre-configured table IDs
|
|
172
|
+
*/
|
|
173
|
+
getDomainsWithTables() {
|
|
174
|
+
return SCB_DOMAINS.filter((d) => d.tables.length > 0);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Build an SCBIndicator from raw data points.
|
|
178
|
+
* Computes trend by comparing latest two values.
|
|
179
|
+
*
|
|
180
|
+
* @param label - Human-readable indicator label
|
|
181
|
+
* @param dataPoints - Raw data points sorted by period descending
|
|
182
|
+
* @param tableId - Source SCB table ID
|
|
183
|
+
* @returns SCBIndicator or null if no data
|
|
184
|
+
*/
|
|
185
|
+
buildIndicator(label, dataPoints, tableId) {
|
|
186
|
+
if (dataPoints.length === 0)
|
|
187
|
+
return null;
|
|
188
|
+
const latest = dataPoints[0];
|
|
189
|
+
const previous = dataPoints.length > 1 ? dataPoints[1] : undefined;
|
|
190
|
+
let trend;
|
|
191
|
+
if (previous) {
|
|
192
|
+
const diff = latest.value - previous.value;
|
|
193
|
+
if (Math.abs(diff) < 0.001) {
|
|
194
|
+
trend = 'stable';
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
trend = diff > 0 ? 'up' : 'down';
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
label,
|
|
202
|
+
value: latest.value,
|
|
203
|
+
unit: latest.unit || 'units',
|
|
204
|
+
period: latest.period,
|
|
205
|
+
tableId,
|
|
206
|
+
trend,
|
|
207
|
+
previousValue: previous?.value,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
// -----------------------------------------------------------------------
|
|
211
|
+
// Internal helpers
|
|
212
|
+
// -----------------------------------------------------------------------
|
|
213
|
+
async callTool(toolName, params) {
|
|
214
|
+
try {
|
|
215
|
+
const response = await this.fetchWithRetry(toolName, params);
|
|
216
|
+
return response;
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
// Log for debugging MCP connection issues; return null as graceful fallback
|
|
220
|
+
console.warn(`SCB MCP call to ${toolName} failed:`, error instanceof Error ? error.message : error);
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
async fetchWithRetry(toolName, params, attempt = 0) {
|
|
225
|
+
const controller = new AbortController();
|
|
226
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
227
|
+
try {
|
|
228
|
+
const response = await fetch(this.serverUrl, {
|
|
229
|
+
method: 'POST',
|
|
230
|
+
signal: controller.signal,
|
|
231
|
+
headers: {
|
|
232
|
+
'Content-Type': 'application/json',
|
|
233
|
+
Accept: 'application/json',
|
|
234
|
+
},
|
|
235
|
+
body: JSON.stringify({
|
|
236
|
+
jsonrpc: '2.0',
|
|
237
|
+
method: 'tools/call',
|
|
238
|
+
params: { name: toolName, arguments: params },
|
|
239
|
+
id: Date.now(),
|
|
240
|
+
}),
|
|
241
|
+
});
|
|
242
|
+
if (!response.ok) {
|
|
243
|
+
throw new Error(`SCB MCP error: ${response.status} ${response.statusText}`);
|
|
244
|
+
}
|
|
245
|
+
const json = (await response.json());
|
|
246
|
+
if (json.error) {
|
|
247
|
+
throw new Error(`SCB MCP tool error: ${JSON.stringify(json.error)}`);
|
|
248
|
+
}
|
|
249
|
+
// MCP responses wrap content in result.content[].text
|
|
250
|
+
const text = json.result?.content?.[0]?.text;
|
|
251
|
+
if (text) {
|
|
252
|
+
try {
|
|
253
|
+
return JSON.parse(text);
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
console.warn(`SCB MCP response for ${toolName} was not valid JSON; treating as error`);
|
|
257
|
+
throw new Error(`SCB MCP response for ${toolName} was not valid JSON`);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return json.result ?? null;
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
if (attempt < this.maxRetries) {
|
|
264
|
+
const delay = 1000 * (attempt + 1);
|
|
265
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
266
|
+
return this.fetchWithRetry(toolName, params, attempt + 1);
|
|
267
|
+
}
|
|
268
|
+
throw error;
|
|
269
|
+
}
|
|
270
|
+
finally {
|
|
271
|
+
clearTimeout(timeoutId);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
// ---------------------------------------------------------------------------
|
|
276
|
+
// Singleton
|
|
277
|
+
// ---------------------------------------------------------------------------
|
|
278
|
+
let defaultSCBClient = null;
|
|
279
|
+
/** Get or create the default singleton SCBClient */
|
|
280
|
+
export function getDefaultSCBClient() {
|
|
281
|
+
if (!defaultSCBClient) {
|
|
282
|
+
defaultSCBClient = new SCBClient();
|
|
283
|
+
}
|
|
284
|
+
return defaultSCBClient;
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=scb-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scb-client.js","sourceRoot":"","sources":["../../scripts/scb-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SCB/Context
|
|
3
|
+
* @description Context provider for Statistics Sweden (SCB) data enrichment.
|
|
4
|
+
* Maps SCB statistical indicators to Swedish policy areas and provides
|
|
5
|
+
* localized section headings for article generation.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors the pattern of world-bank-context.ts but for Swedish national
|
|
8
|
+
* statistics sourced through the SCB MCP server.
|
|
9
|
+
*
|
|
10
|
+
* @author Hack23 AB
|
|
11
|
+
* @license Apache-2.0
|
|
12
|
+
*/
|
|
13
|
+
import type { Language } from './types/language.js';
|
|
14
|
+
import type { SCBDomainConfig } from './scb-client.js';
|
|
15
|
+
/** An SCB indicator mapped to a policy domain and Riksdag committees */
|
|
16
|
+
export interface SCBIndicatorContext {
|
|
17
|
+
/** Policy domain key (matches SCB_DOMAINS) */
|
|
18
|
+
readonly domain: string;
|
|
19
|
+
/** Human-readable name */
|
|
20
|
+
readonly name: string;
|
|
21
|
+
/** Concise description for article context */
|
|
22
|
+
readonly description: string;
|
|
23
|
+
/** Relevant Riksdag committees */
|
|
24
|
+
readonly committees: readonly string[];
|
|
25
|
+
/** SCB table IDs for data access */
|
|
26
|
+
readonly tableIds: readonly string[];
|
|
27
|
+
/** Key indicators available in this domain */
|
|
28
|
+
readonly indicators: readonly string[];
|
|
29
|
+
}
|
|
30
|
+
/** Localized headings for SCB statistics sections in articles */
|
|
31
|
+
export interface SCBSectionHeadings {
|
|
32
|
+
readonly statisticalContext: string;
|
|
33
|
+
readonly officialStatistics: string;
|
|
34
|
+
readonly dataSource: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Maps SCB statistical domains to Swedish parliamentary committees.
|
|
38
|
+
* Each indicator context links SCB data to the relevant Riksdag committee
|
|
39
|
+
* for cross-referencing legislative analysis with official statistics.
|
|
40
|
+
*/
|
|
41
|
+
export declare const SCB_INDICATOR_CONTEXTS: readonly SCBIndicatorContext[];
|
|
42
|
+
/**
|
|
43
|
+
* Localized section headings for SCB statistics in articles.
|
|
44
|
+
* Follows the same 14-language pattern as ECONOMIC_SECTION_HEADINGS.
|
|
45
|
+
*/
|
|
46
|
+
export declare const SCB_SECTION_HEADINGS: Readonly<Record<Language, SCBSectionHeadings>>;
|
|
47
|
+
/**
|
|
48
|
+
* Get the localized SCB section heading.
|
|
49
|
+
*
|
|
50
|
+
* @param lang - Language code
|
|
51
|
+
* @param section - Section key
|
|
52
|
+
* @returns Localized heading string
|
|
53
|
+
*/
|
|
54
|
+
export declare function getSCBHeading(lang: Language | string, section: keyof SCBSectionHeadings): string;
|
|
55
|
+
/**
|
|
56
|
+
* Find relevant SCB indicator contexts for a given policy area or committee.
|
|
57
|
+
*
|
|
58
|
+
* @param query - Policy domain, committee abbreviation, or free text
|
|
59
|
+
* @returns Matching SCB indicator contexts
|
|
60
|
+
*/
|
|
61
|
+
export declare function findRelevantSCBIndicators(query: string): readonly SCBIndicatorContext[];
|
|
62
|
+
/**
|
|
63
|
+
* Get SCB domain configs that have known table IDs for a given committee.
|
|
64
|
+
*
|
|
65
|
+
* @param committee - Riksdag committee abbreviation (e.g., 'FiU', 'AU')
|
|
66
|
+
* @returns Matching SCB domain configs with table data
|
|
67
|
+
*/
|
|
68
|
+
export declare function getSCBTablesForCommittee(committee: string): readonly SCBDomainConfig[];
|
|
69
|
+
/**
|
|
70
|
+
* Detect whether content references Swedish statistics or SCB data.
|
|
71
|
+
* Used by article quality enhancer to score statistical depth.
|
|
72
|
+
*
|
|
73
|
+
* @param content - HTML or text content to analyze
|
|
74
|
+
* @returns True if SCB statistical context is present
|
|
75
|
+
*/
|
|
76
|
+
export declare function hasSCBContext(content: string): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Get SCB query parameters for all domains with table IDs.
|
|
79
|
+
* Used by agentic workflows to know which tables to fetch.
|
|
80
|
+
*
|
|
81
|
+
* @returns Array of { domain, query, tableIds } for domains with data
|
|
82
|
+
*/
|
|
83
|
+
export declare function getSCBQueryParams(): readonly {
|
|
84
|
+
domain: string;
|
|
85
|
+
query: string;
|
|
86
|
+
tableIds: readonly string[];
|
|
87
|
+
}[];
|
|
88
|
+
//# sourceMappingURL=scb-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scb-context.d.ts","sourceRoot":"","sources":["../../scripts/scb-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAyHvD,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAuEtE,CAAC;AAMX;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,QAAQ,GAAG,MAAM,EACvB,OAAO,EAAE,MAAM,kBAAkB,GAChC,MAAM,CAGR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,mBAAmB,EAAE,CAYvF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAWtF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAoBtD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAAE,CAQ7G"}
|