diff --git a/src/agents/tool-mutation.ts b/src/agents/tool-mutation.ts index a88bbadfd21..6b67314032c 100644 --- a/src/agents/tool-mutation.ts +++ b/src/agents/tool-mutation.ts @@ -7,6 +7,7 @@ const MUTATING_TOOL_NAMES = new Set([ "process", "message", "sessions_send", + "sessions_manage", "cron", "gateway", "canvas", @@ -107,6 +108,7 @@ export function isMutatingToolCall(toolName: string, args: unknown): boolean { case "exec": case "bash": case "sessions_send": + case "sessions_manage": return true; case "process": return action != null && PROCESS_MUTATING_ACTIONS.has(action); diff --git a/src/agents/tools/sessions-manage-tool.ts b/src/agents/tools/sessions-manage-tool.ts index 7a849222e78..bff37a2e02d 100644 --- a/src/agents/tools/sessions-manage-tool.ts +++ b/src/agents/tools/sessions-manage-tool.ts @@ -18,7 +18,6 @@ const SESSIONS_MANAGE_ACTIONS = ["compact", "reset"] as const; const SessionsManageToolSchema = Type.Object({ sessionKey: Type.String(), action: stringEnum(SESSIONS_MANAGE_ACTIONS), - instructions: Type.Optional(Type.String()), }); export function createSessionsManageTool(opts?: { @@ -36,7 +35,6 @@ export function createSessionsManageTool(opts?: { const params = args as Record; const sessionKeyParam = readStringParam(params, "sessionKey", { required: true }); const action = readStringParam(params, "action", { required: true }); - const instructions = readStringParam(params, "instructions"); if (!SESSIONS_MANAGE_ACTIONS.includes(action as (typeof SESSIONS_MANAGE_ACTIONS)[number])) { return jsonResult({ status: "error", error: "action must be 'compact' or 'reset'" }); @@ -80,6 +78,7 @@ export function createSessionsManageTool(opts?: { cfg, sandboxed: opts?.sandboxed === true, }); + // TODO: add "manage" to SessionAccessAction for accurate error messages const visibilityGuard = await createSessionVisibilityGuard({ action: "send", requesterSessionKey: effectiveRequesterKey, @@ -104,10 +103,7 @@ export function createSessionsManageTool(opts?: { kept?: number; }>({ method: "sessions.compact", - params: { - key: resolvedKey, - ...(instructions ? { instructions } : {}), - }, + params: { key: resolvedKey }, }); return jsonResult({ status: "ok",