messagefoundry-webconsole 0.2.15__py3-none-any.whl
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.
- messagefoundry_webconsole/__init__.py +128 -0
- messagefoundry_webconsole/_auth.py +841 -0
- messagefoundry_webconsole/_html.py +539 -0
- messagefoundry_webconsole/_security.py +253 -0
- messagefoundry_webconsole/_service.py +22 -0
- messagefoundry_webconsole/_static.py +78 -0
- messagefoundry_webconsole/mount.py +103 -0
- messagefoundry_webconsole/pages/__init__.py +25 -0
- messagefoundry_webconsole/pages/_common.py +21 -0
- messagefoundry_webconsole/pages/account.py +771 -0
- messagefoundry_webconsole/pages/admin.py +480 -0
- messagefoundry_webconsole/pages/audit.py +66 -0
- messagefoundry_webconsole/pages/config.py +113 -0
- messagefoundry_webconsole/pages/connections.py +519 -0
- messagefoundry_webconsole/pages/messages.py +689 -0
- messagefoundry_webconsole/pages/monitoring.py +853 -0
- messagefoundry_webconsole/pages/uploaded_logs.py +252 -0
- messagefoundry_webconsole/routes/__init__.py +6 -0
- messagefoundry_webconsole/routes/_common.py +45 -0
- messagefoundry_webconsole/routes/account.py +451 -0
- messagefoundry_webconsole/routes/admin.py +505 -0
- messagefoundry_webconsole/routes/audit.py +39 -0
- messagefoundry_webconsole/routes/config.py +67 -0
- messagefoundry_webconsole/routes/connection_writes.py +248 -0
- messagefoundry_webconsole/routes/core.py +1077 -0
- messagefoundry_webconsole/routes/monitoring.py +94 -0
- messagefoundry_webconsole/routes/monitoring_writes.py +205 -0
- messagefoundry_webconsole/routes/oidc.py +172 -0
- messagefoundry_webconsole/routes/search.py +204 -0
- messagefoundry_webconsole/routes/sso.py +88 -0
- messagefoundry_webconsole/routes/status.py +178 -0
- messagefoundry_webconsole/routes/uploaded_logs.py +181 -0
- messagefoundry_webconsole/static/app.css +345 -0
- messagefoundry_webconsole/static/app.js +1506 -0
- messagefoundry_webconsole/static/csp-probe.js +9 -0
- messagefoundry_webconsole-0.2.15.dist-info/METADATA +63 -0
- messagefoundry_webconsole-0.2.15.dist-info/RECORD +40 -0
- messagefoundry_webconsole-0.2.15.dist-info/WHEEL +4 -0
- messagefoundry_webconsole-0.2.15.dist-info/licenses/LICENSE +662 -0
- messagefoundry_webconsole-0.2.15.dist-info/licenses/NOTICE +31 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
2
|
+
// CSP-ENFORCEMENT CANARY (ASVS 3.7.5). Loaded by the /ui page shell as an UN-NONCED <script src>
|
|
3
|
+
// whenever a per-response nonce CSP is bound. Under `script-src 'nonce-…' 'strict-dynamic'` a browser
|
|
4
|
+
// that ENFORCES the policy refuses this parser-inserted, un-nonced script before it is even fetched —
|
|
5
|
+
// so the global below stays undefined. A browser that does NOT enforce CSP fetches and runs it, and
|
|
6
|
+
// the nonce'd detect script in the shell then sees the global and raises the visible
|
|
7
|
+
// "hardening degraded" banner. It is therefore a TRUE enforcement detect: the flag can only be set
|
|
8
|
+
// when the policy is not being applied. Deliberately inert — one boolean, no DOM, no network, no PHI.
|
|
9
|
+
window.__mfCspProbe = true;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: messagefoundry-webconsole
|
|
3
|
+
Version: 0.2.15
|
|
4
|
+
Summary: Web ops console for MessageFoundry — the same-origin browser dashboard mounted onto the engine (ADR 0065)
|
|
5
|
+
Project-URL: Homepage, https://messagefoundry.org/
|
|
6
|
+
Project-URL: Source, https://github.com/MEFORORG/MessageFoundry
|
|
7
|
+
Project-URL: Issues, https://github.com/MEFORORG/MessageFoundry/issues
|
|
8
|
+
Author: MessageFoundry Organization and contributors
|
|
9
|
+
License-Expression: AGPL-3.0-or-later
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
License-File: NOTICE
|
|
12
|
+
Keywords: dashboard,fastapi,healthcare,hl7,integration,web-console
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Environment :: Web Environment
|
|
15
|
+
Classifier: Intended Audience :: Healthcare Industry
|
|
16
|
+
Classifier: Intended Audience :: System Administrators
|
|
17
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
18
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
19
|
+
Classifier: Programming Language :: Python :: 3
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
21
|
+
Classifier: Topic :: Communications
|
|
22
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
|
|
23
|
+
Requires-Python: >=3.14
|
|
24
|
+
Requires-Dist: messagefoundry
|
|
25
|
+
Provides-Extra: dev
|
|
26
|
+
Requires-Dist: messagefoundry[dev]; extra == 'dev'
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
|
|
29
|
+
<!-- SPDX-License-Identifier: AGPL-3.0-or-later -->
|
|
30
|
+
|
|
31
|
+
# messagefoundry-webconsole
|
|
32
|
+
|
|
33
|
+
The **web ops console** for [MessageFoundry](https://messagefoundry.org/) — the same-origin browser
|
|
34
|
+
dashboard served under `/ui` (ADR 0065). A separately-versioned second distribution that the engine
|
|
35
|
+
**mounts in-process, same-origin**, via one `mount_ui(app, deps)` call from `create_app`'s `serve_ui`
|
|
36
|
+
tail (Option B).
|
|
37
|
+
|
|
38
|
+
It owns the entire `/ui` surface — page rendering, the confined `mf_session` cookie auth, the
|
|
39
|
+
write-action registry, and every `/ui` route — and reaches the reused JSON handlers through the typed
|
|
40
|
+
`UiDeps` bundle the engine injects. It imports only `fastapi`, the leaf-safe `messagefoundry.api`
|
|
41
|
+
surface (`security`/`models`/`auth_models`/`_ui_seam`), `messagefoundry.auth`, and the pure
|
|
42
|
+
`messagefoundry.parsing` lib — never `pipeline`/`store`/`transports`/`config`.
|
|
43
|
+
|
|
44
|
+
## Install
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
pip install -e packaging/messagefoundry-webconsole # from the source tree, alongside the engine
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
> **Not on PyPI yet.** This distribution has never been published, so its name is **unclaimed**.
|
|
51
|
+
> Installing it by bare name from an index would resolve whatever a third party has uploaded under
|
|
52
|
+
> that name — and an sdist executes its build backend during `pip install`, before any engine process
|
|
53
|
+
> exists. Install from the source tree until the name is registered (ASVS 15.2.4).
|
|
54
|
+
|
|
55
|
+
A plain `pip install messagefoundry` stays byte-identical: with the console absent and `serve_ui`
|
|
56
|
+
default-off, the JSON API is unchanged; `serve_ui=true` without the console fails LOUD at startup.
|
|
57
|
+
|
|
58
|
+
## Compatibility
|
|
59
|
+
|
|
60
|
+
The console pins itself against the engine's `ENGINE_UI_SEAM` (`SUPPORTED_ENGINE_SEAMS` +
|
|
61
|
+
`assert_engine_seam`) and supports **exactly one** seam — the engine build it was released against
|
|
62
|
+
(BACKLOG #279). Any other engine/console pair is refused at startup with a clear `UiSeamMismatch`
|
|
63
|
+
rather than failing later inside a page render.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
messagefoundry_webconsole/__init__.py,sha256=UsF6p6AE0g1h_AqvKIVqT8NoHoR9OvHqI2iBfJ4yteY,5906
|
|
2
|
+
messagefoundry_webconsole/_auth.py,sha256=meGiB32dJsIbEI0LVr5ZSOdMPFIHHqTfWZFNzktaLvY,47193
|
|
3
|
+
messagefoundry_webconsole/_html.py,sha256=kskn98mavnolBatuwfgqzFCIdEHIpy3laqIdQs88XTc,29848
|
|
4
|
+
messagefoundry_webconsole/_security.py,sha256=OVzTfbw8hSssGtuKXyzYpgIJ0RTSJtqfn19tINAvxNE,18111
|
|
5
|
+
messagefoundry_webconsole/_service.py,sha256=5DjBUAtOZCOv8fw-tEgYZZF_colQhsdJHzFgcGGDp9s,868
|
|
6
|
+
messagefoundry_webconsole/_static.py,sha256=OKAU1SQ-1hN5KWqfzxmNf3PYrfRnrkFKajKuVH1qsF8,4315
|
|
7
|
+
messagefoundry_webconsole/mount.py,sha256=Jkn7XhsLTZdaIKl5185hBPrm9wcgablf6dDLuL9ePRU,5101
|
|
8
|
+
messagefoundry_webconsole/pages/__init__.py,sha256=FENRGyI_S7hYjxv2c0FSkc6em5qlIriwlWiFwd-cvbo,1313
|
|
9
|
+
messagefoundry_webconsole/pages/_common.py,sha256=v2hXG9E1-tlDf8_MkIUoSdVQSfu5qM2XcY-l_o3km94,730
|
|
10
|
+
messagefoundry_webconsole/pages/account.py,sha256=F9aOmcDhXs2EQBSnppsVRwtBLdFDJ3JuaXuHIHWRc6w,28841
|
|
11
|
+
messagefoundry_webconsole/pages/admin.py,sha256=ViTH1z9zX4RVkPiu49eRZNODTn0n-45smqE4103zgew,16529
|
|
12
|
+
messagefoundry_webconsole/pages/audit.py,sha256=ogpXErwXXIOZaVG8io0DWEZBl3xKA4UhGJRHCWMRUjA,2603
|
|
13
|
+
messagefoundry_webconsole/pages/config.py,sha256=dqfmhJAL6dsK8dBr7f78sBZoAE64B4tFqNUPj5g35Q8,4357
|
|
14
|
+
messagefoundry_webconsole/pages/connections.py,sha256=NXwj95YG3CY_ZX_Ci7Xb2U6f0tpT67tCwtEchZ9Q96Y,21427
|
|
15
|
+
messagefoundry_webconsole/pages/messages.py,sha256=QQmz79wm5m7UMNGdUG2-rjAwiKibNnLOqrT_Sgel8E8,25210
|
|
16
|
+
messagefoundry_webconsole/pages/monitoring.py,sha256=DgL6_qSx3RWsF-kRt_RoFKhEDOmXDV1_QDx8A5QzkhY,33182
|
|
17
|
+
messagefoundry_webconsole/pages/uploaded_logs.py,sha256=ab-vw_VzR90j2eiCSdxfqPmtu8UgppqKFkcMxZWqOZ0,9161
|
|
18
|
+
messagefoundry_webconsole/routes/__init__.py,sha256=eBlRtAF4UmeA3sF7zy_rGVHyG7GDygOrJfo9EaGP7QM,503
|
|
19
|
+
messagefoundry_webconsole/routes/_common.py,sha256=7Im-7xseECz4DCZtTqqHqI2T8VLHGqN2slrcTnFMQek,2538
|
|
20
|
+
messagefoundry_webconsole/routes/account.py,sha256=vCQY-ghauSj07znaxW_Lu4lhYNmyoBZHzKvkLEdtGOw,21562
|
|
21
|
+
messagefoundry_webconsole/routes/admin.py,sha256=5Hfb5cOzEDPIh7Jv7BfF091yCRpT_dwZL7I1X4xzGOQ,22520
|
|
22
|
+
messagefoundry_webconsole/routes/audit.py,sha256=iBO9DzmEQ5d0HfBzCkZqKEw2vB7I3nVLua8YuRy7c5o,1414
|
|
23
|
+
messagefoundry_webconsole/routes/config.py,sha256=fbPk55-p0DiTxQuf5NleRJC_Pf4GwechO7qsftKPJDE,2685
|
|
24
|
+
messagefoundry_webconsole/routes/connection_writes.py,sha256=4df--t44fxy6VkByng7-2rNg--njIVb1CNubwTi1Ycc,12310
|
|
25
|
+
messagefoundry_webconsole/routes/core.py,sha256=B8rHAsIFVS7HgDA9jchULkqIzTPjepjZ2lyMDMcLZFY,59084
|
|
26
|
+
messagefoundry_webconsole/routes/monitoring.py,sha256=R56OiNMrdod4ohPzZueO4kVZQO54EugEpGv7pP469gc,4570
|
|
27
|
+
messagefoundry_webconsole/routes/monitoring_writes.py,sha256=IqYbhTRdoTpDStSPtICRptNFTC9BhXvGux_2wRpFlQ8,9112
|
|
28
|
+
messagefoundry_webconsole/routes/oidc.py,sha256=RxQghhtSxbt1NRthN1jjLXaoUD1L6_iyc_kKbRszLiU,9430
|
|
29
|
+
messagefoundry_webconsole/routes/search.py,sha256=5amHQ2VDNFvnMzhmAfoo8dDY2kCyvqZNdHgWTt2agEA,9284
|
|
30
|
+
messagefoundry_webconsole/routes/sso.py,sha256=YmMBZ1zKgGEOZfQ_oAxFU1tZo1XX4bHotE9xQ8rn0Zw,5072
|
|
31
|
+
messagefoundry_webconsole/routes/status.py,sha256=wN1s0_DZ5uNxHP8A_3n9U_ky8tW0ujzG5Yr0V4hGPhI,8635
|
|
32
|
+
messagefoundry_webconsole/routes/uploaded_logs.py,sha256=h8iA-LXNE6VSg_otn_5iZVFOoKrLxPa4rejM7csDbeo,8333
|
|
33
|
+
messagefoundry_webconsole/static/app.css,sha256=H67GGdeyYC7W3D8MD5QNPHXcYbFoISCfmyUy_g2X7JA,18201
|
|
34
|
+
messagefoundry_webconsole/static/app.js,sha256=8sU-ObbyI2az4SGxNnJpZpTHf69nzywjWFarKot1dpI,70812
|
|
35
|
+
messagefoundry_webconsole/static/csp-probe.js,sha256=AlIvm7KaGYff1b2O2CDAVmQFSkB-37urzTEAVS4JHbo,774
|
|
36
|
+
messagefoundry_webconsole-0.2.15.dist-info/METADATA,sha256=J7FPJhmsGPnFJd-PVUdOzREmYgbA2WopGasvVeXjmiI,3167
|
|
37
|
+
messagefoundry_webconsole-0.2.15.dist-info/WHEEL,sha256=lCkmxWfQsSc9CfIClYeavTdQeEX2toPqufh9gI35EQA,87
|
|
38
|
+
messagefoundry_webconsole-0.2.15.dist-info/licenses/LICENSE,sha256=jVa0BUaKrRH4erV2P5AeJ24I2WRv9chIGxditreJ6e0,34524
|
|
39
|
+
messagefoundry_webconsole-0.2.15.dist-info/licenses/NOTICE,sha256=x5Qlg0danKiYRSQeTG4kyZZhMULRgvYqNBEnZdqlWGk,1793
|
|
40
|
+
messagefoundry_webconsole-0.2.15.dist-info/RECORD,,
|