riksdagsmonitor 0.8.23 → 0.8.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/README.md +53 -1
  2. package/dist/lib/dashboards/party-dashboard.js +2 -1
  3. package/dist/lib/dashboards/party-dashboard.js.map +1 -1
  4. package/dist/lib/dashboards/risk-dashboard.js +2 -1
  5. package/dist/lib/dashboards/risk-dashboard.js.map +1 -1
  6. package/dist/lib/shared/index.d.ts +0 -1
  7. package/dist/lib/shared/index.d.ts.map +1 -1
  8. package/dist/lib/shared/index.js +3 -1
  9. package/dist/lib/shared/index.js.map +1 -1
  10. package/dist/lib/shared/register-globals.d.ts +1 -1
  11. package/dist/lib/shared/register-globals.d.ts.map +1 -1
  12. package/dist/lib/shared/register-globals.js +7 -1
  13. package/dist/lib/shared/register-globals.js.map +1 -1
  14. package/package.json +53 -21
  15. package/dist/scripts/analysis-reader.d.ts +0 -241
  16. package/dist/scripts/analysis-reader.d.ts.map +0 -1
  17. package/dist/scripts/analysis-reader.js +0 -531
  18. package/dist/scripts/analysis-reader.js.map +0 -1
  19. package/dist/scripts/article-quality-enhancer.d.ts +0 -148
  20. package/dist/scripts/article-quality-enhancer.d.ts.map +0 -1
  21. package/dist/scripts/article-quality-enhancer.js +0 -430
  22. package/dist/scripts/article-quality-enhancer.js.map +0 -1
  23. package/dist/scripts/article-template/constants.d.ts +0 -104
  24. package/dist/scripts/article-template/constants.d.ts.map +0 -1
  25. package/dist/scripts/article-template/constants.js +0 -225
  26. package/dist/scripts/article-template/constants.js.map +0 -1
  27. package/dist/scripts/article-template/helpers.d.ts +0 -83
  28. package/dist/scripts/article-template/helpers.d.ts.map +0 -1
  29. package/dist/scripts/article-template/helpers.js +0 -236
  30. package/dist/scripts/article-template/helpers.js.map +0 -1
  31. package/dist/scripts/article-template/index.d.ts +0 -39
  32. package/dist/scripts/article-template/index.d.ts.map +0 -1
  33. package/dist/scripts/article-template/index.js +0 -37
  34. package/dist/scripts/article-template/index.js.map +0 -1
  35. package/dist/scripts/article-template/registry.d.ts +0 -64
  36. package/dist/scripts/article-template/registry.d.ts.map +0 -1
  37. package/dist/scripts/article-template/registry.js +0 -405
  38. package/dist/scripts/article-template/registry.js.map +0 -1
  39. package/dist/scripts/article-template/template.d.ts +0 -18
  40. package/dist/scripts/article-template/template.d.ts.map +0 -1
  41. package/dist/scripts/article-template/template.js +0 -359
  42. package/dist/scripts/article-template/template.js.map +0 -1
  43. package/dist/scripts/article-template/types.d.ts +0 -90
  44. package/dist/scripts/article-template/types.d.ts.map +0 -1
  45. package/dist/scripts/article-template/types.js +0 -96
  46. package/dist/scripts/article-template/types.js.map +0 -1
  47. package/dist/scripts/article-template.d.ts +0 -18
  48. package/dist/scripts/article-template.d.ts.map +0 -1
  49. package/dist/scripts/article-template.js +0 -18
  50. package/dist/scripts/article-template.js.map +0 -1
  51. package/dist/scripts/catalog-downloaded-data.d.ts +0 -66
  52. package/dist/scripts/catalog-downloaded-data.d.ts.map +0 -1
  53. package/dist/scripts/catalog-downloaded-data.js +0 -239
  54. package/dist/scripts/catalog-downloaded-data.js.map +0 -1
  55. package/dist/scripts/check-cia-schema-updates.d.ts +0 -186
  56. package/dist/scripts/check-cia-schema-updates.d.ts.map +0 -1
  57. package/dist/scripts/check-cia-schema-updates.js +0 -363
  58. package/dist/scripts/check-cia-schema-updates.js.map +0 -1
  59. package/dist/scripts/data-transformers/calendar.d.ts +0 -16
  60. package/dist/scripts/data-transformers/calendar.d.ts.map +0 -1
  61. package/dist/scripts/data-transformers/calendar.js +0 -137
  62. package/dist/scripts/data-transformers/calendar.js.map +0 -1
  63. package/dist/scripts/data-transformers/constants/committee-names.d.ts +0 -15
  64. package/dist/scripts/data-transformers/constants/committee-names.d.ts.map +0 -1
  65. package/dist/scripts/data-transformers/constants/committee-names.js +0 -30
  66. package/dist/scripts/data-transformers/constants/committee-names.js.map +0 -1
  67. package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts +0 -11
  68. package/dist/scripts/data-transformers/constants/content-labels-part1.d.ts.map +0 -1
  69. package/dist/scripts/data-transformers/constants/content-labels-part1.js +0 -900
  70. package/dist/scripts/data-transformers/constants/content-labels-part1.js.map +0 -1
  71. package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts +0 -11
  72. package/dist/scripts/data-transformers/constants/content-labels-part2.d.ts.map +0 -1
  73. package/dist/scripts/data-transformers/constants/content-labels-part2.js +0 -900
  74. package/dist/scripts/data-transformers/constants/content-labels-part2.js.map +0 -1
  75. package/dist/scripts/data-transformers/constants/content-labels.d.ts +0 -13
  76. package/dist/scripts/data-transformers/constants/content-labels.d.ts.map +0 -1
  77. package/dist/scripts/data-transformers/constants/content-labels.js +0 -18
  78. package/dist/scripts/data-transformers/constants/content-labels.js.map +0 -1
  79. package/dist/scripts/data-transformers/constants/index.d.ts +0 -15
  80. package/dist/scripts/data-transformers/constants/index.d.ts.map +0 -1
  81. package/dist/scripts/data-transformers/constants/index.js +0 -15
  82. package/dist/scripts/data-transformers/constants/index.js.map +0 -1
  83. package/dist/scripts/data-transformers/constants/locale-map.d.ts +0 -13
  84. package/dist/scripts/data-transformers/constants/locale-map.d.ts.map +0 -1
  85. package/dist/scripts/data-transformers/constants/locale-map.js +0 -17
  86. package/dist/scripts/data-transformers/constants/locale-map.js.map +0 -1
  87. package/dist/scripts/data-transformers/constants.d.ts +0 -14
  88. package/dist/scripts/data-transformers/constants.d.ts.map +0 -1
  89. package/dist/scripts/data-transformers/constants.js +0 -14
  90. package/dist/scripts/data-transformers/constants.js.map +0 -1
  91. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts +0 -64
  92. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.d.ts.map +0 -1
  93. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js +0 -805
  94. package/dist/scripts/data-transformers/content-generators/ai-mindmap-analyzer.js.map +0 -1
  95. package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts +0 -50
  96. package/dist/scripts/data-transformers/content-generators/cia-overview-section.d.ts.map +0 -1
  97. package/dist/scripts/data-transformers/content-generators/cia-overview-section.js +0 -310
  98. package/dist/scripts/data-transformers/content-generators/cia-overview-section.js.map +0 -1
  99. package/dist/scripts/data-transformers/content-generators/committee.d.ts +0 -12
  100. package/dist/scripts/data-transformers/content-generators/committee.d.ts.map +0 -1
  101. package/dist/scripts/data-transformers/content-generators/committee.js +0 -247
  102. package/dist/scripts/data-transformers/content-generators/committee.js.map +0 -1
  103. package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts +0 -124
  104. package/dist/scripts/data-transformers/content-generators/dashboard-section.d.ts.map +0 -1
  105. package/dist/scripts/data-transformers/content-generators/dashboard-section.js +0 -564
  106. package/dist/scripts/data-transformers/content-generators/dashboard-section.js.map +0 -1
  107. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts +0 -82
  108. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.d.ts.map +0 -1
  109. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js +0 -321
  110. package/dist/scripts/data-transformers/content-generators/economic-dashboard-section.js.map +0 -1
  111. package/dist/scripts/data-transformers/content-generators/generic.d.ts +0 -12
  112. package/dist/scripts/data-transformers/content-generators/generic.d.ts.map +0 -1
  113. package/dist/scripts/data-transformers/content-generators/generic.js +0 -295
  114. package/dist/scripts/data-transformers/content-generators/generic.js.map +0 -1
  115. package/dist/scripts/data-transformers/content-generators/index.d.ts +0 -84
  116. package/dist/scripts/data-transformers/content-generators/index.d.ts.map +0 -1
  117. package/dist/scripts/data-transformers/content-generators/index.js +0 -47
  118. package/dist/scripts/data-transformers/content-generators/index.js.map +0 -1
  119. package/dist/scripts/data-transformers/content-generators/interpellations.d.ts +0 -12
  120. package/dist/scripts/data-transformers/content-generators/interpellations.d.ts.map +0 -1
  121. package/dist/scripts/data-transformers/content-generators/interpellations.js +0 -124
  122. package/dist/scripts/data-transformers/content-generators/interpellations.js.map +0 -1
  123. package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts +0 -137
  124. package/dist/scripts/data-transformers/content-generators/mindmap-section.d.ts.map +0 -1
  125. package/dist/scripts/data-transformers/content-generators/mindmap-section.js +0 -286
  126. package/dist/scripts/data-transformers/content-generators/mindmap-section.js.map +0 -1
  127. package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts +0 -17
  128. package/dist/scripts/data-transformers/content-generators/month-ahead.d.ts.map +0 -1
  129. package/dist/scripts/data-transformers/content-generators/month-ahead.js +0 -212
  130. package/dist/scripts/data-transformers/content-generators/month-ahead.js.map +0 -1
  131. package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts +0 -17
  132. package/dist/scripts/data-transformers/content-generators/monthly-review.d.ts.map +0 -1
  133. package/dist/scripts/data-transformers/content-generators/monthly-review.js +0 -173
  134. package/dist/scripts/data-transformers/content-generators/monthly-review.js.map +0 -1
  135. package/dist/scripts/data-transformers/content-generators/motions.d.ts +0 -12
  136. package/dist/scripts/data-transformers/content-generators/motions.d.ts.map +0 -1
  137. package/dist/scripts/data-transformers/content-generators/motions.js +0 -158
  138. package/dist/scripts/data-transformers/content-generators/motions.js.map +0 -1
  139. package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts +0 -62
  140. package/dist/scripts/data-transformers/content-generators/newsworthiness.d.ts.map +0 -1
  141. package/dist/scripts/data-transformers/content-generators/newsworthiness.js +0 -254
  142. package/dist/scripts/data-transformers/content-generators/newsworthiness.js.map +0 -1
  143. package/dist/scripts/data-transformers/content-generators/propositions.d.ts +0 -12
  144. package/dist/scripts/data-transformers/content-generators/propositions.d.ts.map +0 -1
  145. package/dist/scripts/data-transformers/content-generators/propositions.js +0 -263
  146. package/dist/scripts/data-transformers/content-generators/propositions.js.map +0 -1
  147. package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts +0 -92
  148. package/dist/scripts/data-transformers/content-generators/sankey-section.d.ts.map +0 -1
  149. package/dist/scripts/data-transformers/content-generators/sankey-section.js +0 -257
  150. package/dist/scripts/data-transformers/content-generators/sankey-section.js.map +0 -1
  151. package/dist/scripts/data-transformers/content-generators/shared.d.ts +0 -139
  152. package/dist/scripts/data-transformers/content-generators/shared.d.ts.map +0 -1
  153. package/dist/scripts/data-transformers/content-generators/shared.js +0 -935
  154. package/dist/scripts/data-transformers/content-generators/shared.js.map +0 -1
  155. package/dist/scripts/data-transformers/content-generators/swot-section.d.ts +0 -50
  156. package/dist/scripts/data-transformers/content-generators/swot-section.d.ts.map +0 -1
  157. package/dist/scripts/data-transformers/content-generators/swot-section.js +0 -177
  158. package/dist/scripts/data-transformers/content-generators/swot-section.js.map +0 -1
  159. package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts +0 -12
  160. package/dist/scripts/data-transformers/content-generators/week-ahead.d.ts.map +0 -1
  161. package/dist/scripts/data-transformers/content-generators/week-ahead.js +0 -332
  162. package/dist/scripts/data-transformers/content-generators/week-ahead.js.map +0 -1
  163. package/dist/scripts/data-transformers/content-generators.d.ts +0 -15
  164. package/dist/scripts/data-transformers/content-generators.d.ts.map +0 -1
  165. package/dist/scripts/data-transformers/content-generators.js +0 -14
  166. package/dist/scripts/data-transformers/content-generators.js.map +0 -1
  167. package/dist/scripts/data-transformers/document-analysis.d.ts +0 -58
  168. package/dist/scripts/data-transformers/document-analysis.d.ts.map +0 -1
  169. package/dist/scripts/data-transformers/document-analysis.js +0 -396
  170. package/dist/scripts/data-transformers/document-analysis.js.map +0 -1
  171. package/dist/scripts/data-transformers/helpers.d.ts +0 -144
  172. package/dist/scripts/data-transformers/helpers.d.ts.map +0 -1
  173. package/dist/scripts/data-transformers/helpers.js +0 -408
  174. package/dist/scripts/data-transformers/helpers.js.map +0 -1
  175. package/dist/scripts/data-transformers/index.d.ts +0 -45
  176. package/dist/scripts/data-transformers/index.d.ts.map +0 -1
  177. package/dist/scripts/data-transformers/index.js +0 -66
  178. package/dist/scripts/data-transformers/index.js.map +0 -1
  179. package/dist/scripts/data-transformers/metadata.d.ts +0 -42
  180. package/dist/scripts/data-transformers/metadata.d.ts.map +0 -1
  181. package/dist/scripts/data-transformers/metadata.js +0 -385
  182. package/dist/scripts/data-transformers/metadata.js.map +0 -1
  183. package/dist/scripts/data-transformers/policy-analysis.d.ts +0 -105
  184. package/dist/scripts/data-transformers/policy-analysis.d.ts.map +0 -1
  185. package/dist/scripts/data-transformers/policy-analysis.js +0 -686
  186. package/dist/scripts/data-transformers/policy-analysis.js.map +0 -1
  187. package/dist/scripts/data-transformers/risk-analysis.d.ts +0 -104
  188. package/dist/scripts/data-transformers/risk-analysis.d.ts.map +0 -1
  189. package/dist/scripts/data-transformers/risk-analysis.js +0 -279
  190. package/dist/scripts/data-transformers/risk-analysis.js.map +0 -1
  191. package/dist/scripts/data-transformers/types.d.ts +0 -260
  192. package/dist/scripts/data-transformers/types.d.ts.map +0 -1
  193. package/dist/scripts/data-transformers/types.js +0 -11
  194. package/dist/scripts/data-transformers/types.js.map +0 -1
  195. package/dist/scripts/data-transformers.d.ts +0 -23
  196. package/dist/scripts/data-transformers.d.ts.map +0 -1
  197. package/dist/scripts/data-transformers.js +0 -35
  198. package/dist/scripts/data-transformers.js.map +0 -1
  199. package/dist/scripts/deep-inspection/index.d.ts +0 -55
  200. package/dist/scripts/deep-inspection/index.d.ts.map +0 -1
  201. package/dist/scripts/deep-inspection/index.js +0 -66
  202. package/dist/scripts/deep-inspection/index.js.map +0 -1
  203. package/dist/scripts/detect-swedish-leakage.d.ts +0 -69
  204. package/dist/scripts/detect-swedish-leakage.d.ts.map +0 -1
  205. package/dist/scripts/detect-swedish-leakage.js +0 -417
  206. package/dist/scripts/detect-swedish-leakage.js.map +0 -1
  207. package/dist/scripts/editorial-framework.d.ts +0 -121
  208. package/dist/scripts/editorial-framework.d.ts.map +0 -1
  209. package/dist/scripts/editorial-framework.js +0 -364
  210. package/dist/scripts/editorial-framework.js.map +0 -1
  211. package/dist/scripts/editorial-pillars.d.ts +0 -43
  212. package/dist/scripts/editorial-pillars.d.ts.map +0 -1
  213. package/dist/scripts/editorial-pillars.js +0 -215
  214. package/dist/scripts/editorial-pillars.js.map +0 -1
  215. package/dist/scripts/extract-news-metadata.d.ts +0 -12
  216. package/dist/scripts/extract-news-metadata.d.ts.map +0 -1
  217. package/dist/scripts/extract-news-metadata.js +0 -107
  218. package/dist/scripts/extract-news-metadata.js.map +0 -1
  219. package/dist/scripts/extract-vocabulary.d.ts +0 -15
  220. package/dist/scripts/extract-vocabulary.d.ts.map +0 -1
  221. package/dist/scripts/extract-vocabulary.js +0 -255
  222. package/dist/scripts/extract-vocabulary.js.map +0 -1
  223. package/dist/scripts/fix-article-navigation.d.ts +0 -37
  224. package/dist/scripts/fix-article-navigation.d.ts.map +0 -1
  225. package/dist/scripts/fix-article-navigation.js +0 -198
  226. package/dist/scripts/fix-article-navigation.js.map +0 -1
  227. package/dist/scripts/fix-keywords-localization.d.ts +0 -18
  228. package/dist/scripts/fix-keywords-localization.d.ts.map +0 -1
  229. package/dist/scripts/fix-keywords-localization.js +0 -270
  230. package/dist/scripts/fix-keywords-localization.js.map +0 -1
  231. package/dist/scripts/fix-old-articles-branding.d.ts +0 -17
  232. package/dist/scripts/fix-old-articles-branding.d.ts.map +0 -1
  233. package/dist/scripts/fix-old-articles-branding.js +0 -229
  234. package/dist/scripts/fix-old-articles-branding.js.map +0 -1
  235. package/dist/scripts/generate-news-backport.d.ts +0 -16
  236. package/dist/scripts/generate-news-backport.d.ts.map +0 -1
  237. package/dist/scripts/generate-news-backport.js +0 -379
  238. package/dist/scripts/generate-news-backport.js.map +0 -1
  239. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts +0 -141
  240. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.d.ts.map +0 -1
  241. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js +0 -546
  242. package/dist/scripts/generate-news-enhanced/ai-analysis-pipeline.js.map +0 -1
  243. package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts +0 -59
  244. package/dist/scripts/generate-news-enhanced/analysis-cache.d.ts.map +0 -1
  245. package/dist/scripts/generate-news-enhanced/analysis-cache.js +0 -116
  246. package/dist/scripts/generate-news-enhanced/analysis-cache.js.map +0 -1
  247. package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts +0 -58
  248. package/dist/scripts/generate-news-enhanced/analysis-labels.d.ts.map +0 -1
  249. package/dist/scripts/generate-news-enhanced/analysis-labels.js +0 -144
  250. package/dist/scripts/generate-news-enhanced/analysis-labels.js.map +0 -1
  251. package/dist/scripts/generate-news-enhanced/config.d.ts +0 -58
  252. package/dist/scripts/generate-news-enhanced/config.d.ts.map +0 -1
  253. package/dist/scripts/generate-news-enhanced/config.js +0 -286
  254. package/dist/scripts/generate-news-enhanced/config.js.map +0 -1
  255. package/dist/scripts/generate-news-enhanced/generators.d.ts +0 -119
  256. package/dist/scripts/generate-news-enhanced/generators.d.ts.map +0 -1
  257. package/dist/scripts/generate-news-enhanced/generators.js +0 -2131
  258. package/dist/scripts/generate-news-enhanced/generators.js.map +0 -1
  259. package/dist/scripts/generate-news-enhanced/helpers.d.ts +0 -122
  260. package/dist/scripts/generate-news-enhanced/helpers.d.ts.map +0 -1
  261. package/dist/scripts/generate-news-enhanced/helpers.js +0 -468
  262. package/dist/scripts/generate-news-enhanced/helpers.js.map +0 -1
  263. package/dist/scripts/generate-news-enhanced/index.d.ts +0 -19
  264. package/dist/scripts/generate-news-enhanced/index.d.ts.map +0 -1
  265. package/dist/scripts/generate-news-enhanced/index.js +0 -221
  266. package/dist/scripts/generate-news-enhanced/index.js.map +0 -1
  267. package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts +0 -46
  268. package/dist/scripts/generate-news-enhanced/swot-analyzer.d.ts.map +0 -1
  269. package/dist/scripts/generate-news-enhanced/swot-analyzer.js +0 -1227
  270. package/dist/scripts/generate-news-enhanced/swot-analyzer.js.map +0 -1
  271. package/dist/scripts/generate-news-enhanced/types.d.ts +0 -34
  272. package/dist/scripts/generate-news-enhanced/types.d.ts.map +0 -1
  273. package/dist/scripts/generate-news-enhanced/types.js +0 -9
  274. package/dist/scripts/generate-news-enhanced/types.js.map +0 -1
  275. package/dist/scripts/generate-news-enhanced.d.ts +0 -25
  276. package/dist/scripts/generate-news-enhanced.d.ts.map +0 -1
  277. package/dist/scripts/generate-news-enhanced.js +0 -37
  278. package/dist/scripts/generate-news-enhanced.js.map +0 -1
  279. package/dist/scripts/generate-news-indexes/constants.d.ts +0 -20
  280. package/dist/scripts/generate-news-indexes/constants.d.ts.map +0 -1
  281. package/dist/scripts/generate-news-indexes/constants.js +0 -308
  282. package/dist/scripts/generate-news-indexes/constants.js.map +0 -1
  283. package/dist/scripts/generate-news-indexes/helpers.d.ts +0 -73
  284. package/dist/scripts/generate-news-indexes/helpers.d.ts.map +0 -1
  285. package/dist/scripts/generate-news-indexes/helpers.js +0 -352
  286. package/dist/scripts/generate-news-indexes/helpers.js.map +0 -1
  287. package/dist/scripts/generate-news-indexes/index.d.ts +0 -20
  288. package/dist/scripts/generate-news-indexes/index.d.ts.map +0 -1
  289. package/dist/scripts/generate-news-indexes/index.js +0 -75
  290. package/dist/scripts/generate-news-indexes/index.js.map +0 -1
  291. package/dist/scripts/generate-news-indexes/template.d.ts +0 -25
  292. package/dist/scripts/generate-news-indexes/template.d.ts.map +0 -1
  293. package/dist/scripts/generate-news-indexes/template.js +0 -644
  294. package/dist/scripts/generate-news-indexes/template.js.map +0 -1
  295. package/dist/scripts/generate-news-indexes/types.d.ts +0 -96
  296. package/dist/scripts/generate-news-indexes/types.d.ts.map +0 -1
  297. package/dist/scripts/generate-news-indexes/types.js +0 -9
  298. package/dist/scripts/generate-news-indexes/types.js.map +0 -1
  299. package/dist/scripts/generate-news-indexes.d.ts +0 -20
  300. package/dist/scripts/generate-news-indexes.d.ts.map +0 -1
  301. package/dist/scripts/generate-news-indexes.js +0 -19
  302. package/dist/scripts/generate-news-indexes.js.map +0 -1
  303. package/dist/scripts/generate-rss.d.ts +0 -48
  304. package/dist/scripts/generate-rss.d.ts.map +0 -1
  305. package/dist/scripts/generate-rss.js +0 -299
  306. package/dist/scripts/generate-rss.js.map +0 -1
  307. package/dist/scripts/generate-sitemap-html.d.ts +0 -79
  308. package/dist/scripts/generate-sitemap-html.d.ts.map +0 -1
  309. package/dist/scripts/generate-sitemap-html.js +0 -878
  310. package/dist/scripts/generate-sitemap-html.js.map +0 -1
  311. package/dist/scripts/generate-sitemap.d.ts +0 -23
  312. package/dist/scripts/generate-sitemap.d.ts.map +0 -1
  313. package/dist/scripts/generate-sitemap.js +0 -476
  314. package/dist/scripts/generate-sitemap.js.map +0 -1
  315. package/dist/scripts/generate-types-from-cia-schemas.d.ts +0 -176
  316. package/dist/scripts/generate-types-from-cia-schemas.d.ts.map +0 -1
  317. package/dist/scripts/generate-types-from-cia-schemas.js +0 -318
  318. package/dist/scripts/generate-types-from-cia-schemas.js.map +0 -1
  319. package/dist/scripts/government-role-validator.d.ts +0 -65
  320. package/dist/scripts/government-role-validator.d.ts.map +0 -1
  321. package/dist/scripts/government-role-validator.js +0 -217
  322. package/dist/scripts/government-role-validator.js.map +0 -1
  323. package/dist/scripts/html-utils.d.ts +0 -17
  324. package/dist/scripts/html-utils.d.ts.map +0 -1
  325. package/dist/scripts/html-utils.js +0 -29
  326. package/dist/scripts/html-utils.js.map +0 -1
  327. package/dist/scripts/load-cia-stats.d.ts +0 -89
  328. package/dist/scripts/load-cia-stats.d.ts.map +0 -1
  329. package/dist/scripts/load-cia-stats.js +0 -400
  330. package/dist/scripts/load-cia-stats.js.map +0 -1
  331. package/dist/scripts/mcp-client/client.d.ts +0 -73
  332. package/dist/scripts/mcp-client/client.d.ts.map +0 -1
  333. package/dist/scripts/mcp-client/client.js +0 -526
  334. package/dist/scripts/mcp-client/client.js.map +0 -1
  335. package/dist/scripts/mcp-client/document-types.d.ts +0 -23
  336. package/dist/scripts/mcp-client/document-types.d.ts.map +0 -1
  337. package/dist/scripts/mcp-client/document-types.js +0 -62
  338. package/dist/scripts/mcp-client/document-types.js.map +0 -1
  339. package/dist/scripts/mcp-client/index.d.ts +0 -34
  340. package/dist/scripts/mcp-client/index.d.ts.map +0 -1
  341. package/dist/scripts/mcp-client/index.js +0 -67
  342. package/dist/scripts/mcp-client/index.js.map +0 -1
  343. package/dist/scripts/mcp-client/transport.d.ts +0 -32
  344. package/dist/scripts/mcp-client/transport.d.ts.map +0 -1
  345. package/dist/scripts/mcp-client/transport.js +0 -102
  346. package/dist/scripts/mcp-client/transport.js.map +0 -1
  347. package/dist/scripts/mcp-client.d.ts +0 -18
  348. package/dist/scripts/mcp-client.d.ts.map +0 -1
  349. package/dist/scripts/mcp-client.js +0 -18
  350. package/dist/scripts/mcp-client.js.map +0 -1
  351. package/dist/scripts/mcp-query-cli.d.ts +0 -25
  352. package/dist/scripts/mcp-query-cli.d.ts.map +0 -1
  353. package/dist/scripts/mcp-query-cli.js +0 -66
  354. package/dist/scripts/mcp-query-cli.js.map +0 -1
  355. package/dist/scripts/news-types/breaking-news.d.ts +0 -178
  356. package/dist/scripts/news-types/breaking-news.d.ts.map +0 -1
  357. package/dist/scripts/news-types/breaking-news.js +0 -432
  358. package/dist/scripts/news-types/breaking-news.js.map +0 -1
  359. package/dist/scripts/news-types/committee-reports.d.ts +0 -212
  360. package/dist/scripts/news-types/committee-reports.d.ts.map +0 -1
  361. package/dist/scripts/news-types/committee-reports.js +0 -404
  362. package/dist/scripts/news-types/committee-reports.js.map +0 -1
  363. package/dist/scripts/news-types/month-ahead.d.ts +0 -71
  364. package/dist/scripts/news-types/month-ahead.d.ts.map +0 -1
  365. package/dist/scripts/news-types/month-ahead.js +0 -392
  366. package/dist/scripts/news-types/month-ahead.js.map +0 -1
  367. package/dist/scripts/news-types/monthly-review.d.ts +0 -61
  368. package/dist/scripts/news-types/monthly-review.d.ts.map +0 -1
  369. package/dist/scripts/news-types/monthly-review.js +0 -417
  370. package/dist/scripts/news-types/monthly-review.js.map +0 -1
  371. package/dist/scripts/news-types/motions.d.ts +0 -214
  372. package/dist/scripts/news-types/motions.d.ts.map +0 -1
  373. package/dist/scripts/news-types/motions.js +0 -447
  374. package/dist/scripts/news-types/motions.js.map +0 -1
  375. package/dist/scripts/news-types/propositions.d.ts +0 -204
  376. package/dist/scripts/news-types/propositions.d.ts.map +0 -1
  377. package/dist/scripts/news-types/propositions.js +0 -401
  378. package/dist/scripts/news-types/propositions.js.map +0 -1
  379. package/dist/scripts/news-types/week-ahead.d.ts +0 -231
  380. package/dist/scripts/news-types/week-ahead.d.ts.map +0 -1
  381. package/dist/scripts/news-types/week-ahead.js +0 -441
  382. package/dist/scripts/news-types/week-ahead.js.map +0 -1
  383. package/dist/scripts/news-types/weekly-review/analysis.d.ts +0 -47
  384. package/dist/scripts/news-types/weekly-review/analysis.d.ts.map +0 -1
  385. package/dist/scripts/news-types/weekly-review/analysis.js +0 -276
  386. package/dist/scripts/news-types/weekly-review/analysis.js.map +0 -1
  387. package/dist/scripts/news-types/weekly-review/data-loader.d.ts +0 -51
  388. package/dist/scripts/news-types/weekly-review/data-loader.d.ts.map +0 -1
  389. package/dist/scripts/news-types/weekly-review/data-loader.js +0 -298
  390. package/dist/scripts/news-types/weekly-review/data-loader.js.map +0 -1
  391. package/dist/scripts/news-types/weekly-review/generator.d.ts +0 -18
  392. package/dist/scripts/news-types/weekly-review/generator.d.ts.map +0 -1
  393. package/dist/scripts/news-types/weekly-review/generator.js +0 -284
  394. package/dist/scripts/news-types/weekly-review/generator.js.map +0 -1
  395. package/dist/scripts/news-types/weekly-review/index.d.ts +0 -20
  396. package/dist/scripts/news-types/weekly-review/index.d.ts.map +0 -1
  397. package/dist/scripts/news-types/weekly-review/index.js +0 -23
  398. package/dist/scripts/news-types/weekly-review/index.js.map +0 -1
  399. package/dist/scripts/news-types/weekly-review/types.d.ts +0 -72
  400. package/dist/scripts/news-types/weekly-review/types.d.ts.map +0 -1
  401. package/dist/scripts/news-types/weekly-review/types.js +0 -20
  402. package/dist/scripts/news-types/weekly-review/types.js.map +0 -1
  403. package/dist/scripts/news-types/weekly-review/validation.d.ts +0 -10
  404. package/dist/scripts/news-types/weekly-review/validation.d.ts.map +0 -1
  405. package/dist/scripts/news-types/weekly-review/validation.js +0 -95
  406. package/dist/scripts/news-types/weekly-review/validation.js.map +0 -1
  407. package/dist/scripts/news-types/weekly-review.d.ts +0 -15
  408. package/dist/scripts/news-types/weekly-review.d.ts.map +0 -1
  409. package/dist/scripts/news-types/weekly-review.js +0 -14
  410. package/dist/scripts/news-types/weekly-review.js.map +0 -1
  411. package/dist/scripts/party-variants.d.ts +0 -23
  412. package/dist/scripts/party-variants.d.ts.map +0 -1
  413. package/dist/scripts/party-variants.js +0 -50
  414. package/dist/scripts/party-variants.js.map +0 -1
  415. package/dist/scripts/pipeline/index.d.ts +0 -19
  416. package/dist/scripts/pipeline/index.d.ts.map +0 -1
  417. package/dist/scripts/pipeline/index.js +0 -17
  418. package/dist/scripts/pipeline/index.js.map +0 -1
  419. package/dist/scripts/pipeline/orchestrator.d.ts +0 -56
  420. package/dist/scripts/pipeline/orchestrator.d.ts.map +0 -1
  421. package/dist/scripts/pipeline/orchestrator.js +0 -147
  422. package/dist/scripts/pipeline/orchestrator.js.map +0 -1
  423. package/dist/scripts/pipeline/types.d.ts +0 -117
  424. package/dist/scripts/pipeline/types.d.ts.map +0 -1
  425. package/dist/scripts/pipeline/types.js +0 -13
  426. package/dist/scripts/pipeline/types.js.map +0 -1
  427. package/dist/scripts/pipeline/validation.d.ts +0 -66
  428. package/dist/scripts/pipeline/validation.d.ts.map +0 -1
  429. package/dist/scripts/pipeline/validation.js +0 -129
  430. package/dist/scripts/pipeline/validation.js.map +0 -1
  431. package/dist/scripts/populate-analysis-data.d.ts +0 -41
  432. package/dist/scripts/populate-analysis-data.d.ts.map +0 -1
  433. package/dist/scripts/populate-analysis-data.js +0 -255
  434. package/dist/scripts/populate-analysis-data.js.map +0 -1
  435. package/dist/scripts/pre-article-analysis/data-downloader.d.ts +0 -80
  436. package/dist/scripts/pre-article-analysis/data-downloader.d.ts.map +0 -1
  437. package/dist/scripts/pre-article-analysis/data-downloader.js +0 -230
  438. package/dist/scripts/pre-article-analysis/data-downloader.js.map +0 -1
  439. package/dist/scripts/pre-article-analysis/data-persistence.d.ts +0 -141
  440. package/dist/scripts/pre-article-analysis/data-persistence.d.ts.map +0 -1
  441. package/dist/scripts/pre-article-analysis/data-persistence.js +0 -345
  442. package/dist/scripts/pre-article-analysis/data-persistence.js.map +0 -1
  443. package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts +0 -158
  444. package/dist/scripts/pre-article-analysis/markdown-serializer.d.ts.map +0 -1
  445. package/dist/scripts/pre-article-analysis/markdown-serializer.js +0 -648
  446. package/dist/scripts/pre-article-analysis/markdown-serializer.js.map +0 -1
  447. package/dist/scripts/pre-article-analysis/pdf-converter.d.ts +0 -58
  448. package/dist/scripts/pre-article-analysis/pdf-converter.d.ts.map +0 -1
  449. package/dist/scripts/pre-article-analysis/pdf-converter.js +0 -142
  450. package/dist/scripts/pre-article-analysis/pdf-converter.js.map +0 -1
  451. package/dist/scripts/pre-article-analysis.d.ts +0 -42
  452. package/dist/scripts/pre-article-analysis.d.ts.map +0 -1
  453. package/dist/scripts/pre-article-analysis.js +0 -642
  454. package/dist/scripts/pre-article-analysis.js.map +0 -1
  455. package/dist/scripts/scb-client.d.ts +0 -104
  456. package/dist/scripts/scb-client.d.ts.map +0 -1
  457. package/dist/scripts/scb-client.js +0 -286
  458. package/dist/scripts/scb-client.js.map +0 -1
  459. package/dist/scripts/scb-context.d.ts +0 -88
  460. package/dist/scripts/scb-context.d.ts.map +0 -1
  461. package/dist/scripts/scb-context.js +0 -307
  462. package/dist/scripts/scb-context.js.map +0 -1
  463. package/dist/scripts/shared/version.d.ts +0 -9
  464. package/dist/scripts/shared/version.d.ts.map +0 -1
  465. package/dist/scripts/shared/version.js +0 -28
  466. package/dist/scripts/shared/version.js.map +0 -1
  467. package/dist/scripts/statistical-claims-detector.d.ts +0 -119
  468. package/dist/scripts/statistical-claims-detector.d.ts.map +0 -1
  469. package/dist/scripts/statistical-claims-detector.js +0 -391
  470. package/dist/scripts/statistical-claims-detector.js.map +0 -1
  471. package/dist/scripts/sync-cia-schemas.d.ts +0 -52
  472. package/dist/scripts/sync-cia-schemas.d.ts.map +0 -1
  473. package/dist/scripts/sync-cia-schemas.js +0 -195
  474. package/dist/scripts/sync-cia-schemas.js.map +0 -1
  475. package/dist/scripts/translation-dictionary.d.ts +0 -45
  476. package/dist/scripts/translation-dictionary.d.ts.map +0 -1
  477. package/dist/scripts/translation-dictionary.js +0 -3642
  478. package/dist/scripts/translation-dictionary.js.map +0 -1
  479. package/dist/scripts/types/article.d.ts +0 -392
  480. package/dist/scripts/types/article.d.ts.map +0 -1
  481. package/dist/scripts/types/article.js +0 -6
  482. package/dist/scripts/types/article.js.map +0 -1
  483. package/dist/scripts/types/content.d.ts +0 -167
  484. package/dist/scripts/types/content.d.ts.map +0 -1
  485. package/dist/scripts/types/content.js +0 -6
  486. package/dist/scripts/types/content.js.map +0 -1
  487. package/dist/scripts/types/editorial.d.ts +0 -17
  488. package/dist/scripts/types/editorial.d.ts.map +0 -1
  489. package/dist/scripts/types/editorial.js +0 -6
  490. package/dist/scripts/types/editorial.js.map +0 -1
  491. package/dist/scripts/types/language.d.ts +0 -7
  492. package/dist/scripts/types/language.d.ts.map +0 -1
  493. package/dist/scripts/types/language.js +0 -6
  494. package/dist/scripts/types/language.js.map +0 -1
  495. package/dist/scripts/types/mcp.d.ts +0 -117
  496. package/dist/scripts/types/mcp.d.ts.map +0 -1
  497. package/dist/scripts/types/mcp.js +0 -6
  498. package/dist/scripts/types/mcp.js.map +0 -1
  499. package/dist/scripts/types/party.d.ts +0 -9
  500. package/dist/scripts/types/party.d.ts.map +0 -1
  501. package/dist/scripts/types/party.js +0 -6
  502. package/dist/scripts/types/party.js.map +0 -1
  503. package/dist/scripts/types/validation.d.ts +0 -136
  504. package/dist/scripts/types/validation.d.ts.map +0 -1
  505. package/dist/scripts/types/validation.js +0 -6
  506. package/dist/scripts/types/validation.js.map +0 -1
  507. package/dist/scripts/types/workflow.d.ts +0 -78
  508. package/dist/scripts/types/workflow.d.ts.map +0 -1
  509. package/dist/scripts/types/workflow.js +0 -6
  510. package/dist/scripts/types/workflow.js.map +0 -1
  511. package/dist/scripts/update-stats-from-cia.d.ts +0 -44
  512. package/dist/scripts/update-stats-from-cia.d.ts.map +0 -1
  513. package/dist/scripts/update-stats-from-cia.js +0 -310
  514. package/dist/scripts/update-stats-from-cia.js.map +0 -1
  515. package/dist/scripts/validate-against-cia-schemas.d.ts +0 -126
  516. package/dist/scripts/validate-against-cia-schemas.d.ts.map +0 -1
  517. package/dist/scripts/validate-against-cia-schemas.js +0 -299
  518. package/dist/scripts/validate-against-cia-schemas.js.map +0 -1
  519. package/dist/scripts/validate-cross-references.d.ts +0 -49
  520. package/dist/scripts/validate-cross-references.d.ts.map +0 -1
  521. package/dist/scripts/validate-cross-references.js +0 -183
  522. package/dist/scripts/validate-cross-references.js.map +0 -1
  523. package/dist/scripts/validate-file-ownership.d.ts +0 -68
  524. package/dist/scripts/validate-file-ownership.d.ts.map +0 -1
  525. package/dist/scripts/validate-file-ownership.js +0 -135
  526. package/dist/scripts/validate-file-ownership.js.map +0 -1
  527. package/dist/scripts/validate-news-translations.d.ts +0 -27
  528. package/dist/scripts/validate-news-translations.d.ts.map +0 -1
  529. package/dist/scripts/validate-news-translations.js +0 -258
  530. package/dist/scripts/validate-news-translations.js.map +0 -1
  531. package/dist/scripts/validate-translations.d.ts +0 -162
  532. package/dist/scripts/validate-translations.d.ts.map +0 -1
  533. package/dist/scripts/validate-translations.js +0 -378
  534. package/dist/scripts/validate-translations.js.map +0 -1
  535. package/dist/scripts/workflow-state-coordinator.d.ts +0 -354
  536. package/dist/scripts/workflow-state-coordinator.d.ts.map +0 -1
  537. package/dist/scripts/workflow-state-coordinator.js +0 -876
  538. package/dist/scripts/workflow-state-coordinator.js.map +0 -1
  539. package/dist/scripts/world-bank-client.d.ts +0 -122
  540. package/dist/scripts/world-bank-client.d.ts.map +0 -1
  541. package/dist/scripts/world-bank-client.js +0 -192
  542. package/dist/scripts/world-bank-client.js.map +0 -1
  543. package/dist/scripts/world-bank-context.d.ts +0 -88
  544. package/dist/scripts/world-bank-context.d.ts.map +0 -1
  545. package/dist/scripts/world-bank-context.js +0 -331
  546. package/dist/scripts/world-bank-context.js.map +0 -1
@@ -1,212 +0,0 @@
1
- /**
2
- * @module data-transformers/content-generators/month-ahead
3
- * @description Generator for "month-ahead" article content. Extends week-ahead calendar
4
- * coverage with committee pipeline tracking, propositions in pipeline, and motion trend analysis.
5
- *
6
- * @author Hack23 AB
7
- * @license Apache-2.0
8
- */
9
- import { escapeHtml } from '../../html-utils.js';
10
- import { svSpan, sanitizeUrl, getCommitteeName, normalizePartyKey, formatDocumentDate, } from '../helpers.js';
11
- import { detectPolicyDomains, generatePolicySignificance } from '../policy-analysis.js';
12
- import { generateWeekAheadContent } from './week-ahead.js';
13
- /**
14
- * Generate Month-Ahead article content with strategic legislative forecasting.
15
- * Extends week-ahead calendar coverage with committee pipeline tracking,
16
- * propositions in pipeline, and motion trend analysis.
17
- */
18
- export function generateMonthAheadContent(data, lang) {
19
- // Base calendar/event content (handles events + upcoming documents)
20
- let content = generateWeekAheadContent(data, lang);
21
- const propositions = data.propositions ?? [];
22
- const reports = data.reports ?? [];
23
- const motions = data.motions ?? [];
24
- // ── Strategic Legislative Outlook ────────────────────────────────────────
25
- if (propositions.length > 0) {
26
- const outlookLabel = lang === 'sv' ? 'Strategisk lagstiftningsutsikt'
27
- : lang === 'de' ? 'Strategischer Gesetzgebungsausblick'
28
- : lang === 'fr' ? 'Perspectives législatives stratégiques'
29
- : lang === 'es' ? 'Perspectiva legislativa estratégica'
30
- : lang === 'da' ? 'Strategisk lovgivningsmæssigt udsyn'
31
- : lang === 'no' ? 'Strategisk lovgivningsmessig utsikt'
32
- : lang === 'fi' ? 'Strateginen lainsäädäntönäkymä'
33
- : lang === 'nl' ? 'Strategisch wetgevingsoverzicht'
34
- : lang === 'ar' ? 'التوقعات التشريعية الاستراتيجية'
35
- : lang === 'he' ? 'תחזית חקיקתית אסטרטגית'
36
- : lang === 'ja' ? '戦略的立法見通し'
37
- : lang === 'ko' ? '전략적 입법 전망'
38
- : lang === 'zh' ? '战略立法展望'
39
- : 'Strategic Legislative Outlook';
40
- content += `\n <h2>${outlookLabel}</h2>\n`;
41
- // Lede: how many propositions are in the pipeline
42
- const propLedeTemplates = {
43
- sv: n => `${n} propositioner befinner sig i den lagstiftande processen denna månad.`,
44
- da: n => `${n} lovforslag befinder sig i den lovgivningsmæssige proces denne måned.`,
45
- no: n => `${n} proposisjoner er i den lovgivningsmessige prosessen denne måneden.`,
46
- fi: n => `${n} hallituksen esitystä on lainsäädäntöprosessissa tässä kuussa.`,
47
- de: n => `${n} Regierungsvorlagen befinden sich diesen Monat im Gesetzgebungsprozess.`,
48
- fr: n => `${n} propositions gouvernementales sont en cours de traitement législatif ce mois-ci.`,
49
- es: n => `${n} proposiciones gubernamentales se encuentran en el proceso legislativo este mes.`,
50
- nl: n => `${n} regeringsvoorstellen bevinden zich deze maand in het wetgevingsproces.`,
51
- ar: n => `${n} مقترحات حكومية في المسار التشريعي هذا الشهر.`,
52
- he: n => `${n} הצעות ממשלה נמצאות בתהליך החקיקתי החודש.`,
53
- ja: n => `今月は${n}件の政府提案が立法プロセスにあります。`,
54
- ko: n => `이달 ${n}건의 정부 법안이 입법 프로세스에 있습니다.`,
55
- zh: n => `本月${n}项政府提案处于立法审议过程中。`,
56
- };
57
- const propLedeTpl = propLedeTemplates[lang];
58
- const propLede = propLedeTpl
59
- ? propLedeTpl(propositions.length)
60
- : `${propositions.length} government propositions are in the legislative pipeline this month.`;
61
- content += ` <p class="article-lede">${escapeHtml(propLede)}</p>\n`;
62
- propositions.slice(0, 8).forEach(prop => {
63
- const rec = prop;
64
- const titleText = rec['titel'] || rec['title'] || rec['doktyp'] || 'Proposition';
65
- const escapedTitle = escapeHtml(titleText);
66
- const titleHtml = (rec['titel'] && !rec['title']) ? svSpan(escapedTitle, lang) : escapedTitle;
67
- const significance = generatePolicySignificance(prop, lang);
68
- const dokId = rec['dok_id'] ?? rec['id'] ?? '';
69
- const urlBase = 'https://riksdagen.se/sv/dokument-och-lagar/dokument/';
70
- const safeUrl = dokId ? sanitizeUrl(`${urlBase}${encodeURIComponent(dokId)}/`) : '';
71
- content += ` <div class="document-entry">\n`;
72
- content += ` <h4>${safeUrl ? `<a href="${safeUrl}" target="_blank" rel="noopener noreferrer">` : ''}${titleHtml}${safeUrl ? '</a>' : ''}</h4>\n`;
73
- const propDateHtml = formatDocumentDate(prop, lang);
74
- if (propDateHtml)
75
- content += ` <p>${propDateHtml}</p>\n`;
76
- if (significance) {
77
- content += ` <p class="policy-significance">${escapeHtml(significance)}</p>\n`;
78
- }
79
- content += ` </div>\n`;
80
- });
81
- }
82
- // ── Committee Pipeline ────────────────────────────────────────────────────
83
- if (reports.length > 0) {
84
- const pipelineLabel = lang === 'sv' ? 'Utskottspipeline'
85
- : lang === 'de' ? 'Ausschusspipeline'
86
- : lang === 'fr' ? 'Pipeline des commissions'
87
- : lang === 'es' ? 'Proceso en comité'
88
- : lang === 'da' ? 'Udvalgspipeline'
89
- : lang === 'no' ? 'Komitépipeline'
90
- : lang === 'fi' ? 'Valiokuntaputkisto'
91
- : lang === 'nl' ? 'Commissiepijplijn'
92
- : lang === 'ar' ? 'مسار اللجان'
93
- : lang === 'he' ? 'צינור הוועדות'
94
- : lang === 'ja' ? '委員会パイプライン'
95
- : lang === 'ko' ? '위원회 파이프라인'
96
- : lang === 'zh' ? '委员会审议流程'
97
- : 'Committee Pipeline';
98
- content += `\n <h2>${pipelineLabel}</h2>\n`;
99
- // Group reports by committee
100
- const byCommittee = {};
101
- reports.forEach(r => {
102
- const rec2 = r;
103
- const key = rec2.organ ?? rec2.committee ?? 'unknown';
104
- if (!byCommittee[key])
105
- byCommittee[key] = [];
106
- byCommittee[key].push(r);
107
- });
108
- Object.entries(byCommittee).slice(0, 5).forEach(([committeeCode, committeeReports]) => {
109
- const committeeName = getCommitteeName(committeeCode, lang);
110
- content += ` <h3>${escapeHtml(committeeName)}</h3>\n`;
111
- committeeReports.slice(0, 3).forEach(report => {
112
- const rec = report;
113
- const titleText = rec['titel'] || rec['title'] || 'Report';
114
- const escapedTitle = escapeHtml(titleText);
115
- const titleHtml = (rec['titel'] && !rec['title']) ? svSpan(escapedTitle, lang) : escapedTitle;
116
- const dokId = rec['dok_id'] ?? '';
117
- const urlBase = 'https://riksdagen.se/sv/dokument-och-lagar/dokument/';
118
- const safeUrl = dokId ? sanitizeUrl(`${urlBase}${encodeURIComponent(dokId)}/`) : '';
119
- content += ` <div class="document-entry">\n`;
120
- content += ` <h4>${safeUrl ? `<a href="${safeUrl}" target="_blank" rel="noopener noreferrer">` : ''}${titleHtml}${safeUrl ? '</a>' : ''}</h4>\n`;
121
- const reportDateHtml = formatDocumentDate(report, lang);
122
- if (reportDateHtml)
123
- content += ` <p>${reportDateHtml}</p>\n`;
124
- content += ` </div>\n`;
125
- });
126
- });
127
- }
128
- // ── Policy Trends ─────────────────────────────────────────────────────────
129
- if (motions.length > 0) {
130
- const trendsLabel = lang === 'sv' ? 'Politiska trender'
131
- : lang === 'de' ? 'Politische Trends'
132
- : lang === 'fr' ? 'Tendances politiques'
133
- : lang === 'es' ? 'Tendencias políticas'
134
- : lang === 'da' ? 'Politiske tendenser'
135
- : lang === 'no' ? 'Politiske trender'
136
- : lang === 'fi' ? 'Poliittiset trendit'
137
- : lang === 'nl' ? 'Politieke trends'
138
- : lang === 'ar' ? 'الاتجاهات السياسية'
139
- : lang === 'he' ? 'מגמות מדיניות'
140
- : lang === 'ja' ? '政策トレンド'
141
- : lang === 'ko' ? '정책 트렌드'
142
- : lang === 'zh' ? '政策趋势'
143
- : 'Policy Trends';
144
- content += `\n <h2>${trendsLabel}</h2>\n`;
145
- // Identify active policy domains from motions
146
- const allTrendDomains = new Set();
147
- motions.forEach(m => detectPolicyDomains(m, lang).forEach(d => allTrendDomains.add(d)));
148
- // Party activity breakdown
149
- const byPartyTrend = {};
150
- motions.forEach(m => {
151
- const party = normalizePartyKey(m.parti);
152
- byPartyTrend[party] = (byPartyTrend[party] || 0) + 1;
153
- });
154
- if (allTrendDomains.size > 0) {
155
- const domainList = Array.from(allTrendDomains).slice(0, 5).join(', '); // top 5 domains for readability
156
- const domainIntroTemplates = {
157
- sv: (d, n) => `${n} motioner identifierar aktiva policydomäner: ${d}.`,
158
- da: (d, n) => `${n} motioner identificerer aktive politikdomæner: ${d}.`,
159
- no: (d, n) => `${n} forslag identifiserer aktive politikkdomener: ${d}.`,
160
- fi: (d, n) => `${n} aloitetta tunnistaa aktiiviset politiikka-alueet: ${d}.`,
161
- de: (d, n) => `${n} Anträge identifizieren aktive Politikbereiche: ${d}.`,
162
- fr: (d, n) => `${n} motions identifient des domaines politiques actifs: ${d}.`,
163
- es: (d, n) => `${n} mociones identifican áreas de política activas: ${d}.`,
164
- nl: (d, n) => `${n} moties identificeren actieve beleidsgebieden: ${d}.`,
165
- ar: (d, n) => `${n} اقتراحات تُحدد مجالات السياسة النشطة: ${d}.`,
166
- he: (d, n) => `${n} הצעות מזהות תחומי מדיניות פעילים: ${d}.`,
167
- ja: (d, n) => `${n}件の動議が活発な政策領域を特定しています: ${d}。`,
168
- ko: (d, n) => `${n}건의 동의가 활발한 정책 분야를 식별합니다: ${d}.`,
169
- zh: (d, n) => `${n}项动议确定了活跃的政策领域:${d}。`,
170
- };
171
- const domTpl = domainIntroTemplates[lang];
172
- const domainIntroRaw = domTpl
173
- ? domTpl(domainList, motions.length)
174
- : `${motions.length} motions identify active policy domains: ${domainList}.`;
175
- const domainIntro = escapeHtml(domainIntroRaw);
176
- content += ` <p>${domainIntro}</p>\n`;
177
- }
178
- // Top parties by motion volume
179
- const topParties = Object.entries(byPartyTrend)
180
- .filter(([k]) => k !== 'unknown' && k !== 'other')
181
- .sort((a, b) => b[1] - a[1])
182
- .slice(0, 4); // 4 parties: covers the typical Swedish governing+major-opposition parties
183
- if (topParties.length > 0) {
184
- content += ` <ul>\n`;
185
- topParties.forEach(([party, count]) => {
186
- const partyMotionTemplates = {
187
- sv: (p, n) => `${p}: ${n} motioner inlämnade`,
188
- da: (p, n) => `${p}: ${n} motioner indgivet`,
189
- no: (p, n) => `${p}: ${n} forslag innsendt`,
190
- fi: (p, n) => `${p}: ${n} aloitetta jätetty`,
191
- de: (p, n) => `${p}: ${n} Anträge eingereicht`,
192
- fr: (p, n) => `${p}: ${n} motions déposées`,
193
- es: (p, n) => `${p}: ${n} mociones presentadas`,
194
- nl: (p, n) => `${p}: ${n} moties ingediend`,
195
- ar: (p, n) => `${p}: ${n} اقتراحات مقدمة`,
196
- he: (p, n) => `${p}: ${n} הצעות הוגשו`,
197
- ja: (p, n) => `${p}: ${n}件の動議を提出`,
198
- ko: (p, n) => `${p}: ${n}건의 동의 제출`,
199
- zh: (p, n) => `${p}: ${n}项动议提交`,
200
- };
201
- const partyTpl = partyMotionTemplates[lang];
202
- const partyEntry = partyTpl
203
- ? partyTpl(escapeHtml(party), count)
204
- : `${escapeHtml(party)}: ${count} motions submitted`;
205
- content += ` <li>${partyEntry}</li>\n`;
206
- });
207
- content += ` </ul>\n`;
208
- }
209
- }
210
- return content;
211
- }
212
- //# sourceMappingURL=month-ahead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"month-ahead.js","sourceRoot":"","sources":["../../../../scripts/data-transformers/content-generators/month-ahead.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * @module data-transformers/content-generators/monthly-review
3
- * @description Generator for "monthly-review" article content. Renders monthly statistical
4
- * summaries, party rankings, legislative efficiency metrics, and strategic outlook.
5
- *
6
- * @author Hack23 AB
7
- * @license Apache-2.0
8
- */
9
- import type { Language } from '../../types/language.js';
10
- import type { ArticleContentData } from '../types.js';
11
- /**
12
- * Generate a rich monthly review article with "Month in Numbers", party rankings,
13
- * legislative efficiency metrics, and a strategic outlook section.
14
- * Falls back to generic content when monthlyMetrics is absent.
15
- */
16
- export declare function generateMonthlyReviewContent(data: ArticleContentData, lang: Language | string): string;
17
- //# sourceMappingURL=monthly-review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"monthly-review.d.ts","sourceRoot":"","sources":["../../../../scripts/data-transformers/content-generators/monthly-review.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAkB,MAAM,aAAa,CAAC;AAmLtE;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CActG"}
@@ -1,173 +0,0 @@
1
- /**
2
- * @module data-transformers/content-generators/monthly-review
3
- * @description Generator for "monthly-review" article content. Renders monthly statistical
4
- * summaries, party rankings, legislative efficiency metrics, and strategic outlook.
5
- *
6
- * @author Hack23 AB
7
- * @license Apache-2.0
8
- */
9
- import { escapeHtml } from '../../html-utils.js';
10
- import { generateGenericContent } from './generic.js';
11
- /**
12
- * Per-language label maps for the monthly-review-specific sections.
13
- * Covers all 14 supported languages.
14
- */
15
- const MONTHLY_LABELS = {
16
- monthInNumbers: { en: '📊 Month in Numbers', sv: '📊 Månaden i siffror', da: '📊 Måneden i tal', no: '📊 Måneden i tall', fi: '📊 Kuukausi numeroina', de: '📊 Der Monat in Zahlen', fr: '📊 Le mois en chiffres', es: '📊 El mes en cifras', nl: '📊 De maand in cijfers', ar: '📊 الشهر بالأرقام', he: '📊 החודש במספרים', ja: '📊 今月の統計', ko: '📊 이달의 통계', zh: '📊 本月数字' },
17
- partyRankings: { en: '🏆 Party Performance Rankings', sv: '🏆 Partiernas prestationsrankning', da: '🏆 Partiernes præstationsrangering', no: '🏆 Partienes prestasjonsranking', fi: '🏆 Puolueiden suoritusranking', de: '🏆 Partei-Leistungsranking', fr: '🏆 Classement des performances des partis', es: '🏆 Clasificación de rendimiento de partidos', nl: '🏆 Partijprestaties ranking', ar: '🏆 تصنيف أداء الأحزاب', he: '🏆 דירוג ביצועי מפלגות', ja: '🏆 政党パフォーマンスランキング', ko: '🏆 정당 성과 순위', zh: '🏆 政党绩效排名' },
18
- legislativeEfficiency: { en: '⚖️ Legislative Efficiency', sv: '⚖️ Lagstiftningseffektivitet', da: '⚖️ Lovgivningseffektivitet', no: '⚖️ Lovgivningseffektivitet', fi: '⚖️ Lainsäädäntötehokkuus', de: '⚖️ Gesetzgebungseffizienz', fr: '⚖️ Efficacité législative', es: '⚖️ Eficiencia legislativa', nl: '⚖️ Wetgevingsefficiëntie', ar: '⚖️ الكفاءة التشريعية', he: '⚖️ יעילות חקיקתית', ja: '⚖️ 立法効率', ko: '⚖️ 입법 효율성', zh: '⚖️ 立法效率' },
19
- strategicOutlook: { en: '🔭 Strategic Outlook', sv: '🔭 Strategisk utsikt', da: '🔭 Strategisk udsigt', no: '🔭 Strategisk utsikt', fi: '🔭 Strateginen näkymä', de: '🔭 Strategischer Ausblick', fr: '🔭 Perspectives stratégiques', es: '🔭 Perspectiva estratégica', nl: '🔭 Strategisch vooruitzicht', ar: '🔭 التوقعات الاستراتيجية', he: '🔭 סיכוי אסטרטגי', ja: '🔭 戦略的展望', ko: '🔭 전략적 전망', zh: '🔭 战略展望' },
20
- totalDocuments: { en: 'Total documents', sv: 'Totalt antal dokument', da: 'Dokumenter i alt', no: 'Totalt antall dokumenter', fi: 'Asiakirjoja yhteensä', de: 'Dokumente gesamt', fr: 'Total des documents', es: 'Total de documentos', nl: 'Totaal documenten', ar: 'إجمالي الوثائق', he: 'סך כל המסמכים', ja: '総文書数', ko: '총 문서 수', zh: '文件总数' },
21
- reports: { en: 'Committee reports', sv: 'Betänkanden', da: 'Betænkninger', no: 'Innstillinger', fi: 'Mietinnöt', de: 'Ausschussberichte', fr: 'Rapports de commission', es: 'Informes de comité', nl: 'Commissierapporten', ar: 'تقارير اللجان', he: 'דוחות ועדה', ja: '委員会報告', ko: '위원회 보고서', zh: '委员会报告' },
22
- propositions: { en: 'Government propositions', sv: 'Propositioner', da: 'Lovforslag', no: 'Proposisjoner', fi: 'Hallituksen esitykset', de: 'Regierungsvorlagen', fr: 'Propositions gouvernementales', es: 'Proposiciones gubernamentales', nl: 'Regeringsvoorstellen', ar: 'المقترحات الحكومية', he: 'הצעות ממשלה', ja: '政府提案', ko: '정부 법안', zh: '政府提案' },
23
- motions: { en: 'Opposition motions', sv: 'Motioner', da: 'Forslag', no: 'Forslag', fi: 'Aloitteet', de: 'Anträge', fr: "Motions de l'opposition", es: 'Mociones de la oposición', nl: 'Oppositiemoties', ar: 'مقترحات المعارضة', he: 'הצעות האופוזיציה', ja: '反対動議', ko: '야당 동의', zh: '反对党动议' },
24
- speeches: { en: 'Chamber speeches', sv: 'Anföranden', da: 'Taler', no: 'Taler', fi: 'Puheet', de: 'Parlamentsreden', fr: 'Discours parlementaires', es: 'Discursos parlamentarios', nl: 'Parlementaire toespraken', ar: 'الخطب البرلمانية', he: 'נאומי המליאה', ja: '議会演説', ko: '의회 연설', zh: '议会演讲' },
25
- efficiencyRate: { en: 'Committee reports per proposition', sv: 'Betänkanden per proposition', da: 'Betænkninger per lovforslag', no: 'Innstillinger per proposisjon', fi: 'Mietinnöt per esitys', de: 'Ausschussberichte pro Vorlage', fr: 'Rapports par proposition', es: 'Informes por proposición', nl: 'Commissierapporten per voorstel', ar: 'تقارير اللجان لكل اقتراح', he: 'דוחות ועדה לכל הצעה', ja: '提案当たり委員会報告数', ko: '제안당 위원회 보고서', zh: '每项提案的委员会报告数' },
26
- trendVsPrevMonth: { en: 'vs. previous month', sv: 'jmf föregående månad', da: 'ift. forrige måned', no: 'vs. forrige måned', fi: 'vs. edellinen kuukausi', de: 'vs. Vormonat', fr: 'vs. mois précédent', es: 'vs. mes anterior', nl: 'vs. vorige maand', ar: 'مقارنة بالشهر السابق', he: 'לעומת החודש הקודם', ja: '前月比', ko: '전월 대비', zh: '对比上个月' },
27
- trendVs2MonthsAgo: { en: '3-month rolling avg', sv: '3 månaders glidande snitt', da: '3-måneders glidende gennemsnit', no: '3 måneders glidende gjennomsnitt', fi: '3 kuukauden liukuva keskiarvo', de: '3-Monats-Gleitdurchschnitt', fr: 'Moyenne mobile sur 3 mois', es: 'Promedio móvil de 3 meses', nl: '3-maands voortschrijdend gemiddelde', ar: 'متوسط متحرك 3 أشهر', he: 'ממוצע נע 3 חודשים', ja: '3ヶ月移動平均', ko: '3개월 이동 평균', zh: '3个月滚动平均' },
28
- activityRank: { en: 'Activity rank', sv: 'Aktivitetsrankning', da: 'Aktivitetsrangering', no: 'Aktivitetsrangering', fi: 'Aktiivisuusranking', de: 'Aktivitätsrang', fr: "Rang d'activité", es: 'Rango de actividad', nl: 'Activiteitsrang', ar: 'تصنيف النشاط', he: 'דירוג פעילות', ja: '活動ランク', ko: '활동 순위', zh: '活动排名' },
29
- motionsFiled: { en: 'motions', sv: 'motioner', da: 'forslag', no: 'forslag', fi: 'aloitetta', de: 'Anträge', fr: 'motions', es: 'mociones', nl: 'moties', ar: 'مقترحات', he: 'הצעות', ja: '動議', ko: '동의', zh: '动议' },
30
- speechesDelivered: { en: 'speeches', sv: 'anföranden', da: 'taler', no: 'taler', fi: 'puhetta', de: 'Reden', fr: 'discours', es: 'discursos', nl: 'toespraken', ar: 'خطب', he: 'נאומים', ja: '演説', ko: '연설', zh: '演讲' },
31
- coalitionStabilityOutlook: { en: 'Coalition stability outlook', sv: 'Koalitionsstabilitetsutsikt', da: 'Koalitionsstabilitetsudsigt', no: 'Koalisjonsstabilitetsutsikt', fi: 'Koalitiostabiliteettiarvio', de: 'Koalitionsstabilitätsausblick', fr: 'Perspectives de stabilité de la coalition', es: 'Perspectiva de estabilidad de la coalición', nl: 'Coalitie stabiliteitsoverzicht', ar: 'توقعات استقرار الائتلاف', he: 'תחזית יציבות הקואליציה', ja: '連立安定性の展望', ko: '연립 안정성 전망', zh: '联合政府稳定性展望' },
32
- motionDenialContext: { en: 'Opposition motions historically pass at a low rate — parliamentary majority dynamics shape legislative outcomes.', sv: 'Oppositionsmotioner har historiskt sett låg bifallsfrekvens — parlamentariska majoritetsförhållanden styr lagstiftningsutfallen.', da: 'Oppositionsforslag har historisk set lav vedtagelsesfrekvens — parlamentariske flertalsdynamikker former lovgivningsresultaterne.', no: 'Opposisjonsforslag har historisk lav vedtaksrate — parlamentariske flertallsdynamikker former lovgivningsutfall.', fi: 'Oppositioaloitteilla on historiallisesti matala hyväksymisaste — parlamentin enemmistödynamiikka muokkaa lainsäädäntötuloksia.', de: 'Oppositionsanträge haben historisch geringe Erfolgsquoten — Mehrheitsverhältnisse im Parlament prägen die Gesetzgebungsergebnisse.', fr: "Les motions de l'opposition ont historiquement un faible taux d'adoption — la dynamique des majorités parlementaires façonne les résultats législatifs.", es: 'Las mociones de la oposición tienen históricamente bajas tasas de aprobación — la dinámica de la mayoría parlamentaria da forma a los resultados legislativos.', nl: 'Oppositiemoties hebben historisch gezien lage doorvoerpercentages — meerderheidsparlementsynamiek bepaalt wetgevingsresultaten.', ar: 'تتمتع مقترحات المعارضة تاريخياً بمعدلات مرور منخفضة — تشكّل ديناميكيات أغلبية البرلمان نتائج التشريع.', he: 'להצעות האופוזיציה יש היסטורית שיעורי מעבר נמוכים — דינמיקת הרוב הפרלמנטרית מעצבת תוצאות חקיקה.', ja: '野党動議は歴史的に低い通過率を持つ — 議会の多数決ダイナミクスが立法結果を形成する。', ko: '야당 동의는 역사적으로 낮은 통과율을 보임 — 의회 다수결 역학이 입법 결과를 형성함.', zh: '反对党动议历史上通过率较低——议会多数动态决定立法结果。' },
33
- insufficientData: { en: 'Insufficient party activity data for this period.', sv: 'Otillräckliga partiaktivitetsdata för denna period.', da: 'Utilstrækkelige partiaktivitetsdata for denne periode.', no: 'Utilstrekkelige partiaktivitetsdata for denne perioden.', fi: 'Puoluetoimintatiedot ovat riittämättömät tälle ajanjaksolle.', de: 'Unzureichende Parteiak­tivitätsdaten für diesen Zeitraum.', fr: "Données d'activité des partis insuffisantes pour cette période.", es: 'Datos de actividad de partido insuficientes para este período.', nl: 'Onvoldoende partijactiviteitsgegevens voor deze periode.', ar: 'بيانات نشاط الحزب غير كافية لهذه الفترة.', he: 'נתוני פעילות מפלגתית לא מספיקים לתקופה זו.', ja: 'この期間の政党活動データが不十分です。', ko: '이 기간에 대한 정당 활동 데이터가 불충분합니다.', zh: '本期政党活动数据不足。' },
34
- };
35
- /** Return the label for a language key, falling back to English. */
36
- function ml(lang, key) {
37
- const map = MONTHLY_LABELS[key];
38
- return map[lang] ?? map['en'] ?? key;
39
- }
40
- /**
41
- * Generate the "Month in Numbers" statistical summary section.
42
- * Renders document type counts, speech count, and month-over-month trend.
43
- */
44
- function generateMonthInNumbers(metrics, lang) {
45
- const prevDiff = metrics.totalDocuments - metrics.previousMonthDocCount;
46
- const prevSign = prevDiff > 0 ? '+' : '';
47
- const availableMonthCounts = [
48
- metrics.totalDocuments,
49
- metrics.previousMonthDocCount,
50
- metrics.twoMonthsAgoDocCount,
51
- ].filter(count => count > 0);
52
- const rollingAvg = availableMonthCounts.length > 0
53
- ? Math.round(availableMonthCounts.reduce((a, b) => a + b, 0) / availableMonthCounts.length)
54
- : metrics.totalDocuments;
55
- let html = `\n <h2>${escapeHtml(ml(lang, 'monthInNumbers'))}</h2>\n`;
56
- html += ` <div class="context-box">\n <ul>\n`;
57
- html += ` <li><strong>${escapeHtml(ml(lang, 'totalDocuments'))}:</strong> ${escapeHtml(String(metrics.totalDocuments))}</li>\n`;
58
- html += ` <li><strong>${escapeHtml(ml(lang, 'reports'))}:</strong> ${escapeHtml(String(metrics.reportCount))}</li>\n`;
59
- html += ` <li><strong>${escapeHtml(ml(lang, 'propositions'))}:</strong> ${escapeHtml(String(metrics.propositionCount))}</li>\n`;
60
- html += ` <li><strong>${escapeHtml(ml(lang, 'motions'))}:</strong> ${escapeHtml(String(metrics.motionCount))}</li>\n`;
61
- html += ` <li><strong>${escapeHtml(ml(lang, 'speeches'))}:</strong> ${escapeHtml(String(metrics.speechCount))}</li>\n`;
62
- if (metrics.previousMonthDocCount > 0) {
63
- html += ` <li><em>${escapeHtml(ml(lang, 'trendVsPrevMonth'))}:</em> ${escapeHtml(prevSign)}${escapeHtml(String(prevDiff))}</li>\n`;
64
- }
65
- if (metrics.twoMonthsAgoDocCount > 0 || metrics.previousMonthDocCount > 0) {
66
- html += ` <li><em>${escapeHtml(ml(lang, 'trendVs2MonthsAgo'))}:</em> ${escapeHtml(String(rollingAvg))}</li>\n`;
67
- }
68
- html += ` </ul>\n </div>\n`;
69
- return html;
70
- }
71
- /**
72
- * Generate the "Party Performance Rankings" section.
73
- * Ranks parties by combined legislative and debate activity.
74
- */
75
- function generatePartyRankings(metrics, lang) {
76
- let html = `\n <h2>${escapeHtml(ml(lang, 'partyRankings'))}</h2>\n`;
77
- if (!metrics.partyRankings || metrics.partyRankings.length === 0) {
78
- html += ` <div class="context-box">\n`;
79
- html += ` <p>${escapeHtml(ml(lang, 'insufficientData'))}</p>\n`;
80
- html += ` </div>\n`;
81
- return html;
82
- }
83
- html += ` <div class="context-box">\n <ol>\n`;
84
- // Show top 8 parties — matches the 8 Swedish parliamentary parties and keeps the list scannable
85
- metrics.partyRankings.slice(0, 8).forEach((entry, idx) => {
86
- const motionLabel = ml(lang, 'motionsFiled');
87
- const speechLabel = ml(lang, 'speechesDelivered');
88
- const rankLabel = ml(lang, 'activityRank');
89
- html += ` <li><strong>${escapeHtml(entry.party)}</strong> — `;
90
- html += `${escapeHtml(String(entry.motionCount))} ${escapeHtml(motionLabel)}, `;
91
- html += `${escapeHtml(String(entry.speechCount))} ${escapeHtml(speechLabel)}`;
92
- if (idx === 0)
93
- html += ` (${escapeHtml(rankLabel)} #1)`;
94
- html += `</li>\n`;
95
- });
96
- html += ` </ol>\n </div>\n`;
97
- return html;
98
- }
99
- /**
100
- * Generate the "Legislative Efficiency" metrics section.
101
- * Shows committee throughput rate and opposition motion context.
102
- */
103
- function generateLegislativeEfficiency(metrics, lang) {
104
- let html = `\n <h2>${escapeHtml(ml(lang, 'legislativeEfficiency'))}</h2>\n`;
105
- html += ` <div class="context-box">\n <ul>\n`;
106
- if (metrics.propositionCount > 0) {
107
- const ratio = metrics.legislativeEfficiencyRate.toFixed(2);
108
- html += ` <li><strong>${escapeHtml(ml(lang, 'efficiencyRate'))}:</strong> ${escapeHtml(ratio)} (${escapeHtml(String(metrics.reportCount))} / ${escapeHtml(String(metrics.propositionCount))})</li>\n`;
109
- }
110
- html += ` <li><small>${escapeHtml(ml(lang, 'motionDenialContext'))}</small></li>\n`;
111
- html += ` </ul>\n </div>\n`;
112
- return html;
113
- }
114
- /**
115
- * Generate the "Strategic Outlook" section.
116
- * Connects current-month trends to coalition stability and upcoming dynamics.
117
- */
118
- function generateStrategicOutlook(metrics, data, lang) {
119
- const cia = data.ciaContext;
120
- let html = `\n <h2>${escapeHtml(ml(lang, 'strategicOutlook'))}</h2>\n`;
121
- html += ` <div class="context-box">\n <ul>\n`;
122
- // Activity trajectory based on month-over-month comparison
123
- if (metrics.previousMonthDocCount > 0) {
124
- const isIncreasing = metrics.totalDocuments > metrics.previousMonthDocCount;
125
- const trajectoryTemplates = {
126
- en: inc => inc ? 'Legislative activity is accelerating — document volume is up month-over-month.' : 'Legislative activity is decelerating — document volume is down month-over-month.',
127
- sv: inc => inc ? 'Riksdagsaktiviteten accelererar — dokumentvolymen ökar månad för månad.' : 'Riksdagsaktiviteten avtar — dokumentvolymen minskar månad för månad.',
128
- da: inc => inc ? 'Den lovgivende aktivitet accelererer — dokumentmængden stiger måned for måned.' : 'Den lovgivende aktivitet aftager — dokumentmængden falder måned for måned.',
129
- no: inc => inc ? 'Den lovgivende aktiviteten akselererer — dokumentvolumet øker måned for måned.' : 'Den lovgivende aktiviteten avtar — dokumentvolumet synker måned for måned.',
130
- fi: inc => inc ? 'Lainsäädäntöaktiivisuus kiihtyy — asiakirjojen määrä kasvaa kuukaudesta toiseen.' : 'Lainsäädäntöaktiivisuus hidastuu — asiakirjojen määrä laskee kuukaudesta toiseen.',
131
- de: inc => inc ? 'Die Gesetzgebungsaktivität nimmt zu — das Dokumentenvolumen steigt von Monat zu Monat.' : 'Die Gesetzgebungsaktivität nimmt ab — das Dokumentenvolumen sinkt von Monat zu Monat.',
132
- fr: inc => inc ? "L'activité législative s'accélère — le volume documentaire augmente d'un mois sur l'autre." : "L'activité législative ralentit — le volume documentaire diminue d'un mois sur l'autre.",
133
- es: inc => inc ? 'La actividad legislativa está acelerando — el volumen de documentos aumenta mes a mes.' : 'La actividad legislativa está desacelerando — el volumen de documentos disminuye mes a mes.',
134
- nl: inc => inc ? 'De wetgevende activiteit neemt toe — het documentvolume stijgt maand over maand.' : 'De wetgevende activiteit neemt af — het documentvolume daalt maand over maand.',
135
- ar: inc => inc ? 'النشاط التشريعي يتسارع — حجم الوثائق يزداد شهراً بعد شهر.' : 'النشاط التشريعي يتباطأ — حجم الوثائق يتراجع شهراً بعد شهر.',
136
- he: inc => inc ? 'הפעילות החקיקתית מתאיצה — נפח המסמכים עולה מחודש לחודש.' : 'הפעילות החקיקתית מואטת — נפח המסמכים יורד מחודש לחודש.',
137
- ja: inc => inc ? '立法活動が加速しています — 文書量が前月比で増加しています。' : '立法活動が減速しています — 文書量が前月比で減少しています。',
138
- ko: inc => inc ? '입법 활동이 가속화되고 있습니다 — 문서량이 전월 대비 증가하고 있습니다.' : '입법 활동이 감속되고 있습니다 — 문서량이 전월 대비 감소하고 있습니다.',
139
- zh: inc => inc ? '立法活动正在加速——文件数量环比增加。' : '立法活动正在减速——文件数量环比减少。',
140
- };
141
- const tpl = trajectoryTemplates[lang];
142
- const trajectoryText = tpl ? tpl(isIncreasing) : (trajectoryTemplates['en'] ?? (inc => inc ? 'Legislative activity is accelerating.' : 'Legislative activity is decelerating.'))(isIncreasing);
143
- html += ` <li>${escapeHtml(trajectoryText)}</li>\n`;
144
- }
145
- // Coalition stability signal from CIA context
146
- if (cia) {
147
- const stabilityLabel = ml(lang, 'coalitionStabilityOutlook');
148
- const stabilityScore = cia.coalitionStability.stabilityScore;
149
- const riskLevel = cia.coalitionStability.riskLevel;
150
- html += ` <li><strong>${escapeHtml(stabilityLabel)}:</strong> ${escapeHtml(String(stabilityScore))}/100 (${escapeHtml(riskLevel)})</li>\n`;
151
- }
152
- html += ` </ul>\n </div>\n`;
153
- return html;
154
- }
155
- /**
156
- * Generate a rich monthly review article with "Month in Numbers", party rankings,
157
- * legislative efficiency metrics, and a strategic outlook section.
158
- * Falls back to generic content when monthlyMetrics is absent.
159
- */
160
- export function generateMonthlyReviewContent(data, lang) {
161
- // Base document analysis (same as weekly review / generic)
162
- let content = generateGenericContent(data, lang);
163
- const metrics = data.monthlyMetrics;
164
- if (!metrics)
165
- return content;
166
- // Append monthly-specific sections
167
- content += generateMonthInNumbers(metrics, lang);
168
- content += generatePartyRankings(metrics, lang);
169
- content += generateLegislativeEfficiency(metrics, lang);
170
- content += generateStrategicOutlook(metrics, data, lang);
171
- return content;
172
- }
173
- //# sourceMappingURL=monthly-review.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"monthly-review.js","sourceRoot":"","sources":["../../../../scripts/data-transformers/content-generators/monthly-review.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * @module data-transformers/content-generators/motions
3
- * @description Generator for "motions" article content. Renders opposition motions
4
- * grouped by party with strategy analysis.
5
- *
6
- * @author Hack23 AB
7
- * @license Apache-2.0
8
- */
9
- import type { Language } from '../../types/language.js';
10
- import type { ArticleContentData } from '../types.js';
11
- export declare function generateMotionsContent(data: ArticleContentData, lang: Language | string): string;
12
- //# sourceMappingURL=motions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"motions.d.ts","sourceRoot":"","sources":["../../../../scripts/data-transformers/content-generators/motions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAC;AAenE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CA0JhG"}