@tricoteuses/tisseuse 0.13.7 → 0.13.9
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 +39 -35
- package/dist/{textes-BIJjrNwg.js → html-DhGw-Yqr.js} +3875 -5243
- package/dist/index.js +280 -147
- package/dist/resolver-DZS-DNp6.js +1848 -0
- package/dist/server-f-legi.js +532 -0
- package/dist/server.js +530 -2161
- package/dist/src/lib/extractors/links.d.ts +6 -4
- package/dist/src/lib/f_legi/resolver.d.ts +5 -7
- package/dist/src/lib/index.d.ts +2 -0
- package/dist/src/lib/legi/canutes_resolver.d.ts +5 -6
- package/dist/src/lib/legi/resolver.d.ts +15 -12
- package/dist/src/lib/legi/resolver.test.d.ts +1 -0
- package/dist/src/lib/legi/text_titles_infos.d.ts +26 -0
- package/dist/src/lib/linkers/html.d.ts +15 -4
- package/dist/src/lib/linkers/markdown.d.ts +4 -2
- package/dist/src/lib/server/databases/index.d.ts +1 -1
- package/dist/src/lib/server/f_legi/index.d.ts +1 -0
- package/dist/src/lib/server/index.d.ts +2 -1
- package/dist/src/lib/server/judilibre_search.d.ts +31 -0
- package/dist/src/lib/server/judilibre_search.test.d.ts +1 -0
- package/dist/src/lib/server/legi/resolvers.d.ts +2 -7
- package/dist/src/lib/server/linkers/html.d.ts +4 -2
- package/dist/src/scripts/enrich_senat_documents.d.ts +1 -0
- package/dist/src/scripts/index_postgres_judilibre.d.ts +1 -0
- package/package.json +8 -1
- package/dist/src/lib/f_legi/extractors/links.d.ts +0 -134
- package/dist/src/lib/f_legi/linkers/html.d.ts +0 -51
- package/dist/src/lib/server/f_legi/databases/index.d.ts +0 -2
- package/dist/src/lib/server/f_legi/linkers/html.d.ts +0 -20
- package/dist/src/scripts/f_legi/add_links_to_html_document.d.ts +0 -0
- /package/dist/src/{scripts/extract_texts_titles_infos.d.ts → lib/f_legi/resolver.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -65,6 +65,22 @@ Pour les articles dont Légifrance fournit une date de début sentinelle (`2222-
|
|
|
65
65
|
|
|
66
66
|
Le pilote est exposé par Exploratrice à `GET /legifrance/recherche-plein-texte?q=...`, avec les filtres facultatifs `date=YYYY-MM-DD`, `nature`, `texte_cid` et `limit`.
|
|
67
67
|
|
|
68
|
+
### Recherche plein texte de la jurisprudence Légifrance
|
|
69
|
+
|
|
70
|
+
La projection `tisseuse.legifrance_jurisprudence_search` couvre les fonds CNIL, CONSTIT, CAPP, CASS, INCA et JADE. Les décisions sont indexées par la commande suivante, à exécuter sur le primaire PostgreSQL avec un rôle en écriture :
|
|
71
|
+
|
|
72
|
+
```sh
|
|
73
|
+
npm run index:postgres:legifrance-jurisprudence
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Le rôle Tisseuse ne peut pas installer de trigger sur `legifrance.jurisprudence`. Après **chaque import DILA qui modifie ce corpus**, l’exploitation doit donc déclencher explicitement la réconciliation :
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
npm run index:postgres:legifrance-jurisprudence -- --all
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Cette commande est l’étape post-import obligatoire : elle alimente la file durable, que les workers consomment par lots verrouillés. Vérifier ensuite que `tisseuse.legifrance_jurisprudence_search_queue` est vide avant de déclarer la mise à jour disponible. Ne pas l’exécuter sur un standby.
|
|
83
|
+
|
|
68
84
|
### Contenus et recherche plein texte Assemblée nationale
|
|
69
85
|
|
|
70
86
|
Les documents de l’Assemblée nationale sont acquis depuis les URL institutionnelles déduites de `assemblee.documents`, puis stockés dans `tisseuse.assemblee_document_content`. Cette projection est la source de contenu d’Exploratrice : elle contient un HTML simplifié, sa version enrichie de liens lorsque disponible, le sommaire, la provenance et l’état d’acquisition. Le répertoire local `Documents/` peut servir à diagnostiquer ou à amorcer un import historique, mais n’est pas lu par le service web ou l’indexeur.
|
|
@@ -117,46 +133,34 @@ Les documents sans URL, externes au Sénat, sans Akoma Ntoso ou en échec de par
|
|
|
117
133
|
|
|
118
134
|
## Legal reference resolver
|
|
119
135
|
|
|
120
|
-
Tisseuse resolves legal references through
|
|
121
|
-
|
|
122
|
-
`
|
|
136
|
+
Tisseuse resolves legal references through the Canutes-backed `LegiResolver`.
|
|
137
|
+
`LegiResolver` is exported as an abstract class from both
|
|
138
|
+
`@tricoteuses/tisseuse` and `@tricoteuses/tisseuse/server`, so applications can
|
|
139
|
+
provide another storage-backed implementation. At process startup, the Canutes
|
|
140
|
+
resolver reads the title metadata it needs directly from
|
|
141
|
+
`legifrance.texte_version` and builds the parser indexes in memory. Concurrent
|
|
142
|
+
callers share the same preload operation, and the resulting indexes remain fixed
|
|
143
|
+
for the lifetime of the process.
|
|
123
144
|
|
|
124
|
-
|
|
145
|
+
No generated title index belongs in the source tree. Tests that resolve the full
|
|
146
|
+
Légifrance title corpus need access to the configured Canutes database and call
|
|
147
|
+
the same preload operation as production code.
|
|
125
148
|
|
|
126
|
-
|
|
127
|
-
`text_titles_infos.json` file.
|
|
128
|
-
- `canutes`: uses the Canutes database and requires generating
|
|
129
|
-
`src/lib/text_parsers/text_titles_infos.json` before running tests that parse
|
|
130
|
-
or resolve French text titles.
|
|
149
|
+
### `f_legi` server adapter
|
|
131
150
|
|
|
132
|
-
|
|
151
|
+
Applications backed by a `f_legi` database can import the optional server-only
|
|
152
|
+
adapter from the same package:
|
|
133
153
|
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
npx tsx src/scripts/parse_assemblee_bill_raw.ts bill.html.raw --resolver f_legi
|
|
137
|
-
```
|
|
154
|
+
```ts
|
|
155
|
+
import { FlegiResolver } from "@tricoteuses/tisseuse/server/f-legi"
|
|
138
156
|
|
|
139
|
-
|
|
140
|
-
the tests:
|
|
141
|
-
|
|
142
|
-
```sh
|
|
143
|
-
npx tsx src/scripts/extract_texts_titles_infos.ts
|
|
144
|
-
npm test
|
|
157
|
+
const resolver = new FlegiResolver(sql)
|
|
145
158
|
```
|
|
146
159
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
If you need to keep the generated file outside the working tree, pass it through
|
|
151
|
-
`TISSEUSE_TEXT_TITLES_INFOS_PATH` or script options instead:
|
|
152
|
-
|
|
153
|
-
```sh
|
|
154
|
-
TISSEUSE_TEXT_TITLES_INFOS_PATH=/path/to/text_titles_infos.json npm test
|
|
155
|
-
npx tsx src/scripts/parse_akoma_ntoso_bill_raw.ts bill.akn.xml.raw --text-titles-infos /path/to/text_titles_infos.json
|
|
156
|
-
```
|
|
160
|
+
The caller owns the PostgreSQL client and its lifecycle. Importing the adapter
|
|
161
|
+
does not open a connection, read environment variables, or preload title data.
|
|
162
|
+
The generic Tisseuse entry points do not load this adapter.
|
|
157
163
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
generated data and is not loaded through Vitest global setup; tests that need it
|
|
162
|
-
preload it explicitly through the selected resolver.
|
|
164
|
+
External adapters can extend the public `LegiResolver` class. The public package
|
|
165
|
+
also exports the resolver option types and `buildAndInstallTextTitlesInfos`, so
|
|
166
|
+
an adapter does not need deep imports into Tisseuse.
|