StaticComputeSynchronous core of the permission calculation, operating on already-loaded cache arrays.
Exposed so hot-path callers (e.g. AIEngineBase.GetSkillsForAgent(agent, user)) can filter
without an async round-trip once the engine is configured.
The skill entity (owner is CreatedByUserID).
The full SkillPermissions cache (filtered internally by skill).
The user to evaluate for.
StaticGetGets all skills a user can access with at least the given permission level, from cache.
StaticGetGets the aggregate effective permissions for a user on a skill (async — ensures the engine cache is loaded first, then delegates to the synchronous core).
StaticHasChecks whether a user has a specific permission on a skill.
The skill to check.
The user to check for.
'view' | 'run' | 'edit' | 'delete'.
StaticRefreshRefreshes the AIEngineBase cache to pick up permission changes.
Helper for AI Skill permissions — the runtime, cached, open-by-default access path.
This is the skill sibling of AIAgentPermissionHelper and behaves identically: it reads the
AIEngineBasein-memory caches (Skills+SkillPermissions) so checks are synchronous cache hits, and applies the same defaults —AISkill.CreatedByUserID) can Edit/Delete;Contrast with
AISkillPermissionProvider(the unified-engine wrapper incore-entities), which is closed-by-default and reports only explicit grants — that path powers the Sharing Center and audit; this path is the hot runtime gate (the/skillpicker and the server-side RequestedSkills intersection). See guides/UNIFIED_PERMISSIONS_GUIDE.md.