Viewer manifest fields
<!-- GENERATED by build/scripts/gen-manifest-reference.py from build/viewer-plugin.schema.json. Do not edit by hand: change the schema, then run the script. -->Generated page. It is built from
build/viewer-plugin.schema.json, the schema thatbuild/scripts/validate-viewer-plugin.pychecks every manifest against.SPEC.mdsection 2 is the normative text; where they differ,SPEC.mdwins.
Manifest for a Poka viewer plugin (SPEC.md, interface version 1).
Fields
| Field | Type | Required | Constraints | Meaning |
|---|---|---|---|---|
id |
string | yes | pattern ^poka-[a-z0-9]+(-viewer|-viewer-[a-z0-9]+)?$|^[a-z0-9]+(-[a-z0-9]+)*-viewer$ |
Unique plugin id. Canonical form: poka-<name>-viewer. |
name |
string | yes | min length 1 | Human-readable name, e.g. "Table Viewer". |
version |
string | yes | pattern ^[0-9]+\.[0-9]+\.[0-9]+$ |
SemVer. |
kind |
"viewer" |
yes | Must mark this as a viewer, never a parser. | |
role |
"viewer" |
yes | What the hosts read (extension_manifest.rs::is_viewer, gen_formats_json.py). Must agree with kind. | |
file_extension |
"" |
yes | Always empty: a viewer follows a parser. The host routes any manifest with a file_extension as a parser. | |
abi |
integer | no | min 1 | Runtime ABI version this plugin targets. |
tags |
array of strings | no | unique items | Free-form labels, e.g. ["text", "diff"]. |
wasm |
object | yes | The compiled WASI command module and its sandbox caps. | |
wasm.path |
string | yes | min length 1 | Wasm file name, co-located with plugin.json: a bare *.wasm name, no directory (checked by validate-viewer-plugin.py). |
wasm.sha256 |
string | no | pattern ^([a-f0-9]{64})?$ |
Optional content hash of the wasm; the host verifies it when present. Written by install-extensions.py --stamp-hashes. |
wasm.size |
integer | no | min 0 | Optional wasm size in bytes. |
wasm.memory_mb |
integer | no | min 1; max 1024 | Sandbox memory cap in MB; the host has a default when absent. A module that exceeds it is killed and reported. |
wasm.max_time_ms |
integer | no | min 1 | Wall-clock cap for one render in milliseconds; the host has a default when absent. A module that exceeds it is killed and reported. |