feat(plugin): pass sessionID and callID to shell.env hook input (#13662)

This commit is contained in:
Helge Tesdal
2026-02-18 21:14:18 +01:00
committed by GitHub
parent de25703e9d
commit 1aa18c6cd6
3 changed files with 6 additions and 3 deletions

View File

@@ -1618,7 +1618,7 @@ NOTE: At any point in time through this workflow you should feel free to ask the
const args = matchingInvocation?.args
const cwd = Instance.directory
const shellEnv = await Plugin.trigger("shell.env", { cwd }, { env: {} })
const shellEnv = await Plugin.trigger("shell.env", { cwd, sessionID: input.sessionID, callID: part.callID }, { env: {} })
const proc = spawn(shell, args, {
cwd,
detached: process.platform !== "win32",

View File

@@ -163,7 +163,7 @@ export const BashTool = Tool.define("bash", async () => {
})
}
const shellEnv = await Plugin.trigger("shell.env", { cwd }, { env: {} })
const shellEnv = await Plugin.trigger("shell.env", { cwd, sessionID: ctx.sessionID, callID: ctx.callID }, { env: {} })
const proc = spawn(params.command, {
shell,
cwd,

View File

@@ -185,7 +185,10 @@ export interface Hooks {
input: { tool: string; sessionID: string; callID: string },
output: { args: any },
) => Promise<void>
"shell.env"?: (input: { cwd: string }, output: { env: Record<string, string> }) => Promise<void>
"shell.env"?: (
input: { cwd: string; sessionID?: string; callID?: string },
output: { env: Record<string, string> },
) => Promise<void>
"tool.execute.after"?: (
input: { tool: string; sessionID: string; callID: string; args: any },
output: {