fix(core): enforce V2 tool permissions (#31061)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
export * as QuestionTool from "./question"
|
||||
|
||||
import { Tool, toolText } from "@opencode-ai/llm"
|
||||
import { Tool, ToolFailure, toolText } from "@opencode-ai/llm"
|
||||
import { Effect, Layer, Schema } from "effect"
|
||||
import { QuestionV2 } from "../question"
|
||||
import { ToolRegistry } from "./registry"
|
||||
@@ -57,6 +57,11 @@ export const layer = Layer.effectDiscard(
|
||||
yield* registry.contribute((editor) =>
|
||||
editor.set(name, {
|
||||
tool: definition,
|
||||
permission: { action: "question", resource: "*" },
|
||||
authorize: ({ assertPermission }) =>
|
||||
assertPermission({ action: "question", resources: ["*"] }).pipe(
|
||||
Effect.mapError(() => new ToolFailure({ message: "Permission denied: question" })),
|
||||
),
|
||||
execute: ({ parameters, sessionID, source }) =>
|
||||
question
|
||||
.ask({
|
||||
|
||||
Reference in New Issue
Block a user