(
toolId: string,
ruleSet: ActivePolicyRuleSet,
defaultRequiresApproval?: boolean,
)
| 4160 | .pipe(Effect.map((rows) => ({ kind: "global" as const, rows }))); |
| 4161 | |
| 4162 | const resolvePolicyFromRuleSet = ( |
| 4163 | toolId: string, |
| 4164 | ruleSet: ActivePolicyRuleSet, |
| 4165 | defaultRequiresApproval?: boolean, |
| 4166 | ): Effect.Effect<EffectivePolicy, StorageFailure> => |
| 4167 | ruleSet.kind === "prepared" |
| 4168 | ? Effect.succeed(ruleSet.resolve({ toolId, defaultRequiresApproval })) |
| 4169 | : ruleSet.kind === "provider" |
| 4170 | ? ruleSet.provider.resolve |
| 4171 | ? ruleSet.provider.resolve({ toolId, defaultRequiresApproval }) |
| 4172 | : Effect.succeed(resolveProviderPolicyFromRules(toolId, ruleSet.rules ?? [])) |
| 4173 | : Effect.succeed( |
| 4174 | resolveEffectivePolicy( |
| 4175 | toolId, |
| 4176 | ruleSet.rows, |
| 4177 | ownerRankForRow, |
| 4178 | defaultRequiresApproval, |
| 4179 | ), |
| 4180 | ); |
| 4181 | |
| 4182 | // ------------------------------------------------------------------ |
| 4183 | // Tools (read surface) |
no test coverage detected