@vinhnt-sdk/permission
v0.24.0
Published
Permission kernel primitive for VNT Agent - rule types, permission matching/checking, risk rules, and approval stores, decoupled from core
Downloads
1,022
Maintainers
Readme
@vinhnt-sdk/permission
Permission kernel primitive for VNT Agent — decoupled from core.
Owns the permission rule model and matching semantics, plus approval stores.
The gate (PermissionGate) stays in host packages and consumes this package.
import { buildPermissionRules, evaluatePermission } from "@vinhnt-sdk/permission";
const rules = buildPermissionRules({ "edit": "allow", "bash": { "*": "ask", "git diff": "allow" } });
const result = evaluatePermission({ rules }, "bash.run", { command: "git diff" });Features
PermissionRule/PermissionEffect/PermissionRuleset— rule model (action/resource/effect).matchPermission/buildPermissionRules— last-match-wins glob matching with nested context patterns.normalizePermissions/mergeRulesets/resolveEffectivePermissions/evaluatePermission/checkRiskAllowed— agent permission normalization and evaluation (default:ask— safe).PermissionMode/KNOWN_PERMISSION_MODES— Claude-style approval modes (default,acceptEdits,plan,bypass,auto+ legacyask/edit/fullaliases).applyPermissionMode— pure mode overlay applied on top of the rule pipeline (planhard-blockswrite/destructive,bypasslifts prompts + the risk floor,acceptEditslifts risk-floorwriteasks).PermissionClassifier/createRiskPermissionClassifier/createCallbackPermissionClassifier—auto-mode classifier seam (default risk-based fail-closed; inject an LLM-backed classifier for semantic classification).PermissionStore/ApprovalStore/InMemoryApprovalStore— saved rules, approval request tracking.- Re-exports the permission contract types (
PermissionRequest,PermissionReply,SavedApproval) from@vinhnt-sdk/schema.
Depends only on @vinhnt-sdk/schema.
