@tricoteuses/assemblee
Version:
Retrieve, clean up & handle French Assemblée nationale's open data
518 lines (517 loc) • 24.4 kB
TypeScript
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;
};