@tricoteuses/senat 3.0.2 → 3.1.0

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 (566) hide show
  1. package/lib/src/ameli.d.ts +66 -0
  2. package/lib/src/ameli.js +1 -0
  3. package/lib/src/db_types/ameli.d.ts +1762 -0
  4. package/lib/src/db_types/ameli.js +1074 -0
  5. package/lib/src/db_types/debats.d.ts +380 -0
  6. package/lib/src/db_types/debats.js +266 -0
  7. package/lib/src/db_types/dosleg.d.ts +2954 -0
  8. package/lib/src/db_types/dosleg.js +2005 -0
  9. package/lib/src/db_types/questions.d.ts +699 -0
  10. package/lib/src/db_types/questions.js +493 -0
  11. package/lib/src/db_types/sens.d.ts +7843 -0
  12. package/lib/src/db_types/sens.js +4691 -0
  13. package/lib/src/debats.d.ts +38 -0
  14. package/lib/src/debats.js +1 -0
  15. package/lib/src/documents.d.ts +30 -0
  16. package/lib/src/documents.js +1 -0
  17. package/lib/src/dosleg.d.ts +142 -0
  18. package/lib/src/dosleg.js +193 -0
  19. package/lib/src/index.d.ts +41 -24
  20. package/lib/src/index.js +27 -6
  21. package/lib/src/kanel_types/ameli.d.ts +1762 -0
  22. package/lib/src/kanel_types/ameli.js +1074 -0
  23. package/lib/src/kanel_types/debats.d.ts +380 -0
  24. package/lib/src/kanel_types/debats.js +266 -0
  25. package/lib/src/kanel_types/dosleg.d.ts +2954 -0
  26. package/lib/src/kanel_types/dosleg.js +2005 -0
  27. package/lib/src/kanel_types/questions.d.ts +699 -0
  28. package/lib/src/kanel_types/questions.js +493 -0
  29. package/lib/src/kanel_types/sens.d.ts +7843 -0
  30. package/lib/src/kanel_types/sens.js +4691 -0
  31. package/lib/src/kysely/index.d.ts +216 -0
  32. package/lib/src/kysely/index.js +11 -0
  33. package/lib/src/kysely_types/ameli/Amd.d.ts +91 -0
  34. package/lib/src/kysely_types/ameli/Amd.js +3 -0
  35. package/lib/src/kysely_types/ameli/Amdsen.d.ts +24 -0
  36. package/lib/src/kysely_types/ameli/Amdsen.js +3 -0
  37. package/lib/src/kysely_types/ameli/Avicom.d.ts +14 -0
  38. package/lib/src/kysely_types/ameli/Avicom.js +3 -0
  39. package/lib/src/kysely_types/ameli/Avigvt.d.ts +14 -0
  40. package/lib/src/kysely_types/ameli/Avigvt.js +3 -0
  41. package/lib/src/kysely_types/ameli/Cab.d.ts +14 -0
  42. package/lib/src/kysely_types/ameli/Cab.js +3 -0
  43. package/lib/src/kysely_types/ameli/ComAmeli.d.ts +22 -0
  44. package/lib/src/kysely_types/ameli/ComAmeli.js +3 -0
  45. package/lib/src/kysely_types/ameli/Database.d.ts +3 -0
  46. package/lib/src/kysely_types/ameli/Database.js +3 -0
  47. package/lib/src/kysely_types/ameli/Ent.d.ts +14 -0
  48. package/lib/src/kysely_types/ameli/Ent.js +3 -0
  49. package/lib/src/kysely_types/ameli/Etatxt.d.ts +15 -0
  50. package/lib/src/kysely_types/ameli/Etatxt.js +3 -0
  51. package/lib/src/kysely_types/ameli/Fbu.d.ts +17 -0
  52. package/lib/src/kysely_types/ameli/Fbu.js +3 -0
  53. package/lib/src/kysely_types/ameli/GrppolAmeli.d.ts +20 -0
  54. package/lib/src/kysely_types/ameli/GrppolAmeli.js +3 -0
  55. package/lib/src/kysely_types/ameli/Gvt.d.ts +18 -0
  56. package/lib/src/kysely_types/ameli/Gvt.js +3 -0
  57. package/lib/src/kysely_types/ameli/Intora.d.ts +33 -0
  58. package/lib/src/kysely_types/ameli/Intora.js +3 -0
  59. package/lib/src/kysely_types/ameli/Irr.d.ts +21 -0
  60. package/lib/src/kysely_types/ameli/Irr.js +3 -0
  61. package/lib/src/kysely_types/ameli/LecAmeli.d.ts +14 -0
  62. package/lib/src/kysely_types/ameli/LecAmeli.js +3 -0
  63. package/lib/src/kysely_types/ameli/Mot.d.ts +20 -0
  64. package/lib/src/kysely_types/ameli/Mot.js +3 -0
  65. package/lib/src/kysely_types/ameli/Nat.d.ts +13 -0
  66. package/lib/src/kysely_types/ameli/Nat.js +3 -0
  67. package/lib/src/kysely_types/ameli/Orarol.d.ts +14 -0
  68. package/lib/src/kysely_types/ameli/Orarol.js +3 -0
  69. package/lib/src/kysely_types/ameli/Sai.d.ts +25 -0
  70. package/lib/src/kysely_types/ameli/Sai.js +3 -0
  71. package/lib/src/kysely_types/ameli/Saisen.d.ts +15 -0
  72. package/lib/src/kysely_types/ameli/Saisen.js +3 -0
  73. package/lib/src/kysely_types/ameli/Sea.d.ts +17 -0
  74. package/lib/src/kysely_types/ameli/Sea.js +3 -0
  75. package/lib/src/kysely_types/ameli/SenAmeli.d.ts +36 -0
  76. package/lib/src/kysely_types/ameli/SenAmeli.js +3 -0
  77. package/lib/src/kysely_types/ameli/SenatSchema.d.ts +60 -0
  78. package/lib/src/kysely_types/ameli/SenatSchema.js +3 -0
  79. package/lib/src/kysely_types/ameli/Ses.d.ts +17 -0
  80. package/lib/src/kysely_types/ameli/Ses.js +3 -0
  81. package/lib/src/kysely_types/ameli/Sor.d.ts +16 -0
  82. package/lib/src/kysely_types/ameli/Sor.js +3 -0
  83. package/lib/src/kysely_types/ameli/Sub.d.ts +44 -0
  84. package/lib/src/kysely_types/ameli/Sub.js +3 -0
  85. package/lib/src/kysely_types/ameli/TxtAmeli.d.ts +77 -0
  86. package/lib/src/kysely_types/ameli/TxtAmeli.js +3 -0
  87. package/lib/src/kysely_types/ameli/Typrect.d.ts +14 -0
  88. package/lib/src/kysely_types/ameli/Typrect.js +3 -0
  89. package/lib/src/kysely_types/ameli/Typses.d.ts +12 -0
  90. package/lib/src/kysely_types/ameli/Typses.js +3 -0
  91. package/lib/src/kysely_types/ameli/Typsub.d.ts +12 -0
  92. package/lib/src/kysely_types/ameli/Typsub.js +3 -0
  93. package/lib/src/kysely_types/ameli/WNivrec.d.ts +12 -0
  94. package/lib/src/kysely_types/ameli/WNivrec.js +3 -0
  95. package/lib/src/kysely_types/debats/Database.d.ts +3 -0
  96. package/lib/src/kysely_types/debats/Database.js +3 -0
  97. package/lib/src/kysely_types/debats/Debats.d.ts +25 -0
  98. package/lib/src/kysely_types/debats/Debats.js +3 -0
  99. package/lib/src/kysely_types/debats/Intdivers.d.ts +22 -0
  100. package/lib/src/kysely_types/debats/Intdivers.js +3 -0
  101. package/lib/src/kysely_types/debats/Intpjl.d.ts +22 -0
  102. package/lib/src/kysely_types/debats/Intpjl.js +3 -0
  103. package/lib/src/kysely_types/debats/Lecassdeb.d.ts +13 -0
  104. package/lib/src/kysely_types/debats/Lecassdeb.js +3 -0
  105. package/lib/src/kysely_types/debats/Secdis.d.ts +27 -0
  106. package/lib/src/kysely_types/debats/Secdis.js +3 -0
  107. package/lib/src/kysely_types/debats/Secdivers.d.ts +19 -0
  108. package/lib/src/kysely_types/debats/Secdivers.js +3 -0
  109. package/lib/src/kysely_types/debats/SenatSchema.d.ts +18 -0
  110. package/lib/src/kysely_types/debats/SenatSchema.js +3 -0
  111. package/lib/src/kysely_types/debats/Syndeb.d.ts +12 -0
  112. package/lib/src/kysely_types/debats/Syndeb.js +3 -0
  113. package/lib/src/kysely_types/debats/Typsec.d.ts +14 -0
  114. package/lib/src/kysely_types/debats/Typsec.js +3 -0
  115. package/lib/src/kysely_types/dosleg/Amescr.d.ts +13 -0
  116. package/lib/src/kysely_types/dosleg/Amescr.js +3 -0
  117. package/lib/src/kysely_types/dosleg/Ass.d.ts +12 -0
  118. package/lib/src/kysely_types/dosleg/Ass.js +3 -0
  119. package/lib/src/kysely_types/dosleg/Aud.d.ts +19 -0
  120. package/lib/src/kysely_types/dosleg/Aud.js +3 -0
  121. package/lib/src/kysely_types/dosleg/Auteur.d.ts +34 -0
  122. package/lib/src/kysely_types/dosleg/Auteur.js +3 -0
  123. package/lib/src/kysely_types/dosleg/Ble.d.ts +12 -0
  124. package/lib/src/kysely_types/dosleg/Ble.js +3 -0
  125. package/lib/src/kysely_types/dosleg/Catrap.d.ts +12 -0
  126. package/lib/src/kysely_types/dosleg/Catrap.js +3 -0
  127. package/lib/src/kysely_types/dosleg/Corscr.d.ts +17 -0
  128. package/lib/src/kysely_types/dosleg/Corscr.js +3 -0
  129. package/lib/src/kysely_types/dosleg/Database.d.ts +3 -0
  130. package/lib/src/kysely_types/dosleg/Database.js +3 -0
  131. package/lib/src/kysely_types/dosleg/DateSeance.d.ts +16 -0
  132. package/lib/src/kysely_types/dosleg/DateSeance.js +3 -0
  133. package/lib/src/kysely_types/dosleg/Deccoc.d.ts +12 -0
  134. package/lib/src/kysely_types/dosleg/Deccoc.js +3 -0
  135. package/lib/src/kysely_types/dosleg/Denrap.d.ts +26 -0
  136. package/lib/src/kysely_types/dosleg/Denrap.js +3 -0
  137. package/lib/src/kysely_types/dosleg/Doc.d.ts +33 -0
  138. package/lib/src/kysely_types/dosleg/Doc.js +3 -0
  139. package/lib/src/kysely_types/dosleg/Docatt.d.ts +16 -0
  140. package/lib/src/kysely_types/dosleg/Docatt.js +3 -0
  141. package/lib/src/kysely_types/dosleg/Docsea.d.ts +19 -0
  142. package/lib/src/kysely_types/dosleg/Docsea.js +3 -0
  143. package/lib/src/kysely_types/dosleg/Ecr.d.ts +26 -0
  144. package/lib/src/kysely_types/dosleg/Ecr.js +3 -0
  145. package/lib/src/kysely_types/dosleg/Etaloi.d.ts +12 -0
  146. package/lib/src/kysely_types/dosleg/Etaloi.js +3 -0
  147. package/lib/src/kysely_types/dosleg/Evtsea.d.ts +18 -0
  148. package/lib/src/kysely_types/dosleg/Evtsea.js +3 -0
  149. package/lib/src/kysely_types/dosleg/Forpub.d.ts +12 -0
  150. package/lib/src/kysely_types/dosleg/Forpub.js +3 -0
  151. package/lib/src/kysely_types/dosleg/Gen.d.ts +11 -0
  152. package/lib/src/kysely_types/dosleg/Gen.js +3 -0
  153. package/lib/src/kysely_types/dosleg/Lecass.d.ts +84 -0
  154. package/lib/src/kysely_types/dosleg/Lecass.js +3 -0
  155. package/lib/src/kysely_types/dosleg/Lecassrap.d.ts +15 -0
  156. package/lib/src/kysely_types/dosleg/Lecassrap.js +3 -0
  157. package/lib/src/kysely_types/dosleg/Lecture.d.ts +16 -0
  158. package/lib/src/kysely_types/dosleg/Lecture.js +3 -0
  159. package/lib/src/kysely_types/dosleg/Lnkrap.d.ts +16 -0
  160. package/lib/src/kysely_types/dosleg/Lnkrap.js +3 -0
  161. package/lib/src/kysely_types/dosleg/Loi.d.ts +93 -0
  162. package/lib/src/kysely_types/dosleg/Loi.js +3 -0
  163. package/lib/src/kysely_types/dosleg/Loithe.d.ts +13 -0
  164. package/lib/src/kysely_types/dosleg/Loithe.js +3 -0
  165. package/lib/src/kysely_types/dosleg/Natloi.d.ts +12 -0
  166. package/lib/src/kysely_types/dosleg/Natloi.js +3 -0
  167. package/lib/src/kysely_types/dosleg/Org.d.ts +48 -0
  168. package/lib/src/kysely_types/dosleg/Org.js +3 -0
  169. package/lib/src/kysely_types/dosleg/Orgnomhis.d.ts +28 -0
  170. package/lib/src/kysely_types/dosleg/Orgnomhis.js +3 -0
  171. package/lib/src/kysely_types/dosleg/Orippr.d.ts +12 -0
  172. package/lib/src/kysely_types/dosleg/Orippr.js +3 -0
  173. package/lib/src/kysely_types/dosleg/Oritxt.d.ts +25 -0
  174. package/lib/src/kysely_types/dosleg/Oritxt.js +3 -0
  175. package/lib/src/kysely_types/dosleg/Posvot.d.ts +12 -0
  176. package/lib/src/kysely_types/dosleg/Posvot.js +3 -0
  177. package/lib/src/kysely_types/dosleg/Qua.d.ts +16 -0
  178. package/lib/src/kysely_types/dosleg/Qua.js +3 -0
  179. package/lib/src/kysely_types/dosleg/Rap.d.ts +64 -0
  180. package/lib/src/kysely_types/dosleg/Rap.js +3 -0
  181. package/lib/src/kysely_types/dosleg/Raporg.d.ts +13 -0
  182. package/lib/src/kysely_types/dosleg/Raporg.js +3 -0
  183. package/lib/src/kysely_types/dosleg/Rapthe.d.ts +13 -0
  184. package/lib/src/kysely_types/dosleg/Rapthe.js +3 -0
  185. package/lib/src/kysely_types/dosleg/Rolsig.d.ts +12 -0
  186. package/lib/src/kysely_types/dosleg/Rolsig.js +3 -0
  187. package/lib/src/kysely_types/dosleg/Scr.d.ts +46 -0
  188. package/lib/src/kysely_types/dosleg/Scr.js +3 -0
  189. package/lib/src/kysely_types/dosleg/SenatSchema.d.ts +108 -0
  190. package/lib/src/kysely_types/dosleg/SenatSchema.js +3 -0
  191. package/lib/src/kysely_types/dosleg/Ses.d.ts +12 -0
  192. package/lib/src/kysely_types/dosleg/Ses.js +3 -0
  193. package/lib/src/kysely_types/dosleg/Stavot.d.ts +12 -0
  194. package/lib/src/kysely_types/dosleg/Stavot.js +3 -0
  195. package/lib/src/kysely_types/dosleg/Texte.d.ts +54 -0
  196. package/lib/src/kysely_types/dosleg/Texte.js +3 -0
  197. package/lib/src/kysely_types/dosleg/TexteAncien.d.ts +20 -0
  198. package/lib/src/kysely_types/dosleg/TexteAncien.js +3 -0
  199. package/lib/src/kysely_types/dosleg/The.d.ts +14 -0
  200. package/lib/src/kysely_types/dosleg/The.js +3 -0
  201. package/lib/src/kysely_types/dosleg/Titsen.d.ts +12 -0
  202. package/lib/src/kysely_types/dosleg/Titsen.js +3 -0
  203. package/lib/src/kysely_types/dosleg/Typatt.d.ts +12 -0
  204. package/lib/src/kysely_types/dosleg/Typatt.js +3 -0
  205. package/lib/src/kysely_types/dosleg/Typaut.d.ts +12 -0
  206. package/lib/src/kysely_types/dosleg/Typaut.js +3 -0
  207. package/lib/src/kysely_types/dosleg/Typdoc.d.ts +12 -0
  208. package/lib/src/kysely_types/dosleg/Typdoc.js +3 -0
  209. package/lib/src/kysely_types/dosleg/Typevtsea.d.ts +12 -0
  210. package/lib/src/kysely_types/dosleg/Typevtsea.js +3 -0
  211. package/lib/src/kysely_types/dosleg/Typlec.d.ts +14 -0
  212. package/lib/src/kysely_types/dosleg/Typlec.js +3 -0
  213. package/lib/src/kysely_types/dosleg/Typloi.d.ts +26 -0
  214. package/lib/src/kysely_types/dosleg/Typloi.js +3 -0
  215. package/lib/src/kysely_types/dosleg/Typorg.d.ts +20 -0
  216. package/lib/src/kysely_types/dosleg/Typorg.js +3 -0
  217. package/lib/src/kysely_types/dosleg/Typrap.d.ts +26 -0
  218. package/lib/src/kysely_types/dosleg/Typrap.js +3 -0
  219. package/lib/src/kysely_types/dosleg/Typtxt.d.ts +12 -0
  220. package/lib/src/kysely_types/dosleg/Typtxt.js +3 -0
  221. package/lib/src/kysely_types/dosleg/Typurl.d.ts +12 -0
  222. package/lib/src/kysely_types/dosleg/Typurl.js +3 -0
  223. package/lib/src/kysely_types/dosleg/Votsen.d.ts +25 -0
  224. package/lib/src/kysely_types/dosleg/Votsen.js +3 -0
  225. package/lib/src/kysely_types/questions/Database.d.ts +3 -0
  226. package/lib/src/kysely_types/questions/Database.js +3 -0
  227. package/lib/src/kysely_types/questions/Etatquestion.d.ts +14 -0
  228. package/lib/src/kysely_types/questions/Etatquestion.js +3 -0
  229. package/lib/src/kysely_types/questions/Legquestion.d.ts +18 -0
  230. package/lib/src/kysely_types/questions/Legquestion.js +3 -0
  231. package/lib/src/kysely_types/questions/Naturequestion.d.ts +15 -0
  232. package/lib/src/kysely_types/questions/Naturequestion.js +3 -0
  233. package/lib/src/kysely_types/questions/SenatSchema.d.ts +18 -0
  234. package/lib/src/kysely_types/questions/SenatSchema.js +3 -0
  235. package/lib/src/kysely_types/questions/Sortquestion.d.ts +14 -0
  236. package/lib/src/kysely_types/questions/Sortquestion.js +3 -0
  237. package/lib/src/kysely_types/questions/TamMinisteres.d.ts +28 -0
  238. package/lib/src/kysely_types/questions/TamMinisteres.js +3 -0
  239. package/lib/src/kysely_types/questions/TamQuestions.d.ts +124 -0
  240. package/lib/src/kysely_types/questions/TamQuestions.js +3 -0
  241. package/lib/src/kysely_types/questions/TamReponses.d.ts +32 -0
  242. package/lib/src/kysely_types/questions/TamReponses.js +3 -0
  243. package/lib/src/kysely_types/questions/The.d.ts +16 -0
  244. package/lib/src/kysely_types/questions/The.js +3 -0
  245. package/lib/src/kysely_types/sens/Activite.d.ts +34 -0
  246. package/lib/src/kysely_types/sens/Activite.js +3 -0
  247. package/lib/src/kysely_types/sens/ActiviteDelegation.d.ts +15 -0
  248. package/lib/src/kysely_types/sens/ActiviteDelegation.js +3 -0
  249. package/lib/src/kysely_types/sens/ActiviteLoi.d.ts +13 -0
  250. package/lib/src/kysely_types/sens/ActiviteLoi.js +3 -0
  251. package/lib/src/kysely_types/sens/ActiviteParticipant.d.ts +25 -0
  252. package/lib/src/kysely_types/sens/ActiviteParticipant.js +3 -0
  253. package/lib/src/kysely_types/sens/ActiviteSenateur.d.ts +21 -0
  254. package/lib/src/kysely_types/sens/ActiviteSenateur.js +3 -0
  255. package/lib/src/kysely_types/sens/ActivitesLiees.d.ts +10 -0
  256. package/lib/src/kysely_types/sens/ActivitesLiees.js +3 -0
  257. package/lib/src/kysely_types/sens/Actpro.d.ts +16 -0
  258. package/lib/src/kysely_types/sens/Actpro.js +3 -0
  259. package/lib/src/kysely_types/sens/Adresse.d.ts +39 -0
  260. package/lib/src/kysely_types/sens/Adresse.js +3 -0
  261. package/lib/src/kysely_types/sens/Asster.d.ts +18 -0
  262. package/lib/src/kysely_types/sens/Asster.js +3 -0
  263. package/lib/src/kysely_types/sens/Bur.d.ts +46 -0
  264. package/lib/src/kysely_types/sens/Bur.js +3 -0
  265. package/lib/src/kysely_types/sens/CategorieActivite.d.ts +13 -0
  266. package/lib/src/kysely_types/sens/CategorieActivite.js +3 -0
  267. package/lib/src/kysely_types/sens/Com.d.ts +48 -0
  268. package/lib/src/kysely_types/sens/Com.js +3 -0
  269. package/lib/src/kysely_types/sens/Csp.d.ts +22 -0
  270. package/lib/src/kysely_types/sens/Csp.js +3 -0
  271. package/lib/src/kysely_types/sens/Database.d.ts +3 -0
  272. package/lib/src/kysely_types/sens/Database.js +3 -0
  273. package/lib/src/kysely_types/sens/Delega.d.ts +46 -0
  274. package/lib/src/kysely_types/sens/Delega.js +3 -0
  275. package/lib/src/kysely_types/sens/Design.d.ts +33 -0
  276. package/lib/src/kysely_types/sens/Design.js +3 -0
  277. package/lib/src/kysely_types/sens/Designoep.d.ts +36 -0
  278. package/lib/src/kysely_types/sens/Designoep.js +3 -0
  279. package/lib/src/kysely_types/sens/Designorg.d.ts +39 -0
  280. package/lib/src/kysely_types/sens/Designorg.js +3 -0
  281. package/lib/src/kysely_types/sens/Dpt.d.ts +54 -0
  282. package/lib/src/kysely_types/sens/Dpt.js +3 -0
  283. package/lib/src/kysely_types/sens/Dptele.d.ts +35 -0
  284. package/lib/src/kysely_types/sens/Dptele.js +3 -0
  285. package/lib/src/kysely_types/sens/Dpttypman.d.ts +14 -0
  286. package/lib/src/kysely_types/sens/Dpttypman.js +3 -0
  287. package/lib/src/kysely_types/sens/Ele.d.ts +35 -0
  288. package/lib/src/kysely_types/sens/Ele.js +3 -0
  289. package/lib/src/kysely_types/sens/Elucan.d.ts +50 -0
  290. package/lib/src/kysely_types/sens/Elucan.js +3 -0
  291. package/lib/src/kysely_types/sens/Eludep.d.ts +49 -0
  292. package/lib/src/kysely_types/sens/Eludep.js +3 -0
  293. package/lib/src/kysely_types/sens/Eludiv.d.ts +47 -0
  294. package/lib/src/kysely_types/sens/Eludiv.js +3 -0
  295. package/lib/src/kysely_types/sens/Elueur.d.ts +47 -0
  296. package/lib/src/kysely_types/sens/Elueur.js +3 -0
  297. package/lib/src/kysely_types/sens/Elureg.d.ts +48 -0
  298. package/lib/src/kysely_types/sens/Elureg.js +3 -0
  299. package/lib/src/kysely_types/sens/Elusen.d.ts +52 -0
  300. package/lib/src/kysely_types/sens/Elusen.js +3 -0
  301. package/lib/src/kysely_types/sens/Eluter.d.ts +47 -0
  302. package/lib/src/kysely_types/sens/Eluter.js +3 -0
  303. package/lib/src/kysely_types/sens/Elutit.d.ts +38 -0
  304. package/lib/src/kysely_types/sens/Elutit.js +3 -0
  305. package/lib/src/kysely_types/sens/Eluvil.d.ts +48 -0
  306. package/lib/src/kysely_types/sens/Eluvil.js +3 -0
  307. package/lib/src/kysely_types/sens/Etadebman.d.ts +34 -0
  308. package/lib/src/kysely_types/sens/Etadebman.js +3 -0
  309. package/lib/src/kysely_types/sens/Etafinman.d.ts +34 -0
  310. package/lib/src/kysely_types/sens/Etafinman.js +3 -0
  311. package/lib/src/kysely_types/sens/Etasen.d.ts +34 -0
  312. package/lib/src/kysely_types/sens/Etasen.js +3 -0
  313. package/lib/src/kysely_types/sens/FonactParticipant.d.ts +16 -0
  314. package/lib/src/kysely_types/sens/FonactParticipant.js +3 -0
  315. package/lib/src/kysely_types/sens/Foncom.d.ts +40 -0
  316. package/lib/src/kysely_types/sens/Foncom.js +3 -0
  317. package/lib/src/kysely_types/sens/Fondelega.d.ts +40 -0
  318. package/lib/src/kysely_types/sens/Fondelega.js +3 -0
  319. package/lib/src/kysely_types/sens/Fongrppol.d.ts +40 -0
  320. package/lib/src/kysely_types/sens/Fongrppol.js +3 -0
  321. package/lib/src/kysely_types/sens/Fongrpsen.d.ts +27 -0
  322. package/lib/src/kysely_types/sens/Fongrpsen.js +3 -0
  323. package/lib/src/kysely_types/sens/Fonmemcom.d.ts +37 -0
  324. package/lib/src/kysely_types/sens/Fonmemcom.js +3 -0
  325. package/lib/src/kysely_types/sens/Fonmemdelega.d.ts +37 -0
  326. package/lib/src/kysely_types/sens/Fonmemdelega.js +3 -0
  327. package/lib/src/kysely_types/sens/Fonmemgrppol.d.ts +35 -0
  328. package/lib/src/kysely_types/sens/Fonmemgrppol.js +3 -0
  329. package/lib/src/kysely_types/sens/Fonmemgrpsen.d.ts +32 -0
  330. package/lib/src/kysely_types/sens/Fonmemgrpsen.js +3 -0
  331. package/lib/src/kysely_types/sens/Fonmemorg.d.ts +41 -0
  332. package/lib/src/kysely_types/sens/Fonmemorg.js +3 -0
  333. package/lib/src/kysely_types/sens/Fonorg.d.ts +40 -0
  334. package/lib/src/kysely_types/sens/Fonorg.js +3 -0
  335. package/lib/src/kysely_types/sens/Grppol.d.ts +46 -0
  336. package/lib/src/kysely_types/sens/Grppol.js +3 -0
  337. package/lib/src/kysely_types/sens/Grpsenami.d.ts +55 -0
  338. package/lib/src/kysely_types/sens/Grpsenami.js +3 -0
  339. package/lib/src/kysely_types/sens/Libcom.d.ts +36 -0
  340. package/lib/src/kysely_types/sens/Libcom.js +3 -0
  341. package/lib/src/kysely_types/sens/Libdelega.d.ts +34 -0
  342. package/lib/src/kysely_types/sens/Libdelega.js +3 -0
  343. package/lib/src/kysely_types/sens/Libgrppol.d.ts +36 -0
  344. package/lib/src/kysely_types/sens/Libgrppol.js +3 -0
  345. package/lib/src/kysely_types/sens/Libgrpsen.d.ts +28 -0
  346. package/lib/src/kysely_types/sens/Libgrpsen.js +3 -0
  347. package/lib/src/kysely_types/sens/Liborg.d.ts +34 -0
  348. package/lib/src/kysely_types/sens/Liborg.js +3 -0
  349. package/lib/src/kysely_types/sens/Mel.d.ts +19 -0
  350. package/lib/src/kysely_types/sens/Mel.js +3 -0
  351. package/lib/src/kysely_types/sens/Memcom.d.ts +37 -0
  352. package/lib/src/kysely_types/sens/Memcom.js +3 -0
  353. package/lib/src/kysely_types/sens/Memdelega.d.ts +38 -0
  354. package/lib/src/kysely_types/sens/Memdelega.js +3 -0
  355. package/lib/src/kysely_types/sens/Memextpar.d.ts +56 -0
  356. package/lib/src/kysely_types/sens/Memextpar.js +3 -0
  357. package/lib/src/kysely_types/sens/Memgrppol.d.ts +38 -0
  358. package/lib/src/kysely_types/sens/Memgrppol.js +3 -0
  359. package/lib/src/kysely_types/sens/Memgrpsen.d.ts +30 -0
  360. package/lib/src/kysely_types/sens/Memgrpsen.js +3 -0
  361. package/lib/src/kysely_types/sens/Memorg.d.ts +42 -0
  362. package/lib/src/kysely_types/sens/Memorg.js +3 -0
  363. package/lib/src/kysely_types/sens/Minind.d.ts +46 -0
  364. package/lib/src/kysely_types/sens/Minind.js +3 -0
  365. package/lib/src/kysely_types/sens/Mismin.d.ts +17 -0
  366. package/lib/src/kysely_types/sens/Mismin.js +3 -0
  367. package/lib/src/kysely_types/sens/Missen.d.ts +17 -0
  368. package/lib/src/kysely_types/sens/Missen.js +3 -0
  369. package/lib/src/kysely_types/sens/Moddes.d.ts +30 -0
  370. package/lib/src/kysely_types/sens/Moddes.js +3 -0
  371. package/lib/src/kysely_types/sens/Nation.d.ts +26 -0
  372. package/lib/src/kysely_types/sens/Nation.js +3 -0
  373. package/lib/src/kysely_types/sens/Nationgrpsen.d.ts +31 -0
  374. package/lib/src/kysely_types/sens/Nationgrpsen.js +3 -0
  375. package/lib/src/kysely_types/sens/Org.d.ts +46 -0
  376. package/lib/src/kysely_types/sens/Org.js +3 -0
  377. package/lib/src/kysely_types/sens/Orgext.d.ts +72 -0
  378. package/lib/src/kysely_types/sens/Orgext.js +3 -0
  379. package/lib/src/kysely_types/sens/Orgthe.d.ts +12 -0
  380. package/lib/src/kysely_types/sens/Orgthe.js +3 -0
  381. package/lib/src/kysely_types/sens/Pcs.d.ts +15 -0
  382. package/lib/src/kysely_types/sens/Pcs.js +3 -0
  383. package/lib/src/kysely_types/sens/Pcs24.d.ts +15 -0
  384. package/lib/src/kysely_types/sens/Pcs24.js +3 -0
  385. package/lib/src/kysely_types/sens/Pcs42.d.ts +15 -0
  386. package/lib/src/kysely_types/sens/Pcs42.js +3 -0
  387. package/lib/src/kysely_types/sens/Pcs8.d.ts +12 -0
  388. package/lib/src/kysely_types/sens/Pcs8.js +3 -0
  389. package/lib/src/kysely_types/sens/Pcscatpro.d.ts +15 -0
  390. package/lib/src/kysely_types/sens/Pcscatpro.js +3 -0
  391. package/lib/src/kysely_types/sens/Poicon.d.ts +20 -0
  392. package/lib/src/kysely_types/sens/Poicon.js +3 -0
  393. package/lib/src/kysely_types/sens/Qua.d.ts +30 -0
  394. package/lib/src/kysely_types/sens/Qua.js +3 -0
  395. package/lib/src/kysely_types/sens/Reg.d.ts +38 -0
  396. package/lib/src/kysely_types/sens/Reg.js +3 -0
  397. package/lib/src/kysely_types/sens/Sen.d.ts +66 -0
  398. package/lib/src/kysely_types/sens/Sen.js +3 -0
  399. package/lib/src/kysely_types/sens/SenatSchema.d.ts +198 -0
  400. package/lib/src/kysely_types/sens/SenatSchema.js +3 -0
  401. package/lib/src/kysely_types/sens/Senbur.d.ts +41 -0
  402. package/lib/src/kysely_types/sens/Senbur.js +3 -0
  403. package/lib/src/kysely_types/sens/Sennom.d.ts +32 -0
  404. package/lib/src/kysely_types/sens/Sennom.js +3 -0
  405. package/lib/src/kysely_types/sens/Senurl.d.ts +35 -0
  406. package/lib/src/kysely_types/sens/Senurl.js +3 -0
  407. package/lib/src/kysely_types/sens/Stajur.d.ts +19 -0
  408. package/lib/src/kysely_types/sens/Stajur.js +3 -0
  409. package/lib/src/kysely_types/sens/Telephone.d.ts +21 -0
  410. package/lib/src/kysely_types/sens/Telephone.js +3 -0
  411. package/lib/src/kysely_types/sens/Temval.d.ts +14 -0
  412. package/lib/src/kysely_types/sens/Temval.js +3 -0
  413. package/lib/src/kysely_types/sens/Territ.d.ts +25 -0
  414. package/lib/src/kysely_types/sens/Territ.js +3 -0
  415. package/lib/src/kysely_types/sens/Titele.d.ts +32 -0
  416. package/lib/src/kysely_types/sens/Titele.js +3 -0
  417. package/lib/src/kysely_types/sens/Typadr.d.ts +20 -0
  418. package/lib/src/kysely_types/sens/Typadr.js +3 -0
  419. package/lib/src/kysely_types/sens/Typapppol.d.ts +34 -0
  420. package/lib/src/kysely_types/sens/Typapppol.js +3 -0
  421. package/lib/src/kysely_types/sens/Typbister.d.ts +16 -0
  422. package/lib/src/kysely_types/sens/Typbister.js +3 -0
  423. package/lib/src/kysely_types/sens/TypeActivite.d.ts +11 -0
  424. package/lib/src/kysely_types/sens/TypeActivite.js +3 -0
  425. package/lib/src/kysely_types/sens/TypeActiviteParticipant.d.ts +10 -0
  426. package/lib/src/kysely_types/sens/TypeActiviteParticipant.js +3 -0
  427. package/lib/src/kysely_types/sens/TypeActiviteSenateur.d.ts +11 -0
  428. package/lib/src/kysely_types/sens/TypeActiviteSenateur.js +3 -0
  429. package/lib/src/kysely_types/sens/TypeCategorie.d.ts +11 -0
  430. package/lib/src/kysely_types/sens/TypeCategorie.js +3 -0
  431. package/lib/src/kysely_types/sens/Typele.d.ts +22 -0
  432. package/lib/src/kysely_types/sens/Typele.js +3 -0
  433. package/lib/src/kysely_types/sens/Typgrpsen.d.ts +23 -0
  434. package/lib/src/kysely_types/sens/Typgrpsen.js +3 -0
  435. package/lib/src/kysely_types/sens/Typman.d.ts +20 -0
  436. package/lib/src/kysely_types/sens/Typman.js +3 -0
  437. package/lib/src/kysely_types/sens/Typorg.d.ts +26 -0
  438. package/lib/src/kysely_types/sens/Typorg.js +3 -0
  439. package/lib/src/kysely_types/sens/Typurl.d.ts +31 -0
  440. package/lib/src/kysely_types/sens/Typurl.js +3 -0
  441. package/lib/src/kysely_types/sens/Typvoi.d.ts +16 -0
  442. package/lib/src/kysely_types/sens/Typvoi.js +3 -0
  443. package/lib/src/kysely_types/sens/Zongeo.d.ts +22 -0
  444. package/lib/src/kysely_types/sens/Zongeo.js +3 -0
  445. package/lib/src/loaders.d.ts +3 -3
  446. package/lib/src/loaders.js +1 -1
  447. package/lib/src/model/agenda.d.ts +1 -1
  448. package/lib/src/model/commission.d.ts +2 -2
  449. package/lib/src/model/seance.d.ts +1 -1
  450. package/lib/src/other_types/agenda.d.ts +45 -0
  451. package/lib/src/other_types/agenda.js +1 -0
  452. package/lib/src/other_types/compte_rendu.d.ts +83 -0
  453. package/lib/src/other_types/compte_rendu.js +1 -0
  454. package/lib/src/other_types/questions.d.ts +2 -0
  455. package/lib/src/other_types/questions.js +1 -0
  456. package/lib/src/other_types/sens.d.ts +8 -0
  457. package/lib/src/other_types/sens.js +1 -0
  458. package/lib/src/other_types/sessions.d.ts +6 -0
  459. package/lib/src/other_types/sessions.js +19 -0
  460. package/lib/src/other_types/texte.d.ts +72 -0
  461. package/lib/src/other_types/texte.js +15 -0
  462. package/lib/src/parsers/texte.d.ts +1 -1
  463. package/lib/src/parsers/texte.js +1 -1
  464. package/lib/src/questions.d.ts +53 -0
  465. package/lib/src/questions.js +1 -0
  466. package/lib/src/rich_types/agenda.d.ts +45 -0
  467. package/lib/src/rich_types/agenda.js +1 -0
  468. package/lib/src/rich_types/ameli.d.ts +70 -0
  469. package/lib/src/rich_types/ameli.js +1 -0
  470. package/lib/src/rich_types/compte_rendu.d.ts +83 -0
  471. package/lib/src/rich_types/compte_rendu.js +1 -0
  472. package/lib/src/rich_types/debats.d.ts +38 -0
  473. package/lib/src/rich_types/debats.js +1 -0
  474. package/lib/src/rich_types/dosleg.d.ts +212 -0
  475. package/lib/src/rich_types/dosleg.js +193 -0
  476. package/lib/src/rich_types/questions.d.ts +55 -0
  477. package/lib/src/rich_types/questions.js +1 -0
  478. package/lib/src/rich_types/sens.d.ts +104 -0
  479. package/lib/src/rich_types/sens.js +1 -0
  480. package/lib/src/rich_types/sessions.d.ts +6 -0
  481. package/lib/src/rich_types/sessions.js +19 -0
  482. package/lib/src/rich_types/texte.d.ts +72 -0
  483. package/lib/src/rich_types/texte.js +15 -0
  484. package/lib/src/schemas/config.d.ts +9 -0
  485. package/lib/src/schemas/config.js +10 -0
  486. package/lib/src/scripts/convert_data.js +6 -6
  487. package/lib/src/scripts/convert_xml_to_html.js +1 -1
  488. package/lib/src/scripts/datautil.d.ts +1 -1
  489. package/lib/src/scripts/retrieve_agenda.js +4 -4
  490. package/lib/src/scripts/retrieve_cr_commission.js +6 -6
  491. package/lib/src/scripts/retrieve_cr_seance.d.ts +1 -1
  492. package/lib/src/scripts/retrieve_cr_seance.js +4 -4
  493. package/lib/src/scripts/retrieve_documents.d.ts +1 -1
  494. package/lib/src/scripts/retrieve_documents.js +4 -4
  495. package/lib/src/scripts/retrieve_open_data.js +72 -8
  496. package/lib/src/scripts/retrieve_senateurs_photos.js +2 -2
  497. package/lib/src/scripts/retrieve_videos.js +3 -3
  498. package/lib/src/scripts/shared/incremental_import_sql.js +22 -7
  499. package/lib/src/scripts/shared/prefixed_tables.d.ts +2 -1
  500. package/lib/src/scripts/shared/prefixed_tables.js +4 -3
  501. package/lib/src/scripts/shared/staging_import.d.ts +1 -1
  502. package/lib/src/scripts/validate_prefixed_tables.js +12 -11
  503. package/lib/src/scrutins.d.ts +47 -0
  504. package/lib/src/scrutins.js +1 -0
  505. package/lib/src/sens.d.ts +104 -0
  506. package/lib/src/sens.js +1 -0
  507. package/lib/src/server/agenda.d.ts +6 -0
  508. package/lib/src/server/agenda.js +148 -0
  509. package/lib/src/server/ameli.d.ts +2 -0
  510. package/lib/src/server/ameli.js +153 -0
  511. package/lib/src/server/commission.d.ts +19 -0
  512. package/lib/src/server/commission.js +269 -0
  513. package/lib/src/server/config.d.ts +43 -0
  514. package/lib/src/server/config.js +37 -0
  515. package/lib/src/server/conversion_textes.d.ts +11 -0
  516. package/lib/src/server/conversion_textes.js +320 -0
  517. package/lib/src/server/databases_postgres.d.ts +32 -0
  518. package/lib/src/server/databases_postgres.js +50 -0
  519. package/lib/src/server/datasets.d.ts +38 -0
  520. package/lib/src/server/datasets.js +247 -0
  521. package/lib/src/server/debats.d.ts +2 -0
  522. package/lib/src/server/debats.js +98 -0
  523. package/lib/src/server/documents.d.ts +3 -0
  524. package/lib/src/server/documents.js +132 -0
  525. package/lib/src/server/dosleg.d.ts +2 -0
  526. package/lib/src/server/dosleg.js +228 -0
  527. package/lib/src/server/git.d.ts +27 -0
  528. package/lib/src/server/git.js +251 -0
  529. package/lib/src/server/index.d.ts +18 -0
  530. package/lib/src/server/index.js +16 -0
  531. package/lib/src/server/loaders.d.ts +52 -0
  532. package/lib/src/server/loaders.js +260 -0
  533. package/lib/src/server/questions.d.ts +2 -0
  534. package/lib/src/server/questions.js +89 -0
  535. package/lib/src/server/scrutins.d.ts +2 -0
  536. package/lib/src/server/scrutins.js +114 -0
  537. package/lib/src/server/seance.d.ts +3 -0
  538. package/lib/src/server/seance.js +267 -0
  539. package/lib/src/server/sens.d.ts +9 -0
  540. package/lib/src/server/sens.js +353 -0
  541. package/lib/src/types/ameli.d.ts +1761 -4
  542. package/lib/src/types/ameli.js +1074 -1
  543. package/lib/src/types/debats.d.ts +380 -2
  544. package/lib/src/types/debats.js +266 -1
  545. package/lib/src/types/dosleg.d.ts +2953 -69
  546. package/lib/src/types/dosleg.js +2005 -1
  547. package/lib/src/types/questions.d.ts +699 -2
  548. package/lib/src/types/questions.js +493 -1
  549. package/lib/src/types/sens.d.ts +7842 -7
  550. package/lib/src/types/sens.js +4691 -1
  551. package/lib/src/util.d.ts +1 -0
  552. package/lib/src/util.js +15 -0
  553. package/lib/src/utils/cr_spliting.d.ts +1 -1
  554. package/lib/src/utils/cr_spliting.js +2 -2
  555. package/lib/src/utils/reunion_odj_building.d.ts +2 -2
  556. package/lib/src/utils/reunion_odj_building.js +2 -2
  557. package/lib/src/utils/reunion_parsing.d.ts +2 -2
  558. package/lib/src/utils/scoring.d.ts +1 -1
  559. package/lib/src/videos/match.d.ts +1 -1
  560. package/lib/src/videos/pipeline.d.ts +1 -1
  561. package/lib/src/videos/pipeline.js +1 -1
  562. package/lib/src/videos/search.d.ts +1 -1
  563. package/lib/tests/test_iter_load.test.js +1 -1
  564. package/lib/tests/validatePrefixedTables.test.js +1 -1
  565. package/lib/tsconfig.tsbuildinfo +1 -0
  566. package/package.json +11 -4
@@ -0,0 +1,260 @@
1
+ import fsex from "fs-extra";
2
+ import fs from "fs";
3
+ import path from "path";
4
+ import * as git from "./git.js";
5
+ import { datasets } from "./datasets.js";
6
+ import { UNDEFINED_SESSION } from "../other_types/sessions.js";
7
+ export { EnabledDatasets } from "./datasets.js";
8
+ export const AGENDA_FOLDER = "agenda";
9
+ export const COMPTES_RENDUS_FOLDER = "seances";
10
+ export const COMMISSION_FOLDER = "commissions";
11
+ export const DOSLEG_DOSSIERS_FOLDER = "dossiers";
12
+ export const ENRICHED_TEXTE_FOLDER = "leg_enrichi";
13
+ export const SCRUTINS_FOLDER = "scrutins";
14
+ export const SENS_CIRCONSCRIPTIONS_FOLDER = "circonscriptions";
15
+ export const SENS_ORGANISMES_FOLDER = "organismes";
16
+ export const SENS_SENATEURS_FOLDER = "senateurs";
17
+ export const TEXTE_FOLDER = "leg";
18
+ export const RAPPORT_FOLDER = "rap";
19
+ export const DATA_ORIGINAL_FOLDER = "original";
20
+ export const DATA_TRANSFORMED_FOLDER = "transformed";
21
+ export const DOCUMENT_METADATA_FILE = "metadata.json";
22
+ export function* iterFilePaths(dirPath) {
23
+ if (dirPath && fs.existsSync(dirPath)) {
24
+ const files = fs.readdirSync(dirPath, {
25
+ withFileTypes: true,
26
+ recursive: true,
27
+ });
28
+ for (const file of files) {
29
+ if (file.isFile()) {
30
+ yield path.join(file.parentPath, file.name);
31
+ }
32
+ }
33
+ }
34
+ }
35
+ function* iterLoadSenatItems(dataDir, dataName, legislatureOrSession, subDir, { log = false, sinceCommit } = {}) {
36
+ let itemsDir = path.join(dataDir, dataName);
37
+ if (subDir) {
38
+ itemsDir = path.join(itemsDir, subDir);
39
+ }
40
+ if (legislatureOrSession) {
41
+ itemsDir = path.join(itemsDir, String(legislatureOrSession));
42
+ }
43
+ // Get changed files if sinceCommit is specified (excluding deleted files)
44
+ const changedFiles = sinceCommit
45
+ ? git.getChangedFilesSinceCommit(itemsDir, sinceCommit, {
46
+ diffFilter: "AMR", // Added, Modified, Renamed
47
+ })
48
+ : null;
49
+ if (log && sinceCommit) {
50
+ console.log(`Filtering files changed since commit ${sinceCommit} in ${itemsDir}`);
51
+ console.log(`Found ${changedFiles?.size || 0} changed files (AMR)`);
52
+ }
53
+ for (const filePath of iterFilePaths(itemsDir)) {
54
+ if (!filePath.endsWith(".json")) {
55
+ continue;
56
+ }
57
+ const relativePath = path.relative(path.join(dataDir, dataName), filePath);
58
+ const gitStatus = changedFiles?.get(relativePath);
59
+ // Filter by changed files if sinceCommit is specified
60
+ if (changedFiles && !gitStatus) {
61
+ // Skip files not in the change set
62
+ continue;
63
+ }
64
+ if (log) {
65
+ console.log(`Loading file: ${filePath}…${gitStatus ? ` (${gitStatus})` : ""}`);
66
+ }
67
+ let item;
68
+ try {
69
+ const itemJson = fs.readFileSync(filePath, { encoding: "utf8" });
70
+ item = JSON.parse(itemJson);
71
+ }
72
+ catch (error) {
73
+ const err = error;
74
+ console.warn(`[iterLoadSenatItems] skipped invalid JSON: ${filePath} (${err.message})`);
75
+ continue;
76
+ }
77
+ const filePathFromDataset = filePath.substring(filePath.indexOf(dataName) + dataName.length);
78
+ yield {
79
+ item,
80
+ filePathFromDataset,
81
+ legislature: legislatureOrSession,
82
+ ...(gitStatus && { gitStatus }), // Include gitStatus
83
+ };
84
+ }
85
+ // Yield deleted files at the end if sinceCommit is specified
86
+ if (sinceCommit) {
87
+ const deletedFiles = git.getChangedFilesSinceCommit(itemsDir, sinceCommit, {
88
+ diffFilter: "D", // Deleted
89
+ });
90
+ if (log) {
91
+ console.log(`Found ${deletedFiles.size || 0} deleted files (D)`);
92
+ }
93
+ for (const [relativePath, status] of deletedFiles.entries()) {
94
+ const deletedFilePath = path.join(itemsDir, relativePath);
95
+ if (log) {
96
+ console.log(`Deleted file: ${deletedFilePath}`);
97
+ }
98
+ // Extract UID from filename (remove extension) for the placeholder item
99
+ const fileExtension = path.extname(relativePath) || ".json"; // Assuming files use an extension like .json
100
+ const filename = path.basename(relativePath, fileExtension);
101
+ const fakeItem = { uid: filename }; // Placeholder item using uid constraint
102
+ const filePathFromDataset = deletedFilePath.substring(deletedFilePath.indexOf(dataName) + dataName.length);
103
+ yield {
104
+ item: fakeItem,
105
+ filePathFromDataset,
106
+ legislature: legislatureOrSession,
107
+ gitStatus: status,
108
+ };
109
+ }
110
+ }
111
+ }
112
+ export function* iterLoadSenatAmendements(dataDir, session, options = {}) {
113
+ for (const amendementItem of iterLoadSenatItems(dataDir, datasets.ameli.database, session, undefined, options)) {
114
+ yield amendementItem;
115
+ }
116
+ }
117
+ export function* iterLoadSenatDebats(dataDir, session, options = {}) {
118
+ for (const debatItem of iterLoadSenatItems(dataDir, datasets.debats.database, session, undefined, options)) {
119
+ yield debatItem;
120
+ }
121
+ }
122
+ export function* iterLoadSenatComptesRendusSeances(dataDir, session, options = {}) {
123
+ for (const compteRenduItem of iterLoadSenatItems(dataDir, COMPTES_RENDUS_FOLDER, session, DATA_TRANSFORMED_FOLDER, options)) {
124
+ yield compteRenduItem;
125
+ }
126
+ }
127
+ export function* iterLoadSenatComptesRendusCommissions(dataDir, session, options = {}) {
128
+ for (const compteRenduItem of iterLoadSenatItems(dataDir, COMMISSION_FOLDER, session, DATA_TRANSFORMED_FOLDER, options)) {
129
+ yield compteRenduItem;
130
+ }
131
+ }
132
+ export function* iterLoadSenatDossiersLegislatifs(dataDir, session, options = {}) {
133
+ for (const dossierLegislatifItem of iterLoadSenatItems(dataDir, datasets.dosleg.database, session, DOSLEG_DOSSIERS_FOLDER, options)) {
134
+ yield dossierLegislatifItem;
135
+ }
136
+ }
137
+ export function* iterLoadSenatRapportUrls(dataDir, session) {
138
+ let itemsDir = path.join(dataDir, RAPPORT_FOLDER, DATA_ORIGINAL_FOLDER);
139
+ if (session) {
140
+ itemsDir = path.join(itemsDir, session.toString());
141
+ }
142
+ for (const filePath of iterFilePaths(itemsDir)) {
143
+ const parsedFilePath = path.parse(filePath);
144
+ if (parsedFilePath.base === DOCUMENT_METADATA_FILE) {
145
+ const itemJson = fs.readFileSync(filePath, { encoding: "utf8" });
146
+ const item = JSON.parse(itemJson);
147
+ yield {
148
+ item,
149
+ };
150
+ }
151
+ }
152
+ }
153
+ export function* iterLoadSenatTexteUrls(dataDir, session) {
154
+ let itemsDir = path.join(dataDir, TEXTE_FOLDER, DATA_ORIGINAL_FOLDER);
155
+ if (session) {
156
+ itemsDir = path.join(itemsDir, session.toString());
157
+ }
158
+ for (const filePath of iterFilePaths(itemsDir)) {
159
+ const parsedFilePath = path.parse(filePath);
160
+ if (parsedFilePath.base === DOCUMENT_METADATA_FILE) {
161
+ const itemJson = fs.readFileSync(filePath, { encoding: "utf8" });
162
+ const item = JSON.parse(itemJson);
163
+ yield {
164
+ item,
165
+ };
166
+ }
167
+ }
168
+ }
169
+ export function* iterLoadSenatRapports(dataDir, session, options = {}) {
170
+ for (const iterItem of iterLoadSenatItems(dataDir, RAPPORT_FOLDER, session, "original", options)) {
171
+ if (iterItem.item?.["id"]) {
172
+ yield iterItem;
173
+ }
174
+ }
175
+ }
176
+ export function* iterLoadSenatTextes(dataDir, session, options = {}) {
177
+ for (const iterItem of iterLoadSenatItems(dataDir, TEXTE_FOLDER, session, DATA_ORIGINAL_FOLDER, options)) {
178
+ if (!iterItem.item?.["id"]) {
179
+ continue;
180
+ }
181
+ const texteItem = iterItem;
182
+ const texte = texteItem.item;
183
+ const texteId = texte["id"];
184
+ if (!texteId) {
185
+ continue;
186
+ }
187
+ const { item: texteContent } = loadSenatTexteContent(dataDir, texte["session"], texteId);
188
+ if (texteContent) {
189
+ texteItem.item = { ...texteContent, ...texteItem.item };
190
+ }
191
+ yield texteItem;
192
+ }
193
+ }
194
+ export function loadSenatTexteContent(dataDir, session, texteId) {
195
+ const fullTextePath = path.join(dataDir, TEXTE_FOLDER, DATA_TRANSFORMED_FOLDER, String(session ?? UNDEFINED_SESSION), texteId, `${texteId}.json`);
196
+ if (!fs.existsSync(fullTextePath)) {
197
+ return { item: null };
198
+ }
199
+ const texteJson = fs.readFileSync(fullTextePath, { encoding: "utf8" });
200
+ return { item: JSON.parse(texteJson) };
201
+ }
202
+ export function loadSenatCompteRenduContent(dataDir, session, debatId) {
203
+ const fullPath = path.join(dataDir, COMPTES_RENDUS_FOLDER, DATA_TRANSFORMED_FOLDER, String(session), `${debatId}.json`);
204
+ if (!fs.existsSync(fullPath)) {
205
+ return { item: null };
206
+ }
207
+ const json = fs.readFileSync(fullPath, { encoding: "utf8" });
208
+ return { item: JSON.parse(json) };
209
+ }
210
+ export function* iterLoadSenatAgendas(dataDir, session) {
211
+ const baseDir = path.join(dataDir, AGENDA_FOLDER, DATA_TRANSFORMED_FOLDER, String(session ?? ""));
212
+ if (!fs.existsSync(baseDir))
213
+ return;
214
+ const files = (fs.readdirSync(baseDir) || []).filter((f) => f.startsWith("RUSN") && f.endsWith(".json")).sort();
215
+ for (const fileName of files) {
216
+ const filePath = path.join(baseDir, fileName);
217
+ let raw;
218
+ try {
219
+ raw = fsex.readJSONSync(filePath);
220
+ }
221
+ catch {
222
+ continue; // JSON invalide
223
+ }
224
+ if (!raw || typeof raw !== "object")
225
+ continue;
226
+ const gr = raw;
227
+ if (!gr.uid || !gr.date || !gr.titre)
228
+ continue;
229
+ const reunion = {
230
+ ...gr,
231
+ events: Array.isArray(gr.events) ? gr.events : [],
232
+ };
233
+ yield { item: reunion };
234
+ }
235
+ }
236
+ export function* iterLoadSenatCirconscriptions(dataDir, options = {}) {
237
+ for (const circonscriptionItem of iterLoadSenatItems(dataDir, datasets.sens.database, undefined, SENS_CIRCONSCRIPTIONS_FOLDER, options)) {
238
+ yield circonscriptionItem;
239
+ }
240
+ }
241
+ export function* iterLoadSenatOrganismes(dataDir, options = {}) {
242
+ for (const organismeItem of iterLoadSenatItems(dataDir, datasets.sens.database, undefined, SENS_ORGANISMES_FOLDER, options)) {
243
+ yield organismeItem;
244
+ }
245
+ }
246
+ export function* iterLoadSenatSenateurs(dataDir, options = {}) {
247
+ for (const senateurItem of iterLoadSenatItems(dataDir, datasets.sens.database, undefined, SENS_SENATEURS_FOLDER, options)) {
248
+ yield senateurItem;
249
+ }
250
+ }
251
+ export function* iterLoadSenatQuestions(dataDir, legislature, options = {}) {
252
+ for (const questionItem of iterLoadSenatItems(dataDir, datasets.questions.database, legislature, undefined, options)) {
253
+ yield questionItem;
254
+ }
255
+ }
256
+ export function* iterLoadSenatScrutins(dataDir, session, options = {}) {
257
+ for (const scrutinItem of iterLoadSenatItems(dataDir, "scrutins", session, undefined, options)) {
258
+ yield scrutinItem;
259
+ }
260
+ }
@@ -0,0 +1,2 @@
1
+ import type { QuestionResult } from "../rich_types/questions.js";
2
+ export declare function findAll(): AsyncGenerator<QuestionResult, void, unknown>;
@@ -0,0 +1,89 @@
1
+ import { sql } from "kysely";
2
+ import { jsonArrayFrom } from "kysely/helpers/postgres";
3
+ import { db, streamRawQuery } from "./databases_postgres.js";
4
+ export async function* findAll() {
5
+ const compiledQuery = db
6
+ .withSchema("senat")
7
+ .selectFrom("questions_tam_questions as tam_questions")
8
+ .leftJoin("questions_tam_ministeres as tam_ministeres", "tam_ministeres.minid", "tam_questions.mindepotid")
9
+ .leftJoin("questions_sortquestion as sortquestion", (join) => join.on(sql `tam_questions.sorquecod::text = sortquestion.sorquecod`))
10
+ .leftJoin("questions_naturequestion as naturequestion", "naturequestion.natquecod", "tam_questions.natquecod")
11
+ .leftJoin("questions_etatquestion as etatquestion", (join) => join.on(sql `tam_questions.etaquecod::text = etatquestion.etaquecod`))
12
+ .select((eb) => [
13
+ sql `${eb.ref("tam_questions.repub")}::text`.as("republique"),
14
+ sql `${eb.ref("tam_questions.legislature")}::text`.as("legislature"),
15
+ "tam_questions.natquecod as nature",
16
+ "naturequestion.natquelib as nature_libelle",
17
+ "tam_questions.numero as numero",
18
+ "tam_questions.reference as reference",
19
+ "tam_questions.titre as titre",
20
+ "tam_questions.nom as nom",
21
+ "tam_questions.prenom as prenom",
22
+ "tam_questions.nomtechnique as nom_technique",
23
+ "tam_questions.codequalite as civilite",
24
+ "tam_questions.matricule as matricule",
25
+ sql `${eb.ref("tam_questions.cirnum")}::text`.as("circonscription_numero"),
26
+ "tam_questions.circonscription as circonscription",
27
+ "tam_questions.groupe as groupe",
28
+ "tam_questions.ratgrp as type_appartenance",
29
+ sql `to_char(${eb.ref("tam_questions.datejodepot")}, 'YYYY-MM-DD')`.as("date_publication_JO"),
30
+ sql `${eb.ref("tam_questions.pagejodepot")}::text`.as("page_JO"),
31
+ sql `rtrim(${eb.ref("tam_questions.mindepotlib")})`.as("ministere_depot"),
32
+ sql `${eb.ref("tam_questions.mindepotid")}::text`.as("ministere_depot_id"),
33
+ sql `to_char(${eb.ref("tam_ministeres.datedebut")}, 'YYYY-MM-DD')`.as("ministere_depot_date_debut"),
34
+ sql `to_char(${eb.ref("tam_questions.datejotran")}, 'YYYY-MM-DD')`.as("date_transmission"),
35
+ "tam_questions.mintranlib as ministere_transmission",
36
+ sql `to_char(${eb.ref("tam_questions.datejorep1")}, 'YYYY-MM-DD')`.as("date_reponse_JO"),
37
+ sql `to_char(${eb.ref("tam_questions.dateerr")}, 'YYYY-MM-DD')`.as("date_erratum_JO"),
38
+ sql `${eb.ref("tam_questions.pageerr")}::text`.as("page_erratum_JO"),
39
+ "tam_questions.minreplib1 as ministere_reponse",
40
+ sql `to_char(${eb.ref("tam_questions.datecloture")}, 'YYYY-MM-DD')`.as("date_cloture"),
41
+ sql `to_char(${eb.ref("tam_questions.datesignal")}, 'YYYY-MM-DD')`.as("date_signalement"),
42
+ "tam_questions.refquerappelee as reference_question_rappelee",
43
+ "tam_questions.txtque as texte",
44
+ "tam_questions.txterrque as texte_erratum",
45
+ "tam_questions.rubrique as rubrique",
46
+ "sortquestion.sorquelib as sort",
47
+ "sortquestion.sorquecod as sort_code",
48
+ sql `${eb.ref("sortquestion.sorquenumtri")}::text`.as("sort_tri"),
49
+ "etatquestion.etaquelib as etat_libelle",
50
+ "etatquestion.etaquecod as etat_code",
51
+ sql `${eb.ref("etatquestion.etaquenumtri")}::text`.as("etat_tri"),
52
+ // Thèmes (extraits par regexp depuis la colonne themes)
53
+ sql `(
54
+ select coalesce(json_agg(theme_rows.libelle order by theme_rows.theme_order nulls last), '[]'::json)
55
+ from (
56
+ select
57
+ the.thelib as libelle,
58
+ the.thenouidt as theme_order
59
+ from regexp_matches(coalesce(${eb.ref("tam_questions.themes")}, ''), '#(\\d+)', 'g') as matches(match)
60
+ join senat.questions_the as the on the.thenouidt::text = matches.match[1]
61
+ order by the.thenouidt asc
62
+ ) as theme_rows
63
+ )`.as("themes"),
64
+ // Réponses
65
+ jsonArrayFrom(eb
66
+ .withSchema("senat")
67
+ .selectFrom("questions_tam_reponses as tam_reponses")
68
+ .select([
69
+ sql `to_char(tam_reponses.datejorep, 'YYYY-MM-DD')`.as("date_reponse_JO"),
70
+ sql `tam_reponses.pagejorep::text`.as("page_JO"),
71
+ sql `to_char(tam_reponses.errdate, 'YYYY-MM-DD')`.as("date_erratum_JO"),
72
+ "tam_reponses.minreplib as ministere_reponse",
73
+ sql `tam_reponses.minrepid::text`.as("ministere_reponse_id"),
74
+ "tam_reponses.urlrep as url",
75
+ "tam_reponses.txtrep as texte",
76
+ "tam_reponses.txterrrep as texte_erratum",
77
+ ])
78
+ .whereRef("tam_reponses.idque", "=", "tam_questions.id")
79
+ .orderBy("tam_reponses.datejorep", "asc")).as("reponses"),
80
+ ])
81
+ .compile();
82
+ for await (const row of streamRawQuery(compiledQuery)) {
83
+ yield {
84
+ ...row,
85
+ reponses: row.reponses ?? [],
86
+ themes: row.themes ?? [],
87
+ };
88
+ }
89
+ }
@@ -0,0 +1,2 @@
1
+ import type { ScrutinResult } from "../scrutins.js";
2
+ export declare function findAllScrutins(fromSession?: number): AsyncGenerator<ScrutinResult, void, unknown>;
@@ -0,0 +1,114 @@
1
+ import { sql } from "kysely";
2
+ import { jsonArrayFrom } from "kysely/helpers/postgres";
3
+ import { db, streamRawQuery } from "./databases_postgres.js";
4
+ export async function* findAllScrutins(fromSession) {
5
+ const baseQuery = db
6
+ .withSchema("senat")
7
+ .selectFrom("dosleg_scr as scr")
8
+ .leftJoin("dosleg_date_seance as date_seance", "date_seance.code", "scr.code")
9
+ .leftJoin("dosleg_lecass as lecass", "lecass.lecassidt", "date_seance.lecidt")
10
+ .leftJoin("dosleg_lecture as lecture", "lecture.lecidt", "lecass.lecidt")
11
+ .leftJoin("dosleg_loi as loi", "loi.loicod", "lecture.loicod")
12
+ .leftJoin("dosleg_typlec as typlec", "typlec.typleccod", "lecture.typleccod")
13
+ .select((eb) => [
14
+ sql `${eb.ref("scr.sesann")}::text`.as("session"),
15
+ sql `${eb.ref("scr.scrnum")}::text`.as("numero"),
16
+ sql `rtrim(${eb.ref("date_seance.lecidt")})`.as("lecture_id"),
17
+ sql `rtrim(${eb.ref("lecture.leccom")})`.as("lecture_libelle"),
18
+ "loi.signet as signet_dossier",
19
+ sql `rtrim(${eb.ref("typlec.typleclib")})`.as("type_lecture"),
20
+ sql `to_char(${eb.ref("scr.scrdat")}, 'YYYY-MM-DD')`.as("date_scrutin"),
21
+ sql `to_char(${eb.ref("scr.scrdateff")}, 'YYYY-MM-DD')`.as("date_scrutin_effective"),
22
+ sql `replace(${eb.ref("scr.scrint")}, E'\\u0092', '''')`.as("intitule"),
23
+ "scr.scrbaspag as note",
24
+ sql `${eb.ref("scr.scrmaj")}::text`.as("nombre_majorite"),
25
+ sql `${eb.ref("scr.scrmajsea")}::text`.as("nombre_majorite_seance"),
26
+ sql `${eb.ref("scr.scrvot")}::text`.as("nombre_votants"),
27
+ sql `${eb.ref("scr.scrvotsea")}::text`.as("nombre_votants_seance"),
28
+ sql `${eb.ref("scr.scrsuf")}::text`.as("nombre_suffrages"),
29
+ sql `${eb.ref("scr.scrsufsea")}::text`.as("nombre_suffrages_seance"),
30
+ sql `${eb.ref("scr.scrcon")}::text`.as("nombre_contre"),
31
+ sql `${eb.ref("scr.scrconsea")}::text`.as("nombre_contre_seance"),
32
+ sql `${eb.ref("scr.scrpou")}::text`.as("nombre_pour"),
33
+ sql `${eb.ref("scr.scrpousea")}::text`.as("nombre_pour_seance"),
34
+ // Votes individuels
35
+ jsonArrayFrom(eb
36
+ .withSchema("senat")
37
+ .selectFrom("dosleg_votsen as votsen")
38
+ .leftJoin("dosleg_titsen as titsen", "titsen.titsencod", "votsen.titsencod")
39
+ .leftJoin("dosleg_stavot as stavot", "stavot.stavotidt", "votsen.stavotidt")
40
+ .leftJoin("dosleg_posvot as posvot", "posvot.posvotcod", "votsen.posvotcod")
41
+ .leftJoin("sens_memgrppol as memgrppol", (join) => join
42
+ .onRef("memgrppol.senmat", "=", "votsen.senmat")
43
+ .on(sql `memgrppol.memgrppoldatdeb <= ${eb.ref("scr.scrdat")}`)
44
+ .on(sql `(memgrppol.memgrppoldatfin >= ${eb.ref("scr.scrdat")} or memgrppol.memgrppoldatfin is null)`))
45
+ .select([
46
+ "votsen.senmat as matricule_votant",
47
+ "votsen.senmatdel as matricule_delegant",
48
+ "posvot.posvotlib as position",
49
+ "stavot.stavotlib as statut_votant",
50
+ "titsen.titsenlib as titre_votant",
51
+ sql `memgrppol.memgrppolid::text`.as("groupe_politique_id"),
52
+ "memgrppol.grppolcod as groupe_politique_code",
53
+ "memgrppol.memgrppoldatdeb as membership_start",
54
+ ])
55
+ .whereRef("votsen.scrnum", "=", "scr.scrnum")
56
+ .whereRef("votsen.sesann", "=", "scr.sesann")
57
+ .orderBy("memgrppol.memgrppoldatdeb", (ob) => ob.desc().nullsLast())).as("votes"),
58
+ // Groupes votants (avec déduplication via window function)
59
+ jsonArrayFrom(eb
60
+ .withSchema("senat")
61
+ .selectFrom(eb
62
+ .withSchema("senat")
63
+ .selectFrom("dosleg_votsen as votsen")
64
+ .leftJoin("dosleg_posvot as posvot", "posvot.posvotcod", "votsen.posvotcod")
65
+ .leftJoin("dosleg_stavot as stavot", "stavot.stavotidt", "votsen.stavotidt")
66
+ .leftJoin("sens_memgrppol as memgrppol", (join) => join
67
+ .onRef("memgrppol.senmat", "=", "votsen.senmat")
68
+ .on(sql `memgrppol.memgrppoldatdeb <= ${eb.ref("scr.scrdat")}`)
69
+ .on(sql `(memgrppol.memgrppoldatfin >= ${eb.ref("scr.scrdat")} or memgrppol.memgrppoldatfin is null)`))
70
+ .select([
71
+ "votsen.senmat",
72
+ "posvot.posvotlib",
73
+ "stavot.stavotlib",
74
+ "memgrppol.grppolcod",
75
+ sql `row_number() over (
76
+ partition by votsen.senmat, votsen.scrnum, votsen.sesann
77
+ order by memgrppol.memgrppoldatdeb desc nulls last
78
+ )`.as("vote_rank"),
79
+ ])
80
+ .whereRef("votsen.scrnum", "=", "scr.scrnum")
81
+ .whereRef("votsen.sesann", "=", "scr.sesann")
82
+ .as("unique_votes"))
83
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
84
+ .select((_eb2) => [
85
+ "unique_votes.grppolcod as groupe_politique_code",
86
+ sql `sum(case when unique_votes.posvotlib = 'pour' then 1 else 0 end)::text`.as("nombre_pour"),
87
+ sql `sum(case when unique_votes.posvotlib = 'contre' then 1 else 0 end)::text`.as("nombre_contre"),
88
+ sql `sum(case when unique_votes.posvotlib = 'abstention' then 1 else 0 end)::text`.as("nombre_abstentions"),
89
+ sql `sum(case when unique_votes.posvotlib = 'non-votant' then 1 else 0 end)::text`.as("nombre_non_votants"),
90
+ sql `count(unique_votes.senmat)::text`.as("nombre_votants"),
91
+ ])
92
+ .where("unique_votes.vote_rank", "=", 1)
93
+ .groupBy("unique_votes.grppolcod")).as("groupes_votants"),
94
+ // Mises au point (corrections)
95
+ jsonArrayFrom(eb
96
+ .withSchema("senat")
97
+ .selectFrom("dosleg_corscr as corscr")
98
+ .select([
99
+ "corscr.corscrtxt as texte",
100
+ sql `corscr.corscrord::text`.as("ordre"),
101
+ "corscr.corscrurl as url",
102
+ ])
103
+ .whereRef("corscr.scrnum", "=", "scr.scrnum")).as("mises_au_point"),
104
+ ]);
105
+ const compiledQuery = (fromSession === undefined ? baseQuery : baseQuery.where("scr.sesann", ">=", String(fromSession))).compile();
106
+ for await (const row of streamRawQuery(compiledQuery)) {
107
+ yield {
108
+ ...row,
109
+ groupes_votants: row.groupes_votants ?? [],
110
+ mises_au_point: row.mises_au_point ?? [],
111
+ votes: row.votes ?? [],
112
+ };
113
+ }
114
+ }
@@ -0,0 +1,3 @@
1
+ import { CompteRendu } from "../other_types/compte_rendu.js";
2
+ export declare function parseCompteRenduIntervalFromFile(xmlFilePath: string, startIndex: number, endIndex: number, agendaEventId: string): Promise<CompteRendu | null>;
3
+ export declare function sessionStartYearFromDate(d: Date): number;