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,286 +0,0 @@
1
- /**
2
- * @module generate-news-enhanced/config
3
- * @description CLI argument parsing, language configuration, and shared state
4
- * for the enhanced news generation system.
5
- *
6
- * @author Hack23 AB
7
- * @license Apache-2.0
8
- */
9
- import fs from 'fs';
10
- import path from 'path';
11
- import { fileURLToPath } from 'url';
12
- import { MCPClient } from '../mcp-client.js';
13
- const __filename = fileURLToPath(import.meta.url);
14
- export const __dirname = path.dirname(__filename);
15
- /** Extract YYYY-MM-DD from a Date, guaranteed non-undefined. */
16
- export function toISODate(d) {
17
- return d.toISOString().slice(0, 10);
18
- }
19
- // ---------------------------------------------------------------------------
20
- // CLI argument parsing
21
- // ---------------------------------------------------------------------------
22
- const args = process.argv.slice(2);
23
- /** Extract the value after the first '=' from a CLI argument, or empty string if absent. */
24
- function parseArgValue(arg) {
25
- if (!arg)
26
- return '';
27
- const idx = arg.indexOf('=');
28
- return idx >= 0 ? arg.slice(idx + 1).trim() : '';
29
- }
30
- const typesArg = args.find(arg => arg.startsWith('--types='));
31
- const languagesArg = args.find(arg => arg.startsWith('--languages='));
32
- export const dryRunArg = args.includes('--dry-run');
33
- const batchSizeArg = args.find(arg => arg.startsWith('--batch-size='));
34
- export const skipExistingArg = args.includes('--skip-existing');
35
- export const batchSize = batchSizeArg ? parseInt(parseArgValue(batchSizeArg) || '0', 10) : 0;
36
- const qualityThresholdArg = args.find(arg => arg.startsWith('--quality-threshold='));
37
- // Deep-inspection arguments: document IDs, URLs, focus topic, and analysis depth
38
- const documentIdsArg = args.find(arg => arg.startsWith('--document-ids='));
39
- const documentUrlsArg = args.find(arg => arg.startsWith('--document-urls='));
40
- const focusTopicArg = args.find(arg => arg.startsWith('--focus-topic='));
41
- const depthArg = args.find(arg => arg.startsWith('--depth='));
42
- /** Comma-separated Riksdag document IDs for deep-inspection (e.g. H901FiU1,H901JuU25) */
43
- const rawDocumentIds = parseArgValue(documentIdsArg);
44
- export const documentIds = rawDocumentIds
45
- ? rawDocumentIds.split(',').map(id => id.trim()).filter(Boolean)
46
- : [];
47
- /** Comma-separated URLs for deep-inspection analysis */
48
- const rawDocumentUrls = parseArgValue(documentUrlsArg);
49
- export const documentUrls = rawDocumentUrls
50
- ? rawDocumentUrls.split(',').map(u => u.trim()).filter(Boolean)
51
- : [];
52
- /** Specific policy topic to focus deep-inspection analysis on */
53
- export const focusTopic = parseArgValue(focusTopicArg);
54
- /**
55
- * Analysis depth for deep-inspection (1–4).
56
- * 1 — surface analysis (what happened) — default, fastest
57
- * 2 — adds predictive assessment and historical context
58
- * 3 — adds executive intelligence summary and methodology (3 iterations)
59
- * 4 — full report: adds quality-review iteration in methodology (4 iterations)
60
- */
61
- const rawDepth = parseArgValue(depthArg);
62
- const depthArgProvided = !!depthArg;
63
- const parsedDepthNum = rawDepth ? Number(rawDepth) : NaN;
64
- const depthIsValid = Number.isInteger(parsedDepthNum) && parsedDepthNum >= 1 && parsedDepthNum <= 4;
65
- if (depthArgProvided && !depthIsValid) {
66
- console.warn(`Invalid --depth value "${rawDepth}" (expected integer 1–4), falling back to default 1.`);
67
- }
68
- const safeDepth = depthIsValid ? parsedDepthNum : 1;
69
- export const analysisDepth = safeDepth === 4 ? 4 :
70
- safeDepth === 3 ? 3 :
71
- safeDepth === 2 ? 2 :
72
- 1;
73
- // --iterations=N: number of AI analysis iterations for deep-inspection (default: 3)
74
- const iterationsArg = args.find(arg => arg.startsWith('--iterations='));
75
- const DEFAULT_ITERATIONS = 3;
76
- let parsedIterations = DEFAULT_ITERATIONS;
77
- if (iterationsArg) {
78
- const rawIter = parseArgValue(iterationsArg);
79
- const numIter = rawIter === '' ? NaN : Number(rawIter);
80
- if (Number.isFinite(numIter)) {
81
- // Clamp to 1–10; 0/negative values map to 1 rather than falling back to default
82
- parsedIterations = Math.min(10, Math.max(1, Math.floor(numIter)));
83
- }
84
- else {
85
- console.warn(`Invalid --iterations value "${rawIter}", falling back to default ${DEFAULT_ITERATIONS}.`);
86
- }
87
- }
88
- /** Number of AI analysis iterations for deep-inspection articles. Default: 3. */
89
- export const analysisIterations = parsedIterations;
90
- // ---------------------------------------------------------------------------
91
- // Analysis depth (controls number of AI analysis iterations)
92
- // ---------------------------------------------------------------------------
93
- /**
94
- * --analysis-depth=<quick|standard|deep>
95
- *
96
- * Controls how many AI analysis iterations run for deep-inspection articles:
97
- * - `quick` — 1 pass (initial analysis only; fast)
98
- * - `standard` — 2 passes (initial + SWOT refinement; default)
99
- * - `deep` — 3 passes (initial + refinement + stakeholder validation)
100
- */
101
- const analysisModeArg = args.find(arg => arg.startsWith('--analysis-depth='));
102
- const rawAnalysisMode = parseArgValue(analysisModeArg ?? '').toLowerCase();
103
- const VALID_ANALYSIS_DEPTHS = ['quick', 'standard', 'deep'];
104
- function parseAnalysisDepth(raw) {
105
- if (VALID_ANALYSIS_DEPTHS.includes(raw)) {
106
- return raw;
107
- }
108
- if (raw && raw !== '') {
109
- console.warn(`⚠️ Unknown --analysis-depth value "${raw}", falling back to "standard". Valid values: ${VALID_ANALYSIS_DEPTHS.join(', ')}`);
110
- }
111
- return 'standard';
112
- }
113
- export const analysisMode = parseAnalysisDepth(rawAnalysisMode);
114
- const DEFAULT_QUALITY_THRESHOLD = 40;
115
- let parsedQualityThreshold = DEFAULT_QUALITY_THRESHOLD;
116
- if (qualityThresholdArg) {
117
- const rawValue = parseArgValue(qualityThresholdArg);
118
- const numericValue = rawValue === '' ? NaN : Number(rawValue);
119
- if (Number.isFinite(numericValue)) {
120
- parsedQualityThreshold = Math.min(100, Math.max(0, numericValue));
121
- }
122
- else {
123
- console.warn(`Invalid --quality-threshold value "${rawValue}", falling back to default ${DEFAULT_QUALITY_THRESHOLD}.`);
124
- }
125
- }
126
- export const QUALITY_THRESHOLD = parsedQualityThreshold;
127
- /**
128
- * Default threshold (0–100) for the multi-dimensional quality assessment
129
- * pipeline. Articles scoring below this value are flagged but still written.
130
- * Referenced by `validateArticleQuality()` and the Check 13 validation script.
131
- */
132
- export const MULTIDIM_QUALITY_THRESHOLD = 60;
133
- /**
134
- * Breaking news significance threshold (0–100). Documents scoring at or above
135
- * this value are considered breaking news.
136
- */
137
- export const BREAKING_NEWS_THRESHOLD = 60;
138
- // --require-mcp flag: when true (default), abort if MCP server is unreachable after all retries.
139
- // Set --require-mcp=false for local development/testing without a live MCP server.
140
- const requireMcpArg = args.find(arg => arg.startsWith('--require-mcp'));
141
- export const requireMcp = parseArgValue(requireMcpArg ?? '') !== 'false';
142
- // ---------------------------------------------------------------------------
143
- // Valid article types
144
- // ---------------------------------------------------------------------------
145
- export const VALID_ARTICLE_TYPES = ['week-ahead', 'month-ahead', 'weekly-review', 'monthly-review', 'committee-reports', 'propositions', 'motions', 'interpellations', 'breaking', 'deep-inspection'];
146
- const rawArticleTypes = typesArg
147
- ? parseArgValue(typesArg).split(',').map(t => t.trim()).filter(Boolean)
148
- : [];
149
- const filteredArticleTypes = rawArticleTypes.filter(t => VALID_ARTICLE_TYPES.includes(t));
150
- if (rawArticleTypes.length > 0 && filteredArticleTypes.length === 0) {
151
- throw new Error(`No valid article types specified via --types. Valid types are: ${VALID_ARTICLE_TYPES.join(', ')}`);
152
- }
153
- export const articleTypes = filteredArticleTypes.length > 0
154
- ? filteredArticleTypes
155
- : ['week-ahead'];
156
- // ---------------------------------------------------------------------------
157
- // Language configuration
158
- // ---------------------------------------------------------------------------
159
- export const ALL_LANGUAGES = ['en', 'sv', 'da', 'no', 'fi', 'de', 'fr', 'es', 'nl', 'ar', 'he', 'ja', 'ko', 'zh'];
160
- export const LANGUAGE_PRESETS = {
161
- 'all': [...ALL_LANGUAGES],
162
- 'nordic': ['en', 'sv', 'da', 'no', 'fi'],
163
- 'eu-core': ['en', 'sv', 'de', 'fr', 'es', 'nl']
164
- };
165
- let languagesInput = languagesArg ? parseArgValue(languagesArg).trim().toLowerCase() : 'all';
166
- // Expand presets (after trimming and normalizing)
167
- const presetLanguages = LANGUAGE_PRESETS[languagesInput];
168
- if (presetLanguages) {
169
- languagesInput = presetLanguages.join(',');
170
- }
171
- export let languages = languagesInput
172
- .split(',')
173
- .map(l => l.trim())
174
- .filter((l) => ALL_LANGUAGES.includes(l));
175
- if (languages.length === 0) {
176
- console.error('❌ No valid language codes provided. Valid codes:', ALL_LANGUAGES.join(', '));
177
- process.exit(1);
178
- }
179
- // Log filtered article types (invalid types were removed during parsing above)
180
- const filteredTypes = rawArticleTypes.filter(t => !VALID_ARTICLE_TYPES.includes(t));
181
- if (filteredTypes.length > 0) {
182
- console.warn(`⚠️ Unknown article types filtered out: ${filteredTypes.join(', ')}. Valid types: ${VALID_ARTICLE_TYPES.join(', ')}`);
183
- }
184
- // ---------------------------------------------------------------------------
185
- // Configuration
186
- // ---------------------------------------------------------------------------
187
- export const NEWS_DIR = path.join(__dirname, '..', '..', 'news');
188
- export const METADATA_DIR = path.join(NEWS_DIR, 'metadata');
189
- // Track full requested set before any filtering
190
- export const allRequestedLanguages = [...languages];
191
- // Apply --skip-existing: remove languages that already have today's articles
192
- if (skipExistingArg) {
193
- const today = toISODate(new Date());
194
- const existingFiles = fs.existsSync(NEWS_DIR)
195
- ? fs.readdirSync(NEWS_DIR).filter(f => f.startsWith(today) && f.endsWith('.html'))
196
- : [];
197
- const doneLangs = languages.filter(lang => existingFiles.some(f => f.endsWith(`-${lang}.html`)));
198
- if (doneLangs.length > 0) {
199
- console.log(`⏭️ Skipping already-generated languages: ${doneLangs.join(', ')}`);
200
- languages = languages.filter(l => !doneLangs.includes(l));
201
- }
202
- }
203
- // Apply --batch-size: limit to N languages per run
204
- if (batchSize > 0 && languages.length > batchSize) {
205
- const remaining = languages.slice(batchSize);
206
- languages = languages.slice(0, batchSize);
207
- console.log(`📦 Batch mode: processing ${languages.length} of ${allRequestedLanguages.length} requested languages`);
208
- console.log(` This batch: ${languages.join(', ')}`);
209
- console.log(` Remaining for next run(s): ${remaining.join(', ')}`);
210
- }
211
- if (languages.length === 0) {
212
- console.log('✅ All requested languages already generated. Nothing to do.');
213
- // Write a status metadata file so the workflow knows we're done
214
- if (!fs.existsSync(METADATA_DIR)) {
215
- fs.mkdirSync(METADATA_DIR, { recursive: true });
216
- }
217
- const batchStatus = {
218
- complete: true,
219
- allDone: allRequestedLanguages,
220
- timestamp: new Date().toISOString(),
221
- };
222
- fs.writeFileSync(path.join(METADATA_DIR, 'batch-status.json'), JSON.stringify(batchStatus, null, 2));
223
- process.exit(0);
224
- }
225
- console.log('📰 Enhanced News Generation Script');
226
- console.log('Article types:', articleTypes.join(', '));
227
- console.log('Languages:', languages.join(', '));
228
- console.log('Batch size:', batchSize > 0 ? batchSize : 'all at once');
229
- console.log('Skip existing:', skipExistingArg ? 'Yes' : 'No');
230
- console.log('Dry run:', dryRunArg ? 'Yes (no files written)' : 'No');
231
- // ---------------------------------------------------------------------------
232
- // Shared MCP client (reuses connection/session across all generators)
233
- // ---------------------------------------------------------------------------
234
- let sharedClient = null;
235
- /**
236
- * Get or create the shared MCPClient instance.
237
- * On first call, warms up the MCP server with a lightweight get_sync_status
238
- * request using an extended timeout to handle Render.com cold starts (30-60s).
239
- *
240
- * @returns Warmed-up shared client
241
- */
242
- export async function getSharedClient() {
243
- if (sharedClient)
244
- return sharedClient;
245
- // Use extended timeout for initial connection (cold start can take 30-60s)
246
- const coldStartTimeout = parseInt(process.env.MCP_CLIENT_TIMEOUT_MS ?? '', 10) || 90000;
247
- sharedClient = new MCPClient({ timeout: coldStartTimeout });
248
- // Warm up the MCP server before any data queries
249
- console.log('⏳ Warming up MCP server (may take 30-60s on cold start)...');
250
- console.log(` 🔗 Server: ${sharedClient.baseURL}`);
251
- try {
252
- const status = await sharedClient.request('get_sync_status', {});
253
- console.log('✅ MCP server ready');
254
- if (status && status['last_sync']) {
255
- console.log(` 📊 Last sync: ${status['last_sync']}`);
256
- }
257
- }
258
- catch (error) {
259
- const message = error.message;
260
- if (requireMcp) {
261
- sharedClient = null;
262
- throw new Error(`MCP server unavailable: ${message}`, { cause: error });
263
- }
264
- console.warn(`⚠️ MCP warm-up failed: ${message}`);
265
- console.warn(' Continuing anyway — individual requests will retry with backoff');
266
- }
267
- // After warm-up succeeds, reduce timeout for normal requests
268
- const normalTimeout = parseInt(process.env.MCP_CLIENT_TIMEOUT_MS ?? '', 10) || 30000;
269
- sharedClient.timeout = normalTimeout;
270
- return sharedClient;
271
- }
272
- // Ensure directories exist
273
- if (!fs.existsSync(METADATA_DIR)) {
274
- fs.mkdirSync(METADATA_DIR, { recursive: true });
275
- }
276
- // ---------------------------------------------------------------------------
277
- // Generation statistics
278
- // ---------------------------------------------------------------------------
279
- export const stats = {
280
- generated: 0,
281
- errors: 0,
282
- articles: [],
283
- timestamp: new Date().toISOString(),
284
- qualityScores: []
285
- };
286
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../scripts/generate-news-enhanced/config.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- /**
2
- * @module generate-news-enhanced/generators
3
- * @description Article generator functions for week-ahead, committee reports,
4
- * propositions, and motions article types.
5
- *
6
- * @author Hack23 AB
7
- * @license Apache-2.0
8
- */
9
- import { type RawDocument } from '../data-transformers.js';
10
- import type { Language } from '../types/language.js';
11
- import type { GenerationResult, TemplateSection } from '../types/article.js';
12
- /**
13
- * Build SWOT, dashboard, and economic TemplateSections for standard article
14
- * types (not deep-inspection, which has its own richer builder).
15
- *
16
- * Produces 1–3 sections depending on available data:
17
- * - SWOT stakeholder analysis (always, when docs.length >= 2)
18
- * - Chart.js dashboard with document type breakdown (when docs.length >= 3)
19
- * - Economic dashboard (when policyDomains match World Bank indicators)
20
- *
21
- * Each section is safe to append to `generateArticleHTML({ sections })`.
22
- */
23
- export declare function buildArticleVisualizationSections(docs: RawDocument[], topic: string | null, lang: Language): TemplateSection[];
24
- /**
25
- * Generate Week Ahead article in specified languages
26
- */
27
- export declare function generateWeekAhead(): Promise<GenerationResult>;
28
- /**
29
- * Generate Committee Reports article
30
- */
31
- export declare function generateCommitteeReports(): Promise<GenerationResult>;
32
- /**
33
- * Generate Government Propositions article
34
- */
35
- export declare function generatePropositions(): Promise<GenerationResult>;
36
- /**
37
- * Generate Opposition Motions article
38
- */
39
- export declare function generateMotions(): Promise<GenerationResult>;
40
- /**
41
- * Generate Interpellation Debates article
42
- */
43
- export declare function generateInterpellations(): Promise<GenerationResult>;
44
- /**
45
- * Extract a Riksdag document ID (dok_id) from a known URL pattern.
46
- * Supports:
47
- * - https://riksdagen.se/sv/dokument-och-lagar/dokument/{type}/{dok_id}/
48
- * - https://data.riksdagen.se/dokument/{dok_id}
49
- * - https://data.riksdagen.se/dokument/{dok_id}.json
50
- *
51
- * @returns The extracted dok_id, or null if the URL doesn't match a known pattern.
52
- */
53
- export declare function extractDocIdFromUrl(url: string): string | null;
54
- /**
55
- * Determine whether a URL points to a government (regeringen.se) resource
56
- * that can be fetched via the get_g0v_document_content MCP tool.
57
- */
58
- export declare function isGovernmentUrl(url: string): boolean;
59
- /**
60
- * Determine whether a URL points to a GitHub repository resource
61
- * (github.com or raw.githubusercontent.com) that can be fetched as raw content.
62
- */
63
- export declare function isGitHubUrl(url: string): boolean;
64
- /**
65
- * Convert a GitHub blob/tree URL to a raw.githubusercontent.com URL.
66
- * Handles patterns like:
67
- * - https://github.com/{owner}/{repo}/blob/{branch}/{path}
68
- * - https://github.com/{owner}/{repo}/raw/{branch}/{path}
69
- * - https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{path} (returned as-is)
70
- *
71
- * @returns The raw URL, or null if the URL cannot be converted.
72
- */
73
- export declare function toGitHubRawUrl(url: string): string | null;
74
- /**
75
- * Compute a short, deterministic hash suffix from a URL path string.
76
- * Used to generate collision-resistant `dok_id` values for documents
77
- * fetched from government or GitHub URLs.
78
- *
79
- * The hash is a simple DJB2-style left-shift-and-add over each character,
80
- * rendered in base-36. A leading `-` (from negative ints) is replaced with `n`.
81
- */
82
- export declare function hashPathSuffix(path: string): string;
83
- /**
84
- * Strip HTML tags from a user-supplied string to prevent XSS.
85
- * Uses a multi-pass loop to handle nested tag reconstruction attempts
86
- * (e.g. `<scr<script>ipt>`). Returns **plain text** — callers must
87
- * apply `escapeHtml()` at their render sites so escaping happens exactly once.
88
- */
89
- export declare function sanitizePlainText(text: string): string;
90
- /**
91
- * Generate topic-focused, comprehensive deep-inspection article content.
92
- * All sections are explicitly oriented around `topic`. Uses enriched full-text
93
- * content from each document and the 5W deep-analysis framework.
94
- *
95
- * @param depth - Analysis depth (1–4). Higher depth adds more intelligence sections:
96
- * 1 = Topic Context + Document Intelligence + 5W Deep Analysis + Strategic Implications + Key Takeaways
97
- * 2 = depth 1 + Historical Context + Predictive Assessment
98
- * 3 = depth 2 + Executive Intelligence Summary + Methodology (3 iterations)
99
- * 4 = depth 3 + quality-review iteration in Methodology (4 iterations)
100
- * When an AIAnalysisResult is supplied, its strategic implications and key
101
- * takeaways replace the template-based versions for richer, context-aware output.
102
- */
103
- declare function generateDeepInspectionContent(docs: RawDocument[], topic: string | null, lang: Language, depth?: 1 | 2 | 3 | 4, aiResult?: import('./ai-analysis-pipeline.js').AIAnalysisResult): string;
104
- /**
105
- * Test-only hooks for deep-inspection content generation.
106
- * Exported to support behavioral tests without source inspection.
107
- * @internal
108
- */
109
- export declare const __deepInspectionTestHooks: {
110
- generateDeepInspectionContent: typeof generateDeepInspectionContent;
111
- };
112
- /**
113
- * Generate Deep-Inspection article targeting specific documents or policy topics.
114
- * Uses documentIds, documentUrls, and focusTopic from CLI config to fetch
115
- * targeted Riksdag documents and generate in-depth analysis articles.
116
- */
117
- export declare function generateDeepInspection(): Promise<GenerationResult>;
118
- export {};
119
- //# sourceMappingURL=generators.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generators.d.ts","sourceRoot":"","sources":["../../../scripts/generate-news-enhanced/generators.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAQL,KAAK,WAAW,EACjB,MAAM,yBAAyB,CAAC;AAiBjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAA8B,eAAe,EAA8C,MAAM,qBAAqB,CAAC;AA6DrJ;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,WAAW,EAAE,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,QAAQ,GACb,eAAe,EAAE,CAkDnB;AAMD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAqHnE;AAED;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuF1E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuFtE;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuFjE;AAED;;GAEG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAuFzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2B9D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQpD;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAUhD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2BzD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQtD;AA2OD;;;;;;;;;;;;GAYG;AACH,iBAAS,6BAA6B,CACpC,IAAI,EAAE,WAAW,EAAE,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,IAAI,EAAE,QAAQ,EACd,KAAK,GAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAK,EACxB,QAAQ,CAAC,EAAE,OAAO,2BAA2B,EAAE,gBAAgB,GAC9D,MAAM,CAoFR;AAkBD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;CAErC,CAAC;AAo3BF;;;;GAIG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAkUxE"}