messagefoundry-webconsole
The web ops console for MessageFoundry — the same-origin browser
dashboard served under /ui (ADR 0065). A separately-versioned second distribution that the engine
mounts in-process, same-origin, via one mount_ui(app, deps) call from create_app's serve_ui
tail (Option B).
It owns the entire /ui surface — page rendering, the confined mf_session cookie auth, the
write-action registry, and every /ui route — and reaches the reused JSON handlers through the typed
UiDeps bundle the engine injects. It imports only fastapi, the leaf-safe messagefoundry.api
surface (security/models/auth_models/validation/_ui_seam), messagefoundry.auth, and the
pure messagefoundry.parsing lib — never pipeline/store/transports/config.
Install
Console 0.3.0 pairs with engine 0.4.0. Install the pair into one environment:
pip install "messagefoundry==0.4.0" "messagefoundry-webconsole==0.3.0"
# or from a checkout, for development:
pip install -e packaging/messagefoundry-webconsole
The distribution name is registered on PyPI and published only by this repository's
release.ymlover PyPI Trusted Publishing (OIDC, no API token), on its ownwebconsole-v*tag. Claiming the name is what forecloses the dependency-confusion substitution an unclaimed name invites (ASVS 15.2.4).
A plain pip install messagefoundry stays byte-identical, because the engine wheel does not contain
the console. The engine turns the console on by default for a loopback bind. With the console
absent, it serves the JSON API only and prints a warning at startup. Setting
[security].serve_web_console = true explicitly without the console makes it refuse to start.
Compatibility
The console pins itself against the engine's ENGINE_UI_SEAM (SUPPORTED_ENGINE_SEAMS +
assert_engine_seam) and supports exactly one seam — the engine build it was released against
(BACKLOG #279). Console 0.3.0 supports seam 75c4117d21fd0b98, which is engine 0.4.0. With the
console on, the engine refuses to start beside any other console. The refusal is UiSeamMismatch
when startup reaches the seam check, and an import error when a mismatched pair fails before it.
This package declares a bare messagefoundry dependency with no version range, so pip does not
stop an unmatched pair. Pin both versions, as above.
Metadata
Release files for messagefoundry-webconsole 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| messagefoundry_webconsole-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / messagefoundry_webconsole-0.3.0-py3-none-any.whl
| Download URL | messagefoundry_webconsole-0.3.0-py3-none-any.whl |
|---|---|
| Size | 260.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac342b952ce2f2baa6ffdd3e25a542ecd7e529d2b63b11cc062a8a328461b3b8
|
|
BLAKE2b-256 checksum How to use checksums |
94d4e6a3a4bd46481791710da4f611107943722a791faabc142945d09882672e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log