PluginPermissionSandbox
Defined in: packages/schema/src/plugin.ts:61
Plugin 权限沙箱契约(由 runtime 实现)。
Plugin 通过 ctx.sandbox 访问自身权限声明,在调用受限 API 前主动断言:
ctx.sandbox.assertNetworkAllowed(‘loading model manifest’);
若声明 network:none,断言立即抛 PluginPermissionError;否则 no-op。
实现见 @lokvis/runtime 的 PluginPermissionSandbox 类。schema 仅定义契约 (依赖反转:runtime 依赖 schema,而非反之)。
Properties
Section titled “Properties”pluginName
Section titled “pluginName”
readonlypluginName:string
Defined in: packages/schema/src/plugin.ts:63
插件名(便于错误信息定位)
declared
Section titled “declared”
readonlydeclared:ReadonlySet<PluginPermission>
Defined in: packages/schema/src/plugin.ts:65
声明的权限集合(只读)
Methods
Section titled “Methods”has(
perm):boolean
Defined in: packages/schema/src/plugin.ts:67
是否声明了指定权限
Parameters
Section titled “Parameters”Returns
Section titled “Returns”boolean
assertNetworkAllowed()
Section titled “assertNetworkAllowed()”assertNetworkAllowed(
reason):void
Defined in: packages/schema/src/plugin.ts:72
断言网络调用允许(声明 network:none 时抛错)。 Plugin 在调用 fetch / XHR 等前可主动调用。
Parameters
Section titled “Parameters”reason
Section titled “reason”string
Returns
Section titled “Returns”void
assertFilesystemAllowed()
Section titled “assertFilesystemAllowed()”assertFilesystemAllowed(
scope,reason):void
Defined in: packages/schema/src/plugin.ts:77
断言文件系统访问允许(声明未含对应 filesystem:* 时抛错)。
Parameters
Section titled “Parameters”"opfs" | "local"
‘opfs’(OPFS 根目录)或 ‘local’(任意本地文件系统)
reason
Section titled “reason”string
Returns
Section titled “Returns”void