blob: bf6efafc0611db22e3a3dfdb0ada414acf35ed2b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
export interface PermissionRule {
permission: string;
pattern: string;
action: "allow" | "deny" | "ask";
}
export type Ruleset = PermissionRule[];
export type PermissionReply = "once" | "always" | "reject";
export interface PermissionRequest {
permission: string;
patterns: string[];
always: string[];
description: string;
metadata: Record<string, unknown>;
}
export interface PermissionChecker {
ask(request: PermissionRequest, rulesets: Ruleset[]): Promise<PermissionReply>;
getPending(): Array<{ id: string; request: PermissionRequest }>;
}
export { evaluate } from "./evaluate.js";
export { PermissionService } from "./service.js";
export { Wildcard } from "./wildcard.js";
|