Files
zeekay ec17c308ce chore: initial — hanzo-zap-mdns package
Unified mDNS auto-discovery for ZAP services across hanzo / lux / zoo /
osage.

  mdns/
    pyproject.toml                  hanzo-zap-mdns 0.1.0 (zeroconf dep)
    src/hanzo_zap_mdns/
      __init__.py                   publish() / browse() / ZapService
      omni.py                       roles: mcp / browser / host / gateway
      __main__.py                   `hanzo-zap-mdns browse` CLI
    ext/                            native-messaging helper for browser exts
      helper.py                     stdio host doing publish/browse for
                                    chrome/firefox/safari extensions
      native-messaging-host.json    manifest fragment

Service: `_hanzo-zap._tcp.local.` with TXT keys server_id, agent_label,
version, capabilities, proto. Replaces the brittle [9999..9995] port
probe + lockfile registry the extension was using through 1.9.x.

`pip install -e ~/work/zap/mdns` and the python ZAP server publishes
itself automatically (zap_server.py wired in @hanzo/python-sdk).
2026-05-15 12:18:03 -07:00

22 lines
588 B
Python

"""@hanzo/zap-mdns — unified network discovery for ZAP services.
Exports:
publish(...) — advertise a ZAP service (any role)
browse(...) — list live services on the LAN
Roles (TXT key `role`):
mcp — model context protocol server
browser — browser extension/automation endpoint
host — generic host service (omnihost)
gateway — request gateway / reverse proxy
"""
from .zap_mdns import (
publish,
browse,
ZapService,
SERVICE_TYPE,
)
__all__ = ["publish", "browse", "ZapService", "SERVICE_TYPE"]