import type { PluginManifest } from '@@/plugins/manifest'; // Officer Kiosk — build, sign and deliver iOS and Android apps to your own registered devices. // What EAS does, self-hosted. // // Ported from the standalone Bun/Hono service that was called OAS, whose access control was an invite key // held in a browser's local storage. The rule we actually want is "the people already registered on the // platform", which is the thing the platform already knows how to enforce — so the key stops being // something a person holds and becomes something an account has. // // `appName` is the directory name: `kiosk`. export const manifest: PluginManifest = { publisher: 'officerdev', version: '2026.08.27.01', platform: '>=1.0.0', label: 'Kiosk', summary: 'Build, sign and install iOS and Android apps on your own devices', /** building and signing your own apps. */ tags: ['Development'], // A lucide glyph until the real artwork lands. Kiosk already has an icon and a splash screen drawn — // drop the icon at `assets/icon.png` (served as `/plugins/kiosk/icon.png`) and the tile renders the // artwork instead, with `tile: 'bare'` in the catalogue entry so nothing paints a square behind it. icon: 'Smartphone', color: '#a78bfa', // One permission over the whole surface, which is also all the platform offers: the first entry // claims the plugin's entire route surface. Owner-only actions (publishing, retention, other people's // devices) are enforced inside the router with `isSuperAdmin`, not by a second permission. permissions: [ { key: 'kiosk', label: 'App install', description: 'Install Officer apps on your own devices', }, ], };