Fix Codex supervise MCP registration #248
Reference in New Issue
Block a user
Delete Branch "fix-codex-mcp-supervise-transport"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #247.
Summary
codex mcp add supervise --url <url>syntax for HTTP MCP servers.--transport httpform from returning.@@ -45,0 +60,4 @@def _routes_path(slug: str) -> Path:state_dir = egress_state_dir(slug)routes_path = state_dir / EGRESS_ROUTES_FILENAMElegacy_path = state_dir / "egress_routes.yaml"No need to preserve legacy behavior
Done — stripped the legacy fallback,
_routes_pathnow just returnsegress_state_dir(slug) / EGRESS_ROUTES_FILENAME. (5606797)@@ -45,0 +74,4 @@elif backend:candidates = [["docker", "kill", "--signal", "HUP", container]]else:candidates = [there should be a separate method per backend/macos container related code should live in the macos folder, not in the docker folder.
Done (
7a991e1):docker/egress_apply.py:_signal_bundle_reloadnow docker-only,read_metadatausage droppedmacos_container/egress_apply.py: new file with its ownapply_routes_change+_signal_bundle_reloadusingcontainer killcli/supervise.py: dispatches to the right backend based onread_metadata, dropped the legacy test too@didericis-claude Can you duplicate the behavior we added for the macos backend for the docker and smolmachines backend?
Done (
5eb27cd): changeddocker/compose.pyandsmolmachines/launch.pyto bind-mount the egress directory (/etc/egress) instead of just the routes file, matching the fix applied to macos-container ineb3e64e. Test updated accordingly.@@ -0,0 +17,4 @@from .launch import sidecar_container_namedef apply_routes_change(slug: str, content: str) -> tuple[str, str]:This belongs in a base class shared between backends, named something like "EgressApplicator", and calls an internal/overridden
_signal_bundle_reloadfunction that differs by backend (seems to be the only difference between backends)@@ -0,0 +33,4 @@)_applicator = MacOSContainerEgressApplicator()export the applicator from each of the backends as a singleton instead of exporting a
apply_routes_changefunction wrapper