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.
Files changed (779) hide show
  1. package/dist/lib/cia/dashboard-init.d.ts +26 -0
  2. package/dist/lib/cia/dashboard-init.d.ts.map +1 -0
  3. package/dist/lib/cia/dashboard-init.js +108 -0
  4. package/dist/lib/cia/dashboard-init.js.map +1 -0
  5. package/dist/lib/cia/data-loader.d.ts +408 -0
  6. package/dist/lib/cia/data-loader.d.ts.map +1 -0
  7. package/dist/lib/cia/data-loader.js +867 -0
  8. package/dist/lib/cia/data-loader.js.map +1 -0
  9. package/dist/lib/cia/election-predictions.d.ts +78 -0
  10. package/dist/lib/cia/election-predictions.d.ts.map +1 -0
  11. package/dist/lib/cia/election-predictions.js +259 -0
  12. package/dist/lib/cia/election-predictions.js.map +1 -0
  13. package/dist/lib/cia/i18n-translations.d.ts +111 -0
  14. package/dist/lib/cia/i18n-translations.d.ts.map +1 -0
  15. package/dist/lib/cia/i18n-translations.js +619 -0
  16. package/dist/lib/cia/i18n-translations.js.map +1 -0
  17. package/dist/lib/cia/visualizations.d.ts +64 -0
  18. package/dist/lib/cia/visualizations.d.ts.map +1 -0
  19. package/dist/lib/cia/visualizations.js +662 -0
  20. package/dist/lib/cia/visualizations.js.map +1 -0
  21. package/dist/lib/dashboards/anomaly-detection.d.ts +44 -0
  22. package/dist/lib/dashboards/anomaly-detection.d.ts.map +1 -0
  23. package/dist/lib/dashboards/anomaly-detection.js +1017 -0
  24. package/dist/lib/dashboards/anomaly-detection.js.map +1 -0
  25. package/dist/lib/dashboards/coalition-dashboard.d.ts +36 -0
  26. package/dist/lib/dashboards/coalition-dashboard.d.ts.map +1 -0
  27. package/dist/lib/dashboards/coalition-dashboard.js +629 -0
  28. package/dist/lib/dashboards/coalition-dashboard.js.map +1 -0
  29. package/dist/lib/dashboards/coalition-loader.d.ts +43 -0
  30. package/dist/lib/dashboards/coalition-loader.d.ts.map +1 -0
  31. package/dist/lib/dashboards/coalition-loader.js +665 -0
  32. package/dist/lib/dashboards/coalition-loader.js.map +1 -0
  33. package/dist/lib/dashboards/committees-dashboard.d.ts +23 -0
  34. package/dist/lib/dashboards/committees-dashboard.d.ts.map +1 -0
  35. package/dist/lib/dashboards/committees-dashboard.js +886 -0
  36. package/dist/lib/dashboards/committees-dashboard.js.map +1 -0
  37. package/dist/lib/dashboards/election-cycle.d.ts +62 -0
  38. package/dist/lib/dashboards/election-cycle.d.ts.map +1 -0
  39. package/dist/lib/dashboards/election-cycle.js +484 -0
  40. package/dist/lib/dashboards/election-cycle.js.map +1 -0
  41. package/dist/lib/dashboards/ministry-dashboard.d.ts +46 -0
  42. package/dist/lib/dashboards/ministry-dashboard.d.ts.map +1 -0
  43. package/dist/lib/dashboards/ministry-dashboard.js +1114 -0
  44. package/dist/lib/dashboards/ministry-dashboard.js.map +1 -0
  45. package/dist/lib/dashboards/party-dashboard.d.ts +56 -0
  46. package/dist/lib/dashboards/party-dashboard.d.ts.map +1 -0
  47. package/dist/lib/dashboards/party-dashboard.js +981 -0
  48. package/dist/lib/dashboards/party-dashboard.js.map +1 -0
  49. package/dist/lib/dashboards/politician-dashboard.d.ts +41 -0
  50. package/dist/lib/dashboards/politician-dashboard.d.ts.map +1 -0
  51. package/dist/lib/dashboards/politician-dashboard.js +611 -0
  52. package/dist/lib/dashboards/politician-dashboard.js.map +1 -0
  53. package/dist/lib/dashboards/pre-election.d.ts +64 -0
  54. package/dist/lib/dashboards/pre-election.d.ts.map +1 -0
  55. package/dist/lib/dashboards/pre-election.js +604 -0
  56. package/dist/lib/dashboards/pre-election.js.map +1 -0
  57. package/dist/lib/dashboards/risk-dashboard.d.ts +37 -0
  58. package/dist/lib/dashboards/risk-dashboard.d.ts.map +1 -0
  59. package/dist/lib/dashboards/risk-dashboard.js +863 -0
  60. package/dist/lib/dashboards/risk-dashboard.js.map +1 -0
  61. package/dist/lib/dashboards/seasonal-patterns.d.ts +24 -0
  62. package/dist/lib/dashboards/seasonal-patterns.d.ts.map +1 -0
  63. package/dist/lib/dashboards/seasonal-patterns.js +535 -0
  64. package/dist/lib/dashboards/seasonal-patterns.js.map +1 -0
  65. package/dist/lib/dashboards/stats-loader.d.ts +35 -0
  66. package/dist/lib/dashboards/stats-loader.d.ts.map +1 -0
  67. package/dist/lib/dashboards/stats-loader.js +145 -0
  68. package/dist/lib/dashboards/stats-loader.js.map +1 -0
  69. package/dist/lib/shared/chart-factory.d.ts.map +1 -0
  70. package/dist/lib/shared/chart-factory.js.map +1 -0
  71. package/dist/lib/shared/data-loader.d.ts.map +1 -0
  72. package/dist/lib/shared/data-loader.js.map +1 -0
  73. package/dist/lib/shared/dom-utils.d.ts.map +1 -0
  74. package/dist/lib/shared/dom-utils.js.map +1 -0
  75. package/dist/lib/shared/error-boundary.d.ts.map +1 -0
  76. package/dist/lib/shared/error-boundary.js.map +1 -0
  77. package/dist/lib/shared/fallback-ui.d.ts.map +1 -0
  78. package/dist/lib/shared/fallback-ui.js.map +1 -0
  79. package/dist/lib/shared/index.d.ts.map +1 -0
  80. package/dist/lib/shared/index.js.map +1 -0
  81. package/dist/lib/shared/logger.d.ts.map +1 -0
  82. package/dist/lib/shared/logger.js.map +1 -0
  83. package/dist/lib/shared/register-globals.d.ts +14 -0
  84. package/dist/lib/shared/register-globals.d.ts.map +1 -0
  85. package/dist/lib/shared/register-globals.js +21 -0
  86. package/dist/lib/shared/register-globals.js.map +1 -0
  87. package/dist/lib/shared/theme.d.ts.map +1 -0
  88. package/dist/lib/shared/theme.js.map +1 -0
  89. package/dist/lib/shared/types.d.ts.map +1 -0
  90. package/dist/lib/shared/types.js.map +1 -0
  91. package/dist/lib/ui/back-to-top.d.ts +13 -0
  92. package/dist/lib/ui/back-to-top.d.ts.map +1 -0
  93. package/dist/lib/ui/back-to-top.js +48 -0
  94. package/dist/lib/ui/back-to-top.js.map +1 -0
  95. package/dist/scripts/ai-analysis/coalition-detector.d.ts +28 -0
  96. package/dist/scripts/ai-analysis/coalition-detector.d.ts.map +1 -0
  97. package/dist/scripts/ai-analysis/coalition-detector.js +242 -0
  98. package/dist/scripts/ai-analysis/coalition-detector.js.map +1 -0
  99. package/dist/scripts/ai-analysis/dashboard-analyzer.d.ts +73 -0
  100. package/dist/scripts/ai-analysis/dashboard-analyzer.d.ts.map +1 -0
  101. package/dist/scripts/ai-analysis/dashboard-analyzer.js +511 -0
  102. package/dist/scripts/ai-analysis/dashboard-analyzer.js.map +1 -0
  103. package/dist/scripts/ai-analysis/document-analyzer.d.ts +196 -0
  104. package/dist/scripts/ai-analysis/document-analyzer.d.ts.map +1 -0
  105. package/dist/scripts/ai-analysis/document-analyzer.js +1001 -0
  106. package/dist/scripts/ai-analysis/document-analyzer.js.map +1 -0
  107. package/dist/scripts/ai-analysis/domains/index.d.ts +15 -0
  108. package/dist/scripts/ai-analysis/domains/index.d.ts.map +1 -0
  109. package/dist/scripts/ai-analysis/domains/index.js +494 -0
  110. package/dist/scripts/ai-analysis/domains/index.js.map +1 -0
  111. package/dist/scripts/ai-analysis/helpers.d.ts +43 -0
  112. package/dist/scripts/ai-analysis/helpers.d.ts.map +1 -0
  113. package/dist/scripts/ai-analysis/helpers.js +79 -0
  114. package/dist/scripts/ai-analysis/helpers.js.map +1 -0
  115. package/dist/scripts/ai-analysis/index.d.ts +15 -0
  116. package/dist/scripts/ai-analysis/index.d.ts.map +1 -0
  117. package/dist/scripts/ai-analysis/index.js +14 -0
  118. package/dist/scripts/ai-analysis/index.js.map +1 -0
  119. package/dist/scripts/ai-analysis/pipeline.d.ts +41 -0
  120. package/dist/scripts/ai-analysis/pipeline.d.ts.map +1 -0
  121. package/dist/scripts/ai-analysis/pipeline.js +208 -0
  122. package/dist/scripts/ai-analysis/pipeline.js.map +1 -0
  123. package/dist/scripts/ai-analysis/political-significance.d.ts +63 -0
  124. package/dist/scripts/ai-analysis/political-significance.d.ts.map +1 -0
  125. package/dist/scripts/ai-analysis/political-significance.js +227 -0
  126. package/dist/scripts/ai-analysis/political-significance.js.map +1 -0
  127. package/dist/scripts/ai-analysis/quality-assessor.d.ts +104 -0
  128. package/dist/scripts/ai-analysis/quality-assessor.d.ts.map +1 -0
  129. package/dist/scripts/ai-analysis/quality-assessor.js +554 -0
  130. package/dist/scripts/ai-analysis/quality-assessor.js.map +1 -0
  131. package/dist/scripts/ai-analysis/swot/index.d.ts +56 -0
  132. package/dist/scripts/ai-analysis/swot/index.d.ts.map +1 -0
  133. package/dist/scripts/ai-analysis/swot/index.js +360 -0
  134. package/dist/scripts/ai-analysis/swot/index.js.map +1 -0
  135. package/dist/scripts/ai-analysis/swot/placeholders.d.ts +30 -0
  136. package/dist/scripts/ai-analysis/swot/placeholders.d.ts.map +1 -0
  137. package/dist/scripts/ai-analysis/swot/placeholders.js +381 -0
  138. package/dist/scripts/ai-analysis/swot/placeholders.js.map +1 -0
  139. package/dist/scripts/ai-analysis/types.d.ts +333 -0
  140. package/dist/scripts/ai-analysis/types.d.ts.map +1 -0
  141. package/dist/scripts/ai-analysis/types.js +19 -0
  142. package/dist/scripts/ai-analysis/types.js.map +1 -0
  143. package/dist/scripts/ai-analysis/visualisation/index.d.ts +15 -0
  144. package/dist/scripts/ai-analysis/visualisation/index.d.ts.map +1 -0
  145. package/dist/scripts/ai-analysis/visualisation/index.js +179 -0
  146. package/dist/scripts/ai-analysis/visualisation/index.js.map +1 -0
  147. package/dist/scripts/analysis-framework/cross-reference.d.ts +35 -0
  148. package/dist/scripts/analysis-framework/cross-reference.d.ts.map +1 -0
  149. package/dist/scripts/analysis-framework/cross-reference.js +290 -0
  150. package/dist/scripts/analysis-framework/cross-reference.js.map +1 -0
  151. package/dist/scripts/analysis-framework/index.d.ts +79 -0
  152. package/dist/scripts/analysis-framework/index.d.ts.map +1 -0
  153. package/dist/scripts/analysis-framework/index.js +133 -0
  154. package/dist/scripts/analysis-framework/index.js.map +1 -0
  155. package/dist/scripts/analysis-framework/lenses/citizen.d.ts +29 -0
  156. package/dist/scripts/analysis-framework/lenses/citizen.d.ts.map +1 -0
  157. package/dist/scripts/analysis-framework/lenses/citizen.js +220 -0
  158. package/dist/scripts/analysis-framework/lenses/citizen.js.map +1 -0
  159. package/dist/scripts/analysis-framework/lenses/economic.d.ts +29 -0
  160. package/dist/scripts/analysis-framework/lenses/economic.d.ts.map +1 -0
  161. package/dist/scripts/analysis-framework/lenses/economic.js +227 -0
  162. package/dist/scripts/analysis-framework/lenses/economic.js.map +1 -0
  163. package/dist/scripts/analysis-framework/lenses/government.d.ts +32 -0
  164. package/dist/scripts/analysis-framework/lenses/government.d.ts.map +1 -0
  165. package/dist/scripts/analysis-framework/lenses/government.js +265 -0
  166. package/dist/scripts/analysis-framework/lenses/government.js.map +1 -0
  167. package/dist/scripts/analysis-framework/lenses/international.d.ts +29 -0
  168. package/dist/scripts/analysis-framework/lenses/international.d.ts.map +1 -0
  169. package/dist/scripts/analysis-framework/lenses/international.js +248 -0
  170. package/dist/scripts/analysis-framework/lenses/international.js.map +1 -0
  171. package/dist/scripts/analysis-framework/lenses/media.d.ts +29 -0
  172. package/dist/scripts/analysis-framework/lenses/media.d.ts.map +1 -0
  173. package/dist/scripts/analysis-framework/lenses/media.js +211 -0
  174. package/dist/scripts/analysis-framework/lenses/media.js.map +1 -0
  175. package/dist/scripts/analysis-framework/lenses/opposition.d.ts +29 -0
  176. package/dist/scripts/analysis-framework/lenses/opposition.d.ts.map +1 -0
  177. package/dist/scripts/analysis-framework/lenses/opposition.js +234 -0
  178. package/dist/scripts/analysis-framework/lenses/opposition.js.map +1 -0
  179. package/dist/scripts/analysis-framework/methodology-types.d.ts +309 -0
  180. package/dist/scripts/analysis-framework/methodology-types.d.ts.map +1 -0
  181. package/dist/scripts/analysis-framework/methodology-types.js +38 -0
  182. package/dist/scripts/analysis-framework/methodology-types.js.map +1 -0
  183. package/dist/scripts/analysis-framework/political-classification.d.ts +58 -0
  184. package/dist/scripts/analysis-framework/political-classification.d.ts.map +1 -0
  185. package/dist/scripts/analysis-framework/political-classification.js +414 -0
  186. package/dist/scripts/analysis-framework/political-classification.js.map +1 -0
  187. package/dist/scripts/analysis-framework/political-risk-assessment.d.ts +74 -0
  188. package/dist/scripts/analysis-framework/political-risk-assessment.d.ts.map +1 -0
  189. package/dist/scripts/analysis-framework/political-risk-assessment.js +656 -0
  190. package/dist/scripts/analysis-framework/political-risk-assessment.js.map +1 -0
  191. package/dist/scripts/analysis-framework/political-threat-analysis.d.ts +65 -0
  192. package/dist/scripts/analysis-framework/political-threat-analysis.d.ts.map +1 -0
  193. package/dist/scripts/analysis-framework/political-threat-analysis.js +553 -0
  194. package/dist/scripts/analysis-framework/political-threat-analysis.js.map +1 -0
  195. package/dist/scripts/analysis-framework/significance-scorer.d.ts +62 -0
  196. package/dist/scripts/analysis-framework/significance-scorer.d.ts.map +1 -0
  197. package/dist/scripts/analysis-framework/significance-scorer.js +196 -0
  198. package/dist/scripts/analysis-framework/significance-scorer.js.map +1 -0
  199. package/dist/scripts/analysis-framework/types.d.ts +138 -0
  200. package/dist/scripts/analysis-framework/types.d.ts.map +1 -0
  201. package/dist/scripts/analysis-framework/types.js +12 -0
  202. package/dist/scripts/analysis-framework/types.js.map +1 -0
  203. package/dist/scripts/analysis-reader.d.ts +240 -0
  204. package/dist/scripts/analysis-reader.d.ts.map +1 -0
  205. package/dist/scripts/analysis-reader.js +495 -0
  206. package/dist/scripts/analysis-reader.js.map +1 -0
  207. package/dist/scripts/article-quality-enhancer.d.ts +148 -0
  208. package/dist/scripts/article-quality-enhancer.d.ts.map +1 -0
  209. package/dist/scripts/article-quality-enhancer.js +430 -0
  210. package/dist/scripts/article-quality-enhancer.js.map +1 -0
  211. package/dist/scripts/article-template/constants.d.ts +104 -0
  212. package/dist/scripts/article-template/constants.d.ts.map +1 -0
  213. package/dist/scripts/article-template/constants.js +225 -0
  214. package/dist/scripts/article-template/constants.js.map +1 -0
  215. package/dist/scripts/article-template/helpers.d.ts +83 -0
  216. package/dist/scripts/article-template/helpers.d.ts.map +1 -0
  217. package/dist/scripts/article-template/helpers.js +236 -0
  218. package/dist/scripts/article-template/helpers.js.map +1 -0
  219. package/dist/scripts/article-template/index.d.ts +39 -0
  220. package/dist/scripts/article-template/index.d.ts.map +1 -0
  221. package/dist/scripts/article-template/index.js +37 -0
  222. package/dist/scripts/article-template/index.js.map +1 -0
  223. package/dist/scripts/article-template/registry.d.ts +64 -0
  224. package/dist/scripts/article-template/registry.d.ts.map +1 -0
  225. package/dist/scripts/article-template/registry.js +405 -0
  226. package/dist/scripts/article-template/registry.js.map +1 -0
  227. package/dist/scripts/article-template/template.d.ts +18 -0
  228. package/dist/scripts/article-template/template.d.ts.map +1 -0
  229. package/dist/scripts/article-template/template.js +359 -0
  230. package/dist/scripts/article-template/template.js.map +1 -0
  231. package/dist/scripts/article-template/types.d.ts +90 -0
  232. package/dist/scripts/article-template/types.d.ts.map +1 -0
  233. package/dist/scripts/article-template/types.js +96 -0
  234. package/dist/scripts/article-template/types.js.map +1 -0
  235. package/dist/scripts/article-template.d.ts +18 -0
  236. package/dist/scripts/article-template.d.ts.map +1 -0
  237. package/dist/scripts/article-template.js +18 -0
  238. package/dist/scripts/article-template.js.map +1 -0
  239. package/dist/scripts/catalog-downloaded-data.d.ts +66 -0
  240. package/dist/scripts/catalog-downloaded-data.d.ts.map +1 -0
  241. package/dist/scripts/catalog-downloaded-data.js +239 -0
  242. package/dist/scripts/catalog-downloaded-data.js.map +1 -0
  243. package/dist/scripts/check-cia-schema-updates.d.ts +186 -0
  244. package/dist/scripts/check-cia-schema-updates.d.ts.map +1 -0
  245. package/dist/scripts/check-cia-schema-updates.js +363 -0
  246. package/dist/scripts/check-cia-schema-updates.js.map +1 -0
  247. package/dist/scripts/data-transformers/calendar.d.ts +16 -0
  248. package/dist/scripts/data-transformers/calendar.d.ts.map +1 -0
  249. package/dist/scripts/data-transformers/calendar.js +137 -0
  250. package/dist/scripts/data-transformers/calendar.js.map +1 -0
  251. package/dist/scripts/data-transformers/constants/committee-names.d.ts +15 -0
  252. package/dist/scripts/data-transformers/constants/committee-names.d.ts.map +1 -0
  253. package/dist/scripts/data-transformers/constants/committee-names.js +30 -0
  254. package/dist/scripts/data-transformers/constants/committee-names.js.map +1 -0
  255. package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts +11 -0
  256. package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts.map +1 -0
  257. package/dist/scripts/data-transformers/constants/content-labels-part1.js +900 -0
  258. package/dist/scripts/data-transformers/constants/content-labels-part1.js.map +1 -0
  259. package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts +11 -0
  260. package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts.map +1 -0
  261. package/dist/scripts/data-transformers/constants/content-labels-part2.js +900 -0
  262. package/dist/scripts/data-transformers/constants/content-labels-part2.js.map +1 -0
  263. package/dist/scripts/data-transformers/constants/content-labels.d.ts +13 -0
  264. package/dist/scripts/data-transformers/constants/content-labels.d.ts.map +1 -0
  265. package/dist/scripts/data-transformers/constants/content-labels.js +18 -0
  266. package/dist/scripts/data-transformers/constants/content-labels.js.map +1 -0
  267. package/dist/scripts/data-transformers/constants/index.d.ts +15 -0
  268. package/dist/scripts/data-transformers/constants/index.d.ts.map +1 -0
  269. package/dist/scripts/data-transformers/constants/index.js +15 -0
  270. package/dist/scripts/data-transformers/constants/index.js.map +1 -0
  271. package/dist/scripts/data-transformers/constants/locale-map.d.ts +13 -0
  272. package/dist/scripts/data-transformers/constants/locale-map.d.ts.map +1 -0
  273. package/dist/scripts/data-transformers/constants/locale-map.js +17 -0
  274. package/dist/scripts/data-transformers/constants/locale-map.js.map +1 -0
  275. package/dist/scripts/data-transformers/constants.d.ts +14 -0
  276. package/dist/scripts/data-transformers/constants.d.ts.map +1 -0
  277. package/dist/scripts/data-transformers/constants.js +14 -0
  278. package/dist/scripts/data-transformers/constants.js.map +1 -0
  279. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts +64 -0
  280. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts.map +1 -0
  281. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js +805 -0
  282. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js.map +1 -0
  283. package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.d.ts +89 -0
  284. package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.d.ts.map +1 -0
  285. package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.js +667 -0
  286. package/dist/scripts/data-transformers/content-generators/ai-swot-analyzer.js.map +1 -0
  287. package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts +50 -0
  288. package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts.map +1 -0
  289. package/dist/scripts/data-transformers/content-generators/cia-overview-section.js +310 -0
  290. package/dist/scripts/data-transformers/content-generators/cia-overview-section.js.map +1 -0
  291. package/dist/scripts/data-transformers/content-generators/committee.d.ts +12 -0
  292. package/dist/scripts/data-transformers/content-generators/committee.d.ts.map +1 -0
  293. package/dist/scripts/data-transformers/content-generators/committee.js +247 -0
  294. package/dist/scripts/data-transformers/content-generators/committee.js.map +1 -0
  295. package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts +124 -0
  296. package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts.map +1 -0
  297. package/dist/scripts/data-transformers/content-generators/dashboard-section.js +564 -0
  298. package/dist/scripts/data-transformers/content-generators/dashboard-section.js.map +1 -0
  299. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts +82 -0
  300. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts.map +1 -0
  301. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js +321 -0
  302. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js.map +1 -0
  303. package/dist/scripts/data-transformers/content-generators/generic.d.ts +12 -0
  304. package/dist/scripts/data-transformers/content-generators/generic.d.ts.map +1 -0
  305. package/dist/scripts/data-transformers/content-generators/generic.js +295 -0
  306. package/dist/scripts/data-transformers/content-generators/generic.js.map +1 -0
  307. package/dist/scripts/data-transformers/content-generators/index.d.ts +56 -0
  308. package/dist/scripts/data-transformers/content-generators/index.d.ts.map +1 -0
  309. package/dist/scripts/data-transformers/content-generators/index.js +45 -0
  310. package/dist/scripts/data-transformers/content-generators/index.js.map +1 -0
  311. package/dist/scripts/data-transformers/content-generators/interpellations.d.ts +12 -0
  312. package/dist/scripts/data-transformers/content-generators/interpellations.d.ts.map +1 -0
  313. package/dist/scripts/data-transformers/content-generators/interpellations.js +124 -0
  314. package/dist/scripts/data-transformers/content-generators/interpellations.js.map +1 -0
  315. package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts +137 -0
  316. package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts.map +1 -0
  317. package/dist/scripts/data-transformers/content-generators/mindmap-section.js +286 -0
  318. package/dist/scripts/data-transformers/content-generators/mindmap-section.js.map +1 -0
  319. package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts +17 -0
  320. package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts.map +1 -0
  321. package/dist/scripts/data-transformers/content-generators/month-ahead.js +212 -0
  322. package/dist/scripts/data-transformers/content-generators/month-ahead.js.map +1 -0
  323. package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts +17 -0
  324. package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts.map +1 -0
  325. package/dist/scripts/data-transformers/content-generators/monthly-review.js +173 -0
  326. package/dist/scripts/data-transformers/content-generators/monthly-review.js.map +1 -0
  327. package/dist/scripts/data-transformers/content-generators/motions.d.ts +12 -0
  328. package/dist/scripts/data-transformers/content-generators/motions.d.ts.map +1 -0
  329. package/dist/scripts/data-transformers/content-generators/motions.js +158 -0
  330. package/dist/scripts/data-transformers/content-generators/motions.js.map +1 -0
  331. package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts +52 -0
  332. package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts.map +1 -0
  333. package/dist/scripts/data-transformers/content-generators/newsworthiness.js +244 -0
  334. package/dist/scripts/data-transformers/content-generators/newsworthiness.js.map +1 -0
  335. package/dist/scripts/data-transformers/content-generators/propositions.d.ts +12 -0
  336. package/dist/scripts/data-transformers/content-generators/propositions.d.ts.map +1 -0
  337. package/dist/scripts/data-transformers/content-generators/propositions.js +263 -0
  338. package/dist/scripts/data-transformers/content-generators/propositions.js.map +1 -0
  339. package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts +92 -0
  340. package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts.map +1 -0
  341. package/dist/scripts/data-transformers/content-generators/sankey-section.js +257 -0
  342. package/dist/scripts/data-transformers/content-generators/sankey-section.js.map +1 -0
  343. package/dist/scripts/data-transformers/content-generators/shared.d.ts +81 -0
  344. package/dist/scripts/data-transformers/content-generators/shared.d.ts.map +1 -0
  345. package/dist/scripts/data-transformers/content-generators/shared.js +913 -0
  346. package/dist/scripts/data-transformers/content-generators/shared.js.map +1 -0
  347. package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.d.ts +83 -0
  348. package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.d.ts.map +1 -0
  349. package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.js +219 -0
  350. package/dist/scripts/data-transformers/content-generators/stakeholder-swot-section.js.map +1 -0
  351. package/dist/scripts/data-transformers/content-generators/swot-section.d.ts +50 -0
  352. package/dist/scripts/data-transformers/content-generators/swot-section.d.ts.map +1 -0
  353. package/dist/scripts/data-transformers/content-generators/swot-section.js +177 -0
  354. package/dist/scripts/data-transformers/content-generators/swot-section.js.map +1 -0
  355. package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts +12 -0
  356. package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts.map +1 -0
  357. package/dist/scripts/data-transformers/content-generators/week-ahead.js +332 -0
  358. package/dist/scripts/data-transformers/content-generators/week-ahead.js.map +1 -0
  359. package/dist/scripts/data-transformers/content-generators.d.ts +15 -0
  360. package/dist/scripts/data-transformers/content-generators.d.ts.map +1 -0
  361. package/dist/scripts/data-transformers/content-generators.js +14 -0
  362. package/dist/scripts/data-transformers/content-generators.js.map +1 -0
  363. package/dist/scripts/data-transformers/document-analysis.d.ts +58 -0
  364. package/dist/scripts/data-transformers/document-analysis.d.ts.map +1 -0
  365. package/dist/scripts/data-transformers/document-analysis.js +396 -0
  366. package/dist/scripts/data-transformers/document-analysis.js.map +1 -0
  367. package/dist/scripts/data-transformers/helpers.d.ts +144 -0
  368. package/dist/scripts/data-transformers/helpers.d.ts.map +1 -0
  369. package/dist/scripts/data-transformers/helpers.js +408 -0
  370. package/dist/scripts/data-transformers/helpers.js.map +1 -0
  371. package/dist/scripts/data-transformers/index.d.ts +45 -0
  372. package/dist/scripts/data-transformers/index.d.ts.map +1 -0
  373. package/dist/scripts/data-transformers/index.js +66 -0
  374. package/dist/scripts/data-transformers/index.js.map +1 -0
  375. package/dist/scripts/data-transformers/metadata.d.ts +42 -0
  376. package/dist/scripts/data-transformers/metadata.d.ts.map +1 -0
  377. package/dist/scripts/data-transformers/metadata.js +385 -0
  378. package/dist/scripts/data-transformers/metadata.js.map +1 -0
  379. package/dist/scripts/data-transformers/policy-analysis.d.ts +105 -0
  380. package/dist/scripts/data-transformers/policy-analysis.d.ts.map +1 -0
  381. package/dist/scripts/data-transformers/policy-analysis.js +686 -0
  382. package/dist/scripts/data-transformers/policy-analysis.js.map +1 -0
  383. package/dist/scripts/data-transformers/risk-analysis.d.ts +104 -0
  384. package/dist/scripts/data-transformers/risk-analysis.d.ts.map +1 -0
  385. package/dist/scripts/data-transformers/risk-analysis.js +279 -0
  386. package/dist/scripts/data-transformers/risk-analysis.js.map +1 -0
  387. package/dist/scripts/data-transformers/types.d.ts +260 -0
  388. package/dist/scripts/data-transformers/types.d.ts.map +1 -0
  389. package/dist/scripts/data-transformers/types.js +11 -0
  390. package/dist/scripts/data-transformers/types.js.map +1 -0
  391. package/dist/scripts/data-transformers.d.ts +23 -0
  392. package/dist/scripts/data-transformers.d.ts.map +1 -0
  393. package/dist/scripts/data-transformers.js +35 -0
  394. package/dist/scripts/data-transformers.js.map +1 -0
  395. package/dist/scripts/deep-inspection/index.d.ts +55 -0
  396. package/dist/scripts/deep-inspection/index.d.ts.map +1 -0
  397. package/dist/scripts/deep-inspection/index.js +66 -0
  398. package/dist/scripts/deep-inspection/index.js.map +1 -0
  399. package/dist/scripts/detect-swedish-leakage.d.ts +69 -0
  400. package/dist/scripts/detect-swedish-leakage.d.ts.map +1 -0
  401. package/dist/scripts/detect-swedish-leakage.js +417 -0
  402. package/dist/scripts/detect-swedish-leakage.js.map +1 -0
  403. package/dist/scripts/editorial-framework.d.ts +121 -0
  404. package/dist/scripts/editorial-framework.d.ts.map +1 -0
  405. package/dist/scripts/editorial-framework.js +364 -0
  406. package/dist/scripts/editorial-framework.js.map +1 -0
  407. package/dist/scripts/editorial-pillars.d.ts +43 -0
  408. package/dist/scripts/editorial-pillars.d.ts.map +1 -0
  409. package/dist/scripts/editorial-pillars.js +215 -0
  410. package/dist/scripts/editorial-pillars.js.map +1 -0
  411. package/dist/scripts/extract-news-metadata.d.ts +12 -0
  412. package/dist/scripts/extract-news-metadata.d.ts.map +1 -0
  413. package/dist/scripts/extract-news-metadata.js +107 -0
  414. package/dist/scripts/extract-news-metadata.js.map +1 -0
  415. package/dist/scripts/extract-vocabulary.d.ts +15 -0
  416. package/dist/scripts/extract-vocabulary.d.ts.map +1 -0
  417. package/dist/scripts/extract-vocabulary.js +255 -0
  418. package/dist/scripts/extract-vocabulary.js.map +1 -0
  419. package/dist/scripts/fix-article-navigation.d.ts +37 -0
  420. package/dist/scripts/fix-article-navigation.d.ts.map +1 -0
  421. package/dist/scripts/fix-article-navigation.js +198 -0
  422. package/dist/scripts/fix-article-navigation.js.map +1 -0
  423. package/dist/scripts/fix-keywords-localization.d.ts +18 -0
  424. package/dist/scripts/fix-keywords-localization.d.ts.map +1 -0
  425. package/dist/scripts/fix-keywords-localization.js +270 -0
  426. package/dist/scripts/fix-keywords-localization.js.map +1 -0
  427. package/dist/scripts/fix-old-articles-branding.d.ts +17 -0
  428. package/dist/scripts/fix-old-articles-branding.d.ts.map +1 -0
  429. package/dist/scripts/fix-old-articles-branding.js +229 -0
  430. package/dist/scripts/fix-old-articles-branding.js.map +1 -0
  431. package/dist/scripts/generate-news-backport.d.ts +16 -0
  432. package/dist/scripts/generate-news-backport.d.ts.map +1 -0
  433. package/dist/scripts/generate-news-backport.js +379 -0
  434. package/dist/scripts/generate-news-backport.js.map +1 -0
  435. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts +124 -0
  436. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts.map +1 -0
  437. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js +529 -0
  438. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js.map +1 -0
  439. package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts +59 -0
  440. package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts.map +1 -0
  441. package/dist/scripts/generate-news-enhanced/analysis-cache.js +116 -0
  442. package/dist/scripts/generate-news-enhanced/analysis-cache.js.map +1 -0
  443. package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts +58 -0
  444. package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts.map +1 -0
  445. package/dist/scripts/generate-news-enhanced/analysis-labels.js +144 -0
  446. package/dist/scripts/generate-news-enhanced/analysis-labels.js.map +1 -0
  447. package/dist/scripts/generate-news-enhanced/config.d.ts +57 -0
  448. package/dist/scripts/generate-news-enhanced/config.d.ts.map +1 -0
  449. package/dist/scripts/generate-news-enhanced/config.js +286 -0
  450. package/dist/scripts/generate-news-enhanced/config.js.map +1 -0
  451. package/dist/scripts/generate-news-enhanced/generators.d.ts +119 -0
  452. package/dist/scripts/generate-news-enhanced/generators.d.ts.map +1 -0
  453. package/dist/scripts/generate-news-enhanced/generators.js +2108 -0
  454. package/dist/scripts/generate-news-enhanced/generators.js.map +1 -0
  455. package/dist/scripts/generate-news-enhanced/helpers.d.ts +123 -0
  456. package/dist/scripts/generate-news-enhanced/helpers.d.ts.map +1 -0
  457. package/dist/scripts/generate-news-enhanced/helpers.js +438 -0
  458. package/dist/scripts/generate-news-enhanced/helpers.js.map +1 -0
  459. package/dist/scripts/generate-news-enhanced/index.d.ts +19 -0
  460. package/dist/scripts/generate-news-enhanced/index.d.ts.map +1 -0
  461. package/dist/scripts/generate-news-enhanced/index.js +221 -0
  462. package/dist/scripts/generate-news-enhanced/index.js.map +1 -0
  463. package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts +35 -0
  464. package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts.map +1 -0
  465. package/dist/scripts/generate-news-enhanced/swot-analyzer.js +1179 -0
  466. package/dist/scripts/generate-news-enhanced/swot-analyzer.js.map +1 -0
  467. package/dist/scripts/generate-news-enhanced/types.d.ts +34 -0
  468. package/dist/scripts/generate-news-enhanced/types.d.ts.map +1 -0
  469. package/dist/scripts/generate-news-enhanced/types.js +9 -0
  470. package/dist/scripts/generate-news-enhanced/types.js.map +1 -0
  471. package/dist/scripts/generate-news-enhanced.d.ts +25 -0
  472. package/dist/scripts/generate-news-enhanced.d.ts.map +1 -0
  473. package/dist/scripts/generate-news-enhanced.js +37 -0
  474. package/dist/scripts/generate-news-enhanced.js.map +1 -0
  475. package/dist/scripts/generate-news-indexes/constants.d.ts +20 -0
  476. package/dist/scripts/generate-news-indexes/constants.d.ts.map +1 -0
  477. package/dist/scripts/generate-news-indexes/constants.js +308 -0
  478. package/dist/scripts/generate-news-indexes/constants.js.map +1 -0
  479. package/dist/scripts/generate-news-indexes/helpers.d.ts +73 -0
  480. package/dist/scripts/generate-news-indexes/helpers.d.ts.map +1 -0
  481. package/dist/scripts/generate-news-indexes/helpers.js +352 -0
  482. package/dist/scripts/generate-news-indexes/helpers.js.map +1 -0
  483. package/dist/scripts/generate-news-indexes/index.d.ts +20 -0
  484. package/dist/scripts/generate-news-indexes/index.d.ts.map +1 -0
  485. package/dist/scripts/generate-news-indexes/index.js +75 -0
  486. package/dist/scripts/generate-news-indexes/index.js.map +1 -0
  487. package/dist/scripts/generate-news-indexes/template.d.ts +25 -0
  488. package/dist/scripts/generate-news-indexes/template.d.ts.map +1 -0
  489. package/dist/scripts/generate-news-indexes/template.js +644 -0
  490. package/dist/scripts/generate-news-indexes/template.js.map +1 -0
  491. package/dist/scripts/generate-news-indexes/types.d.ts +96 -0
  492. package/dist/scripts/generate-news-indexes/types.d.ts.map +1 -0
  493. package/dist/scripts/generate-news-indexes/types.js +9 -0
  494. package/dist/scripts/generate-news-indexes/types.js.map +1 -0
  495. package/dist/scripts/generate-news-indexes.d.ts +20 -0
  496. package/dist/scripts/generate-news-indexes.d.ts.map +1 -0
  497. package/dist/scripts/generate-news-indexes.js +19 -0
  498. package/dist/scripts/generate-news-indexes.js.map +1 -0
  499. package/dist/scripts/generate-rss.d.ts +48 -0
  500. package/dist/scripts/generate-rss.d.ts.map +1 -0
  501. package/dist/scripts/generate-rss.js +299 -0
  502. package/dist/scripts/generate-rss.js.map +1 -0
  503. package/dist/scripts/generate-sitemap-html.d.ts +79 -0
  504. package/dist/scripts/generate-sitemap-html.d.ts.map +1 -0
  505. package/dist/scripts/generate-sitemap-html.js +878 -0
  506. package/dist/scripts/generate-sitemap-html.js.map +1 -0
  507. package/dist/scripts/generate-sitemap.d.ts +23 -0
  508. package/dist/scripts/generate-sitemap.d.ts.map +1 -0
  509. package/dist/scripts/generate-sitemap.js +476 -0
  510. package/dist/scripts/generate-sitemap.js.map +1 -0
  511. package/dist/scripts/generate-types-from-cia-schemas.d.ts +176 -0
  512. package/dist/scripts/generate-types-from-cia-schemas.d.ts.map +1 -0
  513. package/dist/scripts/generate-types-from-cia-schemas.js +318 -0
  514. package/dist/scripts/generate-types-from-cia-schemas.js.map +1 -0
  515. package/dist/scripts/government-role-validator.d.ts +65 -0
  516. package/dist/scripts/government-role-validator.d.ts.map +1 -0
  517. package/dist/scripts/government-role-validator.js +217 -0
  518. package/dist/scripts/government-role-validator.js.map +1 -0
  519. package/dist/scripts/html-utils.d.ts +17 -0
  520. package/dist/scripts/html-utils.d.ts.map +1 -0
  521. package/dist/scripts/html-utils.js +29 -0
  522. package/dist/scripts/html-utils.js.map +1 -0
  523. package/dist/scripts/load-cia-stats.d.ts +89 -0
  524. package/dist/scripts/load-cia-stats.d.ts.map +1 -0
  525. package/dist/scripts/load-cia-stats.js +400 -0
  526. package/dist/scripts/load-cia-stats.js.map +1 -0
  527. package/dist/scripts/mcp-client/client.d.ts +73 -0
  528. package/dist/scripts/mcp-client/client.d.ts.map +1 -0
  529. package/dist/scripts/mcp-client/client.js +526 -0
  530. package/dist/scripts/mcp-client/client.js.map +1 -0
  531. package/dist/scripts/mcp-client/document-types.d.ts +23 -0
  532. package/dist/scripts/mcp-client/document-types.d.ts.map +1 -0
  533. package/dist/scripts/mcp-client/document-types.js +62 -0
  534. package/dist/scripts/mcp-client/document-types.js.map +1 -0
  535. package/dist/scripts/mcp-client/index.d.ts +34 -0
  536. package/dist/scripts/mcp-client/index.d.ts.map +1 -0
  537. package/dist/scripts/mcp-client/index.js +67 -0
  538. package/dist/scripts/mcp-client/index.js.map +1 -0
  539. package/dist/scripts/mcp-client/transport.d.ts +32 -0
  540. package/dist/scripts/mcp-client/transport.d.ts.map +1 -0
  541. package/dist/scripts/mcp-client/transport.js +102 -0
  542. package/dist/scripts/mcp-client/transport.js.map +1 -0
  543. package/dist/scripts/mcp-client.d.ts +18 -0
  544. package/dist/scripts/mcp-client.d.ts.map +1 -0
  545. package/dist/scripts/mcp-client.js +18 -0
  546. package/dist/scripts/mcp-client.js.map +1 -0
  547. package/dist/scripts/mcp-query-cli.d.ts +25 -0
  548. package/dist/scripts/mcp-query-cli.d.ts.map +1 -0
  549. package/dist/scripts/mcp-query-cli.js +66 -0
  550. package/dist/scripts/mcp-query-cli.js.map +1 -0
  551. package/dist/scripts/news-types/breaking-news.d.ts +178 -0
  552. package/dist/scripts/news-types/breaking-news.d.ts.map +1 -0
  553. package/dist/scripts/news-types/breaking-news.js +428 -0
  554. package/dist/scripts/news-types/breaking-news.js.map +1 -0
  555. package/dist/scripts/news-types/committee-reports.d.ts +212 -0
  556. package/dist/scripts/news-types/committee-reports.d.ts.map +1 -0
  557. package/dist/scripts/news-types/committee-reports.js +404 -0
  558. package/dist/scripts/news-types/committee-reports.js.map +1 -0
  559. package/dist/scripts/news-types/month-ahead.d.ts +71 -0
  560. package/dist/scripts/news-types/month-ahead.d.ts.map +1 -0
  561. package/dist/scripts/news-types/month-ahead.js +392 -0
  562. package/dist/scripts/news-types/month-ahead.js.map +1 -0
  563. package/dist/scripts/news-types/monthly-review.d.ts +61 -0
  564. package/dist/scripts/news-types/monthly-review.d.ts.map +1 -0
  565. package/dist/scripts/news-types/monthly-review.js +417 -0
  566. package/dist/scripts/news-types/monthly-review.js.map +1 -0
  567. package/dist/scripts/news-types/motions.d.ts +214 -0
  568. package/dist/scripts/news-types/motions.d.ts.map +1 -0
  569. package/dist/scripts/news-types/motions.js +447 -0
  570. package/dist/scripts/news-types/motions.js.map +1 -0
  571. package/dist/scripts/news-types/propositions.d.ts +204 -0
  572. package/dist/scripts/news-types/propositions.d.ts.map +1 -0
  573. package/dist/scripts/news-types/propositions.js +401 -0
  574. package/dist/scripts/news-types/propositions.js.map +1 -0
  575. package/dist/scripts/news-types/week-ahead.d.ts +231 -0
  576. package/dist/scripts/news-types/week-ahead.d.ts.map +1 -0
  577. package/dist/scripts/news-types/week-ahead.js +441 -0
  578. package/dist/scripts/news-types/week-ahead.js.map +1 -0
  579. package/dist/scripts/news-types/weekly-review/analysis.d.ts +47 -0
  580. package/dist/scripts/news-types/weekly-review/analysis.d.ts.map +1 -0
  581. package/dist/scripts/news-types/weekly-review/analysis.js +276 -0
  582. package/dist/scripts/news-types/weekly-review/analysis.js.map +1 -0
  583. package/dist/scripts/news-types/weekly-review/data-loader.d.ts +51 -0
  584. package/dist/scripts/news-types/weekly-review/data-loader.d.ts.map +1 -0
  585. package/dist/scripts/news-types/weekly-review/data-loader.js +298 -0
  586. package/dist/scripts/news-types/weekly-review/data-loader.js.map +1 -0
  587. package/dist/scripts/news-types/weekly-review/generator.d.ts +18 -0
  588. package/dist/scripts/news-types/weekly-review/generator.d.ts.map +1 -0
  589. package/dist/scripts/news-types/weekly-review/generator.js +284 -0
  590. package/dist/scripts/news-types/weekly-review/generator.js.map +1 -0
  591. package/dist/scripts/news-types/weekly-review/index.d.ts +20 -0
  592. package/dist/scripts/news-types/weekly-review/index.d.ts.map +1 -0
  593. package/dist/scripts/news-types/weekly-review/index.js +23 -0
  594. package/dist/scripts/news-types/weekly-review/index.js.map +1 -0
  595. package/dist/scripts/news-types/weekly-review/types.d.ts +72 -0
  596. package/dist/scripts/news-types/weekly-review/types.d.ts.map +1 -0
  597. package/dist/scripts/news-types/weekly-review/types.js +20 -0
  598. package/dist/scripts/news-types/weekly-review/types.js.map +1 -0
  599. package/dist/scripts/news-types/weekly-review/validation.d.ts +10 -0
  600. package/dist/scripts/news-types/weekly-review/validation.d.ts.map +1 -0
  601. package/dist/scripts/news-types/weekly-review/validation.js +95 -0
  602. package/dist/scripts/news-types/weekly-review/validation.js.map +1 -0
  603. package/dist/scripts/news-types/weekly-review.d.ts +15 -0
  604. package/dist/scripts/news-types/weekly-review.d.ts.map +1 -0
  605. package/dist/scripts/news-types/weekly-review.js +14 -0
  606. package/dist/scripts/news-types/weekly-review.js.map +1 -0
  607. package/dist/scripts/party-variants.d.ts +23 -0
  608. package/dist/scripts/party-variants.d.ts.map +1 -0
  609. package/dist/scripts/party-variants.js +50 -0
  610. package/dist/scripts/party-variants.js.map +1 -0
  611. package/dist/scripts/pipeline/index.d.ts +19 -0
  612. package/dist/scripts/pipeline/index.d.ts.map +1 -0
  613. package/dist/scripts/pipeline/index.js +17 -0
  614. package/dist/scripts/pipeline/index.js.map +1 -0
  615. package/dist/scripts/pipeline/orchestrator.d.ts +56 -0
  616. package/dist/scripts/pipeline/orchestrator.d.ts.map +1 -0
  617. package/dist/scripts/pipeline/orchestrator.js +147 -0
  618. package/dist/scripts/pipeline/orchestrator.js.map +1 -0
  619. package/dist/scripts/pipeline/types.d.ts +117 -0
  620. package/dist/scripts/pipeline/types.d.ts.map +1 -0
  621. package/dist/scripts/pipeline/types.js +13 -0
  622. package/dist/scripts/pipeline/types.js.map +1 -0
  623. package/dist/scripts/pipeline/validation.d.ts +66 -0
  624. package/dist/scripts/pipeline/validation.d.ts.map +1 -0
  625. package/dist/scripts/pipeline/validation.js +129 -0
  626. package/dist/scripts/pipeline/validation.js.map +1 -0
  627. package/dist/scripts/populate-analysis-data.d.ts +41 -0
  628. package/dist/scripts/populate-analysis-data.d.ts.map +1 -0
  629. package/dist/scripts/populate-analysis-data.js +255 -0
  630. package/dist/scripts/populate-analysis-data.js.map +1 -0
  631. package/dist/scripts/pre-article-analysis/data-downloader.d.ts +80 -0
  632. package/dist/scripts/pre-article-analysis/data-downloader.d.ts.map +1 -0
  633. package/dist/scripts/pre-article-analysis/data-downloader.js +230 -0
  634. package/dist/scripts/pre-article-analysis/data-downloader.js.map +1 -0
  635. package/dist/scripts/pre-article-analysis/data-persistence.d.ts +141 -0
  636. package/dist/scripts/pre-article-analysis/data-persistence.d.ts.map +1 -0
  637. package/dist/scripts/pre-article-analysis/data-persistence.js +345 -0
  638. package/dist/scripts/pre-article-analysis/data-persistence.js.map +1 -0
  639. package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts +95 -0
  640. package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts.map +1 -0
  641. package/dist/scripts/pre-article-analysis/markdown-serializer.js +648 -0
  642. package/dist/scripts/pre-article-analysis/markdown-serializer.js.map +1 -0
  643. package/dist/scripts/pre-article-analysis/pdf-converter.d.ts +58 -0
  644. package/dist/scripts/pre-article-analysis/pdf-converter.d.ts.map +1 -0
  645. package/dist/scripts/pre-article-analysis/pdf-converter.js +142 -0
  646. package/dist/scripts/pre-article-analysis/pdf-converter.js.map +1 -0
  647. package/dist/scripts/pre-article-analysis.d.ts +41 -0
  648. package/dist/scripts/pre-article-analysis.d.ts.map +1 -0
  649. package/dist/scripts/pre-article-analysis.js +578 -0
  650. package/dist/scripts/pre-article-analysis.js.map +1 -0
  651. package/dist/scripts/scb-client.d.ts +104 -0
  652. package/dist/scripts/scb-client.d.ts.map +1 -0
  653. package/dist/scripts/scb-client.js +286 -0
  654. package/dist/scripts/scb-client.js.map +1 -0
  655. package/dist/scripts/scb-context.d.ts +88 -0
  656. package/dist/scripts/scb-context.d.ts.map +1 -0
  657. package/dist/scripts/scb-context.js +307 -0
  658. package/dist/scripts/scb-context.js.map +1 -0
  659. package/dist/scripts/shared/version.d.ts +9 -0
  660. package/dist/scripts/shared/version.d.ts.map +1 -0
  661. package/dist/scripts/shared/version.js +28 -0
  662. package/dist/scripts/shared/version.js.map +1 -0
  663. package/dist/scripts/statistical-claims-detector.d.ts +119 -0
  664. package/dist/scripts/statistical-claims-detector.d.ts.map +1 -0
  665. package/dist/scripts/statistical-claims-detector.js +391 -0
  666. package/dist/scripts/statistical-claims-detector.js.map +1 -0
  667. package/dist/scripts/sync-cia-schemas.d.ts +52 -0
  668. package/dist/scripts/sync-cia-schemas.d.ts.map +1 -0
  669. package/dist/scripts/sync-cia-schemas.js +195 -0
  670. package/dist/scripts/sync-cia-schemas.js.map +1 -0
  671. package/dist/scripts/translation-dictionary.d.ts +45 -0
  672. package/dist/scripts/translation-dictionary.d.ts.map +1 -0
  673. package/dist/scripts/translation-dictionary.js +3642 -0
  674. package/dist/scripts/translation-dictionary.js.map +1 -0
  675. package/dist/scripts/types/article.d.ts +362 -0
  676. package/dist/scripts/types/article.d.ts.map +1 -0
  677. package/dist/scripts/types/article.js +6 -0
  678. package/dist/scripts/types/article.js.map +1 -0
  679. package/dist/scripts/types/content.d.ts +167 -0
  680. package/dist/scripts/types/content.d.ts.map +1 -0
  681. package/dist/scripts/types/content.js +6 -0
  682. package/dist/scripts/types/content.js.map +1 -0
  683. package/dist/scripts/types/editorial.d.ts +17 -0
  684. package/dist/scripts/types/editorial.d.ts.map +1 -0
  685. package/dist/scripts/types/editorial.js +6 -0
  686. package/dist/scripts/types/editorial.js.map +1 -0
  687. package/dist/scripts/types/language.d.ts +7 -0
  688. package/dist/scripts/types/language.d.ts.map +1 -0
  689. package/dist/scripts/types/language.js +6 -0
  690. package/dist/scripts/types/language.js.map +1 -0
  691. package/dist/scripts/types/mcp.d.ts +117 -0
  692. package/dist/scripts/types/mcp.d.ts.map +1 -0
  693. package/dist/scripts/types/mcp.js +6 -0
  694. package/dist/scripts/types/mcp.js.map +1 -0
  695. package/dist/scripts/types/party.d.ts +9 -0
  696. package/dist/scripts/types/party.d.ts.map +1 -0
  697. package/dist/scripts/types/party.js +6 -0
  698. package/dist/scripts/types/party.js.map +1 -0
  699. package/dist/scripts/types/validation.d.ts +136 -0
  700. package/dist/scripts/types/validation.d.ts.map +1 -0
  701. package/dist/scripts/types/validation.js +6 -0
  702. package/dist/scripts/types/validation.js.map +1 -0
  703. package/dist/scripts/types/workflow.d.ts +78 -0
  704. package/dist/scripts/types/workflow.d.ts.map +1 -0
  705. package/dist/scripts/types/workflow.js +6 -0
  706. package/dist/scripts/types/workflow.js.map +1 -0
  707. package/dist/scripts/update-stats-from-cia.d.ts +44 -0
  708. package/dist/scripts/update-stats-from-cia.d.ts.map +1 -0
  709. package/dist/scripts/update-stats-from-cia.js +310 -0
  710. package/dist/scripts/update-stats-from-cia.js.map +1 -0
  711. package/dist/scripts/validate-against-cia-schemas.d.ts +126 -0
  712. package/dist/scripts/validate-against-cia-schemas.d.ts.map +1 -0
  713. package/dist/scripts/validate-against-cia-schemas.js +299 -0
  714. package/dist/scripts/validate-against-cia-schemas.js.map +1 -0
  715. package/dist/scripts/validate-cross-references.d.ts +49 -0
  716. package/dist/scripts/validate-cross-references.d.ts.map +1 -0
  717. package/dist/scripts/validate-cross-references.js +183 -0
  718. package/dist/scripts/validate-cross-references.js.map +1 -0
  719. package/dist/scripts/validate-file-ownership.d.ts +68 -0
  720. package/dist/scripts/validate-file-ownership.d.ts.map +1 -0
  721. package/dist/scripts/validate-file-ownership.js +135 -0
  722. package/dist/scripts/validate-file-ownership.js.map +1 -0
  723. package/dist/scripts/validate-news-translations.d.ts +27 -0
  724. package/dist/scripts/validate-news-translations.d.ts.map +1 -0
  725. package/dist/scripts/validate-news-translations.js +258 -0
  726. package/dist/scripts/validate-news-translations.js.map +1 -0
  727. package/dist/scripts/validate-translations.d.ts +162 -0
  728. package/dist/scripts/validate-translations.d.ts.map +1 -0
  729. package/dist/scripts/validate-translations.js +378 -0
  730. package/dist/scripts/validate-translations.js.map +1 -0
  731. package/dist/scripts/workflow-state-coordinator.d.ts +354 -0
  732. package/dist/scripts/workflow-state-coordinator.d.ts.map +1 -0
  733. package/dist/scripts/workflow-state-coordinator.js +876 -0
  734. package/dist/scripts/workflow-state-coordinator.js.map +1 -0
  735. package/dist/scripts/world-bank-client.d.ts +122 -0
  736. package/dist/scripts/world-bank-client.d.ts.map +1 -0
  737. package/dist/scripts/world-bank-client.js +192 -0
  738. package/dist/scripts/world-bank-client.js.map +1 -0
  739. package/dist/scripts/world-bank-context.d.ts +88 -0
  740. package/dist/scripts/world-bank-context.d.ts.map +1 -0
  741. package/dist/scripts/world-bank-context.js +331 -0
  742. package/dist/scripts/world-bank-context.js.map +1 -0
  743. package/package.json +32 -7
  744. package/dist/lib/chart-factory.d.ts.map +0 -1
  745. package/dist/lib/chart-factory.js.map +0 -1
  746. package/dist/lib/data-loader.d.ts.map +0 -1
  747. package/dist/lib/data-loader.js.map +0 -1
  748. package/dist/lib/dom-utils.d.ts.map +0 -1
  749. package/dist/lib/dom-utils.js.map +0 -1
  750. package/dist/lib/error-boundary.d.ts.map +0 -1
  751. package/dist/lib/error-boundary.js.map +0 -1
  752. package/dist/lib/fallback-ui.d.ts.map +0 -1
  753. package/dist/lib/fallback-ui.js.map +0 -1
  754. package/dist/lib/index.d.ts.map +0 -1
  755. package/dist/lib/index.js.map +0 -1
  756. package/dist/lib/logger.d.ts.map +0 -1
  757. package/dist/lib/logger.js.map +0 -1
  758. package/dist/lib/theme.d.ts.map +0 -1
  759. package/dist/lib/theme.js.map +0 -1
  760. package/dist/lib/types.d.ts.map +0 -1
  761. package/dist/lib/types.js.map +0 -1
  762. /package/dist/lib/{chart-factory.d.ts → shared/chart-factory.d.ts} +0 -0
  763. /package/dist/lib/{chart-factory.js → shared/chart-factory.js} +0 -0
  764. /package/dist/lib/{data-loader.d.ts → shared/data-loader.d.ts} +0 -0
  765. /package/dist/lib/{data-loader.js → shared/data-loader.js} +0 -0
  766. /package/dist/lib/{dom-utils.d.ts → shared/dom-utils.d.ts} +0 -0
  767. /package/dist/lib/{dom-utils.js → shared/dom-utils.js} +0 -0
  768. /package/dist/lib/{error-boundary.d.ts → shared/error-boundary.d.ts} +0 -0
  769. /package/dist/lib/{error-boundary.js → shared/error-boundary.js} +0 -0
  770. /package/dist/lib/{fallback-ui.d.ts → shared/fallback-ui.d.ts} +0 -0
  771. /package/dist/lib/{fallback-ui.js → shared/fallback-ui.js} +0 -0
  772. /package/dist/lib/{index.d.ts → shared/index.d.ts} +0 -0
  773. /package/dist/lib/{index.js → shared/index.js} +0 -0
  774. /package/dist/lib/{logger.d.ts → shared/logger.d.ts} +0 -0
  775. /package/dist/lib/{logger.js → shared/logger.js} +0 -0
  776. /package/dist/lib/{theme.d.ts → shared/theme.d.ts} +0 -0
  777. /package/dist/lib/{theme.js → shared/theme.js} +0 -0
  778. /package/dist/lib/{types.d.ts → shared/types.d.ts} +0 -0
  779. /package/dist/lib/{types.js → shared/types.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"political-risk-assessment.js","sourceRoot":"","sources":["../../../scripts/analysis-framework/political-risk-assessment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @module analysis-framework/political-threat-analysis
3
+ * @description Political Threat Taxonomy analysis engine for parliamentary documents.
4
+ *
5
+ * Uses six democratic-function threat categories for political intelligence analysis
6
+ * of Swedish parliamentary context.
7
+ *
8
+ * ## Political Threat Taxonomy Categories
9
+ * | Category | Democratic Function Threatened |
10
+ * |------------------------|--------------------------------------|
11
+ * | Polarization | Narrative Integrity |
12
+ * | Regulatory Overreach | Legislative Integrity |
13
+ * | Institutional Erosion | Accountability |
14
+ * | Democratic Deficit | Transparency |
15
+ * | Economic Disruption | Democratic Process |
16
+ * | Societal Impact | Power Balance |
17
+ *
18
+ * ## Threat Agents
19
+ * - Ruling coalition — Policy agenda risks, power concentration
20
+ * - Opposition parties — Obstruction, populist pressure
21
+ * - External actors — Foreign influence, EU regulatory pressure
22
+ * - Special interests — Lobbying, regulatory capture
23
+ * - Media — Narrative manipulation, selective reporting
24
+ * - Institutional — Bureaucratic inertia, implementation failures
25
+ *
26
+ * The engine is **pure** — deterministic for the same input, no side effects.
27
+ *
28
+ * @author Hack23 AB
29
+ * @license Apache-2.0
30
+ */
31
+ import type { RawDocument, CIAContext } from '../data-transformers/types.js';
32
+ import type { PoliticalThreatAnalysis, PoliticalThreatProfile, ThreatCategory } from './methodology-types.js';
33
+ /**
34
+ * Analyse a parliamentary document using the Political Threat Taxonomy.
35
+ *
36
+ * Applies the Political Threat Taxonomy
37
+ * to identify and characterise threats to democratic governance from the document.
38
+ *
39
+ * The function is **pure** — deterministic for the same input, no side effects.
40
+ *
41
+ * @param doc - The parliamentary document to analyse
42
+ * @param cia - Optional CIA context (coalition data improves threat calibration)
43
+ * @returns Complete political threat profile
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const profile = analysePoliticalThreats(doc, ciaContext);
48
+ * console.log(profile.overallThreatLevel); // 'critical' | 'high' | 'medium' | 'low' | 'none'
49
+ * console.log(profile.primaryThreat); // dominant threat category
50
+ * ```
51
+ */
52
+ export declare function analysePoliticalThreats(doc: RawDocument, cia?: CIAContext): PoliticalThreatProfile;
53
+ /**
54
+ * Analyse threats for a specific threat category only.
55
+ *
56
+ * Use when you need a targeted threat analysis for a single category
57
+ * rather than the full political threat profile.
58
+ *
59
+ * @param doc - The parliamentary document to analyse
60
+ * @param category - The specific threat category to analyse
61
+ * @param cia - Optional CIA context
62
+ * @returns Threat analysis for the specified category, or null if not detectable
63
+ */
64
+ export declare function analyseSingleThreatCategory(doc: RawDocument, category: ThreatCategory, cia?: CIAContext): PoliticalThreatAnalysis | null;
65
+ //# sourceMappingURL=political-threat-analysis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"political-threat-analysis.d.ts","sourceRoot":"","sources":["../../../scripts/analysis-framework/political-threat-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EAGf,MAAM,wBAAwB,CAAC;AA6fhC;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,WAAW,EAChB,GAAG,CAAC,EAAE,UAAU,GACf,sBAAsB,CAsCxB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,cAAc,EACxB,GAAG,CAAC,EAAE,UAAU,GACf,uBAAuB,GAAG,IAAI,CAGhC"}
@@ -0,0 +1,553 @@
1
+ /**
2
+ * @module analysis-framework/political-threat-analysis
3
+ * @description Political Threat Taxonomy analysis engine for parliamentary documents.
4
+ *
5
+ * Uses six democratic-function threat categories for political intelligence analysis
6
+ * of Swedish parliamentary context.
7
+ *
8
+ * ## Political Threat Taxonomy Categories
9
+ * | Category | Democratic Function Threatened |
10
+ * |------------------------|--------------------------------------|
11
+ * | Polarization | Narrative Integrity |
12
+ * | Regulatory Overreach | Legislative Integrity |
13
+ * | Institutional Erosion | Accountability |
14
+ * | Democratic Deficit | Transparency |
15
+ * | Economic Disruption | Democratic Process |
16
+ * | Societal Impact | Power Balance |
17
+ *
18
+ * ## Threat Agents
19
+ * - Ruling coalition — Policy agenda risks, power concentration
20
+ * - Opposition parties — Obstruction, populist pressure
21
+ * - External actors — Foreign influence, EU regulatory pressure
22
+ * - Special interests — Lobbying, regulatory capture
23
+ * - Media — Narrative manipulation, selective reporting
24
+ * - Institutional — Bureaucratic inertia, implementation failures
25
+ *
26
+ * The engine is **pure** — deterministic for the same input, no side effects.
27
+ *
28
+ * @author Hack23 AB
29
+ * @license Apache-2.0
30
+ */
31
+ // ---------------------------------------------------------------------------
32
+ // Keyword banks per threat category
33
+ // ---------------------------------------------------------------------------
34
+ /** P — Polarization: Intentional division, misleading rhetoric */
35
+ const POLARIZATION_KEYWORDS = [
36
+ 'polarisering', 'splittring', 'oss och dem', 'extremism',
37
+ 'hatretorik', 'desinformation', 'propaganda', 'populism',
38
+ 'migrationsretorik', 'nationalistisk', 'sverigevänner', 'globalister',
39
+ 'polarization', 'division', 'disinformation', 'hate rhetoric',
40
+ 'us vs them', 'populist', 'nationalist rhetoric',
41
+ ];
42
+ /** R — Regulatory Overreach: Abuse of legislative power, norm erosion */
43
+ const REGULATORY_OVERREACH_KEYWORDS = [
44
+ 'demokratiunderskott', 'maktkoncentration', 'undantag från lagstiftning',
45
+ 'kringgå regler', 'undantas granskning', 'överprövar',
46
+ 'extraordinary powers', 'bypass parliament', 'circumvent legislation',
47
+ 'concentration of power', 'legislative overreach', 'executive overreach',
48
+ 'undantagstillstånd', 'nödbefogenheter',
49
+ ];
50
+ /** I — Institutional Erosion: Weakening democratic institutions, accountability gaps */
51
+ const INSTITUTIONAL_EROSION_KEYWORDS = [
52
+ 'urholkning', 'försvagning', 'KU-granskning', 'konstitutionsbrott',
53
+ 'bristande ansvar', 'accountability gap', 'institutional capture',
54
+ 'ansvarslöshet', 'bristande transparens', 'domstolspackning',
55
+ 'court packing', 'accountability deficit',
56
+ 'erosion of institutions', 'democratic backsliding', 'judicial independence',
57
+ ];
58
+ /** D — Democratic Deficit: Lack of transparency, restricted public access */
59
+ const DEMOCRATIC_DEFICIT_KEYWORDS = [
60
+ 'offentlighetsprincipen', 'sekretess', 'hemligstämplad', 'begränsad insyn',
61
+ 'informationsbegränsning', 'censur', 'pressfrihet', 'yttrandefrihet',
62
+ 'transparency', 'freedom of information', 'secrecy', 'censorship',
63
+ 'restricted access', 'press freedom', 'freedom of speech',
64
+ 'öppenhet', 'transparens', 'insyn', 'offentlighet',
65
+ ];
66
+ /** E — Economic Disruption: Policy-driven economic harm, fiscal irresponsibility */
67
+ const ECONOMIC_DISRUPTION_KEYWORDS = [
68
+ 'budgetkris', 'finanskris', 'ekonomisk destabilisering', 'statsbankrutt',
69
+ 'skuldkris', 'valutakris', 'inflation spiral', 'hyperinflation',
70
+ 'economic crisis', 'fiscal irresponsibility', 'debt crisis', 'budget crisis',
71
+ 'economic harm', 'fiscal disruption', 'austerity', 'economic shock',
72
+ 'statsfinansiell kris', 'budgetunderskott', 'skuldsättning',
73
+ ];
74
+ /** S — Societal Impact: Disproportionate impact on vulnerable groups, rights erosion */
75
+ const SOCIETAL_IMPACT_KEYWORDS = [
76
+ 'marginaliserade', 'utsatta grupper', 'diskriminering', 'rättighetsförlust',
77
+ 'ojämlikhet', 'fattigdom', 'barnfattigdom', 'hemlöshet', 'ofärd',
78
+ 'vulnerable groups', 'rights erosion', 'discrimination', 'inequality',
79
+ 'poverty', 'homelessness', 'marginalized communities', 'social exclusion',
80
+ 'grundläggande rättigheter', 'mänskliga rättigheter', 'human rights',
81
+ ];
82
+ // ---------------------------------------------------------------------------
83
+ // Threat agent detection
84
+ // ---------------------------------------------------------------------------
85
+ /** Keywords identifying ruling coalition as threat agent */
86
+ const RULING_COALITION_INDICATORS = [
87
+ 'regeringen', 'statsminister', 'finansminister', 'tidöavtal',
88
+ 'samarbetspartier', 'SD-stöd', 'alliansen', 'högeralliansen',
89
+ 'government', 'prime minister', 'ruling coalition', 'Tidö agreement',
90
+ ];
91
+ /** Keywords identifying opposition parties as threat agent */
92
+ const OPPOSITION_INDICATORS = [
93
+ 'opposition', 'oppositionsparti', 'S-ledd', 'vänsterblocket',
94
+ 'socialdemokraterna', 'vänsterpartiet', 'miljöpartiet',
95
+ 'opposition parties', 'left bloc', 'Social Democrats',
96
+ 'riksdagen avslår', 'motarbetar', 'blockerar', 'obstruerar',
97
+ ];
98
+ /** Keywords identifying external actors as threat agent */
99
+ const EXTERNAL_ACTOR_INDICATORS = [
100
+ 'EU-kommissionen', 'Bryssel', 'NATO', 'utländsk', 'Putin',
101
+ 'Ryssland', 'Kina', 'utländsk inblandning', 'foreign interference',
102
+ 'EU directive', 'Brussels', 'foreign actors', 'Russia', 'China',
103
+ 'geopolitisk', 'geopolitical',
104
+ ];
105
+ /** Keywords identifying special interests as threat agent */
106
+ const SPECIAL_INTEREST_INDICATORS = [
107
+ 'lobbyism', 'lobbying', 'branschintresse', 'särintresse',
108
+ 'näringsliv', 'industri', 'arbetsgivarorganisation', 'regulatory capture',
109
+ 'corporate influence', 'industry lobby', 'special interests',
110
+ 'finansiella intressen', 'partifinansiering',
111
+ ];
112
+ /** Keywords identifying media as threat agent */
113
+ const MEDIA_INDICATORS = [
114
+ 'mediabevakning', 'pressfrihet', 'narrativ', 'ryktesspridning',
115
+ 'desinformation', 'selektiv rapportering', 'mediaspinn',
116
+ 'media narrative', 'misinformation', 'selective reporting',
117
+ 'media manipulation', 'spin', 'fake news', 'alternativa fakta',
118
+ ];
119
+ /** Keywords identifying institutional actors as threat agent */
120
+ const INSTITUTIONAL_INDICATORS = [
121
+ 'myndighet', 'ämbetsverk', 'byråkrati', 'förvaltning',
122
+ 'implementeringsproblem', 'handläggningsproblem', 'processbrist',
123
+ 'agency', 'bureaucracy', 'implementation failure', 'administrative',
124
+ 'institutional inertia', 'bureaucratic resistance',
125
+ ];
126
+ // ---------------------------------------------------------------------------
127
+ // Helpers
128
+ // ---------------------------------------------------------------------------
129
+ function getDocText(doc) {
130
+ const fullContentText = doc.fullContent
131
+ ? doc.fullContent.replace(/<[^>]+>/g, ' ')
132
+ : undefined;
133
+ return [
134
+ doc.titel, doc.rubrik, doc.undertitel, doc.title,
135
+ doc.summary, doc.notis, doc.fullText, fullContentText,
136
+ ].filter(Boolean).join(' ');
137
+ }
138
+ /**
139
+ * Derive normalized document type from RawDocument.
140
+ * Falls back from `doktyp` to `documentType`, lowercased and trimmed.
141
+ */
142
+ function getDocType(doc) {
143
+ return String(doc.doktyp ?? doc.documentType ?? '').toLowerCase().trim();
144
+ }
145
+ function escapeRegExp(input) {
146
+ return input.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
147
+ }
148
+ /**
149
+ * Word-boundary-aware keyword matching (ported from risk-assessment engine).
150
+ * Short/uppercase abbreviations (e.g. "EU", "NATO") use word-boundary
151
+ * matching to avoid false positives inside unrelated words.
152
+ */
153
+ function keywordMatches(textLower, keyword) {
154
+ const isShortAbbreviation = /^[A-ZÅÄÖ]{2,4}$/.test(keyword);
155
+ if (isShortAbbreviation) {
156
+ const pattern = new RegExp(`\\b${escapeRegExp(keyword.toLowerCase())}\\b`, 'i');
157
+ return pattern.test(textLower);
158
+ }
159
+ return textLower.includes(keyword.toLowerCase());
160
+ }
161
+ function containsAny(text, keywords) {
162
+ const lower = text.toLowerCase();
163
+ return keywords.some(kw => keywordMatches(lower, kw));
164
+ }
165
+ function countMatches(text, keywords) {
166
+ const lower = text.toLowerCase();
167
+ return keywords.filter(kw => keywordMatches(lower, kw)).length;
168
+ }
169
+ // ---------------------------------------------------------------------------
170
+ // Threat agent detection
171
+ // ---------------------------------------------------------------------------
172
+ function detectThreatAgents(doc, text) {
173
+ const agents = [];
174
+ // Always include the most relevant institutional actor(s) based on document type
175
+ const docType = getDocType(doc);
176
+ const committee = doc.organ ?? '';
177
+ if (containsAny(text, RULING_COALITION_INDICATORS) || ['prop', 'skr', 'sou'].includes(docType)) {
178
+ agents.push('ruling-coalition');
179
+ }
180
+ if (containsAny(text, OPPOSITION_INDICATORS) || ['mot', 'ip', 'fr'].includes(docType)) {
181
+ agents.push('opposition-parties');
182
+ }
183
+ if (containsAny(text, EXTERNAL_ACTOR_INDICATORS) || committee === 'UU' || committee === 'FöU') {
184
+ agents.push('external-actors');
185
+ }
186
+ if (containsAny(text, SPECIAL_INTEREST_INDICATORS)) {
187
+ agents.push('special-interests');
188
+ }
189
+ if (containsAny(text, MEDIA_INDICATORS)) {
190
+ agents.push('media');
191
+ }
192
+ if (containsAny(text, INSTITUTIONAL_INDICATORS) || ['bet', 'ds', 'dir'].includes(docType)) {
193
+ agents.push('institutional');
194
+ }
195
+ // Ensure at least one agent is always assigned
196
+ if (agents.length === 0) {
197
+ agents.push('ruling-coalition');
198
+ }
199
+ return [...new Set(agents)]; // deduplicate
200
+ }
201
+ // ---------------------------------------------------------------------------
202
+ // Per-category severity assessment
203
+ // ---------------------------------------------------------------------------
204
+ function assessPolarizationSeverity(text, cia) {
205
+ const matches = countMatches(text, POLARIZATION_KEYWORDS);
206
+ const stability = cia?.coalitionStability?.stabilityScore;
207
+ if (matches >= 3 || (matches >= 2 && stability !== undefined && stability < 40))
208
+ return 'high';
209
+ if (matches >= 2)
210
+ return 'medium';
211
+ if (matches >= 1)
212
+ return 'low';
213
+ return 'low';
214
+ }
215
+ function assessRegulatoryOverreachSeverity(text) {
216
+ const matches = countMatches(text, REGULATORY_OVERREACH_KEYWORDS);
217
+ if (matches >= 3)
218
+ return 'critical';
219
+ if (matches >= 2)
220
+ return 'high';
221
+ if (matches >= 1)
222
+ return 'medium';
223
+ return 'low';
224
+ }
225
+ function assessInstitutionalErosionSeverity(doc, text) {
226
+ const matches = countMatches(text, INSTITUTIONAL_EROSION_KEYWORDS);
227
+ const isKU = doc.organ === 'KU'; // KU is the institutional accountability body
228
+ // Base thresholds: 3+ = critical, 2 = high, 1 = medium.
229
+ // KU documents receive a severity boost so that critical remains reachable:
230
+ // - KU with >= 2 matches -> critical
231
+ // - KU with >= 1 match -> high
232
+ if (matches >= 3 || (isKU && matches >= 2))
233
+ return 'critical';
234
+ if (matches >= 2 || (isKU && matches >= 1))
235
+ return 'high';
236
+ if (matches >= 1)
237
+ return 'medium';
238
+ return 'low';
239
+ }
240
+ function assessDemocraticDeficitSeverity(doc, text) {
241
+ const matches = countMatches(text, DEMOCRATIC_DEFICIT_KEYWORDS);
242
+ if (doc.organ === 'KU' && matches >= 2)
243
+ return 'critical';
244
+ if (matches >= 3)
245
+ return 'high';
246
+ if (matches >= 2)
247
+ return 'medium';
248
+ if (matches >= 1)
249
+ return 'low';
250
+ return 'low';
251
+ }
252
+ function assessEconomicDisruptionSeverity(doc, text, cia) {
253
+ const matches = countMatches(text, ECONOMIC_DISRUPTION_KEYWORDS);
254
+ const stability = cia?.coalitionStability?.stabilityScore;
255
+ if (doc.organ === 'FiU' && matches >= 2)
256
+ return 'critical';
257
+ if (matches >= 3 || (matches >= 2 && stability !== undefined && stability < 40))
258
+ return 'high';
259
+ if (matches >= 2)
260
+ return 'medium';
261
+ if (matches >= 1)
262
+ return 'low';
263
+ return 'low';
264
+ }
265
+ const SOCIETAL_IMPACT_COMMITTEES = new Set(['SoU', 'SfU', 'AU']);
266
+ function assessSocietalImpactSeverity(doc, text) {
267
+ const matches = countMatches(text, SOCIETAL_IMPACT_KEYWORDS);
268
+ const committee = doc.organ ?? '';
269
+ if (SOCIETAL_IMPACT_COMMITTEES.has(committee) && matches >= 2)
270
+ return 'high';
271
+ if (matches >= 3)
272
+ return 'high';
273
+ if (matches >= 2)
274
+ return 'medium';
275
+ if (matches >= 1)
276
+ return 'low';
277
+ return 'low';
278
+ }
279
+ // ---------------------------------------------------------------------------
280
+ // Observable indicator extraction
281
+ // ---------------------------------------------------------------------------
282
+ function extractIndicators(doc, category, text) {
283
+ const indicators = [];
284
+ const docId = doc.dok_id;
285
+ if (docId) {
286
+ indicators.push(`Parliamentary document ${docId} (${getDocType(doc) || 'unknown'}) identified as signal`);
287
+ }
288
+ if (doc.speeches && doc.speeches.length > 0) {
289
+ const count = doc.speeches.length;
290
+ indicators.push(`${count} parliamentary speech${count > 1 ? 'es' : ''} associated with this document`);
291
+ }
292
+ if (doc.organ) {
293
+ indicators.push(`Committee involvement: ${doc.organ}`);
294
+ }
295
+ switch (category) {
296
+ case 'polarization': {
297
+ if (countMatches(text, POLARIZATION_KEYWORDS) > 0) {
298
+ indicators.push('Language and framing may contribute to political polarization in this context');
299
+ }
300
+ break;
301
+ }
302
+ case 'regulatory-overreach': {
303
+ if (countMatches(text, REGULATORY_OVERREACH_KEYWORDS) > 0) {
304
+ indicators.push('Analysis suggests potential concentration of regulatory authority');
305
+ }
306
+ break;
307
+ }
308
+ case 'institutional-erosion': {
309
+ const matches = countMatches(text, INSTITUTIONAL_EROSION_KEYWORDS);
310
+ if (doc.organ === 'KU' && matches === 0) {
311
+ indicators.push('Constitutional Committee (KU) context suggests potential accountability concern');
312
+ }
313
+ else if (matches > 0) {
314
+ indicators.push('Analysis suggests potential gaps in institutional accountability');
315
+ }
316
+ break;
317
+ }
318
+ case 'democratic-deficit': {
319
+ if (countMatches(text, DEMOCRATIC_DEFICIT_KEYWORDS) > 0) {
320
+ indicators.push('Analysis suggests potential transparency or public access concerns');
321
+ }
322
+ break;
323
+ }
324
+ case 'economic-disruption': {
325
+ const matches = countMatches(text, ECONOMIC_DISRUPTION_KEYWORDS);
326
+ if (matches > 0) {
327
+ indicators.push('Analysis suggests potential economic or fiscal disruption risk factors');
328
+ }
329
+ else if (doc.organ === 'FiU') {
330
+ indicators.push('Finance Committee context suggests potential economic or fiscal disruption risk factors');
331
+ }
332
+ break;
333
+ }
334
+ case 'societal-impact': {
335
+ if (countMatches(text, SOCIETAL_IMPACT_KEYWORDS) > 0) {
336
+ indicators.push('Analysis suggests potential impact on vulnerable groups or fundamental rights');
337
+ }
338
+ break;
339
+ }
340
+ }
341
+ return indicators;
342
+ }
343
+ // ---------------------------------------------------------------------------
344
+ // Democratic countermeasures
345
+ // ---------------------------------------------------------------------------
346
+ function getCountermeasures(category) {
347
+ switch (category) {
348
+ case 'polarization':
349
+ return [
350
+ 'Public discourse institutions (SVT, SR) provide balanced media coverage',
351
+ 'Civil society organisations and fact-checkers challenge polarising narratives',
352
+ 'Cross-party parliamentary dialogue and consensus-seeking culture',
353
+ 'Swedish press freedom protections (Tryckfrihetsförordningen)',
354
+ ];
355
+ case 'regulatory-overreach':
356
+ return [
357
+ 'Lagrådet (Council on Legislation) reviews proposed laws for constitutionality',
358
+ 'Constitutional Committee (KU) scrutinises government exercise of power',
359
+ 'Riksdag can vote no-confidence in the government (misstroendevotum)',
360
+ 'Ombudsman institutions (JO, JK) investigate complaints against government',
361
+ ];
362
+ case 'institutional-erosion':
363
+ return [
364
+ 'Independent judiciary and administrative courts provide institutional check',
365
+ 'Parliamentary Ombudsman (JO) investigates institutional maladministration',
366
+ 'Riksdag constitutional review through KU provides political accountability',
367
+ 'ECHR and EU Charter of Fundamental Rights provide supranational protection',
368
+ ];
369
+ case 'democratic-deficit':
370
+ return [
371
+ 'Offentlighetsprincipen (principle of public access) mandates transparency',
372
+ 'Data protection authority (IMY) enforces GDPR and privacy rights',
373
+ 'Freedom of the press constitutional protections (TF, YGL)',
374
+ 'Whistleblower protection legislation safeguards public interest disclosure',
375
+ ];
376
+ case 'economic-disruption':
377
+ return [
378
+ 'Independent Riksbank provides monetary policy stabilisation',
379
+ 'EU Stability and Growth Pact constrains extreme fiscal departures',
380
+ 'Swedish Fiscal Policy Council (Finanspolitiska rådet) monitors fiscal discipline',
381
+ 'Cross-party budget framework prevents extreme year-on-year spending changes',
382
+ ];
383
+ case 'societal-impact':
384
+ return [
385
+ 'Equality ombudsman (DO) enforces anti-discrimination legislation',
386
+ 'Swedish welfare state baseline protections provide safety net',
387
+ 'ECHR Article 14 and EU equality law provide rights protection',
388
+ 'Parliamentary debate and committee hearings surface societal impact concerns',
389
+ ];
390
+ }
391
+ }
392
+ // ---------------------------------------------------------------------------
393
+ // Rationale builder
394
+ // ---------------------------------------------------------------------------
395
+ function buildThreatRationale(doc, category, severity, text) {
396
+ const docType = getDocType(doc) || 'document';
397
+ const committee = doc.organ ?? 'unknown';
398
+ const severityLabel = severity.toUpperCase();
399
+ const categoryDescriptions = {
400
+ 'polarization': 'polarising rhetoric and divisive political framing',
401
+ 'regulatory-overreach': 'potential abuse of legislative or executive power',
402
+ 'institutional-erosion': 'signals of weakening democratic institutions or accountability gaps',
403
+ 'democratic-deficit': 'restricted transparency or limited public access to information',
404
+ 'economic-disruption': 'policy-driven economic harm or fiscal irresponsibility',
405
+ 'societal-impact': 'disproportionate impact on vulnerable groups or rights erosion',
406
+ };
407
+ const description = categoryDescriptions[category];
408
+ const hasContent = (() => {
409
+ if (doc.fullText || doc.fullContent) {
410
+ return 'Full document content available.';
411
+ }
412
+ if (doc.summary) {
413
+ return 'Summary-level content available; full text not available.';
414
+ }
415
+ return 'Based on metadata signals only; full text not available.';
416
+ })();
417
+ return `${severityLabel} political threat: ${description} detected in ${docType} document from committee ${committee}. ${hasContent} Document ${doc.dok_id ?? 'unknown'} presents observable signals matching this threat category based on ${text.length > 200 ? 'comprehensive' : 'limited'} text analysis.`;
418
+ }
419
+ // ---------------------------------------------------------------------------
420
+ // Single category analysis
421
+ // ---------------------------------------------------------------------------
422
+ function hasCategorySignals(category, text, doc) {
423
+ switch (category) {
424
+ case 'polarization':
425
+ return countMatches(text, POLARIZATION_KEYWORDS) > 0;
426
+ case 'regulatory-overreach':
427
+ return countMatches(text, REGULATORY_OVERREACH_KEYWORDS) > 0;
428
+ case 'institutional-erosion':
429
+ return countMatches(text, INSTITUTIONAL_EROSION_KEYWORDS) > 0 || doc.organ === 'KU';
430
+ case 'democratic-deficit':
431
+ return countMatches(text, DEMOCRATIC_DEFICIT_KEYWORDS) > 0;
432
+ case 'economic-disruption':
433
+ return countMatches(text, ECONOMIC_DISRUPTION_KEYWORDS) > 0 || doc.organ === 'FiU';
434
+ case 'societal-impact':
435
+ return countMatches(text, SOCIETAL_IMPACT_KEYWORDS) > 0;
436
+ }
437
+ }
438
+ function analyseSingleCategory(doc, cia, category, text) {
439
+ if (!hasCategorySignals(category, text, doc)) {
440
+ return null;
441
+ }
442
+ let severity;
443
+ switch (category) {
444
+ case 'polarization':
445
+ severity = assessPolarizationSeverity(text, cia);
446
+ break;
447
+ case 'regulatory-overreach':
448
+ severity = assessRegulatoryOverreachSeverity(text);
449
+ break;
450
+ case 'institutional-erosion':
451
+ severity = assessInstitutionalErosionSeverity(doc, text);
452
+ break;
453
+ case 'democratic-deficit':
454
+ severity = assessDemocraticDeficitSeverity(doc, text);
455
+ break;
456
+ case 'economic-disruption':
457
+ severity = assessEconomicDisruptionSeverity(doc, text, cia);
458
+ break;
459
+ case 'societal-impact':
460
+ severity = assessSocietalImpactSeverity(doc, text);
461
+ break;
462
+ }
463
+ const threatAgents = detectThreatAgents(doc, text);
464
+ return {
465
+ threatCategory: category,
466
+ threatAgents,
467
+ severity,
468
+ indicators: extractIndicators(doc, category, text),
469
+ countermeasures: getCountermeasures(category),
470
+ rationale: buildThreatRationale(doc, category, severity, text),
471
+ };
472
+ }
473
+ // ---------------------------------------------------------------------------
474
+ // All Political Threat Taxonomy categories
475
+ // ---------------------------------------------------------------------------
476
+ const ALL_THREAT_CATEGORIES = [
477
+ 'polarization',
478
+ 'regulatory-overreach',
479
+ 'institutional-erosion',
480
+ 'democratic-deficit',
481
+ 'economic-disruption',
482
+ 'societal-impact',
483
+ ];
484
+ const SEVERITY_ORDER = {
485
+ critical: 4, high: 3, medium: 2, low: 1,
486
+ };
487
+ // ---------------------------------------------------------------------------
488
+ // Public API
489
+ // ---------------------------------------------------------------------------
490
+ /**
491
+ * Analyse a parliamentary document using the Political Threat Taxonomy.
492
+ *
493
+ * Applies the Political Threat Taxonomy
494
+ * to identify and characterise threats to democratic governance from the document.
495
+ *
496
+ * The function is **pure** — deterministic for the same input, no side effects.
497
+ *
498
+ * @param doc - The parliamentary document to analyse
499
+ * @param cia - Optional CIA context (coalition data improves threat calibration)
500
+ * @returns Complete political threat profile
501
+ *
502
+ * @example
503
+ * ```typescript
504
+ * const profile = analysePoliticalThreats(doc, ciaContext);
505
+ * console.log(profile.overallThreatLevel); // 'critical' | 'high' | 'medium' | 'low' | 'none'
506
+ * console.log(profile.primaryThreat); // dominant threat category
507
+ * ```
508
+ */
509
+ export function analysePoliticalThreats(doc, cia) {
510
+ const text = getDocText(doc);
511
+ const threatAnalyses = ALL_THREAT_CATEGORIES.map(category => analyseSingleCategory(doc, cia, category, text)).filter((a) => a !== null);
512
+ if (threatAnalyses.length === 0) {
513
+ return {
514
+ threatAnalyses: [],
515
+ primaryThreat: null,
516
+ overallThreatLevel: 'none',
517
+ activeThreatAgents: [],
518
+ };
519
+ }
520
+ // Sort by severity descending
521
+ const sorted = [...threatAnalyses].sort((a, b) => (SEVERITY_ORDER[b.severity] ?? 0) - (SEVERITY_ORDER[a.severity] ?? 0));
522
+ const primaryThreat = sorted[0]?.threatCategory ?? null;
523
+ const overallThreatLevel = sorted[0]?.severity ?? 'none';
524
+ // Deduplicate threat agents across all analyses
525
+ const agentSet = new Set();
526
+ for (const analysis of threatAnalyses) {
527
+ for (const agent of analysis.threatAgents) {
528
+ agentSet.add(agent);
529
+ }
530
+ }
531
+ return {
532
+ threatAnalyses,
533
+ primaryThreat,
534
+ overallThreatLevel,
535
+ activeThreatAgents: [...agentSet],
536
+ };
537
+ }
538
+ /**
539
+ * Analyse threats for a specific threat category only.
540
+ *
541
+ * Use when you need a targeted threat analysis for a single category
542
+ * rather than the full political threat profile.
543
+ *
544
+ * @param doc - The parliamentary document to analyse
545
+ * @param category - The specific threat category to analyse
546
+ * @param cia - Optional CIA context
547
+ * @returns Threat analysis for the specified category, or null if not detectable
548
+ */
549
+ export function analyseSingleThreatCategory(doc, category, cia) {
550
+ const text = getDocText(doc);
551
+ return analyseSingleCategory(doc, cia, category, text);
552
+ }
553
+ //# sourceMappingURL=political-threat-analysis.js.map