File size: 655 Bytes
4e23b01
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { createDecorator, type ServiceIdentifier } from '#/_base/di/instantiation';
import type { ScopeSeed } from '#/_base/di/scope';
import type { Event } from '#/_base/event';

export interface ISessionToolPolicyGate {
  readonly _serviceBrand: undefined;

  readonly disabledTools: readonly string[];
  readonly onDidChange: Event<void>;
}

export const ISessionToolPolicyGate: ServiceIdentifier<ISessionToolPolicyGate> =
  createDecorator<ISessionToolPolicyGate>('sessionToolPolicyGate');

export function sessionToolPolicyGateSeed(gate: ISessionToolPolicyGate): ScopeSeed {
  return [[ISessionToolPolicyGate as ServiceIdentifier<unknown>, gate]];
}