export * as Permission from "./permission" import { Schema } from "effect" export const Effect = Schema.Literals(["allow", "deny", "ask"]).annotate({ identifier: "PermissionV2.Effect" }) export type Effect = typeof Effect.Type export interface Rule extends Schema.Schema.Type {} export const Rule = Schema.Struct({ action: Schema.String, resource: Schema.String, effect: Effect, }).annotate({ identifier: "PermissionV2.Rule" }) export const Ruleset = Schema.mutable(Schema.Array(Rule)).annotate({ identifier: "PermissionV2.Ruleset" }) export type Ruleset = typeof Ruleset.Type