ObjectStackObjectStack

Misc

Misc protocol schemas

TypeScript Usage

import { CapabilityDeclarationSchema, TenancyPostureSchema } from '@objectstack/spec/security';
import type { CapabilityDeclaration, TenancyPosture } from '@objectstack/spec/security';

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

CapabilityDeclaration

Properties

PropertyTypeRequiredDescription
namestringStable capability key referenced by systemPermissions / requiredPermissions
labelstringoptionalHuman label shown in Setup
descriptionstringoptionalWhat holding this capability permits
scopeEnum<'platform' | 'org'>optional (default: "platform")platform = a platform-wide power; org = scoped to an organization
packageIdstringoptional[ADR-0086 D3] Owning package id (author-declared fallback; absent = registry-stamped)
_lockEnum<'none' | 'no-overlay' | 'no-delete' | 'full'>optionalItem-level lock — controls overlay & delete (ADR-0010).
_lockReasonstringoptionalHuman-readable reason shown when a write is refused by _lock.
_lockSourceEnum<'artifact' | 'package' | 'env-forced'>optionalLayer that set _lock (artifact | package | env-forced).
_provenanceEnum<'package' | 'org' | 'env-forced'>optionalOrigin of the item (package | org | env-forced).
_packageIdstringoptionalOwning package machine id.
_packageVersionstringoptionalOwning package version.
_lockDocsUrlstringoptionalOptional documentation link surfaced next to _lockReason.

TenancyPosture

Allowed Values

  • single
  • group
  • isolated

On this page