riksdagsmonitor 0.8.21 → 0.8.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +54 -22
  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 -495
  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 -41
  452. package/dist/scripts/pre-article-analysis.d.ts.map +0 -1
  453. package/dist/scripts/pre-article-analysis.js +0 -591
  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,392 +0,0 @@
1
- /**
2
- * @module ContentGeneration/MonthAheadAnalysis
3
- * @category ContentGeneration
4
- *
5
- * @title Month-Ahead Calendar Article Generator - Strategic Monthly Outlook
6
- *
7
- * @description
8
- * Generates forward-looking monthly outlook articles covering the next 30 days
9
- * of parliamentary activity. Provides strategic intelligence about upcoming
10
- * legislative milestones, scheduled votes, committee cycles, and government
11
- * calendar events at a monthly horizon.
12
- *
13
- * **COVERAGE SCOPE - 30-DAY CALENDAR:**
14
- * - Parliamentary session schedule and recess periods
15
- * - Major scheduled votes and budget milestones
16
- * - Committee report deadlines and hearing schedules
17
- * - Government policy announcements and EU coordination
18
- * - International parliamentary events (EU, Nordic Council)
19
- *
20
- * **MCP DATA SOURCE:**
21
- * Primary tool: get_calendar_events (30-day range)
22
- * Secondary: search_dokument, get_propositioner
23
- *
24
- * @author Hack23 AB
25
- * @license Apache-2.0
26
- */
27
- import { MCPClient } from '../mcp-client.js';
28
- import { generateArticleContent, extractWatchPoints, generateMetadata, calculateReadTime, generateSources } from '../data-transformers.js';
29
- import { generateArticleHTML } from '../article-template.js';
30
- import { generateDynamicTitle, getAnalysisEnrichment } from '../generate-news-enhanced/helpers.js';
31
- import { buildArticleVisualizationSections } from '../generate-news-enhanced/generators.js';
32
- /**
33
- * Required MCP tools for month-ahead articles.
34
- * Note: `search_dokument` is only invoked as a fallback when `get_calendar_events`
35
- * returns no events (calendar-empty path). It is listed here for traceability;
36
- * validation should treat it as conditional rather than always-required.
37
- */
38
- export const REQUIRED_TOOLS = [
39
- 'get_calendar_events',
40
- 'search_dokument', // conditional: used only when calendar is empty
41
- 'get_betankanden',
42
- 'get_propositioner',
43
- 'get_motioner',
44
- ];
45
- /**
46
- * Format date for article slug
47
- */
48
- export function formatDateForSlug(date = new Date()) {
49
- return date.toISOString().split('T')[0] ?? '';
50
- }
51
- /**
52
- * Generate Month-Ahead article in specified languages.
53
- * Falls back to searchDocuments when calendar returns 0 events.
54
- */
55
- export async function generateMonthAhead(options = {}) {
56
- const { languages = ['en', 'sv'], daysAhead = 30, writeArticle = null } = options;
57
- console.log('📅 Generating Month-Ahead outlook article...');
58
- const mcpCalls = [];
59
- try {
60
- const client = new MCPClient();
61
- const today = new Date();
62
- const endDate = new Date(today);
63
- endDate.setDate(endDate.getDate() + daysAhead);
64
- const fromStr = formatDateForSlug(today);
65
- const toStr = formatDateForSlug(endDate);
66
- // Determine current riksmöte (Swedish parliamentary year: Sep 1 → Jun/Jul of next year).
67
- // Any date in September or later belongs to the new year's session (e.g. 2025-09-01 → "2025/26").
68
- // Note: month-ahead uses dynamic calculation unlike weekly-review/monthly-review which hardcode
69
- // '2025/26'. This is intentional: month-ahead must remain accurate across parliamentary years
70
- // without requiring a code change at each new session boundary.
71
- // Use endDate (not today) as the session reference so that a late-August run covering the
72
- // Sep-1 boundary fetches the new session's pipeline data, not the outgoing session's.
73
- const sessionRefYear = endDate.getFullYear();
74
- const sessionRefMonth = endDate.getMonth(); // 0-11, align with motions.ts pattern
75
- const currentRiksmote = sessionRefMonth >= 8
76
- ? `${sessionRefYear}/${String(sessionRefYear + 1).slice(-2)}`
77
- : `${sessionRefYear - 1}/${String(sessionRefYear).slice(-2)}`;
78
- console.log(` 🔄 Fetching calendar events ${fromStr} → ${toStr}...`);
79
- const events = await client.fetchCalendarEvents(fromStr, toStr);
80
- mcpCalls.push({ tool: 'get_calendar_events', result: events });
81
- console.log(` 📊 Found ${events.length} calendar events`);
82
- // When calendar is empty, fall back to upcoming documents (propositions/reports in pipeline)
83
- let documents = [];
84
- if (events.length === 0) {
85
- console.log(' ℹ️ No calendar events — fetching upcoming documents from legislative pipeline...');
86
- const rawDocs = await Promise.resolve()
87
- .then(() => client.searchDocuments({ from_date: fromStr, to_date: toStr, limit: 30 }))
88
- .catch((err) => { console.error('Failed to fetch documents:', err); return []; });
89
- documents = Array.isArray(rawDocs) ? rawDocs : [];
90
- mcpCalls.push({ tool: 'search_dokument', result: documents });
91
- console.log(` 📊 Found ${documents.length} upcoming documents`);
92
- // When no future docs either, fall back to recent 30-day pipeline documents
93
- if (documents.length === 0) {
94
- console.log(' ℹ️ No upcoming documents — fetching recent 30-day legislative pipeline...');
95
- const pastStart = new Date(today);
96
- pastStart.setDate(pastStart.getDate() - daysAhead);
97
- const pastFromStr = formatDateForSlug(pastStart);
98
- const rawRecentDocs = await Promise.resolve()
99
- .then(() => client.searchDocuments({ from_date: pastFromStr, to_date: fromStr, limit: 50 }))
100
- .catch((err) => { console.error('Failed to fetch recent docs:', err); return []; });
101
- documents = Array.isArray(rawRecentDocs) ? rawRecentDocs : [];
102
- mcpCalls.push({ tool: 'search_dokument', result: documents });
103
- console.log(` 📊 Found ${documents.length} recent pipeline documents`);
104
- }
105
- }
106
- // ── Fetch strategic legislative pipeline data (always, before early-return) ─
107
- // These fetches run unconditionally so that betankanden/propositioner/motioner
108
- // data can drive the Strategic Outlook / Pipeline / Trends sections even when
109
- // calendar events and document fallbacks both return empty results.
110
- console.log(' 🔄 Fetching legislative pipeline (betankanden, propositioner, motioner)...');
111
- const [committeeReports, propositionDocs, motionDocs] = await Promise.all([
112
- Promise.resolve()
113
- .then(() => client.fetchCommitteeReports(20, currentRiksmote))
114
- .catch((err) => { console.warn('Non-fatal: failed to fetch committee reports, continuing with empty list:', err); return []; }),
115
- Promise.resolve()
116
- .then(() => client.fetchPropositions(15, currentRiksmote))
117
- .catch((err) => { console.warn('Non-fatal: failed to fetch propositions, continuing with empty list:', err); return []; }),
118
- Promise.resolve()
119
- .then(() => client.fetchMotions(50, currentRiksmote))
120
- .catch((err) => { console.warn('Non-fatal: failed to fetch motions, continuing with empty list:', err); return []; }),
121
- ]);
122
- mcpCalls.push({ tool: 'get_betankanden', result: committeeReports });
123
- mcpCalls.push({ tool: 'get_propositioner', result: propositionDocs });
124
- mcpCalls.push({ tool: 'get_motioner', result: motionDocs });
125
- console.log(` 📊 Pipeline: ${committeeReports.length} reports, ` +
126
- `${propositionDocs.length} propositions, ${motionDocs.length} motions`);
127
- // Only skip generation when all data sources (calendar, docs, and pipeline) are empty
128
- if (events.length === 0 && documents.length === 0 &&
129
- committeeReports.length === 0 && propositionDocs.length === 0 && motionDocs.length === 0) {
130
- console.log(' ℹ️ No data from any source, skipping');
131
- return { success: true, files: 0, mcpCalls };
132
- }
133
- const slug = `${formatDateForSlug(today)}-month-ahead`;
134
- const articles = [];
135
- const enrichment = await getAnalysisEnrichment();
136
- for (const lang of languages) {
137
- console.log(` 🌐 Generating ${lang.toUpperCase()} version...`);
138
- const dataForContent = events.length > 0
139
- ? {
140
- events,
141
- reports: committeeReports,
142
- propositions: propositionDocs,
143
- motions: motionDocs,
144
- }
145
- : {
146
- events: [],
147
- documents,
148
- reports: committeeReports,
149
- propositions: propositionDocs,
150
- motions: motionDocs,
151
- };
152
- const content = generateArticleContent(dataForContent, 'month-ahead', lang);
153
- const watchPoints = extractWatchPoints(dataForContent, lang);
154
- const metadata = generateMetadata(dataForContent, 'month-ahead', lang);
155
- const readTime = calculateReadTime(content);
156
- const usedTools = events.length > 0
157
- ? ['get_calendar_events', 'get_betankanden', 'get_propositioner', 'get_motioner']
158
- : ['get_calendar_events', 'search_dokument', 'get_betankanden', 'get_propositioner', 'get_motioner'];
159
- const sources = generateSources(usedTools);
160
- const itemCount = events.length > 0 ? events.length : documents.length;
161
- const titles = getTitles(lang, itemCount);
162
- // Enrich English title/subtitle with content-based highlights
163
- const enriched = lang === 'en' ? generateDynamicTitle(titles.title, content, itemCount) : titles;
164
- // Build visualization sections (SWOT, dashboard, economic)
165
- const sections = buildArticleVisualizationSections(documents, null, lang);
166
- const html = generateArticleHTML({
167
- slug: `${slug}-${lang}.html`,
168
- title: enriched.title,
169
- subtitle: enriched.subtitle,
170
- date: today.toISOString().split('T')[0] ?? '',
171
- type: 'prospective',
172
- readTime,
173
- lang,
174
- content,
175
- watchPoints,
176
- sources,
177
- keywords: metadata.keywords,
178
- topics: metadata.topics,
179
- tags: metadata.tags,
180
- sections,
181
- ...(enrichment ?? {}),
182
- });
183
- articles.push({
184
- lang,
185
- html,
186
- filename: `${slug}-${lang}.html`,
187
- slug: `${slug}-${lang}`,
188
- });
189
- if (writeArticle) {
190
- await writeArticle(html, `${slug}-${lang}.html`);
191
- console.log(` ✅ ${lang.toUpperCase()} version generated`);
192
- }
193
- }
194
- return {
195
- success: true,
196
- files: languages.length,
197
- slug,
198
- articles,
199
- mcpCalls,
200
- crossReferences: {
201
- event: events.length > 0
202
- ? `${events.length} events over ${daysAhead} days`
203
- : `${documents.length} upcoming documents`,
204
- sources: events.length > 0
205
- ? ['calendar_events', 'betankanden', 'propositioner', 'motioner']
206
- : ['calendar_events', 'search_dokument', 'betankanden', 'propositioner', 'motioner'],
207
- },
208
- };
209
- }
210
- catch (error) {
211
- console.error('❌ Error generating Month-Ahead:', error.message);
212
- return {
213
- success: false,
214
- error: error.message,
215
- mcpCalls,
216
- };
217
- }
218
- }
219
- /**
220
- * Get language-specific titles
221
- */
222
- function getTitles(lang, eventCount) {
223
- const titles = {
224
- en: {
225
- title: `Month Ahead: Parliamentary Outlook`,
226
- subtitle: `Strategic preview of ${eventCount} upcoming events shaping Sweden's legislative agenda`
227
- },
228
- sv: {
229
- title: `Månaden framåt: Parlamentarisk utblick`,
230
- subtitle: `Strategisk förhandsvisning av ${eventCount} kommande händelser`
231
- },
232
- da: {
233
- title: `Måneden forude: Parlamentarisk udsigt`,
234
- subtitle: `Strategisk forhåndsvisning af ${eventCount} kommende begivenheder`
235
- },
236
- no: {
237
- title: `Måneden fremover: Parlamentarisk utsikt`,
238
- subtitle: `Strategisk forhåndsvisning av ${eventCount} kommende hendelser`
239
- },
240
- fi: {
241
- title: `Kuukausi eteenpäin: Parlamentaarinen näkymä`,
242
- subtitle: `Strateginen ennakkokatsaus ${eventCount} tulevaan tapahtumaan`
243
- },
244
- de: {
245
- title: `Monatsausblick: Parlamentarische Vorschau`,
246
- subtitle: `Strategische Vorschau auf ${eventCount} bevorstehende Ereignisse`
247
- },
248
- fr: {
249
- title: `Mois à venir : Perspective parlementaire`,
250
- subtitle: `Aperçu stratégique de ${eventCount} événements à venir`
251
- },
252
- es: {
253
- title: `Mes adelante: Perspectiva parlamentaria`,
254
- subtitle: `Vista previa estratégica de ${eventCount} eventos próximos`
255
- },
256
- nl: {
257
- title: `Maand vooruit: Parlementair vooruitzicht`,
258
- subtitle: `Strategisch overzicht van ${eventCount} aankomende evenementen`
259
- },
260
- ar: {
261
- title: `الشهر القادم: التوقعات البرلمانية`,
262
- subtitle: `معاينة استراتيجية لـ ${eventCount} أحداث قادمة`
263
- },
264
- he: {
265
- title: `החודש הקרוב: תחזית פרלמנטרית`,
266
- subtitle: `תצוגה מקדימה אסטרטגית של ${eventCount} אירועים קרובים`
267
- },
268
- ja: {
269
- title: `月間展望:議会見通し`,
270
- subtitle: `${eventCount}件の今後のイベントの戦略的プレビュー`
271
- },
272
- ko: {
273
- title: `월간 전망: 의회 전망`,
274
- subtitle: `${eventCount}개 향후 이벤트에 대한 전략적 미리보기`
275
- },
276
- zh: {
277
- title: `月度展望:议会前瞻`,
278
- subtitle: `${eventCount}个即将到来的事件的战略预览`
279
- }
280
- };
281
- return titles[lang] || titles.en;
282
- }
283
- /**
284
- * Validate month-ahead article structure
285
- */
286
- export function validateMonthAhead(article) {
287
- const hasCalendarEvents = checkCalendarEvents(article);
288
- const hasMinimumSources = countSources(article) >= 3;
289
- const hasForwardLookingTone = checkForwardLookingTone(article);
290
- const hasStrategicContext = checkStrategicContext(article);
291
- const hasLegislativePipeline = checkLegislativePipeline(article);
292
- return {
293
- hasCalendarEvents,
294
- hasMinimumSources,
295
- hasForwardLookingTone,
296
- hasStrategicContext,
297
- hasLegislativePipeline,
298
- passed: hasCalendarEvents && hasMinimumSources && hasForwardLookingTone && hasStrategicContext && hasLegislativePipeline
299
- };
300
- }
301
- function checkCalendarEvents(article) {
302
- if (!article || !article.content)
303
- return false;
304
- return article.content.toLowerCase().includes('calendar') ||
305
- article.content.toLowerCase().includes('event') ||
306
- article.content.toLowerCase().includes('schedule');
307
- }
308
- function countSources(article) {
309
- if (!article || !article.sources)
310
- return 0;
311
- return Array.isArray(article.sources) ? article.sources.length : 0;
312
- }
313
- function checkForwardLookingTone(article) {
314
- if (!article || !article.content)
315
- return false;
316
- const forwardKeywords = ['upcoming', 'scheduled', 'expected', 'anticipated', 'planned', 'forecast'];
317
- return forwardKeywords.some(keyword => article.content.toLowerCase().includes(keyword));
318
- }
319
- function checkStrategicContext(article) {
320
- if (!article || !article.content)
321
- return false;
322
- const strategicKeywords = ['strategic', 'milestone', 'outlook', 'priorities', 'agenda'];
323
- return strategicKeywords.some(keyword => article.content.toLowerCase().includes(keyword));
324
- }
325
- function checkLegislativePipeline(article) {
326
- if (!article || !article.content)
327
- return false;
328
- // Match on specific <h2> section headings inserted by generateMonthAheadContent —
329
- // these only appear when the pipeline sections were actually generated, avoiding
330
- // false positives from generic words that can appear in ordinary calendar text.
331
- const pipelineSectionMarkers = [
332
- // English
333
- 'strategic legislative outlook',
334
- 'committee pipeline',
335
- 'policy trends',
336
- // Swedish
337
- 'strategisk lagstiftningsutsikt',
338
- 'utskottspipeline',
339
- 'politiska trender',
340
- // German
341
- 'strategischer gesetzgebungsausblick',
342
- 'ausschusspipeline',
343
- 'politische trends',
344
- // French
345
- 'perspectives législatives stratégiques',
346
- 'pipeline des commissions',
347
- 'tendances politiques',
348
- // Spanish
349
- 'perspectiva legislativa estratégica',
350
- 'proceso en comité',
351
- 'tendencias políticas',
352
- // Danish
353
- 'strategisk lovgivningsmæssigt udsyn',
354
- 'udvalgspipeline',
355
- 'politiske tendenser',
356
- // Norwegian
357
- 'strategisk lovgivningsmessig utsikt',
358
- 'komitépipeline',
359
- 'politiske trender',
360
- // Finnish
361
- 'strateginen lainsäädäntönäkymä',
362
- 'valiokuntaputkisto',
363
- 'poliittiset trendit',
364
- // Dutch
365
- 'strategisch wetgevingsoverzicht',
366
- 'commissiepijplijn',
367
- 'politieke trends',
368
- // Japanese
369
- '戦略的立法見通し',
370
- '委員会パイプライン',
371
- '政策トレンド',
372
- // Korean
373
- '전략적 입법 전망',
374
- '위원회 파이프라인',
375
- '정책 트렌드',
376
- // Chinese
377
- '战略立法展望',
378
- '委员会审议流程',
379
- '政策趋势',
380
- // Arabic
381
- 'التوقعات التشريعية الاستراتيجية',
382
- 'مسار اللجان',
383
- 'الاتجاهات السياسية',
384
- // Hebrew
385
- 'תחזית חקיקתית אסטרטגית',
386
- 'צינור הוועדות',
387
- 'מגמות מדיניות',
388
- ];
389
- const content = article.content.toLowerCase();
390
- return pipelineSectionMarkers.some(marker => content.includes(marker));
391
- }
392
- //# sourceMappingURL=month-ahead.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"month-ahead.js","sourceRoot":"","sources":["../../../scripts/news-types/month-ahead.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- /**
2
- * @module ContentGeneration/MonthlyReview
3
- * @category ContentGeneration
4
- *
5
- * @title Monthly Review Article Generator - Retrospective Monthly Analysis
6
- *
7
- * @description
8
- * Generates comprehensive monthly review articles analyzing the past 30 days
9
- * of parliamentary activity using the same 5-step enrichment pipeline as weekly-review:
10
- * 1. search_dokument – find document IDs and types for the period
11
- * 2. get_betankanden / get_propositioner / get_motioner – typed metadata fetchers
12
- * 3. get_dokument_innehall – load every document completely (concurrency 3)
13
- * 4. search_anforanden – fetch speeches from the same period
14
- * 5. CIA static context – secondary historical context only
15
- *
16
- * @author Hack23 AB
17
- * @license Apache-2.0
18
- */
19
- import type { Language } from '../types/language.js';
20
- import type { GenerationResult } from '../types/article.js';
21
- /**
22
- * Required MCP tools for monthly-review articles
23
- */
24
- export declare const REQUIRED_TOOLS: readonly string[];
25
- export interface TitleSet {
26
- title: string;
27
- subtitle: string;
28
- }
29
- export interface MonthlyReviewValidationResult {
30
- hasMonthlySummary: boolean;
31
- hasMinimumSources: boolean;
32
- hasRetrospectiveTone: boolean;
33
- hasTrendAnalysis: boolean;
34
- hasPartyRankings: boolean;
35
- hasLegislativeEfficiency: boolean;
36
- hasMonthInNumbers: boolean;
37
- passed: boolean;
38
- }
39
- export interface ArticleInput {
40
- content?: string;
41
- sources?: string[];
42
- [key: string]: unknown;
43
- }
44
- export interface GenerationOptions {
45
- languages?: Language[];
46
- lookbackDays?: number;
47
- writeArticle?: ((html: string, filename: string) => Promise<void | boolean>) | null;
48
- }
49
- /**
50
- * Format date for article slug
51
- */
52
- export declare function formatDateForSlug(date?: Date): string;
53
- /**
54
- * Generate Monthly Review article in specified languages using the full enrichment pipeline.
55
- */
56
- export declare function generateMonthlyReview(options?: GenerationOptions): Promise<GenerationResult>;
57
- /**
58
- * Validate monthly review article structure
59
- */
60
- export declare function validateMonthlyReview(article: ArticleInput): MonthlyReviewValidationResult;
61
- //# sourceMappingURL=monthly-review.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"monthly-review.d.ts","sourceRoot":"","sources":["../../../scripts/news-types/monthly-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqBH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAqC,gBAAgB,EAAiB,MAAM,qBAAqB,CAAC;AAI9G;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAO3C,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wBAAwB,EAAE,OAAO,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CACrF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8QtG;AAoED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,6BAA6B,CA0B1F"}