feat: law-source-eurlex 0.1.0 (source.eu-recht)
All checks were successful
CI / Linux x86_64 (Forgejo) (push) Successful in 1m45s
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>
This commit is contained in:
commit
0e768ae6db
16 changed files with 1726 additions and 0 deletions
48
Cargo.toml
Normal file
48
Cargo.toml
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# Standalone Cargo.toml — targets wasm32-wasip2.
|
||||
#
|
||||
# Build with:
|
||||
# cargo build --release --target wasm32-wasip2
|
||||
|
||||
[package]
|
||||
name = "law_source_eurlex"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
authors = ["Dr. Stefan Flemming <chain@flemming.ai>"]
|
||||
license = "Apache-2.0"
|
||||
publish = false
|
||||
description = "F∆I module — fetch EU legal acts from EUR-Lex by CELEX number (FORMEX-4 XML, content-addressed)"
|
||||
repository = "https://git.flemming.ai/chain-modules/law-source-eurlex"
|
||||
rust-version = "1.85"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib", "rlib"]
|
||||
|
||||
[dependencies]
|
||||
chain-module-sdk = { git = "https://git.flemming.ai/fai/chain-module-sdk-rust.git", tag = "v0.3.0" }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
sha2 = "0.10"
|
||||
|
||||
# WASI-0.2 HTTP client — same one http-request / llm-chat use.
|
||||
# Only compiled into the wasm32-wasip2 build.
|
||||
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
||||
waki = "0.5"
|
||||
|
||||
[profile.release]
|
||||
opt-level = "s"
|
||||
lto = true
|
||||
codegen-units = 1
|
||||
strip = "symbols"
|
||||
|
||||
[lints.rust]
|
||||
unsafe_op_in_unsafe_fn = "warn"
|
||||
|
||||
[lints.clippy]
|
||||
unwrap_used = "deny"
|
||||
expect_used = "deny"
|
||||
panic = "deny"
|
||||
print_stdout = "deny"
|
||||
print_stderr = "deny"
|
||||
|
||||
[workspace]
|
||||
# Empty workspace table so this package is NOT picked up by a parent.
|
||||
Loading…
Add table
Add a link
Reference in a new issue