UNPKG

@tricoteuses/assemblee

Version:

Retrieve, clean up & handle French Assemblée nationale's open data

518 lines (517 loc) 24.4 kB
import { ActeurEnriched as Acteur, OrganeEnriched as Organe } from './schemas/enriched/acteurs_et_organes.js'; import { ReunionEnriched as Reunion } from './schemas/enriched/agendas.js'; import { AmendementEnriched as Amendement } from './schemas/enriched/amendements.js'; import { DocumentEnriched as Document, DossierParlementaireEnriched as DossierParlementaire } from './schemas/enriched/dossiers_legislatifs.js'; import { ScrutinEnriched as Scrutin } from './schemas/enriched/scrutins.js'; export interface OutputData { readonly acteurByUid?: { [uid: string]: Acteur; }; readonly amendementByUid?: { [uid: string]: Amendement; }; readonly documentByUid?: { [uid: string]: Document; }; readonly dossierByUid?: { [uid: string]: DossierParlementaire; }; readonly organeByUid?: { [uid: string]: Organe; }; readonly reunionByUid?: { [uid: string]: Reunion; }; readonly scrutinByUid?: { [uid: string]: Scrutin; }; } export declare function insertActeurReferences(acteur: Acteur, data: OutputData, visitedUids: Set<string>): Acteur; export declare function insertAmendementReferences(amendement: Amendement, data: OutputData, visitedUids: Set<string>): { uid: string; chronotag: string; legislature: string; identification: { numeroLong: string; numeroOrdreDepot: string; prefixeOrganeExamen: string; numeroRect: string; }; examenRef: string; texteLegislatifRef: string; pointeurFragmentTexte: { division?: { type: "ANNEXE" | "ARTICLE" | "CHAPITRE" | "TITRE"; avantAApres: "A" | "Avant" | "Apres"; articleAdditionnel: string; chapitreAdditionnel: string; titre?: string | undefined; articleDesignationCourte?: string | undefined; articleDesignation?: string | undefined; divisionRattachee?: string | undefined; urlDivisionTexteVise?: string | undefined; } | undefined; alinea?: { avantAApres?: "A" | "Avant" | "Apres" | undefined; numero?: string | undefined; alineaDesignation?: string | undefined; } | undefined; missionVisee?: { codeEtat: "B" | "C" | "D"; codeMissionMinefi: string; libelleMission: string; missionRef: string; } | undefined; }; cycleDeVie: { soumisArticle40: string; etatDesTraitements: { etat: { code: "T" | "AC" | "AT" | "DI" | "effacé" | "ER" | "ET" | "IR" | "IRR127" | "IRR20" | "IRR37" | "IRR38" | "IRR41" | "IRR42" | "IRR45" | "IRR48" | "IRR53" | "IRRAI" | "IRRAIF" | "IRRD" | "IRRHC" | "IRRHD" | "IRRSA" | "R" | "RT"; libelle: "effacé" | "A discuter" | "A déposer" | "Discuté" | "En recevabilité" | "En traitement" | "Irrecevable" | "Irrecevable 40" | "Retiré"; }; sousEtat?: { code: "T" | "AC" | "AT" | "DI" | "effacé" | "ER" | "ET" | "IR" | "IRR127" | "IRR20" | "IRR37" | "IRR38" | "IRR41" | "IRR42" | "IRR45" | "IRR48" | "IRR53" | "IRRAI" | "IRRAIF" | "IRRD" | "IRRHC" | "IRRHD" | "IRRSA" | "R" | "RT"; libelle: "R" | "Retiré" | "Adopté" | "Autre irrecevabilité" | "Autre irrecevabilité 40" | "Autres irr LOLF" | "Autres irr LOLFSS" | "Cavalier (45)" | "Cavalier budgétaire" | "Cavalier social" | "Champ de l'habilitation (38)" | "Charge" | "CMP (45)" | "Crédits" | "Disposition réglementaire (37)" | "Domaine de la loi (41)" | "Domaine loi organique (127)" | "Doublon" | "Entonnoir (45)" | "Gage" | "Hors champ" | "Hors-délais" | "Injonction (20)" | "Irr en première partie" | "Irr en seconde partie" | "LOLF" | "LOLFSS" | "Non soutenu" | "Ordre du jour (48)" | "Ratification traité (53)" | "Rejeté" | "Retiré après publication" | "Retiré avant publication" | "Satisfait ou inopérant (42)" | "Sous-amendement (98)" | "Tombé"; } | undefined; }; dateDepot?: Date | undefined; datePublication?: Date | undefined; dateSort?: Date | undefined; sort?: "R" | "Retiré" | "Adopté" | "Autre irrecevabilité" | "Autre irrecevabilité 40" | "Autres irr LOLF" | "Autres irr LOLFSS" | "Cavalier (45)" | "Cavalier budgétaire" | "Cavalier social" | "Champ de l'habilitation (38)" | "Charge" | "CMP (45)" | "Crédits" | "Disposition réglementaire (37)" | "Domaine de la loi (41)" | "Domaine loi organique (127)" | "Doublon" | "Entonnoir (45)" | "Gage" | "Hors champ" | "Hors-délais" | "Injonction (20)" | "Irr en première partie" | "Irr en seconde partie" | "LOLF" | "LOLFSS" | "Non soutenu" | "Ordre du jour (48)" | "Ratification traité (53)" | "Rejeté" | "Retiré après publication" | "Retiré avant publication" | "Satisfait ou inopérant (42)" | "Sous-amendement (98)" | "Tombé" | undefined; }; article99: string; accordGouvernementDepotHorsDelai: "Accord" | "Sans objet"; signataires: { auteur: { typeAuteur: "Député" | "Gouvernement" | "Rapporteur"; gouvernementRef?: string | undefined; acteurRef?: string | undefined; groupePolitiqueRef?: string | undefined; auteurRapporteurOrganeRef?: string | undefined; gouvernement?: import('./index.js').Organe | undefined; acteur?: Acteur | undefined; groupePolitique?: import('./index.js').Organe | undefined; auteurRapporteurOrgane?: import('./index.js').Organe | undefined; }; cosignatairesRefs?: string[] | undefined; suffixe?: string | undefined; libelle?: string | undefined; cosignataires?: Acteur[] | undefined; }; schemaVersion?: string | undefined; triAmendement?: string | undefined; cardinaliteAmdtMultiples?: string | undefined; amendementParentRef?: string | undefined; corps?: { cartoucheInformatif?: string | undefined; contenuAuteur?: { dispositif?: string | undefined; avantAppel?: { dispositif?: string | undefined; dispositifAmdtCreditPLF?: { cpEgalAe: string; listeProgrammes?: { libelle: string; programmeRef: string; autorisationEngagement: string; creditPaiement: string; action: "création" | "modification" | "suppression"; lignesCredits?: { id: string; libelle: string; autorisationEngagement: string; creditPaiement: string; action: "création" | "modification" | "suppression"; }[] | undefined; }[] | undefined; soldeAE?: string | undefined; soldeCP?: string | undefined; } | undefined; dispositifAmdtCreditPLFR?: { cpEgalAe: string; listeProgrammes?: { libelle: string; programmeRef?: string; autorisationEngagementSupplementaire: string; creditPaiementSupplementaire: string; autorisationEngagementAnnule: string; creditPaiementAnnule: string; action: import('zod').infer<typeof import('./index.js').ActionSchema>; lignesCredits?: import('./index.js').LigneCreditPLFR[]; id?: string; }[] | undefined; totalAE?: { supplementaire: string; annule: string; solde: string; } | undefined; totalCP?: { supplementaire: string; annule: string; solde: string; } | undefined; } | undefined; } | undefined; exposeSommaire?: string | undefined; dispositifAmdtCreditPLF?: { cpEgalAe: string; listeProgrammes?: { libelle: string; programmeRef: string; autorisationEngagement: string; creditPaiement: string; action: "création" | "modification" | "suppression"; lignesCredits?: { id: string; libelle: string; autorisationEngagement: string; creditPaiement: string; action: "création" | "modification" | "suppression"; }[] | undefined; }[] | undefined; soldeAE?: string | undefined; soldeCP?: string | undefined; } | undefined; dispositifAmdtCreditPLFR?: { cpEgalAe: string; listeProgrammes?: { libelle: string; programmeRef?: string; autorisationEngagementSupplementaire: string; creditPaiementSupplementaire: string; autorisationEngagementAnnule: string; creditPaiementAnnule: string; action: import('zod').infer<typeof import('./index.js').ActionSchema>; lignesCredits?: import('./index.js').LigneCreditPLFR[]; id?: string; }[] | undefined; totalAE?: { supplementaire: string; annule: string; solde: string; } | undefined; totalCP?: { supplementaire: string; annule: string; solde: string; } | undefined; } | undefined; } | undefined; } | undefined; representation?: { nom: "PDF"; typeMime: { type: "application"; subType: "PDF"; }; statutRepresentation: { verbatim: boolean; canonique: boolean; officielle: boolean; transcription: boolean; enregistrement: boolean; }; contenu: { documentURI: string; }; } | undefined; seanceDiscussionRef?: string | undefined; loiReference?: { codeLoi?: string | undefined; divisionCodeLoi?: string | undefined; } | undefined; discussionCommune?: { idDiscussion?: string | undefined; typePosition?: "Dernier" | "Milieu" | "Premier" | undefined; } | undefined; discussionIdentique?: { idDiscussion?: string | undefined; typePosition?: "Dernier" | "Milieu" | "Premier" | undefined; } | undefined; }; export declare function insertDocumentReferences(document: Document, data: OutputData, visitedUids: Set<string>): Document; export declare function insertDossierReferences(dossier: DossierParlementaire, data: OutputData, visitedUids: Set<string>): DossierParlementaire; export declare function insertOrganeReferences(organe: Organe, data: OutputData, visitedUids: Set<string>): import('./index.js').Organe; export declare function insertReunionReferences(reunion: Reunion, data: OutputData, visitedUids: Set<string>): { uid: string; timestampDebut: Date; cycleDeVie: { etat: "Annulé" | "Confirmé" | "Eventuel" | "Supprimé"; chrono: { creation: Date; cloture?: Date | undefined; }; }; schemaVersion?: string | undefined; xsiType?: "reunionCommission_type" | "reunionInitParlementaire_type" | "seance_type" | undefined; timestampFin?: Date | undefined; lieu?: { code?: string | undefined; libelleCourt?: string | undefined; libelleLong?: string | undefined; lieuRef?: string | undefined; } | undefined; organeReuniRef?: string | undefined; typeReunion?: "GA" | "GE" | "GEVI" | "GP" | "DEP" | "HÉ Aurélien" | undefined; sessionRef?: string | undefined; ouverturePresse?: boolean | undefined; odj?: { convocationOdj?: string[] | undefined; resumeOdj?: string[] | undefined; pointsOdj?: { xsiType: "podjReunion_type" | "podjSeanceConfPres_type"; uid: string; cycleDeVie: { etat: "Annulé" | "Confirmé" | "Eventuel" | "Supprimé"; chrono: { creation: Date; cloture?: Date | undefined; }; }; objet: string; typePointOdj: "Rapport" | "Rapport d'information" | "Amendements (Art. 88)" | "Amendements (Art. 91)" | "Audition" | "Audition ministre" | "Audition ministre ouverte à la presse" | "Audition ouverte à la presse" | "Communication" | "Constitution de mission d'information" | "Discussion" | "Débat d'initiative parlementaire" | "Déclaration du Gouvernement suivie d'un débat" | "Echanges de vues" | "Examen" | "Explications de vote des groupes et vote par scrutin public" | "Explications de vote et vote par scrutin public" | "Fixation de l'ordre du jour" | "Nomination bureau" | "Nomination candidats organisme extraparlementaire" | "Nomination d'un membre d'une mission d'information" | "Nomination rapporteur" | "Nomination rapporteur d'application" | "Nomination rapporteur d'information" | "Nomination rapporteur pour avis" | "Ouverture et clôture de session" | "Questions au Gouvernement" | "Questions orales sans débat" | "Rapport pour avis" | "Séances réservées à un groupe de l'opposition ou minoritaire" | "Suite de la discussion" | "Table ronde" | "Vote par scrutin public" | "Vote solennel"; comiteSecret: boolean; procedure?: "discussion générale commune" | "procédure d'examen simplifiée-Article 103" | "procédure d'examen simplifiée-Article 106" | "procédure d'examen simplifiée-Article 107" | "procédure de législation en commission-Article 107-1" | undefined; dossiersLegislatifsRefs?: string[] | undefined; natureTravauxOdj?: "ODJPR" | "ODJSN" | undefined; dateConfPres?: Date | undefined; dateLettreMinistre?: Date | undefined; }[] | undefined; } | undefined; compteRenduRef?: string | undefined; transcriptionRef?: string | undefined; identifiants?: { quantieme: "Deuxième" | "Première" | "Troisième" | "Unique"; dateSeance: Date; numSeanceJo?: string | undefined; idJo?: string | undefined; } | undefined; formatReunion?: "AuditionExterne" | "AuditionParPresidentCommission" | "AuditionParRapporteur" | "Ordinaire" | undefined; infosReunionsInternationale?: { estReunionInternationale: boolean; listePays?: string[] | undefined; informationsComplementaires?: string | undefined; } | undefined; captationVideo?: boolean | undefined; visioConference?: string | undefined; urlVideo?: string | undefined; urlPageVideo?: string | undefined; timecodeDebutVideo?: number | undefined; organeReuni?: import('./index.js').Organe | undefined; demandeurs?: { acteurs?: { acteurRef: string; nom?: string | undefined; acteur?: Acteur | undefined; }[] | undefined; organe?: { nom: string; organeRef: string; organe?: import('./index.js').Organe | undefined; } | undefined; } | undefined; participants?: { personnesAuditionnees?: { xsiType: "IdActeur_type" | "IdPersonneExterne_type"; uid: string; ident: { civ: "M." | "Mme"; prenom: string; nom: string; alpha?: string | undefined; trigramme?: string | undefined; }; dateNais?: Date | undefined; }[] | undefined; participantsInternes?: { acteurRef: string; presence: "absent" | "excusé" | "présent"; acteur?: Acteur | undefined; }[] | undefined; } | undefined; }; export declare function insertScrutinReferences(scrutin: Scrutin, _data: OutputData, visitedUids: Set<string>): { uid: string; numero: string; organeRef: string; legislature: string; sessionRef: string; seanceRef: string; dateScrutin: Date; quantiemeJourSeance: string; typeVote: { codeTypeVote: "MOC" | "SAT" | "SPO" | "SPS" | "SSG"; libelleTypeVote: "motion de censure" | "scrutin public ordinaire" | "scrutin public solennel" | "scrutin à la tribune" | "Scrutin solennel congrès"; typeMajorite: "Majorité absolue des suffrages exprimés" | "majorité absolue des suffrages exprimés" | "majorité des membres composant l'Assemblée nationale" | "majorité des membres composants composant l'Assemblée" | "majorité des membres composants composant l'Assemblée nationale" | "Majorité requise pour un Congrès" | "Majorité requise pour une motion de censure"; }; sort: { code: "adopté" | "rejeté"; libelle: "l'Assemblée nationale a adopté" | "L'Assemblée nationale n'a pas adopté" | "Le Congrès du Parlement a adopté" | "Le Congrès du Parlement n'a pas adopté"; }; titre: string; demandeur: { texte?: string | undefined; }; objet: { libelle: string; dossierLegislatif?: { libelle: string; dossierRef: string; } | undefined; }; modePublicationDesVotes: "DecompteDissidentsPositionGroupe" | "DecompteNominatif"; syntheseVote: { nombreVotants: string; suffragesExprimes: string; nbrSuffragesRequis: string; annonce: "l'Assemblée nationale a adopté" | "L'Assemblée nationale n'a pas adopté" | "Le Congrès du Parlement a adopté" | "Le Congrès du Parlement n'a pas adopté"; decompte: { pour: string; contre: string; abstentions?: string | undefined; nonVotants?: string | undefined; nonVotantsVolontaires?: string | undefined; }; }; ventilationVotes: { organeRef: string; groupes: { organeRef: string; nombreMembresGroupe: string; vote: { positionMajoritaire: "abstention" | "contre" | "pour"; decompteVoix: { pour: string; contre: string; abstentions?: string | undefined; nonVotants?: string | undefined; nonVotantsVolontaires?: string | undefined; }; decompteNominatif: { nonVotants?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; pour?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; contre?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; abstentions?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; }; }; organe?: import('./index.js').Organe | undefined; }[]; organe?: import('./index.js').Organe | undefined; }; schemaVersion?: string | undefined; lieuVote?: "Congrès" | "Hémicycle" | "Salons" | undefined; miseAuPoint?: { nonVotants?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; pour?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; contre?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; abstentions?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; nonVotantsVolontaires?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; dysfonctionnement?: { nonVotants?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; pour?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; contre?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; abstentions?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; nonVotantsVolontaires?: { acteurRef: string; mandatRef: string; parDelegation?: boolean | undefined; numPlace?: number | undefined; causePositionVote?: "MG" | "PAN" | "PSE" | undefined; acteur?: Acteur | undefined; }[] | undefined; } | undefined; } | undefined; organe?: import('./index.js').Organe | undefined; };