Interface: IPermissionEnforcer
Defined in: src/types/interfaces/plugin.interface.ts:740
Permission enforcer interface.
Remarks
Enforces plugin permissions at runtime using ES6 Proxy wrappers. All service access goes through permission checks.
Since
0.1.0
Methods
checkPermission()
checkPermission(
plugin,permission):boolean
Defined in: src/types/interfaces/plugin.interface.ts:748
Checks if a plugin has a specific permission.
Parameters
plugin
Plugin to check
permission
string
Permission string (e.g., 'network:api.github.com')
Returns
boolean
True if permission is granted
createPermissionProxy()
createPermissionProxy<
T>(service,requiredPermission,plugin):T
Defined in: src/types/interfaces/plugin.interface.ts:758
Creates a permission-checking proxy for a service.
Type Parameters
• T extends object
Parameters
service
T
Service to wrap
requiredPermission
string
Permission required to access service
plugin
Plugin requesting access
Returns
T
Proxied service that checks permissions on each call
enforceHookAccess()
enforceHookAccess(
plugin,hookName):void
Defined in: src/types/interfaces/plugin.interface.ts:789
Enforces hook access permission.
Parameters
plugin
Plugin requesting hook access
hookName
string
Hook being accessed
Returns
void
Throws
If hook not allowed
enforceNetworkAccess()
enforceNetworkAccess(
plugin,domain):void
Defined in: src/types/interfaces/plugin.interface.ts:771
Enforces network access permission.
Parameters
plugin
Plugin requesting access
domain
string
Domain being accessed
Returns
void
Throws
If access denied
enforceStorageLimit()
enforceStorageLimit(
plugin,sizeBytes):void
Defined in: src/types/interfaces/plugin.interface.ts:780
Enforces storage limit.
Parameters
plugin
Plugin requesting storage
sizeBytes
number
Size of data being stored
Returns
void
Throws
If quota exceeded
resetStorageUsage()
resetStorageUsage(
pluginId):void
Defined in: src/types/interfaces/plugin.interface.ts:796
Resets storage usage tracking for a plugin.
Parameters
pluginId
string
ID of plugin to reset
Returns
void