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>
38 lines
1.7 KiB
TypeScript
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',
|
|
},
|
|
],
|
|
};
|