PluginManifest
Defined in: core.ts:350
Plugin manifest shape — corresponds to the plugin.json file
that every plugin must include.
Properties
Section titled “Properties”id:
string
Defined in: core.ts:352
Unique reverse-domain plugin identifier (e.g., “com.example.my-plugin”).
name:
string
Defined in: core.ts:354
Human-readable plugin name.
version
Section titled “version”version:
string
Defined in: core.ts:356
Semantic version string.
runtime
Section titled “runtime”runtime:
"javascript"|"core-swift"
Defined in: core.ts:361
Runtime engine. Third-party plugins use “javascript”; “core-swift” is reserved for host-bundled core plugins.
entrypoint?
Section titled “entrypoint?”
optionalentrypoint?:string
Defined in: core.ts:366
Path to the main entry file relative to the plugin root. Required for “javascript” runtime; absent for “core-swift” plugins.
minHostVersion?
Section titled “minHostVersion?”
optionalminHostVersion?:string
Defined in: core.ts:368
Minimum host version required (semver). Host launch baseline is 1.0.0.
author?
Section titled “author?”
optionalauthor?:string
Defined in: core.ts:370
Plugin author name or organization.
description?
Section titled “description?”
optionaldescription?:string
Defined in: core.ts:372
Short description of the plugin.
license?
Section titled “license?”
optionallicense?:string
Defined in: core.ts:374
SPDX license identifier.
repository?
Section titled “repository?”
optionalrepository?:string
Defined in: core.ts:376
Repository URL.
activation?
Section titled “activation?”
optionalactivation?:object
Defined in: core.ts:378
Activation events that trigger plugin loading.
events
Section titled “events”events:
"onStartup"[]
permissions?
Section titled “permissions?”
optionalpermissions?:ManifestPermission[]
Defined in: core.ts:384
Permission scopes requested by the plugin. Each entry is either a bare
scope string or a { scope, reason } object (reason ≤ 120 chars, shown
in the approval sheet).
capabilities?
Section titled “capabilities?”
optionalcapabilities?:Record<string,AnyJSONValue>
Defined in: core.ts:386
Dynamic capabilities dictionary.
extensionPoints?
Section titled “extensionPoints?”
optionalextensionPoints?:AnyJSONValue[]
Defined in: core.ts:388
Extension points declared by this plugin.
dataContracts?
Section titled “dataContracts?”
optionaldataContracts?:AnyJSONValue[]
Defined in: core.ts:390
Data contracts declared by this plugin.
extensions?
Section titled “extensions?”
optionalextensions?:PluginExtensionContribution[]
Defined in: core.ts:395
Extension contributions (fn-12 typed array) — the manifest-declarative tier for core-plugin extension points. See PluginExtensionContribution.
shortcuts?
Section titled “shortcuts?”
optionalshortcuts?:ManifestShortcut[]
Defined in: core.ts:397
Manifest-declared keyboard shortcuts, auto-registered at activation.
scope?
Section titled “scope?”
optionalscope?:"window"|"app"
Defined in: core.ts:402
Plugin scope: “window” (per-window instance) or “app” (single shared instance, default). Core-swift plugins always behave as “app”.
isolation?
Section titled “isolation?”
optionalisolation?:"jscontext"|"xpc"
Defined in: core.ts:407
Isolation mechanism: “jscontext” (in-process, default) or “xpc” (reserved for future sandboxed XPC isolation; parsed but not enforced).
shellCommands?
Section titled “shellCommands?”
optionalshellCommands?:string[]
Defined in: core.ts:409
Shell commands the plugin is allowed to execute.
allowedShellCommands?
Section titled “allowedShellCommands?”
optionalallowedShellCommands?:string[]
Defined in: core.ts:414
Allowed shell commands for core-plugin shellExecute enforcement
(core-swift only). Absent/empty = deny-all.
shellDeniedPatterns?
Section titled “shellDeniedPatterns?”
optionalshellDeniedPatterns?:string[]
Defined in: core.ts:416
Regex patterns for denied shell commands (fn-46). Evaluated before allowlist.
networkDomains?
Section titled “networkDomains?”
optionalnetworkDomains?:string[]
Defined in: core.ts:418
Network domains the plugin is allowed to access.
dependencies?
Section titled “dependencies?”
optionaldependencies?:PluginDependencies
Defined in: core.ts:420
System and plugin dependencies (fn-50).
settings?
Section titled “settings?”
optionalsettings?:SettingDefinition[]
Defined in: core.ts:422
User-configurable settings declared by the plugin.
oauth?
Section titled “oauth?”
optionaloauth?:object
Defined in: core.ts:424
OAuth provider declarations for the plugin.
providers
Section titled “providers”providers:
OAuthProviderDeclaration[]
menubar?
Section titled “menubar?”
optionalmenubar?:object
Defined in: core.ts:426
Menu bar status item configuration (fn-41).
icon:
string
label?
Section titled “label?”
optionallabel?:string
globalShortcut?
Section titled “globalShortcut?”
optionalglobalShortcut?:string
homepage?
Section titled “homepage?”
optionalhomepage?:string
Defined in: core.ts:428
Plugin homepage URL.
categories?
Section titled “categories?”
optionalcategories?:string[]
Defined in: core.ts:430
Plugin Store categories.
keywords?
Section titled “keywords?”
optionalkeywords?:string[]
Defined in: core.ts:432
Search keywords for discoverability.