Skip to main content

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.