Functions Parameters Parameters and TSDoc annotations Name Type Status Description errorunknownRequired No description.
Show raw definition + TypeScript Copy
export declare function isValidationError(error: unknown): error is PluginArtifactValidationError ;Parses and compatibility-gates schema-1 `plugin.json` without touching code.
Parameters Parameters and TSDoc annotations Name Type Status Description sourcestring | Uint8Array<ArrayBufferLike>Required No description. contextPluginCompatibilityContextRequired No description.
Show raw definition + TypeScript Copy
export declare function parsePluginManifest(source: string | Uint8Array , context: PluginCompatibilityContext ): PluginManifest ;Validates one explicit artifact directory without discovery or code
execution. Failures throw `PluginArtifactValidationError`.
Parameters Parameters and TSDoc annotations Name Type Status Description directorystringRequired No description. optionsPluginArtifactValidationOptionsRequired No description.
Show raw definition + TypeScript Copy
export declare function validatePluginArtifact(directory: string, options: PluginArtifactValidationOptions ): Promise <ValidatedPluginArtifact >;Result-shaped companion for UI and batch discovery callers.
Parameters Parameters and TSDoc annotations Name Type Status Description directorystringRequired No description. optionsPluginArtifactValidationOptionsRequired No description.
Show raw definition + TypeScript Copy
export declare function validatePluginArtifactResult(directory: string, options: PluginArtifactValidationOptions ): Promise <PluginArtifactValidationResult >;Reconciles untrusted persisted values with the current manifest schema.
Unknown and invalid values are reported and omitted; declared defaults are
copied into the effective view.
Parameters Parameters and TSDoc annotations Name Type Status Description manifestPluginManifestRequired No description. storedunknownRequired No description.
Show raw definition + TypeScript Copy
export declare function validatePluginSettings(manifest: PluginManifest , stored: unknown): ValidatedPluginSettings ;Parameters Parameters and TSDoc annotations Name Type Status Description declarationPluginSettingDeclarationRequired No description. valueunknownRequired No description.
Show raw definition + TypeScript Copy
export declare function validPluginSettingValue(declaration: PluginSettingDeclaration , value: unknown): value is PluginSettingValue ;Classes Process-local content-addressed cache for the future app-owned protocol.
Entries contain copies of validated bytes. Serving code asks by digest and
never receives or reopens the original filesystem path.
Properties Properties and TSDoc annotations Name Type Status Description sizenumberRequired No description. has(digest: string) => booleanRequired No description. get(digest: string) => ValidatedPluginModule | nullRequired No description. keys() => IterableIterator<string>Required No description. retain(module: ValidatedPluginModule) => ValidatedPluginModuleRequired No description. delete(digest: string) => booleanRequired No description. clear() => voidRequired No description.
Show raw definition + TypeScript Copy
export declare class PluginArtifactCache {
private readonly modules;
get size(): number;
has(digest: string): boolean;
get(digest: string): ValidatedPluginModule | null ;
keys(): IterableIterator <string >;
retain(module: ValidatedPluginModule ): ValidatedPluginModule ;
delete(digest: string): boolean;
clear(): void ;
}Typed validation failure suitable for both logs and compatibility UI.
Properties Properties and TSDoc annotations Name Type Status Description diagnosticPluginArtifactDiagnosticRequired · readonly No description.
Show raw definition + TypeScript Copy
export declare class PluginArtifactValidationError extends Error {
readonly diagnostic: PluginArtifactDiagnostic ;
constructor(diagnostic: PluginArtifactDiagnostic , options?: ErrorOptions );
}Types Properties Properties and TSDoc annotations Name Type Status Description categoryPluginArtifactDiagnosticCategoryRequired · readonly No description. codePluginArtifactDiagnosticCodeRequired · readonly No description. messagestringRequired · readonly No description. pathstringOptional · readonly No description. pluginIdstringOptional · readonly No description.
Show raw definition + TypeScript Copy
export interface PluginArtifactDiagnostic {
readonly category: PluginArtifactDiagnosticCategory ;
readonly code: PluginArtifactDiagnosticCode ;
readonly message: string;
readonly path?: string;
readonly pluginId?: string;
}Show raw definition + TypeScript Copy
export type PluginArtifactDiagnosticCategory = 'missing' | 'malformed' | 'incompatible' | 'unsupported' | 'corrupt' ;Show raw definition + TypeScript Copy
export type PluginArtifactDiagnosticCode = 'ARTIFACT_NOT_FOUND' | 'ARTIFACT_NOT_DIRECTORY' | 'ARTIFACT_UNREADABLE' | 'ARTIFACT_FILES_UNSUPPORTED' | 'MANIFEST_MISSING' | 'MANIFEST_NOT_REGULAR' | 'MANIFEST_TOO_LARGE' | 'MANIFEST_INVALID_UTF8' | 'MANIFEST_INVALID_JSON' | 'MANIFEST_INVALID_SHAPE' | 'MANIFEST_FIELD_INVALID' | 'MANIFEST_KEY_UNSUPPORTED' | 'MANIFEST_SCHEMA_UNSUPPORTED' | 'APP_INCOMPATIBLE' | 'SDK_INCOMPATIBLE' | 'CAPABILITY_UNSUPPORTED' | 'ENTRY_MISSING' | 'ENTRY_PATH_INVALID' | 'ENTRY_ESCAPES_ARTIFACT' | 'ENTRY_NOT_REGULAR' | 'ENTRY_TOO_LARGE' | 'ENTRY_INVALID_UTF8' | 'ENTRY_DIGEST_MISMATCH' | 'ENTRY_SYNTAX_INVALID' | 'ENTRY_IMPORT_UNSUPPORTED' | 'ENTRY_SOURCE_MAP_UNSUPPORTED' | 'ICON_PATH_INVALID' | 'ICON_NOT_REGULAR' | 'ICON_TOO_LARGE' | 'ICON_COUNT_EXCEEDED' | 'ICON_INVALID_UTF8' | 'ICON_SVG_INVALID' ;Properties Properties and TSDoc annotations Name Type Status Description cachePluginArtifactCacheLikeOptional · readonly Optional shared content-addressed retention for the future protocol.
appVersionstringRequired · readonly Stable host application SemVer.
sdkVersionstringRequired · readonly Exact public SDK package/contract version accepted by this host.
Show raw definition + TypeScript Copy
export interface PluginArtifactValidationOptions extends PluginCompatibilityContext {
readonly cache?: PluginArtifactCacheLike ;
}Properties Properties and TSDoc annotations Name Type Status Description oktrue | falseRequired · readonly No description. valueValidatedPluginArtifactOptional · readonly No description. diagnosticPluginArtifactDiagnosticOptional · readonly No description.
Show raw definition + TypeScript Copy
export type PluginArtifactValidationResult = {
readonly ok: true ;
readonly value: ValidatedPluginArtifact ;
} | {
readonly ok: false ;
readonly diagnostic: PluginArtifactDiagnostic ;
};Show raw definition + TypeScript Copy
export type PluginCapability = (typeof PLUGIN_CAPABILITIES )[number];Properties Properties and TSDoc annotations Name Type Status Description appVersionstringRequired · readonly Stable host application SemVer.
sdkVersionstringRequired · readonly Exact public SDK package/contract version accepted by this host.
Show raw definition + TypeScript Copy
export interface PluginCompatibilityContext {
readonly appVersion: string;
readonly sdkVersion: string;
}Show raw definition + TypeScript Copy
export type PluginManifest = PluginManifestV1 | PluginManifestV2 ;Properties Properties and TSDoc annotations Name Type Status Description schemaVersion1Required · readonly No description. capabilitiesreadonly ["node-kinds"]Required · readonly No description. idstringRequired · readonly No description. namestringRequired · readonly No description. descriptionstringRequired · readonly No description. versionstringRequired · readonly No description. entry"plugin.mjs"Required · readonly No description. sdkVersionstringRequired · readonly No description. minAppVersionstringRequired · readonly No description. maxAppVersionstringRequired · readonly No description. entrySha256stringRequired · readonly No description. authorstringOptional · readonly No description. homepagestringOptional · readonly No description. sourcestringOptional · readonly No description.
Show raw definition + TypeScript Copy
export interface PluginManifestV1 extends PluginManifestBase {
readonly schemaVersion: 1 ;
readonly capabilities: readonly [
'node-kinds'
];
}Properties Properties and TSDoc annotations Name Type Status Description schemaVersion2Required · readonly No description. capabilitiesreadonly ("node-kinds" | "commands" | "editor-ui" | "importers" | "network" | "configuration" | "secrets" | "remote-media" | "interaction-regions" | "agent-actions")[]Required · readonly No description. networkreadonly PluginNetworkDeclaration[]Required · readonly No description. remoteMediareadonly PluginRemoteMediaDeclaration[]Required · readonly No description. settingsreadonly PluginSettingDeclaration[]Required · readonly No description. secretsreadonly PluginSecretDeclaration[]Required · readonly No description. idstringRequired · readonly No description. namestringRequired · readonly No description. descriptionstringRequired · readonly No description. versionstringRequired · readonly No description. entry"plugin.mjs"Required · readonly No description. sdkVersionstringRequired · readonly No description. minAppVersionstringRequired · readonly No description. maxAppVersionstringRequired · readonly No description. entrySha256stringRequired · readonly No description. authorstringOptional · readonly No description. homepagestringOptional · readonly No description. sourcestringOptional · readonly No description.
Show raw definition + TypeScript Copy
export interface PluginManifestV2 extends PluginManifestBase {
readonly schemaVersion: 2 ;
readonly capabilities: readonly PluginCapability [];
readonly network: readonly PluginNetworkDeclaration [];
readonly remoteMedia: readonly PluginRemoteMediaDeclaration [];
readonly settings: readonly PluginSettingDeclaration [];
readonly secrets: readonly PluginSecretDeclaration [];
}Properties Properties and TSDoc annotations Name Type Status Description originstringRequired · readonly No description. methodsreadonly PluginNetworkMethod[]Required · readonly No description. purposestringRequired · readonly No description.
Show raw definition + TypeScript Copy
export interface PluginNetworkDeclaration {
readonly origin: string;
readonly methods: readonly PluginNetworkMethod [];
readonly purpose: string;
}Show raw definition + TypeScript Copy
export type PluginNetworkMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' ;Properties Properties and TSDoc annotations Name Type Status Description namestringRequired · readonly No description. labelstringRequired · readonly No description. descriptionstringRequired · readonly No description. requiredbooleanRequired · readonly No description.
Show raw definition + TypeScript Copy
export interface PluginSecretDeclaration {
readonly name: string;
readonly label: string;
readonly description: string;
readonly required: boolean;
}Show raw definition + TypeScript Copy
export type PluginSettingDeclaration = (PluginSettingDeclarationBase & {
readonly type : 'string' ;
readonly default ?: string;
}) | (PluginSettingDeclarationBase & {
readonly type : 'number' ;
readonly default ?: number;
}) | (PluginSettingDeclarationBase & {
readonly type : 'boolean' ;
readonly default ?: boolean;
}) | (PluginSettingDeclarationBase & {
readonly type : 'enum' ;
readonly values: readonly string[];
readonly default ?: string;
}) | (PluginSettingDeclarationBase & {
readonly type : 'secret-ref' ;
readonly secret: string;
});Show raw definition + TypeScript Copy
export type PluginSettingValue = string | number | boolean;Properties Properties and TSDoc annotations Name Type Status Description directorystringRequired · readonly Canonical path used only for diagnostics and discovery identity.
manifestDigeststringRequired · readonly SHA-256 of the exact bounded plugin.json bytes accepted by validation.
manifestPluginManifestRequired · readonly No description. moduleValidatedPluginModuleRequired · readonly No description. iconsreadonly ValidatedPluginIcon[]Required · readonly No description.
Show raw definition + TypeScript Copy
export interface ValidatedPluginArtifact {
readonly directory: string;
readonly manifestDigest: string;
readonly manifest: PluginManifest ;
readonly module: ValidatedPluginModule ;
readonly icons: readonly ValidatedPluginIcon [];
}Immutable, validated SVG toolbar asset bundled beside the plugin entry.
Properties Properties and TSDoc annotations Name Type Status Description pathstringRequired · readonly Explicit plugin-relative path, for example `./icons/search.svg`.
digeststringRequired · readonly No description. sourcestringRequired · readonly No description. byteLengthnumberRequired · readonly No description.
Show raw definition + TypeScript Copy
export interface ValidatedPluginIcon {
readonly path: string;
readonly digest: string;
readonly source: string;
readonly byteLength: number;
}Immutable content retained after validation.
`readBytes` returns a copy so callers cannot mutate what a later protocol
response serves. No API exposes a source path that should be read again.
Properties Properties and TSDoc annotations Name Type Status Description digeststringRequired · readonly No description. byteLengthnumberRequired · readonly No description. sourcestringRequired · readonly No description. readBytes() => Uint8ArrayRequired No description.
Show raw definition + TypeScript Copy
export interface ValidatedPluginModule {
readonly digest: string;
readonly byteLength: number;
readonly source: string;
readBytes(): Uint8Array ;
}Properties Properties and TSDoc annotations Name Type Status Description valuesReadonly<Record<string, PluginSettingValue>>Required · readonly No description. invalidKeysreadonly string[]Required · readonly No description. removedKeysreadonly string[]Required · readonly No description.
Show raw definition + TypeScript Copy
export interface ValidatedPluginSettings {
readonly values: Readonly <Record <string, PluginSettingValue >>;
readonly invalidKeys: readonly string[];
readonly removedKeys: readonly string[];
}Constants Show raw definition + TypeScript Copy
export declare const MAX_PLUGIN_BUNDLE_BYTES : number;Show raw definition + TypeScript Copy
export declare const MAX_PLUGIN_ICON_BYTES : number;Show raw definition + TypeScript Copy
export declare const MAX_PLUGIN_ICON_COUNT = 16 ;Show raw definition + TypeScript Copy
export declare const MAX_PLUGIN_ICON_TOTAL_BYTES : number;Show raw definition + TypeScript Copy
export declare const MAX_PLUGIN_MANIFEST_BYTES : number;Show raw definition + TypeScript Copy
export declare const PLUGIN_CAPABILITIES : readonly [
"node-kinds" ,
"commands" ,
"editor-ui" ,
"importers" ,
"network" ,
"configuration" ,
"secrets" ,
"remote-media" ,
"interaction-regions" ,
"agent-actions"
];Show raw definition + TypeScript Copy
export declare const PLUGIN_ENTRY_FILE = "plugin.mjs" ;Show raw definition + TypeScript Copy
export declare const PLUGIN_MANIFEST_FILE = "plugin.json" ;Show raw definition + TypeScript Copy
export declare const PLUGIN_MANIFEST_SCHEMA_VERSION = 2 ;Show raw definition + TypeScript Copy
export declare const SUPPORTED_PLUGIN_MANIFEST_SCHEMA_VERSIONS : readonly [
1 ,
2
];