ObjectStackObjectStack

Manifest

Manifest protocol schemas

Structured permission grants requested by a plugin (ADR-0025 §3.2).

Each list scopes one capability surface the plugin may touch. The

install-time consent flow (ADR §3.5 step 2) turns this declaration into

the persisted granted_permissions set enforced at load by the

PluginPermissionEnforcer.

@example


\{ "services": ["object", "http"], "hooks": ["record.beforeInsert"],

"network": ["api.acme.com"], "fs": [] \}

Source: packages/spec/src/kernel/manifest.zod.ts

TypeScript Usage

import { ManifestPermissions, PluginEngines, PluginIntegrity, PluginPackaging, PluginPermissions, PluginRuntime } from '@objectstack/spec/kernel';
import type { ManifestPermissions, PluginEngines, PluginIntegrity, PluginPackaging, PluginPermissions, PluginRuntime } from '@objectstack/spec/kernel';

// Validate data
const result = ManifestPermissions.parse(data);

ManifestPermissions

Union Options

This schema accepts one of the following structures:

Option 1

Type: string[]


Option 2

Structured plugin permission grants (ADR-0025 §3.2)

Properties

PropertyTypeRequiredDescription
servicesstring[]optionalPlatform services the plugin may resolve (e.g. "object", "http")
hooksstring[]optionalLifecycle hooks the plugin may register (e.g. "record.beforeInsert")
networkstring[]optionalNetwork hosts the plugin may reach (e.g. "api.acme.com")
fsstring[]optionalFilesystem paths the plugin may access


PluginEngines

Plugin compatibility ranges (ADR-0025 §3.2)

Properties

PropertyTypeRequiredDescription
platformstringoptionalObjectStack platform release range (SemVer, e.g. ">=4.0 <5")
protocolstringoptionalRuntime/metadata protocol range, checked first (ADR §3.10 #3)


PluginPackaging

Dependency packaging strategy (ADR-0025 §3.3)

Allowed Values

  • bundled
  • manifest-deps

PluginPermissions

Structured plugin permission grants (ADR-0025 §3.2)

Properties

PropertyTypeRequiredDescription
servicesstring[]optionalPlatform services the plugin may resolve (e.g. "object", "http")
hooksstring[]optionalLifecycle hooks the plugin may register (e.g. "record.beforeInsert")
networkstring[]optionalNetwork hosts the plugin may reach (e.g. "api.acme.com")
fsstring[]optionalFilesystem paths the plugin may access

PluginRuntime

Plugin trust tier (ADR-0025 §3.6)

Allowed Values

  • node
  • sandbox
  • worker

On this page