Files
kiosk/manifest.ts
pastilhasandClaude Opus 5 896694db83 release 2026.08.27.01
first dated version. plugins were all sitting on 1.0.0, which said nothing about
when a build was made or which of two copies is newer — the platform already
uses YYYY.MM.DD.NN and this follows it.

the version lives in manifest.ts because a plugin has no package.json; that is
the field the marketplace publishes and the installer compares.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 07:36:28 +00:00

38 lines
1.7 KiB
TypeScript

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',
},
],
};