Extension manifests
glixo.extension.json describes a packaged extension. Generate the file with glxdev new and validate it with glxdev check rather than starting from an old catalog record.
Main fields
| Field | Purpose |
|---|---|
schemaVersion |
Manifest contract version; the current scaffold uses 2 |
id |
Stable reverse-DNS package identifier |
version |
Extension version |
metadata |
Display name and license |
compatibility |
Host range, profile, and component interface |
components |
Executable component and its artifact |
configurations |
Account configuration schemas |
contributions |
Features exposed by the extension |
permissions.requested |
Access the host must grant before use |
artifacts |
Paths, media types, and digests of built files |
Generated provider example
This example shows the shape of a built provider manifest. Generate your own digests by building your project; copying this example's digests will not validate your files.
{
"$schema": "https://schemas.glixo.dev/extension-manifest/v2.json",
"artifacts": [
{
"digest": "sha256:e54fc965d33a683edb8925d7e5818aeb806263922e59bf013cc27b96ac539c14",
"mediaType": "application/wasm",
"path": "dist/glixo-extension.component.wasm"
}
],
"compatibility": {
"host": ">=0.9.0 <1.0.0",
"profile": "compat",
"witWorld": "glixo:llm/provider-compat@2.0.0"
},
"components": [
{
"artifact": "dist/glixo-extension.component.wasm",
"cell": "server",
"digest": "sha256:e54fc965d33a683edb8925d7e5818aeb806263922e59bf013cc27b96ac539c14",
"id": "provider",
"runtime": "wasm-component",
"world": "glixo:llm/provider-compat@2.0.0"
}
],
"configurations": [
{
"id": "provider-account",
"schema": "schemas/account.json",
"schemaDigest": "sha256:69c384681ae2c7ca7f2f0feba74cf8477dd7ebba33c1722f2ba01907a6fe55b2",
"scope": "account"
}
],
"contributions": {
"llmProviders": [
{
"component": "provider",
"configuration": "provider-account",
"id": "default",
"world": "glixo:llm/provider-compat@2.0.0"
}
]
},
"id": "com.example.provider",
"metadata": {
"license": "MIT",
"name": "Example Provider"
},
"permissions": {
"requested": [
{
"id": "http.client",
"reason": "Call the configured LLM endpoint.",
"scope": {
"hosts": [
"api.example.com"
]
}
}
]
},
"schemaVersion": 2,
"version": "0.1.0"
}
Change a manifest safely
Run glxdev check --project ./my-provider after edits. Rebuild and repack after changing code or configuration schemas. Verify the resulting package directory with glxdev verify --project ./my-provider/dist/package.
The catalog publishing API has its own release envelope, including the certificate and artifact bytes. See Publishing API; do not substitute that envelope for the project manifest.