summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/opencode/src/session/index.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/packages/opencode/src/session/index.ts b/packages/opencode/src/session/index.ts
index a0b3be3c1..4b66cdee3 100644
--- a/packages/opencode/src/session/index.ts
+++ b/packages/opencode/src/session/index.ts
@@ -863,11 +863,31 @@ export namespace Session {
const execute = item.execute
if (!execute) continue
item.execute = async (args, opts) => {
+ await Plugin.trigger(
+ "tool.execute.before",
+ {
+ tool: key,
+ sessionID: input.sessionID,
+ callID: opts.toolCallId,
+ },
+ {
+ args,
+ },
+ )
const result = await execute(args, opts)
const output = result.content
.filter((x: any) => x.type === "text")
.map((x: any) => x.text)
.join("\n\n")
+ await Plugin.trigger(
+ "tool.execute.after",
+ {
+ tool: key,
+ sessionID: input.sessionID,
+ callID: opts.toolCallId,
+ },
+ result,
+ )
return {
output,