MCPcopy Create free account
hub / github.com/anomalyco/opencode / evaluate

Function evaluate

packages/core/src/permission.ts:76–86  ·  view source on GitHub ↗
(action: string, resource: string, ...rulesets: Permission.Ruleset[])

Source from the content-addressed store, hash-verified

74export type Error = DeniedError | RejectedError | CorrectedError
75
76export function evaluate(action: string, resource: string, ...rulesets: Permission.Ruleset[]): Permission.Rule {
77 return (
78 rulesets
79 .flat()
80 .findLast((rule) => Wildcard.match(action, rule.action) && Wildcard.match(resource, rule.resource)) ?? {
81 action,
82 resource: "*",
83 effect: "ask",
84 }
85 )
86}
87
88export function merge(...rulesets: Permission.Ruleset[]): Permission.Ruleset {
89 return rulesets.flat()

Callers 2

deniedFunction · 0.70
permission.tsFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected