Skip to main content

Interface: ExtensionInitPayload

Defined in: Extensions/IExtensionRuntime.ts:26

Init payload sent by the host to the worker on spawn (init RPC).

Spec A §"Capability negotiation".

Properties

grantedPermissions

grantedPermissions: ExtensionPermission[]

Defined in: Extensions/IExtensionRuntime.ts:44

Permissions the user approved at install time, post-revocation.


hostApiVersion

hostApiVersion: string

Defined in: Extensions/IExtensionRuntime.ts:46

EXTENSION_API_VERSION the host is currently serving.


hostFeatures

hostFeatures: string[]

Defined in: Extensions/IExtensionRuntime.ts:59

Optional capability flags. The worker can branch on these without parsing the host's marketing version. Example: ['ai.providerUi', 'webview.csp.relaxed'].


hostMinSupportedApiVersion

hostMinSupportedApiVersion: string

Defined in: Extensions/IExtensionRuntime.ts:51

Oldest major API version the host still loads. Lets the worker pick a compatibility branch when it pins to a non-current major.


installPath

installPath: string

Defined in: Extensions/IExtensionRuntime.ts:42

Absolute path to the directory the extension is installed in.

manifest.main is required by ExtensionManifestValidator to be a package-relative path ("./main.js"), so the worker cannot load it without knowing what to resolve it against — the runtime bundle lives in a completely different directory (out/main/extension-runtime/), and a bare relative specifier resolves against that. The host therefore has to ship the install directory alongside the manifest.

The worker resolves + containment-checks the entry point against this path (see extension-runtime/resolveEntry.ts); a main that escapes the install directory is rejected rather than loaded.


locale

locale: string

Defined in: Extensions/IExtensionRuntime.ts:53

Initial locale the worker should use for IL10nApi.


manifest

manifest: ExtensionManifest

Defined in: Extensions/IExtensionRuntime.ts:27