@tricoteuses/tisseuse 0.21.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/{html-tp0cMUmA.js → html-BTaoaqX5.js} +6964 -5672
- package/dist/index.js +93 -431
- package/dist/{src/lib → lib}/extractors/article_portions.d.ts +14 -0
- package/dist/{src/lib → lib}/extractors/links.d.ts +117 -3
- package/dist/{src/lib → lib}/f_legi/resolver.d.ts +23 -4
- package/dist/lib/legi/article_abrogation.d.ts +25 -0
- package/dist/lib/legi/article_history.d.ts +11 -0
- package/dist/lib/legi/article_structure.d.ts +9 -0
- package/dist/{src/lib → lib}/legi/canutes_resolver.d.ts +17 -16
- package/dist/lib/legi/law_article.d.ts +13 -0
- package/dist/lib/legi/named_text_article.d.ts +22 -0
- package/dist/lib/legi/publication_components.d.ts +22 -0
- package/dist/lib/legi/publication_components.fixture.d.ts +3 -0
- package/dist/{src/lib → lib}/legi/resolver.d.ts +40 -0
- package/dist/lib/linkers/enumeration_scope.fixture.d.ts +19 -0
- package/dist/{src/lib → lib}/linkers/html.d.ts +16 -3
- package/dist/lib/linkers/html_decision_capture.d.ts +18 -0
- package/dist/lib/linkers/link_decision_html.d.ts +4 -0
- package/dist/lib/linkers/link_decision_metadata.d.ts +15 -0
- package/dist/{src/lib → lib}/linkers/markdown.d.ts +7 -1
- package/dist/lib/linkers/named_text_article.d.ts +1 -0
- package/dist/lib/linkers/quoted_section.fixture.d.ts +1 -0
- package/dist/lib/linkers/table_column_texts.d.ts +4 -0
- package/dist/{src/lib → lib}/server/index.d.ts +2 -0
- package/dist/lib/server/jurisprudence_citations.d.ts +46 -0
- package/dist/lib/server/jurisprudence_consultation.d.ts +55 -0
- package/dist/lib/server/jurisprudence_jade.d.ts +57 -0
- package/dist/lib/server/jurisprudence_store.d.ts +36 -0
- package/dist/{src/lib → lib}/server/parsed_bills.d.ts +19 -0
- package/dist/{src/lib → lib}/text_parsers/ast.d.ts +13 -3
- package/dist/lib/text_parsers/historical_versions.d.ts +18 -0
- package/dist/{src/lib → lib}/text_parsers/parsers.d.ts +5 -0
- package/dist/{src/lib → lib}/text_parsers/repeated_actions.d.ts +1 -0
- package/dist/{src/lib → lib}/text_parsers/texts.d.ts +12 -0
- package/dist/link-decision-metadata.js +32 -0
- package/dist/{resolver-CzmDH4S3.js → resolver-GT7457lQ.js} +345 -145
- package/dist/scripts/compare_legi_bills.d.ts +1 -0
- package/dist/scripts/configure_postgres_assemblee_document_triggers.d.ts +1 -0
- package/dist/scripts/configure_postgres_legi_resolver.d.ts +1 -0
- package/dist/scripts/configure_postgres_root_cid_index.d.ts +1 -0
- package/dist/scripts/configure_postgres_senat_document_triggers.d.ts +1 -0
- package/dist/scripts/enrich_assemblee_documents.d.ts +1 -0
- package/dist/scripts/enrich_senat_documents.d.ts +1 -0
- package/dist/scripts/html_document_to_text.d.ts +1 -0
- package/dist/scripts/index_postgres_assemblee_amendments.d.ts +1 -0
- package/dist/scripts/index_postgres_assemblee_texts.d.ts +1 -0
- package/dist/scripts/index_postgres_judilibre.d.ts +1 -0
- package/dist/scripts/index_postgres_legifrance_articles.d.ts +1 -0
- package/dist/scripts/index_postgres_legifrance_jurisprudence.d.ts +1 -0
- package/dist/scripts/index_postgres_senat_amendments.d.ts +1 -0
- package/dist/scripts/index_postgres_senat_texts.d.ts +1 -0
- package/dist/scripts/parse_akoma_ntoso_bill_raw.d.ts +1 -0
- package/dist/scripts/parse_assemblee_bill_raw.d.ts +1 -0
- package/dist/scripts/profile_assemblee_document_parsing.d.ts +1 -0
- package/dist/scripts/profile_canutes_bill.d.ts +1 -0
- package/dist/scripts/replay_linker_scope.d.ts +1 -0
- package/dist/scripts/shared/assemblee_legislature.test.d.ts +1 -0
- package/dist/scripts/shared/checkpoint_cli_options.test.d.ts +1 -0
- package/dist/scripts/simplified_html_bill_to_table_of_contents.d.ts +1 -0
- package/dist/scripts/simplify_word_html.d.ts +1 -0
- package/dist/scripts/sync_postgres_assemblee_document_content.d.ts +1 -0
- package/dist/scripts/sync_postgres_senat_document_content.d.ts +1 -0
- package/dist/scripts/test_canutes_titles_cache.d.ts +1 -0
- package/dist/scripts/warm_canutes_text_titles_cache.d.ts +1 -0
- package/dist/server-f-legi.js +200 -94
- package/dist/server.js +1309 -884
- package/package.json +10 -4
- package/dist/{src/lib → lib}/alineas/alineas_numbers.d.ts +0 -0
- package/dist/{src/lib → lib}/article_temporal_status.test.d.ts +0 -0
- package/dist/{src/lib → lib}/articles.d.ts +0 -0
- package/dist/{src/lib → lib}/articles.test.d.ts +0 -0
- package/dist/{src/lib → lib}/assemblee_document_date.d.ts +0 -0
- package/dist/{src/lib → lib}/assemblee_document_date.test.d.ts +0 -0
- package/dist/{src/lib → lib}/asserts.d.ts +0 -0
- package/dist/{src/lib → lib}/cache.d.ts +0 -0
- package/dist/{src/lib → lib}/dates.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/action_directives.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/action_directives.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/action_directives_cpu.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_effects.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_effects.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_effects_long.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_targets.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_action_targets.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/article_portions.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/definitions.d.ts +0 -0
- package/dist/{src/lib/extractors/links.citation_scope.test.d.ts → lib/extractors/link_decisions.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.code_titles.test.d.ts → lib/extractors/links.citation_scope.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.doctrinal.test.d.ts → lib/extractors/links.code_titles.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.european.test.d.ts → lib/extractors/links.doctrinal.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/links.test.d.ts → lib/extractors/links.european.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/portion_references.test.d.ts → lib/extractors/links.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/extractors/portion_references.d.ts +0 -0
- package/dist/{src/lib/extractors/portion_references_cpu.test.d.ts → lib/extractors/portion_references.test.d.ts} +0 -0
- package/dist/{src/lib/extractors/qualified_versions.test.d.ts → lib/extractors/portion_references_cpu.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/extractors/qualified_versions.d.ts +0 -0
- package/dist/{src/lib/extractors/references.test.d.ts → lib/extractors/qualified_versions.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/extractors/quoted_text.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/references.d.ts +0 -0
- package/dist/{src/lib/text_parsers → lib/extractors}/references.test.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/table_of_contents.d.ts +0 -0
- package/dist/{src/lib → lib}/extractors/table_of_contents.test.d.ts +0 -0
- package/dist/{src/lib → lib}/f_legi/resolver.test.d.ts +0 -0
- package/dist/{src/lib → lib}/index.d.ts +0 -0
- package/dist/{src/lib → lib}/json.d.ts +0 -0
- package/dist/{src/lib/legi/canutes_article_preload.test.d.ts → lib/legi/article_abrogation.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_candidates.test.d.ts → lib/legi/article_history.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_resolver.test.d.ts → lib/legi/canutes_article_preload.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_resolver_cache.test.d.ts → lib/legi/canutes_candidates.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_resolver_europe.test.d.ts → lib/legi/canutes_resolver.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_root_cid_index.integration.test.d.ts → lib/legi/canutes_resolver_cache.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_section_roots.test.d.ts → lib/legi/canutes_resolver_europe.test.d.ts} +0 -0
- package/dist/{src/lib/legi/canutes_text_titles_cache.integration.test.d.ts → lib/legi/canutes_root_cid_index.integration.test.d.ts} +0 -0
- package/dist/{src/lib/legi/resolver.test.d.ts → lib/legi/canutes_section_roots.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/legi/canutes_sql.d.ts +0 -0
- package/dist/{src/lib → lib}/legi/canutes_text_titles_cache.d.ts +0 -0
- package/dist/{src/lib/linkers/cited-article.test.d.ts → lib/legi/canutes_text_titles_cache.integration.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/legi/canutes_titles_metrics.d.ts +0 -0
- package/dist/{src/lib/linkers/reference-mode.test.d.ts → lib/legi/modifying_act_article_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/administrative_acts_autocompletion.test.d.ts → lib/legi/publication_components.test.d.ts} +0 -0
- package/dist/{src/lib/server/akn_rendering.test.d.ts → lib/legi/resolver.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/legi/text_titles_infos.d.ts +0 -0
- package/dist/{src/lib/server/ameli_autocompletion.test.d.ts → lib/linkers/ambiguous_publication.test.d.ts} +0 -0
- package/dist/{src/lib/server/assemblee_amendment_search.test.d.ts → lib/linkers/cited-article.test.d.ts} +0 -0
- package/dist/{src/lib/server/assemblee_document_search.test.d.ts → lib/linkers/enumeration_scope.test.d.ts} +0 -0
- package/dist/{src/lib/server/atomic_files.test.d.ts → lib/linkers/html_decision_capture.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_action_resolver_invariance.test.d.ts → lib/linkers/html_named_text_article.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_citation_anaphora.test.d.ts → lib/linkers/html_publication_93_859_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_comparison.test.d.ts → lib/linkers/html_structure_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/bill_target_scope.test.d.ts → lib/linkers/html_undecidable_real.test.d.ts} +0 -0
- package/dist/{src/lib/server/bofip_autocompletion.test.d.ts → lib/linkers/link_decision_html.test.d.ts} +0 -0
- package/dist/{src/lib/server/boss_autocompletion.test.d.ts → lib/linkers/named_text_article.test.d.ts} +0 -0
- package/dist/{src/lib/server/canutes_only_compatibility.test.d.ts → lib/linkers/quoted_section_scope.test.d.ts} +0 -0
- package/dist/{src/lib/server/document_git_checkpoint.test.d.ts → lib/linkers/reference-mode.test.d.ts} +0 -0
- package/dist/{src/lib → lib}/links.d.ts +6 -6
- /package/dist/{src/lib/server/enriched_document_checkpoint.test.d.ts → lib/links.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/loaders/assemblee.d.ts +0 -0
- /package/dist/{src/lib → lib}/loaders/legifrance.d.ts +0 -0
- /package/dist/{src/lib → lib}/markdown.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/administrative_acts_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/europe_autocompletion.test.d.ts → lib/server/administrative_acts_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib/server/flegi_profiling.test.d.ts → lib/server/akn_rendering.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/alineas/alineas_images_utils.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/ameli_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/html_simplifier.test.d.ts → lib/server/ameli_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/assemblee_amendment_search.d.ts +0 -0
- /package/dist/{src/lib/server/international_treaties_autocompletion.test.d.ts → lib/server/assemblee_amendment_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/assemblee_document_search.d.ts +0 -0
- /package/dist/{src/lib/server/judilibre_search.test.d.ts → lib/server/assemblee_document_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/atomic_files.d.ts +0 -0
- /package/dist/{src/lib/server/legifrance_article_search.test.d.ts → lib/server/atomic_files.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/auditors/config.d.ts +0 -0
- /package/dist/{src/lib/server/legifrance_jurisprudence_search.test.d.ts → lib/server/bill_action_resolver_invariance.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/bill_action_target_fixtures.d.ts +0 -0
- /package/dist/{src/lib/server/local_acts_autocompletion.test.d.ts → lib/server/bill_citation_anaphora.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/bill_comparison.d.ts +0 -0
- /package/dist/{src/lib/server/masquage-typesense.test.d.ts → lib/server/bill_comparison.test.d.ts} +0 -0
- /package/dist/{src/lib/server/parsed_amendments.test.d.ts → lib/server/bill_target_scope.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/bofip_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/parsed_bills.test.d.ts → lib/server/bofip_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/boss_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/raa_autocompletion.test.d.ts → lib/server/boss_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/canutes_legacy_candidates.d.ts +0 -0
- /package/dist/{src/lib/server/senat_amendment_search.test.d.ts → lib/server/canutes_only_compatibility.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/config.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/databases/canutes_root_cid_index.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/databases/canutes_text_titles_cache.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/databases/index.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/document_git_checkpoint.d.ts +0 -0
- /package/dist/{src/lib/server/senat_document_search.test.d.ts → lib/server/document_git_checkpoint.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/enriched_document_checkpoint.d.ts +0 -0
- /package/dist/{src/lib/server/shared_legal_text_sections.test.d.ts → lib/server/enriched_document_checkpoint.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/europe_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/sql_profiling.test.d.ts → lib/server/europe_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/f_legi/index.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/flegi_profiling.d.ts +0 -0
- /package/dist/{src/lib/server/sync_administrative_act_titles.test.d.ts → lib/server/flegi_profiling.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/html_simplifier.d.ts +0 -0
- /package/dist/{src/lib/server/sync_assemblee_legal_texts.test.d.ts → lib/server/html_simplifier.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/international_treaties_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/server/sync_local_act_titles.test.d.ts → lib/server/international_treaties_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/judilibre_search.d.ts +0 -0
- /package/dist/{src/lib/server/typesense_blue_green.test.d.ts → lib/server/judilibre_search.test.d.ts} +0 -0
- /package/dist/{src/lib/server/typesense_index_lock.test.d.ts → lib/server/jurisprudence_citations.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/action_citation_patterns.test.d.ts → lib/server/jurisprudence_jade.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/action_directives.test.d.ts → lib/server/jurisprudence_store.integration.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/action_occurrences.test.d.ts → lib/server/jurisprudence_store_closed.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/legi/resolvers.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/legifrance_article_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/action_position_cues.test.d.ts → lib/server/legifrance_article_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/legifrance_jurisprudence_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/action_words.test.d.ts → lib/server/legifrance_jurisprudence_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/linkers/html.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/local_acts_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/actions.test.d.ts → lib/server/local_acts_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/articles.test.d.ts → lib/server/masquage-typesense.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/masquage_typesense.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/citations.test.d.ts → lib/server/named_text_article_decisions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/parsed_amendments.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/dates.test.d.ts → lib/server/parsed_amendments.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/divisions.test.d.ts → lib/server/parsed_bill_abrogation.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/doctrinal_references.test.d.ts → lib/server/parsed_bill_future_consultation.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/numbers.test.d.ts → lib/server/parsed_bill_link_decisions.test.d.ts} +0 -0
- /package/dist/{src/lib/text_parsers/parsers.test.d.ts → lib/server/parsed_bills.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/raa_autocompletion.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/portions.test.d.ts → lib/server/raa_autocompletion.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/senat_amendment_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/prepositions.test.d.ts → lib/server/senat_amendment_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/senat_document_search.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/relative_locations.test.d.ts → lib/server/senat_document_search.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/senat_document_sources.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/shared_legal_text_sections.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/repeated_actions.test.d.ts → lib/server/shared_legal_text_sections.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sql_profiling.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/search_queries.test.d.ts → lib/server/sql_profiling.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_administrative_act_titles.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/simplifiers.test.d.ts → lib/server/sync_administrative_act_titles.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_ameli_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_assemblee_legal_texts.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/texts.test.d.ts → lib/server/sync_assemblee_legal_texts.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_boss_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_europe_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_international_treaty_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/sync_local_act_titles.d.ts +0 -0
- /package/dist/{src/lib/text_parsers/typography.test.d.ts → lib/server/sync_local_act_titles.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/sync_raa_titles.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/tables_of_contents.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/text_parsers/transformers.d.ts +0 -0
- /package/dist/{src/lib → lib}/server/typesense_blue_green.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_assemblee_parsed_documents.d.ts → lib/server/typesense_blue_green.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/server/typesense_index_lock.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_html_document.d.ts → lib/server/typesense_index_lock.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/test/text_titles_infos.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_citation_patterns.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_legifrance.d.ts → lib/text_parsers/action_citation_patterns.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_directives.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_senat_comptes_rendus.d.ts → lib/text_parsers/action_directives.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_occurrences.d.ts +0 -0
- /package/dist/{src/scripts/add_links_to_senat_parsed_documents.d.ts → lib/text_parsers/action_occurrences.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_position_cues.d.ts +0 -0
- /package/dist/{src/scripts/associate_jorf_textes_with_assemblee_commissions.d.ts → lib/text_parsers/action_position_cues.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_target_scopes.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/action_words.d.ts +0 -0
- /package/dist/{src/scripts/associate_jorf_textes_with_dossiers_legislatifs_assemblee.d.ts → lib/text_parsers/action_words.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/actions.d.ts +0 -0
- /package/dist/{src/scripts/compare_legi_bills.d.ts → lib/text_parsers/actions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/amendment_action_directives.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/articles.d.ts +0 -0
- /package/dist/{src/scripts/configure_postgres_assemblee_document_triggers.d.ts → lib/text_parsers/articles.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/citations.d.ts +0 -0
- /package/dist/{src/scripts/configure_postgres_legi_resolver.d.ts → lib/text_parsers/citations.test.d.ts} +0 -0
- /package/dist/{src/scripts/configure_postgres_root_cid_index.d.ts → lib/text_parsers/code_annexes.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/dates.d.ts +0 -0
- /package/dist/{src/scripts/configure_postgres_senat_document_triggers.d.ts → lib/text_parsers/dates.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/divisions.d.ts +0 -0
- /package/dist/{src/scripts/enrich_assemblee_documents.d.ts → lib/text_parsers/divisions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/doctrinal_references.d.ts +0 -0
- /package/dist/{src/scripts/enrich_senat_documents.d.ts → lib/text_parsers/doctrinal_references.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/fragments.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/helpers.d.ts +0 -0
- /package/dist/{src/scripts/html_document_to_text.d.ts → lib/text_parsers/historical_versions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/legal_text_aliases.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/numbers.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_assemblee_amendments.d.ts → lib/text_parsers/numbers.test.d.ts} +0 -0
- /package/dist/{src/scripts/index_postgres_assemblee_texts.d.ts → lib/text_parsers/parsers.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/portions.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_judilibre.d.ts → lib/text_parsers/portions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/prepositions.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_legifrance_articles.d.ts → lib/text_parsers/prepositions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/qualified_versions.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/references.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_legifrance_jurisprudence.d.ts → lib/text_parsers/references.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/relative_locations.d.ts +0 -0
- /package/dist/{src/scripts/index_postgres_senat_amendments.d.ts → lib/text_parsers/relative_locations.test.d.ts} +0 -0
- /package/dist/{src/scripts/index_postgres_senat_texts.d.ts → lib/text_parsers/repeated_actions.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/search_queries.d.ts +0 -0
- /package/dist/{src/scripts/parse_akoma_ntoso_bill_raw.d.ts → lib/text_parsers/search_queries.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/separators.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/simplifiers.d.ts +0 -0
- /package/dist/{src/scripts/parse_assemblee_bill_raw.d.ts → lib/text_parsers/simplifiers.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/table_row_targets.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/table_unit_notes.d.ts +0 -0
- /package/dist/{src/scripts/profile_assemblee_document_parsing.d.ts → lib/text_parsers/texts.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/text_parsers/transformers.d.ts +0 -0
- /package/dist/{src/lib → lib}/text_parsers/typography.d.ts +0 -0
- /package/dist/{src/scripts/profile_canutes_bill.d.ts → lib/text_parsers/typography.test.d.ts} +0 -0
- /package/dist/{src/lib → lib}/textes.d.ts +0 -0
- /package/dist/{src/lib → lib}/timings.d.ts +0 -0
- /package/dist/{src/scripts/shared/assemblee_legislature.test.d.ts → scripts/add_links_to_assemblee_parsed_documents.d.ts} +0 -0
- /package/dist/{src/scripts/shared/checkpoint_cli_options.test.d.ts → scripts/add_links_to_html_document.d.ts} +0 -0
- /package/dist/{src/scripts/simplified_html_bill_to_table_of_contents.d.ts → scripts/add_links_to_legifrance.d.ts} +0 -0
- /package/dist/{src/scripts/simplify_word_html.d.ts → scripts/add_links_to_senat_comptes_rendus.d.ts} +0 -0
- /package/dist/{src/scripts/sync_postgres_assemblee_document_content.d.ts → scripts/add_links_to_senat_parsed_documents.d.ts} +0 -0
- /package/dist/{src/scripts → scripts}/add_positions_to_table_of_contents.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/add_references_to_html_document.d.ts +0 -0
- /package/dist/{src/scripts/sync_postgres_senat_document_content.d.ts → scripts/alimenter_jurisprudence_pilote.d.ts} +0 -0
- /package/dist/{src/scripts/test_canutes_titles_cache.d.ts → scripts/associate_jorf_textes_with_assemblee_commissions.d.ts} +0 -0
- /package/dist/{src/scripts/warm_canutes_text_titles_cache.d.ts → scripts/associate_jorf_textes_with_dossiers_legislatifs_assemblee.d.ts} +0 -0
- /package/dist/{src/scripts → scripts}/audit_doctrinal_references.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/configure.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/extract_alineas_images.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/generate_alineas_numbers_review.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/index_typesense.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/merge_reviewed_alineas_numbers.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/set_articles_missing_num.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/shared/assemblee_legislature.d.ts +0 -0
- /package/dist/{src/scripts → scripts}/shared/checkpoint_cli_options.d.ts +0 -0
|
@@ -11,4 +11,6 @@ export { type LegiArticleInfo, LegiResolver, type LegiSectionInfo, type PreloadA
|
|
|
11
11
|
export { buildAndInstallTextTitlesInfos, buildTextTitlesInfos, type BuildTextTitlesInfosProgress, type TextTitlesInfoRow, type TextTitlesInfos, } from '../legi/text_titles_infos.js';
|
|
12
12
|
export { addPositionsToTableOfContentsFile, simplifiedHtmlBillFileToTableOfContentsFile, } from './tables_of_contents.js';
|
|
13
13
|
export { createLegiResolver } from './legi/resolvers.js';
|
|
14
|
+
export { createJurisprudenceConsultation, type ConsultationDecision, type ConsultationJurisprudence, type IdentiteArticle, type IdentiteDecisionJade, } from './jurisprudence_consultation.js';
|
|
15
|
+
export { createJurisprudenceStore, initializeJurisprudenceStore, type PersistedJade, } from './jurisprudence_store.js';
|
|
14
16
|
export { readTransformation, writeTransformation, } from './text_parsers/transformers.js';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { TextTitlesInfos } from '../legi/text_titles_infos.js';
|
|
2
|
+
/** Identité d'une représentation JADE, distincte de l'identifiant documentaire. */
|
|
3
|
+
export interface DecisionSource {
|
|
4
|
+
dataset: "JADE";
|
|
5
|
+
path: string;
|
|
6
|
+
id: string;
|
|
7
|
+
revision: string;
|
|
8
|
+
publication: string;
|
|
9
|
+
dateDecision: string;
|
|
10
|
+
titre?: string;
|
|
11
|
+
texte: string;
|
|
12
|
+
}
|
|
13
|
+
export interface DecisionCitation {
|
|
14
|
+
mention: string;
|
|
15
|
+
position: {
|
|
16
|
+
start: number;
|
|
17
|
+
stop: number;
|
|
18
|
+
};
|
|
19
|
+
passage: string;
|
|
20
|
+
articleId: string | null;
|
|
21
|
+
candidats: string[];
|
|
22
|
+
/** La mention désigne un seul article et un seul code explicite. */
|
|
23
|
+
selectionPossible?: boolean;
|
|
24
|
+
redaction: "indéterminée";
|
|
25
|
+
origine: "indéterminée";
|
|
26
|
+
relation: "citation";
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Première extraction conservatrice : seul un article avec code explicitement
|
|
30
|
+
* identifié peut être résolu. Le résolveur fournit une identité de disposition,
|
|
31
|
+
* pas une rédaction déterminée par date ; il ne reçoit jamais la date de décision.
|
|
32
|
+
* Les titres de codes doivent avoir été initialisés dans le parseur au préalable.
|
|
33
|
+
* Le texte fourni doit être la représentation adaptée aux droits de l'appelant.
|
|
34
|
+
*/
|
|
35
|
+
export declare function extractDecisionCitations({ document, resolve, textTitlesInfos, }: {
|
|
36
|
+
document: DecisionSource;
|
|
37
|
+
textTitlesInfos?: TextTitlesInfos;
|
|
38
|
+
resolve: (reference: {
|
|
39
|
+
codeId: string;
|
|
40
|
+
numero: string;
|
|
41
|
+
}) => Promise<string[]>;
|
|
42
|
+
}): Promise<{
|
|
43
|
+
document: DecisionSource;
|
|
44
|
+
citations: DecisionCitation[];
|
|
45
|
+
perimetre: string;
|
|
46
|
+
}>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { default as postgres } from 'postgres';
|
|
2
|
+
import { DecisionCitation } from './jurisprudence_citations.js';
|
|
3
|
+
import { ArticleReferenceSelection } from './jurisprudence_jade.js';
|
|
4
|
+
/** Une représentation identifiée par son fonds et son chemin, pas seulement son id. */
|
|
5
|
+
export interface IdentiteDecisionJade {
|
|
6
|
+
dataset: "JADE";
|
|
7
|
+
path: string;
|
|
8
|
+
}
|
|
9
|
+
/** L'identifiant désigne un état précis du référentiel, pas une continuité. */
|
|
10
|
+
export interface IdentiteArticle {
|
|
11
|
+
articleId: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ConsultationJurisprudence {
|
|
14
|
+
decision: {
|
|
15
|
+
dataset: "JADE";
|
|
16
|
+
path: string;
|
|
17
|
+
id: string;
|
|
18
|
+
revision: string;
|
|
19
|
+
titre: string;
|
|
20
|
+
titreNature: "source" | "référence";
|
|
21
|
+
publication: string;
|
|
22
|
+
dateDecision: string;
|
|
23
|
+
};
|
|
24
|
+
citations: DecisionCitation[];
|
|
25
|
+
couverture: {
|
|
26
|
+
perimetre: string;
|
|
27
|
+
traiteLe: string;
|
|
28
|
+
fraicheur: "non-verifiee";
|
|
29
|
+
};
|
|
30
|
+
referenceRevision: string;
|
|
31
|
+
selectionReference?: ArticleReferenceSelection;
|
|
32
|
+
selectionsReference?: ArticleReferenceSelection[];
|
|
33
|
+
}
|
|
34
|
+
export type ConsultationDecision = {
|
|
35
|
+
etat: "non-traite";
|
|
36
|
+
} | {
|
|
37
|
+
etat: "capture";
|
|
38
|
+
resultat: ConsultationJurisprudence;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Contrat serveur du pilote, sans autorisation ni activation publique implicite.
|
|
42
|
+
* L'appelant contrôle l'accès à la connexion et au schéma. La fraîcheur des
|
|
43
|
+
* captures n'est pas vérifiée. L'absence de citation ne prouve pas l'exhaustivité.
|
|
44
|
+
*/
|
|
45
|
+
export declare function createJurisprudenceConsultation(sql: postgres.Sql, schema: string, options?: {
|
|
46
|
+
maxExtractionsArticle?: number;
|
|
47
|
+
}): Promise<{
|
|
48
|
+
parDecision(identite: IdentiteDecisionJade): Promise<ConsultationDecision>;
|
|
49
|
+
parArticle(identite: IdentiteArticle): Promise<{
|
|
50
|
+
resultats: ConsultationJurisprudence[];
|
|
51
|
+
resultatsPossibles: ConsultationJurisprudence[];
|
|
52
|
+
couverture: "inconnue";
|
|
53
|
+
fraicheur: "non-verifiee";
|
|
54
|
+
}>;
|
|
55
|
+
}>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { CanutesSql } from '../legi/canutes_sql.js';
|
|
2
|
+
import { TextTitlesInfos } from '../legi/text_titles_infos.js';
|
|
3
|
+
import { DecisionSource } from './jurisprudence_citations.js';
|
|
4
|
+
/** Données importées privées : ce contrat ne constitue pas une copie publique. */
|
|
5
|
+
export interface JadeInput {
|
|
6
|
+
dataset: string;
|
|
7
|
+
path: string;
|
|
8
|
+
id: string;
|
|
9
|
+
juridiction: string;
|
|
10
|
+
dateDec: string;
|
|
11
|
+
titre?: string | null;
|
|
12
|
+
data: unknown;
|
|
13
|
+
}
|
|
14
|
+
export declare class InvalidJadeSourceError extends Error {
|
|
15
|
+
}
|
|
16
|
+
export declare class StaleReferenceSelectionError extends Error {
|
|
17
|
+
}
|
|
18
|
+
export declare function adaptJadeDecision(input: JadeInput): DecisionSource;
|
|
19
|
+
/** Retourne tous les états candidats dans le référentiel observé, sans déduire
|
|
20
|
+
* ni continuité entre rédactions ni rédaction citée de la date de décision.
|
|
21
|
+
* L'appelant ne peut publier un résultat qu'après contrôle de fraîcheur. */
|
|
22
|
+
export declare function createHistoricalArticleResolver(sql: CanutesSql): ({ codeId, numero, }: {
|
|
23
|
+
codeId: string;
|
|
24
|
+
numero: string;
|
|
25
|
+
}) => Promise<string[]>;
|
|
26
|
+
export interface ArticleReferenceSelection {
|
|
27
|
+
dateReference: string;
|
|
28
|
+
articleId: string;
|
|
29
|
+
reference?: {
|
|
30
|
+
dataset: "JADE";
|
|
31
|
+
path: string;
|
|
32
|
+
revision: string;
|
|
33
|
+
position: {
|
|
34
|
+
start: number;
|
|
35
|
+
stop: number;
|
|
36
|
+
};
|
|
37
|
+
mention: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export type ArticleReferenceSelections = ArticleReferenceSelection | ArticleReferenceSelection[];
|
|
41
|
+
/** Capture cohérente, sans garantie de fraîcheur après ce snapshot. Ne pas
|
|
42
|
+
* utiliser ce résultat comme preuve persistée actuelle sans revalidation. */
|
|
43
|
+
export declare function extractJadeFromCanutesSnapshot(db: CanutesSql, path: string, selection?: ArticleReferenceSelections): Promise<{
|
|
44
|
+
selection?: ArticleReferenceSelections | undefined;
|
|
45
|
+
referenceRevision: string;
|
|
46
|
+
document: DecisionSource;
|
|
47
|
+
citations: import('./jurisprudence_citations.js').DecisionCitation[];
|
|
48
|
+
perimetre: string;
|
|
49
|
+
}>;
|
|
50
|
+
export declare function extractJadeDecisionCitations(input: JadeInput, resolve: (reference: {
|
|
51
|
+
codeId: string;
|
|
52
|
+
numero: string;
|
|
53
|
+
}) => Promise<string[]>, textTitlesInfos?: TextTitlesInfos): Promise<{
|
|
54
|
+
document: DecisionSource;
|
|
55
|
+
citations: import('./jurisprudence_citations.js').DecisionCitation[];
|
|
56
|
+
perimetre: string;
|
|
57
|
+
}>;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { default as postgres } from 'postgres';
|
|
2
|
+
import { extractJadeFromCanutesSnapshot, ArticleReferenceSelections } from './jurisprudence_jade.js';
|
|
3
|
+
type Extraction = Awaited<ReturnType<typeof extractJadeFromCanutesSnapshot>>;
|
|
4
|
+
export type PersistedJade = Extraction & {
|
|
5
|
+
traiteLe: string;
|
|
6
|
+
};
|
|
7
|
+
/** Alimentation bornée à une représentation explicitement identifiée. La
|
|
8
|
+
* migration est une opération séparée : aucun schéma n'est créé ici. */
|
|
9
|
+
export declare function alimenterJurisprudence(sql: postgres.Sql, schema: string, input: {
|
|
10
|
+
dataset: string;
|
|
11
|
+
path: string;
|
|
12
|
+
selection?: ArticleReferenceSelections;
|
|
13
|
+
}): Promise<PersistedJade>;
|
|
14
|
+
/** Stockage de pilote : le schéma et ses droits sont administrés par l'appelant.
|
|
15
|
+
* Les lectures servent la capture sans vérifier sa fraîcheur. */
|
|
16
|
+
export declare function initializeJurisprudenceStore(sql: postgres.Sql, schema: string): Promise<void>;
|
|
17
|
+
export declare function createJurisprudenceStore(sql: postgres.Sql, schema: string, options?: {
|
|
18
|
+
maxExtractionsArticle?: number;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
capture(path: string, selection?: ArticleReferenceSelections): Promise<PersistedJade>;
|
|
21
|
+
/** Sert la dernière capture, qui peut être périmée. */
|
|
22
|
+
consultDecision(path: string): Promise<{
|
|
23
|
+
etat: "non-traite";
|
|
24
|
+
} | {
|
|
25
|
+
etat: "capture";
|
|
26
|
+
resultat: PersistedJade;
|
|
27
|
+
}>;
|
|
28
|
+
/** Consultation bornée des captures, sans contrôle de fraîcheur. */
|
|
29
|
+
consultArticle(articleId: string): Promise<{
|
|
30
|
+
resultats: PersistedJade[];
|
|
31
|
+
resultatsPossibles: PersistedJade[];
|
|
32
|
+
}>;
|
|
33
|
+
byDecision(path: string): Promise<PersistedJade | null>;
|
|
34
|
+
byArticle(articleId: string): Promise<PersistedJade[]>;
|
|
35
|
+
}>;
|
|
36
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Sql } from 'postgres';
|
|
2
2
|
import { ResolvedActionDirective } from '../extractors/action_directives.js';
|
|
3
3
|
import { ArticleActionEffect, ArticleActionSourceAnnotation } from '../extractors/article_action_effects.js';
|
|
4
|
+
import { LinkDecision } from '../extractors/links.js';
|
|
4
5
|
import { TableOfContents } from '../extractors/table_of_contents.js';
|
|
5
6
|
import { LegiResolver } from '../legi/resolver.js';
|
|
6
7
|
import { LinkType } from '../links.js';
|
|
@@ -34,6 +35,8 @@ export type ParsedBillBlock = {
|
|
|
34
35
|
articleId: string;
|
|
35
36
|
kind: ParsedBillBlockKind;
|
|
36
37
|
links: ParsedBillLink[];
|
|
38
|
+
/** Decisions keyed by positions in the unlinked source, including citations without href. */
|
|
39
|
+
linkDecisions?: LinkDecision[];
|
|
37
40
|
qualifiedVersion?: ParsedBillQualifiedVersion;
|
|
38
41
|
text: string;
|
|
39
42
|
html: string;
|
|
@@ -46,6 +49,8 @@ export type ParsedBillQualifiedVersion = {
|
|
|
46
49
|
};
|
|
47
50
|
export type ParsedBillLink = {
|
|
48
51
|
id: string;
|
|
52
|
+
/** A warned consultation URL cannot become an affirmative directive target. */
|
|
53
|
+
consultationOnly?: boolean;
|
|
49
54
|
insideFrenchQuotes?: boolean;
|
|
50
55
|
text?: string;
|
|
51
56
|
type: "article" | "division" | "text";
|
|
@@ -89,6 +94,10 @@ export type ParsedBillDirective = {
|
|
|
89
94
|
/** Explicitly cited article numbers defined in this bill; external projection is unavailable. */
|
|
90
95
|
internallyCreatedTargetNums?: string[];
|
|
91
96
|
targetIds?: string[];
|
|
97
|
+
/** Possible projection targets, never affirmative targetIds. */
|
|
98
|
+
indicativeTargetIds?: string[];
|
|
99
|
+
/** Occurrences in this directive's own source blocks, not inherited context. */
|
|
100
|
+
linkDecisions?: LinkDecision[];
|
|
92
101
|
qualifiedVersion?: ParsedBillQualifiedVersion;
|
|
93
102
|
};
|
|
94
103
|
export type ParsedBillInternalArticleTarget = {
|
|
@@ -106,6 +115,8 @@ export type ParsedBillInternalArticleDefinition = ParsedBillInternalArticleTarge
|
|
|
106
115
|
};
|
|
107
116
|
export type ParseBillRawOptions = {
|
|
108
117
|
canutesDb?: Sql;
|
|
118
|
+
/** Explicit resolution date; `date` remains the source document date. */
|
|
119
|
+
callerDate?: string;
|
|
109
120
|
date?: string;
|
|
110
121
|
includeInternalArticleLinks?: boolean;
|
|
111
122
|
includeDirectiveAnalysis?: boolean;
|
|
@@ -113,6 +124,12 @@ export type ParseBillRawOptions = {
|
|
|
113
124
|
linkBaseUrl: string;
|
|
114
125
|
linkType: LinkType;
|
|
115
126
|
linkedHtml?: string;
|
|
127
|
+
/** Enable structured decisions when linking, using this stable source document ID. */
|
|
128
|
+
linkDecisionDocumentId?: string;
|
|
129
|
+
/** Supply decisions when linkedHtml was produced in an earlier step. */
|
|
130
|
+
linkDecisions?: LinkDecision[];
|
|
131
|
+
/** Opt in to rendering consultation decisions in newly linked HTML. */
|
|
132
|
+
renderLinkDecisions?: boolean;
|
|
116
133
|
logIgnoredReferencesTypes?: boolean;
|
|
117
134
|
logPartialReferences?: boolean;
|
|
118
135
|
logReferences?: boolean;
|
|
@@ -122,6 +139,7 @@ export type LinkedBillDocument = {
|
|
|
122
139
|
documentDate?: string;
|
|
123
140
|
html: string;
|
|
124
141
|
linkedHtml: string;
|
|
142
|
+
linkDecisions?: LinkDecision[];
|
|
125
143
|
};
|
|
126
144
|
export type ParsedBillDocument = {
|
|
127
145
|
sourceFormat: ParsedBillSourceFormat;
|
|
@@ -133,6 +151,7 @@ export type ParsedBillDocument = {
|
|
|
133
151
|
globalApplicabilityDate?: string;
|
|
134
152
|
internalArticleDefinitions?: ParsedBillInternalArticleDefinition[];
|
|
135
153
|
directives: ParsedBillDirective[];
|
|
154
|
+
linkDecisions?: LinkDecision[];
|
|
136
155
|
annotations?: ParsedBillAnnotation[];
|
|
137
156
|
diagnostics?: ParsedBillDiagnostic[];
|
|
138
157
|
};
|
|
@@ -78,6 +78,8 @@ export type TextAstArticle = {
|
|
|
78
78
|
localizationAdverb?: LocalizationAdverb;
|
|
79
79
|
newOrOld?: "new" | "old";
|
|
80
80
|
ofTheSaid?: boolean;
|
|
81
|
+
/** Explicit article recall ("article 289 précité"), not a bare amended-text reference. */
|
|
82
|
+
previouslyCited?: boolean;
|
|
81
83
|
type: "article";
|
|
82
84
|
} & TextAstLocalization & TextAstPosition;
|
|
83
85
|
export type TextAstAtomicReference = TextAstArticle | TextAstDivision | TextAstIncompleteHeader | TextAstPortion | (TextAstText & TextAstPosition);
|
|
@@ -167,8 +169,16 @@ export type TextAstText = {
|
|
|
167
169
|
* Légifrance CID of the text.
|
|
168
170
|
*/
|
|
169
171
|
cid?: string;
|
|
170
|
-
/**
|
|
172
|
+
/** Competing publications or code-title CIDs, including excluded alternatives. */
|
|
171
173
|
candidateCids?: string[];
|
|
174
|
+
/** Publications whose otherwise identical title says "(rectificatif)". */
|
|
175
|
+
rectificatifCids?: string[];
|
|
176
|
+
/** Annex qualifier applied to this code, not to the preceding article group. */
|
|
177
|
+
annex?: string;
|
|
178
|
+
/** Annex explicitly qualifying a named non-code text; not proof of a separate CID. */
|
|
179
|
+
publicationAnnex?: string;
|
|
180
|
+
/** Anaphoric annex ("même annexe"), distinct from "même code". */
|
|
181
|
+
sameAnnex?: boolean;
|
|
172
182
|
nature: LawNature;
|
|
173
183
|
legislation?: "international" | "UE";
|
|
174
184
|
ofTheSaid?: boolean;
|
|
@@ -191,11 +201,11 @@ export type TextInfosByWordsTreeNode = {
|
|
|
191
201
|
[word: string]: TextInfosByWordsTree;
|
|
192
202
|
};
|
|
193
203
|
export declare const compoundReferencesSeparators: readonly [",", "à", "et", "ou", "sauf"];
|
|
194
|
-
export declare const europeanLawNatures: readonly ["ARRETEEURO", "ARRETEURO", "AVISEURO", "DECISION_EURO", "DECLARATIONEURO", "DELIBERATIONEURO", "DIRECTIVE_EURO", "INFORMATIONEURO", "INSTRUCTIONEURO", "LETTREEURO", "REGLEMENTEUROPEEN"];
|
|
204
|
+
export declare const europeanLawNatures: readonly ["ARRETEEURO", "ARRETEURO", "AVISEURO", "DECISION_EURO", "DECLARATIONEURO", "DELIBERATIONEURO", "DIRECTIVE_EURO", "INFORMATIONEURO", "INSTRUCTIONEURO", "LETTREEURO", "RECOMMANDATIONEURO", "REGLEMENTEUROPEEN"];
|
|
195
205
|
export declare const frenchLawNatures: readonly ["ARRETE", "CIRCULAIRE", "CODE", "CONSTITUTION", "DECRET", "DECRET_LOI", "LOI", "LOI_CONSTIT", "LOI_ORGANIQUE", "ORDONNANCE"];
|
|
196
206
|
export declare const internationalLawNatures: readonly ["CONVENTION"];
|
|
197
207
|
export declare const divisionTypes: readonly ["partie", "livre", "titre", "sous-titre", "chapitre", "section", "sous-section", "paragraphe", "sous-paragraphe", "sous-sous-paragraphe"];
|
|
198
|
-
export declare const lawNatures: readonly ["ARRETEEURO", "ARRETEURO", "AVISEURO", "DECISION_EURO", "DECLARATIONEURO", "DELIBERATIONEURO", "DIRECTIVE_EURO", "INFORMATIONEURO", "INSTRUCTIONEURO", "LETTREEURO", "REGLEMENTEUROPEEN", "ARRETE", "CIRCULAIRE", "CODE", "CONSTITUTION", "DECRET", "DECRET_LOI", "LOI", "LOI_CONSTIT", "LOI_ORGANIQUE", "ORDONNANCE", "CONVENTION"];
|
|
208
|
+
export declare const lawNatures: readonly ["ARRETEEURO", "ARRETEURO", "AVISEURO", "DECISION_EURO", "DECLARATIONEURO", "DELIBERATIONEURO", "DIRECTIVE_EURO", "INFORMATIONEURO", "INSTRUCTIONEURO", "LETTREEURO", "RECOMMANDATIONEURO", "REGLEMENTEUROPEEN", "ARRETE", "CIRCULAIRE", "CODE", "CONSTITUTION", "DECRET", "DECRET_LOI", "LOI", "LOI_CONSTIT", "LOI_ORGANIQUE", "ORDONNANCE", "CONVENTION"];
|
|
199
209
|
/**
|
|
200
210
|
* Portions are elements of an article.
|
|
201
211
|
* "items" is a generic term for lines preceded with a number.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TextAstReference } from './ast.js';
|
|
2
|
+
export interface HistoricalVersionQualifier {
|
|
3
|
+
date: string;
|
|
4
|
+
range: {
|
|
5
|
+
start: number;
|
|
6
|
+
stop: number;
|
|
7
|
+
};
|
|
8
|
+
scope: {
|
|
9
|
+
start: number;
|
|
10
|
+
stop: number;
|
|
11
|
+
};
|
|
12
|
+
/** Preserved when the public scope is mapped back to the source HTML. */
|
|
13
|
+
transformedScope?: {
|
|
14
|
+
start: number;
|
|
15
|
+
stop: number;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare function historicalVersionQualifiers(input: string, references: TextAstReference[]): Map<TextAstReference, HistoricalVersionQualifier>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TextAst, TextAstArticle, TextAstText, TextAstTextInfos, TextInfosByWordsTree } from './ast.js';
|
|
2
2
|
import { FragmentPosition } from './fragments.js';
|
|
3
|
+
import { TextTitlesInfos } from '../legi/text_titles_infos.js';
|
|
3
4
|
export type TextInfosConverter = (infos: TextAstTextInfos, context: TextParserContext) => TextAst | undefined;
|
|
4
5
|
export type RegExpConverter = (match: RegExpExecArray, context: TextParserContext) => TextAst | undefined;
|
|
5
6
|
export type TextAstConverter<T extends TextAst> = (ast: T, context: TextParserContext) => TextAst | undefined;
|
|
@@ -34,11 +35,15 @@ export type FastPathExtractCandidate = {
|
|
|
34
35
|
export declare class TextParserContext {
|
|
35
36
|
input: string;
|
|
36
37
|
offset: number;
|
|
38
|
+
/** Only reference/link search may skip parenthesized repetition qualifiers. */
|
|
39
|
+
ignoreReferenceRepetitionQualifiers: boolean;
|
|
37
40
|
currentArticle: TextAstArticle | undefined;
|
|
38
41
|
currentText: TextAstText | undefined;
|
|
39
42
|
length: number;
|
|
40
43
|
usedInputs: TextTree | undefined;
|
|
41
44
|
variables: Record<string, TextAst>;
|
|
45
|
+
/** Catalogue optionnel propre à cette analyse ; absent, utiliser le catalogue historique. */
|
|
46
|
+
textTitlesInfos?: TextTitlesInfos;
|
|
42
47
|
constructor(input: string, offset?: number);
|
|
43
48
|
position(): FragmentPosition;
|
|
44
49
|
remaining(): string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TextParser } from './parsers.js';
|
|
2
|
+
export declare const referenceRepetitionQualifier: TextParser;
|
|
2
3
|
export declare const repeatedActionQualifier: TextParser<number>;
|
|
3
4
|
export declare function findRepeatedActionCount(text: string): number | null;
|
|
4
5
|
export declare function findRepeatedTargetOccurrenceCount(text: string, position: number): number | null;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export declare function getTextTitlesInfosInstallationVersion(): number;
|
|
2
2
|
export declare function setTextTitlesInfos(textTitlesInfos: unknown): void;
|
|
3
|
+
/** Code titles actually in force on the date of the citation. */
|
|
4
|
+
export declare function activeCodeTitleCids(cids: string[], date: string): string[];
|
|
3
5
|
/** Keep the successive titles of one CID together when ranking code editions. */
|
|
4
6
|
export declare function rankCodeTitleCids(cids: string[], date: string): string[];
|
|
5
7
|
/**
|
|
@@ -53,3 +55,13 @@ export declare const natureTexteEuropeen: import('./parsers.js').TextParser<impo
|
|
|
53
55
|
export declare const texteEuropeen: import('./parsers.js').TextParser<import('./ast.js').TextAst>;
|
|
54
56
|
export declare const texteInternational: import('./parsers.js').TextParser<import('./ast.js').TextAst>;
|
|
55
57
|
export declare const texte: import('./parsers.js').TextParser<import('./ast.js').TextAst>;
|
|
58
|
+
/** Annex labels share the existing number, typography and liaison grammars. */
|
|
59
|
+
export declare const designationAnnexe: import('./parsers.js').TextParser<import('./ast.js').TextAst>;
|
|
60
|
+
/** A postposed annex qualifier is a text parent, never an article of the code. */
|
|
61
|
+
export declare const annexeCode: import('./parsers.js').TextParser<import('./ast.js').TextAst>;
|
|
62
|
+
/** Preserve the named text's annex qualifier independently of its storage:
|
|
63
|
+
* it can be an article of the text or a separately published component. */
|
|
64
|
+
export declare const annexeTexte: import('./parsers.js').TextParser<import('./ast.js').TextAst>;
|
|
65
|
+
/** Only a complete catalogue title proves an autonomous annex CID. An annex
|
|
66
|
+
* stored inside its code must not silently become the principal code's CID. */
|
|
67
|
+
export declare function codeAnnexCids(codeCid: string | undefined, annex: string): string[];
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/lib/linkers/link_decision_metadata.ts
|
|
2
|
+
var e = ["data-tisseuse-warning", "data-tisseuse-candidates"], t = {
|
|
3
|
+
article: {
|
|
4
|
+
linked: "lien_article_externe",
|
|
5
|
+
undecidable: "reference_article_indecidable"
|
|
6
|
+
},
|
|
7
|
+
text: {
|
|
8
|
+
linked: "lien_texte_externe",
|
|
9
|
+
undecidable: "reference_texte_indecidable"
|
|
10
|
+
}
|
|
11
|
+
}, n = new Set([
|
|
12
|
+
"article_futur_a_date_reference",
|
|
13
|
+
"article_abroge_avant_date_reference",
|
|
14
|
+
"indice_structurel",
|
|
15
|
+
"composant_publication",
|
|
16
|
+
"structure_absente",
|
|
17
|
+
"reference_historique_explicite",
|
|
18
|
+
"plusieurs_candidats_indepartageables",
|
|
19
|
+
"cid_non_etabli",
|
|
20
|
+
"donnees_insuffisantes"
|
|
21
|
+
]), r = {
|
|
22
|
+
article: /^(?:LEGIARTI|JORFARTI)\d{12}$/,
|
|
23
|
+
text: /^(?:LEGITEXT|JORFTEXT)\d{12}$/
|
|
24
|
+
};
|
|
25
|
+
function i(e) {
|
|
26
|
+
return n.has(e);
|
|
27
|
+
}
|
|
28
|
+
function a(e, t) {
|
|
29
|
+
return r[e].test(t);
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { a as isLinkDecisionCandidateId, i as isLinkDecisionWarning, e as linkDecisionMetadataAttributes, t as linkDecisionReferenceClasses };
|