docs(core): plugin tool context updates

This commit is contained in:
adamelmore
2026-01-27 06:29:14 -06:00
parent 095328faf4
commit b4e0cdbe8e
2 changed files with 9 additions and 5 deletions

View File

@@ -120,12 +120,15 @@ export default tool({
args: {},
async execute(args, context) {
// Access context information
const { agent, sessionID, messageID, directory } = context
return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}, Directory: ${directory}`
const { agent, sessionID, messageID, directory, worktree } = context
return `Agent: ${agent}, Session: ${sessionID}, Message: ${messageID}, Directory: ${directory}, Worktree: ${worktree}`
},
})
```
Use `context.directory` for the session working directory.
Use `context.worktree` for the git worktree root.
---
## Examples
@@ -157,7 +160,7 @@ export default tool({
b: tool.schema.number().describe("Second number"),
},
async execute(args, context) {
const script = path.join(context.directory, ".opencode/tools/add.py")
const script = path.join(context.worktree, ".opencode/tools/add.py")
const result = await Bun.$`python3 ${script} ${args.a} ${args.b}`.text()
return result.trim()
},

View File

@@ -269,8 +269,9 @@ export const CustomToolsPlugin: Plugin = async (ctx) => {
args: {
foo: tool.schema.string(),
},
async execute(args, ctx) {
return `Hello ${args.foo}!`
async execute(args, context) {
const { directory, worktree } = context
return `Hello ${args.foo} from ${directory} (worktree: ${worktree})`
},
}),
},