All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m45s
Fetch one EU legal act from EUR-Lex by CELEX number and return its FORMEX-4 XML content-addressed (SHA-256), so a flow's audit trail pins the exact Gesetzesstand it processed. - CELLAR content negotiation (application/xml;type=fmx4) on publications.europa.eu; 303 multiple-choice item selection - host-pinned redirect handling (max 3 hops), 64 MB body cap - consolidated CELEX (0...-YYYYMMDD) yields consolidation_date - net permission pinned to publications.europa.eu; no auth - 10 unit tests (no network), wasm32-wasip2 build green Signed-off-by: flemming-it <sf@flemming.it>
77 lines
2.6 KiB
YAML
77 lines
2.6 KiB
YAML
schema_version: 3
|
|
provider: chain
|
|
name: law-source-eurlex
|
|
version: 0.1.0
|
|
|
|
# Capability provided by this module.
|
|
#
|
|
# Fetches one EU legal act from EUR-Lex by CELEX number and returns
|
|
# the FORMEX-4 XML body content-addressed (SHA-256), so a flow's
|
|
# audit trail pins the exact Gesetzesstand it processed. Public
|
|
# EUR-Lex data only — no authentication, no personal data.
|
|
provides:
|
|
- capability: source.eu-recht
|
|
version: 0.1.0
|
|
|
|
inputs:
|
|
celex:
|
|
type: text
|
|
description:
|
|
en: |
|
|
CELEX identifier of the act, e.g. 32016R0679 (GDPR) or the
|
|
consolidated form 02016R0679-20160504. An optional CELEX:
|
|
prefix and lowercase letters are accepted.
|
|
de: |
|
|
CELEX-Nummer des Rechtsakts, z. B. 32016R0679 (DSGVO) oder
|
|
konsolidiert 02016R0679-20160504. Optionales CELEX:-Präfix
|
|
und Kleinbuchstaben werden akzeptiert.
|
|
language:
|
|
type: text
|
|
optional: true
|
|
description:
|
|
en: |
|
|
Two-letter EUR-Lex language code (DE default; EN, FR, …).
|
|
Validated against the 24 official-language codes.
|
|
de: |
|
|
Zwei-Buchstaben-Sprachcode von EUR-Lex (Standard DE; EN,
|
|
FR, …). Wird gegen die 24 Amtssprachen-Codes geprüft.
|
|
|
|
outputs:
|
|
formex:
|
|
type: bytes
|
|
description:
|
|
en: |
|
|
FORMEX-4 XML body as served by EUR-Lex
|
|
(application/xml). Feed into text.akoma-normalize (0.2+)
|
|
for the structured Akoma-Ntoso-aligned representation.
|
|
de: |
|
|
FORMEX-4-XML wie von EUR-Lex geliefert (application/xml).
|
|
Für die strukturierte Akoma-Ntoso-Darstellung an
|
|
text.akoma-normalize (0.2+) weiterreichen.
|
|
meta:
|
|
type: json
|
|
description:
|
|
en: |
|
|
JSON-encoded SourceMeta:
|
|
{
|
|
schema_version: "0.1",
|
|
celex: "32016R0679",
|
|
language: "DE",
|
|
url: "https://eur-lex.europa.eu/legal-content/…",
|
|
source_sha256: "…", // hash of the fetched bytes
|
|
byte_len: 123456,
|
|
consolidation_date: "2016-05-04" // only for 0…-YYYYMMDD CELEX
|
|
}
|
|
source_sha256 is the versioning anchor: the same CELEX can
|
|
legitimately re-render upstream; the hash makes that visible.
|
|
de: |
|
|
JSON-codiertes SourceMeta (Felder s. EN). source_sha256 ist
|
|
der Versionsanker: derselbe CELEX kann upstream neu gerendert
|
|
werden; der Hash macht das sichtbar statt still.
|
|
|
|
# Permissions required.
|
|
#
|
|
# One pinned host: the module talks to the EU Publications Office
|
|
# (CELLAR — the store behind EUR-Lex) and nothing else.
|
|
permissions:
|
|
- "net: publications.europa.eu"
|