Ex4pm.Engine.Beam4pm (ex4pm v26.9.9)

Copy Markdown View Source

Zero-config beam4pm engine candidate: connects to beam4pm as a generic Ash JSON:API client. "Zero config" means the ROUTE TABLE below is entirely admitted-ontology data (priv/ontology/ex4pm.ttl's ex4pmb:AdmittedBeam4pmService graph) -- adding a new operation this engine can reach is a new ontology individual plus mix ex4pm.ggen.sync, never new hand-written dispatch code. See docs/EX4PM-THINNING-BEAM4PM-ENRICHMENT.md for the full migration this serves.

Configure with beam4pm_base_url: "http://host:port" in opts (or Application.put_env(:ex4pm, :beam4pm_base_url, ...)). No per-operation configuration is needed or accepted -- the route table is fixed at generation time from the ontology.

Admitted operations this engine currently supports:

* `:beam4pm_conformance_results` -> `GET /conformance_result` (action `read`)
  • :beam4pm_ocel_events -> GET /ocel_event (action read)

Honest status

As of this generation, beam4pm does not yet mount a live AshJsonApi router (see the ex4pmb: prefix comment in priv/ontology/ex4pm.ttl for the exact verification). This module's HTTP mechanics are real and tested against a real local JSON:API-shaped server (test/engine_beam4pm_test.exs); connecting it to a real beam4pm instance is gated on that separate, disclosed prerequisite.