# EZ-Input Super Powers — Browser Extension

A Chrome/Firefox Manifest V3 extension for the EZ-Input ecosystem. It monitors the status of Admin Panel, MobileLite, and all ZenMirage services (Journey, Rituals, DAO, CPU, GPU, LTM) and provides one-click quick actions to open each one.

## Files

| File | Purpose |
|------|---------|
| `manifest.json` | Manifest V3 definition for Chrome and Firefox. |
| `popup.html` | Extension popup markup. |
| `popup.css` | Dark/gold/cyan EZ-Input styling. |
| `popup.js` | Service health checks, quick actions, and settings persistence. |
| `background.js` | Service worker that updates the toolbar badge status. |
| `icons/` | Extension icons generated from the MobileLite favicon (16/32/48/128 px). |

## Install in Chrome

1. Open `chrome://extensions/`.
2. Enable **Developer mode** (toggle in the top right).
3. Click **Load unpacked**.
4. Select this folder (`/root/ez-input-plugins/browser-extension`).
5. The EZ-Input icon appears in your toolbar. Click it to view status and launch services.

## Install in Firefox

1. Open `about:debugging#/runtime/this-firefox`.
2. Click **Load Temporary Add-on…**.
3. Select `manifest.json` inside this folder.
4. The extension loads temporarily and is ready to use.

## Usage

- Click the EZ-Input toolbar icon to open the popup.
- Set your **Base URL** (default: `https://ez-input.com`; use `http://localhost:8083` for the local Docker staging stack).
- Click any **Quick Action** button to open a service in a new tab.
- Click **↻** to refresh service status.

## Service mapping

| Service | Checked path |
|---------|--------------|
| Admin Panel | `/admin-panel/static/index.html` |
| MobileLite | `/MobileLite/frontend/` |
| ZenMirage Journey | `/api/journey/health` |
| ZenMirage Rituals | `/api/rituals/health` |
| ZenMirage DAO | `/api/dao/health` |
| CPU Master 11 | `/api/cpu/health` |
| GPU Master 22 | `/api/gpu/health` |
| LTM Master 33 | `/api/ltm/health` |

## Notes

- The popup uses `fetch` with a 5-second timeout, so it works both online and against local staging.
- Health endpoints are expected to return JSON with `status: "ok"` or `status: "healthy"`.
- Static services are considered online when they return HTTP 200.
