riksdagsmonitor 0.8.23 β†’ 0.8.26

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 -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,176 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * @module Infrastructure/TypeGeneration
4
- * @category Infrastructure
5
- *
6
- * @title CIA Schema Type Generator - TypeScript Type Safety Infrastructure
7
- *
8
- * @description
9
- * **INTELLIGENCE OPERATIVE PERSPECTIVE**
10
- *
11
- * This module generates TypeScript type definitions from CIA JSON schemas,
12
- * providing compile-time type safety for political data processing. While appearing
13
- * as a technical infrastructure task, type safety serves a critical intelligence
14
- * function: preventing data corruption bugs that could propagate incorrect
15
- * information through the analytical pipeline.
16
- *
17
- * **TYPE SAFETY IN INTELLIGENCE SYSTEMS:**
18
- * Intelligence analysis depends on data accuracy. TypeScript type generation ensures:
19
- * 1. **Shape Validation**: Data matches expected structure before processing
20
- * 2. **Property Typos**: Catches misspelled field names at compile time
21
- * 3. **Type Mismatches**: Prevents treating numbers as strings or vice versa
22
- * 4. **Null Handling**: Explicit handling of optional vs. required fields
23
- * 5. **API Contract**: Ensures MCP tool responses match expected types
24
- *
25
- * **CIA SCHEMA CONVERSION PROCESS:**
26
- * The generator converts JSON Schema β†’ TypeScript types:
27
- * 1. Load JSON schema from schemas/cia/ directory
28
- * 2. Parse schema structure (properties, required fields, type constraints)
29
- * 3. Generate TypeScript interface with all properties
30
- * 4. Add JSDoc comments from schema descriptions
31
- * 5. Handle nested objects and arrays recursively
32
- * 6. Generate Union types for enum fields
33
- * 7. Write to types/ directory
34
- *
35
- * **SUPPORTED SCHEMA CONVERSIONS:**
36
- * - **String Types**: Converted to TypeScript string
37
- * - **Number Types**: integer and number mapped appropriately
38
- * - **Boolean Types**: Converted to TypeScript boolean
39
- * - **Array Types**: Generated as T[] arrays
40
- * - **Nested Objects**: Recursive interface generation
41
- * - **Enum Types**: Union type generation (type field = 'value1' | 'value2')
42
- * - **Optional Fields**: Generated as property?: type notation
43
- * - **Date Fields**: ISO 8601 strings typed as string (runtime validation needed)
44
- *
45
- * **GENERATED TYPE EXAMPLES:**
46
- * From CIA voting schema generates:
47
- * ```typescript
48
- * interface Vote {
49
- * id: string;
50
- * documentId: string;
51
- * date: string; // ISO 8601
52
- * topic: string;
53
- * memberVotes: MemberVote[];
54
- * totalYes: number;
55
- * totalNo: number;
56
- * totalAbstain: number;
57
- * passed: boolean;
58
- * }
59
- * ```
60
- *
61
- * **WORKFLOW:**
62
- * 1. Run during build process: `npm run generate-types-from-cia-schemas`
63
- * 2. Scans schemas/cia/ for all .schema.json files
64
- * 3. Generates corresponding TypeScript .d.ts files
65
- * 4. Reports success/failure for each schema
66
- * 5. Errors block build (type safety non-negotiable)
67
- *
68
- * **SCHEMA EVOLUTION HANDLING:**
69
- * When CIA platform adds/removes schema fields:
70
- * 1. Developer manually updates schema files
71
- * 2. Type generation runs and creates new .d.ts
72
- * 3. TypeScript compiler finds references to removed fields
73
- * 4. Developer updates code to new schema
74
- * 5. Types are regenerated with updated definitions
75
- *
76
- * **TYPESCRIPT COMPILATION INTEGRATION:**
77
- * Generated types used in compilation:
78
- * - `import type { Vote } from '../types/Vote'`
79
- * - Compiler validates against generated interface
80
- * - Prevents data shape mismatches at runtime
81
- * - IDE autocomplete from generated types
82
- *
83
- * **OPTIONAL FEATURE:**
84
- * Type generation is optional - projects can use without types:
85
- * - Dynamic typing still works without generated types
86
- * - Benefits optional, not required
87
- * - Recommended for production systems
88
- * - Improves development velocity through IDE support
89
- *
90
- * **PERFORMANCE CONSIDERATIONS:**
91
- * - Type generation: ~50ms per schema
92
- * - Compilation: Uses cached types if unchanged
93
- * - No runtime overhead (types erased during compilation)
94
- * - Improves IDE responsiveness through type information
95
- *
96
- * **FAILURE MODES:**
97
- * - Invalid schema JSON: Detailed error identifying issue
98
- * - Unsupported schema features: Warning with fallback to any
99
- * - File write errors: Reports permission or disk issues
100
- * - Circular references: Detected and handled with type aliases
101
- *
102
- * **GDPR COMPLIANCE:**
103
- * Generated types include personal data fields:
104
- * - Member names and IDs
105
- * - Department affiliations
106
- * - Vote patterns
107
- * - Committee assignments
108
- * Types help ensure proper data handling:
109
- * - Explicit marking of sensitive fields
110
- * - Runtime validation can check data classifications
111
- * - Type information supports audit requirements
112
- *
113
- * **INTELLIGENCE APPLICATIONS:**
114
- * Type safety supports intelligence workflows:
115
- * - Analysts rely on accurate data shape for reports
116
- * - Prevents data corruption in analytical pipelines
117
- * - Enables automated data quality checking
118
- * - Supports integration testing across data systems
119
- *
120
- * @osint Schema Integrity Monitoring
121
- * - Detects when CIA platform changes schema unexpectedly
122
- * - Generation failures alert to schema compatibility issues
123
- * - Type mismatches reveal integration problems
124
- * - Enables early detection of API changes
125
- *
126
- * @risk Data Integrity Assurance
127
- * - Type checking prevents data shape errors
128
- * - Compile-time validation catches logic errors
129
- * - IDE support reduces runtime errors
130
- * - Build fails if types don't match data
131
- *
132
- * @gdpr Data Classification Support
133
- * - Generated types can include data classification
134
- * - Sensitive fields explicitly marked
135
- * - Supports audit trail for data handling
136
- * - Runtime validation enforces data policies
137
- *
138
- * @security Type-Based Security
139
- * - Prevents injection attacks through type constraints
140
- * - String types prevent code injection
141
- * - Enum types prevent unexpected value injection
142
- * - Object shape validation prevents prototype pollution
143
- *
144
- * @author Hack23 AB (Data Infrastructure & Type Safety)
145
- * @license Apache-2.0
146
- * @version 2.0.0
147
- * @since 2024-06-15
148
- * @see https://json-schema-to-typescript.com/ (Type Generation Library)
149
- * @see schemas/cia/ (JSON Schema Definitions)
150
- * @see types/ (Generated TypeScript Definitions)
151
- * @see Issue #76 (Type Safety Enhancement)
152
- */
153
- declare class CIATypeGenerator {
154
- private readonly schemasDir;
155
- private readonly typesDir;
156
- private readonly results;
157
- constructor();
158
- /**
159
- * Generate TypeScript types from a single schema
160
- */
161
- generateTypesForSchema(schemaFile: string): Promise<boolean>;
162
- /**
163
- * Generate types for all CIA schemas
164
- */
165
- generateAllTypes(): Promise<number>;
166
- /**
167
- * Create index.d.ts that exports all types
168
- */
169
- createIndexFile(): Promise<void>;
170
- /**
171
- * Print generation summary
172
- */
173
- printSummary(): void;
174
- }
175
- export default CIATypeGenerator;
176
- //# sourceMappingURL=generate-types-from-cia-schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-types-from-cia-schemas.d.ts","sourceRoot":"","sources":["../../scripts/generate-types-from-cia-schemas.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsJG;AAoBH,cAAM,gBAAgB;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;;IAW5C;;OAEG;IACG,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4ClE;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IA6CzC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtC;;OAEG;IACH,YAAY,IAAI,IAAI;CAwBrB;AAmBD,eAAe,gBAAgB,CAAC"}
@@ -1,318 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * @module Infrastructure/TypeGeneration
4
- * @category Infrastructure
5
- *
6
- * @title CIA Schema Type Generator - TypeScript Type Safety Infrastructure
7
- *
8
- * @description
9
- * **INTELLIGENCE OPERATIVE PERSPECTIVE**
10
- *
11
- * This module generates TypeScript type definitions from CIA JSON schemas,
12
- * providing compile-time type safety for political data processing. While appearing
13
- * as a technical infrastructure task, type safety serves a critical intelligence
14
- * function: preventing data corruption bugs that could propagate incorrect
15
- * information through the analytical pipeline.
16
- *
17
- * **TYPE SAFETY IN INTELLIGENCE SYSTEMS:**
18
- * Intelligence analysis depends on data accuracy. TypeScript type generation ensures:
19
- * 1. **Shape Validation**: Data matches expected structure before processing
20
- * 2. **Property Typos**: Catches misspelled field names at compile time
21
- * 3. **Type Mismatches**: Prevents treating numbers as strings or vice versa
22
- * 4. **Null Handling**: Explicit handling of optional vs. required fields
23
- * 5. **API Contract**: Ensures MCP tool responses match expected types
24
- *
25
- * **CIA SCHEMA CONVERSION PROCESS:**
26
- * The generator converts JSON Schema β†’ TypeScript types:
27
- * 1. Load JSON schema from schemas/cia/ directory
28
- * 2. Parse schema structure (properties, required fields, type constraints)
29
- * 3. Generate TypeScript interface with all properties
30
- * 4. Add JSDoc comments from schema descriptions
31
- * 5. Handle nested objects and arrays recursively
32
- * 6. Generate Union types for enum fields
33
- * 7. Write to types/ directory
34
- *
35
- * **SUPPORTED SCHEMA CONVERSIONS:**
36
- * - **String Types**: Converted to TypeScript string
37
- * - **Number Types**: integer and number mapped appropriately
38
- * - **Boolean Types**: Converted to TypeScript boolean
39
- * - **Array Types**: Generated as T[] arrays
40
- * - **Nested Objects**: Recursive interface generation
41
- * - **Enum Types**: Union type generation (type field = 'value1' | 'value2')
42
- * - **Optional Fields**: Generated as property?: type notation
43
- * - **Date Fields**: ISO 8601 strings typed as string (runtime validation needed)
44
- *
45
- * **GENERATED TYPE EXAMPLES:**
46
- * From CIA voting schema generates:
47
- * ```typescript
48
- * interface Vote {
49
- * id: string;
50
- * documentId: string;
51
- * date: string; // ISO 8601
52
- * topic: string;
53
- * memberVotes: MemberVote[];
54
- * totalYes: number;
55
- * totalNo: number;
56
- * totalAbstain: number;
57
- * passed: boolean;
58
- * }
59
- * ```
60
- *
61
- * **WORKFLOW:**
62
- * 1. Run during build process: `npm run generate-types-from-cia-schemas`
63
- * 2. Scans schemas/cia/ for all .schema.json files
64
- * 3. Generates corresponding TypeScript .d.ts files
65
- * 4. Reports success/failure for each schema
66
- * 5. Errors block build (type safety non-negotiable)
67
- *
68
- * **SCHEMA EVOLUTION HANDLING:**
69
- * When CIA platform adds/removes schema fields:
70
- * 1. Developer manually updates schema files
71
- * 2. Type generation runs and creates new .d.ts
72
- * 3. TypeScript compiler finds references to removed fields
73
- * 4. Developer updates code to new schema
74
- * 5. Types are regenerated with updated definitions
75
- *
76
- * **TYPESCRIPT COMPILATION INTEGRATION:**
77
- * Generated types used in compilation:
78
- * - `import type { Vote } from '../types/Vote'`
79
- * - Compiler validates against generated interface
80
- * - Prevents data shape mismatches at runtime
81
- * - IDE autocomplete from generated types
82
- *
83
- * **OPTIONAL FEATURE:**
84
- * Type generation is optional - projects can use without types:
85
- * - Dynamic typing still works without generated types
86
- * - Benefits optional, not required
87
- * - Recommended for production systems
88
- * - Improves development velocity through IDE support
89
- *
90
- * **PERFORMANCE CONSIDERATIONS:**
91
- * - Type generation: ~50ms per schema
92
- * - Compilation: Uses cached types if unchanged
93
- * - No runtime overhead (types erased during compilation)
94
- * - Improves IDE responsiveness through type information
95
- *
96
- * **FAILURE MODES:**
97
- * - Invalid schema JSON: Detailed error identifying issue
98
- * - Unsupported schema features: Warning with fallback to any
99
- * - File write errors: Reports permission or disk issues
100
- * - Circular references: Detected and handled with type aliases
101
- *
102
- * **GDPR COMPLIANCE:**
103
- * Generated types include personal data fields:
104
- * - Member names and IDs
105
- * - Department affiliations
106
- * - Vote patterns
107
- * - Committee assignments
108
- * Types help ensure proper data handling:
109
- * - Explicit marking of sensitive fields
110
- * - Runtime validation can check data classifications
111
- * - Type information supports audit requirements
112
- *
113
- * **INTELLIGENCE APPLICATIONS:**
114
- * Type safety supports intelligence workflows:
115
- * - Analysts rely on accurate data shape for reports
116
- * - Prevents data corruption in analytical pipelines
117
- * - Enables automated data quality checking
118
- * - Supports integration testing across data systems
119
- *
120
- * @osint Schema Integrity Monitoring
121
- * - Detects when CIA platform changes schema unexpectedly
122
- * - Generation failures alert to schema compatibility issues
123
- * - Type mismatches reveal integration problems
124
- * - Enables early detection of API changes
125
- *
126
- * @risk Data Integrity Assurance
127
- * - Type checking prevents data shape errors
128
- * - Compile-time validation catches logic errors
129
- * - IDE support reduces runtime errors
130
- * - Build fails if types don't match data
131
- *
132
- * @gdpr Data Classification Support
133
- * - Generated types can include data classification
134
- * - Sensitive fields explicitly marked
135
- * - Supports audit trail for data handling
136
- * - Runtime validation enforces data policies
137
- *
138
- * @security Type-Based Security
139
- * - Prevents injection attacks through type constraints
140
- * - String types prevent code injection
141
- * - Enum types prevent unexpected value injection
142
- * - Object shape validation prevents prototype pollution
143
- *
144
- * @author Hack23 AB (Data Infrastructure & Type Safety)
145
- * @license Apache-2.0
146
- * @version 2.0.0
147
- * @since 2024-06-15
148
- * @see https://json-schema-to-typescript.com/ (Type Generation Library)
149
- * @see schemas/cia/ (JSON Schema Definitions)
150
- * @see types/ (Generated TypeScript Definitions)
151
- * @see Issue #76 (Type Safety Enhancement)
152
- */
153
- import fs from 'node:fs/promises';
154
- import path from 'node:path';
155
- import { fileURLToPath } from 'node:url';
156
- import { compile } from 'json-schema-to-typescript';
157
- const __filename = fileURLToPath(import.meta.url);
158
- const __dirname = path.dirname(__filename);
159
- class CIATypeGenerator {
160
- schemasDir;
161
- typesDir;
162
- results;
163
- constructor() {
164
- this.schemasDir = path.join(__dirname, '..', 'schemas', 'cia');
165
- this.typesDir = path.join(__dirname, '..', 'types');
166
- this.results = {
167
- generated: [],
168
- failed: []
169
- };
170
- }
171
- /**
172
- * Generate TypeScript types from a single schema
173
- */
174
- async generateTypesForSchema(schemaFile) {
175
- const schemaName = schemaFile.replace('.schema.json', '');
176
- console.log(`πŸ“ Generating types for: ${schemaName}...`);
177
- try {
178
- const schemaPath = path.join(this.schemasDir, schemaFile);
179
- const schemaContent = await fs.readFile(schemaPath, 'utf8');
180
- const schema = JSON.parse(schemaContent);
181
- // Generate TypeScript types
182
- const types = await compile(schema, schemaName, {
183
- bannerComment: `/**
184
- * Auto-generated TypeScript types from CIA JSON Schema
185
- * Schema: ${schemaFile}
186
- * Generated: ${new Date().toISOString()}
187
- *
188
- * DO NOT EDIT MANUALLY - This file is auto-generated
189
- * Run 'npm run generate-types' to regenerate
190
- */`,
191
- style: {
192
- semi: true,
193
- singleQuote: true,
194
- tabWidth: 2
195
- }
196
- });
197
- // Save types to file
198
- const typesPath = path.join(this.typesDir, `${schemaName}.d.ts`);
199
- await fs.writeFile(typesPath, types, 'utf8');
200
- console.log(` βœ… Generated: ${schemaName}.d.ts`);
201
- this.results.generated.push(schemaName);
202
- return true;
203
- }
204
- catch (error) {
205
- console.error(` ❌ Failed: ${schemaName} - ${error.message}`);
206
- this.results.failed.push({
207
- schema: schemaName,
208
- error: error.message
209
- });
210
- return false;
211
- }
212
- }
213
- /**
214
- * Generate types for all CIA schemas
215
- */
216
- async generateAllTypes() {
217
- console.log('πŸ“ CIA Type Generation');
218
- console.log('='.repeat(50));
219
- console.log(`πŸ“ Schemas directory: ${this.schemasDir}`);
220
- console.log(`πŸ“ Types directory: ${this.typesDir}`);
221
- console.log('');
222
- // Ensure types directory exists
223
- await fs.mkdir(this.typesDir, { recursive: true });
224
- // Get all schema files
225
- let schemaFiles;
226
- try {
227
- const files = await fs.readdir(this.schemasDir);
228
- schemaFiles = files.filter((f) => f.endsWith('.schema.json'));
229
- }
230
- catch (_error) {
231
- console.error('❌ Could not read schemas directory');
232
- console.error(' Run "npm run sync-schemas" first to download schemas');
233
- return 1;
234
- }
235
- if (schemaFiles.length === 0) {
236
- console.log('⚠️ No schema files found');
237
- console.log(' Run "npm run sync-schemas" first to download schemas');
238
- return 1;
239
- }
240
- console.log(`πŸ“Š Found ${schemaFiles.length} schema file(s)`);
241
- console.log('');
242
- // Generate types for each schema
243
- for (const schemaFile of schemaFiles) {
244
- await this.generateTypesForSchema(schemaFile);
245
- }
246
- // Create index file
247
- await this.createIndexFile();
248
- // Print summary
249
- this.printSummary();
250
- // Return exit code
251
- return this.results.failed.length === 0 ? 0 : 1;
252
- }
253
- /**
254
- * Create index.d.ts that exports all types
255
- */
256
- async createIndexFile() {
257
- const imports = this.results.generated
258
- .map((name) => `export * from './${name}';`)
259
- .join('\n');
260
- const indexContent = `/**
261
- * CIA Data Types - Index
262
- * Auto-generated from CIA JSON Schemas
263
- * Generated: ${new Date().toISOString()}
264
- *
265
- * DO NOT EDIT MANUALLY
266
- */
267
-
268
- ${imports}
269
- `;
270
- const indexPath = path.join(this.typesDir, 'index.d.ts');
271
- await fs.writeFile(indexPath, indexContent, 'utf8');
272
- console.log('');
273
- console.log('πŸ“¦ Created index.d.ts');
274
- }
275
- /**
276
- * Print generation summary
277
- */
278
- printSummary() {
279
- console.log('');
280
- console.log('='.repeat(50));
281
- console.log('πŸ“Š Type Generation Summary');
282
- console.log('='.repeat(50));
283
- console.log(`βœ… Generated: ${this.results.generated.length}`);
284
- console.log(`❌ Failed: ${this.results.failed.length}`);
285
- if (this.results.failed.length > 0) {
286
- console.log('');
287
- console.log('⚠️ Failed generations:');
288
- for (const failure of this.results.failed) {
289
- console.log(` - ${failure.schema}: ${failure.error}`);
290
- }
291
- }
292
- console.log('');
293
- console.log(`πŸ“ Types saved to: ${this.typesDir}`);
294
- console.log('='.repeat(50));
295
- console.log('');
296
- console.log('πŸ’‘ Usage:');
297
- console.log(' import type { OverviewDashboard } from "./types/overview-dashboard";');
298
- console.log(' import type * as CIATypes from "./types";');
299
- }
300
- }
301
- // Main execution
302
- async function main() {
303
- try {
304
- const generator = new CIATypeGenerator();
305
- const exitCode = await generator.generateAllTypes();
306
- process.exit(exitCode);
307
- }
308
- catch (error) {
309
- console.error('πŸ’₯ Fatal error:', error);
310
- process.exit(1);
311
- }
312
- }
313
- // Run if called directly
314
- if (import.meta.url === `file://${process.argv[1]}`) {
315
- main();
316
- }
317
- export default CIATypeGenerator;
318
- //# sourceMappingURL=generate-types-from-cia-schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-types-from-cia-schemas.js","sourceRoot":"","sources":["../../scripts/generate-types-from-cia-schemas.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * @module government-role-validator
3
- * @description Validates government role attributions against the CIA platform's
4
- * authoritative government role member data (view_riksdagen_goverment_role_member_sample.csv).
5
- *
6
- * ROOT CAUSE PREVENTION: Agentic workflows previously hallucinated government titles
7
- * (e.g. calling Lotta Edholm "Deputy Prime Minister" when she is gymnasie-, hΓΆgskole-
8
- * och forskningsminister, and the actual Vice statsminister is Ebba Busch (KD)).
9
- * This module provides a validation layer that cross-references names against
10
- * known government roles from the CIA data export.
11
- *
12
- * The CSV is downloaded from:
13
- * https://raw.githubusercontent.com/Hack23/cia/refs/heads/master/service.data.impl/sample-data/view_riksdagen_goverment_role_member_sample.csv
14
- *
15
- * @author Hack23 AB
16
- * @license Apache-2.0
17
- */
18
- /** A single government role record from the CIA data export. */
19
- export interface GovernmentRoleMember {
20
- readonly roleId: string;
21
- readonly department: string;
22
- readonly roleCode: string;
23
- readonly firstName: string;
24
- readonly lastName: string;
25
- readonly fromDate: string;
26
- readonly toDate: string;
27
- readonly personId: string;
28
- readonly party: string;
29
- readonly active: boolean;
30
- }
31
- /** Result of validating a name + claimed role against known data. */
32
- export interface RoleValidationResult {
33
- readonly valid: boolean;
34
- readonly name: string;
35
- readonly claimedRole: string;
36
- readonly actualRoles: readonly GovernmentRoleMember[];
37
- readonly suggestion: string;
38
- }
39
- export declare function loadGovernmentRoleMembers(repoRoot?: string): GovernmentRoleMember[];
40
- /** Clear the cache (useful for testing). */
41
- export declare function clearCache(): void;
42
- /**
43
- * Find all government roles for a person by last name (and optionally first name).
44
- * Returns roles sorted by most recent first.
45
- */
46
- export declare function findRolesForPerson(lastName: string, firstName?: string, repoRoot?: string): GovernmentRoleMember[];
47
- /**
48
- * Get the current (most recent active, or most recent) role for a person.
49
- */
50
- export declare function getCurrentRole(lastName: string, firstName?: string, repoRoot?: string): GovernmentRoleMember | undefined;
51
- /**
52
- * Validate whether a claimed government role title is correct for a person.
53
- * Returns a validation result with the actual role and a correction suggestion.
54
- *
55
- * @param fullName - Full name of the person (e.g. "Lotta Edholm")
56
- * @param claimedRole - The role attributed in the article (e.g. "Deputy Prime Minister")
57
- * @param repoRoot - Optional repository root path
58
- */
59
- export declare function validateGovernmentRole(fullName: string, claimedRole: string, repoRoot?: string): RoleValidationResult;
60
- /**
61
- * Get a formatted role description for a person suitable for article text.
62
- * Returns the most current role in "RoleCode FirstName LastName (Party)" format.
63
- */
64
- export declare function getFormattedRole(lastName: string, firstName?: string, repoRoot?: string): string | undefined;
65
- //# sourceMappingURL=government-role-validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"government-role-validator.d.ts","sourceRoot":"","sources":["../../scripts/government-role-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,gEAAgE;AAChE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAqED,wBAAgB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAkBnF;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,oBAAoB,EAAE,CAYxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,oBAAoB,GAAG,SAAS,CAKlC;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,oBAAoB,CAiEtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAIpB"}