From 685d79e953a02a3a78b91235c811932105574a66 Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Wed, 15 Apr 2026 10:49:47 -0400 Subject: [PATCH] feat(opencode): trace tool execution spans (#22531) --- packages/opencode/src/tool/tool.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/opencode/src/tool/tool.ts b/packages/opencode/src/tool/tool.ts index 49dd2b0605..30be63a320 100644 --- a/packages/opencode/src/tool/tool.ts +++ b/packages/opencode/src/tool/tool.ts @@ -80,8 +80,14 @@ export namespace Tool { Effect.gen(function* () { const toolInfo = init instanceof Function ? { ...(yield* init()) } : { ...init } const execute = toolInfo.execute - toolInfo.execute = (args, ctx) => - Effect.gen(function* () { + toolInfo.execute = (args, ctx) => { + const attrs = { + "tool.name": id, + "session.id": ctx.sessionID, + "message.id": ctx.messageID, + ...(ctx.callID ? { "tool.call_id": ctx.callID } : {}), + } + return Effect.gen(function* () { yield* Effect.try({ try: () => toolInfo.parameters.parse(args), catch: (error) => { @@ -109,7 +115,8 @@ export namespace Tool { ...(truncated.truncated && { outputPath: truncated.outputPath }), }, } - }).pipe(Effect.orDie) + }).pipe(Effect.orDie, Effect.withSpan("Tool.execute", { attributes: attrs })) + } return toolInfo }) }