Path: blob/main/extensions/copilot/src/extension/chatSessions/claude/node/test/mockClaudeToolPermissionService.ts
13406 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import {6ClaudeToolPermissionContext,7ClaudeToolPermissionResult8} from '../../common/claudeToolPermission';9import { IClaudeToolPermissionService } from '../../common/claudeToolPermissionService';1011/**12* Mock implementation of ClaudeToolPermissionService for testing.13* By default, allows all tools without confirmation.14*/15export class MockClaudeToolPermissionService implements IClaudeToolPermissionService {16declare readonly _serviceBrand: undefined;1718public allowAll = true;1920public async canUseTool(21_toolName: string,22input: Record<string, unknown>,23_context: ClaudeToolPermissionContext24): Promise<ClaudeToolPermissionResult> {25if (this.allowAll) {26return {27behavior: 'allow',28updatedInput: input29};30}31return {32behavior: 'deny',33message: 'Mock denied'34};35}36}373839