diff --git a/package-lock.json b/package-lock.json index 59a10ef29..0922a36d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gsd-pi", - "version": "2.46.1", + "version": "2.49.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gsd-pi", - "version": "2.46.1", + "version": "2.49.0", "hasInstallScript": true, "license": "MIT", "workspaces": [ @@ -9191,7 +9191,7 @@ }, "packages/pi-coding-agent": { "name": "@gsd/pi-coding-agent", - "version": "2.46.1", + "version": "2.49.0", "dependencies": { "@mariozechner/jiti": "^2.6.2", "@silvia-odwyer/photon-node": "^0.3.4", diff --git a/src/resources/extensions/gsd/bootstrap/register-hooks.ts b/src/resources/extensions/gsd/bootstrap/register-hooks.ts index 0cdc0353f..9de7759e8 100644 --- a/src/resources/extensions/gsd/bootstrap/register-hooks.ts +++ b/src/resources/extensions/gsd/bootstrap/register-hooks.ts @@ -69,6 +69,14 @@ export function registerHooks(pi: ExtensionAPI): void { } }); + pi.on("session_switch", async (_event, ctx) => { + resetWriteGateState(); + resetToolCallLoopGuard(); + clearDiscussionFlowState(); + await syncServiceTierStatus(ctx); + loadToolApiKeys(); + }); + pi.on("before_agent_start", async (event, ctx: ExtensionContext) => { return buildBeforeAgentStartResult(event, ctx); }); diff --git a/src/resources/extensions/gsd/extension-manifest.json b/src/resources/extensions/gsd/extension-manifest.json index a1b2877be..2c01ab4ee 100644 --- a/src/resources/extensions/gsd/extension-manifest.json +++ b/src/resources/extensions/gsd/extension-manifest.json @@ -12,7 +12,7 @@ "gsd_requirement_update", "gsd_milestone_generate_id" ], "commands": ["gsd", "kill", "worktree", "exit"], - "hooks": ["session_start"], + "hooks": ["session_start", "session_switch"], "shortcuts": ["Ctrl+Alt+G"] } }