@tricoteuses/senat 3.0.2 → 3.1.1
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.
- package/lib/src/documents.d.ts +30 -0
- package/lib/src/index.d.ts +41 -24
- package/lib/src/index.js +27 -6
- package/lib/src/kanel_types/ameli.d.ts +1762 -0
- package/lib/src/kanel_types/ameli.js +1074 -0
- package/lib/src/kanel_types/debats.d.ts +380 -0
- package/lib/src/kanel_types/debats.js +266 -0
- package/lib/src/kanel_types/dosleg.d.ts +2954 -0
- package/lib/src/kanel_types/dosleg.js +2005 -0
- package/lib/src/kanel_types/questions.d.ts +699 -0
- package/lib/src/kanel_types/questions.js +493 -0
- package/lib/src/kanel_types/sens.d.ts +7843 -0
- package/lib/src/kanel_types/sens.js +4691 -0
- package/lib/src/kysely/index.d.ts +216 -0
- package/lib/src/kysely/index.js +11 -0
- package/lib/src/kysely_types/ameli/Amd.d.ts +91 -0
- package/lib/src/kysely_types/ameli/Amd.js +3 -0
- package/lib/src/kysely_types/ameli/Amdsen.d.ts +24 -0
- package/lib/src/kysely_types/ameli/Amdsen.js +3 -0
- package/lib/src/kysely_types/ameli/Avicom.d.ts +14 -0
- package/lib/src/kysely_types/ameli/Avicom.js +3 -0
- package/lib/src/kysely_types/ameli/Avigvt.d.ts +14 -0
- package/lib/src/kysely_types/ameli/Avigvt.js +3 -0
- package/lib/src/kysely_types/ameli/Cab.d.ts +14 -0
- package/lib/src/kysely_types/ameli/Cab.js +3 -0
- package/lib/src/kysely_types/ameli/ComAmeli.d.ts +22 -0
- package/lib/src/kysely_types/ameli/ComAmeli.js +3 -0
- package/lib/src/kysely_types/ameli/Database.d.ts +3 -0
- package/lib/src/kysely_types/ameli/Database.js +3 -0
- package/lib/src/kysely_types/ameli/Ent.d.ts +14 -0
- package/lib/src/kysely_types/ameli/Ent.js +3 -0
- package/lib/src/kysely_types/ameli/Etatxt.d.ts +15 -0
- package/lib/src/kysely_types/ameli/Etatxt.js +3 -0
- package/lib/src/kysely_types/ameli/Fbu.d.ts +17 -0
- package/lib/src/kysely_types/ameli/Fbu.js +3 -0
- package/lib/src/kysely_types/ameli/GrppolAmeli.d.ts +20 -0
- package/lib/src/kysely_types/ameli/GrppolAmeli.js +3 -0
- package/lib/src/kysely_types/ameli/Gvt.d.ts +18 -0
- package/lib/src/kysely_types/ameli/Gvt.js +3 -0
- package/lib/src/kysely_types/ameli/Intora.d.ts +33 -0
- package/lib/src/kysely_types/ameli/Intora.js +3 -0
- package/lib/src/kysely_types/ameli/Irr.d.ts +21 -0
- package/lib/src/kysely_types/ameli/Irr.js +3 -0
- package/lib/src/kysely_types/ameli/LecAmeli.d.ts +14 -0
- package/lib/src/kysely_types/ameli/LecAmeli.js +3 -0
- package/lib/src/kysely_types/ameli/Mot.d.ts +20 -0
- package/lib/src/kysely_types/ameli/Mot.js +3 -0
- package/lib/src/kysely_types/ameli/Nat.d.ts +13 -0
- package/lib/src/kysely_types/ameli/Nat.js +3 -0
- package/lib/src/kysely_types/ameli/Orarol.d.ts +14 -0
- package/lib/src/kysely_types/ameli/Orarol.js +3 -0
- package/lib/src/kysely_types/ameli/Sai.d.ts +25 -0
- package/lib/src/kysely_types/ameli/Sai.js +3 -0
- package/lib/src/kysely_types/ameli/Saisen.d.ts +15 -0
- package/lib/src/kysely_types/ameli/Saisen.js +3 -0
- package/lib/src/kysely_types/ameli/Sea.d.ts +17 -0
- package/lib/src/kysely_types/ameli/Sea.js +3 -0
- package/lib/src/kysely_types/ameli/SenAmeli.d.ts +36 -0
- package/lib/src/kysely_types/ameli/SenAmeli.js +3 -0
- package/lib/src/kysely_types/ameli/SenatSchema.d.ts +60 -0
- package/lib/src/kysely_types/ameli/SenatSchema.js +3 -0
- package/lib/src/kysely_types/ameli/Ses.d.ts +17 -0
- package/lib/src/kysely_types/ameli/Ses.js +3 -0
- package/lib/src/kysely_types/ameli/Sor.d.ts +16 -0
- package/lib/src/kysely_types/ameli/Sor.js +3 -0
- package/lib/src/kysely_types/ameli/Sub.d.ts +44 -0
- package/lib/src/kysely_types/ameli/Sub.js +3 -0
- package/lib/src/kysely_types/ameli/TxtAmeli.d.ts +77 -0
- package/lib/src/kysely_types/ameli/TxtAmeli.js +3 -0
- package/lib/src/kysely_types/ameli/Typrect.d.ts +14 -0
- package/lib/src/kysely_types/ameli/Typrect.js +3 -0
- package/lib/src/kysely_types/ameli/Typses.d.ts +12 -0
- package/lib/src/kysely_types/ameli/Typses.js +3 -0
- package/lib/src/kysely_types/ameli/Typsub.d.ts +12 -0
- package/lib/src/kysely_types/ameli/Typsub.js +3 -0
- package/lib/src/kysely_types/ameli/WNivrec.d.ts +12 -0
- package/lib/src/kysely_types/ameli/WNivrec.js +3 -0
- package/lib/src/kysely_types/debats/Database.d.ts +3 -0
- package/lib/src/kysely_types/debats/Database.js +3 -0
- package/lib/src/kysely_types/debats/Debats.d.ts +25 -0
- package/lib/src/kysely_types/debats/Debats.js +3 -0
- package/lib/src/kysely_types/debats/Intdivers.d.ts +22 -0
- package/lib/src/kysely_types/debats/Intdivers.js +3 -0
- package/lib/src/kysely_types/debats/Intpjl.d.ts +22 -0
- package/lib/src/kysely_types/debats/Intpjl.js +3 -0
- package/lib/src/kysely_types/debats/Lecassdeb.d.ts +13 -0
- package/lib/src/kysely_types/debats/Lecassdeb.js +3 -0
- package/lib/src/kysely_types/debats/Secdis.d.ts +27 -0
- package/lib/src/kysely_types/debats/Secdis.js +3 -0
- package/lib/src/kysely_types/debats/Secdivers.d.ts +19 -0
- package/lib/src/kysely_types/debats/Secdivers.js +3 -0
- package/lib/src/kysely_types/debats/SenatSchema.d.ts +18 -0
- package/lib/src/kysely_types/debats/SenatSchema.js +3 -0
- package/lib/src/kysely_types/debats/Syndeb.d.ts +12 -0
- package/lib/src/kysely_types/debats/Syndeb.js +3 -0
- package/lib/src/kysely_types/debats/Typsec.d.ts +14 -0
- package/lib/src/kysely_types/debats/Typsec.js +3 -0
- package/lib/src/kysely_types/dosleg/Amescr.d.ts +13 -0
- package/lib/src/kysely_types/dosleg/Amescr.js +3 -0
- package/lib/src/kysely_types/dosleg/Ass.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Ass.js +3 -0
- package/lib/src/kysely_types/dosleg/Aud.d.ts +19 -0
- package/lib/src/kysely_types/dosleg/Aud.js +3 -0
- package/lib/src/kysely_types/dosleg/Auteur.d.ts +34 -0
- package/lib/src/kysely_types/dosleg/Auteur.js +3 -0
- package/lib/src/kysely_types/dosleg/Ble.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Ble.js +3 -0
- package/lib/src/kysely_types/dosleg/Catrap.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Catrap.js +3 -0
- package/lib/src/kysely_types/dosleg/Corscr.d.ts +17 -0
- package/lib/src/kysely_types/dosleg/Corscr.js +3 -0
- package/lib/src/kysely_types/dosleg/Database.d.ts +3 -0
- package/lib/src/kysely_types/dosleg/Database.js +3 -0
- package/lib/src/kysely_types/dosleg/DateSeance.d.ts +16 -0
- package/lib/src/kysely_types/dosleg/DateSeance.js +3 -0
- package/lib/src/kysely_types/dosleg/Deccoc.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Deccoc.js +3 -0
- package/lib/src/kysely_types/dosleg/Denrap.d.ts +26 -0
- package/lib/src/kysely_types/dosleg/Denrap.js +3 -0
- package/lib/src/kysely_types/dosleg/Doc.d.ts +33 -0
- package/lib/src/kysely_types/dosleg/Doc.js +3 -0
- package/lib/src/kysely_types/dosleg/Docatt.d.ts +16 -0
- package/lib/src/kysely_types/dosleg/Docatt.js +3 -0
- package/lib/src/kysely_types/dosleg/Docsea.d.ts +19 -0
- package/lib/src/kysely_types/dosleg/Docsea.js +3 -0
- package/lib/src/kysely_types/dosleg/Ecr.d.ts +26 -0
- package/lib/src/kysely_types/dosleg/Ecr.js +3 -0
- package/lib/src/kysely_types/dosleg/Etaloi.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Etaloi.js +3 -0
- package/lib/src/kysely_types/dosleg/Evtsea.d.ts +18 -0
- package/lib/src/kysely_types/dosleg/Evtsea.js +3 -0
- package/lib/src/kysely_types/dosleg/Forpub.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Forpub.js +3 -0
- package/lib/src/kysely_types/dosleg/Gen.d.ts +11 -0
- package/lib/src/kysely_types/dosleg/Gen.js +3 -0
- package/lib/src/kysely_types/dosleg/Lecass.d.ts +84 -0
- package/lib/src/kysely_types/dosleg/Lecass.js +3 -0
- package/lib/src/kysely_types/dosleg/Lecassrap.d.ts +15 -0
- package/lib/src/kysely_types/dosleg/Lecassrap.js +3 -0
- package/lib/src/kysely_types/dosleg/Lecture.d.ts +16 -0
- package/lib/src/kysely_types/dosleg/Lecture.js +3 -0
- package/lib/src/kysely_types/dosleg/Lnkrap.d.ts +16 -0
- package/lib/src/kysely_types/dosleg/Lnkrap.js +3 -0
- package/lib/src/kysely_types/dosleg/Loi.d.ts +93 -0
- package/lib/src/kysely_types/dosleg/Loi.js +3 -0
- package/lib/src/kysely_types/dosleg/Loithe.d.ts +13 -0
- package/lib/src/kysely_types/dosleg/Loithe.js +3 -0
- package/lib/src/kysely_types/dosleg/Natloi.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Natloi.js +3 -0
- package/lib/src/kysely_types/dosleg/Org.d.ts +48 -0
- package/lib/src/kysely_types/dosleg/Org.js +3 -0
- package/lib/src/kysely_types/dosleg/Orgnomhis.d.ts +28 -0
- package/lib/src/kysely_types/dosleg/Orgnomhis.js +3 -0
- package/lib/src/kysely_types/dosleg/Orippr.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Orippr.js +3 -0
- package/lib/src/kysely_types/dosleg/Oritxt.d.ts +25 -0
- package/lib/src/kysely_types/dosleg/Oritxt.js +3 -0
- package/lib/src/kysely_types/dosleg/Posvot.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Posvot.js +3 -0
- package/lib/src/kysely_types/dosleg/Qua.d.ts +16 -0
- package/lib/src/kysely_types/dosleg/Qua.js +3 -0
- package/lib/src/kysely_types/dosleg/Rap.d.ts +64 -0
- package/lib/src/kysely_types/dosleg/Rap.js +3 -0
- package/lib/src/kysely_types/dosleg/Raporg.d.ts +13 -0
- package/lib/src/kysely_types/dosleg/Raporg.js +3 -0
- package/lib/src/kysely_types/dosleg/Rapthe.d.ts +13 -0
- package/lib/src/kysely_types/dosleg/Rapthe.js +3 -0
- package/lib/src/kysely_types/dosleg/Rolsig.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Rolsig.js +3 -0
- package/lib/src/kysely_types/dosleg/Scr.d.ts +46 -0
- package/lib/src/kysely_types/dosleg/Scr.js +3 -0
- package/lib/src/kysely_types/dosleg/SenatSchema.d.ts +108 -0
- package/lib/src/kysely_types/dosleg/SenatSchema.js +3 -0
- package/lib/src/kysely_types/dosleg/Ses.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Ses.js +3 -0
- package/lib/src/kysely_types/dosleg/Stavot.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Stavot.js +3 -0
- package/lib/src/kysely_types/dosleg/Texte.d.ts +54 -0
- package/lib/src/kysely_types/dosleg/Texte.js +3 -0
- package/lib/src/kysely_types/dosleg/TexteAncien.d.ts +20 -0
- package/lib/src/kysely_types/dosleg/TexteAncien.js +3 -0
- package/lib/src/kysely_types/dosleg/The.d.ts +14 -0
- package/lib/src/kysely_types/dosleg/The.js +3 -0
- package/lib/src/kysely_types/dosleg/Titsen.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Titsen.js +3 -0
- package/lib/src/kysely_types/dosleg/Typatt.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Typatt.js +3 -0
- package/lib/src/kysely_types/dosleg/Typaut.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Typaut.js +3 -0
- package/lib/src/kysely_types/dosleg/Typdoc.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Typdoc.js +3 -0
- package/lib/src/kysely_types/dosleg/Typevtsea.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Typevtsea.js +3 -0
- package/lib/src/kysely_types/dosleg/Typlec.d.ts +14 -0
- package/lib/src/kysely_types/dosleg/Typlec.js +3 -0
- package/lib/src/kysely_types/dosleg/Typloi.d.ts +26 -0
- package/lib/src/kysely_types/dosleg/Typloi.js +3 -0
- package/lib/src/kysely_types/dosleg/Typorg.d.ts +20 -0
- package/lib/src/kysely_types/dosleg/Typorg.js +3 -0
- package/lib/src/kysely_types/dosleg/Typrap.d.ts +26 -0
- package/lib/src/kysely_types/dosleg/Typrap.js +3 -0
- package/lib/src/kysely_types/dosleg/Typtxt.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Typtxt.js +3 -0
- package/lib/src/kysely_types/dosleg/Typurl.d.ts +12 -0
- package/lib/src/kysely_types/dosleg/Typurl.js +3 -0
- package/lib/src/kysely_types/dosleg/Votsen.d.ts +25 -0
- package/lib/src/kysely_types/dosleg/Votsen.js +3 -0
- package/lib/src/kysely_types/questions/Database.d.ts +3 -0
- package/lib/src/kysely_types/questions/Database.js +3 -0
- package/lib/src/kysely_types/questions/Etatquestion.d.ts +14 -0
- package/lib/src/kysely_types/questions/Etatquestion.js +3 -0
- package/lib/src/kysely_types/questions/Legquestion.d.ts +18 -0
- package/lib/src/kysely_types/questions/Legquestion.js +3 -0
- package/lib/src/kysely_types/questions/Naturequestion.d.ts +15 -0
- package/lib/src/kysely_types/questions/Naturequestion.js +3 -0
- package/lib/src/kysely_types/questions/SenatSchema.d.ts +18 -0
- package/lib/src/kysely_types/questions/SenatSchema.js +3 -0
- package/lib/src/kysely_types/questions/Sortquestion.d.ts +14 -0
- package/lib/src/kysely_types/questions/Sortquestion.js +3 -0
- package/lib/src/kysely_types/questions/TamMinisteres.d.ts +28 -0
- package/lib/src/kysely_types/questions/TamMinisteres.js +3 -0
- package/lib/src/kysely_types/questions/TamQuestions.d.ts +124 -0
- package/lib/src/kysely_types/questions/TamQuestions.js +3 -0
- package/lib/src/kysely_types/questions/TamReponses.d.ts +32 -0
- package/lib/src/kysely_types/questions/TamReponses.js +3 -0
- package/lib/src/kysely_types/questions/The.d.ts +16 -0
- package/lib/src/kysely_types/questions/The.js +3 -0
- package/lib/src/kysely_types/sens/Activite.d.ts +34 -0
- package/lib/src/kysely_types/sens/Activite.js +3 -0
- package/lib/src/kysely_types/sens/ActiviteDelegation.d.ts +15 -0
- package/lib/src/kysely_types/sens/ActiviteDelegation.js +3 -0
- package/lib/src/kysely_types/sens/ActiviteLoi.d.ts +13 -0
- package/lib/src/kysely_types/sens/ActiviteLoi.js +3 -0
- package/lib/src/kysely_types/sens/ActiviteParticipant.d.ts +25 -0
- package/lib/src/kysely_types/sens/ActiviteParticipant.js +3 -0
- package/lib/src/kysely_types/sens/ActiviteSenateur.d.ts +21 -0
- package/lib/src/kysely_types/sens/ActiviteSenateur.js +3 -0
- package/lib/src/kysely_types/sens/ActivitesLiees.d.ts +10 -0
- package/lib/src/kysely_types/sens/ActivitesLiees.js +3 -0
- package/lib/src/kysely_types/sens/Actpro.d.ts +16 -0
- package/lib/src/kysely_types/sens/Actpro.js +3 -0
- package/lib/src/kysely_types/sens/Adresse.d.ts +39 -0
- package/lib/src/kysely_types/sens/Adresse.js +3 -0
- package/lib/src/kysely_types/sens/Asster.d.ts +18 -0
- package/lib/src/kysely_types/sens/Asster.js +3 -0
- package/lib/src/kysely_types/sens/Bur.d.ts +46 -0
- package/lib/src/kysely_types/sens/Bur.js +3 -0
- package/lib/src/kysely_types/sens/CategorieActivite.d.ts +13 -0
- package/lib/src/kysely_types/sens/CategorieActivite.js +3 -0
- package/lib/src/kysely_types/sens/Com.d.ts +48 -0
- package/lib/src/kysely_types/sens/Com.js +3 -0
- package/lib/src/kysely_types/sens/Csp.d.ts +22 -0
- package/lib/src/kysely_types/sens/Csp.js +3 -0
- package/lib/src/kysely_types/sens/Database.d.ts +3 -0
- package/lib/src/kysely_types/sens/Database.js +3 -0
- package/lib/src/kysely_types/sens/Delega.d.ts +46 -0
- package/lib/src/kysely_types/sens/Delega.js +3 -0
- package/lib/src/kysely_types/sens/Design.d.ts +33 -0
- package/lib/src/kysely_types/sens/Design.js +3 -0
- package/lib/src/kysely_types/sens/Designoep.d.ts +36 -0
- package/lib/src/kysely_types/sens/Designoep.js +3 -0
- package/lib/src/kysely_types/sens/Designorg.d.ts +39 -0
- package/lib/src/kysely_types/sens/Designorg.js +3 -0
- package/lib/src/kysely_types/sens/Dpt.d.ts +54 -0
- package/lib/src/kysely_types/sens/Dpt.js +3 -0
- package/lib/src/kysely_types/sens/Dptele.d.ts +35 -0
- package/lib/src/kysely_types/sens/Dptele.js +3 -0
- package/lib/src/kysely_types/sens/Dpttypman.d.ts +14 -0
- package/lib/src/kysely_types/sens/Dpttypman.js +3 -0
- package/lib/src/kysely_types/sens/Ele.d.ts +35 -0
- package/lib/src/kysely_types/sens/Ele.js +3 -0
- package/lib/src/kysely_types/sens/Elucan.d.ts +50 -0
- package/lib/src/kysely_types/sens/Elucan.js +3 -0
- package/lib/src/kysely_types/sens/Eludep.d.ts +49 -0
- package/lib/src/kysely_types/sens/Eludep.js +3 -0
- package/lib/src/kysely_types/sens/Eludiv.d.ts +47 -0
- package/lib/src/kysely_types/sens/Eludiv.js +3 -0
- package/lib/src/kysely_types/sens/Elueur.d.ts +47 -0
- package/lib/src/kysely_types/sens/Elueur.js +3 -0
- package/lib/src/kysely_types/sens/Elureg.d.ts +48 -0
- package/lib/src/kysely_types/sens/Elureg.js +3 -0
- package/lib/src/kysely_types/sens/Elusen.d.ts +52 -0
- package/lib/src/kysely_types/sens/Elusen.js +3 -0
- package/lib/src/kysely_types/sens/Eluter.d.ts +47 -0
- package/lib/src/kysely_types/sens/Eluter.js +3 -0
- package/lib/src/kysely_types/sens/Elutit.d.ts +38 -0
- package/lib/src/kysely_types/sens/Elutit.js +3 -0
- package/lib/src/kysely_types/sens/Eluvil.d.ts +48 -0
- package/lib/src/kysely_types/sens/Eluvil.js +3 -0
- package/lib/src/kysely_types/sens/Etadebman.d.ts +34 -0
- package/lib/src/kysely_types/sens/Etadebman.js +3 -0
- package/lib/src/kysely_types/sens/Etafinman.d.ts +34 -0
- package/lib/src/kysely_types/sens/Etafinman.js +3 -0
- package/lib/src/kysely_types/sens/Etasen.d.ts +34 -0
- package/lib/src/kysely_types/sens/Etasen.js +3 -0
- package/lib/src/kysely_types/sens/FonactParticipant.d.ts +16 -0
- package/lib/src/kysely_types/sens/FonactParticipant.js +3 -0
- package/lib/src/kysely_types/sens/Foncom.d.ts +40 -0
- package/lib/src/kysely_types/sens/Foncom.js +3 -0
- package/lib/src/kysely_types/sens/Fondelega.d.ts +40 -0
- package/lib/src/kysely_types/sens/Fondelega.js +3 -0
- package/lib/src/kysely_types/sens/Fongrppol.d.ts +40 -0
- package/lib/src/kysely_types/sens/Fongrppol.js +3 -0
- package/lib/src/kysely_types/sens/Fongrpsen.d.ts +27 -0
- package/lib/src/kysely_types/sens/Fongrpsen.js +3 -0
- package/lib/src/kysely_types/sens/Fonmemcom.d.ts +37 -0
- package/lib/src/kysely_types/sens/Fonmemcom.js +3 -0
- package/lib/src/kysely_types/sens/Fonmemdelega.d.ts +37 -0
- package/lib/src/kysely_types/sens/Fonmemdelega.js +3 -0
- package/lib/src/kysely_types/sens/Fonmemgrppol.d.ts +35 -0
- package/lib/src/kysely_types/sens/Fonmemgrppol.js +3 -0
- package/lib/src/kysely_types/sens/Fonmemgrpsen.d.ts +32 -0
- package/lib/src/kysely_types/sens/Fonmemgrpsen.js +3 -0
- package/lib/src/kysely_types/sens/Fonmemorg.d.ts +41 -0
- package/lib/src/kysely_types/sens/Fonmemorg.js +3 -0
- package/lib/src/kysely_types/sens/Fonorg.d.ts +40 -0
- package/lib/src/kysely_types/sens/Fonorg.js +3 -0
- package/lib/src/kysely_types/sens/Grppol.d.ts +46 -0
- package/lib/src/kysely_types/sens/Grppol.js +3 -0
- package/lib/src/kysely_types/sens/Grpsenami.d.ts +55 -0
- package/lib/src/kysely_types/sens/Grpsenami.js +3 -0
- package/lib/src/kysely_types/sens/Libcom.d.ts +36 -0
- package/lib/src/kysely_types/sens/Libcom.js +3 -0
- package/lib/src/kysely_types/sens/Libdelega.d.ts +34 -0
- package/lib/src/kysely_types/sens/Libdelega.js +3 -0
- package/lib/src/kysely_types/sens/Libgrppol.d.ts +36 -0
- package/lib/src/kysely_types/sens/Libgrppol.js +3 -0
- package/lib/src/kysely_types/sens/Libgrpsen.d.ts +28 -0
- package/lib/src/kysely_types/sens/Libgrpsen.js +3 -0
- package/lib/src/kysely_types/sens/Liborg.d.ts +34 -0
- package/lib/src/kysely_types/sens/Liborg.js +3 -0
- package/lib/src/kysely_types/sens/Mel.d.ts +19 -0
- package/lib/src/kysely_types/sens/Mel.js +3 -0
- package/lib/src/kysely_types/sens/Memcom.d.ts +37 -0
- package/lib/src/kysely_types/sens/Memcom.js +3 -0
- package/lib/src/kysely_types/sens/Memdelega.d.ts +38 -0
- package/lib/src/kysely_types/sens/Memdelega.js +3 -0
- package/lib/src/kysely_types/sens/Memextpar.d.ts +56 -0
- package/lib/src/kysely_types/sens/Memextpar.js +3 -0
- package/lib/src/kysely_types/sens/Memgrppol.d.ts +38 -0
- package/lib/src/kysely_types/sens/Memgrppol.js +3 -0
- package/lib/src/kysely_types/sens/Memgrpsen.d.ts +30 -0
- package/lib/src/kysely_types/sens/Memgrpsen.js +3 -0
- package/lib/src/kysely_types/sens/Memorg.d.ts +42 -0
- package/lib/src/kysely_types/sens/Memorg.js +3 -0
- package/lib/src/kysely_types/sens/Minind.d.ts +46 -0
- package/lib/src/kysely_types/sens/Minind.js +3 -0
- package/lib/src/kysely_types/sens/Mismin.d.ts +17 -0
- package/lib/src/kysely_types/sens/Mismin.js +3 -0
- package/lib/src/kysely_types/sens/Missen.d.ts +17 -0
- package/lib/src/kysely_types/sens/Missen.js +3 -0
- package/lib/src/kysely_types/sens/Moddes.d.ts +30 -0
- package/lib/src/kysely_types/sens/Moddes.js +3 -0
- package/lib/src/kysely_types/sens/Nation.d.ts +26 -0
- package/lib/src/kysely_types/sens/Nation.js +3 -0
- package/lib/src/kysely_types/sens/Nationgrpsen.d.ts +31 -0
- package/lib/src/kysely_types/sens/Nationgrpsen.js +3 -0
- package/lib/src/kysely_types/sens/Org.d.ts +46 -0
- package/lib/src/kysely_types/sens/Org.js +3 -0
- package/lib/src/kysely_types/sens/Orgext.d.ts +72 -0
- package/lib/src/kysely_types/sens/Orgext.js +3 -0
- package/lib/src/kysely_types/sens/Orgthe.d.ts +12 -0
- package/lib/src/kysely_types/sens/Orgthe.js +3 -0
- package/lib/src/kysely_types/sens/Pcs.d.ts +15 -0
- package/lib/src/kysely_types/sens/Pcs.js +3 -0
- package/lib/src/kysely_types/sens/Pcs24.d.ts +15 -0
- package/lib/src/kysely_types/sens/Pcs24.js +3 -0
- package/lib/src/kysely_types/sens/Pcs42.d.ts +15 -0
- package/lib/src/kysely_types/sens/Pcs42.js +3 -0
- package/lib/src/kysely_types/sens/Pcs8.d.ts +12 -0
- package/lib/src/kysely_types/sens/Pcs8.js +3 -0
- package/lib/src/kysely_types/sens/Pcscatpro.d.ts +15 -0
- package/lib/src/kysely_types/sens/Pcscatpro.js +3 -0
- package/lib/src/kysely_types/sens/Poicon.d.ts +20 -0
- package/lib/src/kysely_types/sens/Poicon.js +3 -0
- package/lib/src/kysely_types/sens/Qua.d.ts +30 -0
- package/lib/src/kysely_types/sens/Qua.js +3 -0
- package/lib/src/kysely_types/sens/Reg.d.ts +38 -0
- package/lib/src/kysely_types/sens/Reg.js +3 -0
- package/lib/src/kysely_types/sens/Sen.d.ts +66 -0
- package/lib/src/kysely_types/sens/Sen.js +3 -0
- package/lib/src/kysely_types/sens/SenatSchema.d.ts +198 -0
- package/lib/src/kysely_types/sens/SenatSchema.js +3 -0
- package/lib/src/kysely_types/sens/Senbur.d.ts +41 -0
- package/lib/src/kysely_types/sens/Senbur.js +3 -0
- package/lib/src/kysely_types/sens/Sennom.d.ts +32 -0
- package/lib/src/kysely_types/sens/Sennom.js +3 -0
- package/lib/src/kysely_types/sens/Senurl.d.ts +35 -0
- package/lib/src/kysely_types/sens/Senurl.js +3 -0
- package/lib/src/kysely_types/sens/Stajur.d.ts +19 -0
- package/lib/src/kysely_types/sens/Stajur.js +3 -0
- package/lib/src/kysely_types/sens/Telephone.d.ts +21 -0
- package/lib/src/kysely_types/sens/Telephone.js +3 -0
- package/lib/src/kysely_types/sens/Temval.d.ts +14 -0
- package/lib/src/kysely_types/sens/Temval.js +3 -0
- package/lib/src/kysely_types/sens/Territ.d.ts +25 -0
- package/lib/src/kysely_types/sens/Territ.js +3 -0
- package/lib/src/kysely_types/sens/Titele.d.ts +32 -0
- package/lib/src/kysely_types/sens/Titele.js +3 -0
- package/lib/src/kysely_types/sens/Typadr.d.ts +20 -0
- package/lib/src/kysely_types/sens/Typadr.js +3 -0
- package/lib/src/kysely_types/sens/Typapppol.d.ts +34 -0
- package/lib/src/kysely_types/sens/Typapppol.js +3 -0
- package/lib/src/kysely_types/sens/Typbister.d.ts +16 -0
- package/lib/src/kysely_types/sens/Typbister.js +3 -0
- package/lib/src/kysely_types/sens/TypeActivite.d.ts +11 -0
- package/lib/src/kysely_types/sens/TypeActivite.js +3 -0
- package/lib/src/kysely_types/sens/TypeActiviteParticipant.d.ts +10 -0
- package/lib/src/kysely_types/sens/TypeActiviteParticipant.js +3 -0
- package/lib/src/kysely_types/sens/TypeActiviteSenateur.d.ts +11 -0
- package/lib/src/kysely_types/sens/TypeActiviteSenateur.js +3 -0
- package/lib/src/kysely_types/sens/TypeCategorie.d.ts +11 -0
- package/lib/src/kysely_types/sens/TypeCategorie.js +3 -0
- package/lib/src/kysely_types/sens/Typele.d.ts +22 -0
- package/lib/src/kysely_types/sens/Typele.js +3 -0
- package/lib/src/kysely_types/sens/Typgrpsen.d.ts +23 -0
- package/lib/src/kysely_types/sens/Typgrpsen.js +3 -0
- package/lib/src/kysely_types/sens/Typman.d.ts +20 -0
- package/lib/src/kysely_types/sens/Typman.js +3 -0
- package/lib/src/kysely_types/sens/Typorg.d.ts +26 -0
- package/lib/src/kysely_types/sens/Typorg.js +3 -0
- package/lib/src/kysely_types/sens/Typurl.d.ts +31 -0
- package/lib/src/kysely_types/sens/Typurl.js +3 -0
- package/lib/src/kysely_types/sens/Typvoi.d.ts +16 -0
- package/lib/src/kysely_types/sens/Typvoi.js +3 -0
- package/lib/src/kysely_types/sens/Zongeo.d.ts +22 -0
- package/lib/src/kysely_types/sens/Zongeo.js +3 -0
- package/lib/{types → src/other_types}/agenda.d.ts +1 -0
- package/lib/{types → src/other_types}/sens.d.ts +0 -2
- package/lib/src/other_types/sessions.d.ts +6 -0
- package/lib/src/other_types/sessions.js +19 -0
- package/lib/{types → src/other_types}/texte.d.ts +11 -13
- package/lib/{types → src/other_types}/texte.js +0 -1
- package/lib/src/parsers/texte.d.ts +1 -1
- package/lib/src/parsers/texte.js +1 -1
- package/lib/src/{model/ameli_postgres.d.ts → rich_types/ameli.d.ts} +5 -2
- package/lib/src/rich_types/debats.d.ts +38 -0
- package/lib/src/rich_types/dosleg.d.ts +212 -0
- package/lib/src/rich_types/dosleg.js +193 -0
- package/lib/src/rich_types/questions.d.ts +55 -0
- package/lib/src/rich_types/sens.d.ts +104 -0
- package/lib/src/scripts/convert_data.js +6 -6
- package/lib/src/scripts/convert_xml_to_html.js +1 -1
- package/lib/src/scripts/datautil.d.ts +1 -1
- package/lib/src/scripts/retrieve_agenda.js +4 -4
- package/lib/src/scripts/retrieve_cr_commission.js +6 -6
- package/lib/src/scripts/retrieve_cr_seance.d.ts +1 -1
- package/lib/src/scripts/retrieve_cr_seance.js +4 -4
- package/lib/src/scripts/retrieve_documents.d.ts +1 -1
- package/lib/src/scripts/retrieve_documents.js +4 -4
- package/lib/src/scripts/retrieve_open_data.js +72 -8
- package/lib/src/scripts/retrieve_senateurs_photos.js +2 -2
- package/lib/src/scripts/retrieve_videos.js +3 -3
- package/lib/src/scripts/shared/incremental_import_sql.js +22 -7
- package/lib/src/scripts/shared/prefixed_tables.d.ts +2 -1
- package/lib/src/scripts/shared/prefixed_tables.js +4 -3
- package/lib/src/scripts/shared/staging_import.d.ts +1 -1
- package/lib/src/scripts/validate_prefixed_tables.js +12 -11
- package/lib/src/scrutins.d.ts +47 -0
- package/lib/{model → src/server}/agenda.d.ts +1 -1
- package/lib/{model → src/server}/agenda.js +3 -3
- package/lib/src/server/ameli.d.ts +2 -0
- package/lib/src/server/ameli.js +153 -0
- package/lib/{model → src/server}/commission.d.ts +5 -4
- package/lib/{model → src/server}/commission.js +6 -6
- package/lib/src/server/config.d.ts +43 -0
- package/lib/src/server/config.js +37 -0
- package/lib/src/server/conversion_textes.d.ts +11 -0
- package/lib/src/server/conversion_textes.js +320 -0
- package/lib/src/server/databases_postgres.d.ts +32 -0
- package/lib/src/server/databases_postgres.js +50 -0
- package/lib/{datasets.d.ts → src/server/datasets.d.ts} +4 -0
- package/lib/{datasets.js → src/server/datasets.js} +16 -2
- package/lib/src/server/debats.d.ts +2 -0
- package/lib/src/server/debats.js +98 -0
- package/lib/src/server/documents.d.ts +3 -0
- package/lib/src/server/documents.js +132 -0
- package/lib/src/server/dosleg.d.ts +2 -0
- package/lib/src/server/dosleg.js +228 -0
- package/lib/{git.d.ts → src/server/git.d.ts} +1 -0
- package/lib/{git.js → src/server/git.js} +96 -12
- package/lib/src/server/index.d.ts +18 -0
- package/lib/src/server/index.js +16 -0
- package/lib/{loaders.d.ts → src/server/loaders.d.ts} +17 -23
- package/lib/{loaders.js → src/server/loaders.js} +36 -62
- package/lib/src/server/questions.d.ts +2 -0
- package/lib/src/server/questions.js +89 -0
- package/lib/src/server/scrutins.d.ts +2 -0
- package/lib/src/server/scrutins.js +114 -0
- package/lib/{model → src/server}/seance.d.ts +1 -1
- package/lib/{model → src/server}/seance.js +7 -7
- package/lib/src/server/sens.d.ts +9 -0
- package/lib/src/server/sens.js +353 -0
- package/lib/src/types/debats.d.ts +2 -2
- package/lib/src/util.d.ts +1 -0
- package/lib/src/util.js +15 -0
- package/lib/src/utils/cr_spliting.d.ts +1 -1
- package/lib/src/utils/cr_spliting.js +2 -2
- package/lib/src/utils/nvs-parsing.d.ts +1 -1
- package/lib/src/utils/nvs-parsing.js +9 -1
- package/lib/src/utils/reunion_odj_building.d.ts +2 -2
- package/lib/src/utils/reunion_odj_building.js +2 -2
- package/lib/src/utils/reunion_parsing.d.ts +2 -2
- package/lib/src/utils/scoring.d.ts +1 -1
- package/lib/src/videos/match.d.ts +1 -1
- package/lib/src/videos/pipeline.d.ts +4 -4
- package/lib/src/videos/pipeline.js +3 -3
- package/lib/src/videos/search.d.ts +1 -1
- package/lib/tests/test_iter_load.test.js +1 -1
- package/lib/tests/validatePrefixedTables.test.js +1 -1
- package/package.json +11 -4
- package/lib/add-js-extensions-v2.js +0 -23
- package/lib/add-js-extensions.js +0 -17
- package/lib/aggregates.d.ts +0 -52
- package/lib/aggregates.js +0 -930
- package/lib/aggregates.mjs +0 -713
- package/lib/aggregates.ts +0 -833
- package/lib/config.d.ts +0 -10
- package/lib/config.js +0 -16
- package/lib/config.mjs +0 -16
- package/lib/config.ts +0 -26
- package/lib/databases.d.ts +0 -2
- package/lib/databases.js +0 -26
- package/lib/databases.mjs +0 -57
- package/lib/databases.ts +0 -71
- package/lib/datasets.mjs +0 -78
- package/lib/datasets.ts +0 -118
- package/lib/fields.d.ts +0 -10
- package/lib/fields.js +0 -68
- package/lib/fields.mjs +0 -22
- package/lib/fields.ts +0 -29
- package/lib/index.d.ts +0 -13
- package/lib/index.js +0 -1
- package/lib/index.mjs +0 -7
- package/lib/index.ts +0 -64
- package/lib/inserters.d.ts +0 -98
- package/lib/inserters.js +0 -500
- package/lib/inserters.mjs +0 -360
- package/lib/inserters.ts +0 -521
- package/lib/legislatures.json +0 -38
- package/lib/loaders.mjs +0 -158
- package/lib/loaders.ts +0 -271
- package/lib/model/ameli.d.ts +0 -51
- package/lib/model/ameli.js +0 -149
- package/lib/model/ameli.mjs +0 -84
- package/lib/model/ameli.ts +0 -100
- package/lib/model/debats.d.ts +0 -67
- package/lib/model/debats.js +0 -95
- package/lib/model/debats.mjs +0 -43
- package/lib/model/debats.ts +0 -68
- package/lib/model/documents.d.ts +0 -12
- package/lib/model/documents.js +0 -151
- package/lib/model/dosleg.d.ts +0 -7
- package/lib/model/dosleg.js +0 -326
- package/lib/model/dosleg.mjs +0 -196
- package/lib/model/dosleg.ts +0 -240
- package/lib/model/index.d.ts +0 -7
- package/lib/model/index.js +0 -7
- package/lib/model/index.mjs +0 -5
- package/lib/model/index.ts +0 -15
- package/lib/model/questions.d.ts +0 -45
- package/lib/model/questions.js +0 -89
- package/lib/model/questions.mjs +0 -71
- package/lib/model/questions.ts +0 -93
- package/lib/model/scrutins.d.ts +0 -13
- package/lib/model/scrutins.js +0 -114
- package/lib/model/sens.d.ts +0 -146
- package/lib/model/sens.js +0 -454
- package/lib/model/sens.mjs +0 -415
- package/lib/model/sens.ts +0 -516
- package/lib/model/texte.d.ts +0 -7
- package/lib/model/texte.js +0 -256
- package/lib/model/texte.mjs +0 -208
- package/lib/model/texte.ts +0 -229
- package/lib/model/util.d.ts +0 -9
- package/lib/model/util.js +0 -38
- package/lib/model/util.mjs +0 -19
- package/lib/model/util.ts +0 -32
- package/lib/parsers/texte.d.ts +0 -7
- package/lib/parsers/texte.js +0 -228
- package/lib/raw_types/ameli.d.ts +0 -914
- package/lib/raw_types/ameli.js +0 -5
- package/lib/raw_types/ameli.mjs +0 -163
- package/lib/raw_types/debats.d.ts +0 -207
- package/lib/raw_types/debats.js +0 -5
- package/lib/raw_types/debats.mjs +0 -58
- package/lib/raw_types/dosleg.d.ts +0 -1619
- package/lib/raw_types/dosleg.js +0 -5
- package/lib/raw_types/dosleg.mjs +0 -438
- package/lib/raw_types/questions.d.ts +0 -419
- package/lib/raw_types/questions.js +0 -5
- package/lib/raw_types/questions.mjs +0 -11
- package/lib/raw_types/senat.d.ts +0 -11368
- package/lib/raw_types/senat.js +0 -5
- package/lib/raw_types/sens.d.ts +0 -8248
- package/lib/raw_types/sens.js +0 -5
- package/lib/raw_types/sens.mjs +0 -508
- package/lib/raw_types_kysely/ameli.d.ts +0 -915
- package/lib/raw_types_kysely/ameli.js +0 -7
- package/lib/raw_types_kysely/ameli.mjs +0 -5
- package/lib/raw_types_kysely/ameli.ts +0 -951
- package/lib/raw_types_kysely/debats.d.ts +0 -207
- package/lib/raw_types_kysely/debats.js +0 -7
- package/lib/raw_types_kysely/debats.mjs +0 -5
- package/lib/raw_types_kysely/debats.ts +0 -222
- package/lib/raw_types_kysely/dosleg.d.ts +0 -3532
- package/lib/raw_types_kysely/dosleg.js +0 -7
- package/lib/raw_types_kysely/dosleg.mjs +0 -5
- package/lib/raw_types_kysely/dosleg.ts +0 -3621
- package/lib/raw_types_kysely/questions.d.ts +0 -414
- package/lib/raw_types_kysely/questions.js +0 -7
- package/lib/raw_types_kysely/questions.mjs +0 -5
- package/lib/raw_types_kysely/questions.ts +0 -426
- package/lib/raw_types_kysely/sens.d.ts +0 -4394
- package/lib/raw_types_kysely/sens.js +0 -7
- package/lib/raw_types_kysely/sens.mjs +0 -5
- package/lib/raw_types_kysely/sens.ts +0 -4499
- package/lib/raw_types_schemats/ameli.d.ts +0 -539
- package/lib/raw_types_schemats/ameli.js +0 -2
- package/lib/raw_types_schemats/ameli.mjs +0 -2
- package/lib/raw_types_schemats/ameli.ts +0 -601
- package/lib/raw_types_schemats/debats.d.ts +0 -127
- package/lib/raw_types_schemats/debats.js +0 -2
- package/lib/raw_types_schemats/debats.mjs +0 -2
- package/lib/raw_types_schemats/debats.ts +0 -145
- package/lib/raw_types_schemats/dosleg.d.ts +0 -977
- package/lib/raw_types_schemats/dosleg.js +0 -2
- package/lib/raw_types_schemats/dosleg.mjs +0 -2
- package/lib/raw_types_schemats/dosleg.ts +0 -2193
- package/lib/raw_types_schemats/questions.d.ts +0 -235
- package/lib/raw_types_schemats/questions.js +0 -2
- package/lib/raw_types_schemats/questions.mjs +0 -2
- package/lib/raw_types_schemats/questions.ts +0 -249
- package/lib/raw_types_schemats/sens.d.ts +0 -6915
- package/lib/raw_types_schemats/sens.js +0 -2
- package/lib/raw_types_schemats/sens.mjs +0 -2
- package/lib/raw_types_schemats/sens.ts +0 -2907
- package/lib/scripts/convert_data.js +0 -354
- package/lib/scripts/convert_data.mjs +0 -181
- package/lib/scripts/convert_data.ts +0 -243
- package/lib/scripts/data-download.d.ts +0 -1
- package/lib/scripts/data-download.js +0 -12
- package/lib/scripts/datautil.d.ts +0 -8
- package/lib/scripts/datautil.js +0 -34
- package/lib/scripts/datautil.mjs +0 -16
- package/lib/scripts/datautil.ts +0 -19
- package/lib/scripts/images/transparent_150x192.jpg +0 -0
- package/lib/scripts/images/transparent_155x225.jpg +0 -0
- package/lib/scripts/parse_textes.d.ts +0 -1
- package/lib/scripts/parse_textes.js +0 -44
- package/lib/scripts/parse_textes.mjs +0 -46
- package/lib/scripts/parse_textes.ts +0 -65
- package/lib/scripts/retrieve_agenda.d.ts +0 -1
- package/lib/scripts/retrieve_agenda.js +0 -132
- package/lib/scripts/retrieve_cr_commission.d.ts +0 -1
- package/lib/scripts/retrieve_cr_commission.js +0 -364
- package/lib/scripts/retrieve_cr_seance.d.ts +0 -6
- package/lib/scripts/retrieve_cr_seance.js +0 -347
- package/lib/scripts/retrieve_documents.d.ts +0 -3
- package/lib/scripts/retrieve_documents.js +0 -219
- package/lib/scripts/retrieve_documents.mjs +0 -249
- package/lib/scripts/retrieve_documents.ts +0 -298
- package/lib/scripts/retrieve_open_data.d.ts +0 -1
- package/lib/scripts/retrieve_open_data.js +0 -315
- package/lib/scripts/retrieve_open_data.mjs +0 -217
- package/lib/scripts/retrieve_open_data.ts +0 -268
- package/lib/scripts/retrieve_senateurs_photos.d.ts +0 -1
- package/lib/scripts/retrieve_senateurs_photos.js +0 -147
- package/lib/scripts/retrieve_senateurs_photos.mjs +0 -147
- package/lib/scripts/retrieve_senateurs_photos.ts +0 -177
- package/lib/scripts/retrieve_videos.d.ts +0 -1
- package/lib/scripts/retrieve_videos.js +0 -461
- package/lib/scripts/shared/cli_helpers.d.ts +0 -95
- package/lib/scripts/shared/cli_helpers.js +0 -91
- package/lib/scripts/shared/cli_helpers.ts +0 -36
- package/lib/scripts/shared/util.d.ts +0 -4
- package/lib/scripts/shared/util.js +0 -35
- package/lib/scripts/shared/util.ts +0 -33
- package/lib/scripts/test_iter_load.d.ts +0 -1
- package/lib/scripts/test_iter_load.js +0 -12
- package/lib/src/databases.d.ts +0 -3
- package/lib/src/databases.js +0 -26
- package/lib/src/model/ameli_postgres.js +0 -150
- package/lib/src/raw_types/senat.d.ts +0 -11372
- package/lib/src/raw_types/senat.js +0 -5
- package/lib/src/scripts/test_iter_load.d.ts +0 -1
- package/lib/src/scripts/test_iter_load.js +0 -12
- package/lib/strings.d.ts +0 -1
- package/lib/strings.js +0 -18
- package/lib/strings.mjs +0 -18
- package/lib/strings.ts +0 -26
- package/lib/types/ameli.d.ts +0 -5
- package/lib/types/ameli.mjs +0 -13
- package/lib/types/ameli.ts +0 -21
- package/lib/types/debats.d.ts +0 -2
- package/lib/types/debats.mjs +0 -2
- package/lib/types/debats.ts +0 -6
- package/lib/types/dosleg.d.ts +0 -70
- package/lib/types/dosleg.js +0 -1
- package/lib/types/dosleg.mjs +0 -151
- package/lib/types/dosleg.ts +0 -284
- package/lib/types/questions.d.ts +0 -2
- package/lib/types/questions.mjs +0 -1
- package/lib/types/questions.ts +0 -3
- package/lib/types/sens.mjs +0 -1
- package/lib/types/sens.ts +0 -12
- package/lib/types/sessions.d.ts +0 -5
- package/lib/types/sessions.js +0 -84
- package/lib/types/sessions.mjs +0 -43
- package/lib/types/sessions.ts +0 -42
- package/lib/types/texte.mjs +0 -16
- package/lib/types/texte.ts +0 -76
- package/lib/typings/windows-1252.d.js +0 -2
- package/lib/typings/windows-1252.d.mjs +0 -2
- package/lib/typings/windows-1252.d.ts +0 -11
- package/lib/utils/cr_spliting.d.ts +0 -28
- package/lib/utils/cr_spliting.js +0 -265
- package/lib/utils/date.d.ts +0 -10
- package/lib/utils/date.js +0 -100
- package/lib/utils/nvs-timecode.d.ts +0 -7
- package/lib/utils/nvs-timecode.js +0 -79
- package/lib/utils/reunion_grouping.d.ts +0 -9
- package/lib/utils/reunion_grouping.js +0 -361
- package/lib/utils/reunion_odj_building.d.ts +0 -5
- package/lib/utils/reunion_odj_building.js +0 -154
- package/lib/utils/reunion_parsing.d.ts +0 -23
- package/lib/utils/reunion_parsing.js +0 -209
- package/lib/utils/scoring.d.ts +0 -14
- package/lib/utils/scoring.js +0 -147
- package/lib/utils/string_cleaning.d.ts +0 -7
- package/lib/utils/string_cleaning.js +0 -57
- package/lib/validators/config.mjs +0 -54
- package/lib/validators/config.ts +0 -79
- package/lib/validators/senat.d.ts +0 -0
- package/lib/validators/senat.js +0 -28
- package/lib/validators/senat.mjs +0 -24
- package/lib/validators/senat.ts +0 -26
- /package/lib/{add-js-extensions-v2.d.ts → src/documents.js} +0 -0
- /package/lib/{types → src/other_types}/agenda.js +0 -0
- /package/lib/{types → src/other_types}/compte_rendu.d.ts +0 -0
- /package/lib/{types → src/other_types}/compte_rendu.js +0 -0
- /package/lib/{types → src/other_types}/sens.js +0 -0
- /package/lib/{types → src/rich_types}/ameli.js +0 -0
- /package/lib/{types → src/rich_types}/debats.js +0 -0
- /package/lib/{types → src/rich_types}/questions.js +0 -0
- /package/lib/{add-js-extensions.d.ts → src/rich_types/sens.js} +0 -0
- /package/lib/{validators → src/schemas}/config.d.ts +0 -0
- /package/lib/{validators → src/schemas}/config.js +0 -0
- /package/lib/{scripts/convert_data.d.ts → src/scrutins.js} +0 -0
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { getSessionsFromStart } from "../types/sessions";
|
|
2
|
-
import { iterLoadSenatDossiersLegislatifs } from "../loaders";
|
|
3
|
-
export function buildOdj(events, dossierBySenatUrl) {
|
|
4
|
-
const byObjet = new Map(); // objet -> set de dossier uids
|
|
5
|
-
let codeEtape = null;
|
|
6
|
-
let dossier = null;
|
|
7
|
-
for (const ev of events) {
|
|
8
|
-
const objetKey = (ev.objet ?? "").trim();
|
|
9
|
-
const url = normalizeSenatUrl(ev.urlDossierSenat) ?? undefined;
|
|
10
|
-
dossier = url ? dossierBySenatUrl[url] : null;
|
|
11
|
-
const dossierUid = dossier ? pickDossierUid(dossier) : undefined;
|
|
12
|
-
codeEtape = dossier ? computeCodeEtape(ev, dossier) : null;
|
|
13
|
-
// si on n’a ni objet ni dossier, ça ne sert à rien de créer un point
|
|
14
|
-
if (!objetKey && !dossierUid)
|
|
15
|
-
continue;
|
|
16
|
-
if (!byObjet.has(objetKey) && dossierUid) {
|
|
17
|
-
byObjet.set(objetKey, dossierUid);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (byObjet.size === 0)
|
|
21
|
-
return undefined;
|
|
22
|
-
const pointsOdj = [];
|
|
23
|
-
for (const [objetKey, dossierUid] of byObjet) {
|
|
24
|
-
pointsOdj.push({
|
|
25
|
-
objet: objetKey || null,
|
|
26
|
-
dossierLegislatifRef: dossierUid || null,
|
|
27
|
-
codeEtape,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
return { pointsOdj };
|
|
31
|
-
}
|
|
32
|
-
function pickDossierUid(d) {
|
|
33
|
-
if (d["signet"] && d["signet"].trim())
|
|
34
|
-
return d["signet"].trim();
|
|
35
|
-
if (d["code"] && String(d["code"]).trim())
|
|
36
|
-
return String(d["code"]).trim();
|
|
37
|
-
return undefined;
|
|
38
|
-
}
|
|
39
|
-
function normalizeSenatUrl(url) {
|
|
40
|
-
if (!url)
|
|
41
|
-
return null;
|
|
42
|
-
let u = url.trim();
|
|
43
|
-
if (!u)
|
|
44
|
-
return null;
|
|
45
|
-
if (!/^https?:\/\//i.test(u))
|
|
46
|
-
return u;
|
|
47
|
-
// force https://
|
|
48
|
-
u = u.replace(/^http:\/\//i, "https://");
|
|
49
|
-
u = u.replace(/\/+$/, "");
|
|
50
|
-
return u;
|
|
51
|
-
}
|
|
52
|
-
export function buildSenatDossierIndex(options) {
|
|
53
|
-
const index = {};
|
|
54
|
-
const sessions = getSessionsFromStart(2015);
|
|
55
|
-
for (const session of sessions) {
|
|
56
|
-
for (const item of iterLoadSenatDossiersLegislatifs(options["dataDir"], session)) {
|
|
57
|
-
const dossier = item.item;
|
|
58
|
-
const url = dossier["url"] ? normalizeSenatUrl(dossier["url"]) : undefined;
|
|
59
|
-
if (url)
|
|
60
|
-
index[url] = dossier;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return index;
|
|
64
|
-
}
|
|
65
|
-
function detectLecture(objet) {
|
|
66
|
-
objet = objet.toLowerCase();
|
|
67
|
-
if (objet.includes("première lecture"))
|
|
68
|
-
return 1;
|
|
69
|
-
if (objet.includes("deuxième lecture") || objet.includes("2ème"))
|
|
70
|
-
return 2;
|
|
71
|
-
if (objet.includes("troisième lecture") || objet.includes("3ème"))
|
|
72
|
-
return 3;
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
function computeCodeEtape(ev, dossier) {
|
|
76
|
-
// In order to match with stage, we need to remove the '-SEANCE' suffix from the codeActe
|
|
77
|
-
const cleanCode = (code) => code.replace(/-SEANCE$/, "");
|
|
78
|
-
const lecture = detectLecture(ev.objet ?? "");
|
|
79
|
-
const organe = ev.organe ?? "";
|
|
80
|
-
const nature = organe.toLowerCase().includes("commission")
|
|
81
|
-
? "COM"
|
|
82
|
-
: organe.toLowerCase().includes("séance publique")
|
|
83
|
-
? "DEBATS"
|
|
84
|
-
: "";
|
|
85
|
-
const evDate = ev.date.split("T")[0];
|
|
86
|
-
const flat = buildFlatActes(dossier);
|
|
87
|
-
// 1) Strict matching: same date + same nature
|
|
88
|
-
let candidates = flat.filter((a) => {
|
|
89
|
-
if (a.date !== evDate)
|
|
90
|
-
return false;
|
|
91
|
-
if (nature && !a.codeActe.includes(nature))
|
|
92
|
-
return false;
|
|
93
|
-
return true;
|
|
94
|
-
});
|
|
95
|
-
// If a specific lecture is detected in the agenda event, refine the candidates
|
|
96
|
-
if (lecture !== undefined && candidates.length > 0) {
|
|
97
|
-
const withLecture = candidates.filter((c) => c.ordreLecture === lecture);
|
|
98
|
-
if (withLecture.length > 0) {
|
|
99
|
-
candidates = withLecture;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
if (candidates.length > 0) {
|
|
103
|
-
// Multiple candidates: pick the most specific one (longest code string)
|
|
104
|
-
candidates.sort((a, b) => b.codeActe.length - a.codeActe.length);
|
|
105
|
-
return cleanCode(candidates[0].codeActe);
|
|
106
|
-
}
|
|
107
|
-
// 2) Fallback COM: If no exact date match for a commission event,
|
|
108
|
-
// take the latest commission act for this lecture on or before the event date.
|
|
109
|
-
if (nature === "COM") {
|
|
110
|
-
let comActs = flat.filter((a) => a.codeActe.includes("COM") && a.date <= evDate);
|
|
111
|
-
if (lecture !== undefined) {
|
|
112
|
-
const byLecture = comActs.filter((a) => a.ordreLecture === lecture);
|
|
113
|
-
if (byLecture.length > 0)
|
|
114
|
-
comActs = byLecture;
|
|
115
|
-
}
|
|
116
|
-
if (comActs.length > 0) {
|
|
117
|
-
comActs.sort((a, b) => b.date.localeCompare(a.date) || b.codeActe.length - a.codeActe.length);
|
|
118
|
-
return cleanCode(comActs[0].codeActe);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
// 3) Fallback general lecture: if nothing else worked but a lecture is identified,
|
|
122
|
-
// find any act belonging to that lecture (e.g., SN1-DEPOT).
|
|
123
|
-
if (lecture !== undefined) {
|
|
124
|
-
const genericActe = flat.find((a) => a.ordreLecture === lecture);
|
|
125
|
-
if (genericActe) {
|
|
126
|
-
return cleanCode(genericActe.codeActe);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
console.log(`✖ No stage code found for ev=${ev.id} (Date: ${evDate}, Nature: ${nature}, Lecture: ${lecture})`, {
|
|
130
|
-
totalActsInDossier: dossier["actes_legislatifs"]?.length || 0,
|
|
131
|
-
firstActDate: flat[0]?.date,
|
|
132
|
-
});
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
function buildFlatActes(dossier) {
|
|
136
|
-
const actes = dossier["actes_legislatifs"] ?? [];
|
|
137
|
-
const res = [];
|
|
138
|
-
for (const acte of actes) {
|
|
139
|
-
if (acte["chambre"] !== "SN")
|
|
140
|
-
continue;
|
|
141
|
-
const codeActe = acte.code_acte;
|
|
142
|
-
const dateActe = acte.date?.split("T")[0];
|
|
143
|
-
if (!codeActe || !dateActe)
|
|
144
|
-
continue;
|
|
145
|
-
const match = codeActe.match(/^(?:SN|AN)(\d+)/);
|
|
146
|
-
const ordreLecture = match ? parseInt(match[1], 10) : undefined;
|
|
147
|
-
res.push({
|
|
148
|
-
codeActe,
|
|
149
|
-
date: dateActe,
|
|
150
|
-
ordreLecture,
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
return res;
|
|
154
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "luxon";
|
|
2
|
-
import { AgendaEvent, Reunion } from "../types/agenda";
|
|
3
|
-
import { DossierLegislatifResult } from "../model/dosleg";
|
|
4
|
-
import * as cheerio from "cheerio";
|
|
5
|
-
type KnownType = "SP" | "COM" | "MC" | "OD" | "ID";
|
|
6
|
-
type DossierBySenatUrl = Record<string, DossierLegislatifResult>;
|
|
7
|
-
type ReunionBucket = "IDS" | "IDC" | "IDM" | "IDO" | "IDI";
|
|
8
|
-
type ReunionsByBucket = Record<ReunionBucket, Reunion[]>;
|
|
9
|
-
export declare function buildReunionsByBucket(events: AgendaEvent[], dossierBySenatUrl: DossierBySenatUrl): ReunionsByBucket;
|
|
10
|
-
export declare function makeReunionUid(dateISO: string, kind: KnownType, agendaEventId: string, organe?: string | null): string;
|
|
11
|
-
export declare function formatYYYYMMDD(dateYYYYMMDD: string): string;
|
|
12
|
-
export declare function deriveTimesForEvent(ev: AgendaEvent): {
|
|
13
|
-
startISO: string | null;
|
|
14
|
-
endISO: string | null;
|
|
15
|
-
};
|
|
16
|
-
export type SommaireBlock = {
|
|
17
|
-
text: string;
|
|
18
|
-
startIndex: number;
|
|
19
|
-
targetId?: string | null;
|
|
20
|
-
};
|
|
21
|
-
export declare function extractSommaireBlocks($: cheerio.CheerioAPI, idx: Map<any, number>): SommaireBlock[];
|
|
22
|
-
export declare function parseISO(iso: string | null | undefined): DateTime | null;
|
|
23
|
-
export {};
|
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "luxon";
|
|
2
|
-
import { buildOdj } from "./reunion_odj_building";
|
|
3
|
-
import { norm } from "./string_cleaning";
|
|
4
|
-
const PARIS = "Europe/Paris";
|
|
5
|
-
const STOPWORDS = new Set([
|
|
6
|
-
"de",
|
|
7
|
-
"du",
|
|
8
|
-
"des",
|
|
9
|
-
"la",
|
|
10
|
-
"le",
|
|
11
|
-
"les",
|
|
12
|
-
"l",
|
|
13
|
-
"d",
|
|
14
|
-
"et",
|
|
15
|
-
"en",
|
|
16
|
-
"au",
|
|
17
|
-
"aux",
|
|
18
|
-
"pour",
|
|
19
|
-
"sur",
|
|
20
|
-
"sous",
|
|
21
|
-
"à",
|
|
22
|
-
"a",
|
|
23
|
-
"aux",
|
|
24
|
-
]);
|
|
25
|
-
function toReunion(e, dossierBySenatUrl, uid) {
|
|
26
|
-
const date = norm(e.date) ?? e.date;
|
|
27
|
-
const { startISO, endISO } = deriveTimesForEvent(e);
|
|
28
|
-
const startTime = startISO ?? e.startTime ?? null;
|
|
29
|
-
const endTime = endISO ?? e.endTime ?? null;
|
|
30
|
-
return {
|
|
31
|
-
uid,
|
|
32
|
-
chambre: "SN",
|
|
33
|
-
date,
|
|
34
|
-
type: e.type || "",
|
|
35
|
-
organe: e.organe || undefined,
|
|
36
|
-
startTime,
|
|
37
|
-
endTime,
|
|
38
|
-
captationVideo: e.captationVideo === true,
|
|
39
|
-
titre: e.titre,
|
|
40
|
-
objet: e.objet || "",
|
|
41
|
-
events: [e], // TODO remove
|
|
42
|
-
odj: buildOdj([e], dossierBySenatUrl),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
export function buildReunionsByBucket(events, dossierBySenatUrl) {
|
|
46
|
-
const out = { IDS: [], IDC: [], IDM: [], IDO: [], IDI: [] };
|
|
47
|
-
if (!events?.length)
|
|
48
|
-
return out;
|
|
49
|
-
for (const e of events) {
|
|
50
|
-
const kind = classifyAgendaType(e?.type);
|
|
51
|
-
if (!kind) {
|
|
52
|
-
continue;
|
|
53
|
-
console.warn("Can't determine type of reunion");
|
|
54
|
-
}
|
|
55
|
-
const bucket = typeToSuffixStrict(kind);
|
|
56
|
-
const uid = makeReunionUid(e.date, kind, e.id, e.organe ?? null);
|
|
57
|
-
out[bucket].push(toReunion(e, dossierBySenatUrl, uid));
|
|
58
|
-
}
|
|
59
|
-
// Tri stable par bucket (date + heure, inconnus à la fin)
|
|
60
|
-
for (const k of Object.keys(out)) {
|
|
61
|
-
out[k].sort((a, b) => {
|
|
62
|
-
const da = DateTime.fromISO(`${a.date}T${a.startTime || "23:59:59.999+02:00"}`, { zone: PARIS }).toMillis();
|
|
63
|
-
const db = DateTime.fromISO(`${b.date}T${b.startTime || "23:59:59.999+02:00"}`, { zone: PARIS }).toMillis();
|
|
64
|
-
return da - db || (a.organe || "").localeCompare(b.organe || "") || (a.titre || "").localeCompare(b.titre || "");
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return out;
|
|
68
|
-
}
|
|
69
|
-
function normalizeNoAccents(s) {
|
|
70
|
-
return (s || "")
|
|
71
|
-
.trim()
|
|
72
|
-
.normalize("NFKD")
|
|
73
|
-
.replace(/[\u0300-\u036f]/g, "");
|
|
74
|
-
}
|
|
75
|
-
function classifyAgendaType(typeLabel) {
|
|
76
|
-
const s = normalizeNoAccents(typeLabel || "").toLowerCase();
|
|
77
|
-
if (/\bseance\b.*\bpublique\b/.test(s))
|
|
78
|
-
return "SP";
|
|
79
|
-
if (/\bcommissions\b/.test(s))
|
|
80
|
-
return "COM";
|
|
81
|
-
if (/\bmission\b.*\bcontrole\b/.test(s))
|
|
82
|
-
return "MC";
|
|
83
|
-
if (/\boffices\b|\bdelegations\b/.test(s))
|
|
84
|
-
return "OD";
|
|
85
|
-
if (/\instances\b|\decisionelles\b/.test(s))
|
|
86
|
-
return "ID";
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
function typeToSuffixStrict(kind) {
|
|
90
|
-
switch (kind) {
|
|
91
|
-
case "SP":
|
|
92
|
-
return "IDS";
|
|
93
|
-
case "COM":
|
|
94
|
-
return "IDC";
|
|
95
|
-
case "MC":
|
|
96
|
-
return "IDM";
|
|
97
|
-
case "OD":
|
|
98
|
-
return "IDO";
|
|
99
|
-
case "ID":
|
|
100
|
-
return "IDI";
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
function organeInitials(input, maxLen = 8) {
|
|
104
|
-
if (!input)
|
|
105
|
-
return "";
|
|
106
|
-
const clean = normalizeNoAccents(input)
|
|
107
|
-
.replace(/['’]/g, " ")
|
|
108
|
-
.replace(/[^A-Za-z0-9\s]/g, " ")
|
|
109
|
-
.replace(/\s+/g, " ")
|
|
110
|
-
.trim();
|
|
111
|
-
if (!clean)
|
|
112
|
-
return "";
|
|
113
|
-
const parts = clean.split(" ");
|
|
114
|
-
const letters = [];
|
|
115
|
-
for (const raw of parts) {
|
|
116
|
-
const w = raw.toLowerCase();
|
|
117
|
-
if (!w)
|
|
118
|
-
continue;
|
|
119
|
-
if (STOPWORDS.has(w))
|
|
120
|
-
continue;
|
|
121
|
-
// Take two first letter if alphanumeric
|
|
122
|
-
const two = raw.slice(0, 2);
|
|
123
|
-
if (/[A-Za-z0-9]/.test(two))
|
|
124
|
-
letters.push(two.toUpperCase());
|
|
125
|
-
}
|
|
126
|
-
const out = letters.join("");
|
|
127
|
-
return out.slice(0, maxLen);
|
|
128
|
-
}
|
|
129
|
-
export function makeReunionUid(dateISO, kind, agendaEventId, organe) {
|
|
130
|
-
const ymd = dateISO ? formatYYYYMMDD(dateISO) : "00000000";
|
|
131
|
-
const suffix = typeToSuffixStrict(kind);
|
|
132
|
-
const org = organe && suffix !== "IDS" ? organeInitials(organe) : "";
|
|
133
|
-
let base = `RUSN${ymd}${suffix}${org}${agendaEventId}`;
|
|
134
|
-
return base;
|
|
135
|
-
}
|
|
136
|
-
export function formatYYYYMMDD(dateYYYYMMDD) {
|
|
137
|
-
const [y, m, d] = dateYYYYMMDD.split("-");
|
|
138
|
-
return `${y}${m}${d}`;
|
|
139
|
-
}
|
|
140
|
-
// Extract hours/minutes from French text like "à 10 h 30", "de 10 h à 12 h", etc.
|
|
141
|
-
function parseTimeOriginalFR(timeOriginal) {
|
|
142
|
-
if (!timeOriginal)
|
|
143
|
-
return { start: null, end: null };
|
|
144
|
-
const txt = (timeOriginal || "")
|
|
145
|
-
.replace(/\u00A0/g, " ") // nbsp → space
|
|
146
|
-
.replace(/\s+/g, " ") // espaces multiples
|
|
147
|
-
.toLowerCase()
|
|
148
|
-
.trim();
|
|
149
|
-
// 1) "de 10 h 30 à 12 heures", "de 10h30 à 12h", "de 9 h à 11 h 15", etc.
|
|
150
|
-
const reRange = /\bde\s+(\d{1,2})\s*(?:h|:)?\s*(\d{1,2})?\s*(?:heures?)?\s*à\s*(\d{1,2})\s*(?:h|:)?\s*(\d{1,2})?\s*(?:heures?)?/i;
|
|
151
|
-
const mRange = txt.match(reRange);
|
|
152
|
-
if (mRange) {
|
|
153
|
-
const h1 = clampHour(+mRange[1]), m1 = clampMinute(mRange[2] ? +mRange[2] : 0);
|
|
154
|
-
const h2 = clampHour(+mRange[3]), m2 = clampMinute(mRange[4] ? +mRange[4] : 0);
|
|
155
|
-
return { start: toIsoTime(h1, m1), end: toIsoTime(h2, m2) };
|
|
156
|
-
}
|
|
157
|
-
// 2) "à 10 h 30", "à 10h", "A 10h30", "A 9 heures", etc.
|
|
158
|
-
const reAt = /\b(?:a|à)\s*(\d{1,2})\s*(?:h|:)?\s*(\d{1,2})?\s*(?:heures?)?/i;
|
|
159
|
-
const mAt = txt.match(reAt);
|
|
160
|
-
if (mAt) {
|
|
161
|
-
const h = clampHour(+mAt[1]), m = clampMinute(mAt[2] ? +mAt[2] : 0);
|
|
162
|
-
return { start: toIsoTime(h, m), end: null };
|
|
163
|
-
}
|
|
164
|
-
// 3) "10 h 30", "15h", "9 heures" sans 'à' / 'de ... à ...'
|
|
165
|
-
const reBare = /\b(\d{1,2})\s*(?:h|:)?\s*(\d{1,2})?\s*(?:heures?)?\b/;
|
|
166
|
-
const mBare = txt.match(reBare);
|
|
167
|
-
if (mBare) {
|
|
168
|
-
const h = clampHour(+mBare[1]), m = clampMinute(mBare[2] ? +mBare[2] : 0);
|
|
169
|
-
return { start: toIsoTime(h, m), end: null };
|
|
170
|
-
}
|
|
171
|
-
return { start: null, end: null };
|
|
172
|
-
}
|
|
173
|
-
function clampHour(h) {
|
|
174
|
-
return Math.max(0, Math.min(23, h));
|
|
175
|
-
}
|
|
176
|
-
function clampMinute(m) {
|
|
177
|
-
return Math.max(0, Math.min(59, m));
|
|
178
|
-
}
|
|
179
|
-
function toIsoTime(h, m) {
|
|
180
|
-
return `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")}:00.000+02:00`;
|
|
181
|
-
}
|
|
182
|
-
export function deriveTimesForEvent(ev) {
|
|
183
|
-
const directStart = ev.startTime ?? null;
|
|
184
|
-
const directEnd = ev.endTime ?? null;
|
|
185
|
-
const fromText = parseTimeOriginalFR(ev.timeOriginal);
|
|
186
|
-
const startISO = directStart ?? fromText.start ?? null;
|
|
187
|
-
const endISO = directEnd ?? fromText.end ?? null;
|
|
188
|
-
return { startISO, endISO };
|
|
189
|
-
}
|
|
190
|
-
export function extractSommaireBlocks($, idx) {
|
|
191
|
-
const blocks = [];
|
|
192
|
-
// lignes du sommaire avec lien
|
|
193
|
-
$("cri\\:tm5 a[href^='#'], cri\\:tm3 a[href^='#'], p.tm5 a[href^='#'], p.tm3 a[href^='#']").each((_, a) => {
|
|
194
|
-
const href = $(a).attr("href") || "";
|
|
195
|
-
const targetId = href.startsWith("#") ? href.slice(1) : null;
|
|
196
|
-
const text = norm($(a).text() || "");
|
|
197
|
-
const startIndex = idx.get(a) ?? idx.get($(a).closest("p")[0]) ?? null;
|
|
198
|
-
if (!text || startIndex == null)
|
|
199
|
-
return;
|
|
200
|
-
blocks.push({ text, startIndex, targetId });
|
|
201
|
-
});
|
|
202
|
-
return blocks;
|
|
203
|
-
}
|
|
204
|
-
export function parseISO(iso) {
|
|
205
|
-
if (!iso)
|
|
206
|
-
return null;
|
|
207
|
-
const dt = DateTime.fromISO(iso, { setZone: true, zone: PARIS });
|
|
208
|
-
return dt.isValid ? dt : null;
|
|
209
|
-
}
|
package/lib/utils/scoring.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { AgendaEvent, Reunion } from "../types/agenda";
|
|
2
|
-
export declare function jaccard(a: Set<string>, b: Set<string>): number;
|
|
3
|
-
export declare function jaccardTokenSim(a: string, b: string): number;
|
|
4
|
-
export declare function isNoiseBlock(text: string): boolean;
|
|
5
|
-
/**
|
|
6
|
-
* Score robuste pour "bloc court vs event long":
|
|
7
|
-
* - coverageBloc = |A∩B| / |A| (critère principal)
|
|
8
|
-
* - jaccard en secondaire (utile quand les 2 sont longs)
|
|
9
|
-
* - bonus time optionnel (déjà chez toi)
|
|
10
|
-
*/
|
|
11
|
-
export declare function scoreSommaireBlockForEvent(blockText: string, ev: AgendaEvent): number;
|
|
12
|
-
export declare function scoreVideo(agenda: Reunion, agendaTs: number | null, sameOrg: boolean, videoTitle?: string, videoEpoch?: number, videoOrganes?: string[], timeAmbigious?: boolean): number;
|
|
13
|
-
export declare function dice(a: string, b: string): number;
|
|
14
|
-
export declare function normalize(s?: string | null): string;
|
package/lib/utils/scoring.js
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { parseISO } from "./reunion_parsing";
|
|
2
|
-
import { normalizeText } from "./string_cleaning";
|
|
3
|
-
export function jaccard(a, b) {
|
|
4
|
-
if (!a.size || !b.size)
|
|
5
|
-
return 0;
|
|
6
|
-
let inter = 0;
|
|
7
|
-
for (const t of a)
|
|
8
|
-
if (b.has(t))
|
|
9
|
-
inter++;
|
|
10
|
-
return inter / (a.size + b.size - inter);
|
|
11
|
-
}
|
|
12
|
-
export function jaccardTokenSim(a, b) {
|
|
13
|
-
const A = new Set(normalizeText(a).split(" ").filter(Boolean));
|
|
14
|
-
const B = new Set(normalizeText(b).split(" ").filter(Boolean));
|
|
15
|
-
if (A.size === 0 || B.size === 0)
|
|
16
|
-
return 0;
|
|
17
|
-
let inter = 0;
|
|
18
|
-
for (const x of A)
|
|
19
|
-
if (B.has(x))
|
|
20
|
-
inter++;
|
|
21
|
-
return inter / (A.size + B.size - inter);
|
|
22
|
-
}
|
|
23
|
-
export function isNoiseBlock(text) {
|
|
24
|
-
const t = normalizeText(text);
|
|
25
|
-
// très génériques / institutionnels / bruit
|
|
26
|
-
if (!t)
|
|
27
|
-
return true;
|
|
28
|
-
if (t.length < 6)
|
|
29
|
-
return true;
|
|
30
|
-
// Ex: "article 78", "ord re du jour", "organisation des travaux"
|
|
31
|
-
if (/^article\s+\d+/.test(t))
|
|
32
|
-
return true;
|
|
33
|
-
if (/\b(organisation des travaux|ordre du jour|suspension|reprise de la seance)\b/.test(t))
|
|
34
|
-
return true;
|
|
35
|
-
if (/\b(vice presidente|president|secretaire|ministre|rapporteur)\b/.test(t))
|
|
36
|
-
return true;
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Score robuste pour "bloc court vs event long":
|
|
41
|
-
* - coverageBloc = |A∩B| / |A| (critère principal)
|
|
42
|
-
* - jaccard en secondaire (utile quand les 2 sont longs)
|
|
43
|
-
* - bonus time optionnel (déjà chez toi)
|
|
44
|
-
*/
|
|
45
|
-
export function scoreSommaireBlockForEvent(blockText, ev) {
|
|
46
|
-
const evText = `${ev.titre ?? ""} ${ev.objet ?? ""}`;
|
|
47
|
-
const A = tokens(blockText); // tokens du bloc
|
|
48
|
-
const B = tokens(evText); // tokens de l'event
|
|
49
|
-
if (A.size === 0 || B.size === 0)
|
|
50
|
-
return 0;
|
|
51
|
-
const inter = intersectionSize(A, B);
|
|
52
|
-
const coverageBloc = inter / A.size; // 🔥 clé
|
|
53
|
-
const jac = jaccard(A, B);
|
|
54
|
-
// bonus inclusion brut (utile sur des expressions exactes)
|
|
55
|
-
const bNorm = normalizeText(blockText);
|
|
56
|
-
const eNorm = normalizeText(evText);
|
|
57
|
-
const inclusion = bNorm.length >= 10 && eNorm.includes(bNorm) ? 0.12 : 0;
|
|
58
|
-
// bonus heure (si tu l'as)
|
|
59
|
-
const timeBonus = timeProximityBonus(ev.startTime ?? null, blockText);
|
|
60
|
-
// combine: coverage domine
|
|
61
|
-
const score = Math.max(coverageBloc, jac) * 0.85 + Math.min(1, jac) * 0.1 + inclusion + timeBonus;
|
|
62
|
-
return Math.max(0, Math.min(1, score));
|
|
63
|
-
}
|
|
64
|
-
function intersectionSize(a, b) {
|
|
65
|
-
let inter = 0;
|
|
66
|
-
for (const x of a)
|
|
67
|
-
if (b.has(x))
|
|
68
|
-
inter++;
|
|
69
|
-
return inter;
|
|
70
|
-
}
|
|
71
|
-
function tokens(s) {
|
|
72
|
-
const stop = new Set(["de", "du", "des", "la", "le", "les", "et", "au", "aux", "sur", "en", "d", "l", "un", "une"]);
|
|
73
|
-
return new Set(normalizeText(s)
|
|
74
|
-
.split(" ")
|
|
75
|
-
.filter((w) => w.length >= 3 && !stop.has(w)));
|
|
76
|
-
}
|
|
77
|
-
function timeProximityBonus(eventStartISO, blockText) {
|
|
78
|
-
if (!eventStartISO)
|
|
79
|
-
return 0;
|
|
80
|
-
const dt = parseISO(eventStartISO);
|
|
81
|
-
if (!dt)
|
|
82
|
-
return 0;
|
|
83
|
-
const eventMin = dt.hour * 60 + dt.minute;
|
|
84
|
-
const hints = extractHourHints(blockText);
|
|
85
|
-
if (!hints.length)
|
|
86
|
-
return 0;
|
|
87
|
-
let best = Infinity;
|
|
88
|
-
for (const x of hints)
|
|
89
|
-
best = Math.min(best, Math.abs(x.h * 60 + x.m - eventMin));
|
|
90
|
-
if (best <= 30)
|
|
91
|
-
return 0.1;
|
|
92
|
-
if (best <= 60)
|
|
93
|
-
return 0.06;
|
|
94
|
-
if (best <= 120)
|
|
95
|
-
return 0.03;
|
|
96
|
-
return 0;
|
|
97
|
-
}
|
|
98
|
-
function extractHourHints(text) {
|
|
99
|
-
const t = (text || "").toLowerCase();
|
|
100
|
-
const out = [];
|
|
101
|
-
const re = /\b(\d{1,2})\s*h\s*(\d{2})\b/g;
|
|
102
|
-
let m;
|
|
103
|
-
while ((m = re.exec(t)))
|
|
104
|
-
out.push({ h: Number(m[1]), m: Number(m[2]) });
|
|
105
|
-
return out;
|
|
106
|
-
}
|
|
107
|
-
export function scoreVideo(agenda, agendaTs, sameOrg, videoTitle, videoEpoch, videoOrganes, timeAmbigious = false) {
|
|
108
|
-
const objetS = dice(agenda.objet || "", videoTitle || "");
|
|
109
|
-
const titleS = dice(agenda.titre || "", videoTitle || "");
|
|
110
|
-
const titleScore = Math.max(objetS, titleS);
|
|
111
|
-
let timeScore = 0;
|
|
112
|
-
if (agendaTs && videoEpoch) {
|
|
113
|
-
const deltaMin = Math.abs(videoEpoch - agendaTs) / 60;
|
|
114
|
-
timeScore = Math.exp(-deltaMin / 60);
|
|
115
|
-
}
|
|
116
|
-
let orgScore = 0;
|
|
117
|
-
if (agenda.organe && videoOrganes && videoOrganes.length) {
|
|
118
|
-
const agendaOrg = agenda.organe;
|
|
119
|
-
orgScore = Math.max(...videoOrganes.map((v) => dice(agendaOrg, v)));
|
|
120
|
-
}
|
|
121
|
-
if (timeAmbigious) {
|
|
122
|
-
return 0.6 * titleScore + (sameOrg ? 0.4 : orgScore * 0.4);
|
|
123
|
-
}
|
|
124
|
-
return 0.3 * titleScore + 0.3 * timeScore + (sameOrg ? 0.4 : orgScore * 0.4);
|
|
125
|
-
}
|
|
126
|
-
function tokensDice(s) {
|
|
127
|
-
return normalize(s).split(" ").filter(Boolean);
|
|
128
|
-
}
|
|
129
|
-
export function dice(a, b) {
|
|
130
|
-
const A = new Set(tokensDice(a)), B = new Set(tokensDice(b));
|
|
131
|
-
if (!A.size || !B.size)
|
|
132
|
-
return 0;
|
|
133
|
-
let inter = 0;
|
|
134
|
-
for (const t of A)
|
|
135
|
-
if (B.has(t))
|
|
136
|
-
inter++;
|
|
137
|
-
return (2 * inter) / (A.size + B.size);
|
|
138
|
-
}
|
|
139
|
-
export function normalize(s) {
|
|
140
|
-
return (s ?? "")
|
|
141
|
-
.toLowerCase()
|
|
142
|
-
.normalize("NFD")
|
|
143
|
-
.replace(/[\u0300-\u036f]/g, "")
|
|
144
|
-
.replace(/[^\p{L}\p{N}\s-]/gu, " ")
|
|
145
|
-
.replace(/\s+/g, " ")
|
|
146
|
-
.trim();
|
|
147
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function normalizeText(t: string): string;
|
|
2
|
-
export declare function decodeHtmlEntities(s?: string | null): string;
|
|
3
|
-
export declare function stripTrailingPunct(s: string): string;
|
|
4
|
-
export declare function dedupeSpeaker(raw: string): string;
|
|
5
|
-
export declare function fixApostrophes(s: string): string;
|
|
6
|
-
export declare function norm(s?: string | null): string;
|
|
7
|
-
export declare function normalizeSpaces(s: string): string;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
export function normalizeText(t) {
|
|
2
|
-
return (t || "")
|
|
3
|
-
.toLowerCase()
|
|
4
|
-
.normalize("NFD")
|
|
5
|
-
.replace(/\p{Diacritic}/gu, "")
|
|
6
|
-
.replace(/[^a-z0-9\s]/g, " ")
|
|
7
|
-
.replace(/\s+/g, " ")
|
|
8
|
-
.trim();
|
|
9
|
-
}
|
|
10
|
-
export function decodeHtmlEntities(s) {
|
|
11
|
-
if (!s)
|
|
12
|
-
return "";
|
|
13
|
-
return s
|
|
14
|
-
.replace(/&#x([0-9a-fA-F]+);/g, (_, h) => String.fromCodePoint(parseInt(h, 16)))
|
|
15
|
-
.replace(/&#(\d+);/g, (_, d) => String.fromCodePoint(parseInt(d, 10)))
|
|
16
|
-
.replace(/&/g, "&")
|
|
17
|
-
.replace(/</g, "<")
|
|
18
|
-
.replace(/>/g, ">")
|
|
19
|
-
.replace(/"/g, '"')
|
|
20
|
-
.replace(/'/g, "'");
|
|
21
|
-
}
|
|
22
|
-
export function stripTrailingPunct(s) {
|
|
23
|
-
return s.replace(/\s*([:,.;])\s*$/u, "").trim();
|
|
24
|
-
}
|
|
25
|
-
export function dedupeSpeaker(raw) {
|
|
26
|
-
let s = norm(raw);
|
|
27
|
-
s = stripTrailingPunct(s);
|
|
28
|
-
const dupPatterns = [/^(.+?)\s*[.]\s*\1$/u, /^(.+?)\s*,\s*\1,?$/u, /^(.+?)\s+\1$/u];
|
|
29
|
-
for (const re of dupPatterns) {
|
|
30
|
-
const m = s.match(re);
|
|
31
|
-
if (m) {
|
|
32
|
-
s = m[1];
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return s.replace(/\.\s*$/, "");
|
|
37
|
-
}
|
|
38
|
-
export function fixApostrophes(s) {
|
|
39
|
-
let out = s;
|
|
40
|
-
out = out.replace(/\s*’\s*/g, "’");
|
|
41
|
-
out = out.replace(/\b([dljctmsn])\s*’/gi, (_, m) => m + "’");
|
|
42
|
-
out = out.replace(/’\s+([A-Za-zÀ-ÖØ-öø-ÿ])/g, "’$1");
|
|
43
|
-
out = out.replace(/\s+([,;:.!?])/g, "$1");
|
|
44
|
-
return out;
|
|
45
|
-
}
|
|
46
|
-
export function norm(s) {
|
|
47
|
-
return (s || "")
|
|
48
|
-
.replace(/\u00A0/g, " ")
|
|
49
|
-
.replace(/\s+/g, " ")
|
|
50
|
-
.trim();
|
|
51
|
-
}
|
|
52
|
-
export function normalizeSpaces(s) {
|
|
53
|
-
return s
|
|
54
|
-
.replace(/\u00A0/g, " ")
|
|
55
|
-
.replace(/\s+/g, " ")
|
|
56
|
-
.trim();
|
|
57
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { validateChain, validateInteger, validateNonEmptyTrimmedString, validateNumber, validateOption, validateString, validateStringToNumber, validateTest, } from "@biryani/core";
|
|
2
|
-
function validateDb(data) {
|
|
3
|
-
if (data === null || data === undefined) {
|
|
4
|
-
return [data, "Missing value"];
|
|
5
|
-
}
|
|
6
|
-
if (typeof data !== "object") {
|
|
7
|
-
return [data, `Expected an object got "${typeof data}"`];
|
|
8
|
-
}
|
|
9
|
-
data = { ...data };
|
|
10
|
-
const errors = {};
|
|
11
|
-
const remainingKeys = new Set(Object.keys(data));
|
|
12
|
-
for (const key of ["host", "password", "user"]) {
|
|
13
|
-
remainingKeys.delete(key);
|
|
14
|
-
const [value, error] = validateNonEmptyTrimmedString(data[key]);
|
|
15
|
-
data[key] = value;
|
|
16
|
-
if (error !== null) {
|
|
17
|
-
errors[key] = error;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
{
|
|
21
|
-
const key = "port";
|
|
22
|
-
remainingKeys.delete(key);
|
|
23
|
-
const [value, error] = validateChain(validateOption([validateString, validateStringToNumber], validateNumber), validateInteger, validateTest((value) => 0 <= value && value <= 65535, "Must be an integer between 0 and 65535"))(data[key]);
|
|
24
|
-
data[key] = value;
|
|
25
|
-
if (error !== null) {
|
|
26
|
-
errors[key] = error;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
for (const key of remainingKeys) {
|
|
30
|
-
errors[key] = "Unexpected item";
|
|
31
|
-
}
|
|
32
|
-
return [data, Object.keys(errors).length === 0 ? null : errors];
|
|
33
|
-
}
|
|
34
|
-
export function validateConfig(data) {
|
|
35
|
-
if (data === null || data === undefined) {
|
|
36
|
-
return [data, "Missing value"];
|
|
37
|
-
}
|
|
38
|
-
if (typeof data !== "object") {
|
|
39
|
-
return [data, `Expected an object got "${typeof data}"`];
|
|
40
|
-
}
|
|
41
|
-
data = { ...data };
|
|
42
|
-
const errors = {};
|
|
43
|
-
const remainingKeys = new Set(Object.keys(data));
|
|
44
|
-
{
|
|
45
|
-
const key = "db";
|
|
46
|
-
remainingKeys.delete(key);
|
|
47
|
-
const [value, error] = validateDb(data[key]);
|
|
48
|
-
data[key] = value;
|
|
49
|
-
if (error !== null) {
|
|
50
|
-
errors[key] = error;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return [data, Object.keys(errors).length === 0 ? null : errors];
|
|
54
|
-
}
|