Lumen Agent — Safari extension build (F1499)
=============================================

Safari does not load a raw .zip the way Chrome/Firefox do. A Safari Web
Extension must be wrapped in a macOS/iOS app bundle and signed with an Apple
Developer certificate. Apple ships a one-command converter for exactly this.

The folder this README sits in (extension_safari/) is a complete, valid
WebExtension. To produce a Safari extension:

  1. On a Mac with Xcode installed, run:

       xcrun safari-web-extension-converter /path/to/extension_safari \
           --app-name "Lumen Agent" \
           --bundle-identifier com.eliteaiempire.lumen-agent \
           --no-open

  2. Xcode opens a generated project. Build & run the macOS target.
  3. In Safari: Settings -> Extensions -> enable "Lumen Agent".
     (Enable "Allow Unsigned Extensions" in the Develop menu for local test,
      or sign with an Apple Developer ID for distribution.)

  4. To ship on the Mac App Store / for iOS Safari, archive the app target
     and submit through App Store Connect.

The extension CODE is identical across Chromium, Firefox and Safari — the
combined background.js carries a polyfill that aliases `browser` <-> `chrome`,
and the polling loop uses a self-rescheduling setTimeout (not chrome.alarms'
sub-minute path, which Firefox rejects), so one code file runs everywhere.

NEEDS_ISKRA for Safari distribution: an Apple Developer Program membership
($99/yr) + a Mac with Xcode to run the converter and sign the bundle.
Until then, the headless server-mode browser path (mode=server) already
gives every Safari user full browser automation with zero install.
