feat(core): add worktree to plugin tool context

This commit is contained in:
adamelmore
2026-01-27 06:12:47 -06:00
parent 2180be2f3f
commit 1f9313847f
2 changed files with 10 additions and 1 deletions

View File

@@ -67,7 +67,11 @@ export namespace ToolRegistry {
parameters: z.object(def.args),
description: def.description,
execute: async (args, ctx) => {
const pluginCtx = { ...ctx, directory: Instance.directory } as unknown as PluginToolContext
const pluginCtx = {
...ctx,
directory: Instance.directory,
worktree: Instance.worktree,
} as unknown as PluginToolContext
const result = await def.execute(args as any, pluginCtx)
const out = await Truncate.output(result, {}, initCtx?.agent)
return {

View File

@@ -9,6 +9,11 @@ export type ToolContext = {
* Prefer this over process.cwd() when resolving relative paths.
*/
directory: string
/**
* Project worktree root for this session.
* Useful for generating stable relative paths (e.g. path.relative(worktree, absPath)).
*/
worktree: string
abort: AbortSignal
metadata(input: { title?: string; metadata?: { [key: string]: any } }): void
ask(input: AskInput): Promise<void>