SYMBOL INDEX (5409 symbols across 840 files) FILE: .github/scripts/backfill-need-triage.cjs constant REPO (line 12) | const REPO = 'google-gemini/gemini-cli'; function runGh (line 19) | function runGh(args) { function main (line 37) | async function main() { FILE: .github/scripts/backfill-pr-notification.cjs constant REPO (line 20) | const REPO = 'google-gemini/gemini-cli'; constant ORG (line 21) | const ORG = 'google-gemini'; constant TEAM_SLUG (line 22) | const TEAM_SLUG = 'gemini-cli-maintainers'; constant DISCUSSION_URL (line 23) | const DISCUSSION_URL = function runGh (line 29) | function runGh(args, options = {}) { function isMaintainer (line 52) | function isMaintainer(username) { function main (line 67) | async function main() { FILE: .github/scripts/sync-maintainer-labels.cjs constant REPO_OWNER (line 19) | const REPO_OWNER = 'google-gemini'; constant PUBLIC_REPO (line 20) | const PUBLIC_REPO = 'gemini-cli'; constant PRIVATE_REPO (line 21) | const PRIVATE_REPO = 'maintainers-gemini-cli'; constant ALLOWED_REPOS (line 22) | const ALLOWED_REPOS = [PUBLIC_REPO, PRIVATE_REPO]; constant ROOT_ISSUES (line 24) | const ROOT_ISSUES = [ constant TARGET_LABEL (line 30) | const TARGET_LABEL = '🔒 maintainer only'; function extractTaskListLinks (line 42) | function extractTaskListLinks(text, contextOwner, contextRepo) { function fetchIssueData (line 80) | async function fetchIssueData(owner, repo, number) { function paginateConnection (line 171) | async function paginateConnection( function shouldProcess (line 214) | function shouldProcess(issueData) { function getAllDescendants (line 227) | async function getAllDescendants(roots) { function run (line 319) | async function run() { FILE: esbuild.config.js function createWasmPlugins (line 26) | function createWasmPlugins() { FILE: evals/answer-vs-act.eval.ts constant FILES (line 11) | const FILES = { FILE: evals/app-test-helper.ts type AppEvalCase (line 18) | interface AppEvalCase { function appEvalTest (line 32) | function appEvalTest(policy: EvalPolicy, evalCase: AppEvalCase) { FILE: evals/ask_user.eval.ts function askUserEvalTest (line 11) | function askUserEvalTest(policy: EvalPolicy, evalCase: AppEvalCase) { FILE: evals/concurrency-safety.eval.ts constant MUTATION_AGENT_DEFINITION (line 10) | const MUTATION_AGENT_DEFINITION = `--- FILE: evals/gitRepo.eval.ts constant FILES (line 10) | const FILES = { FILE: evals/subagents.eval.ts constant AGENT_DEFINITION (line 10) | const AGENT_DEFINITION = `--- constant INDEX_TS (line 21) | const INDEX_TS = 'export const add = (a: number, b: number) => a + b;'; FILE: evals/test-helper.ts type EvalPolicy (line 36) | type EvalPolicy = 'ALWAYS_PASSES' | 'USUALLY_PASSES'; function evalTest (line 38) | function evalTest(policy: EvalPolicy, evalCase: EvalCase) { function runEval (line 165) | function runEval( function prepareLogDir (line 178) | async function prepareLogDir(name: string) { function symlinkNodeModules (line 188) | function symlinkNodeModules(testDir: string) { type EvalCase (line 200) | interface EvalCase { FILE: evals/tool_output_masking.eval.ts function findDir (line 14) | function findDir(base: string, name: string): string | null { FILE: evals/tracker.eval.ts constant FILES (line 16) | const FILES = { FILE: integration-tests/acp-env-auth.test.ts class MockClient (line 19) | class MockClient implements acp.Client { FILE: integration-tests/acp-telemetry.test.ts constant SIMPLE_RESPONSE_PATH (line 21) | const SIMPLE_RESPONSE_PATH = 'hooks-system.session-startup.responses'; class SessionUpdateCollector (line 23) | class SessionUpdateCollector implements acp.Client { FILE: integration-tests/clipboard-linux.test.ts constant DUMMY_PNG_BASE64 (line 15) | const DUMMY_PNG_BASE64 = FILE: integration-tests/globalSetup.ts function setup (line 23) | async function setup() { function teardown (line 75) | async function teardown() { FILE: integration-tests/policy-headless.test.ts type PromptCommand (line 11) | interface PromptCommand { constant ECHO_PROMPT (line 19) | const ECHO_PROMPT: PromptCommand = { constant READ_FILE_PROMPT (line 30) | const READ_FILE_PROMPT: PromptCommand = { function waitForToolCallLog (line 40) | async function waitForToolCallLog( function verifyToolExecution (line 66) | async function verifyToolExecution( type TestCase (line 93) | interface TestCase { FILE: integration-tests/ripgrep-real.test.ts class MockConfig (line 17) | class MockConfig { method constructor (line 18) | constructor(private targetDir: string) {} method getTargetDir (line 20) | getTargetDir() { method getWorkspaceContext (line 24) | getWorkspaceContext() { method getDebugMode (line 28) | getDebugMode() { method getFileFilteringRespectGitIgnore (line 32) | getFileFilteringRespectGitIgnore() { method getFileFilteringRespectGeminiIgnore (line 36) | getFileFilteringRespectGeminiIgnore() { method getFileFilteringOptions (line 40) | getFileFilteringOptions() { method validatePathAccess (line 48) | validatePathAccess() { FILE: integration-tests/run_shell_command.test.ts function getLineCountCommand (line 18) | function getLineCountCommand(): { command: string; tool: string } { function getInvalidCommand (line 30) | function getInvalidCommand(): string { function getAllowedListCommand (line 42) | function getAllowedListCommand(): string { function getDisallowedFileReadCommand (line 54) | function getDisallowedFileReadCommand(testFile: string): { function getChainedEchoCommand (line 70) | function getChainedEchoCommand(): { allowPattern: string; command: strin... FILE: integration-tests/symlink-install.test.ts constant BUNDLE_PATH (line 24) | const BUNDLE_PATH = join(__dirname, '..', 'bundle/gemini.js'); FILE: integration-tests/test-mcp-server.ts class TestMcpServer (line 16) | class TestMcpServer { method start (line 19) | async start( method stop (line 66) | async stop(): Promise { FILE: integration-tests/utf-bom-encoding.test.ts function runAndAssert (line 62) | async function runAndAssert( FILE: packages/a2a-server/src/agent/executor.ts class TaskWrapper (line 45) | class TaskWrapper { method constructor (line 49) | constructor(task: Task, agentSettings: AgentSettings) { method id (line 54) | get id() { method toSDKTask (line 58) | toSDKTask(): SDKTask { class CoderAgentExecutor (line 84) | class CoderAgentExecutor implements AgentExecutor { method constructor (line 89) | constructor(private taskStore?: TaskStore) {} method getConfig (line 91) | private async getConfig( method reconstruct (line 105) | async reconstruct( method createTask (line 138) | async createTask( method getTask (line 164) | getTask(taskId: string): TaskWrapper | undefined { method getAllTasks (line 168) | getAllTasks(): TaskWrapper[] { method execute (line 290) | async execute( FILE: packages/a2a-server/src/agent/task.ts type UnionKeys (line 70) | type UnionKeys = T extends T ? keyof T : never; class Task (line 72) | class Task { method isYoloMatch (line 90) | private get isYoloMatch(): boolean { method constructor (line 105) | private constructor( method create (line 134) | static async create( method getMetadata (line 147) | async getMetadata(): Promise { method _resetToolCompletionPromise (line 179) | private _resetToolCompletionPromise(): void { method _registerToolCall (line 189) | private _registerToolCall(toolCallId: string, status: string): void { method _resolveToolCall (line 200) | private _resolveToolCall(toolCallId: string): void { method waitForPendingTools (line 212) | async waitForPendingTools(): Promise { method cancelPendingTools (line 222) | cancelPendingTools(reason: string): void { method _createTextMessage (line 239) | private _createTextMessage( method _createStatusUpdateEvent (line 253) | private _createStatusUpdateEvent( method setTaskStateAndPublishUpdate (line 296) | setTaskStateAndPublishUpdate( method _schedulerOutputUpdate (line 333) | private _schedulerOutputUpdate( method setupEventDrivenScheduler (line 381) | private setupEventDrivenScheduler(): Scheduler { method dispose (line 400) | dispose(): void { method handleEventDrivenToolCallsUpdate (line 413) | private handleEventDrivenToolCallsUpdate( method handleEventDrivenToolCall (line 429) | private handleEventDrivenToolCall(tc: ToolCall): void { method checkInputRequiredState (line 501) | private checkInputRequiredState(): void { method _pickFields (line 545) | private _pickFields< method toolStatusMessage (line 558) | private toolStatusMessage( method getProposedContent (line 609) | private async getProposedContent( method _applyReplacement (line 635) | private _applyReplacement( method scheduleToolCalls (line 657) | async scheduleToolCalls( method acceptAgentMessage (line 767) | async acceptAgentMessage(event: ServerGeminiStreamEvent): Promise { method _handleToolConfirmationPart (line 879) | private async _handleToolConfirmationPart(part: Part): Promise { method getAndClearCompletedTools (line 1024) | getAndClearCompletedTools(): CompletedToolCall[] { method addToolResponsesToHistory (line 1033) | addToolResponsesToHistory(completedTools: CompletedToolCall[]): void { method sendCompletedToolsToLlm (line 1058) | async *sendCompletedToolsToLlm( method acceptUserMessage (line 1097) | async *acceptUserMessage( method _sendTextContent (line 1171) | _sendTextContent(content: string, traceId?: string): void { method _sendThought (line 1192) | _sendThought(content: ThoughtSummary, traceId?: string): void { method _sendCitation (line 1226) | _sendCitation(citation: string) { FILE: packages/a2a-server/src/commands/command-registry.ts class CommandRegistry (line 14) | class CommandRegistry { method constructor (line 17) | constructor() { method initialize (line 21) | initialize() { method register (line 29) | register(command: Command) { method get (line 42) | get(commandName: string): Command | undefined { method getAllCommands (line 46) | getAllCommands(): Command[] { FILE: packages/a2a-server/src/commands/extensions.ts class ExtensionsCommand (line 14) | class ExtensionsCommand implements Command { method execute (line 20) | async execute( class ListExtensionsCommand (line 28) | class ListExtensionsCommand implements Command { method execute (line 32) | async execute( FILE: packages/a2a-server/src/commands/init.ts class InitCommand (line 25) | class InitCommand implements Command { method handleMessageResult (line 31) | private handleMessageResult( method handleSubmitPromptResult (line 75) | private async handleSubmitPromptResult( method execute (line 127) | async execute( FILE: packages/a2a-server/src/commands/memory.test.ts method toolRegistry (line 62) | get toolRegistry() { FILE: packages/a2a-server/src/commands/memory.ts constant DEFAULT_SANITIZATION_CONFIG (line 20) | const DEFAULT_SANITIZATION_CONFIG = { class MemoryCommand (line 26) | class MemoryCommand implements Command { method execute (line 38) | async execute( class ShowMemoryCommand (line 46) | class ShowMemoryCommand implements Command { method execute (line 50) | async execute( class RefreshMemoryCommand (line 59) | class RefreshMemoryCommand implements Command { method execute (line 63) | async execute( class ListMemoryCommand (line 72) | class ListMemoryCommand implements Command { method execute (line 76) | async execute( class AddMemoryCommand (line 85) | class AddMemoryCommand implements Command { method execute (line 89) | async execute( FILE: packages/a2a-server/src/commands/restore.ts class RestoreCommand (line 21) | class RestoreCommand implements Command { method execute (line 29) | async execute( class ListCheckpointsCommand (line 114) | class ListCheckpointsCommand implements Command { method execute (line 119) | async execute(context: CommandContext): Promise(obj: T): T { FILE: packages/a2a-server/src/http/app.ts type CommandResponse (line 36) | type CommandResponse = { function updateCoderAgentCardUrl (line 90) | function updateCoderAgentCardUrl(port: number) { function handleExecuteCommand (line 123) | async function handleExecuteCommand( function createApp (line 195) | async function createApp() { function main (line 372) | async function main() { FILE: packages/a2a-server/src/http/endpoints.test.ts class MockTask (line 29) | class MockTask { method constructor (line 41) | constructor(id: string, contextId: string) { FILE: packages/a2a-server/src/persistence/gcs.test.ts constant TEST_METADATA_KEY (line 114) | const TEST_METADATA_KEY = METADATA_KEY || '__persistedState'; type MockWriteStream (line 116) | type MockWriteStream = { type MockFile (line 133) | type MockFile = { type MockBucket (line 140) | type MockBucket = { type MockStorageInstance (line 146) | type MockStorageInstance = { FILE: packages/a2a-server/src/persistence/gcs.ts type ObjectType (line 21) | type ObjectType = 'metadata' | 'workspace'; class GCSTaskStore (line 33) | class GCSTaskStore implements TaskStore { method constructor (line 38) | constructor(bucketName: string) { method initializeBucket (line 50) | private async initializeBucket(): Promise { method ensureBucketInitialized (line 83) | private async ensureBucketInitialized(): Promise { method getObjectPath (line 87) | private getObjectPath(taskId: string, type: ObjectType): string { method save (line 94) | async save(task: SDKTask): Promise { method load (line 233) | async load(taskId: string): Promise { class NoOpTaskStore (line 305) | class NoOpTaskStore implements TaskStore { method constructor (line 306) | constructor(private realStore: TaskStore) {} method save (line 308) | async save(task: SDKTask): Promise { method load (line 313) | async load(taskId: string): Promise { FILE: packages/a2a-server/src/types.ts type CoderAgentEvent (line 15) | enum CoderAgentEvent { type AgentSettings (line 46) | interface AgentSettings { type ToolCallConfirmation (line 52) | interface ToolCallConfirmation { type ToolCallUpdate (line 56) | interface ToolCallUpdate { type TextContent (line 60) | interface TextContent { type StateChange (line 64) | interface StateChange { type Thought (line 68) | interface Thought { type Citation (line 72) | interface Citation { type ThoughtSummary (line 76) | type ThoughtSummary = { type ToolConfirmationResponse (line 81) | interface ToolConfirmationResponse { type CoderAgentMessage (line 86) | type CoderAgentMessage = type TaskMetadata (line 95) | interface TaskMetadata { type PersistedStateMetadata (line 116) | interface PersistedStateMetadata { type PersistedTaskMetadata (line 121) | type PersistedTaskMetadata = { [k: string]: unknown }; constant METADATA_KEY (line 123) | const METADATA_KEY = '__persistedState'; function isAgentSettings (line 125) | function isAgentSettings(value: unknown): value is AgentSettings { function isPersistedStateMetadata (line 136) | function isPersistedStateMetadata( function getPersistedState (line 148) | function getPersistedState( function getContextIdFromMetadata (line 158) | function getContextIdFromMetadata( function getAgentSettingsFromMetadata (line 168) | function getAgentSettingsFromMetadata( function setPersistedState (line 181) | function setPersistedState( FILE: packages/a2a-server/src/utils/executor_utils.ts function pushTaskStateFailed (line 13) | async function pushTaskStateFailed( FILE: packages/a2a-server/src/utils/testing_utils.ts function createMockConfig (line 31) | function createMockConfig( function createStreamMessageRequest (line 140) | function createStreamMessageRequest( function assertUniqueFinalEventIsLast (line 191) | function assertUniqueFinalEventIsLast( function assertTaskCreationAndWorkingStatus (line 214) | function assertTaskCreationAndWorkingStatus( FILE: packages/cli/examples/ask-user-dialog-demo.tsx constant DEMO_QUESTIONS (line 13) | const DEMO_QUESTIONS: Question[] = [ FILE: packages/cli/examples/scrollable-list-demo.tsx type Item (line 21) | interface Item { FILE: packages/cli/src/acp/acpClient.test.ts method config (line 180) | get config() { method config (line 662) | get config() { method toolRegistry (line 665) | get toolRegistry() { method start (line 1410) | start(controller) { FILE: packages/cli/src/acp/acpClient.ts function hasMeta (line 57) | function hasMeta(obj: unknown): obj is { _meta?: Record... function runAcpClient (line 76) | async function runAcpClient( class GeminiAgent (line 100) | class GeminiAgent { method constructor (line 107) | constructor( method initialize (line 114) | async initialize( method authenticate (line 177) | async authenticate(req: acp.AuthenticateRequest): Promise { method newSession (line 240) | async newSession({ method loadSession (line 339) | async loadSession({ method initializeSessionConfig (line 409) | private async initializeSessionConfig( method newSessionConfig (line 445) | async newSessionConfig( method cancel (line 497) | async cancel(params: acp.CancelNotification): Promise { method prompt (line 505) | async prompt(params: acp.PromptRequest): Promise { method setSessionMode (line 513) | async setSessionMode( method unstable_setSessionModel (line 523) | async unstable_setSessionModel( class Session (line 534) | class Session { method constructor (line 538) | constructor( method cancelPendingPrompt (line 546) | async cancelPendingPrompt(): Promise { method setMode (line 555) | setMode(modeId: acp.SessionModeId): acp.SetSessionModeResponse { method getAvailableCommands (line 568) | private getAvailableCommands() { method sendAvailableCommands (line 572) | async sendAvailableCommands(): Promise { method setModel (line 584) | setModel(modelId: acp.ModelId): acp.SetSessionModelResponse { method streamHistory (line 589) | async streamHistory(messages: ConversationRecord['messages']): Promise... method prompt (line 659) | async prompt(params: acp.PromptRequest): Promise { method handleCommand (line 865) | private async handleCommand( method sendUpdate (line 886) | private async sendUpdate(update: acp.SessionUpdate): Promise { method runTool (line 895) | private async runTool( method #resolvePrompt (line 1138) | async #resolvePrompt( method debug (line 1481) | debug(msg: string) { function toToolCallContent (line 1488) | function toToolCallContent(toolResult: ToolResult): acp.ToolCallContent ... function toPermissionOptions (line 1537) | function toPermissionOptions( function toAcpToolKind (line 1615) | function toAcpToolKind(kind: Kind): acp.ToolKind { function buildAvailableModes (line 1637) | function buildAvailableModes(isPlanEnabled: boolean): acp.SessionMode[] { function buildAvailableModels (line 1667) | function buildAvailableModels( FILE: packages/cli/src/acp/acpErrors.ts function getAcpErrorMessage (line 14) | function getAcpErrorMessage(error: unknown): string { function extractRecursiveMessage (line 19) | function extractRecursiveMessage(input: string): string { FILE: packages/cli/src/acp/acpResume.test.ts method config (line 100) | get config() { FILE: packages/cli/src/acp/commandHandler.ts class CommandHandler (line 14) | class CommandHandler { method constructor (line 17) | constructor() { method createRegistry (line 21) | private static createRegistry(): CommandRegistry { method getAvailableCommands (line 30) | getAvailableCommands(): Array<{ name: string; description: string }> { method handleCommand (line 41) | async handleCommand( method runCommand (line 55) | private async runCommand( method parseSlashCommand (line 94) | private parseSlashCommand(query: string): { FILE: packages/cli/src/acp/commands/commandRegistry.ts class CommandRegistry (line 10) | class CommandRegistry { method register (line 13) | register(command: Command) { method get (line 26) | get(commandName: string): Command | undefined { method getAllCommands (line 30) | getAllCommands(): Command[] { FILE: packages/cli/src/acp/commands/extensions.ts class ExtensionsCommand (line 25) | class ExtensionsCommand implements Command { method execute (line 40) | async execute( class ListExtensionsCommand (line 48) | class ListExtensionsCommand implements Command { method execute (line 52) | async execute( class ExploreExtensionsCommand (line 63) | class ExploreExtensionsCommand implements Command { method execute (line 67) | async execute( function getEnableDisableContext (line 79) | function getEnableDisableContext( class EnableExtensionCommand (line 128) | class EnableExtensionCommand implements Command { method execute (line 132) | async execute( class DisableExtensionCommand (line 186) | class DisableExtensionCommand implements Command { method execute (line 190) | async execute( class InstallExtensionCommand (line 219) | class InstallExtensionCommand implements Command { method execute (line 223) | async execute( class LinkExtensionCommand (line 264) | class LinkExtensionCommand implements Command { method execute (line 268) | async execute( class UninstallExtensionCommand (line 309) | class UninstallExtensionCommand implements Command { method execute (line 313) | async execute( class RestartExtensionCommand (line 365) | class RestartExtensionCommand implements Command { method execute (line 369) | async execute( class UpdateExtensionCommand (line 420) | class UpdateExtensionCommand implements Command { method execute (line 424) | async execute( FILE: packages/cli/src/acp/commands/init.ts class InitCommand (line 16) | class InitCommand implements Command { method execute (line 21) | async execute( FILE: packages/cli/src/acp/commands/memory.ts constant DEFAULT_SANITIZATION_CONFIG (line 19) | const DEFAULT_SANITIZATION_CONFIG = { class MemoryCommand (line 25) | class MemoryCommand implements Command { method execute (line 36) | async execute( class ShowMemoryCommand (line 44) | class ShowMemoryCommand implements Command { method execute (line 48) | async execute( class RefreshMemoryCommand (line 57) | class RefreshMemoryCommand implements Command { method execute (line 62) | async execute( class ListMemoryCommand (line 71) | class ListMemoryCommand implements Command { method execute (line 75) | async execute( class AddMemoryCommand (line 84) | class AddMemoryCommand implements Command { method execute (line 88) | async execute( FILE: packages/cli/src/acp/commands/restore.ts class RestoreCommand (line 21) | class RestoreCommand implements Command { method execute (line 28) | async execute( class ListCheckpointsCommand (line 115) | class ListCheckpointsCommand implements Command { method execute (line 119) | async execute(context: CommandContext): Promise { method writeTextFile (line 36) | async writeTextFile(filePath: string, content: string): Promise { FILE: packages/cli/src/commands/extensions/configure.ts type ConfigureArgs (line 19) | interface ConfigureArgs { FILE: packages/cli/src/commands/extensions/disable.test.ts type MockYargs (line 159) | interface MockYargs { type TestArgv (line 220) | interface TestArgv { FILE: packages/cli/src/commands/extensions/disable.ts type DisableArgs (line 15) | interface DisableArgs { function handleDisable (line 20) | async function handleDisable(args: DisableArgs) { FILE: packages/cli/src/commands/extensions/enable.test.ts method constructor (line 49) | constructor(message: string) { type MockYargs (line 210) | interface MockYargs { type TestArgv (line 259) | interface TestArgv { FILE: packages/cli/src/commands/extensions/enable.ts type EnableArgs (line 20) | interface EnableArgs { function handleEnable (line 25) | async function handleEnable(args: EnableArgs) { FILE: packages/cli/src/commands/extensions/install.test.ts function createMockExtension (line 174) | function createMockExtension( FILE: packages/cli/src/commands/extensions/install.ts type InstallArgs (line 34) | interface InstallArgs { function handleInstall (line 42) | async function handleInstall(args: InstallArgs) { FILE: packages/cli/src/commands/extensions/link.test.ts type MockYargs (line 124) | interface MockYargs { type TestArgv (line 159) | interface TestArgv { FILE: packages/cli/src/commands/extensions/link.ts type InstallArgs (line 24) | interface InstallArgs { function handleLink (line 29) | async function handleLink(args: InstallArgs) { FILE: packages/cli/src/commands/extensions/list.ts function handleList (line 15) | async function handleList(options?: { outputFormat?: 'text' | 'json' }) { FILE: packages/cli/src/commands/extensions/new.ts type NewArgs (line 14) | interface NewArgs { constant EXAMPLES_PATH (line 22) | const EXAMPLES_PATH = join(__dirname, 'examples'); function pathExists (line 24) | async function pathExists(path: string) { function createDirectory (line 33) | async function createDirectory(path: string) { function copyDirectory (line 40) | async function copyDirectory(template: string, path: string) { function handleNew (line 52) | async function handleNew(args: NewArgs) { function getBoilerplateChoices (line 76) | async function getBoilerplateChoices() { FILE: packages/cli/src/commands/extensions/uninstall.test.ts type MockYargs (line 282) | interface MockYargs { type TestArgv (line 338) | interface TestArgv { FILE: packages/cli/src/commands/extensions/uninstall.ts type UninstallArgs (line 15) | interface UninstallArgs { function handleUninstall (line 20) | async function handleUninstall(args: UninstallArgs) { FILE: packages/cli/src/commands/extensions/update.test.ts type MockYargs (line 206) | interface MockYargs { FILE: packages/cli/src/commands/extensions/update.ts type UpdateArgs (line 27) | interface UpdateArgs { function handleUpdate (line 35) | async function handleUpdate(args: UpdateArgs) { FILE: packages/cli/src/commands/extensions/utils.ts type ConfigLogger (line 23) | interface ConfigLogger { type RequestSettingCallback (line 28) | type RequestSettingCallback = ( type RequestConfirmationCallback (line 31) | type RequestConfirmationCallback = (message: string) => Promise; function getExtensionManager (line 54) | async function getExtensionManager() { function getExtensionAndManager (line 66) | async function getExtensionAndManager( function configureSpecificSetting (line 83) | async function configureSpecificSetting( function configureExtension (line 121) | async function configureExtension( function configureAllExtensions (line 160) | async function configureAllExtensions( function configureExtensionSettings (line 196) | async function configureExtensionSettings( function getFormattedSettingValue (line 254) | function getFormattedSettingValue( FILE: packages/cli/src/commands/extensions/validate.ts type ValidateArgs (line 19) | interface ValidateArgs { function handleValidate (line 23) | async function handleValidate(args: ValidateArgs) { function validateExtension (line 33) | async function validateExtension(args: ValidateArgs) { FILE: packages/cli/src/commands/hooks/migrate.ts type MigrateArgs (line 15) | interface MigrateArgs { constant EVENT_MAPPING (line 22) | const EVENT_MAPPING: Record = { constant TOOL_NAME_MAPPING (line 37) | const TOOL_NAME_MAPPING: Record = { function transformMatcher (line 50) | function transformMatcher(matcher: string | undefined): string | undefin... function migrateClaudeHook (line 68) | function migrateClaudeHook(claudeHook: unknown): unknown { function migrateClaudeHooks (line 108) | function migrateClaudeHooks(claudeConfig: unknown): Record { function handleDisable (line 74) | async function handleDisable(args: Args): Promise { FILE: packages/cli/src/commands/mcp/list.test.ts type MockClient (line 85) | interface MockClient { type MockExtensionManager (line 91) | interface MockExtensionManager { type MockTransport (line 95) | interface MockTransport { FILE: packages/cli/src/commands/mcp/list.ts function getMcpServersFromConfig (line 33) | async function getMcpServersFromConfig( function testMCPConnection (line 69) | async function testMCPConnection( function getServerStatus (line 143) | async function getServerStatus( function listMcpServers (line 172) | async function listMcpServers( type ListArgs (line 252) | interface ListArgs { FILE: packages/cli/src/commands/mcp/remove.ts function removeMcpServer (line 13) | async function removeMcpServer( FILE: packages/cli/src/commands/skills/disable.ts type DisableArgs (line 15) | interface DisableArgs { function handleDisable (line 20) | async function handleDisable(args: DisableArgs) { FILE: packages/cli/src/commands/skills/enable.ts type EnableArgs (line 15) | interface EnableArgs { function handleEnable (line 19) | async function handleEnable(args: EnableArgs) { FILE: packages/cli/src/commands/skills/install.ts type InstallArgs (line 21) | interface InstallArgs { function handleInstall (line 28) | async function handleInstall(args: InstallArgs) { FILE: packages/cli/src/commands/skills/link.ts type LinkArgs (line 18) | interface LinkArgs { function handleLink (line 24) | async function handleLink(args: LinkArgs) { FILE: packages/cli/src/commands/skills/list.ts function handleList (line 14) | async function handleList(args: { all?: boolean }) { FILE: packages/cli/src/commands/skills/uninstall.ts type UninstallArgs (line 13) | interface UninstallArgs { function handleUninstall (line 18) | async function handleUninstall(args: UninstallArgs) { FILE: packages/cli/src/commands/utils.ts function exitCli (line 9) | async function exitCli(exitCode = 0) { FILE: packages/cli/src/config/auth.ts function validateAuthMethod (line 10) | function validateAuthMethod(authMethod: string): string | null { FILE: packages/cli/src/config/config.integration.test.ts constant CLEARCUT_URL (line 45) | const CLEARCUT_URL = 'https://play.googleapis.com/log'; FILE: packages/cli/src/config/config.test.ts type FileFilteringSettings (line 2887) | type FileFilteringSettings = NonNullable< FILE: packages/cli/src/config/config.ts type CliArgs (line 70) | interface CliArgs { function parseArguments (line 118) | async function parseArguments( function isDebugMode (line 409) | function isDebugMode(argv: CliArgs): boolean { type LoadCliConfigOptions (line 418) | interface LoadCliConfigOptions { function loadCliConfig (line 425) | async function loadCliConfig( function mergeExcludeTools (line 933) | function mergeExcludeTools( FILE: packages/cli/src/config/extension-manager.ts type ExtensionManagerParams (line 87) | interface ExtensionManagerParams { class ExtensionManager (line 103) | class ExtensionManager extends ExtensionLoader { method constructor (line 116) | constructor(options: ExtensionManagerParams) { method getEnablementManager (line 139) | getEnablementManager(): ExtensionEnablementManager { method verifyExtensionIntegrity (line 143) | async verifyExtensionIntegrity( method storeExtensionIntegrity (line 150) | async storeExtensionIntegrity( method setRequestConsent (line 157) | setRequestConsent( method setRequestSetting (line 163) | setRequestSetting( method getExtensions (line 169) | getExtensions(): GeminiCLIExtension[] { method installOrUpdateExtension (line 178) | async installOrUpdateExtension( method uninstallExtension (line 546) | async uninstallExtension( method startExtension (line 589) | protected override async startExtension(extension: GeminiCLIExtension) { method stopExtension (line 596) | protected override async stopExtension(extension: GeminiCLIExtension) { method loadExtensions (line 606) | async loadExtensions(): Promise { method loadExtension (line 676) | async loadExtension( method _buildExtension (line 706) | private async _buildExtension( method restartExtension (line 1001) | override async restartExtension( method unloadExtension (line 1013) | private unloadExtension( method loadExtensionConfig (line 1022) | async loadExtensionConfig(extensionDir: string): Promise { function copyExtension (line 1271) | async function copyExtension( function getContextFileNames (line 1279) | function getContextFileNames(config: ExtensionConfig): string[] { function validateName (line 1288) | function validateName(name: string) { function inferInstallMetadata (line 1296) | async function inferInstallMetadata( function getExtensionId (line 1335) | function getExtensionId( function hashValue (line 1359) | function hashValue(value: string): string { FILE: packages/cli/src/config/extension.test.ts type MockKeychainStorage (line 150) | interface MockKeychainStorage { function isEnabled (line 2345) | function isEnabled(options: { name: string; enabledForPath: string }) { FILE: packages/cli/src/config/extension.ts type ExtensionConfig (line 24) | interface ExtensionConfig { type ExtensionUpdateInfo (line 51) | interface ExtensionUpdateInfo { function loadInstallMetadata (line 57) | function loadInstallMetadata( FILE: packages/cli/src/config/extensionRegistryClient.ts type RegistryExtension (line 15) | interface RegistryExtension { class ExtensionRegistryClient (line 36) | class ExtensionRegistryClient { method constructor (line 45) | constructor(registryURI?: string) { method resetCache (line 51) | static resetCache() { method getExtensions (line 55) | async getExtensions( method searchExtensions (line 85) | async searchExtensions(query: string): Promise { method getExtension (line 102) | async getExtension(id: string): Promise { method fetchAllExtensions (line 107) | private async fetchAllExtensions(): Promise { FILE: packages/cli/src/config/extensions/consent.test.ts function expectConsentSnapshot (line 61) | async function expectConsentSnapshot(consentString: string) { function normalizePathsForSnapshot (line 72) | function normalizePathsForSnapshot(str: string, tempDir: string): string { FILE: packages/cli/src/config/extensions/consent.ts constant INSTALL_WARNING_MESSAGE (line 16) | const INSTALL_WARNING_MESSAGE = chalk.yellow( constant SKILLS_WARNING_MESSAGE (line 20) | const SKILLS_WARNING_MESSAGE = chalk.yellow( function skillsConsentString (line 27) | async function skillsConsentString( function requestConsentNonInteractive (line 59) | async function requestConsentNonInteractive( function requestConsentInteractive (line 78) | async function requestConsentInteractive( function promptForConsentNonInteractive (line 97) | async function promptForConsentNonInteractive( function promptForConsentInteractive (line 129) | async function promptForConsentInteractive( function extensionConsentString (line 147) | async function extensionConsentString( function renderSkillsList (line 218) | async function renderSkillsList(skills: SkillDefinition[]): Promise): string { function promptForSetting (line 160) | async function promptForSetting( function getScopedEnvContents (line 172) | async function getScopedEnvContents( function getEnvContents (line 205) | async function getEnvContents( function updateSetting (line 229) | async function updateSetting( type settingsChanges (line 306) | interface settingsChanges { function getSettingsChanges (line 312) | function getSettingsChanges( function clearSettings (line 340) | async function clearSettings( function getMissingSettings (line 360) | async function getMissingSettings( FILE: packages/cli/src/config/extensions/extensionUpdates.test.ts method constructor (line 116) | constructor(public name: string) {} method getExtensionDir (line 117) | getExtensionDir() { method getUserExtensionsDir (line 120) | static getUserExtensionsDir() { method createTmpDir (line 123) | static createTmpDir() { FILE: packages/cli/src/config/extensions/github.ts function cloneFromGit (line 31) | async function cloneFromGit( type GithubRepoInfo (line 82) | interface GithubRepoInfo { function tryParseGithubUrl (line 87) | function tryParseGithubUrl(source: string): GithubRepoInfo | null { function fetchReleaseFromGithub (line 135) | async function fetchReleaseFromGithub( function checkForExtensionUpdate (line 170) | async function checkForExtensionUpdate( type GitHubDownloadResult (line 300) | type GitHubDownloadResult = function downloadFromGitHubRelease (line 319) | async function downloadFromGitHubRelease( type GithubReleaseData (line 464) | interface GithubReleaseData { type Asset (line 471) | interface Asset { function findReleaseAsset (line 476) | function findReleaseAsset(assets: Asset[]): Asset | undefined { type DownloadOptions (line 513) | interface DownloadOptions { function downloadFile (line 517) | async function downloadFile( function extractFile (line 564) | async function extractFile(file: string, dest: string): Promise { FILE: packages/cli/src/config/extensions/github_fetch.ts function getGitHubToken (line 9) | function getGitHubToken(): string | undefined { function fetchJson (line 13) | async function fetchJson( FILE: packages/cli/src/config/extensions/storage.ts class ExtensionStorage (line 16) | class ExtensionStorage { method constructor (line 19) | constructor(extensionName: string) { method getExtensionDir (line 23) | getExtensionDir(): string { method getConfigPath (line 30) | getConfigPath(): string { method getEnvFilePath (line 34) | getEnvFilePath(): string { method getUserExtensionsDir (line 38) | static getUserExtensionsDir(): string { method createTmpDir (line 42) | static async createTmpDir(): Promise { FILE: packages/cli/src/config/extensions/update.ts type ExtensionUpdateInfo (line 24) | interface ExtensionUpdateInfo { function updateExtension (line 30) | async function updateExtension( function updateAllUpdatableExtensions (line 152) | async function updateAllUpdatableExtensions( type ExtensionUpdateCheckResult (line 180) | interface ExtensionUpdateCheckResult { function checkForAllExtensionUpdates (line 185) | async function checkForAllExtensionUpdates( FILE: packages/cli/src/config/extensions/variableSchema.ts type VariableDefinition (line 7) | interface VariableDefinition { type VariableSchema (line 14) | interface VariableSchema { constant PATH_SEPARATOR_DEFINITION (line 18) | const PATH_SEPARATOR_DEFINITION = { constant VARIABLE_SCHEMA (line 23) | const VARIABLE_SCHEMA = { FILE: packages/cli/src/config/extensions/variables.ts constant UNMARSHALL_KEY_IGNORE_LIST (line 15) | const UNMARSHALL_KEY_IGNORE_LIST: Set = new Set([ constant EXTENSIONS_DIRECTORY_NAME (line 21) | const EXTENSIONS_DIRECTORY_NAME = path.join(GEMINI_DIR, 'extensions'); constant EXTENSIONS_CONFIG_FILENAME (line 22) | const EXTENSIONS_CONFIG_FILENAME = 'gemini-extension.json'; constant INSTALL_METADATA_FILENAME (line 23) | const INSTALL_METADATA_FILENAME = '.gemini-extension-install.json'; constant EXTENSION_SETTINGS_FILENAME (line 24) | const EXTENSION_SETTINGS_FILENAME = '.env'; type JsonObject (line 26) | type JsonObject = { [key: string]: JsonValue }; type JsonArray (line 27) | type JsonArray = JsonValue[]; type JsonValue (line 28) | type JsonValue = type VariableContext (line 36) | type VariableContext = { function validateVariables (line 40) | function validateVariables( function hydrateString (line 52) | function hydrateString(str: string, context: VariableContext): string { function recursivelyHydrateStrings (line 60) | function recursivelyHydrateStrings( FILE: packages/cli/src/config/footerItems.ts constant ALL_ITEMS (line 9) | const ALL_ITEMS = [ type FooterItemId (line 62) | type FooterItemId = (typeof ALL_ITEMS)[number]['id']; constant DEFAULT_ORDER (line 64) | const DEFAULT_ORDER = [ function deriveItemsFromLegacySettings (line 77) | function deriveItemsFromLegacySettings( constant VALID_IDS (line 114) | const VALID_IDS: Set = new Set(ALL_ITEMS.map((i) => i.id)); function resolveFooterState (line 120) | function resolveFooterState(settings: MergedSettings): { FILE: packages/cli/src/config/mcp/mcpServerEnablement.test.ts function createMockEnablement (line 32) | function createMockEnablement( function setupFsMocks (line 42) | function setupFsMocks(): void { FILE: packages/cli/src/config/mcp/mcpServerEnablement.ts type McpServerEnablementState (line 14) | interface McpServerEnablementState { type McpServerEnablementConfig (line 21) | interface McpServerEnablementConfig { type McpServerDisplayState (line 28) | interface McpServerDisplayState { type EnablementCallbacks (line 40) | interface EnablementCallbacks { type ServerLoadResult (line 48) | interface ServerLoadResult { function normalizeServerId (line 57) | function normalizeServerId(serverId: string): string { function isInSettingsList (line 65) | function isInSettingsList( function canLoadServer (line 100) | async function canLoadServer( constant MCP_ENABLEMENT_FILENAME (line 181) | const MCP_ENABLEMENT_FILENAME = 'mcp-server-enablement.json'; class McpServerEnablementManager (line 193) | class McpServerEnablementManager { method getInstance (line 203) | static getInstance(): McpServerEnablementManager { method resetInstance (line 213) | static resetInstance(): void { method constructor (line 217) | constructor() { method isFileEnabled (line 226) | async isFileEnabled(serverName: string): Promise { method isSessionDisabled (line 235) | isSessionDisabled(serverName: string): boolean { method isEffectivelyEnabled (line 243) | async isEffectivelyEnabled(serverName: string): Promise { method enable (line 254) | async enable(serverName: string): Promise { method disable (line 268) | async disable(serverName: string): Promise { method disableForSession (line 277) | disableForSession(serverName: string): void { method clearSessionDisable (line 284) | clearSessionDisable(serverName: string): void { method getDisplayState (line 291) | async getDisplayState(serverName: string): Promise { method readConfig (line 358) | private async readConfig(): Promise { method writeConfig (line 383) | private async writeConfig(config: McpServerEnablementConfig): Promise<... FILE: packages/cli/src/config/policy.ts function setAutoAcceptWorkspacePolicies (line 34) | function setAutoAcceptWorkspacePolicies(value: boolean) { function setDisableWorkspacePolicies (line 48) | function setDisableWorkspacePolicies(value: boolean) { function createPolicyEngineConfig (line 52) | async function createPolicyEngineConfig( function createPolicyUpdater (line 74) | function createPolicyUpdater( type WorkspacePolicyState (line 82) | interface WorkspacePolicyState { function resolveWorkspacePolicyState (line 90) | async function resolveWorkspacePolicyState(options: { FILE: packages/cli/src/config/sandboxConfig.test.ts method constructor (line 20) | constructor(message: string) { FILE: packages/cli/src/config/sandboxConfig.ts type SandboxCliArgs (line 23) | interface SandboxCliArgs { constant VALID_SANDBOX_COMMANDS (line 26) | const VALID_SANDBOX_COMMANDS = [ function isSandboxCommand (line 35) | function isSandboxCommand( function getSandboxCommand (line 43) | function getSandboxCommand( function loadSandboxConfig (line 126) | async function loadSandboxConfig( FILE: packages/cli/src/config/settings-validation.ts function buildZodSchemaFromJsonSchema (line 17) | function buildZodSchemaFromJsonSchema(def: any): z.ZodTypeAny { function buildEnumSchema (line 80) | function buildEnumSchema( function buildObjectShapeFromProperties (line 116) | function buildObjectShapeFromProperties( function buildPrimitiveSchema (line 129) | function buildPrimitiveSchema( constant REF_SCHEMAS (line 144) | const REF_SCHEMAS: Record = {}; function buildZodSchemaFromDefinition (line 154) | function buildZodSchemaFromDefinition( function buildZodSchemaFromCollection (line 225) | function buildZodSchemaFromCollection( function buildSettingsZodSchema (line 264) | function buildSettingsZodSchema(): z.ZodObject void): () => void { method getSnapshot (line 419) | getSnapshot(): LoadedSettingsSnapshot { method forScope (line 423) | forScope(scope: LoadableSettingScope): SettingsFile { method isPersistable (line 438) | private isPersistable(settingsFile: SettingsFile): boolean { method setValue (line 442) | setValue(scope: LoadableSettingScope, key: string, value: unknown): vo... method setRemoteAdminSettings (line 468) | setRemoteAdminSettings(remoteSettings: AdminControlsSettings): void { function findEnvFile (line 497) | function findEnvFile(startDir: string): string | null { function setUpCloudShellEnvironment (line 526) | function setUpCloudShellEnvironment( function loadEnvironment (line 552) | function loadEnvironment( function resetSettingsCacheForTesting (line 631) | function resetSettingsCacheForTesting() { function loadSettings (line 639) | function loadSettings( function _doLoadSettings (line 651) | function _doLoadSettings(workspaceDir: string): LoadedSettings { function migrateDeprecatedSettings (line 830) | function migrateDeprecatedSettings( function saveSettings (line 1058) | function saveSettings(settingsFile: SettingsFile): void { function saveModelChange (line 1086) | function saveModelChange( function migrateExperimentalSettings (line 1102) | function migrateExperimentalSettings( FILE: packages/cli/src/config/settingsSchema.ts type SettingsType (line 28) | type SettingsType = type SettingsValue (line 36) | type SettingsValue = constant TOGGLE_TYPES (line 49) | const TOGGLE_TYPES: ReadonlySet = new Set([ type SettingEnumOption (line 54) | interface SettingEnumOption { function oneLine (line 59) | function oneLine(strings: TemplateStringsArray, ...values: unknown[]): s... type SettingCollectionDefinition (line 70) | interface SettingCollectionDefinition { type MergeStrategy (line 88) | enum MergeStrategy { type SettingDefinition (line 99) | interface SettingDefinition { type SettingsSchema (line 133) | interface SettingsSchema { type MemoryImportFormat (line 137) | type MemoryImportFormat = 'tree' | 'flat'; type DnsResolutionOrder (line 138) | type DnsResolutionOrder = 'ipv4first' | 'verbatim'; constant SETTINGS_SCHEMA (line 157) | const SETTINGS_SCHEMA = { type SettingsSchemaType (line 2490) | type SettingsSchemaType = typeof SETTINGS_SCHEMA; type SettingsJsonSchemaDefinition (line 2492) | type SettingsJsonSchemaDefinition = Record; constant SETTINGS_SCHEMA_DEFINITIONS (line 2494) | const SETTINGS_SCHEMA_DEFINITIONS: Record< function getSettingsSchema (line 3021) | function getSettingsSchema(): SettingsSchemaType { type InferSettings (line 3025) | type InferSettings = { type InferMergedSettings (line 3041) | type InferMergedSettings = { type Settings (line 3057) | type Settings = InferSettings; type MergedSettings (line 3058) | type MergedSettings = InferMergedSettings; FILE: packages/cli/src/config/settings_repro.test.ts constant MOCK_WORKSPACE_DIR (line 53) | const MOCK_WORKSPACE_DIR = '/mock/workspace'; FILE: packages/cli/src/config/settings_validation_warning.test.ts constant MOCK_WORKSPACE_DIR (line 87) | const MOCK_WORKSPACE_DIR = '/mock/workspace'; FILE: packages/cli/src/config/trustedFolders.test.ts function setup (line 160) | function setup(config: Record) { FILE: packages/cli/src/config/trustedFolders.ts constant TRUSTED_FOLDERS_FILENAME (line 27) | const TRUSTED_FOLDERS_FILENAME = 'trustedFolders.json'; function getUserSettingsDir (line 29) | function getUserSettingsDir(): string { function getTrustedFoldersPath (line 33) | function getTrustedFoldersPath(): string { type TrustLevel (line 40) | enum TrustLevel { function isTrustLevel (line 46) | function isTrustLevel( type TrustRule (line 56) | interface TrustRule { type TrustedFoldersError (line 61) | interface TrustedFoldersError { type TrustedFoldersFile (line 66) | interface TrustedFoldersFile { type TrustResult (line 71) | interface TrustResult { function parseTrustedFoldersJson (line 81) | function parseTrustedFoldersJson(content: string): unknown { function clearRealPathCacheForTesting (line 89) | function clearRealPathCacheForTesting(): void { function getRealPath (line 93) | function getRealPath(location: string): string { class LoadedTrustedFolders (line 109) | class LoadedTrustedFolders { method constructor (line 110) | constructor( method rules (line 115) | get rules(): TrustRule[] { method isPathTrusted (line 129) | isPathTrusted( method setValue (line 172) | async setValue(folderPath: string, trustLevel: TrustLevel): Promise( FILE: packages/cli/src/gemini.test.tsx class MockProcessExitError (line 165) | class MockProcessExitError extends Error { method constructor (line 166) | constructor(readonly code?: string | number | null | undefined) { function startTestInteractiveUI (line 1353) | async function startTestInteractiveUI( FILE: packages/cli/src/gemini.tsx function validateDnsResolutionOrder (line 94) | function validateDnsResolutionOrder( function getNodeMemoryArgs (line 111) | function getNodeMemoryArgs(isDebugMode: boolean): string[] { function setupUnhandledRejectionHandler (line 142) | function setupUnhandledRejectionHandler() { function startInteractiveUI (line 164) | async function startInteractiveUI( function main (line 184) | async function main() { function initializeOutputListenersAndFlush (line 688) | function initializeOutputListenersAndFlush() { function setupAdminControlsListener (line 724) | function setupAdminControlsListener() { FILE: packages/cli/src/interactiveCli.tsx constant SLOW_RENDER_MS (line 50) | const SLOW_RENDER_MS = 200; function startInteractiveUI (line 52) | async function startInteractiveUI( function setWindowTitle (line 187) | function setWindowTitle(title: string, settings: LoadedSettings) { FILE: packages/cli/src/nonInteractiveCli.ts type RunNonInteractiveParams (line 50) | interface RunNonInteractiveParams { function runNonInteractive (line 58) | async function runNonInteractive({ FILE: packages/cli/src/services/BuiltinCommandLoader.ts class BuiltinCommandLoader (line 69) | class BuiltinCommandLoader implements ICommandLoader { method constructor (line 70) | constructor(private config: Config | null) {} method loadCommands (line 79) | async loadCommands(_signal: AbortSignal): Promise { FILE: packages/cli/src/services/CommandService.test.ts class MockCommandLoader (line 20) | class MockCommandLoader implements ICommandLoader { method constructor (line 21) | constructor(private readonly commands: SlashCommand[]) {} FILE: packages/cli/src/services/CommandService.ts class CommandService (line 23) | class CommandService { method constructor (line 29) | private constructor( method create (line 44) | static async create( method loadAllCommands (line 65) | private static async loadAllCommands( method emitConflictEvents (line 87) | private static emitConflictEvents(conflicts: CommandConflict[]): void { method getCommands (line 112) | getCommands(): readonly SlashCommand[] { method getConflicts (line 121) | getConflicts(): readonly CommandConflict[] { FILE: packages/cli/src/services/FileCommandLoader.test.ts method constructor (line 39) | constructor( FILE: packages/cli/src/services/FileCommandLoader.ts type CommandDirectory (line 37) | interface CommandDirectory { class FileCommandLoader (line 66) | class FileCommandLoader implements ICommandLoader { method constructor (line 71) | constructor(private readonly config: Config | null) { method loadCommands (line 88) | async loadCommands(signal: AbortSignal): Promise { method getCommandDirectories (line 149) | private getCommandDirectories(): CommandDirectory[] { method parseAndAdaptFile (line 194) | private async parseAndAdaptFile( FILE: packages/cli/src/services/McpPromptLoader.ts class McpPromptLoader (line 25) | class McpPromptLoader implements ICommandLoader { method constructor (line 26) | constructor(private readonly config: Config | null) {} method loadCommands (line 35) | loadCommands(_signal: AbortSignal): Promise { method parseArgs (line 232) | parseArgs( FILE: packages/cli/src/services/SkillCommandLoader.ts class SkillCommandLoader (line 14) | class SkillCommandLoader implements ICommandLoader { method constructor (line 15) | constructor(private config: Config | null) {} method loadCommands (line 24) | async loadCommands(_signal: AbortSignal): Promise { FILE: packages/cli/src/services/SlashCommandConflictHandler.ts class SlashCommandConflictHandler (line 21) | class SlashCommandConflictHandler { method constructor (line 26) | constructor() { method start (line 30) | start() { method stop (line 34) | stop() { method handleConflicts (line 42) | private handleConflicts(payload: SlashCommandConflictsPayload) { method scheduleFlush (line 61) | private scheduleFlush() { method flush (line 69) | private flush() { method emitGroupedFeedback (line 98) | private emitGroupedFeedback( method emitSingleFeedback (line 122) | private emitSingleFeedback(c: SlashCommandConflict): void { method capitalize (line 140) | private capitalize(s: string): string { method getSourceDescription (line 147) | private getSourceDescription( FILE: packages/cli/src/services/SlashCommandResolver.ts class CommandRegistry (line 13) | class CommandRegistry { method finalCommands (line 18) | get finalCommands(): SlashCommand[] { method conflicts (line 22) | get conflicts(): CommandConflict[] { class SlashCommandResolver (line 35) | class SlashCommandResolver { method resolve (line 40) | static resolve(allCommands: SlashCommand[]): { method handleConflict (line 78) | private static handleConflict( method prefixExistingCommand (line 118) | private static prefixExistingCommand( method getRenamedName (line 155) | private static getRenamedName( method getPrefix (line 174) | private static getPrefix(cmd: SlashCommand): string | undefined { method trackConflict (line 192) | private static trackConflict( FILE: packages/cli/src/services/prompt-processors/argumentProcessor.ts class DefaultArgumentProcessor (line 17) | class DefaultArgumentProcessor implements IPromptProcessor { method process (line 18) | async process( FILE: packages/cli/src/services/prompt-processors/atFileProcessor.test.ts method config (line 34) | get config() { FILE: packages/cli/src/services/prompt-processors/atFileProcessor.ts class AtFileProcessor (line 21) | class AtFileProcessor implements IPromptProcessor { method constructor (line 22) | constructor(private readonly commandName?: string) {} method process (line 24) | async process( FILE: packages/cli/src/services/prompt-processors/injectionParser.ts type Injection (line 10) | interface Injection { function extractInjections (line 31) | function extractInjections( FILE: packages/cli/src/services/prompt-processors/shellProcessor.test.ts function getExpectedEscapedArgForPlatform (line 24) | function getExpectedEscapedArgForPlatform(arg: string): string { function createPromptPipelineContent (line 39) | function createPromptPipelineContent(text: string): PromptPipelineContent { constant SUCCESS_RESULT (line 57) | const SUCCESS_RESULT = { method config (line 92) | get config() { FILE: packages/cli/src/services/prompt-processors/shellProcessor.ts class ConfirmationRequiredError (line 24) | class ConfirmationRequiredError extends Error { method constructor (line 25) | constructor( type ResolvedShellInjection (line 38) | interface ResolvedShellInjection extends Injection { class ShellProcessor (line 53) | class ShellProcessor implements IPromptProcessor { method constructor (line 54) | constructor(private readonly commandName: string) {} method process (line 56) | async process( method processString (line 65) | private async processString( FILE: packages/cli/src/services/prompt-processors/types.ts type PromptPipelineContent (line 13) | type PromptPipelineContent = PartUnion[]; type IPromptProcessor (line 20) | interface IPromptProcessor { constant SHORTHAND_ARGS_PLACEHOLDER (line 44) | const SHORTHAND_ARGS_PLACEHOLDER = '{{args}}'; constant SHELL_INJECTION_TRIGGER (line 49) | const SHELL_INJECTION_TRIGGER = '!{'; constant AT_FILE_INJECTION_TRIGGER (line 54) | const AT_FILE_INJECTION_TRIGGER = '@{'; FILE: packages/cli/src/services/types.ts type ICommandLoader (line 17) | interface ICommandLoader { type CommandConflict (line 26) | interface CommandConflict { FILE: packages/cli/src/test-utils/AppRig.tsx class MockExtensionManager (line 118) | class MockExtensionManager extends ExtensionLoader { type AppRigOptions (line 144) | interface AppRigOptions { type PendingConfirmation (line 151) | interface PendingConfirmation { class AppRig (line 157) | class AppRig { method constructor (line 173) | constructor(private options: AppRigOptions = {}) { method initialize (line 182) | async initialize() { method setupEnvironment (line 226) | private setupEnvironment() { method createRigSettings (line 244) | private createRigSettings(): LoadedSettings { method stubRefreshAuth (line 286) | private stubRefreshAuth() { method setupMessageBusListeners (line 317) | private setupMessageBusListeners() { method isBusy (line 357) | isBusy(): boolean { method render (line 396) | async render() { method setMockCommands (line 425) | setMockCommands(commands: MockShellCommand[]) { method setToolPolicy (line 429) | setToolPolicy( method setBreakpoint (line 443) | setBreakpoint(toolName: string | string[] | undefined) { method removeToolPolicy (line 456) | removeToolPolicy(toolName?: string, source = 'AppRig Override') { method getTestDir (line 467) | getTestDir(): string { method getPendingConfirmations (line 471) | getPendingConfirmations() { method waitUntil (line 475) | private async waitUntil( method waitForPendingConfirmation (line 499) | async waitForPendingConfirmation( method waitForNextEvent (line 544) | async waitForNextEvent( method resolveTool (line 579) | async resolveTool( method resolveAwaitedTool (line 617) | async resolveAwaitedTool( method addUserHint (line 627) | async addUserHint(hint: string) { method drainBreakpointsUntilIdle (line 641) | async drainBreakpointsUntilIdle( method getConfig (line 660) | getConfig(): Config { method type (line 665) | async type(text: string) { method pressEnter (line 675) | async pressEnter() { method pressKey (line 679) | async pressKey(key: string) { method lastFrame (line 689) | get lastFrame() { method getStaticOutput (line 694) | getStaticOutput() { method waitForOutput (line 699) | async waitForOutput(pattern: string | RegExp, timeout = 30000) { method waitForIdle (line 714) | async waitForIdle(timeout = 20000) { method sendMessage (line 718) | async sendMessage(text: string) { method unmount (line 724) | async unmount() { FILE: packages/cli/src/test-utils/MockShellExecutionService.ts type MockShellCommand (line 15) | interface MockShellCommand { type ShellExecutionServiceExecute (line 21) | type ShellExecutionServiceExecute = ( class MockShellExecutionService (line 30) | class MockShellExecutionService { method setOriginalImplementation (line 38) | static setOriginalImplementation( method setPassthrough (line 47) | static setPassthrough(enabled: boolean) { method setMockCommands (line 51) | static setMockCommands(commands: MockShellCommand[]) { method reset (line 55) | static reset() { method execute (line 65) | static async execute( FILE: packages/cli/src/test-utils/async.ts function waitFor (line 15) | async function waitFor( FILE: packages/cli/src/test-utils/createExtension.ts function createExtension (line 20) | function createExtension({ FILE: packages/cli/src/test-utils/customMatchers.ts function toMatchSvgSnapshot (line 20) | async function toMatchSvgSnapshot( function toHaveOnlyValidCharacters (line 81) | function toHaveOnlyValidCharacters(this: Assertion, buffer: TextBuffer) { type Assertion (line 121) | interface Assertion extends CustomMatchers {} type AsymmetricMatchersContaining (line 123) | interface AsymmetricMatchersContaining extends CustomMatchers {} type CustomMatchers (line 125) | interface CustomMatchers { FILE: packages/cli/src/test-utils/mockCommandContext.ts type DeepPartial (line 14) | type DeepPartial = T extends object FILE: packages/cli/src/test-utils/mockConfig.ts function createMockSettings (line 182) | function createMockSettings( FILE: packages/cli/src/test-utils/mockDebugLogger.ts function createMockDebugLogger (line 11) | function createMockDebugLogger(options: { stripAnsi?: boolean } = {}) { function mockCoreDebugLogger (line 60) | function mockCoreDebugLogger>( FILE: packages/cli/src/test-utils/persistentStateFake.ts class FakePersistentState (line 13) | class FakePersistentState { method reset (line 25) | reset() { method mockClear (line 34) | mockClear() { method setData (line 42) | setData(data: Record) { FILE: packages/cli/src/test-utils/render.test.tsx function TestComponent (line 40) | function TestComponent() { FILE: packages/cli/src/test-utils/render.tsx method persistentState (line 68) | get persistentState() { type TerminalState (line 79) | type TerminalState = { type RenderMetrics (line 85) | type RenderMetrics = Parameters>[0]; type InkRenderMetrics (line 87) | interface InkRenderMetrics extends RenderMetrics { function isInkRenderMetrics (line 92) | function isInkRenderMetrics( class XtermStdout (line 105) | class XtermStdout extends EventEmitter { method getColorDepth (line 112) | getColorDepth(): number { method constructor (line 119) | constructor(state: TerminalState, queue: { promise: Promise }) { method columns (line 125) | get columns() { method rows (line 129) | get rows() { method frames (line 133) | get frames(): string[] { method waitUntilReady (line 209) | async waitUntilReady() { class XtermStderr (line 309) | class XtermStderr extends EventEmitter { method constructor (line 315) | constructor(state: TerminalState, queue: { promise: Promise }) { class XtermStdin (line 338) | class XtermStdin extends EventEmitter { method constructor (line 341) | constructor(options: { isTTY?: boolean } = {}) { method setEncoding (line 352) | setEncoding() {} method setRawMode (line 353) | setRawMode() {} method resume (line 354) | resume() {} method pause (line 355) | pause() {} method ref (line 356) | ref() {} method unref (line 357) | unref() {} type RenderInstance (line 366) | type RenderInstance = { method get (line 637) | get(target, prop) { function renderHook (line 768) | function renderHook( function renderHookWithProviders (line 831) | async function renderHookWithProviders( FILE: packages/cli/src/test-utils/settings.ts type MockSettingsFile (line 15) | interface MockSettingsFile { type CreateMockSettingsOptions (line 21) | interface CreateMockSettingsOptions { FILE: packages/cli/src/ui/AppContainer.test.tsx function TestContextConsumer (line 130) | function TestContextConsumer() { function TestChild (line 2582) | function TestChild() { FILE: packages/cli/src/ui/AppContainer.tsx function isToolExecuting (line 174) | function isToolExecuting(pendingHistoryItems: HistoryItemWithoutId[]) { function isToolAwaitingConfirmation (line 185) | function isToolAwaitingConfirmation( type AppContainerProps (line 197) | interface AppContainerProps { constant SHELL_WIDTH_FRACTION (line 216) | const SHELL_WIDTH_FRACTION = 0.89; constant SHELL_HEIGHT_PADDING (line 222) | const SHELL_HEIGHT_PADDING = 10; FILE: packages/cli/src/ui/IdeIntegrationNudge.tsx type IdeIntegrationNudgeResult (line 16) | type IdeIntegrationNudgeResult = { type IdeIntegrationNudgeProps (line 21) | interface IdeIntegrationNudgeProps { function IdeIntegrationNudge (line 26) | function IdeIntegrationNudge({ FILE: packages/cli/src/ui/auth/ApiAuthDialog.tsx type ApiAuthDialogProps (line 19) | interface ApiAuthDialogProps { function ApiAuthDialog (line 26) | function ApiAuthDialog({ FILE: packages/cli/src/ui/auth/AuthDialog.tsx type AuthDialogProps (line 27) | interface AuthDialogProps { function AuthDialog (line 36) | function AuthDialog({ FILE: packages/cli/src/ui/auth/AuthInProgress.tsx type AuthInProgressProps (line 14) | interface AuthInProgressProps { function AuthInProgress (line 18) | function AuthInProgress({ FILE: packages/cli/src/ui/auth/BannedAccountDialog.test.tsx constant DEFAULT_SUSPENSION_INFO (line 55) | const DEFAULT_SUSPENSION_INFO: AccountSuspensionInfo = { FILE: packages/cli/src/ui/auth/BannedAccountDialog.tsx type BannedAccountDialogProps (line 20) | interface BannedAccountDialogProps { function BannedAccountDialog (line 26) | function BannedAccountDialog({ FILE: packages/cli/src/ui/auth/LoginWithGoogleRestartDialog.tsx type LoginWithGoogleRestartDialogProps (line 13) | interface LoginWithGoogleRestartDialogProps { FILE: packages/cli/src/ui/auth/useAuth.ts function validateAuthMethodWithSettings (line 21) | function validateAuthMethodWithSettings( FILE: packages/cli/src/ui/colors.ts method type (line 11) | get type() { method Foreground (line 14) | get Foreground() { method Background (line 17) | get Background() { method LightBlue (line 20) | get LightBlue() { method AccentBlue (line 23) | get AccentBlue() { method AccentPurple (line 26) | get AccentPurple() { method AccentCyan (line 29) | get AccentCyan() { method AccentGreen (line 32) | get AccentGreen() { method AccentYellow (line 35) | get AccentYellow() { method AccentRed (line 38) | get AccentRed() { method DiffAdded (line 41) | get DiffAdded() { method DiffRemoved (line 44) | get DiffRemoved() { method Comment (line 47) | get Comment() { method Gray (line 50) | get Gray() { method DarkGray (line 53) | get DarkGray() { method InputBackground (line 56) | get InputBackground() { method MessageBackground (line 59) | get MessageBackground() { method GradientColors (line 62) | get GradientColors() { FILE: packages/cli/src/ui/commands/aboutCommand.ts function getIdeClientName (line 71) | async function getIdeClientName(context: CommandContext) { FILE: packages/cli/src/ui/commands/agentsCommand.test.ts method config (line 41) | get config() { FILE: packages/cli/src/ui/commands/agentsCommand.ts function enableAction (line 60) | async function enableAction( function disableAction (line 137) | async function disableAction( function configAction (line 217) | async function configAction( function completeAgentsToEnable (line 270) | function completeAgentsToEnable(context: CommandContext, partialArg: str... function completeAgentsToDisable (line 283) | function completeAgentsToDisable(context: CommandContext, partialArg: st... function completeAllAgents (line 292) | function completeAllAgents(context: CommandContext, partialArg: string) { FILE: packages/cli/src/ui/commands/bugCommand.ts function getIdeClientName (line 136) | async function getIdeClientName(context: CommandContext) { FILE: packages/cli/src/ui/commands/chatCommand.ts constant CHECKPOINT_MENU_GROUP (line 32) | const CHECKPOINT_MENU_GROUP = 'checkpoints'; FILE: packages/cli/src/ui/commands/commandsCommand.ts function listAction (line 23) | async function listAction( function reloadAction (line 40) | async function reloadAction( FILE: packages/cli/src/ui/commands/directoryCommand.test.tsx method config (line 88) | get config() { FILE: packages/cli/src/ui/commands/directoryCommand.tsx function finishAddingDirectories (line 30) | async function finishAddingDirectories( FILE: packages/cli/src/ui/commands/extensionsCommand.ts function showMessageIfNoExtensions (line 42) | function showMessageIfNoExtensions( function listAction (line 56) | async function listAction(context: CommandContext) { function updateAction (line 73) | function updateAction(context: CommandContext, args: string): Promise { function downloadFiles (line 108) | async function downloadFiles({ function createDirectory (line 168) | async function createDirectory(dirPath: string): Promise { function downloadSetupFiles (line 179) | async function downloadSetupFiles({ FILE: packages/cli/src/ui/commands/skillsCommand.test.ts method config (line 83) | get config() { type MockSettings (line 300) | interface MockSettings { FILE: packages/cli/src/ui/commands/skillsCommand.ts function listAction (line 31) | async function listAction( function linkAction (line 78) | async function linkAction( function disableAction (line 141) | async function disableAction( function enableAction (line 201) | async function enableAction( function reloadAction (line 246) | async function reloadAction( function disableCompletion (line 332) | function disableCompletion( function enableCompletion (line 346) | function enableCompletion( FILE: packages/cli/src/ui/commands/statsCommand.test.ts method config (line 52) | get config() { method config (line 95) | get config() { FILE: packages/cli/src/ui/commands/statsCommand.ts function getUserIdentity (line 24) | function getUserIdentity(context: CommandContext) { function defaultSessionView (line 39) | async function defaultSessionView(context: CommandContext) { FILE: packages/cli/src/ui/commands/toolsCommand.ts function listTools (line 14) | async function listTools( FILE: packages/cli/src/ui/commands/types.ts type CommandContext (line 29) | interface CommandContext { type QuitActionReturn (line 107) | interface QuitActionReturn { type OpenDialogActionReturn (line 115) | interface OpenDialogActionReturn { type ConfirmShellCommandsActionReturn (line 136) | interface ConfirmShellCommandsActionReturn { type ConfirmActionReturn (line 146) | interface ConfirmActionReturn { type OpenCustomDialogActionReturn (line 156) | interface OpenCustomDialogActionReturn { type LogoutActionReturn (line 165) | interface LogoutActionReturn { type SlashCommandActionReturn (line 169) | type SlashCommandActionReturn = type CommandKind (line 178) | enum CommandKind { type SlashCommand (line 189) | interface SlashCommand { FILE: packages/cli/src/ui/components/AboutBox.tsx type AboutBoxProps (line 14) | interface AboutBoxProps { FILE: packages/cli/src/ui/components/AgentConfigDialog.test.tsx type TerminalKeys (line 15) | enum TerminalKeys { FILE: packages/cli/src/ui/components/AgentConfigDialog.tsx type AgentConfigField (line 27) | interface AgentConfigField { constant AGENT_CONFIG_FIELDS (line 39) | const AGENT_CONFIG_FIELDS: AgentConfigField[] = [ type AgentConfigDialogProps (line 106) | interface AgentConfigDialogProps { function setNestedValue (line 120) | function setNestedValue(obj: unknown, path: string[], value: unknown): u... function getFieldDefaultFromDefinition (line 156) | function getFieldDefaultFromDefinition( function AgentConfigDialog (line 190) | function AgentConfigDialog({ FILE: packages/cli/src/ui/components/AnsiOutput.tsx constant DEFAULT_HEIGHT (line 11) | const DEFAULT_HEIGHT = 24; type AnsiOutputProps (line 13) | interface AnsiOutputProps { FILE: packages/cli/src/ui/components/AppHeader.tsx type AppHeaderProps (line 22) | interface AppHeaderProps { constant DEFAULT_ICON (line 27) | const DEFAULT_ICON = `▝▜▄ constant MAC_TERMINAL_ICON (line 39) | const MAC_TERMINAL_ICON = `▝▜▄ FILE: packages/cli/src/ui/components/ApprovalModeIndicator.tsx type ApprovalModeIndicatorProps (line 14) | interface ApprovalModeIndicatorProps { FILE: packages/cli/src/ui/components/AskUserDialog.tsx constant DIALOG_PADDING (line 41) | const DIALOG_PADDING = 4; function isPlainSingleLine (line 46) | function isPlainSingleLine(text: string): boolean { function autoBoldIfPlain (line 81) | function autoBoldIfPlain(text: string): string { type AskUserDialogState (line 88) | interface AskUserDialogState { type AskUserDialogAction (line 94) | type AskUserDialogAction = function askUserDialogReducerLogic (line 112) | function askUserDialogReducerLogic( type AskUserDialogProps (line 163) | interface AskUserDialogProps { type ReviewViewProps (line 196) | interface ReviewViewProps { type TextQuestionViewProps (line 269) | interface TextQuestionViewProps { type OptionItem (line 394) | interface OptionItem { type ChoiceQuestionState (line 402) | interface ChoiceQuestionState { type ChoiceQuestionAction (line 408) | type ChoiceQuestionAction = function choiceQuestionReducer (line 418) | function choiceQuestionReducer( type ChoiceQuestionViewProps (line 489) | interface ChoiceQuestionViewProps { FILE: packages/cli/src/ui/components/BackgroundShellDisplay.tsx type BackgroundShellDisplayProps (line 37) | interface BackgroundShellDisplayProps { constant CONTENT_PADDING_X (line 46) | const CONTENT_PADDING_X = 1; constant BORDER_WIDTH (line 47) | const BORDER_WIDTH = 2; constant MAIN_BORDER_HEIGHT (line 48) | const MAIN_BORDER_HEIGHT = 2; constant HEADER_HEIGHT (line 49) | const HEADER_HEIGHT = 1; constant FOOTER_HEIGHT (line 50) | const FOOTER_HEIGHT = 1; constant TOTAL_OVERHEAD_HEIGHT (line 51) | const TOTAL_OVERHEAD_HEIGHT = constant PROCESS_LIST_HEADER_HEIGHT (line 53) | const PROCESS_LIST_HEADER_HEIGHT = 3; constant TAB_DISPLAY_HORIZONTAL_PADDING (line 54) | const TAB_DISPLAY_HORIZONTAL_PADDING = 4; constant LOG_PATH_OVERHEAD (line 55) | const LOG_PATH_OVERHEAD = 7; FILE: packages/cli/src/ui/components/Banner.tsx function getFormattedBannerContent (line 12) | function getFormattedBannerContent( type BannerProps (line 44) | interface BannerProps { FILE: packages/cli/src/ui/components/Checklist.tsx type ChecklistProps (line 13) | interface ChecklistProps { FILE: packages/cli/src/ui/components/ChecklistItem.tsx type ChecklistStatus (line 12) | type ChecklistStatus = type ChecklistItemData (line 19) | interface ChecklistItemData { type ChecklistItemProps (line 63) | interface ChecklistItemProps { FILE: packages/cli/src/ui/components/CliSpinner.tsx type SpinnerProps (line 12) | type SpinnerProps = ComponentProps; FILE: packages/cli/src/ui/components/ColorsDisplay.tsx type StandardColorRow (line 13) | interface StandardColorRow { type GradientColorRow (line 19) | interface GradientColorRow { type BackgroundColorRow (line 25) | interface BackgroundColorRow { type ColorRow (line 31) | type ColorRow = StandardColorRow | GradientColorRow | BackgroundColorRow; constant VALUE_COLUMN_WIDTH (line 33) | const VALUE_COLUMN_WIDTH = 10; constant COLOR_DESCRIPTIONS (line 35) | const COLOR_DESCRIPTIONS: Record = { type ColorsDisplayProps (line 60) | interface ColorsDisplayProps { function getContrastingTextColor (line 67) | function getContrastingTextColor(hex: string): string { function renderStandardRow (line 204) | function renderStandardRow({ name, value }: StandardColorRow) { function renderGradientRow (line 226) | function renderGradientRow({ name, value }: GradientColorRow) { function renderBackgroundRow (line 252) | function renderBackgroundRow({ name, value }: BackgroundColorRow) { FILE: packages/cli/src/ui/components/ConfigExtensionDialog.tsx type ConfigExtensionDialogProps (line 29) | interface ConfigExtensionDialogProps { type DialogState (line 39) | type DialogState = function run (line 127) | async function run() { FILE: packages/cli/src/ui/components/ConsentPrompt.tsx type ConsentPromptProps (line 13) | type ConsentPromptProps = { FILE: packages/cli/src/ui/components/ConsoleSummaryDisplay.tsx type ConsoleSummaryDisplayProps (line 11) | interface ConsoleSummaryDisplayProps { FILE: packages/cli/src/ui/components/ContextSummaryDisplay.tsx type ContextSummaryDisplayProps (line 14) | interface ContextSummaryDisplayProps { FILE: packages/cli/src/ui/components/DebugProfiler.tsx constant MIN_TIME_FROM_ACTION_TO_BE_IDLE (line 18) | const MIN_TIME_FROM_ACTION_TO_BE_IDLE = 500; constant ACTION_TIMESTAMP_CAPACITY (line 20) | const ACTION_TIMESTAMP_CAPACITY = 2048; constant FRAME_TIMESTAMP_CAPACITY (line 21) | const FRAME_TIMESTAMP_CAPACITY = 2048; method reportAction (line 40) | reportAction() { method reportFrameRendered (line 51) | reportFrameRendered() { method checkForIdleFrames (line 74) | checkForIdleFrames() { method registerFlickerHandler (line 121) | registerFlickerHandler(constrainHeight: boolean) { FILE: packages/cli/src/ui/components/DetailedMessagesDisplay.tsx type DetailedMessagesDisplayProps (line 19) | interface DetailedMessagesDisplayProps { FILE: packages/cli/src/ui/components/DialogManager.tsx type DialogManagerProps (line 41) | interface DialogManagerProps { FILE: packages/cli/src/ui/components/EditorSettingsDialog.tsx type EditorDialogProps (line 29) | interface EditorDialogProps { function EditorSettingsDialog (line 38) | function EditorSettingsDialog({ FILE: packages/cli/src/ui/components/EmptyWalletDialog.tsx type EmptyWalletChoice (line 13) | type EmptyWalletChoice = 'get_credits' | 'use_fallback' | 'stop'; type EmptyWalletDialogProps (line 15) | interface EmptyWalletDialogProps { function EmptyWalletDialog (line 28) | function EmptyWalletDialog({ FILE: packages/cli/src/ui/components/ExitPlanModeDialog.tsx type ExitPlanModeDialogProps (line 29) | interface ExitPlanModeDialogProps { type PlanStatus (line 39) | enum PlanStatus { type PlanContentState (line 45) | interface PlanContentState { type ApprovalOption (line 52) | enum ApprovalOption { function usePlanContent (line 64) | function usePlanContent(planPath: string, config: Config): PlanContentSt... FILE: packages/cli/src/ui/components/FolderTrustDialog.tsx type FolderTrustChoice (line 33) | enum FolderTrustChoice { type FolderTrustDialogProps (line 39) | interface FolderTrustDialogProps { FILE: packages/cli/src/ui/components/Footer.test.tsx method isDevelopment (line 31) | get isDevelopment() { FILE: packages/cli/src/ui/components/Footer.tsx type CwdIndicatorProps (line 33) | interface CwdIndicatorProps { type SandboxIndicatorProps (line 60) | interface SandboxIndicatorProps { type FooterRowItem (line 102) | interface FooterRowItem { constant COLUMN_GAP (line 112) | const COLUMN_GAP = 3; function isFooterItemId (line 166) | function isFooterItemId(id: string): id is FooterItemId { type FooterColumn (line 170) | interface FooterColumn { FILE: packages/cli/src/ui/components/FooterConfigDialog.tsx type FooterConfigDialogProps (line 23) | interface FooterConfigDialogProps { type FooterConfigItem (line 27) | interface FooterConfigItem { type FooterConfigState (line 35) | interface FooterConfigState { type FooterConfigAction (line 40) | type FooterConfigAction = function footerConfigReducer (line 45) | function footerConfigReducer( FILE: packages/cli/src/ui/components/GeminiRespondingSpinner.tsx type GeminiRespondingSpinnerProps (line 19) | interface GeminiRespondingSpinnerProps { FILE: packages/cli/src/ui/components/GeminiSpinner.tsx constant COLOR_CYCLE_DURATION_MS (line 15) | const COLOR_CYCLE_DURATION_MS = 4000; type GeminiSpinnerProps (line 17) | interface GeminiSpinnerProps { FILE: packages/cli/src/ui/components/Header.tsx type HeaderProps (line 15) | interface HeaderProps { FILE: packages/cli/src/ui/components/Help.tsx type Help (line 16) | interface Help { FILE: packages/cli/src/ui/components/HistoryItemDisplay.tsx type HistoryItemDisplayProps (line 41) | interface HistoryItemDisplayProps { FILE: packages/cli/src/ui/components/HookStatusDisplay.tsx type HookStatusDisplayProps (line 12) | interface HookStatusDisplayProps { FILE: packages/cli/src/ui/components/HooksDialog.tsx type HookEntry (line 18) | interface HookEntry { type HooksDialogProps (line 33) | interface HooksDialogProps { constant DEFAULT_MAX_VISIBLE_HOOKS (line 41) | const DEFAULT_MAX_VISIBLE_HOOKS = 8; FILE: packages/cli/src/ui/components/IdeTrustChangeDialog.tsx type IdeTrustChangeDialogProps (line 14) | interface IdeTrustChangeDialogProps { FILE: packages/cli/src/ui/components/InputPrompt.test.tsx function clean (line 4846) | function clean(str: string | undefined): string { FILE: packages/cli/src/ui/components/InputPrompt.tsx function isTerminalPasteTrusted (line 89) | function isTerminalPasteTrusted( type InputPromptProps (line 98) | interface InputPromptProps { function isLargePaste (line 143) | function isLargePaste(text: string): boolean { constant DOUBLE_TAB_CLEAN_UI_TOGGLE_WINDOW_MS (line 151) | const DOUBLE_TAB_CLEAN_UI_TOGGLE_WINDOW_MS = 350; function tryTogglePasteExpansion (line 157) | function tryTogglePasteExpansion(buffer: TextBuffer): boolean { FILE: packages/cli/src/ui/components/LoadingIndicator.tsx type LoadingIndicatorProps (line 19) | interface LoadingIndicatorProps { FILE: packages/cli/src/ui/components/LogoutConfirmationDialog.tsx type LogoutChoice (line 16) | enum LogoutChoice { type LogoutConfirmationDialogProps (line 21) | interface LogoutConfirmationDialogProps { FILE: packages/cli/src/ui/components/LoopDetectionConfirmation.tsx type LoopDetectionConfirmationResult (line 15) | type LoopDetectionConfirmationResult = { type LoopDetectionConfirmationProps (line 19) | interface LoopDetectionConfirmationProps { function LoopDetectionConfirmation (line 23) | function LoopDetectionConfirmation({ FILE: packages/cli/src/ui/components/ModelDialog.test.tsx method constructor (line 42) | constructor(model: string) { type MockConfig (line 60) | interface MockConfig extends Partial { FILE: packages/cli/src/ui/components/ModelDialog.tsx type ModelDialogProps (line 34) | interface ModelDialogProps { function ModelDialog (line 38) | function ModelDialog({ onClose }: ModelDialogProps): React.JSX.Element { FILE: packages/cli/src/ui/components/ModelStatsDisplay.tsx type StatRowData (line 30) | interface StatRowData { type RoleMetrics (line 38) | type RoleMetrics = NonNullable[LlmRol... type ModelStatsDisplayProps (line 40) | interface ModelStatsDisplayProps { FILE: packages/cli/src/ui/components/MultiFolderTrustDialog.tsx type MultiFolderTrustChoice (line 22) | enum MultiFolderTrustChoice { type MultiFolderTrustDialogProps (line 28) | interface MultiFolderTrustDialogProps { FILE: packages/cli/src/ui/components/NewAgentsNotification.tsx type NewAgentsChoice (line 17) | enum NewAgentsChoice { type NewAgentsNotificationProps (line 22) | interface NewAgentsNotificationProps { FILE: packages/cli/src/ui/components/Notifications.tsx constant MAX_STARTUP_WARNING_SHOW_COUNT (line 35) | const MAX_STARTUP_WARNING_SHOW_COUNT = 3; FILE: packages/cli/src/ui/components/OverageMenuDialog.tsx type OverageMenuChoice (line 13) | type OverageMenuChoice = type OverageMenuDialogProps (line 19) | interface OverageMenuDialogProps { function OverageMenuDialog (line 32) | function OverageMenuDialog({ FILE: packages/cli/src/ui/components/PermissionsModifyTrustDialog.tsx type PermissionsDialogProps (line 19) | interface PermissionsDialogProps { type PermissionsModifyTrustDialogProps (line 23) | interface PermissionsModifyTrustDialogProps extends PermissionsDialogPro... function PermissionsModifyTrustDialog (line 28) | function PermissionsModifyTrustDialog({ FILE: packages/cli/src/ui/components/PolicyUpdateDialog.tsx type PolicyUpdateChoice (line 24) | enum PolicyUpdateChoice { type PolicyUpdateDialogProps (line 29) | interface PolicyUpdateDialogProps { FILE: packages/cli/src/ui/components/ProQuotaDialog.tsx type ProQuotaDialogProps (line 14) | interface ProQuotaDialogProps { function ProQuotaDialog (line 27) | function ProQuotaDialog({ FILE: packages/cli/src/ui/components/QueuedMessageDisplay.tsx constant MAX_DISPLAYED_QUEUED_MESSAGES (line 9) | const MAX_DISPLAYED_QUEUED_MESSAGES = 3; type QueuedMessageDisplayProps (line 11) | interface QueuedMessageDisplayProps { FILE: packages/cli/src/ui/components/QuotaDisplay.tsx type QuotaDisplayProps (line 16) | interface QuotaDisplayProps { FILE: packages/cli/src/ui/components/QuotaStatsInfo.tsx type QuotaStatsInfoProps (line 17) | interface QuotaStatsInfoProps { FILE: packages/cli/src/ui/components/RewindConfirmation.tsx type RewindOutcome (line 21) | enum RewindOutcome { constant REWIND_OPTIONS (line 28) | const REWIND_OPTIONS: Array> = [ type RewindConfirmationProps (line 51) | interface RewindConfirmationProps { FILE: packages/cli/src/ui/components/RewindViewer.tsx type RewindViewerProps (line 27) | interface RewindViewerProps { constant MAX_LINES_PER_BOX (line 37) | const MAX_LINES_PER_BOX = 2; FILE: packages/cli/src/ui/components/SessionBrowser.tsx type SessionBrowserProps (line 25) | interface SessionBrowserProps { type SessionBrowserState (line 40) | interface SessionBrowserState { constant SESSIONS_PER_PAGE (line 107) | const SESSIONS_PER_PAGE = 20; constant FIXED_SESSION_COLUMNS_WIDTH (line 111) | const FIXED_SESSION_COLUMNS_WIDTH = 30; function SessionBrowserView (line 682) | function SessionBrowserView({ function SessionBrowser (line 713) | function SessionBrowser({ FILE: packages/cli/src/ui/components/SessionSummaryDisplay.tsx type SessionSummaryDisplayProps (line 12) | interface SessionSummaryDisplayProps { FILE: packages/cli/src/ui/components/SettingsDialog.test.tsx type TerminalKeys (line 39) | enum TerminalKeys { type StringEnum (line 62) | enum StringEnum { constant ENUM_SETTING (line 68) | const ENUM_SETTING: SettingDefinition = { constant MINIMAL_GENERAL_SCHEMA (line 93) | const MINIMAL_GENERAL_SCHEMA = { constant ENUM_FAKE_SCHEMA (line 109) | const ENUM_FAKE_SCHEMA: SettingsSchemaType = { constant ARRAY_FAKE_SCHEMA (line 121) | const ARRAY_FAKE_SCHEMA: SettingsSchemaType = { constant TOOLS_SHELL_FAKE_SCHEMA (line 178) | const TOOLS_SHELL_FAKE_SCHEMA: SettingsSchemaType = { FILE: packages/cli/src/ui/components/SettingsDialog.tsx type FzfResult (line 49) | interface FzfResult { type SettingsDialogProps (line 57) | interface SettingsDialogProps { constant MAX_ITEMS_TO_SHOW (line 63) | const MAX_ITEMS_TO_SHOW = 8; constant KEY_UP (line 65) | const KEY_UP = new KeyBinding('up'); constant KEY_CTRL_P (line 66) | const KEY_CTRL_P = new KeyBinding('ctrl+p'); constant KEY_DOWN (line 67) | const KEY_DOWN = new KeyBinding('down'); constant KEY_CTRL_N (line 68) | const KEY_CTRL_N = new KeyBinding('ctrl+n'); function getActiveRestartRequiredSettings (line 73) | function getActiveRestartRequiredSettings( function SettingsDialog (line 97) | function SettingsDialog({ FILE: packages/cli/src/ui/components/ShellInputPrompt.tsx type ShellInputPromptProps (line 16) | interface ShellInputPromptProps { FILE: packages/cli/src/ui/components/ShortcutsHelp.tsx type ShortcutItem (line 16) | type ShortcutItem = { FILE: packages/cli/src/ui/components/ShowMoreLines.tsx type ShowMoreLinesProps (line 13) | interface ShowMoreLinesProps { FILE: packages/cli/src/ui/components/StatsDisplay.tsx type StatRowProps (line 43) | interface StatRowProps { type SubStatRowProps (line 59) | interface SubStatRowProps { type SectionProps (line 75) | interface SectionProps { type StatsDisplayProps (line 512) | interface StatsDisplayProps { FILE: packages/cli/src/ui/components/StatusDisplay.test.tsx type UIStateOverrides (line 37) | type UIStateOverrides = Partial> & { FILE: packages/cli/src/ui/components/StatusDisplay.tsx type StatusDisplayProps (line 16) | interface StatusDisplayProps { FILE: packages/cli/src/ui/components/StickyHeader.tsx type StickyHeaderProps (line 11) | interface StickyHeaderProps { FILE: packages/cli/src/ui/components/SuggestionsDisplay.tsx type Suggestion (line 14) | interface Suggestion { type SuggestionsDisplayProps (line 24) | interface SuggestionsDisplayProps { constant MAX_SUGGESTIONS_TO_SHOW (line 35) | const MAX_SUGGESTIONS_TO_SHOW = 8; function SuggestionsDisplay (line 38) | function SuggestionsDisplay({ FILE: packages/cli/src/ui/components/Table.tsx type Column (line 11) | interface Column { type TableProps (line 21) | interface TableProps { function Table (line 26) | function Table({ data, columns }: TableProps) { FILE: packages/cli/src/ui/components/ThemeDialog.test.tsx method isDevelopment (line 21) | get isDevelopment() { FILE: packages/cli/src/ui/components/ThemeDialog.tsx type ThemeDialogProps (line 29) | interface ThemeDialogProps { function generateThemeItem (line 49) | function generateThemeItem( function ThemeDialog (line 80) | function ThemeDialog({ FILE: packages/cli/src/ui/components/Tips.tsx type TipsProps (line 12) | interface TipsProps { FILE: packages/cli/src/ui/components/ToastDisplay.tsx function shouldShowToast (line 13) | function shouldShowToast(uiState: UIState): boolean { FILE: packages/cli/src/ui/components/ToolConfirmationQueue.tsx function getConfirmationHeader (line 21) | function getConfirmationHeader( type ToolConfirmationQueueProps (line 36) | interface ToolConfirmationQueueProps { FILE: packages/cli/src/ui/components/ToolStatsDisplay.tsx constant TOOL_NAME_COL_WIDTH (line 21) | const TOOL_NAME_COL_WIDTH = 25; constant CALLS_COL_WIDTH (line 22) | const CALLS_COL_WIDTH = 8; constant SUCCESS_RATE_COL_WIDTH (line 23) | const SUCCESS_RATE_COL_WIDTH = 15; constant AVG_DURATION_COL_WIDTH (line 24) | const AVG_DURATION_COL_WIDTH = 15; FILE: packages/cli/src/ui/components/UpdateNotification.tsx type UpdateNotificationProps (line 10) | interface UpdateNotificationProps { FILE: packages/cli/src/ui/components/UserIdentity.tsx type UserIdentityProps (line 18) | interface UserIdentityProps { FILE: packages/cli/src/ui/components/ValidationDialog.tsx type ValidationDialogProps (line 22) | interface ValidationDialogProps { type DialogState (line 29) | type DialogState = 'choosing' | 'waiting' | 'complete' | 'error'; function ValidationDialog (line 31) | function ValidationDialog({ FILE: packages/cli/src/ui/components/messages/CompressionMessage.tsx type CompressionDisplayProps (line 14) | interface CompressionDisplayProps { function CompressionMessage (line 22) | function CompressionMessage({ FILE: packages/cli/src/ui/components/messages/DiffRenderer.tsx type DiffLine (line 17) | interface DiffLine { function parseDiffWithLineNumbers (line 24) | function parseDiffWithLineNumbers(diffContent: string): DiffLine[] { type DiffRendererProps (line 84) | interface DiffRendererProps { constant DEFAULT_TAB_WIDTH (line 93) | const DEFAULT_TAB_WIDTH = 4; FILE: packages/cli/src/ui/components/messages/ErrorMessage.tsx type ErrorMessageProps (line 11) | interface ErrorMessageProps { FILE: packages/cli/src/ui/components/messages/GeminiMessage.tsx type GeminiMessageProps (line 14) | interface GeminiMessageProps { FILE: packages/cli/src/ui/components/messages/GeminiMessageContent.tsx type GeminiMessageContentProps (line 12) | interface GeminiMessageContentProps { FILE: packages/cli/src/ui/components/messages/HintMessage.tsx type HintMessageProps (line 14) | interface HintMessageProps { FILE: packages/cli/src/ui/components/messages/InfoMessage.tsx type InfoMessageProps (line 12) | interface InfoMessageProps { FILE: packages/cli/src/ui/components/messages/ModelMessage.tsx type ModelMessageProps (line 12) | interface ModelMessageProps { FILE: packages/cli/src/ui/components/messages/ShellToolMessage.tsx type ShellToolMessageProps (line 38) | interface ShellToolMessageProps extends ToolMessageProps { FILE: packages/cli/src/ui/components/messages/SubagentGroupDisplay.tsx type SubagentGroupDisplayProps (line 23) | interface SubagentGroupDisplayProps { FILE: packages/cli/src/ui/components/messages/SubagentProgressDisplay.tsx type SubagentProgressDisplayProps (line 20) | interface SubagentProgressDisplayProps { FILE: packages/cli/src/ui/components/messages/ThinkingMessage.tsx type ThinkingMessageProps (line 14) | interface ThinkingMessageProps { constant THINKING_LEFT_PADDING (line 20) | const THINKING_LEFT_PADDING = 1; function normalizeThoughtLines (line 22) | function normalizeThoughtLines(thought: ThoughtSummary): string[] { FILE: packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx type ToolConfirmationMessageProps (line 47) | interface ToolConfirmationMessageProps { constant REDIRECTION_WARNING_NOTE_LABEL (line 57) | const REDIRECTION_WARNING_NOTE_LABEL = 'Note: '; constant REDIRECTION_WARNING_NOTE_TEXT (line 58) | const REDIRECTION_WARNING_NOTE_TEXT = constant REDIRECTION_WARNING_TIP_LABEL (line 60) | const REDIRECTION_WARNING_TIP_LABEL = 'Tip: '; FILE: packages/cli/src/ui/components/messages/ToolGroupMessage.tsx type ToolGroupMessageProps (line 31) | interface ToolGroupMessageProps { constant TOOL_MESSAGE_HORIZONTAL_MARGIN (line 43) | const TOOL_MESSAGE_HORIZONTAL_MARGIN = 4; FILE: packages/cli/src/ui/components/messages/ToolMessage.tsx type ToolMessageProps (line 30) | interface ToolMessageProps extends IndividualToolCallDisplay { FILE: packages/cli/src/ui/components/messages/ToolResultDisplay.tsx type ToolResultDisplayProps (line 29) | interface ToolResultDisplayProps { type FileDiffResult (line 39) | interface FileDiffResult { FILE: packages/cli/src/ui/components/messages/ToolShared.tsx constant STATUS_INDICATOR_WIDTH (line 29) | const STATUS_INDICATOR_WIDTH = 3; function isShellTool (line 34) | function isShellTool(name: string): boolean { function isThisShellFocusable (line 45) | function isThisShellFocusable( function isThisShellFocused (line 60) | function isThisShellFocused( function useFocusHint (line 78) | function useFocusHint( type TextEmphasis (line 135) | type TextEmphasis = 'high' | 'medium' | 'low'; type ToolStatusIndicatorProps (line 137) | type ToolStatusIndicatorProps = { type ToolInfoProps (line 190) | type ToolInfoProps = { type McpProgressIndicatorProps (line 249) | interface McpProgressIndicatorProps { FILE: packages/cli/src/ui/components/messages/UserMessage.tsx type UserMessageProps (line 20) | interface UserMessageProps { FILE: packages/cli/src/ui/components/messages/UserShellMessage.tsx type UserShellMessageProps (line 13) | interface UserShellMessageProps { FILE: packages/cli/src/ui/components/messages/WarningMessage.tsx type WarningMessageProps (line 12) | interface WarningMessageProps { FILE: packages/cli/src/ui/components/shared/BaseSelectionList.tsx type RenderItemContext (line 16) | interface RenderItemContext { type BaseSelectionListProps (line 22) | interface BaseSelectionListProps< function BaseSelectionList (line 55) | function BaseSelectionList< FILE: packages/cli/src/ui/components/shared/BaseSettingsDialog.test.tsx type TerminalKeys (line 19) | enum TerminalKeys { FILE: packages/cli/src/ui/components/shared/BaseSettingsDialog.tsx type SettingsDialogItem (line 31) | interface SettingsDialogItem { type BaseSettingsDialogProps (line 55) | interface BaseSettingsDialogProps { function BaseSettingsDialog (line 123) | function BaseSettingsDialog({ FILE: packages/cli/src/ui/components/shared/DescriptiveRadioButtonSelect.tsx type DescriptiveRadioSelectItem (line 13) | interface DescriptiveRadioSelectItem extends SelectionListItem { type DescriptiveRadioButtonSelectProps (line 18) | interface DescriptiveRadioButtonSelectProps { function DescriptiveRadioButtonSelect (line 42) | function DescriptiveRadioButtonSelect({ FILE: packages/cli/src/ui/components/shared/DialogFooter.tsx type DialogFooterProps (line 11) | interface DialogFooterProps { FILE: packages/cli/src/ui/components/shared/EnumSelector.test.tsx constant LANGUAGE_OPTIONS (line 13) | const LANGUAGE_OPTIONS: readonly SettingEnumOption[] = [ constant NUMERIC_OPTIONS (line 20) | const NUMERIC_OPTIONS: readonly SettingEnumOption[] = [ FILE: packages/cli/src/ui/components/shared/EnumSelector.tsx type EnumSelectorProps (line 13) | interface EnumSelectorProps { function EnumSelector (line 23) | function EnumSelector({ FILE: packages/cli/src/ui/components/shared/ExpandableText.tsx constant MAX_WIDTH (line 11) | const MAX_WIDTH = 150; type ExpandableTextProps (line 13) | interface ExpandableTextProps { FILE: packages/cli/src/ui/components/shared/HalfLinePaddedBox.tsx type HalfLinePaddedBoxProps (line 19) | interface HalfLinePaddedBoxProps { FILE: packages/cli/src/ui/components/shared/HorizontalLine.tsx type HorizontalLineProps (line 11) | interface HorizontalLineProps { FILE: packages/cli/src/ui/components/shared/MaxSizedBox.tsx constant MINIMUM_MAX_HEIGHT (line 21) | const MINIMUM_MAX_HEIGHT = 2; type MaxSizedBoxProps (line 23) | interface MaxSizedBoxProps { FILE: packages/cli/src/ui/components/shared/RadioButtonSelect.test.tsx type RadioRenderItemFn (line 38) | type RadioRenderItemFn = ( FILE: packages/cli/src/ui/components/shared/RadioButtonSelect.tsx type RadioSelectItem (line 20) | interface RadioSelectItem extends SelectionListItem { type RadioButtonSelectProps (line 31) | interface RadioButtonSelectProps { function RadioButtonSelect (line 63) | function RadioButtonSelect({ FILE: packages/cli/src/ui/components/shared/ScopeSelector.tsx type ScopeSelectorProps (line 13) | interface ScopeSelectorProps { function ScopeSelector (line 24) | function ScopeSelector({ FILE: packages/cli/src/ui/components/shared/Scrollable.tsx type ScrollableProps (line 26) | interface ScrollableProps { FILE: packages/cli/src/ui/components/shared/ScrollableList.test.tsx type Item (line 31) | interface Item { FILE: packages/cli/src/ui/components/shared/ScrollableList.tsx constant ANIMATION_FRAME_DURATION_MS (line 28) | const ANIMATION_FRAME_DURATION_MS = 33; type VirtualizedListProps (line 30) | type VirtualizedListProps = { type ScrollableListProps (line 39) | interface ScrollableListProps extends VirtualizedListProps { type ScrollableListRef (line 44) | type ScrollableListRef = VirtualizedListRef; function ScrollableList (line 46) | function ScrollableList( FILE: packages/cli/src/ui/components/shared/SearchableList.tsx type GenericListItem (line 20) | interface GenericListItem { type SearchListState (line 30) | interface SearchListState { type SearchableListProps (line 41) | interface SearchableListProps { function SearchableList (line 77) | function SearchableList({ FILE: packages/cli/src/ui/components/shared/SlicingMaxSizedBox.tsx constant MAXIMUM_RESULT_DISPLAY_CHARACTERS (line 12) | const MAXIMUM_RESULT_DISPLAY_CHARACTERS = 20000; type SlicingMaxSizedBoxProps (line 14) | interface SlicingMaxSizedBoxProps function SlicingMaxSizedBox (line 27) | function SlicingMaxSizedBox({ FILE: packages/cli/src/ui/components/shared/TabHeader.test.tsx constant MOCK_TABS (line 11) | const MOCK_TABS: Tab[] = [ FILE: packages/cli/src/ui/components/shared/TabHeader.tsx type Tab (line 14) | interface Tab { type TabHeaderProps (line 28) | interface TabHeaderProps { function TabHeader (line 61) | function TabHeader({ FILE: packages/cli/src/ui/components/shared/TextInput.tsx type TextInputProps (line 18) | interface TextInputProps { function TextInput (line 26) | function TextInput({ FILE: packages/cli/src/ui/components/shared/VirtualizedList.tsx constant SCROLL_TO_ITEM_END (line 23) | const SCROLL_TO_ITEM_END = Number.MAX_SAFE_INTEGER; type VirtualizedListProps (line 25) | type VirtualizedListProps = { type VirtualizedListRef (line 35) | type VirtualizedListRef = { function findLastIndex (line 57) | function findLastIndex( function VirtualizedList (line 69) | function VirtualizedList( FILE: packages/cli/src/ui/components/shared/text-buffer.test.ts function createStateWithTransformations (line 75) | function createStateWithTransformations( FILE: packages/cli/src/ui/components/shared/text-buffer.ts constant LARGE_PASTE_LINE_THRESHOLD (line 35) | const LARGE_PASTE_LINE_THRESHOLD = 5; constant LARGE_PASTE_CHAR_THRESHOLD (line 36) | const LARGE_PASTE_CHAR_THRESHOLD = 500; constant PASTED_TEXT_PLACEHOLDER_REGEX (line 39) | const PASTED_TEXT_PLACEHOLDER_REGEX = function expandPastePlaceholders (line 43) | function expandPastePlaceholders( type Direction (line 53) | type Direction = function findPrevWordBoundary (line 370) | function findPrevWordBoundary(line: string, cursorCol: number): number { function findNextWordBoundary (line 391) | function findNextWordBoundary(line: string, cursorCol: number): number { type Viewport (line 751) | interface Viewport { function clamp (line 756) | function clamp(v: number, min: number, max: number): number { type UseTextBufferProps (line 762) | interface UseTextBufferProps { type UndoHistoryEntry (line 776) | interface UndoHistoryEntry { function calculateInitialCursorPosition (line 784) | function calculateInitialCursorPosition( function offsetToLogicalPos (line 811) | function offsetToLogicalPos( function logicalPosToOffset (line 864) | function logicalPosToOffset( type Transformation (line 892) | interface Transformation { function getTransformedImagePath (line 903) | function getTransformedImagePath(filePath: string): string { function calculateTransformationsForLine (line 938) | function calculateTransformationsForLine( function calculateTransformations (line 990) | function calculateTransformations(lines: string[]): Transformation[][] { function getTransformUnderCursor (line 994) | function getTransformUnderCursor( type ExpandedPasteInfo (line 1014) | interface ExpandedPasteInfo { function getExpandedPasteAtLine (line 1026) | function getExpandedPasteAtLine( function shiftExpandedRegions (line 1044) | function shiftExpandedRegions( function detachExpandedPaste (line 1097) | function detachExpandedPaste(state: TextBufferState): TextBufferState { type AtomicPlaceholder (line 1116) | interface AtomicPlaceholder { function findAtomicPlaceholderForBackspace (line 1127) | function findAtomicPlaceholderForBackspace( function findAtomicPlaceholderForDelete (line 1149) | function findAtomicPlaceholderForDelete( function calculateTransformedLine (line 1168) | function calculateTransformedLine( type VisualLayout (line 1244) | interface VisualLayout { type LineLayoutResult (line 1258) | interface LineLayoutResult { function getLineLayoutCacheKey (line 1270) | function getLineLayoutCacheKey( function calculateLayout (line 1286) | function calculateLayout( function calculateVisualCursorFromLayout (line 1483) | function calculateVisualCursorFromLayout( type TextBufferState (line 1556) | interface TextBufferState { function generatePastedTextId (line 1593) | function generatePastedTextId( function collectPlaceholderIdsFromLines (line 1612) | function collectPlaceholderIdsFromLines(lines: string[]): Set { function pruneOrphanedPastedContent (line 1627) | function pruneOrphanedPastedContent( type TextBufferAction (line 1653) | type TextBufferAction = type TextBufferOptions (line 1780) | interface TextBufferOptions { function textBufferReducerLogic (line 1785) | function textBufferReducerLogic( function textBufferReducer (line 2777) | function textBufferReducer( function useTextBuffer (line 2830) | function useTextBuffer({ type TextBuffer (line 3897) | interface TextBuffer { FILE: packages/cli/src/ui/components/shared/vim-buffer-actions.test.ts type FindActionCase (line 1958) | type FindActionCase = { FILE: packages/cli/src/ui/components/shared/vim-buffer-actions.ts type VimAction (line 25) | type VimAction = Extract< function findCharInLine (line 95) | function findCharInLine( function clampNormalCursor (line 126) | function clampNormalCursor(state: TextBufferState): TextBufferState { function extractRange (line 135) | function extractRange( function handleVimAction (line 164) | function handleVimAction( FILE: packages/cli/src/ui/components/triage/TriageDuplicates.tsx type Issue (line 20) | interface Issue { type Candidate (line 33) | interface Candidate extends Issue { type RankedCandidateInfo (line 39) | interface RankedCandidateInfo { type GeminiRecommendation (line 45) | interface GeminiRecommendation { type AnalysisResult (line 53) | interface AnalysisResult { type ProcessedIssue (line 59) | interface ProcessedIssue { type TriageState (line 66) | interface TriageState { type FocusSection (line 82) | type FocusSection = 'target' | 'candidates' | 'candidate_detail'; constant VISIBLE_LINES_COLLAPSED (line 84) | const VISIBLE_LINES_COLLAPSED = 6; constant VISIBLE_LINES_EXPANDED (line 85) | const VISIBLE_LINES_EXPANDED = 20; constant VISIBLE_LINES_DETAIL (line 86) | const VISIBLE_LINES_DETAIL = 25; constant VISIBLE_CANDIDATES (line 87) | const VISIBLE_CANDIDATES = 5; constant MAX_CONCURRENT_ANALYSIS (line 88) | const MAX_CONCURRENT_ANALYSIS = 10; FILE: packages/cli/src/ui/components/triage/TriageIssues.tsx type Issue (line 22) | interface Issue { type AnalysisResult (line 33) | interface AnalysisResult { type ProcessedIssue (line 39) | interface ProcessedIssue { type TriageState (line 45) | interface TriageState { constant VISIBLE_LINES_COLLAPSED (line 54) | const VISIBLE_LINES_COLLAPSED = 8; constant VISIBLE_LINES_EXPANDED (line 55) | const VISIBLE_LINES_EXPANDED = 20; constant MAX_CONCURRENT_ANALYSIS (line 56) | const MAX_CONCURRENT_ANALYSIS = 10; FILE: packages/cli/src/ui/components/views/AgentsStatus.tsx type AgentsStatusProps (line 13) | interface AgentsStatusProps { FILE: packages/cli/src/ui/components/views/ChatList.tsx type ChatListProps (line 12) | interface ChatListProps { FILE: packages/cli/src/ui/components/views/ExtensionDetails.tsx type ExtensionDetailsProps (line 16) | interface ExtensionDetailsProps { function ExtensionDetails (line 25) | function ExtensionDetails({ FILE: packages/cli/src/ui/components/views/ExtensionRegistryView.tsx type ExtensionRegistryViewProps (line 27) | interface ExtensionRegistryViewProps { type ExtensionItem (line 36) | interface ExtensionItem extends GenericListItem { function ExtensionRegistryView (line 40) | function ExtensionRegistryView({ FILE: packages/cli/src/ui/components/views/ExtensionsList.tsx type ExtensionsList (line 14) | interface ExtensionsList { FILE: packages/cli/src/ui/components/views/McpStatus.tsx type McpStatusProps (line 19) | interface McpStatusProps { FILE: packages/cli/src/ui/components/views/SkillsList.tsx type SkillsListProps (line 12) | interface SkillsListProps { FILE: packages/cli/src/ui/components/views/ToolsList.tsx type ToolsListProps (line 13) | interface ToolsListProps { FILE: packages/cli/src/ui/constants.ts constant SHELL_COMMAND_NAME (line 7) | const SHELL_COMMAND_NAME = 'Shell Command'; constant SHELL_NAME (line 9) | const SHELL_NAME = 'Shell'; constant MAX_GEMINI_MESSAGE_LINES (line 15) | const MAX_GEMINI_MESSAGE_LINES = 65536; constant SHELL_FOCUS_HINT_DELAY_MS (line 17) | const SHELL_FOCUS_HINT_DELAY_MS = 5000; constant TOOL_STATUS (line 20) | const TOOL_STATUS = { constant MAX_MCP_RESOURCES_TO_SHOW (line 30) | const MAX_MCP_RESOURCES_TO_SHOW = 10; constant WARNING_PROMPT_DURATION_MS (line 32) | const WARNING_PROMPT_DURATION_MS = 3000; constant QUEUE_ERROR_DISPLAY_DURATION_MS (line 33) | const QUEUE_ERROR_DISPLAY_DURATION_MS = 3000; constant SHELL_ACTION_REQUIRED_TITLE_DELAY_MS (line 34) | const SHELL_ACTION_REQUIRED_TITLE_DELAY_MS = 30000; constant SHELL_SILENT_WORKING_TITLE_DELAY_MS (line 35) | const SHELL_SILENT_WORKING_TITLE_DELAY_MS = 120000; constant EXPAND_HINT_DURATION_MS (line 36) | const EXPAND_HINT_DURATION_MS = 5000; constant DEFAULT_BACKGROUND_OPACITY (line 38) | const DEFAULT_BACKGROUND_OPACITY = 0.16; constant DEFAULT_INPUT_BACKGROUND_OPACITY (line 39) | const DEFAULT_INPUT_BACKGROUND_OPACITY = 0.24; constant DEFAULT_SELECTION_OPACITY (line 40) | const DEFAULT_SELECTION_OPACITY = 0.2; constant DEFAULT_BORDER_OPACITY (line 41) | const DEFAULT_BORDER_OPACITY = 0.4; constant KEYBOARD_SHORTCUTS_URL (line 43) | const KEYBOARD_SHORTCUTS_URL = constant LRU_BUFFER_PERF_CACHE_LIMIT (line 45) | const LRU_BUFFER_PERF_CACHE_LIMIT = 20000; constant ACTIVE_SHELL_MAX_LINES (line 48) | const ACTIVE_SHELL_MAX_LINES = 15; constant COMPLETED_SHELL_MAX_LINES (line 51) | const COMPLETED_SHELL_MAX_LINES = 15; constant SUBAGENT_MAX_LINES (line 54) | const SUBAGENT_MAX_LINES = 15; constant MIN_TERMINAL_WIDTH_FOR_FULL_LABEL (line 57) | const MIN_TERMINAL_WIDTH_FOR_FULL_LABEL = 100; constant DEFAULT_COMPRESSION_THRESHOLD (line 60) | const DEFAULT_COMPRESSION_THRESHOLD = 0.5; FILE: packages/cli/src/ui/constants/tips.ts constant INFORMATIVE_TIPS (line 7) | const INFORMATIVE_TIPS = [ FILE: packages/cli/src/ui/constants/wittyPhrases.ts constant WITTY_LOADING_PHRASES (line 7) | const WITTY_LOADING_PHRASES = [ FILE: packages/cli/src/ui/contexts/AppContext.tsx type AppState (line 10) | interface AppState { FILE: packages/cli/src/ui/contexts/AskUserActionsContext.tsx type AskUserState (line 11) | interface AskUserState { type AskUserActionsContextValue (line 16) | interface AskUserActionsContextValue { type AskUserActionsProviderProps (line 40) | interface AskUserActionsProviderProps { FILE: packages/cli/src/ui/contexts/KeypressContext.test.tsx constant PASTE_START (line 32) | const PASTE_START = '\x1B[200~'; constant PASTE_END (line 33) | const PASTE_END = '\x1B[201~'; constant INCOMPLETE_KITTY_SEQUENCE (line 36) | const INCOMPLETE_KITTY_SEQUENCE = '\x1b[97;135'; class MockStdin (line 38) | class MockStdin extends EventEmitter { method write (line 46) | write(text: string) { FILE: packages/cli/src/ui/contexts/KeypressContext.tsx constant BACKSLASH_ENTER_TIMEOUT (line 27) | const BACKSLASH_ENTER_TIMEOUT = 5; constant ESC_TIMEOUT (line 28) | const ESC_TIMEOUT = 50; constant PASTE_TIMEOUT (line 29) | const PASTE_TIMEOUT = 30_000; constant FAST_RETURN_TIMEOUT (line 30) | const FAST_RETURN_TIMEOUT = 30; type KeypressPriority (line 32) | enum KeypressPriority { constant KEY_INFO_MAP (line 40) | const KEY_INFO_MAP: Record< constant KITTY_CODE_MAP (line 130) | const KITTY_CODE_MAP: Record = { function charLengthAt (line 189) | function charLengthAt(str: string, i: number): number { constant MAC_ALT_KEY_CHARACTER_MAP (line 201) | const MAC_ALT_KEY_CHARACTER_MAP: Record = { function nonKeyboardEventFilter (line 210) | function nonKeyboardEventFilter( function bufferFastReturn (line 229) | function bufferFastReturn(keypressHandler: KeypressHandler): KeypressHan... function bufferBackslashEnter (line 256) | function bufferBackslashEnter( function bufferPaste (line 304) | function bufferPaste(keypressHandler: KeypressHandler): KeypressHandler { function createDataListener (line 358) | function createDataListener(keypressHandler: KeypressHandler) { type Key (line 734) | interface Key { type KeypressHandler (line 744) | type KeypressHandler = (key: Key) => boolean | void; type KeypressContextValue (line 746) | interface KeypressContextValue { function useKeypressContext (line 758) | function useKeypressContext() { function KeypressProvider (line 768) | function KeypressProvider({ FILE: packages/cli/src/ui/contexts/MouseContext.test.tsx class MockStdin (line 36) | class MockStdin extends EventEmitter { method write (line 44) | write(text: string) { FILE: packages/cli/src/ui/contexts/MouseContext.tsx constant MAX_MOUSE_BUFFER_SIZE (line 33) | const MAX_MOUSE_BUFFER_SIZE = 4096; type MouseContextValue (line 35) | interface MouseContextValue { function useMouseContext (line 42) | function useMouseContext() { function useMouse (line 50) | function useMouse(handler: MouseHandler, { isActive = true } = {}) { function MouseProvider (line 63) | function MouseProvider({ FILE: packages/cli/src/ui/contexts/OverflowContext.tsx type OverflowState (line 18) | interface OverflowState { type OverflowActions (line 22) | interface OverflowActions { FILE: packages/cli/src/ui/contexts/ScrollProvider.tsx type ScrollState (line 20) | interface ScrollState { type ScrollableEntry (line 26) | interface ScrollableEntry { type ScrollContextType (line 36) | interface ScrollContextType { FILE: packages/cli/src/ui/contexts/SessionContext.test.tsx class ErrorBoundary (line 17) | class ErrorBoundary extends Component< method constructor (line 21) | constructor(props: { children: ReactNode; onError: (error: Error) => v... method getDerivedStateFromError (line 26) | static getDerivedStateFromError(_error: Error) { method componentDidCatch (line 30) | override componentDidCatch(error: Error) { method render (line 34) | override render() { FILE: packages/cli/src/ui/contexts/SessionContext.tsx type ToolCallDecision (line 24) | enum ToolCallDecision { function areModelMetricsEqual (line 31) | function areModelMetricsEqual(a: ModelMetrics, b: ModelMetrics): boolean { function areToolCallStatsEqual (line 53) | function areToolCallStatsEqual(a: ToolCallStats, b: ToolCallStats): bool... function areMetricsEqual (line 77) | function areMetricsEqual(a: SessionMetrics, b: SessionMetrics): boolean { type SessionStatsState (line 144) | interface SessionStatsState { type ComputedSessionStats (line 152) | interface ComputedSessionStats { type SessionStatsContextValue (line 171) | interface SessionStatsContextValue { FILE: packages/cli/src/ui/contexts/SettingsContext.test.tsx class ErrorBoundary (line 38) | class ErrorBoundary extends Component< method constructor (line 42) | constructor(props: { children: ReactNode; onError: (error: Error) => v... method getDerivedStateFromError (line 47) | static getDerivedStateFromError(_error: Error) { method componentDidCatch (line 51) | override componentDidCatch(error: Error) { method render (line 55) | override render() { FILE: packages/cli/src/ui/contexts/SettingsContext.tsx type SettingsState (line 29) | interface SettingsState extends LoadedSettingsSnapshot { type SettingsStoreValue (line 33) | interface SettingsStoreValue { FILE: packages/cli/src/ui/contexts/TerminalContext.tsx type TerminalEventHandler (line 18) | type TerminalEventHandler = (event: string) => void; type TerminalContextValue (line 20) | interface TerminalContextValue { function useTerminalContext (line 30) | function useTerminalContext() { function TerminalProvider (line 40) | function TerminalProvider({ children }: { children: React.ReactNode }) { FILE: packages/cli/src/ui/contexts/ToolActionsContext.tsx type LegacyConfirmationDetails (line 26) | type LegacyConfirmationDetails = SerializableConfirmationDetails & { function hasLegacyCallback (line 33) | function hasLegacyCallback( type ToolActionsContextValue (line 43) | interface ToolActionsContextValue { type ToolActionsProviderProps (line 63) | interface ToolActionsProviderProps { FILE: packages/cli/src/ui/contexts/UIActionsContext.tsx type UIActions (line 23) | interface UIActions { FILE: packages/cli/src/ui/contexts/UIStateContext.tsx type ProQuotaDialogRequest (line 39) | interface ProQuotaDialogRequest { type ValidationDialogRequest (line 49) | interface ValidationDialogRequest { type OverageMenuIntent (line 57) | type OverageMenuIntent = type OverageMenuDialogRequest (line 63) | interface OverageMenuDialogRequest { type EmptyWalletIntent (line 73) | type EmptyWalletIntent = 'get_credits' | 'use_fallback' | 'stop'; type EmptyWalletDialogRequest (line 75) | interface EmptyWalletDialogRequest { type QuotaState (line 89) | interface QuotaState { type AccountSuspensionInfo (line 99) | interface AccountSuspensionInfo { type UIState (line 105) | interface UIState { FILE: packages/cli/src/ui/contexts/VimModeContext.tsx type VimMode (line 11) | type VimMode = 'NORMAL' | 'INSERT'; type VimModeContextType (line 13) | interface VimModeContextType { FILE: packages/cli/src/ui/editors/editorSettingsManager.ts type EditorDisplay (line 14) | interface EditorDisplay { class EditorSettingsManager (line 20) | class EditorSettingsManager { method constructor (line 23) | constructor() { method getAvailableEditorDisplays (line 52) | getAvailableEditorDisplays(): EditorDisplay[] { FILE: packages/cli/src/ui/hooks/atCommandProcessor.test.ts function createTestFile (line 49) | async function createTestFile(fullPath: string, fileContents: string) { function getRelativePath (line 55) | function getRelativePath(absolutePath: string): string { method isPathAllowed (line 99) | isPathAllowed(this: Config, absolutePath: string): boolean { method validatePathAccess (line 116) | validatePathAccess(this: Config, absolutePath: string): string | null { FILE: packages/cli/src/ui/hooks/atCommandProcessor.ts constant REF_CONTENT_HEADER (line 30) | const REF_CONTENT_HEADER = `\n${REFERENCE_CONTENT_START}`; constant REF_CONTENT_FOOTER (line 31) | const REF_CONTENT_FOOTER = `\n${REFERENCE_CONTENT_END}`; function escapeAtSymbols (line 36) | function escapeAtSymbols(text: string): string { function unescapeLiteralAt (line 43) | function unescapeLiteralAt(text: string): string { constant AT_COMMAND_PATH_REGEX_SOURCE (line 62) | const AT_COMMAND_PATH_REGEX_SOURCE = type HandleAtCommandParams (line 65) | interface HandleAtCommandParams { type HandleAtCommandResult (line 75) | interface HandleAtCommandResult { type AtCommandPart (line 80) | interface AtCommandPart { function parseAllAtCommands (line 89) | function parseAllAtCommands( function categorizeAtCommands (line 141) | function categorizeAtCommands( function checkPermissions (line 179) | async function checkPermissions( type ResolvedFile (line 204) | interface ResolvedFile { type IgnoredFile (line 211) | interface IgnoredFile { function resolveFilePaths (line 219) | async function resolveFilePaths( function constructInitialQuery (line 376) | function constructInitialQuery( function readMcpResources (line 407) | async function readMcpResources( function readLocalFiles (line 502) | async function readLocalFiles( function reportIgnoredFiles (line 617) | function reportIgnoredFiles( function handleAtCommand (line 662) | async function handleAtCommand({ function convertResourceContentsToParts (line 756) | function convertResourceContentsToParts(response: { FILE: packages/cli/src/ui/hooks/atCommandProcessor_agents.test.ts method isPathAllowed (line 87) | isPathAllowed(this: Config, absolutePath: string): boolean { method validatePathAccess (line 104) | validatePathAccess(this: Config, absolutePath: string): string | null { FILE: packages/cli/src/ui/hooks/creditsFlowHandler.test.ts function makeArgs (line 79) | function makeArgs( FILE: packages/cli/src/ui/hooks/creditsFlowHandler.ts type CreditsFlowArgs (line 37) | interface CreditsFlowArgs { function handleCreditsFlow (line 65) | async function handleCreditsFlow( function handleOverageMenu (line 101) | async function handleOverageMenu( function handleEmptyWalletMenu (line 191) | async function handleEmptyWalletMenu( function logOverageOptionSelected (line 273) | function logOverageOptionSelected( function logCreditPurchaseClick (line 289) | function logCreditPurchaseClick( function openG1Url (line 298) | async function openG1Url( FILE: packages/cli/src/ui/hooks/shell-completions/gitProvider.ts constant GIT_SUBCOMMANDS (line 14) | const GIT_SUBCOMMANDS = [ method getCompletions (line 30) | async getCompletions( FILE: packages/cli/src/ui/hooks/shell-completions/index.ts function getArgumentCompletions (line 13) | async function getArgumentCompletions( FILE: packages/cli/src/ui/hooks/shell-completions/npmProvider.ts constant NPM_SUBCOMMANDS (line 12) | const NPM_SUBCOMMANDS = [ method getCompletions (line 25) | async getCompletions( FILE: packages/cli/src/ui/hooks/shell-completions/types.ts type CompletionResult (line 9) | interface CompletionResult { type ShellCompletionProvider (line 16) | interface ShellCompletionProvider { FILE: packages/cli/src/ui/hooks/shellCommandProcessor.test.tsx function TestComponent (line 145) | function TestComponent({ method current (line 169) | get current() { FILE: packages/cli/src/ui/hooks/shellCommandProcessor.ts constant OUTPUT_UPDATE_INTERVAL_MS (line 34) | const OUTPUT_UPDATE_INTERVAL_MS = 1000; constant RESTORE_VISIBILITY_DELAY_MS (line 35) | const RESTORE_VISIBILITY_DELAY_MS = 300; constant MAX_OUTPUT_LENGTH (line 36) | const MAX_OUTPUT_LENGTH = 10000; function addShellCommandToGeminiHistory (line 38) | function addShellCommandToGeminiHistory( FILE: packages/cli/src/ui/hooks/shellReducer.ts type BackgroundShell (line 9) | interface BackgroundShell { type ShellState (line 19) | interface ShellState { type ShellAction (line 26) | type ShellAction = function shellReducer (line 49) | function shellReducer( FILE: packages/cli/src/ui/hooks/slashCommandProcessor.test.tsx function createTestCommand (line 110) | function createTestCommand( method current (line 240) | get current() { FILE: packages/cli/src/ui/hooks/slashCommandProcessor.ts type SlashCommandProcessorActions (line 67) | interface SlashCommandProcessorActions { FILE: packages/cli/src/ui/hooks/toolMapping.ts function mapToDisplay (line 24) | function mapToDisplay( FILE: packages/cli/src/ui/hooks/useAnimatedScrollbar.ts function useAnimatedScrollbar (line 12) | function useAnimatedScrollbar( FILE: packages/cli/src/ui/hooks/useApprovalModeIndicator.test.ts type MockConfigInstanceShape (line 41) | interface MockConfigInstanceShape { type UseKeypressHandler (line 65) | type UseKeypressHandler = (key: Key) => void; FILE: packages/cli/src/ui/hooks/useApprovalModeIndicator.ts type UseApprovalModeIndicatorArgs (line 18) | interface UseApprovalModeIndicatorArgs { function useApprovalModeIndicator (line 26) | function useApprovalModeIndicator({ FILE: packages/cli/src/ui/hooks/useAtCompletion.test.ts function useTestHarnessForAtCompletion (line 28) | function useTestHarnessForAtCompletion( FILE: packages/cli/src/ui/hooks/useAtCompletion.ts constant DEFAULT_SEARCH_TIMEOUT_MS (line 24) | const DEFAULT_SEARCH_TIMEOUT_MS = 5000; type AtCompletionStatus (line 26) | enum AtCompletionStatus { type AtCompletionState (line 34) | interface AtCompletionState { type AtCompletionAction (line 41) | type AtCompletionAction = function atCompletionReducer (line 57) | function atCompletionReducer( type UseAtCompletionProps (line 104) | interface UseAtCompletionProps { type ResourceSuggestionCandidate (line 113) | interface ResourceSuggestionCandidate { function buildResourceCandidates (line 118) | function buildResourceCandidates( function buildAgentCandidates (line 142) | function buildAgentCandidates(config?: Config): Suggestion[] { function searchResourceCandidates (line 154) | async function searchResourceCandidates( function searchAgentCandidates (line 182) | async function searchAgentCandidates( function useAtCompletion (line 204) | function useAtCompletion(props: UseAtCompletionProps): void { FILE: packages/cli/src/ui/hooks/useAtCompletion_agents.test.ts function useTestHarnessForAtCompletion (line 18) | function useTestHarnessForAtCompletion( FILE: packages/cli/src/ui/hooks/useBackgroundShellManager.test.tsx function TestComponent (line 26) | function TestComponent({ p }: { p: BackgroundShellManagerProps }) { method current (line 33) | get current() { FILE: packages/cli/src/ui/hooks/useBackgroundShellManager.ts type BackgroundShellManagerProps (line 10) | interface BackgroundShellManagerProps { function useBackgroundShellManager (line 20) | function useBackgroundShellManager({ FILE: packages/cli/src/ui/hooks/useBanner.ts constant DEFAULT_MAX_BANNER_SHOWN_COUNT (line 11) | const DEFAULT_MAX_BANNER_SHOWN_COUNT = 5; type BannerData (line 13) | interface BannerData { function useBanner (line 18) | function useBanner(bannerData: BannerData) { FILE: packages/cli/src/ui/hooks/useBatchedScroll.ts function useBatchedScroll (line 14) | function useBatchedScroll(currentScrollTop: number) { FILE: packages/cli/src/ui/hooks/useCommandCompletion.test.tsx function useTextBufferForTest (line 158) | function useTextBufferForTest(text: string, cursorOffset?: number) { function TestComponent (line 171) | function TestComponent({ method current (line 213) | get current() { function TestComponent (line 732) | function TestComponent() { function TestComponent (line 765) | function TestComponent() { function TestComponent (line 800) | function TestComponent() { FILE: packages/cli/src/ui/hooks/useCommandCompletion.tsx type CompletionMode (line 25) | enum CompletionMode { type UseCommandCompletionReturn (line 33) | interface UseCommandCompletionReturn { type UseCommandCompletionOptions (line 65) | interface UseCommandCompletionOptions { function useCommandCompletion (line 76) | function useCommandCompletion({ FILE: packages/cli/src/ui/hooks/useCompletion.ts type UseCompletionReturn (line 14) | interface UseCompletionReturn { function useCompletion (line 30) | function useCompletion(): UseCompletionReturn { FILE: packages/cli/src/ui/hooks/useConfirmingTool.ts function useConfirmingTool (line 20) | function useConfirmingTool(): ConfirmingToolState | null { FILE: packages/cli/src/ui/hooks/useConsoleMessages.test.tsx function TestComponent (line 71) | function TestComponent() { method current (line 78) | get current() { FILE: packages/cli/src/ui/hooks/useConsoleMessages.ts type UseConsoleMessagesReturn (line 21) | interface UseConsoleMessagesReturn { type Action (line 26) | type Action = function consoleMessagesReducer (line 30) | function consoleMessagesReducer( function useConsoleMessages (line 70) | function useConsoleMessages(): UseConsoleMessagesReturn { type UseErrorCountReturn (line 183) | interface UseErrorCountReturn { function useErrorCount (line 188) | function useErrorCount(): UseErrorCountReturn { FILE: packages/cli/src/ui/hooks/useEditorSettings.test.tsx function TestComponent (line 52) | function TestComponent() { FILE: packages/cli/src/ui/hooks/useEditorSettings.ts type UseEditorSettingsReturn (line 25) | interface UseEditorSettingsReturn { FILE: packages/cli/src/ui/hooks/useExtensionRegistry.ts type UseExtensionRegistryResult (line 13) | interface UseExtensionRegistryResult { function useExtensionRegistry (line 20) | function useExtensionRegistry( FILE: packages/cli/src/ui/hooks/useExtensionUpdates.test.tsx function TestComponent (line 125) | function TestComponent() { function TestComponent (line 175) | function TestComponent() { function TestComponent (line 253) | function TestComponent() { function TestComponent (line 336) | function TestComponent() { FILE: packages/cli/src/ui/hooks/useExtensionUpdates.ts type ConfirmationRequestWrapper (line 28) | type ConfirmationRequestWrapper = { type ConfirmationRequestAction (line 33) | type ConfirmationRequestAction = function confirmationRequestsReducer (line 37) | function confirmationRequestsReducer( function shouldDoUpdate (line 129) | function shouldDoUpdate(extension: GeminiCLIExtension): boolean { FILE: packages/cli/src/ui/hooks/useFlickerDetector.ts function useFlickerDetector (line 21) | function useFlickerDetector( FILE: packages/cli/src/ui/hooks/useFocus.test.tsx function TestComponent (line 52) | function TestComponent() { method current (line 59) | get current() { FILE: packages/cli/src/ui/hooks/useFocus.ts constant ENABLE_FOCUS_REPORTING (line 12) | const ENABLE_FOCUS_REPORTING = '\x1b[?1004h'; constant DISABLE_FOCUS_REPORTING (line 13) | const DISABLE_FOCUS_REPORTING = '\x1b[?1004l'; constant FOCUS_IN (line 16) | const FOCUS_IN = '\x1b[I'; constant FOCUS_OUT (line 17) | const FOCUS_OUT = '\x1b[O'; FILE: packages/cli/src/ui/hooks/useGeminiStream.ts type ToolResponseWithParts (line 95) | type ToolResponseWithParts = ToolCallResponseInfo & { type BackgroundedToolInfo (line 99) | interface BackgroundedToolInfo { type StreamProcessingStatus (line 105) | enum StreamProcessingStatus { constant SUPPRESSED_TOOL_ERRORS_NOTE (line 111) | const SUPPRESSED_TOOL_ERRORS_NOTE = constant LOW_VERBOSITY_FAILURE_NOTE (line 113) | const LOW_VERBOSITY_FAILURE_NOTE = function getBackgroundedToolInfo (line 116) | function getBackgroundedToolInfo( function isBackgroundableExecutingToolCall (line 136) | function isBackgroundableExecutingToolCall( function showCitations (line 145) | function showCitations(settings: LoadedSettings): boolean { function calculateStreamingState (line 156) | function calculateStreamingState( FILE: packages/cli/src/ui/hooks/useGitBranchName.test.tsx constant CWD (line 50) | const CWD = '/test/project'; constant GIT_LOGS_HEAD_PATH (line 51) | const GIT_LOGS_HEAD_PATH = path.join(CWD, '.git', 'logs', 'HEAD'); function TestComponent (line 67) | function TestComponent() { method current (line 74) | get current() { FILE: packages/cli/src/ui/hooks/useGitBranchName.ts function useGitBranchName (line 13) | function useGitBranchName(cwd: string): string | undefined { FILE: packages/cli/src/ui/hooks/useHistoryManager.ts type HistoryItemUpdater (line 12) | type HistoryItemUpdater = ( type UseHistoryManagerReturn (line 16) | interface UseHistoryManagerReturn { function useHistory (line 37) | function useHistory({ FILE: packages/cli/src/ui/hooks/useIdeTrustListener.test.tsx function TestComponent (line 83) | function TestComponent() { method current (line 96) | get current() { FILE: packages/cli/src/ui/hooks/useIdeTrustListener.ts type RestartReason (line 23) | type RestartReason = 'NONE' | 'CONNECTION_CHANGE' | 'TRUST_CHANGE'; function useIdeTrustListener (line 30) | function useIdeTrustListener() { FILE: packages/cli/src/ui/hooks/useIncludeDirsTrust.tsx function finishAddingDirectories (line 19) | async function finishAddingDirectories( function useIncludeDirsTrust (line 57) | function useIncludeDirsTrust( FILE: packages/cli/src/ui/hooks/useInlineEditBuffer.ts type EditBufferState (line 10) | interface EditBufferState { type EditBufferAction (line 16) | type EditBufferAction = function editBufferReducer (line 33) | function editBufferReducer( type UseEditBufferProps (line 114) | interface UseEditBufferProps { function useInlineEditBuffer (line 118) | function useInlineEditBuffer({ onCommit }: UseEditBufferProps) { FILE: packages/cli/src/ui/hooks/useInputHistory.ts type UseInputHistoryProps (line 10) | interface UseInputHistoryProps { type UseInputHistoryReturn (line 19) | interface UseInputHistoryReturn { function useInputHistory (line 25) | function useInputHistory({ FILE: packages/cli/src/ui/hooks/useInputHistoryStore.ts type Logger (line 10) | interface Logger { type UseInputHistoryStoreReturn (line 14) | interface UseInputHistoryStoreReturn { function useInputHistoryStore (line 24) | function useInputHistoryStore(): UseInputHistoryStoreReturn { FILE: packages/cli/src/ui/hooks/useKeyMatchers.tsx function useKeyMatchers (line 30) | function useKeyMatchers(): KeyMatchers { FILE: packages/cli/src/ui/hooks/useKeypress.test.tsx constant PASTE_START (line 23) | const PASTE_START = '\x1B[200~'; constant PASTE_END (line 24) | const PASTE_END = '\x1B[201~'; class MockStdin (line 26) | class MockStdin extends EventEmitter { method write (line 35) | write(text: string) { FILE: packages/cli/src/ui/hooks/useKeypress.ts function useKeypress (line 25) | function useKeypress( FILE: packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts type KittyProtocolStatus (line 10) | interface KittyProtocolStatus { function useKittyKeyboardProtocol (line 19) | function useKittyKeyboardProtocol(): KittyProtocolStatus { FILE: packages/cli/src/ui/hooks/useLoadingIndicator.test.tsx function TestComponent (line 41) | function TestComponent({ method current (line 74) | get current() { FILE: packages/cli/src/ui/hooks/useLoadingIndicator.ts constant LOW_VERBOSITY_RETRY_HINT_ATTEMPT_THRESHOLD (line 17) | const LOW_VERBOSITY_RETRY_HINT_ATTEMPT_THRESHOLD = 2; type UseLoadingIndicatorProps (line 19) | interface UseLoadingIndicatorProps { FILE: packages/cli/src/ui/hooks/useMcpStatus.test.tsx function TestComponent (line 38) | function TestComponent({ config }: { config: Config }) { method current (line 45) | get current() { FILE: packages/cli/src/ui/hooks/useMcpStatus.ts function useMcpStatus (line 15) | function useMcpStatus(config: Config) { FILE: packages/cli/src/ui/hooks/useMemoryMonitor.test.tsx function TestComponent (line 30) | function TestComponent() { FILE: packages/cli/src/ui/hooks/useMemoryMonitor.ts constant MEMORY_WARNING_THRESHOLD (line 11) | const MEMORY_WARNING_THRESHOLD = 7 * 1024 * 1024 * 1024; constant MEMORY_CHECK_INTERVAL (line 12) | const MEMORY_CHECK_INTERVAL = 60 * 1000; type MemoryMonitorOptions (line 14) | interface MemoryMonitorOptions { FILE: packages/cli/src/ui/hooks/useMessageQueue.test.tsx function TestComponent (line 34) | function TestComponent(props: typeof initialProps) { method current (line 41) | get current() { FILE: packages/cli/src/ui/hooks/useMessageQueue.ts type UseMessageQueueOptions (line 10) | interface UseMessageQueueOptions { type UseMessageQueueReturn (line 17) | interface UseMessageQueueReturn { function useMessageQueue (line 30) | function useMessageQueue({ FILE: packages/cli/src/ui/hooks/useModelCommand.test.tsx function TestComponent (line 15) | function TestComponent() { FILE: packages/cli/src/ui/hooks/useModelCommand.ts type UseModelCommandReturn (line 9) | interface UseModelCommandReturn { FILE: packages/cli/src/ui/hooks/useMouse.ts function useMouse (line 23) | function useMouse( FILE: packages/cli/src/ui/hooks/usePermissionsModifyTrust.ts type TrustState (line 22) | interface TrustState { function getInitialTrustState (line 28) | function getInitialTrustState( FILE: packages/cli/src/ui/hooks/usePhraseCycler.ts constant PHRASE_CHANGE_INTERVAL_MS (line 12) | const PHRASE_CHANGE_INTERVAL_MS = 15000; constant INTERACTIVE_SHELL_WAITING_PHRASE (line 13) | const INTERACTIVE_SHELL_WAITING_PHRASE = FILE: packages/cli/src/ui/hooks/usePrivacySettings.test.tsx function TestComponent (line 38) | function TestComponent() { method current (line 45) | get current() { FILE: packages/cli/src/ui/hooks/usePrivacySettings.ts type PrivacyState (line 16) | interface PrivacyState { function getCodeAssistServerOrFail (line 92) | function getCodeAssistServerOrFail(config: Config): CodeAssistServer { function getRemoteDataCollectionOptIn (line 102) | async function getRemoteDataCollectionOptIn( function setRemoteDataCollectionOptIn (line 129) | async function setRemoteDataCollectionOptIn( FILE: packages/cli/src/ui/hooks/usePromptCompletion.ts constant PROMPT_COMPLETION_MIN_LENGTH (line 18) | const PROMPT_COMPLETION_MIN_LENGTH = 5; constant PROMPT_COMPLETION_DEBOUNCE_MS (line 19) | const PROMPT_COMPLETION_DEBOUNCE_MS = 250; type PromptCompletion (line 21) | interface PromptCompletion { type UsePromptCompletionOptions (line 30) | interface UsePromptCompletionOptions { function usePromptCompletion (line 35) | function usePromptCompletion({ FILE: packages/cli/src/ui/hooks/useQuotaAndFallback.test.ts type SpyInstance (line 45) | type SpyInstance = ReturnType; FILE: packages/cli/src/ui/hooks/useQuotaAndFallback.ts type UseQuotaAndFallbackArgs (line 37) | interface UseQuotaAndFallbackArgs { function useQuotaAndFallback (line 48) | function useQuotaAndFallback({ function getResetTimeMessage (line 318) | function getResetTimeMessage(delayMs: number): string { FILE: packages/cli/src/ui/hooks/useRegistrySearch.ts type UseRegistrySearchResult (line 12) | interface UseRegistrySearchResult { function useRegistrySearch (line 20) | function useRegistrySearch(props: { FILE: packages/cli/src/ui/hooks/useRepeatedKeyPress.ts type UseRepeatedKeyPressOptions (line 9) | interface UseRepeatedKeyPressOptions { function useRepeatedKeyPress (line 15) | function useRepeatedKeyPress(options: UseRepeatedKeyPressOptions) { FILE: packages/cli/src/ui/hooks/useReverseSearchCompletion.test.tsx function useTextBufferForTest (line 22) | function useTextBufferForTest(text: string) { FILE: packages/cli/src/ui/hooks/useReverseSearchCompletion.tsx function useDebouncedValue (line 12) | function useDebouncedValue(value: T, delay = 200): T { type UseReverseSearchCompletionReturn (line 21) | interface UseReverseSearchCompletionReturn { function useReverseSearchCompletion (line 33) | function useReverseSearchCompletion( FILE: packages/cli/src/ui/hooks/useRewind.ts function useRewind (line 18) | function useRewind(conversation: ConversationRecord) { FILE: packages/cli/src/ui/hooks/useRunEventNotifications.ts constant ATTENTION_NOTIFICATION_COOLDOWN_MS (line 20) | const ATTENTION_NOTIFICATION_COOLDOWN_MS = 20_000; type RunEventNotificationParams (line 22) | interface RunEventNotificationParams { function useRunEventNotifications (line 37) | function useRunEventNotifications({ FILE: packages/cli/src/ui/hooks/useSearchBuffer.ts constant MIN_VIEWPORT_WIDTH (line 13) | const MIN_VIEWPORT_WIDTH = 20; constant VIEWPORT_WIDTH_OFFSET (line 14) | const VIEWPORT_WIDTH_OFFSET = 8; type UseSearchBufferProps (line 16) | interface UseSearchBufferProps { function useSearchBuffer (line 21) | function useSearchBuffer({ FILE: packages/cli/src/ui/hooks/useSelectionList.test.tsx type UseKeypressMockOptions (line 19) | type UseKeypressMockOptions = { isActive: boolean }; function TestComponent (line 88) | function TestComponent(props: typeof initialProps) { method current (line 99) | get current() { function TestComponent (line 1096) | function TestComponent(props: typeof initialProps) { FILE: packages/cli/src/ui/hooks/useSelectionList.ts type SelectionListItem (line 13) | interface SelectionListItem { type BaseSelectionItem (line 20) | interface BaseSelectionItem { type UseSelectionListOptions (line 25) | interface UseSelectionListOptions { type UseSelectionListResult (line 37) | interface UseSelectionListResult { type SelectionListState (line 42) | interface SelectionListState { type SelectionListAction (line 51) | type SelectionListAction = constant NUMBER_INPUT_TIMEOUT_MS (line 79) | const NUMBER_INPUT_TIMEOUT_MS = 1000; function selectionListReducer (line 162) | function selectionListReducer( function areBaseItemsEqual (line 250) | function areBaseItemsEqual( function toBaseItems (line 266) | function toBaseItems( function useSelectionList (line 283) | function useSelectionList({ FILE: packages/cli/src/ui/hooks/useSessionBrowser.test.ts constant MOCKED_PROJECT_TEMP_DIR (line 52) | const MOCKED_PROJECT_TEMP_DIR = '/test/project/temp'; constant MOCKED_CHATS_DIR (line 53) | const MOCKED_CHATS_DIR = '/test/project/temp/chats'; constant MOCKED_SESSION_ID (line 54) | const MOCKED_SESSION_ID = 'test-session-123'; constant MOCKED_CURRENT_SESSION_ID (line 55) | const MOCKED_CURRENT_SESSION_ID = 'current-session-id'; FILE: packages/cli/src/ui/hooks/useSessionResume.ts type UseSessionResumeParams (line 19) | interface UseSessionResumeParams { function useSessionResume (line 34) | function useSessionResume({ FILE: packages/cli/src/ui/hooks/useSettingsCommand.ts function useSettingsCommand (line 9) | function useSettingsCommand() { FILE: packages/cli/src/ui/hooks/useSettingsNavigation.ts type UseSettingsNavigationProps (line 9) | interface UseSettingsNavigationProps { type NavState (line 14) | type NavState = { type NavAction (line 19) | type NavAction = { type: 'MOVE_UP' } | { type: 'MOVE_DOWN' }; function calculateSlidingWindow (line 21) | function calculateSlidingWindow( function createNavReducer (line 40) | function createNavReducer( function useSettingsNavigation (line 82) | function useSettingsNavigation({ FILE: packages/cli/src/ui/hooks/useShellCompletion.ts constant MAX_SHELL_SUGGESTIONS (line 18) | const MAX_SHELL_SUGGESTIONS = 100; constant FS_COMPLETION_DEBOUNCE_MS (line 23) | const FS_COMPLETION_DEBOUNCE_MS = 50; constant UNIX_SHELL_SPECIAL_CHARS (line 30) | const UNIX_SHELL_SPECIAL_CHARS = /[ \t\n\r'"()&|;<>!#$`{}[\]*?\\]/g; function escapeShellPath (line 35) | function escapeShellPath(segment: string): string { type TokenInfo (line 42) | interface TokenInfo { function getTokenAtCursor (line 59) | function getTokenAtCursor( function scanPathExecutables (line 183) | async function scanPathExecutables( function expandTilde (line 305) | function expandTilde(inputPath: string): [string, boolean] { function resolvePathCompletions (line 316) | async function resolvePathCompletions( type UseShellCompletionProps (line 419) | interface UseShellCompletionProps { type UseShellCompletionReturn (line 434) | interface UseShellCompletionReturn { constant EMPTY_TOKENS (line 441) | const EMPTY_TOKENS: string[] = []; function useShellCompletion (line 443) | function useShellCompletion({ FILE: packages/cli/src/ui/hooks/useShellHistory.test.ts class Storage (line 42) | class Storage { method getGlobalSettingsPath (line 43) | static getGlobalSettingsPath(): string { method getProjectTempDir (line 46) | getProjectTempDir(): string { method getHistoryFilePath (line 49) | getHistoryFilePath(): string { method initialize (line 58) | initialize(): Promise { constant MOCKED_PROJECT_ROOT (line 70) | const MOCKED_PROJECT_ROOT = '/test/project'; constant MOCKED_HOME_DIR (line 71) | const MOCKED_HOME_DIR = '/test/home'; constant MOCKED_PROJECT_HASH (line 72) | const MOCKED_PROJECT_HASH = 'mocked_hash'; constant MOCKED_HISTORY_DIR (line 74) | const MOCKED_HISTORY_DIR = path.join( constant MOCKED_HISTORY_FILE (line 80) | const MOCKED_HISTORY_FILE = path.join(MOCKED_HISTORY_DIR, 'shell_history'); FILE: packages/cli/src/ui/hooks/useShellHistory.ts constant MAX_HISTORY_LENGTH (line 12) | const MAX_HISTORY_LENGTH = 100; type UseShellHistoryReturn (line 14) | interface UseShellHistoryReturn { function getHistoryFilePath (line 22) | async function getHistoryFilePath( function readHistoryFile (line 32) | async function readHistoryFile(filePath: string): Promise { function writeHistoryFile (line 61) | async function writeHistoryFile( function useShellHistory (line 73) | function useShellHistory( FILE: packages/cli/src/ui/hooks/useShellInactivityStatus.ts type ShellInactivityStatusProps (line 17) | interface ShellInactivityStatusProps { type InactivityStatus (line 26) | type InactivityStatus = 'none' | 'action_required' | 'silent_working'; type ShellInactivityStatus (line 28) | interface ShellInactivityStatus { FILE: packages/cli/src/ui/hooks/useSlashCompletion.test.ts type TestSlashCommand (line 20) | type TestSlashCommand = Omit & function createTestCommand (line 23) | function createTestCommand(command: TestSlashCommand): SlashCommand { function simulateFuzzyMatching (line 41) | function simulateFuzzyMatching(items: readonly string[], query: string) { function useTestHarnessForSlashCompletion (line 145) | function useTestHarnessForSlashCompletion( FILE: packages/cli/src/ui/hooks/useSlashCompletion.ts type FzfCommandResult (line 18) | type FzfCommandResult = { type FzfCommandCacheEntry (line 27) | interface FzfCommandCacheEntry { function logErrorSafely (line 33) | function logErrorSafely(error: unknown, context: string): void { function matchesCommand (line 43) | function matchesCommand(cmd: SlashCommand, query: string): boolean { type CommandParserResult (line 51) | interface CommandParserResult { function useCommandParser (line 62) | function useCommandParser( type SuggestionsResult (line 192) | interface SuggestionsResult { type CompletionPositions (line 197) | interface CompletionPositions { type PerfectMatchResult (line 202) | interface PerfectMatchResult { function useCommandSuggestions (line 206) | function useCommandSuggestions( function useCompletionPositions (line 421) | function useCompletionPositions( function usePerfectMatch (line 453) | function usePerfectMatch( function getCommandFromSuggestion (line 493) | function getCommandFromSuggestion( type UseSlashCompletionProps (line 512) | interface UseSlashCompletionProps { function useSlashCompletion (line 522) | function useSlashCompletion(props: UseSlashCompletionProps): { FILE: packages/cli/src/ui/hooks/useSnowfall.ts type Snowflake (line 16) | interface Snowflake { constant SNOW_CHARS (line 22) | const SNOW_CHARS = ['*', '.', '·', '+']; constant FRAME_RATE (line 23) | const FRAME_RATE = 150; FILE: packages/cli/src/ui/hooks/useSuspend.ts type UseSuspendProps (line 26) | interface UseSuspendProps { function useSuspend (line 34) | function useSuspend({ FILE: packages/cli/src/ui/hooks/useTabbedNavigation.ts type UseTabbedNavigationOptions (line 15) | interface UseTabbedNavigationOptions { type UseTabbedNavigationResult (line 37) | interface UseTabbedNavigationResult { type TabbedNavigationState (line 52) | interface TabbedNavigationState { type TabbedNavigationAction (line 59) | type TabbedNavigationAction = function tabbedNavigationReducer (line 69) | function tabbedNavigationReducer( function useTabbedNavigation (line 141) | function useTabbedNavigation({ FILE: packages/cli/src/ui/hooks/useTerminalSize.ts function useTerminalSize (line 9) | function useTerminalSize(): { columns: number; rows: number } { FILE: packages/cli/src/ui/hooks/useTerminalTheme.ts function useTerminalTheme (line 21) | function useTerminalTheme( FILE: packages/cli/src/ui/hooks/useThemeCommand.ts type UseThemeCommandReturn (line 18) | interface UseThemeCommandReturn { FILE: packages/cli/src/ui/hooks/useTimedMessage.ts function useTimedMessage (line 13) | function useTimedMessage(durationMs: number) { FILE: packages/cli/src/ui/hooks/useTimer.test.tsx function TestComponent (line 26) | function TestComponent({ method current (line 41) | get current() { FILE: packages/cli/src/ui/hooks/useTips.ts type UseTipsResult (line 10) | interface UseTipsResult { function useTips (line 14) | function useTips(): UseTipsResult { FILE: packages/cli/src/ui/hooks/useToolScheduler.ts type ScheduleFn (line 22) | type ScheduleFn = ( type MarkToolsAsSubmittedFn (line 27) | type MarkToolsAsSubmittedFn = (callIds: string[]) => void; type CancelAllFn (line 28) | type CancelAllFn = (signal: AbortSignal) => void; type TrackedToolCall (line 34) | type TrackedToolCall = ToolCall & { type TrackedScheduledToolCall (line 39) | type TrackedScheduledToolCall = Extract< type TrackedValidatingToolCall (line 43) | type TrackedValidatingToolCall = Extract< type TrackedWaitingToolCall (line 47) | type TrackedWaitingToolCall = Extract< type TrackedExecutingToolCall (line 51) | type TrackedExecutingToolCall = Extract< type TrackedCompletedToolCall (line 55) | type TrackedCompletedToolCall = Extract< type TrackedCancelledToolCall (line 59) | type TrackedCancelledToolCall = Extract< function useToolScheduler (line 67) | function useToolScheduler( function adaptToolCalls (line 266) | function adaptToolCalls( FILE: packages/cli/src/ui/hooks/useTurnActivityMonitor.ts type TurnActivityStatus (line 12) | interface TurnActivityStatus { FILE: packages/cli/src/ui/hooks/useVisibilityToggle.ts constant APPROVAL_MODE_REVEAL_DURATION_MS (line 10) | const APPROVAL_MODE_REVEAL_DURATION_MS = 1200; constant FOCUS_UI_ENABLED_STATE_KEY (line 11) | const FOCUS_UI_ENABLED_STATE_KEY = 'focusUiEnabled'; function useVisibilityToggle (line 13) | function useVisibilityToggle() { FILE: packages/cli/src/ui/hooks/vim.test.tsx constant TEST_SEQUENCES (line 84) | const TEST_SEQUENCES = { method cursor (line 119) | get cursor() { method cursor (line 122) | set cursor(newPos: [number, number]) { type VimActionType (line 1547) | type VimActionType = type VimReducerTestCase (line 1558) | type VimReducerTestCase = { type FindCase (line 2137) | type FindCase = { type OperatorFindCase (line 2291) | type OperatorFindCase = { FILE: packages/cli/src/ui/hooks/vim.ts type VimMode (line 16) | type VimMode = 'NORMAL' | 'INSERT'; constant DIGIT_MULTIPLIER (line 19) | const DIGIT_MULTIPLIER = 10; constant DEFAULT_COUNT (line 20) | const DEFAULT_COUNT = 1; constant DIGIT_1_TO_9 (line 21) | const DIGIT_1_TO_9 = /^[1-9]$/; constant DOUBLE_ESCAPE_TIMEOUT_MS (line 22) | const DOUBLE_ESCAPE_TIMEOUT_MS = 500; constant CMD_TYPES (line 25) | const CMD_TYPES = { type PendingFindOp (line 76) | type PendingFindOp = { type VimState (line 88) | type VimState = { type VimAction (line 97) | type VimAction = function useVim (line 187) | function useVim(buffer: TextBuffer, onSubmit?: (value: string) => void) { FILE: packages/cli/src/ui/key/keyBindings.ts type Command (line 17) | enum Command { class KeyBinding (line 112) | class KeyBinding { method constructor (line 153) | constructor(pattern: string) { method matches (line 213) | matches(key: Key): boolean { method equals (line 223) | equals(other: KeyBinding): boolean { type KeyBindingConfig (line 237) | type KeyBindingConfig = Map; type CommandCategory (line 404) | interface CommandCategory { function loadCustomKeybindings (line 670) | async function loadCustomKeybindings(): Promise<{ FILE: packages/cli/src/ui/key/keyMatchers.ts function matchCommand (line 18) | function matchCommand( type KeyMatcher (line 31) | type KeyMatcher = (key: Key) => boolean; type KeyMatchers (line 36) | type KeyMatchers = { function createKeyMatchers (line 43) | function createKeyMatchers( function loadKeyMatchers (line 69) | async function loadKeyMatchers(): Promise<{ FILE: packages/cli/src/ui/key/keyToAnsi.ts constant SPECIAL_KEYS (line 11) | const SPECIAL_KEYS: Record = { function keyToAnsi (line 34) | function keyToAnsi(key: Key): string | null { FILE: packages/cli/src/ui/key/keybindingUtils.ts constant KEY_NAME_MAP (line 18) | const KEY_NAME_MAP: Record = { type ModifierMap (line 35) | interface ModifierMap { constant MODIFIER_MAPS (line 42) | const MODIFIER_MAPS: Record = { function formatKeyBinding (line 72) | function formatKeyBinding( function formatCommand (line 98) | function formatCommand( FILE: packages/cli/src/ui/noninteractive/nonInteractiveUi.ts function createNonInteractiveUI (line 15) | function createNonInteractiveUI(): CommandContext['ui'] { FILE: packages/cli/src/ui/privacy/CloudFreePrivacyNotice.tsx type CloudFreePrivacyNoticeProps (line 15) | interface CloudFreePrivacyNoticeProps { FILE: packages/cli/src/ui/privacy/CloudPaidPrivacyNotice.tsx type CloudPaidPrivacyNoticeProps (line 11) | interface CloudPaidPrivacyNoticeProps { FILE: packages/cli/src/ui/privacy/GeminiPrivacyNotice.tsx type GeminiPrivacyNoticeProps (line 11) | interface GeminiPrivacyNoticeProps { FILE: packages/cli/src/ui/privacy/PrivacyNotice.tsx type PrivacyNoticeProps (line 13) | interface PrivacyNoticeProps { FILE: packages/cli/src/ui/semantic-colors.ts method text (line 11) | get text() { method background (line 14) | get background() { method border (line 17) | get border() { method ui (line 20) | get ui() { method status (line 23) | get status() { FILE: packages/cli/src/ui/state/extensions.ts type ExtensionUpdateState (line 10) | enum ExtensionUpdateState { type ExtensionUpdateStatus (line 22) | interface ExtensionUpdateStatus { type ExtensionUpdatesState (line 27) | interface ExtensionUpdatesState { type ScheduledUpdate (line 34) | interface ScheduledUpdate { type ScheduleUpdateArgs (line 40) | interface ScheduleUpdateArgs { type OnCompleteUpdate (line 46) | type OnCompleteUpdate = (updateInfos: ExtensionUpdateInfo[]) => void; type ExtensionUpdateAction (line 54) | type ExtensionUpdateAction = function extensionUpdatesReducer (line 69) | function extensionUpdatesReducer( FILE: packages/cli/src/ui/textConstants.ts constant SCREEN_READER_USER_PREFIX (line 7) | const SCREEN_READER_USER_PREFIX = 'User: '; constant SCREEN_READER_MODEL_PREFIX (line 9) | const SCREEN_READER_MODEL_PREFIX = 'Model: '; constant SCREEN_READER_LOADING (line 11) | const SCREEN_READER_LOADING = 'loading'; constant SCREEN_READER_RESPONDING (line 13) | const SCREEN_READER_RESPONDING = 'responding'; constant REDIRECTION_WARNING_NOTE_LABEL (line 15) | const REDIRECTION_WARNING_NOTE_LABEL = 'Note: '; constant REDIRECTION_WARNING_NOTE_TEXT (line 16) | const REDIRECTION_WARNING_NOTE_TEXT = constant REDIRECTION_WARNING_TIP_LABEL (line 18) | const REDIRECTION_WARNING_TIP_LABEL = 'Tip: '; FILE: packages/cli/src/ui/themes/builtin/dark/ansi-dark.ts constant ANSI (line 30) | const ANSI: Theme = new Theme( FILE: packages/cli/src/ui/themes/color-utils.ts function isValidColor (line 34) | function isValidColor(color: string): boolean { function getSafeLowColorBackground (line 62) | function getSafeLowColorBackground( constant LIGHT_THEME_LUMINANCE_THRESHOLD (line 85) | const LIGHT_THEME_LUMINANCE_THRESHOLD = 140; constant DARK_THEME_LUMINANCE_THRESHOLD (line 86) | const DARK_THEME_LUMINANCE_THRESHOLD = 110; function shouldSwitchTheme (line 98) | function shouldSwitchTheme( function parseColor (line 129) | function parseColor(rHex: string, gHex: string, bHex: string): string { FILE: packages/cli/src/ui/themes/semantic-tokens.ts type SemanticColors (line 9) | interface SemanticColors { FILE: packages/cli/src/ui/themes/theme-manager.ts type ThemeDisplay (line 44) | interface ThemeDisplay { constant DEFAULT_THEME (line 50) | const DEFAULT_THEME: Theme = DefaultDark; class ThemeManager (line 52) | class ThemeManager { method constructor (line 68) | constructor(dependencies?: { fs?: typeof fs; homedir?: () => string }) { method setTerminalBackground (line 93) | setTerminalBackground(color: string | undefined): void { method getTerminalBackground (line 100) | getTerminalBackground(): string | undefined { method clearCache (line 104) | private clearCache(): void { method isDefaultTheme (line 110) | isDefaultTheme(themeName: string | undefined): boolean { method loadCustomThemes (line 122) | loadCustomThemes(customThemesSettings?: Record): ... method registerExtensionThemes (line 169) | registerExtensionThemes( method unregisterExtensionThemes (line 223) | unregisterExtensionThemes( method hasExtensionThemes (line 243) | hasExtensionThemes(extensionName: string): boolean { method clearExtensionThemes (line 253) | clearExtensionThemes(): void { method clearFileThemes (line 261) | clearFileThemes(): void { method reinitialize (line 269) | reinitialize(dependencies: { fs?: typeof fs; homedir?: () => string })... method resetForTesting (line 282) | resetForTesting(dependencies?: { method setActiveTheme (line 296) | setActiveTheme(themeName: string | undefined): boolean { method getActiveTheme (line 312) | getActiveTheme(): Theme { method getColors (line 349) | getColors(): ColorsTheme { method getSemanticColors (line 397) | getSemanticColors(): SemanticColors { method isThemeCompatible (line 437) | isThemeCompatible( method _getAllCustomThemes (line 461) | private _getAllCustomThemes(): Theme[] { method getCustomThemeNames (line 473) | getCustomThemeNames(): string[] { method isCustomTheme (line 482) | isCustomTheme(themeName: string): boolean { method getAvailableThemes (line 493) | getAvailableThemes(): ThemeDisplay[] { method getTheme (line 539) | getTheme(themeName: string): Theme | undefined { method getAllThemes (line 547) | getAllThemes(): Theme[] { method isPath (line 551) | private isPath(themeName: string): boolean { method loadThemeFromFile (line 559) | private loadThemeFromFile(themePath: string): Theme | undefined { method findThemeByName (line 622) | findThemeByName(themeName: string | undefined): Theme | undefined { FILE: packages/cli/src/ui/themes/theme.ts constant INK_SUPPORTED_NAMES (line 21) | const INK_SUPPORTED_NAMES = new Set([ constant CSS_NAME_TO_HEX_MAP (line 43) | const CSS_NAME_TO_HEX_MAP = Object.fromEntries( constant INK_NAME_TO_HEX_MAP (line 50) | const INK_NAME_TO_HEX_MAP: Readonly> = { function getLuminance (line 68) | function getLuminance(color: string): number { function resolveColor (line 86) | function resolveColor(colorValue: string): string | undefined { function interpolateColor (line 120) | function interpolateColor( function getThemeTypeFromBackgroundColor (line 143) | function getThemeTypeFromBackgroundColor( type ThemeType (line 161) | type ThemeType = 'light' | 'dark' | 'ansi' | 'custom'; type ColorsTheme (line 163) | interface ColorsTheme { class Theme (line 251) | class Theme { method constructor (line 269) | constructor( method getInkColor (line 343) | getInkColor(hljsClass: string): string | undefined { method _resolveColor (line 352) | private static _resolveColor(colorValue: string): string | undefined { method _buildColorMap (line 362) | protected _buildColorMap( function createCustomTheme (line 394) | function createCustomTheme(customTheme: CustomTheme): Theme { function validateCustomTheme (line 629) | function validateCustomTheme(customTheme: Partial): { function isValidThemeName (line 652) | function isValidThemeName(name: string): boolean { function pickDefaultThemeName (line 668) | function pickDefaultThemeName( FILE: packages/cli/src/ui/types.ts type AuthState (line 27) | enum AuthState { type StreamingState (line 41) | enum StreamingState { type GeminiEventType (line 48) | enum GeminiEventType { type ToolCallStatus (line 54) | enum ToolCallStatus { function mapCoreStatusToDisplayStatus (line 66) | function mapCoreStatusToDisplayStatus( type ToolCallEvent (line 89) | interface ToolCallEvent { type IndividualToolCallDisplay (line 100) | interface IndividualToolCallDisplay { type CompressionProps (line 122) | interface CompressionProps { type HistoryItemBase (line 134) | interface HistoryItemBase { type HistoryItemUser (line 138) | type HistoryItemUser = HistoryItemBase & { type HistoryItemGemini (line 143) | type HistoryItemGemini = HistoryItemBase & { type HistoryItemGeminiContent (line 148) | type HistoryItemGeminiContent = HistoryItemBase & { type HistoryItemInfo (line 153) | type HistoryItemInfo = HistoryItemBase & { type HistoryItemError (line 162) | type HistoryItemError = HistoryItemBase & { type HistoryItemWarning (line 167) | type HistoryItemWarning = HistoryItemBase & { type HistoryItemAbout (line 172) | type HistoryItemAbout = HistoryItemBase & { type HistoryItemHelp (line 185) | type HistoryItemHelp = HistoryItemBase & { type HistoryItemQuotaBase (line 190) | interface HistoryItemQuotaBase extends HistoryItemBase { type QuotaStats (line 200) | interface QuotaStats { type HistoryItemStats (line 206) | type HistoryItemStats = HistoryItemQuotaBase & { type HistoryItemModelStats (line 213) | type HistoryItemModelStats = HistoryItemQuotaBase & { type HistoryItemToolStats (line 217) | type HistoryItemToolStats = HistoryItemBase & { type HistoryItemModel (line 221) | type HistoryItemModel = HistoryItemBase & { type HistoryItemQuit (line 226) | type HistoryItemQuit = HistoryItemBase & { type HistoryItemToolGroup (line 231) | type HistoryItemToolGroup = HistoryItemBase & { type HistoryItemUserShell (line 240) | type HistoryItemUserShell = HistoryItemBase & { type HistoryItemCompression (line 245) | type HistoryItemCompression = HistoryItemBase & { type HistoryItemExtensionsList (line 250) | type HistoryItemExtensionsList = HistoryItemBase & { type ChatDetail (line 255) | interface ChatDetail { type HistoryItemThinking (line 260) | type HistoryItemThinking = HistoryItemBase & { type HistoryItemHint (line 265) | type HistoryItemHint = HistoryItemBase & { type HistoryItemChatList (line 270) | type HistoryItemChatList = HistoryItemBase & { type ToolDefinition (line 275) | interface ToolDefinition { type HistoryItemToolsList (line 281) | type HistoryItemToolsList = HistoryItemBase & { type HistoryItemSkillsList (line 287) | type HistoryItemSkillsList = HistoryItemBase & { type AgentDefinitionJson (line 293) | type AgentDefinitionJson = Pick< type HistoryItemAgentsList (line 298) | type HistoryItemAgentsList = HistoryItemBase & { type JsonMcpTool (line 305) | interface JsonMcpTool { type JsonMcpPrompt (line 315) | interface JsonMcpPrompt { type JsonMcpResource (line 321) | interface JsonMcpResource { type HistoryItemMcpStatus (line 329) | type HistoryItemMcpStatus = HistoryItemBase & { type HistoryItemWithoutId (line 359) | type HistoryItemWithoutId = type HistoryItem (line 385) | type HistoryItem = HistoryItemWithoutId & { id: number }; type MessageType (line 388) | enum MessageType { type Message (line 411) | type Message = type ConsoleMessageItem (line 463) | interface ConsoleMessageItem { type SubmitPromptResult (line 473) | interface SubmitPromptResult { type SlashCommandProcessorResult (line 481) | type SlashCommandProcessorResult = type ConfirmationRequest (line 493) | interface ConfirmationRequest { type LoopDetectionConfirmationRequest (line 498) | interface LoopDetectionConfirmationRequest { type PermissionConfirmationRequest (line 502) | interface PermissionConfirmationRequest { type ActiveHook (line 507) | interface ActiveHook { FILE: packages/cli/src/ui/utils/CodeColorizer.tsx function renderHastNode (line 30) | function renderHastNode( function highlightAndRenderLine (line 96) | function highlightAndRenderLine( function colorizeLine (line 116) | function colorizeLine( type ColorizeCodeOptions (line 125) | interface ColorizeCodeOptions { function colorizeCode (line 141) | function colorizeCode({ FILE: packages/cli/src/ui/utils/ConsolePatcher.ts type ConsolePatcherParams (line 12) | interface ConsolePatcherParams { class ConsolePatcher (line 18) | class ConsolePatcher { method constructor (line 27) | constructor(params: ConsolePatcherParams) { method patch (line 31) | patch() { FILE: packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx type RenderInlineProps (line 12) | interface RenderInlineProps { FILE: packages/cli/src/ui/utils/MarkdownDisplay.tsx type MarkdownDisplayProps (line 16) | interface MarkdownDisplayProps { constant EMPTY_LINE_HEIGHT (line 26) | const EMPTY_LINE_HEIGHT = 1; constant CODE_BLOCK_PREFIX_PADDING (line 27) | const CODE_BLOCK_PREFIX_PADDING = 1; constant LIST_ITEM_PREFIX_PADDING (line 28) | const LIST_ITEM_PREFIX_PADDING = 1; constant LIST_ITEM_TEXT_FLEX_GROW (line 29) | const LIST_ITEM_TEXT_FLEX_GROW = 1; function addContentBlock (line 81) | function addContentBlock(block: React.ReactNode) { type RenderCodeBlockProps (line 319) | interface RenderCodeBlockProps { type RenderListItemProps (line 402) | interface RenderListItemProps { type RenderTableProps (line 440) | interface RenderTableProps { FILE: packages/cli/src/ui/utils/TableRenderer.tsx type TableRendererProps (line 23) | interface TableRendererProps { constant MIN_COLUMN_WIDTH (line 29) | const MIN_COLUMN_WIDTH = 5; constant COLUMN_PADDING (line 30) | const COLUMN_PADDING = 2; constant TABLE_MARGIN (line 31) | const TABLE_MARGIN = 2; type ProcessedLine (line 56) | interface ProcessedLine { FILE: packages/cli/src/ui/utils/borderStyles.ts function isTrackedToolCall (line 19) | function isTrackedToolCall( function getToolGroupBorderAppearance (line 28) | function getToolGroupBorderAppearance( FILE: packages/cli/src/ui/utils/clipboardUtils.test.ts type ClipboardUtilsModule (line 81) | type ClipboardUtilsModule = typeof import('./clipboardUtils.js'); FILE: packages/cli/src/ui/utils/clipboardUtils.ts constant IMAGE_EXTENSIONS (line 22) | const IMAGE_EXTENSIONS = [ constant PATH_PREFIX_PATTERN (line 32) | const PATH_PREFIX_PATTERN = /^([/~.]|[a-zA-Z]:|\\\\)/; function getUserLinuxClipboardTool (line 38) | function getUserLinuxClipboardTool(): typeof linuxClipboardTool { function saveFromCommand (line 64) | async function saveFromCommand( function checkWlPasteForImage (line 131) | async function checkWlPasteForImage() { function checkXclipForImage (line 144) | async function checkXclipForImage() { function clipboardHasImage (line 164) | async function clipboardHasImage(): Promise { function saveFileWithWlPaste (line 208) | async function saveFileWithWlPaste(tempFilePath: string) { function getProjectClipboardImagesDir (line 258) | async function getProjectClipboardImagesDir( function saveClipboardImage (line 272) | async function saveClipboardImage( function cleanupOldClipboardImages (line 397) | async function cleanupOldClipboardImages( function isValidFilePath (line 496) | function isValidFilePath(p: string): boolean { function parsePastedPaths (line 511) | function parsePastedPaths(text: string): string | null { FILE: packages/cli/src/ui/utils/commandUtils.test.ts constant ESC (line 19) | const ESC = '\u001B'; constant BEL (line 20) | const BEL = '\u0007'; type MockChildProcess (line 99) | interface MockChildProcess extends EventEmitter { FILE: packages/cli/src/ui/utils/commandUtils.ts constant AT_COMMAND_DETECT_REGEX (line 18) | const AT_COMMAND_DETECT_REGEX = new RegExp( constant ESC (line 62) | const ESC = '\u001B'; constant BEL (line 63) | const BEL = '\u0007'; constant MAX_OSC52_SEQUENCE_BYTES (line 66) | const MAX_OSC52_SEQUENCE_BYTES = 100_000; constant OSC52_HEADER (line 67) | const OSC52_HEADER = `${ESC}]52;c;`; constant OSC52_FOOTER (line 68) | const OSC52_FOOTER = BEL; constant MAX_OSC52_BODY_B64_BYTES (line 69) | const MAX_OSC52_BODY_B64_BYTES = constant MAX_OSC52_DATA_BYTES (line 73) | const MAX_OSC52_DATA_BYTES = Math.floor(MAX_OSC52_BODY_B64_BYTES / 4) * 3; constant SCREEN_DCS_CHUNK_SIZE (line 76) | const SCREEN_DCS_CHUNK_SIZE = 240; type TtyTarget (line 78) | type TtyTarget = { stream: Writable; closeAfter: boolean } | null; function isAutoExecutableCommand (line 320) | function isAutoExecutableCommand( FILE: packages/cli/src/ui/utils/computeStats.ts function calculateErrorRate (line 13) | function calculateErrorRate(metrics: ModelMetrics): number { function calculateAverageLatency (line 20) | function calculateAverageLatency(metrics: ModelMetrics): number { function calculateCacheHitRate (line 27) | function calculateCacheHitRate(metrics: ModelMetrics): number { FILE: packages/cli/src/ui/utils/confirmingTool.ts type ConfirmingToolState (line 14) | interface ConfirmingToolState { function getConfirmingToolState (line 23) | function getConfirmingToolState( FILE: packages/cli/src/ui/utils/contextUsage.ts function getContextUsagePercentage (line 9) | function getContextUsagePercentage( function isContextUsageHigh (line 23) | function isContextUsageHigh( FILE: packages/cli/src/ui/utils/directoryUtils.test.ts type MockDirent (line 52) | interface MockDirent { function createMockDir (line 57) | function createMockDir(entries: MockDirent[]) { FILE: packages/cli/src/ui/utils/directoryUtils.ts constant MAX_SUGGESTIONS (line 12) | const MAX_SUGGESTIONS = 50; constant MATCH_BUFFER_MULTIPLIER (line 13) | const MATCH_BUFFER_MULTIPLIER = 3; function expandHomeDir (line 15) | function expandHomeDir(p: string): string { type ParsedPath (line 28) | interface ParsedPath { function parsePartialPath (line 35) | function parsePartialPath(partialPath: string): ParsedPath { function getDirectorySuggestions (line 94) | async function getDirectorySuggestions( type BatchAddResult (line 143) | interface BatchAddResult { function batchAddDirectories (line 152) | function batchAddDirectories( FILE: packages/cli/src/ui/utils/displayUtils.ts constant TOOL_SUCCESS_RATE_HIGH (line 10) | const TOOL_SUCCESS_RATE_HIGH = 95; constant TOOL_SUCCESS_RATE_MEDIUM (line 11) | const TOOL_SUCCESS_RATE_MEDIUM = 85; constant USER_AGREEMENT_RATE_HIGH (line 13) | const USER_AGREEMENT_RATE_HIGH = 75; constant USER_AGREEMENT_RATE_MEDIUM (line 14) | const USER_AGREEMENT_RATE_MEDIUM = 45; constant CACHE_EFFICIENCY_HIGH (line 16) | const CACHE_EFFICIENCY_HIGH = 40; constant CACHE_EFFICIENCY_MEDIUM (line 17) | const CACHE_EFFICIENCY_MEDIUM = 15; constant QUOTA_THRESHOLD_HIGH (line 19) | const QUOTA_THRESHOLD_HIGH = 20; constant QUOTA_THRESHOLD_MEDIUM (line 20) | const QUOTA_THRESHOLD_MEDIUM = 5; constant QUOTA_USED_WARNING_THRESHOLD (line 22) | const QUOTA_USED_WARNING_THRESHOLD = 80; constant QUOTA_USED_CRITICAL_THRESHOLD (line 23) | const QUOTA_USED_CRITICAL_THRESHOLD = 95; FILE: packages/cli/src/ui/utils/editorUtils.ts function openFileInEditor (line 27) | async function openFileInEditor( FILE: packages/cli/src/ui/utils/formatters.ts function stripReferenceContent (line 91) | function stripReferenceContent(text: string): string { FILE: packages/cli/src/ui/utils/highlight.ts type HighlightToken (line 16) | type HighlightToken = { constant HIGHLIGHT_REGEX (line 27) | const HIGHLIGHT_REGEX = new RegExp( function parseInputForHighlighting (line 36) | function parseInputForHighlighting( function parseSegmentsFromTokens (line 134) | function parseSegmentsFromTokens( FILE: packages/cli/src/ui/utils/historyExportUtils.ts function serializeHistoryToMarkdown (line 14) | function serializeHistoryToMarkdown( type ExportHistoryOptions (line 53) | interface ExportHistoryOptions { function exportHistoryToFile (line 61) | async function exportHistoryToFile( FILE: packages/cli/src/ui/utils/inlineThinkingMode.ts type InlineThinkingMode (line 9) | type InlineThinkingMode = 'off' | 'full'; function getInlineThinkingMode (line 11) | function getInlineThinkingMode( FILE: packages/cli/src/ui/utils/input.ts constant ESC (line 7) | const ESC = '\u001B'; constant SGR_EVENT_PREFIX (line 8) | const SGR_EVENT_PREFIX = `${ESC}[<`; constant X11_EVENT_PREFIX (line 9) | const X11_EVENT_PREFIX = `${ESC}[M`; constant SGR_MOUSE_REGEX (line 12) | const SGR_MOUSE_REGEX = /^\x1b\[<(\d+);(\d+);(\d+)([mM])/; constant X11_MOUSE_REGEX (line 15) | const X11_MOUSE_REGEX = /^\x1b\[M([\s\S]{3})/; function couldBeSGRMouseSequence (line 17) | function couldBeSGRMouseSequence(buffer: string): boolean { function couldBeMouseSequence (line 27) | function couldBeMouseSequence(buffer: string): boolean { function getMouseSequenceLength (line 50) | function getMouseSequenceLength(buffer: string): number { FILE: packages/cli/src/ui/utils/isNarrowWidth.ts function isNarrowWidth (line 7) | function isNarrowWidth(width: number): boolean { FILE: packages/cli/src/ui/utils/markdownParsingUtils.ts constant BOLD_MARKER_LENGTH (line 17) | const BOLD_MARKER_LENGTH = 2; constant ITALIC_MARKER_LENGTH (line 18) | const ITALIC_MARKER_LENGTH = 1; constant STRIKETHROUGH_MARKER_LENGTH (line 19) | const STRIKETHROUGH_MARKER_LENGTH = 2; constant INLINE_CODE_MARKER_LENGTH (line 20) | const INLINE_CODE_MARKER_LENGTH = 1; constant UNDERLINE_TAG_START_LENGTH (line 21) | const UNDERLINE_TAG_START_LENGTH = 3; constant UNDERLINE_TAG_END_LENGTH (line 22) | const UNDERLINE_TAG_END_LENGTH = 4; FILE: packages/cli/src/ui/utils/mouse.ts type MouseEventName (line 16) | type MouseEventName = constant DOUBLE_CLICK_THRESHOLD_MS (line 30) | const DOUBLE_CLICK_THRESHOLD_MS = 400; constant DOUBLE_CLICK_DISTANCE_TOLERANCE (line 31) | const DOUBLE_CLICK_DISTANCE_TOLERANCE = 2; type MouseEvent (line 33) | interface MouseEvent { type MouseHandler (line 43) | type MouseHandler = (event: MouseEvent) => void | boolean; function getMouseEventName (line 45) | function getMouseEventName( function getButtonFromCode (line 79) | function getButtonFromCode(code: number): MouseEvent['button'] { function parseSGRMouseEvent (line 93) | function parseSGRMouseEvent( function parseX11MouseEvent (line 131) | function parseX11MouseEvent( function parseMouseEvent (line 209) | function parseMouseEvent( function isIncompleteMouseSequence (line 215) | function isIncompleteMouseSequence(buffer: string): boolean { FILE: packages/cli/src/ui/utils/pendingAttentionNotification.ts type PendingAttentionNotification (line 16) | interface PendingAttentionNotification { function keyFromReactNode (line 21) | function keyFromReactNode(node: ReactNode): string { function getPendingAttentionNotification (line 31) | function getPendingAttentionNotification( FILE: packages/cli/src/ui/utils/rewindFileOps.ts type FileChangeDetail (line 20) | interface FileChangeDetail { type FileChangeStats (line 25) | interface FileChangeStats { function calculateTurnStats (line 41) | function calculateTurnStats( function calculateRewindImpact (line 91) | function calculateRewindImpact( function revertFileChanges (line 149) | async function revertFileChanges( FILE: packages/cli/src/ui/utils/shortcutsHelp.ts function useIsHelpDismissKey (line 11) | function useIsHelpDismissKey(): (key: Key) => boolean { FILE: packages/cli/src/ui/utils/terminalCapabilityManager.ts type TerminalBackgroundColor (line 19) | type TerminalBackgroundColor = string | undefined; constant TERMINAL_CLEANUP_SEQUENCE (line 21) | const TERMINAL_CLEANUP_SEQUENCE = '\x1b[4;0m\x1b[?2004l'; function cleanupTerminalOnExit (line 23) | function cleanupTerminalOnExit() { class TerminalCapabilityManager (line 38) | class TerminalCapabilityManager { method queryBackgroundColor (line 54) | static queryBackgroundColor(stdout: { method constructor (line 84) | private constructor() {} method getInstance (line 86) | static getInstance(): TerminalCapabilityManager { method resetInstanceForTesting (line 93) | static resetInstanceForTesting(): void { method detectCapabilities (line 102) | async detectCapabilities(): Promise { method enableSupportedModes (line 243) | enableSupportedModes() { method getTerminalBackgroundColor (line 260) | getTerminalBackgroundColor(): TerminalBackgroundColor { method getTerminalName (line 264) | getTerminalName(): string | undefined { method isKittyProtocolEnabled (line 268) | isKittyProtocolEnabled(): boolean { method supportsOsc9Notifications (line 272) | supportsOsc9Notifications(env: NodeJS.ProcessEnv = process.env): boole... method hasOsc9TerminalSignature (line 284) | private hasOsc9TerminalSignature(value: string | undefined): boolean { FILE: packages/cli/src/ui/utils/terminalSetup.ts type AddItemFn (line 41) | type AddItemFn = UseHistoryManagerReturn['addItem']; constant VSCODE_SHIFT_ENTER_SEQUENCE (line 43) | const VSCODE_SHIFT_ENTER_SEQUENCE = '\\\r\n'; function stripJsonComments (line 51) | function stripJsonComments(content: string): string { type TerminalSetupResult (line 56) | interface TerminalSetupResult { type SupportedTerminal (line 62) | type SupportedTerminal = 'vscode' | 'cursor' | 'windsurf' | 'antigravity'; type TerminalData (line 67) | interface TerminalData { constant TERMINAL_DATA (line 71) | const TERMINAL_DATA: Record = { function getSupportedTerminalData (line 81) | function getSupportedTerminalData( type Keybinding (line 87) | type Keybinding = { function isKeybinding (line 93) | function isKeybinding(kb: unknown): kb is Keybinding { function hasOurBinding (line 100) | function hasOurBinding( function getTerminalProgram (line 114) | function getTerminalProgram(): SupportedTerminal | null { function detectTerminal (line 147) | async function detectTerminal(): Promise { function backupFile (line 181) | async function backupFile(filePath: string): Promise { function getVSCodeStyleConfigDir (line 193) | function getVSCodeStyleConfigDir(appName: string): string | null { function configureVSCodeStyle (line 215) | async function configureVSCodeStyle( function shouldPromptForTerminalSetup (line 380) | async function shouldPromptForTerminalSetup(): Promise { function terminalSetup (line 442) | async function terminalSetup(): Promise { constant TERMINAL_SETUP_CONSENT_MESSAGE (line 473) | const TERMINAL_SETUP_CONSENT_MESSAGE = function formatTerminalSetupResultMessage (line 477) | function formatTerminalSetupResultMessage( type UseTerminalSetupPromptParams (line 488) | interface UseTerminalSetupPromptParams { function useTerminalSetupPrompt (line 496) | function useTerminalSetupPrompt({ FILE: packages/cli/src/ui/utils/terminalUtils.ts function getColorDepth (line 13) | function getColorDepth(): number { function isLowColorDepth (line 20) | function isLowColorDepth(): boolean { function isITerm2 (line 29) | function isITerm2(): boolean { function resetITerm2Cache (line 43) | function resetITerm2Cache(): void { FILE: packages/cli/src/ui/utils/textOutput.ts class TextOutput (line 14) | class TextOutput { method constructor (line 18) | constructor(outputStream: NodeJS.WriteStream = process.stdout) { method write (line 26) | write(str: string): void { method writeOnNewLine (line 43) | writeOnNewLine(str: string): void { method ensureTrailingNewline (line 54) | ensureTrailingNewline(): void { FILE: packages/cli/src/ui/utils/textUtils.ts function isAscii (line 36) | function isAscii(str: string): boolean { constant MAX_STRING_LENGTH_TO_CACHE (line 46) | const MAX_STRING_LENGTH_TO_CACHE = 1000; function toCodePoints (line 51) | function toCodePoints(str: string): string[] { function cpLen (line 75) | function cpLen(str: string): number { function cpIndexToOffset (line 85) | function cpIndexToOffset(str: string, cpIndex: number): number { function cpSlice (line 89) | function cpSlice(str: string, start: number, end?: number): string { function stripUnsafeCharacters (line 120) | function stripUnsafeCharacters(str: string): string { function sanitizeForDisplay (line 141) | function sanitizeForDisplay(str: string, maxLength?: number): string { function normalizeEscapedNewlines (line 158) | function normalizeEscapedNewlines(value: string): string { function escapeAnsiCtrlCodes (line 215) | function escapeAnsiCtrlCodes(obj: T): T { FILE: packages/cli/src/ui/utils/toolLayoutUtils.test.ts type CalculateToolContentMaxLinesTestCase (line 21) | interface CalculateToolContentMaxLinesTestCase { type CalculateShellMaxLinesTestCase (line 86) | interface CalculateShellMaxLinesTestCase { FILE: packages/cli/src/ui/utils/toolLayoutUtils.ts constant TOOL_RESULT_STATIC_HEIGHT (line 18) | const TOOL_RESULT_STATIC_HEIGHT = 1; constant TOOL_RESULT_ASB_RESERVED_LINE_COUNT (line 19) | const TOOL_RESULT_ASB_RESERVED_LINE_COUNT = 6; constant TOOL_RESULT_STANDARD_RESERVED_LINE_COUNT (line 20) | const TOOL_RESULT_STANDARD_RESERVED_LINE_COUNT = 2; constant TOOL_RESULT_MIN_LINES_SHOWN (line 21) | const TOOL_RESULT_MIN_LINES_SHOWN = 2; constant SHELL_CONTENT_OVERHEAD (line 27) | const SHELL_CONTENT_OVERHEAD = function calculateToolContentMaxLines (line 38) | function calculateToolContentMaxLines(options: { function calculateShellMaxLines (line 75) | function calculateShellMaxLines(options: { FILE: packages/cli/src/ui/utils/updateCheck.ts constant FETCH_TIMEOUT_MS (line 17) | const FETCH_TIMEOUT_MS = 2000; type UpdateInfo (line 20) | interface UpdateInfo { type UpdateObject (line 27) | interface UpdateObject { function getBestAvailableUpdate (line 36) | function getBestAvailableUpdate( function checkForUpdates (line 50) | async function checkForUpdates( FILE: packages/cli/src/ui/utils/urlSecurityUtils.ts type DeceptiveUrlDetails (line 12) | interface DeceptiveUrlDetails { function containsDeceptiveMarkers (line 25) | function containsDeceptiveMarkers(hostname: string): boolean { function toUnicodeUrl (line 41) | function toUnicodeUrl(urlInput: string | URL): string { function getDeceptiveUrlDetails (line 68) | function getDeceptiveUrlDetails( FILE: packages/cli/src/utils/activityLogger.ts constant ACTIVITY_ID_HEADER (line 22) | const ACTIVITY_ID_HEADER = 'x-activity-request-id'; constant MAX_BUFFER_SIZE (line 23) | const MAX_BUFFER_SIZE = 100; function isHeaderRecord (line 25) | function isHeaderRecord( function isRequestOptions (line 31) | function isRequestOptions(value: unknown): value is http.RequestOptions { function isIncomingMessageCallback (line 40) | function isIncomingMessageCallback( type HttpRequestArgs (line 46) | type HttpRequestArgs = function callHttpRequest (line 54) | function callHttpRequest( type NetworkLog (line 101) | interface NetworkLog { type PartialNetworkLog (line 124) | type PartialNetworkLog = { id: string } & Partial; class ActivityLogger (line 130) | class ActivityLogger extends EventEmitter { method getInstance (line 144) | static getInstance(): ActivityLogger { method enableNetworkLogging (line 151) | enableNetworkLogging() { method disableNetworkLogging (line 156) | disableNetworkLogging() { method isNetworkLoggingEnabled (line 160) | isNetworkLoggingEnabled(): boolean { method drainBufferedLogs (line 168) | drainBufferedLogs(): { method getBufferedLogs (line 184) | getBufferedLogs(): { method clearBufferedLogs (line 199) | clearBufferedLogs(): void { method stringifyHeaders (line 205) | private stringifyHeaders(headers: unknown): Record { method sanitizeNetworkLog (line 223) | private sanitizeNetworkLog( method emitNetworkEvent (line 260) | emitNetworkEvent(payload: NetworkLog | PartialNetworkLog) { method safeEmitNetwork (line 264) | private safeEmitNetwork(payload: NetworkLog | PartialNetworkLog) { method enable (line 282) | enable() { method patchGlobalFetch (line 290) | private patchGlobalFetch() { method patchNodeHttp (line 428) | private patchNodeHttp() { method logConsole (line 662) | logConsole(payload: ConsoleLogPayload) { function setupFileLogging (line 675) | function setupFileLogging( function setupNetworkLogging (line 721) | function setupNetworkLogging( function bridgeCoreEvents (line 942) | function bridgeCoreEvents(capture: ActivityLogger) { function initActivityLogger (line 956) | function initActivityLogger( function addNetworkTransport (line 992) | function addNetworkTransport( FILE: packages/cli/src/utils/agentSettings.test.ts function createMockLoadedSettings (line 15) | function createMockLoadedSettings(opts: { FILE: packages/cli/src/utils/agentSettings.ts type AgentActionStatus (line 15) | type AgentActionStatus = 'success' | 'no-op' | 'error'; type AgentActionResult (line 20) | interface AgentActionResult function enableAgent (line 46) | function enableAgent( function disableAgent (line 64) | function disableAgent( FILE: packages/cli/src/utils/agentUtils.ts function renderAgentActionFeedback (line 18) | function renderAgentActionFeedback( FILE: packages/cli/src/utils/cleanup.ts function registerCleanup (line 22) | function registerCleanup(fn: (() => void) | (() => Promise)) { function registerSyncCleanup (line 26) | function registerSyncCleanup(fn: () => void) { function resetCleanupForTesting (line 34) | function resetCleanupForTesting() { function runSyncCleanup (line 41) | function runSyncCleanup() { function registerTelemetryConfig (line 56) | function registerTelemetryConfig(config: Config) { function runExitCleanup (line 60) | async function runExitCleanup() { function drainStdin (line 94) | async function drainStdin() { function gracefulShutdown (line 113) | async function gracefulShutdown(_reason: string) { function setupSignalHandlers (line 123) | function setupSignalHandlers() { function setupTtyCheck (line 129) | function setupTtyCheck(): () => void { function cleanupCheckpoints (line 165) | async function cleanupCheckpoints() { FILE: packages/cli/src/utils/commands.ts type ParsedSlashCommand (line 9) | type ParsedSlashCommand = { FILE: packages/cli/src/utils/commentJson.ts type CommentedRecord (line 14) | type CommentedRecord = Record; function updateSettingsFilePreservingFormat (line 19) | function updateSettingsFilePreservingFormat( function preserveCommentsOnPropertyDeletion (line 57) | function preserveCommentsOnPropertyDeletion( function applyKeyDiff (line 115) | function applyKeyDiff( function applyUpdates (line 162) | function applyUpdates( FILE: packages/cli/src/utils/deepMerge.ts type Mergeable (line 9) | type Mergeable = type MergeableObject (line 18) | type MergeableObject = Record; function isPlainObject (line 20) | function isPlainObject(item: unknown): item is MergeableObject { function mergeRecursively (line 24) | function mergeRecursively( function customDeepMerge (line 83) | function customDeepMerge( FILE: packages/cli/src/utils/devtoolsService.test.ts type Listener (line 15) | type Listener = (...args: unknown[]) => void; class MockWebSocket (line 18) | class MockWebSocket { method constructor (line 24) | constructor(url: string) { method on (line 29) | on(event: string, fn: Listener) { method emit (line 36) | emit(event: string, ...args: unknown[]) { method simulateOpen (line 42) | simulateOpen() { method simulateError (line 46) | simulateError() { function createMockConfig (line 107) | function createMockConfig(overrides: Record = {}) { FILE: packages/cli/src/utils/devtoolsService.ts type IDevTools (line 15) | interface IDevTools { constant DEFAULT_DEVTOOLS_PORT (line 21) | const DEFAULT_DEVTOOLS_PORT = 25417; constant DEFAULT_DEVTOOLS_HOST (line 22) | const DEFAULT_DEVTOOLS_HOST = '127.0.0.1'; constant MAX_PROMOTION_ATTEMPTS (line 23) | const MAX_PROMOTION_ATTEMPTS = 3; function probeDevTools (line 32) | function probeDevTools(host: string, port: number): Promise { function startOrJoinDevTools (line 59) | async function startOrJoinDevTools( function handlePromotion (line 94) | async function handlePromotion(config: Config) { function setupInitialActivityLogger (line 121) | async function setupInitialActivityLogger(config: Config) { function startDevToolsServer (line 160) | function startDevToolsServer(config: Config): Promise { function startDevToolsServerImpl (line 170) | async function startDevToolsServerImpl(config: Config): Promise { function toggleDevToolsPanel (line 220) | async function toggleDevToolsPanel( function resetForTesting (line 254) | function resetForTesting() { FILE: packages/cli/src/utils/dialogScopeUtils.ts constant SCOPE_LABELS (line 18) | const SCOPE_LABELS = { function getScopeItems (line 27) | function getScopeItems(): Array<{ function getScopeMessageForSetting (line 44) | function getScopeMessageForSetting( FILE: packages/cli/src/utils/envVarResolver.test.ts type ConfigWithCircularRef (line 211) | type ConfigWithCircularRef = { type ArrayWithCircularRef (line 238) | type ArrayWithCircularRef = Array; type ObjWithRef (line 258) | type ObjWithRef = { FILE: packages/cli/src/utils/envVarResolver.ts function resolveEnvVarsInString (line 20) | function resolveEnvVarsInString( function resolveEnvVarsInObject (line 57) | function resolveEnvVarsInObject( function resolveEnvVarsInObjectInternal (line 71) | function resolveEnvVarsInObjectInternal( FILE: packages/cli/src/utils/errors.test.ts method constructor (line 89) | constructor(message: string) { method constructor (line 97) | constructor(message: string) { FILE: packages/cli/src/utils/errors.ts type ErrorWithCode (line 25) | interface ErrorWithCode extends Error { function extractErrorCode (line 34) | function extractErrorCode(error: unknown): string | number { function getNumericExitCode (line 55) | function getNumericExitCode(errorCode: string | number): number { function handleError (line 65) | function handleError( function handleToolError (line 121) | function handleToolError( function handleCancellationError (line 169) | function handleCancellationError(config: Config): never { function handleMaxTurnsExceededError (line 208) | function handleMaxTurnsExceededError(config: Config): never { FILE: packages/cli/src/utils/events.ts type TransientMessageType (line 9) | enum TransientMessageType { type TransientMessagePayload (line 14) | interface TransientMessagePayload { type AppEvent (line 19) | enum AppEvent { type AppEvents (line 28) | interface AppEvents { FILE: packages/cli/src/utils/featureToggleUtils.test.ts function createMockLoadedSettings (line 19) | function createMockLoadedSettings(opts: { function createMockStrategy (line 47) | function createMockStrategy(overrides?: { FILE: packages/cli/src/utils/featureToggleUtils.ts type ModifiedScope (line 14) | interface ModifiedScope { type FeatureActionStatus (line 19) | type FeatureActionStatus = 'success' | 'no-op' | 'error'; type FeatureActionResult (line 21) | interface FeatureActionResult { type FeatureToggleStrategy (line 36) | interface FeatureToggleStrategy { function enableFeature (line 81) | function enableFeature( function disableFeature (line 131) | function disableFeature( FILE: packages/cli/src/utils/gitUtils.ts function getGitHubRepoInfo (line 104) | function getGitHubRepoInfo(): { owner: string; repo: string } { FILE: packages/cli/src/utils/handleAutoUpdate.ts function _setUpdateStateForTesting (line 19) | function _setUpdateStateForTesting(value: boolean) { function isUpdateInProgress (line 23) | function isUpdateInProgress() { function waitForUpdateCompletion (line 30) | async function waitForUpdateCompletion( function handleAutoUpdate (line 63) | function handleAutoUpdate( function setUpdateHandler (line 160) | function setUpdateHandler( FILE: packages/cli/src/utils/hookSettings.ts type HookActionStatus (line 15) | type HookActionStatus = 'success' | 'no-op' | 'error'; type HookActionResult (line 20) | interface HookActionResult { function enableHook (line 35) | function enableHook( function disableHook (line 102) | function disableHook( FILE: packages/cli/src/utils/hookUtils.ts function renderHookActionFeedback (line 15) | function renderHookActionFeedback( FILE: packages/cli/src/utils/installationInfo.ts type PackageManager (line 15) | enum PackageManager { type InstallationInfo (line 28) | interface InstallationInfo { function getInstallationInfo (line 35) | function getInstallationInfo( FILE: packages/cli/src/utils/jsonoutput.ts function checkInput (line 9) | function checkInput(input: string | null | undefined): boolean { function tryParseJSON (line 28) | function tryParseJSON(input: string): object | null { FILE: packages/cli/src/utils/logCleanup.ts constant RETENTION_PERIOD_MS (line 11) | const RETENTION_PERIOD_MS = 7 * 24 * 60 * 60 * 1000; function cleanupBackgroundLogs (line 19) | async function cleanupBackgroundLogs( FILE: packages/cli/src/utils/persistentState.ts constant STATE_FILENAME (line 11) | const STATE_FILENAME = 'state.json'; type PersistentStateData (line 13) | interface PersistentStateData { class PersistentState (line 23) | class PersistentState { method getPath (line 27) | private getPath(): string { method load (line 34) | private load(): PersistentStateData { method save (line 55) | private save() { method get (line 69) | get( method set (line 75) | set( FILE: packages/cli/src/utils/processUtils.ts constant RELAUNCH_EXIT_CODE (line 13) | const RELAUNCH_EXIT_CODE = 199; function _resetRelaunchStateForTesting (line 21) | function _resetRelaunchStateForTesting(): void { function relaunchApp (line 25) | async function relaunchApp(): Promise { FILE: packages/cli/src/utils/readStdin.ts function readStdin (line 9) | async function readStdin(): Promise { function noopErrorHandler (line 81) | function noopErrorHandler() {} FILE: packages/cli/src/utils/relaunch.test.ts function createMockChildProcess (line 323) | function createMockChildProcess( FILE: packages/cli/src/utils/relaunch.ts function relaunchOnExitCode (line 14) | async function relaunchOnExitCode(runner: () => Promise) { function relaunchAppInChildProcess (line 34) | async function relaunchAppInChildProcess( FILE: packages/cli/src/utils/resolvePath.ts function resolvePath (line 10) | function resolvePath(p: string): string { FILE: packages/cli/src/utils/sandbox.test.ts method constructor (line 93) | constructor(message: string) { type MockProcess (line 146) | interface MockProcess extends EventEmitter { type MockProcessWithStdout (line 192) | interface MockProcessWithStdout extends EventEmitter { type MockProcessWithStdout (line 241) | interface MockProcessWithStdout extends EventEmitter { type MockProcessWithStdoutStderr (line 255) | interface MockProcessWithStdoutStderr extends EventEmitter { type MockProcessWithStdout (line 310) | interface MockProcessWithStdout extends EventEmitter { type MockProcessWithStdoutStderr (line 324) | interface MockProcessWithStdoutStderr extends EventEmitter { type MockProcessWithStdout (line 350) | interface MockProcessWithStdout extends EventEmitter { type MockProcessWithStdout (line 407) | interface MockProcessWithStdout extends EventEmitter { type MockProcessWithStdout (line 448) | interface MockProcessWithStdout extends EventEmitter { type MockProcess (line 494) | interface MockProcess extends EventEmitter { type MockProcessWithStdout (line 526) | interface MockProcessWithStdout extends EventEmitter { type MockProcessWithStdout (line 578) | interface MockProcessWithStdout extends EventEmitter { type MockProcessWithStdout (line 706) | interface MockProcessWithStdout extends EventEmitter { FILE: packages/cli/src/utils/sandbox.ts function start_sandbox (line 46) | async function start_sandbox( function start_lxc_sandbox (line 811) | async function start_lxc_sandbox( function imageExists (line 1052) | async function imageExists(sandbox: string, image: string): Promise { function parseImageName (line 74) | function parseImageName(image: string): string { function ports (line 80) | function ports(): string[] { function entrypoint (line 87) | function entrypoint(workdir: string, cliArgs: string[]): string[] { FILE: packages/cli/src/utils/sessionCleanup.integration.test.ts function createTestConfig (line 17) | function createTestConfig(): Config { FILE: packages/cli/src/utils/sessionCleanup.test.ts function createMockConfig (line 65) | function createMockConfig(overrides: Partial = {}): Config { function writeSessionFile (line 77) | async function writeSessionFile(session: { function writeArtifacts (line 94) | async function writeArtifacts(sessionId: string) { function seedSessions (line 111) | async function seedSessions() { function seedToolOutputs (line 861) | async function seedToolOutputs() { FILE: packages/cli/src/utils/sessionCleanup.ts constant DEFAULT_MIN_RETENTION (line 21) | const DEFAULT_MIN_RETENTION = '1d' as string; constant MIN_MAX_COUNT (line 22) | const MIN_MAX_COUNT = 1; constant MULTIPLIERS (line 23) | const MULTIPLIERS = { constant SHORT_ID_REGEX (line 34) | const SHORT_ID_REGEX = /-([a-zA-Z0-9]{8})\.json$/; type CleanupResult (line 39) | interface CleanupResult { function deriveShortIdFromFileName (line 54) | function deriveShortIdFromFileName(fileName: string): string | null { function getSessionLogPath (line 65) | function getSessionLogPath(tempDir: string, safeSessionId: string): stri... function deleteSessionArtifactsAsync (line 72) | async function deleteSessionArtifactsAsync( function cleanupExpiredSessions (line 109) | async function cleanupExpiredSessions( function identifySessionsToDelete (line 285) | async function identifySessionsToDelete( function parseRetentionPeriod (line 372) | function parseRetentionPeriod(period: string): number { function validateRetentionConfig (line 397) | function validateRetentionConfig( type ToolOutputCleanupResult (line 451) | interface ToolOutputCleanupResult { function cleanupToolOutputFiles (line 462) | async function cleanupToolOutputFiles( FILE: packages/cli/src/utils/sessionUtils.ts constant RESUME_LATEST (line 25) | const RESUME_LATEST = 'latest'; type SessionErrorCode (line 30) | type SessionErrorCode = class SessionError (line 38) | class SessionError extends Error { method constructor (line 39) | constructor( method noSessionsFound (line 50) | static noSessionsFound(): SessionError { method invalidSessionIdentifier (line 60) | static invalidSessionIdentifier( type TextMatch (line 75) | interface TextMatch { type SessionInfo (line 89) | interface SessionInfo { type SessionFileEntry (line 125) | interface SessionFileEntry { type SessionSelectionResult (line 135) | interface SessionSelectionResult { type GetSessionOptions (line 236) | interface GetSessionOptions { class SessionSelector (line 401) | class SessionSelector { method constructor (line 402) | constructor(private config: Config) {} method listSessions (line 407) | async listSessions(): Promise { method findSession (line 422) | async findSession(identifier: string): Promise { method resolveSession (line 468) | async resolveSession(resumeArg: string): Promise { function deleteSession (line 54) | async function deleteSession( FILE: packages/cli/src/utils/settingsUtils.test.ts function makeMockSettings (line 47) | function makeMockSettings(settings: unknown): Settings { function mockNestedDialogSchema (line 445) | function mockNestedDialogSchema() { type StringEnum (line 528) | enum StringEnum { type NumberEnum (line 534) | enum NumberEnum { FILE: packages/cli/src/utils/settingsUtils.ts type FlattenedSchema (line 21) | type FlattenedSchema = Record; function flattenSchema (line 23) | function flattenSchema(schema: SettingsSchema, prefix = ''): FlattenedSc... function getFlattenedSchema (line 39) | function getFlattenedSchema() { function clearFlattenedSchema (line 46) | function clearFlattenedSchema() { function getSettingsByCategory (line 50) | function getSettingsByCategory(): Record< function getSettingDefinition (line 70) | function getSettingDefinition( function requiresRestart (line 76) | function requiresRestart(key: string): boolean { function getDefaultValue (line 80) | function getDefaultValue(key: string): SettingsValue { function getEffectiveDefaultValue (line 89) | function getEffectiveDefaultValue( function getRestartRequiredSettings (line 106) | function getRestartRequiredSettings(): string[] { function getDialogRestartRequiredSettings (line 117) | function getDialogRestartRequiredSettings(): string[] { function isRecord (line 126) | function isRecord(value: unknown): value is Record { function isSettingsValue (line 130) | function isSettingsValue(value: unknown): value is SettingsValue { function getNestedValue (line 145) | function getNestedValue(obj: unknown, path: string[]): unknown { function getEffectiveValue (line 159) | function getEffectiveValue( function getAllSettingKeys (line 180) | function getAllSettingKeys(): string[] { function getSettingsByType (line 184) | function getSettingsByType( function getSettingsRequiringRestart (line 192) | function getSettingsRequiringRestart(): Array< function isValidSettingKey (line 205) | function isValidSettingKey(key: string): boolean { function getSettingCategory (line 209) | function getSettingCategory(key: string): string | undefined { function shouldShowInDialog (line 213) | function shouldShowInDialog(key: string): boolean { function getDialogSettingKeys (line 217) | function getDialogSettingKeys(): string[] { function getDialogSettingsByCategory (line 226) | function getDialogSettingsByCategory(): Record< function getDialogSettingsByType (line 248) | function getDialogSettingsByType( function isInSettingsScope (line 257) | function isInSettingsScope( function getDisplayValue (line 269) | function getDisplayValue( function tryParseJsonStringArray (line 311) | function tryParseJsonStringArray(input: string): string[] | null { function tryParseJsonObject (line 326) | function tryParseJsonObject(input: string): Record | nu... function parseStringArrayValue (line 338) | function parseStringArrayValue(input: string): string[] { function parseObjectValue (line 351) | function parseObjectValue(input: string): Record | null { function parseEditedValue (line 360) | function parseEditedValue( function getEditValue (line 388) | function getEditValue( constant TEST_ONLY (line 407) | const TEST_ONLY = { clearFlattenedSchema }; FILE: packages/cli/src/utils/skillSettings.test.ts function createMockLoadedSettings (line 15) | function createMockLoadedSettings(opts: { FILE: packages/cli/src/utils/skillSettings.ts type SkillActionStatus (line 18) | type SkillActionStatus = 'success' | 'no-op' | 'error'; type SkillActionResult (line 23) | interface SkillActionResult function enableSkill (line 62) | function enableSkill( function disableSkill (line 80) | function disableSkill( FILE: packages/cli/src/utils/skillUtils.ts function renderSkillActionFeedback (line 29) | function renderSkillActionFeedback( function installSkill (line 81) | async function installSkill( function linkSkill (line 192) | async function linkSkill( function uninstallSkill (line 261) | async function uninstallSkill( FILE: packages/cli/src/utils/startupWarnings.ts function getStartupWarnings (line 14) | async function getStartupWarnings(): Promise { FILE: packages/cli/src/utils/terminalNotifications.ts constant MAX_NOTIFICATION_TITLE_CHARS (line 12) | const MAX_NOTIFICATION_TITLE_CHARS = 48; constant MAX_NOTIFICATION_SUBTITLE_CHARS (line 13) | const MAX_NOTIFICATION_SUBTITLE_CHARS = 64; constant MAX_NOTIFICATION_BODY_CHARS (line 14) | const MAX_NOTIFICATION_BODY_CHARS = 180; constant BEL (line 16) | const BEL = '\x07'; constant OSC9_PREFIX (line 17) | const OSC9_PREFIX = '\x1b]9;'; constant OSC9_SEPARATOR (line 18) | const OSC9_SEPARATOR = ' | '; constant MAX_OSC9_MESSAGE_CHARS (line 19) | const MAX_OSC9_MESSAGE_CHARS = type RunEventNotificationContent (line 25) | interface RunEventNotificationContent { type RunEventNotificationEvent (line 31) | type RunEventNotificationEvent = function sanitizeNotificationContent (line 42) | function sanitizeNotificationContent( function buildRunEventNotificationContent (line 58) | function buildRunEventNotificationContent( function isNotificationsEnabled (line 76) | function isNotificationsEnabled(settings: LoadedSettings): boolean { function buildTerminalNotificationMessage (line 91) | function buildTerminalNotificationMessage( function emitOsc9Notification (line 101) | function emitOsc9Notification(content: RunEventNotificationContent): void { function notifyViaTerminal (line 111) | async function notifyViaTerminal( FILE: packages/cli/src/utils/terminalTheme.ts function setupTerminalAndTheme (line 23) | async function setupTerminalAndTheme( FILE: packages/cli/src/utils/tierUtils.ts function isUltraTier (line 13) | function isUltraTier(tierName?: string): boolean { FILE: packages/cli/src/utils/userStartupWarnings.ts type WarningCheck (line 22) | type WarningCheck = { constant WARNING_CHECKS (line 83) | const WARNING_CHECKS: readonly WarningCheck[] = [ function getUserStartupWarnings (line 88) | async function getUserStartupWarnings( FILE: packages/cli/src/utils/windowTitle.ts type TerminalTitleOptions (line 9) | interface TerminalTitleOptions { function truncate (line 19) | function truncate(text: string, maxLen: number): string { function computeTerminalTitle (line 32) | function computeTerminalTitle({ FILE: packages/cli/src/validateNonInterActiveAuth.test.ts function createLocalMockConfig (line 29) | function createLocalMockConfig(overrides: Partial = {}): Config { FILE: packages/cli/src/validateNonInterActiveAuth.ts function validateNonInteractiveAuth (line 20) | async function validateNonInteractiveAuth( FILE: packages/core/scripts/bundle-browser-mcp.mjs method setup (line 20) | setup(build) { function bundle (line 44) | async function bundle() { FILE: packages/core/scripts/compile-windows-sandbox.js function compileWindowsSandbox (line 22) | function compileWindowsSandbox() { FILE: packages/core/src/agent/content-utils.ts function geminiPartsToContentParts (line 15) | function geminiPartsToContentParts(parts: Part[]): ContentPart[] { function contentPartsToGeminiParts (line 61) | function contentPartsToGeminiParts(content: ContentPart[]): Part[] { function toolResultDisplayToContentParts (line 109) | function toolResultDisplayToContentParts( function buildToolResponseData (line 126) | function buildToolResponseData(response: { FILE: packages/core/src/agent/mock.ts type MockAgentEvent (line 15) | type MockAgentEvent = Partial & AgentEventData; type PushResponseOptions (line 17) | interface PushResponseOptions { class MockAgentSession (line 26) | class MockAgentSession implements AgentSession { method constructor (line 42) | constructor(initialEvents: AgentEvent[] = []) { method events (line 49) | get events(): AgentEvent[] { method pushResponse (line 57) | pushResponse(events: MockAgentEvent[], options?: PushResponseOptions) { method pushToStream (line 65) | pushToStream( method _notify (line 102) | private _notify(streamId: string) { method send (line 110) | async send(payload: AgentSend): Promise<{ streamId: string }> { method stream (line 191) | async *stream(options?: { method abort (line 277) | async abort(): Promise { FILE: packages/core/src/agent/types.ts type WithMeta (line 7) | type WithMeta = { _meta?: Record }; type AgentSession (line 9) | interface AgentSession extends Trajectory { type RequireExactlyOne (line 40) | type RequireExactlyOne = { type AgentSendPayloads (line 45) | interface AgentSendPayloads { type AgentSend (line 52) | type AgentSend = RequireExactlyOne & WithMeta; type Trajectory (line 54) | interface Trajectory { type AgentEventCommon (line 58) | interface AgentEventCommon { type AgentEventData (line 78) | type AgentEventData< type AgentEvent (line 82) | type AgentEvent< type AgentEvents (line 86) | interface AgentEvents { type Initialize (line 116) | interface Initialize { type SessionUpdate (line 128) | interface SessionUpdate { type ContentPart (line 137) | type ContentPart = type Message (line 156) | interface Message { type ToolRequest (line 161) | interface ToolRequest { type ToolUpdate (line 175) | interface ToolUpdate { type ToolResponse (line 182) | interface ToolResponse { type ElicitationRequest (line 195) | type ElicitationRequest = { type ElicitationResponse (line 210) | type ElicitationResponse = { type ErrorData (line 216) | interface ErrorData { type Usage (line 252) | interface Usage { type StreamStart (line 260) | interface StreamStart { type StreamEndReason (line 264) | type StreamEndReason = type StreamEnd (line 275) | interface StreamEnd { type CustomEvent (line 284) | interface CustomEvent { FILE: packages/core/src/agents/a2a-client-manager.test.ts type MockClient (line 22) | interface MockClient { FILE: packages/core/src/agents/a2a-client-manager.ts type SendMessageResult (line 37) | type SendMessageResult = constant A2A_TIMEOUT (line 45) | const A2A_TIMEOUT = 1800000; class A2AClientManager (line 51) | class A2AClientManager { method constructor (line 59) | constructor(private readonly config: Config) { method loadAgent (line 86) | async loadAgent( method clearCache (line 168) | clearCache(): void { method sendMessageStream (line 182) | async *sendMessageStream( method getAgentCard (line 221) | getAgentCard(name: string): AgentCard | undefined { method getClient (line 230) | getClient(name: string): Client | undefined { method getTask (line 240) | async getTask(agentName: string, taskId: string): Promise { method cancelTask (line 260) | async cancelTask(agentName: string, taskId: string): Promise { FILE: packages/core/src/agents/a2a-errors.ts class A2AAgentError (line 17) | class A2AAgentError extends Error { method constructor (line 23) | constructor( class AgentCardNotFoundError (line 39) | class AgentCardNotFoundError extends A2AAgentError { method constructor (line 40) | constructor(agentName: string, agentCardUrl: string) { class AgentCardAuthError (line 52) | class AgentCardAuthError extends A2AAgentError { method constructor (line 55) | constructor(agentName: string, agentCardUrl: string, statusCode: 401 |... class AgentAuthConfigMissingError (line 69) | class AgentAuthConfigMissingError extends A2AAgentError { method constructor (line 75) | constructor( class AgentConnectionError (line 93) | class AgentConnectionError extends A2AAgentError { method constructor (line 94) | constructor(agentName: string, agentCardUrl: string, cause: unknown) { type ErrorLikeObject (line 104) | interface ErrorLikeObject { function isErrorLikeObject (line 113) | function isErrorLikeObject(val: unknown): val is ErrorLikeObject { function collectErrorMessages (line 122) | function collectErrorMessages(error: unknown): string { function classifyAgentError (line 174) | function classifyAgentError( FILE: packages/core/src/agents/a2aUtils.ts constant AUTH_REQUIRED_MSG (line 20) | const AUTH_REQUIRED_MSG = `[Authorization Required] The agent has indica... class A2AResultReassembler (line 26) | class A2AResultReassembler { method update (line 34) | update(chunk: SendMessageResult) { method appendStateInstructions (line 113) | private appendStateInstructions(state: TaskState | undefined) { method pushMessage (line 124) | private pushMessage(message: Message | undefined) { method toString (line 135) | toString(): string { function extractMessageText (line 163) | function extractMessageText(message: Message | undefined): string { function extractPartsText (line 174) | function extractPartsText( function extractPartText (line 190) | function extractPartText(part: Part): string { function normalizeAgentCard (line 219) | function normalizeAgentCard(card: unknown): AgentCard { function extractIdsFromResponse (line 257) | function extractIdsFromResponse(result: SendMessageResult): { function isTextPart (line 300) | function isTextPart(part: Part): part is TextPart { function isDataPart (line 304) | function isDataPart(part: Part): part is DataPart { function isFilePart (line 308) | function isFilePart(part: Part): part is FilePart { function isTerminalState (line 315) | function isTerminalState(state: TaskState | undefined): boolean { function isObject (line 327) | function isObject(val: unknown): val is Record { FILE: packages/core/src/agents/acknowledgedAgents.ts type AcknowledgedAgentsMap (line 13) | interface AcknowledgedAgentsMap { class AcknowledgedAgentsService (line 20) | class AcknowledgedAgentsService { method load (line 24) | async load(): Promise { method save (line 45) | async save(): Promise { method isAcknowledged (line 63) | async isAcknowledged( method acknowledge (line 74) | async acknowledge( FILE: packages/core/src/agents/agent-scheduler.ts type AgentSchedulingOptions (line 21) | interface AgentSchedulingOptions { function scheduleAgentTools (line 50) | async function scheduleAgentTools( FILE: packages/core/src/agents/agentLoader.test.ts function writeAgentMarkdown (line 37) | async function writeAgentMarkdown(content: string, fileName = 'test.md') { FILE: packages/core/src/agents/agentLoader.ts type FrontmatterBaseAgentDefinition (line 27) | interface FrontmatterBaseAgentDefinition { type FrontmatterMCPServerConfig (line 32) | interface FrontmatterMCPServerConfig { type FrontmatterLocalAgentDefinition (line 49) | interface FrontmatterLocalAgentDefinition type FrontmatterAuthConfig (line 65) | interface FrontmatterAuthConfig { type FrontmatterRemoteAgentDefinition (line 85) | interface FrontmatterRemoteAgentDefinition type FrontmatterAgentDefinition (line 93) | type FrontmatterAgentDefinition = class AgentLoadError (line 100) | class AgentLoadError extends Error { method constructor (line 101) | constructor( type AgentLoadResult (line 113) | interface AgentLoadResult { function formatZodError (line 280) | function formatZodError(error: z.ZodError, context: string): string { function parseAgentMarkdown (line 310) | async function parseAgentMarkdown( function convertFrontmatterAuthToConfig (line 403) | function convertFrontmatterAuthToConfig( function markdownToAgentDefinition (line 499) | function markdownToAgentDefinition( function loadAgentsFromDirectory (line 596) | async function loadAgentsFromDirectory( FILE: packages/core/src/agents/auth-provider/api-key-provider.ts constant DEFAULT_HEADER_NAME (line 13) | const DEFAULT_HEADER_NAME = 'X-API-Key'; class ApiKeyAuthProvider (line 24) | class ApiKeyAuthProvider extends BaseA2AAuthProvider { method constructor (line 30) | constructor(private readonly config: ApiKeyAuthConfig) { method initialize (line 35) | override async initialize(): Promise { method headers (line 46) | async headers(): Promise { method shouldRetryWithHeaders (line 58) | override async shouldRetryWithHeaders( FILE: packages/core/src/agents/auth-provider/base-provider.test.ts class TestAuthProvider (line 15) | class TestAuthProvider extends BaseA2AAuthProvider { method constructor (line 19) | constructor(headers: HttpHeaders = { Authorization: 'test-token' }) { method headers (line 24) | async headers(): Promise { method setHeaders (line 28) | setHeaders(headers: HttpHeaders): void { FILE: packages/core/src/agents/auth-provider/base-provider.ts method shouldRetryWithHeaders (line 40) | async shouldRetryWithHeaders( method initialize (line 59) | async initialize(): Promise { FILE: packages/core/src/agents/auth-provider/factory.ts type CreateAuthProviderOptions (line 17) | interface CreateAuthProviderOptions { class A2AAuthProviderFactory (line 32) | class A2AAuthProviderFactory { method create (line 33) | static async create( method createFromConfig (line 99) | static async createFromConfig( method validateAuthConfig (line 115) | static validateAuthConfig( method findMatchingScheme (line 156) | private static findMatchingScheme( method describeRequiredAuth (line 232) | static describeRequiredAuth( FILE: packages/core/src/agents/auth-provider/google-credentials-provider.ts constant CLOUD_RUN_HOST_REGEX (line 14) | const CLOUD_RUN_HOST_REGEX = /^(.*\.)?run\.app$/; constant ALLOWED_HOSTS (line 15) | const ALLOWED_HOSTS = [/^.+\.googleapis\.com$/, CLOUD_RUN_HOST_REGEX]; class GoogleCredentialsAuthProvider (line 22) | class GoogleCredentialsAuthProvider extends BaseA2AAuthProvider { method constructor (line 31) | constructor( method initialize (line 71) | override async initialize(): Promise { method headers (line 76) | async headers(): Promise { method shouldRetryWithHeaders (line 137) | override async shouldRetryWithHeaders( FILE: packages/core/src/agents/auth-provider/http-provider.ts class HttpAuthProvider (line 17) | class HttpAuthProvider extends BaseA2AAuthProvider { method constructor (line 25) | constructor(private readonly config: HttpAuthConfig) { method initialize (line 29) | override async initialize(): Promise { method headers (line 45) | override async headers(): Promise { method shouldRetryWithHeaders (line 73) | override async shouldRetryWithHeaders( FILE: packages/core/src/agents/auth-provider/oauth2-provider.test.ts function createConfig (line 99) | function createConfig( function getTokenStorage (line 112) | function getTokenStorage() { FILE: packages/core/src/agents/auth-provider/oauth2-provider.ts class OAuth2AuthProvider (line 36) | class OAuth2AuthProvider extends BaseA2AAuthProvider { method constructor (line 47) | constructor( method initialize (line 72) | override async initialize(): Promise { method headers (line 91) | override async headers(): Promise { method shouldRetryWithHeaders (line 140) | override async shouldRetryWithHeaders( method mergeAgentCardDefaults (line 171) | private mergeAgentCardDefaults( method fetchAgentCardDefaults (line 191) | private async fetchAgentCardDefaults(): Promise { method authenticateInteractively (line 211) | private async authenticateInteractively(): Promise { method toOAuthToken (line 304) | private toOAuthToken( method persistToken (line 331) | private async persistToken(): Promise { FILE: packages/core/src/agents/auth-provider/types.ts type A2AAuthProviderType (line 15) | type A2AAuthProviderType = type A2AAuthProvider (line 22) | interface A2AAuthProvider extends AuthenticationHandler { type BaseAuthConfig (line 28) | interface BaseAuthConfig {} type GoogleCredentialsAuthConfig (line 31) | interface GoogleCredentialsAuthConfig extends BaseAuthConfig { type ApiKeyAuthConfig (line 38) | interface ApiKeyAuthConfig extends BaseAuthConfig { type HttpAuthConfig (line 47) | type HttpAuthConfig = BaseAuthConfig & { type OAuth2AuthConfig (line 71) | interface OAuth2AuthConfig extends BaseAuthConfig { type OpenIdConnectAuthConfig (line 83) | interface OpenIdConnectAuthConfig extends BaseAuthConfig { type A2AAuthConfig (line 92) | type A2AAuthConfig = type AuthConfigDiff (line 99) | interface AuthConfigDiff { type AuthValidationResult (line 105) | interface AuthValidationResult { FILE: packages/core/src/agents/auth-provider/value-resolver.ts constant COMMAND_TIMEOUT_MS (line 10) | const COMMAND_TIMEOUT_MS = 60_000; function resolveAuthValue (line 26) | async function resolveAuthValue(value: string): Promise { function needsResolution (line 89) | function needsResolution(value: string): boolean { function maskSensitiveValue (line 97) | function maskSensitiveValue(value: string): string { FILE: packages/core/src/agents/browser/analyzeScreenshot.test.ts function createMockBrowserManager (line 17) | function createMockBrowserManager( function createMockConfig (line 36) | function createMockConfig( FILE: packages/core/src/agents/browser/analyzeScreenshot.ts constant VISUAL_SYSTEM_PROMPT (line 37) | const VISUAL_SYSTEM_PROMPT = `You are a Visual Analysis Agent. You recei... class AnalyzeScreenshotInvocation (line 61) | class AnalyzeScreenshotInvocation extends BaseToolInvocation< method constructor (line 65) | constructor( method getDescription (line 74) | getDescription(): string { method execute (line 79) | async execute(signal: AbortSignal): Promise { class AnalyzeScreenshotTool (line 198) | class AnalyzeScreenshotTool extends DeclarativeTool< method constructor (line 202) | constructor( method build (line 229) | build( function createAnalyzeScreenshotTool (line 244) | function createAnalyzeScreenshotTool( FILE: packages/core/src/agents/browser/automationOverlay.ts constant OVERLAY_ELEMENT_ID (line 23) | const OVERLAY_ELEMENT_ID = '__gemini_automation_overlay'; function buildInjectionScript (line 33) | function buildInjectionScript(): string { function buildRemovalScript (line 75) | function buildRemovalScript(): string { function injectAutomationOverlay (line 86) | async function injectAutomationOverlay( function removeAutomationOverlay (line 112) | async function removeAutomationOverlay( FILE: packages/core/src/agents/browser/browserAgentDefinition.ts constant BROWSER_AGENT_NAME (line 26) | const BROWSER_AGENT_NAME = 'browser_agent'; constant VISUAL_SECTION (line 42) | const VISUAL_SECTION = ` function buildBrowserSystemPrompt (line 58) | function buildBrowserSystemPrompt( FILE: packages/core/src/agents/browser/browserAgentFactory.ts function createBrowserAgentDefinition (line 46) | async function createBrowserAgentDefinition( function cleanupBrowserAgent (line 173) | async function cleanupBrowserAgent( FILE: packages/core/src/agents/browser/browserAgentInvocation.test.ts function setupActivityCapture (line 251) | function setupActivityCapture(): { FILE: packages/core/src/agents/browser/browserAgentInvocation.ts constant INPUT_PREVIEW_MAX_LENGTH (line 41) | const INPUT_PREVIEW_MAX_LENGTH = 50; constant DESCRIPTION_MAX_LENGTH (line 42) | const DESCRIPTION_MAX_LENGTH = 200; constant MAX_RECENT_ACTIVITY (line 43) | const MAX_RECENT_ACTIVITY = 20; constant SENSITIVE_KEY_PATTERNS (line 48) | const SENSITIVE_KEY_PATTERNS = [ function sanitizeToolArgs (line 77) | function sanitizeToolArgs(args: unknown): unknown { function sanitizeErrorMessage (line 117) | function sanitizeErrorMessage(message: string): string { function sanitizeThoughtContent (line 168) | function sanitizeThoughtContent(text: string): string { class BrowserAgentInvocation (line 179) | class BrowserAgentInvocation extends BaseToolInvocation< method constructor (line 183) | constructor( method config (line 199) | private get config(): Config { method getDescription (line 206) | getDescription(): string { method execute (line 227) | async execute( FILE: packages/core/src/agents/browser/browserManager.ts constant BROWSER_PROFILE_DIR (line 37) | const BROWSER_PROFILE_DIR = 'cli-browser-profile'; constant MCP_TIMEOUT_MS (line 40) | const MCP_TIMEOUT_MS = 60_000; constant POTENTIALLY_NAVIGATING_TOOLS (line 53) | const POTENTIALLY_NAVIGATING_TOOLS = new Set([ type McpContentItem (line 67) | interface McpContentItem { type McpToolCallResult (line 79) | interface McpToolCallResult { class BrowserManager (line 93) | class BrowserManager { method constructor (line 106) | constructor(private config: Config) { method getRawMcpClient (line 116) | async getRawMcpClient(): Promise { method getDiscoveredTools (line 131) | async getDiscoveredTools(): Promise { method callTool (line 144) | async callTool( method toResult (line 234) | private toResult( method ensureConnection (line 260) | async ensureConnection(): Promise { method close (line 282) | async close(): Promise { method connectMcp (line 320) | private async connectMcp(): Promise { method createConnectionError (line 482) | private createConnectionError(message: string, sessionMode: string): E... method discoverTools (line 546) | private async discoverTools(): Promise { method checkNavigationRestrictions (line 566) | private checkNavigationRestrictions( method registerInputBlockerHandler (line 625) | private registerInputBlockerHandler(): void { FILE: packages/core/src/agents/browser/inputBlocker.ts constant INPUT_BLOCKER_FUNCTION (line 37) | const INPUT_BLOCKER_FUNCTION = `() => { constant REMOVE_BLOCKER_FUNCTION (line 156) | const REMOVE_BLOCKER_FUNCTION = `() => { constant SUSPEND_BLOCKER_FUNCTION (line 175) | const SUSPEND_BLOCKER_FUNCTION = `() => { constant RESUME_BLOCKER_FUNCTION (line 186) | const RESUME_BLOCKER_FUNCTION = `() => { function injectInputBlocker (line 199) | async function injectInputBlocker( function removeInputBlocker (line 223) | async function removeInputBlocker( function suspendInputBlocker (line 245) | async function suspendInputBlocker( function resumeInputBlocker (line 261) | async function resumeInputBlocker( FILE: packages/core/src/agents/browser/mcpToolWrapper.ts constant INTERACTIVE_TOOLS (line 43) | const INTERACTIVE_TOOLS = new Set([ class McpToolInvocation (line 56) | class McpToolInvocation extends BaseToolInvocation< method constructor (line 60) | constructor( method getDescription (line 76) | getDescription(): string { method getConfirmationDetails (line 80) | protected override async getConfirmationDetails( method getPolicyUpdateOptions (line 99) | override getPolicyUpdateOptions( method needsBlockerSuspend (line 111) | private get needsBlockerSuspend(): boolean { method execute (line 115) | async execute(signal: AbortSignal): Promise { class McpDeclarativeTool (line 189) | class McpDeclarativeTool extends DeclarativeTool< method constructor (line 193) | constructor( method toolAnnotations (line 215) | override get toolAnnotations(): Record { method build (line 221) | build( function createMcpDeclarativeTools (line 248) | async function createMcpDeclarativeTools( function convertMcpToolToFunctionDeclaration (line 288) | function convertMcpToolToFunctionDeclaration( function augmentToolDescription (line 317) | function augmentToolDescription(toolName: string, description: string): ... function postProcessToolResult (line 355) | function postProcessToolResult( FILE: packages/core/src/agents/browser/mcpToolWrapperConfirmation.test.ts type TestableConfirmation (line 19) | interface TestableConfirmation { FILE: packages/core/src/agents/browser/modelAvailability.ts constant VISUAL_AGENT_MODEL (line 20) | const VISUAL_AGENT_MODEL = 'gemini-2.5-computer-use-preview-10-2025'; function getVisualAgentModel (line 28) | function getVisualAgentModel(config: Config): string { FILE: packages/core/src/agents/generalist-agent.test.ts method get (line 33) | get() { FILE: packages/core/src/agents/generalist-agent.ts method toolConfig (line 48) | get toolConfig() { method promptConfig (line 54) | get promptConfig() { FILE: packages/core/src/agents/local-executor.test.ts method [Symbol.asyncIterator] (line 26) | async *[Symbol.asyncIterator]() { method log (line 168) | log() {} constant TASK_COMPLETE_TOOL_NAME (line 193) | const TASK_COMPLETE_TOOL_NAME = 'complete_task'; constant MOCK_TOOL_NOT_ALLOWED (line 194) | const MOCK_TOOL_NOT_ALLOWED = new MockTool({ name: 'write_file_interacti... FILE: packages/core/src/agents/local-executor.ts type ActivityCallback (line 81) | type ActivityCallback = (activity: SubagentActivityEvent) => void; constant TASK_COMPLETE_TOOL_NAME (line 83) | const TASK_COMPLETE_TOOL_NAME = 'complete_task'; constant GRACE_PERIOD_MS (line 84) | const GRACE_PERIOD_MS = 60 * 1000; type AgentTurnResult (line 87) | type AgentTurnResult = function createUnauthorizedToolError (line 98) | function createUnauthorizedToolError(toolName: string): string { class LocalAgentExecutor (line 108) | class LocalAgentExecutor { method executionContext (line 121) | private get executionContext(): AgentLoopContext { method create (line 145) | static async create( method constructor (line 283) | private constructor( method executeTurn (line 316) | private async executeTurn( method getFinalWarningMessage (line 392) | private getFinalWarningMessage( method executeFinalWarningTurn (line 421) | private async executeFinalWarningTurn( method run (line 516) | async run(inputs: AgentInputs, signal: AbortSignal): Promise { method applyTemplateToInitialMessages (line 1433) | private applyTemplateToInitialMessages( method checkTermination (line 1453) | private checkTermination( method emitActivity (line 1465) | private emitActivity( FILE: packages/core/src/agents/local-invocation.ts constant INPUT_PREVIEW_MAX_LENGTH (line 28) | const INPUT_PREVIEW_MAX_LENGTH = 50; constant DESCRIPTION_MAX_LENGTH (line 29) | const DESCRIPTION_MAX_LENGTH = 200; constant MAX_RECENT_ACTIVITY (line 30) | const MAX_RECENT_ACTIVITY = 3; class LocalSubagentInvocation (line 42) | class LocalSubagentInvocation extends BaseToolInvocation< method constructor (line 52) | constructor( method getDescription (line 72) | getDescription(): string { method execute (line 92) | async execute( FILE: packages/core/src/agents/memory-manager-agent.test.ts function createMockConfig (line 22) | function createMockConfig(memory: string | HierarchicalMemory = ''): Con... FILE: packages/core/src/agents/memory-manager-agent.ts method promptConfig (line 145) | get promptConfig() { FILE: packages/core/src/agents/registry.test.ts function makeMockedConfig (line 54) | function makeMockedConfig(params?: Partial): Config { class TestableAgentRegistry (line 67) | class TestableAgentRegistry extends AgentRegistry { method testRegisterAgent (line 68) | async testRegisterAgent(definition: AgentDefinition): Promise { constant MOCK_AGENT_V1 (line 74) | const MOCK_AGENT_V1: AgentDefinition = { constant MOCK_AGENT_V2 (line 94) | const MOCK_AGENT_V2: AgentDefinition = { method toolConfig (line 1482) | get toolConfig() { FILE: packages/core/src/agents/registry.ts function getModelConfigAlias (line 32) | function getModelConfigAlias( class AgentRegistry (line 42) | class AgentRegistry { method constructor (line 48) | constructor(private readonly config: Config) {} method initialize (line 53) | async initialize(): Promise { method reload (line 71) | async reload(): Promise { method acknowledgeAgent (line 83) | async acknowledgeAgent(agent: AgentDefinition): Promise { method dispose (line 100) | dispose(): void { method loadAgents (line 104) | private async loadAgents(): Promise { method loadBuiltInAgents (line 242) | private loadBuiltInAgents(): void { method refreshAgents (line 273) | private async refreshAgents(): Promise { method registerAgent (line 287) | protected async registerAgent( method registerLocalAgent (line 300) | protected registerLocalAgent( method addAgentPolicy (line 340) | private addAgentPolicy(definition: AgentDefinition): void { method isAgentEnabled (line 372) | private isAgentEnabled( method registerRemoteAgent (line 392) | protected async registerRemoteAgent( method applyOverrides (line 539) | private applyOverrides( method registerModelConfigs (line 613) | private registerModelConfigs( method getDefinition (line 650) | getDefinition(name: string): AgentDefinition | undefined { method getAllDefinitions (line 657) | getAllDefinitions(): AgentDefinition[] { method getAllAgentNames (line 664) | getAllAgentNames(): string[] { method getAllDiscoveredAgentNames (line 671) | getAllDiscoveredAgentNames(): string[] { method getDiscoveredDefinition (line 678) | getDiscoveredDefinition(name: string): AgentDefinition | undefined { FILE: packages/core/src/agents/registry_acknowledgement.test.ts constant MOCK_AGENT_WITH_HASH (line 24) | const MOCK_AGENT_WITH_HASH: AgentDefinition = { FILE: packages/core/src/agents/remote-invocation.ts class RemoteAgentInvocation (line 39) | class RemoteAgentInvocation extends BaseToolInvocation< method constructor (line 55) | constructor( method getDescription (line 85) | getDescription(): string { method getAuthHandler (line 89) | private async getAuthHandler(): Promise { method constructor (line 32) | constructor( method isReadOnly (line 61) | override get isReadOnly(): boolean { method checkIsReadOnly (line 74) | private static checkIsReadOnly( method createInvocation (line 106) | protected createInvocation( class SubAgentInvocation (line 123) | class SubAgentInvocation extends BaseToolInvocation; type RemoteAgentInputs (line 63) | type RemoteAgentInputs = { query: string }; type SubagentActivityErrorType (line 68) | enum SubagentActivityErrorType { constant SUBAGENT_REJECTED_ERROR_PREFIX (line 77) | const SUBAGENT_REJECTED_ERROR_PREFIX = 'User rejected this operation.'; constant SUBAGENT_CANCELLED_ERROR_MESSAGE (line 78) | const SUBAGENT_CANCELLED_ERROR_MESSAGE = 'Request cancelled.'; type SubagentActivityEvent (line 80) | interface SubagentActivityEvent { type SubagentActivityItem (line 87) | interface SubagentActivityItem { type SubagentProgress (line 97) | interface SubagentProgress { function isSubagentProgress (line 106) | function isSubagentProgress(obj: unknown): obj is SubagentProgress { type BaseAgentDefinition (line 119) | interface BaseAgentDefinition< type LocalAgentDefinition (line 135) | interface LocalAgentDefinition< type RemoteAgentDefinition (line 163) | interface RemoteAgentDefinition< type AgentDefinition (line 178) | type AgentDefinition = type PromptConfig (line 185) | interface PromptConfig { type ToolConfig (line 207) | interface ToolConfig { type InputConfig (line 214) | interface InputConfig { type OutputConfig (line 221) | interface OutputConfig { type RunConfig (line 243) | interface RunConfig { FILE: packages/core/src/agents/utils.ts function templateString (line 17) | function templateString(template: string, inputs: AgentInputs): string { FILE: packages/core/src/availability/errorClassification.ts function classifyFailureKind (line 14) | function classifyFailureKind(error: unknown): FailureKind { FILE: packages/core/src/availability/modelAvailabilityService.ts type ModelId (line 7) | type ModelId = string; type TerminalUnavailabilityReason (line 9) | type TerminalUnavailabilityReason = 'quota' | 'capacity'; type TurnUnavailabilityReason (line 10) | type TurnUnavailabilityReason = 'retry_once_per_turn'; type UnavailabilityReason (line 12) | type UnavailabilityReason = type ModelHealthStatus (line 17) | type ModelHealthStatus = 'terminal' | 'sticky_retry'; type HealthState (line 19) | type HealthState = type ModelAvailabilitySnapshot (line 27) | interface ModelAvailabilitySnapshot { type ModelSelectionResult (line 32) | interface ModelSelectionResult { class ModelAvailabilityService (line 41) | class ModelAvailabilityService { method markTerminal (line 44) | markTerminal(model: ModelId, reason: TerminalUnavailabilityReason) { method markHealthy (line 51) | markHealthy(model: ModelId) { method markRetryOncePerTurn (line 55) | markRetryOncePerTurn(model: ModelId) { method consumeStickyAttempt (line 76) | consumeStickyAttempt(model: ModelId) { method snapshot (line 83) | snapshot(model: ModelId): ModelAvailabilitySnapshot { method selectFirstAvailable (line 101) | selectFirstAvailable(models: ModelId[]): ModelSelectionResult { method resetTurn (line 118) | resetTurn() { method reset (line 126) | reset() { method setState (line 130) | private setState(model: ModelId, nextState: HealthState) { method clearState (line 134) | private clearState(model: ModelId) { FILE: packages/core/src/availability/modelPolicy.ts type FallbackAction (line 16) | type FallbackAction = 'silent' | 'prompt'; type FailureKind (line 21) | type FailureKind = 'terminal' | 'transient' | 'not_found' | 'unknown'; type ModelPolicyActionMap (line 26) | type ModelPolicyActionMap = Partial>; type ModelPolicyStateMap (line 31) | type ModelPolicyStateMap = Partial< type ModelPolicy (line 44) | interface ModelPolicy { type ModelPolicyChain (line 55) | type ModelPolicyChain = ModelPolicy[]; type RetryAvailabilityContext (line 60) | interface RetryAvailabilityContext { FILE: packages/core/src/availability/policyCatalog.ts type PolicyConfig (line 24) | type PolicyConfig = Omit & { type ModelPolicyOptions (line 29) | interface ModelPolicyOptions { constant DEFAULT_ACTIONS (line 36) | const DEFAULT_ACTIONS: ModelPolicyActionMap = { constant SILENT_ACTIONS (line 43) | const SILENT_ACTIONS: ModelPolicyActionMap = { constant DEFAULT_STATE (line 50) | const DEFAULT_STATE: ModelPolicyStateMap = { constant DEFAULT_CHAIN (line 57) | const DEFAULT_CHAIN: ModelPolicyChain = [ constant FLASH_LITE_CHAIN (line 62) | const FLASH_LITE_CHAIN: ModelPolicyChain = [ function getModelPolicyChain (line 81) | function getModelPolicyChain( function createSingleModelChain (line 99) | function createSingleModelChain(model: string): ModelPolicyChain { function getFlashLitePolicyChain (line 103) | function getFlashLitePolicyChain(): ModelPolicyChain { function createDefaultPolicy (line 110) | function createDefaultPolicy( function validateModelPolicyChain (line 117) | function validateModelPolicyChain(chain: ModelPolicyChain): void { function definePolicy (line 134) | function definePolicy(config: PolicyConfig): ModelPolicy { function clonePolicy (line 146) | function clonePolicy(policy: ModelPolicy): ModelPolicy { function cloneChain (line 154) | function cloneChain(chain: ModelPolicyChain): ModelPolicyChain { FILE: packages/core/src/availability/policyHelpers.ts function resolvePolicyChain (line 37) | function resolvePolicyChain( function applyDynamicSlicing (line 144) | function applyDynamicSlicing( function buildFallbackPolicyContext (line 170) | function buildFallbackPolicyContext( function resolvePolicyAction (line 193) | function resolvePolicyAction( function createAvailabilityContextProvider (line 207) | function createAvailabilityContextProvider( function selectModelForAvailability (line 227) | function selectModelForAvailability( function applyModelSelection (line 248) | function applyModelSelection( function applyAvailabilityTransition (line 287) | function applyAvailabilityTransition( FILE: packages/core/src/availability/testUtils.ts function createAvailabilityServiceMock (line 16) | function createAvailabilityServiceMock( FILE: packages/core/src/billing/billing.ts type OverageStrategy (line 24) | type OverageStrategy = 'ask' | 'always' | 'never'; constant G1_CREDIT_TYPE (line 27) | const G1_CREDIT_TYPE: CreditType = 'GOOGLE_ONE_AI'; constant OVERAGE_ELIGIBLE_MODELS (line 33) | const OVERAGE_ELIGIBLE_MODELS = new Set([ function isOverageEligibleModel (line 44) | function isOverageEligibleModel(model: string): boolean { constant G1_AI_BASE_URL (line 49) | const G1_AI_BASE_URL = 'https://one.google.com/ai'; constant ACCOUNT_CHOOSER_URL (line 52) | const ACCOUNT_CHOOSER_URL = 'https://accounts.google.com/AccountChooser'; constant UTM_SOURCE (line 55) | const UTM_SOURCE = 'gemini_cli'; constant UTM_MEDIUM (line 57) | const UTM_MEDIUM = 'web'; function wrapInAccountChooser (line 65) | function wrapInAccountChooser( constant G1_UTM_CAMPAIGNS (line 79) | const G1_UTM_CAMPAIGNS = { function buildG1Url (line 95) | function buildG1Url( function getG1CreditBalance (line 115) | function getG1CreditBalance( constant MIN_CREDIT_BALANCE (line 137) | const MIN_CREDIT_BALANCE = 50; function shouldAutoUseCredits (line 145) | function shouldAutoUseCredits( function shouldShowOverageMenu (line 162) | function shouldShowOverageMenu( function shouldShowEmptyWalletMenu (line 179) | function shouldShowEmptyWalletMenu( FILE: packages/core/src/code_assist/admin/admin_controls.ts function sanitizeAdminSettings (line 22) | function sanitizeAdminSettings( function fetchAdminControls (line 105) | async function fetchAdminControls( function fetchAdminControlsOnce (line 154) | async function fetchAdminControlsOnce( function startAdminControlsPolling (line 184) | function startAdminControlsPolling( function stopAdminControlsPolling (line 221) | function stopAdminControlsPolling() { function getAdminErrorMessage (line 235) | function getAdminErrorMessage( function getAdminBlockedMcpServersMessage (line 252) | function getAdminBlockedMcpServersMessage( FILE: packages/core/src/code_assist/admin/mcpUtils.ts function applyAdminAllowlist (line 22) | function applyAdminAllowlist( function applyRequiredServers (line 80) | function applyRequiredServers( FILE: packages/core/src/code_assist/codeAssist.ts function createCodeAssistContentGenerator (line 14) | async function createCodeAssistContentGenerator( function getCodeAssistServer (line 45) | function getCodeAssistServer( FILE: packages/core/src/code_assist/converter.ts type CAGenerateContentRequest (line 33) | interface CAGenerateContentRequest { type VertexGenerateContentRequest (line 41) | interface VertexGenerateContentRequest { type VertexGenerationConfig (line 53) | interface VertexGenerationConfig { type CaGenerateContentResponse (line 77) | interface CaGenerateContentResponse { type VertexGenerateContentResponse (line 84) | interface VertexGenerateContentResponse { type CaCountTokenRequest (line 92) | interface CaCountTokenRequest { type VertexCountTokenRequest (line 96) | interface VertexCountTokenRequest { type CaCountTokenResponse (line 101) | interface CaCountTokenResponse { function toCountTokenRequest (line 105) | function toCountTokenRequest( function fromCountTokenResponse (line 116) | function fromCountTokenResponse( function toGenerateContentRequest (line 129) | function toGenerateContentRequest( function fromGenerateContentResponse (line 145) | function fromGenerateContentResponse( function toVertexGenerateContentRequest (line 163) | function toVertexGenerateContentRequest( function toContents (line 180) | function toContents(contents: ContentListUnion): Content[] { function maybeToContent (line 189) | function maybeToContent(content?: ContentUnion): Content | undefined { function isPart (line 196) | function isPart(c: ContentUnion): c is PartUnion { function toContent (line 206) | function toContent(content: ContentUnion): Content { function toParts (line 237) | function toParts(parts: PartUnion[]): Part[] { function toPart (line 241) | function toPart(part: PartUnion): Part { function toVertexGenerationConfig (line 284) | function toVertexGenerationConfig( function fromGenerateContentResponseUsage (line 315) | function fromGenerateContentResponseUsage( FILE: packages/core/src/code_assist/experiments/client_metadata.ts function getPlatform (line 19) | function getPlatform(): ClientMetadataPlatform { function getClientMetadata (line 46) | async function getClientMetadata(): Promise { FILE: packages/core/src/code_assist/experiments/experiments.ts type Experiments (line 13) | interface Experiments { function getExperiments (line 25) | async function getExperiments( function parseExperiments (line 65) | function parseExperiments(response: ListExperimentsResponse): Experiments { FILE: packages/core/src/code_assist/experiments/flagNames.ts type ExperimentFlagName (line 23) | type ExperimentFlagName = FILE: packages/core/src/code_assist/experiments/types.ts type ListExperimentsRequest (line 9) | interface ListExperimentsRequest { type ListExperimentsResponse (line 14) | interface ListExperimentsResponse { type Flag (line 21) | interface Flag { type Int32List (line 31) | interface Int32List { type StringList (line 35) | interface StringList { type FilteredFlag (line 39) | interface FilteredFlag { FILE: packages/core/src/code_assist/oauth-credential-storage.ts constant KEYCHAIN_SERVICE_NAME (line 16) | const KEYCHAIN_SERVICE_NAME = 'gemini-cli-oauth'; constant MAIN_ACCOUNT_KEY (line 17) | const MAIN_ACCOUNT_KEY = 'main-account'; class OAuthCredentialStorage (line 19) | class OAuthCredentialStorage { method loadCredentials (line 27) | static async loadCredentials(): Promise { method saveCredentials (line 64) | static async saveCredentials(credentials: Credentials): Promise { method clearCredentials (line 88) | static async clearCredentials(): Promise { method migrateFromFileStorage (line 108) | private static async migrateFromFileStorage(): Promise { function authWithWeb (line 487) | async function authWithWeb(client: OAuth2Client): Promise { function getAvailablePort (line 612) | function getAvailablePort(): Promise { function fetchCachedCredentials (line 645) | async function fetchCachedCredentials(): Promise< function clearOauthClientCache (line 675) | function clearOauthClientCache() { function clearCachedCredentialFile (line 679) | async function clearCachedCredentialFile() { function fetchAndCacheUserInfo (line 696) | async function fetchAndCacheUserInfo(client: OAuth2Client): Promise { function resetOauthClientForTesting (line 730) | function resetOauthClientForTesting() { function cacheCredentials (line 734) | async function cacheCredentials(credentials: Credentials) { FILE: packages/core/src/code_assist/server.test.ts function createTestServer (line 30) | function createTestServer(headers: Record = {}) { method read (line 230) | read() {} method read (line 387) | read() {} method start (line 445) | start(controller) { method read (line 487) | read() {} method read (line 821) | read() { method read (line 852) | read() { method read (line 902) | read() { method read (line 935) | read() {} method read (line 978) | read() {} method read (line 1025) | read() { method read (line 1086) | read() { FILE: packages/core/src/code_assist/server.ts type HttpOptions (line 68) | interface HttpOptions { constant CODE_ASSIST_ENDPOINT (line 73) | const CODE_ASSIST_ENDPOINT = 'https://cloudcode-pa.googleapis.com'; constant CODE_ASSIST_API_VERSION (line 74) | const CODE_ASSIST_API_VERSION = 'v1internal'; constant GENERATE_CONTENT_RETRY_DELAY_IN_MILLISECONDS (line 75) | const GENERATE_CONTENT_RETRY_DELAY_IN_MILLISECONDS = 1000; class CodeAssistServer (line 77) | class CodeAssistServer implements ContentGenerator { method constructor (line 78) | constructor( method generateContentStream (line 89) | async generateContentStream( method generateContent (line 194) | async generateContent( method updateCredits (line 237) | private updateCredits(remainingCredits: Credits[]): void { method onboardUser (line 253) | async onboardUser( method getOperation (line 259) | async getOperation(name: string): Promise { method loadCodeAssist (line 263) | async loadCodeAssist( method refreshAvailableCredits (line 282) | async refreshAvailableCredits(): Promise { method fetchAdminControls (line 301) | async fetchAdminControls( method getCodeAssistGlobalUserSetting (line 310) | async getCodeAssistGlobalUserSetting(): Promise( method makeGetRequest (line 431) | private async makeGetRequest( method requestGet (line 448) | async requestGet(method: string, signal?: AbortSignal): Promise { method requestGetOperation (line 452) | async requestGetOperation(name: string, signal?: AbortSignal): Prom... method requestStreamingPost (line 456) | async requestStreamingPost( method getBaseUrl (line 510) | private getBaseUrl(): string { method getMethodUrl (line 518) | getMethodUrl(method: string): string { method getOperationUrl (line 522) | getOperationUrl(name: string): string { type VpcScErrorResponse (line 527) | interface VpcScErrorResponse { function isVpcScErrorResponse (line 537) | function isVpcScErrorResponse(error: unknown): error is VpcScErrorRespon... function isVpcScAffectedUser (line 563) | function isVpcScAffectedUser(error: unknown): boolean { FILE: packages/core/src/code_assist/setup.ts class ProjectIdRequiredError (line 24) | class ProjectIdRequiredError extends Error { method constructor (line 25) | constructor() { class ValidationCancelledError (line 36) | class ValidationCancelledError extends Error { method constructor (line 37) | constructor() { class IneligibleTierError (line 42) | class IneligibleTierError extends Error { method constructor (line 45) | constructor(ineligibleTiers: IneligibleTier[]) { type UserData (line 52) | interface UserData { function resetUserDataCacheForTesting (line 73) | function resetUserDataCacheForTesting() { function setupUser (line 104) | async function setupUser( function _doSetupUser (line 129) | async function _doSetupUser( function throwIneligibleOrProjectIdError (line 267) | function throwIneligibleOrProjectIdError(res: LoadCodeAssistResponse): n... function getOnboardTier (line 274) | function getOnboardTier(res: LoadCodeAssistResponse): GeminiUserTier { function validateLoadCodeAssistResponse (line 288) | function validateLoadCodeAssistResponse(res: LoadCodeAssistResponse): vo... FILE: packages/core/src/code_assist/telemetry.test.ts function createMockResponse (line 36) | function createMockResponse( FILE: packages/core/src/code_assist/telemetry.ts function recordConversationOffered (line 33) | async function recordConversationOffered( function recordToolCallInteractions (line 61) | async function recordToolCallInteractions( function createConversationOffered (line 87) | function createConversationOffered( function summarizeToolCalls (line 117) | function summarizeToolCalls( function createConversationInteraction (line 195) | function createConversationInteraction( function includesCode (line 215) | function includesCode(resp: GenerateContentResponse): boolean { function getStatusFromResponse (line 232) | function getStatusFromResponse( function formatProtoJsonDuration (line 251) | function formatProtoJsonDuration(milliseconds: number): string { function hasError (line 255) | function hasError(response: GenerateContentResponse): boolean { FILE: packages/core/src/code_assist/types.ts type ClientMetadata (line 10) | interface ClientMetadata { type ClientMetadataIdeType (line 21) | type ClientMetadataIdeType = type ClientMetadataPlatform (line 29) | type ClientMetadataPlatform = type ClientMetadataPluginType (line 36) | type ClientMetadataPluginType = type CreditType (line 46) | type CreditType = 'CREDIT_TYPE_UNSPECIFIED' | 'GOOGLE_ONE_AI'; type Credits (line 53) | interface Credits { type AvailableCredits (line 59) | type AvailableCredits = Credits; type ConsumedCredits (line 62) | type ConsumedCredits = Credits; type RemainingCredits (line 65) | type RemainingCredits = Credits; type LoadCodeAssistRequest (line 67) | interface LoadCodeAssistRequest { type LoadCodeAssistMode (line 73) | type LoadCodeAssistMode = type LoadCodeAssistResponse (line 82) | interface LoadCodeAssistResponse { type GeminiUserTier (line 93) | interface GeminiUserTier { type IneligibleTier (line 114) | interface IneligibleTier { type IneligibleTierReasonCode (line 130) | enum IneligibleTierReasonCode { type UserTierId (line 156) | type UserTierId = (typeof UserTierId)[keyof typeof UserTierId] | string; type PrivacyNotice (line 162) | interface PrivacyNotice { type OnboardUserRequest (line 170) | interface OnboardUserRequest { type LongRunningOperationResponse (line 180) | interface LongRunningOperationResponse { type OnboardUserResponse (line 190) | interface OnboardUserResponse { type OnboardUserStatusCode (line 203) | enum OnboardUserStatusCode { type OnboardUserStatus (line 213) | interface OnboardUserStatus { type HelpLinkUrl (line 219) | interface HelpLinkUrl { type SetCodeAssistGlobalUserSettingRequest (line 224) | interface SetCodeAssistGlobalUserSettingRequest { type CodeAssistGlobalUserSettingResponse (line 229) | interface CodeAssistGlobalUserSettingResponse { type GoogleRpcResponse (line 237) | interface GoogleRpcResponse { type GoogleRpcErrorInfo (line 246) | interface GoogleRpcErrorInfo { type RetrieveUserQuotaRequest (line 250) | interface RetrieveUserQuotaRequest { type BucketInfo (line 255) | interface BucketInfo { type RetrieveUserQuotaResponse (line 263) | interface RetrieveUserQuotaResponse { type RecordCodeAssistMetricsRequest (line 267) | interface RecordCodeAssistMetricsRequest { type CodeAssistMetric (line 274) | interface CodeAssistMetric { type ConversationInteractionInteraction (line 283) | enum ConversationInteractionInteraction { type ActionStatus (line 296) | enum ActionStatus { type InitiationMethod (line 304) | enum InitiationMethod { type ConversationOffered (line 311) | interface ConversationOffered { type StreamingLatency (line 322) | interface StreamingLatency { type ConversationInteraction (line 327) | interface ConversationInteraction { type FetchAdminControlsRequest (line 338) | interface FetchAdminControlsRequest { type FetchAdminControlsResponse (line 342) | type FetchAdminControlsResponse = z.infer< type RequiredMcpServerConfig (line 391) | type RequiredMcpServerConfig = z.infer< type McpConfigDefinition (line 400) | type McpConfigDefinition = z.infer; type AdminControlsSettings (line 420) | type AdminControlsSettings = z.infer; FILE: packages/core/src/commands/extensions.ts function listExtensions (line 9) | function listExtensions(config: Config) { FILE: packages/core/src/commands/init.ts function performInit (line 9) | function performInit(doesGeminiMdExist: boolean): CommandActionReturn { FILE: packages/core/src/commands/memory.ts function showMemory (line 12) | function showMemory(config: Config): MessageActionReturn { function addMemory (line 30) | function addMemory( function refreshMemory (line 47) | async function refreshMemory( function listMemoryFiles (line 79) | function listMemoryFiles(config: Config): MessageActionReturn { FILE: packages/core/src/commands/types.ts type ToolActionReturn (line 11) | interface ToolActionReturn { type MessageActionReturn (line 26) | interface MessageActionReturn { type LoadHistoryActionReturn (line 36) | interface LoadHistoryActionReturn { type SubmitPromptActionReturn (line 46) | interface SubmitPromptActionReturn { type CommandActionReturn (line 51) | type CommandActionReturn = FILE: packages/core/src/config/agent-loop-context.ts type AgentLoopContext (line 19) | interface AgentLoopContext { FILE: packages/core/src/config/config.ts type AccessibilitySettings (line 168) | interface AccessibilitySettings { type BugCommandSettings (line 174) | interface BugCommandSettings { type SummarizeToolOutputSettings (line 178) | interface SummarizeToolOutputSettings { type PlanSettings (line 182) | interface PlanSettings { type TelemetrySettings (line 187) | interface TelemetrySettings { type OutputSettings (line 198) | interface OutputSettings { type ToolOutputMaskingConfig (line 202) | interface ToolOutputMaskingConfig { type GemmaModelRouterSettings (line 209) | interface GemmaModelRouterSettings { type ExtensionSetting (line 217) | interface ExtensionSetting { type ResolvedExtensionSetting (line 224) | interface ResolvedExtensionSetting { type AgentRunConfig (line 233) | interface AgentRunConfig { type AgentOverride (line 242) | interface AgentOverride { type AgentSettings (line 250) | interface AgentSettings { type CustomTheme (line 255) | interface CustomTheme { type BrowserAgentCustomConfig (line 314) | interface BrowserAgentCustomConfig { type GeminiCLIExtension (line 341) | interface GeminiCLIExtension { type ExtensionInstallMetadata (line 384) | interface ExtensionInstallMetadata { constant DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD (line 421) | const DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD = 40_000; class MCPServerConfig (line 423) | class MCPServerConfig { method constructor (line 424) | constructor( type AuthProviderType (line 462) | enum AuthProviderType { type SandboxConfig (line 468) | interface SandboxConfig { type McpEnablementCallbacks (line 517) | interface McpEnablementCallbacks { type PolicyUpdateConfirmationRequest (line 524) | interface PolicyUpdateConfirmationRequest { type ConfigParameters (line 531) | interface ConfigParameters { class Config (line 670) | class Config implements McpContext, AgentLoopContext { method emitQuotaChangedEvent (line 770) | private emitQuotaChangedEvent(): void { method constructor (line 887) | constructor(params: ConfigParameters) { method config (line 1231) | get config(): Config { method isInitialized (line 1235) | isInitialized(): boolean { method initialize (line 1243) | async initialize(): Promise { method _initialize (line 1253) | private async _initialize(): Promise { method getContentGenerator (line 1353) | getContentGenerator(): ContentGenerator { method refreshAuth (line 1357) | async refreshAuth( method getExperimentsAsync (line 1459) | async getExperimentsAsync(): Promise { method getUserTier (line 1467) | getUserTier(): UserTierId | undefined { method getUserTierName (line 1471) | getUserTierName(): string | undefined { method getUserPaidTier (line 1475) | getUserPaidTier(): GeminiUserTier | undefined { method getBaseLlmClient (line 1482) | getBaseLlmClient(): BaseLlmClient { method getLocalLiteRtLmClient (line 1499) | getLocalLiteRtLmClient(): LocalLiteRtLmClient { method promptId (line 1506) | get promptId(): string { method toolRegistry (line 1514) | get toolRegistry(): ToolRegistry { method promptRegistry (line 1522) | get promptRegistry(): PromptRegistry { method resourceRegistry (line 1530) | get resourceRegistry(): ResourceRegistry { method messageBus (line 1538) | get messageBus(): MessageBus { method geminiClient (line 1546) | get geminiClient(): GeminiClient { method sandboxManager (line 1550) | get sandboxManager(): SandboxManager { method getSessionId (line 1554) | getSessionId(): string { method getClientName (line 1558) | getClientName(): string | undefined { method setSessionId (line 1562) | setSessionId(sessionId: string): void { method setTerminalBackground (line 1566) | setTerminalBackground(terminalBackground: string | undefined): void { method getTerminalBackground (line 1570) | getTerminalBackground(): string | undefined { method getLatestApiRequest (line 1574) | getLatestApiRequest(): GenerateContentParameters | undefined { method setLatestApiRequest (line 1578) | setLatestApiRequest(req: GenerateContentParameters): void { method getRemoteAdminSettings (line 1582) | getRemoteAdminSettings(): AdminControlsSettings | undefined { method setRemoteAdminSettings (line 1586) | setRemoteAdminSettings(settings: AdminControlsSettings | undefined): v... method shouldLoadMemoryFromIncludeDirectories (line 1590) | shouldLoadMemoryFromIncludeDirectories(): boolean { method getIncludeDirectoryTree (line 1594) | getIncludeDirectoryTree(): boolean { method getImportFormat (line 1598) | getImportFormat(): 'tree' | 'flat' { method getDiscoveryMaxDirs (line 1602) | getDiscoveryMaxDirs(): number { method getContentGeneratorConfig (line 1606) | getContentGeneratorConfig(): ContentGeneratorConfig { method getModel (line 1610) | getModel(): string { method getDisableLoopDetection (line 1614) | getDisableLoopDetection(): boolean { method setModel (line 1618) | setModel(newModel: string, isTemporary: boolean = true): void { method activateFallbackMode (line 1631) | activateFallbackMode(model: string): void { method getActiveModel (line 1639) | getActiveModel(): string { method setActiveModel (line 1643) | setActiveModel(model: string): void { method setFallbackModelHandler (line 1649) | setFallbackModelHandler(handler: FallbackModelHandler): void { method getFallbackModelHandler (line 1653) | getFallbackModelHandler(): FallbackModelHandler | undefined { method setValidationHandler (line 1657) | setValidationHandler(handler: ValidationHandler): void { method getValidationHandler (line 1661) | getValidationHandler(): ValidationHandler | undefined { method resetTurn (line 1665) | resetTurn(): void { method resetBillingTurnState (line 1670) | resetBillingTurnState(overageStrategy?: OverageStrategy): void { method getMaxSessionTurns (line 1675) | getMaxSessionTurns(): number { method setQuotaErrorOccurred (line 1679) | setQuotaErrorOccurred(value: boolean): void { method getQuotaErrorOccurred (line 1683) | getQuotaErrorOccurred(): boolean { method setCreditsNotificationShown (line 1687) | setCreditsNotificationShown(value: boolean): void { method getCreditsNotificationShown (line 1691) | getCreditsNotificationShown(): boolean { method setQuota (line 1695) | setQuota( method getPooledQuota (line 1714) | private getPooledQuota(): { method getQuotaRemaining (line 1752) | getQuotaRemaining(): number | undefined { method getQuotaLimit (line 1764) | getQuotaLimit(): number | undefined { method getQuotaResetTime (line 1776) | getQuotaResetTime(): string | undefined { method getEmbeddingModel (line 1788) | getEmbeddingModel(): string { method getSandbox (line 1792) | getSandbox(): SandboxConfig | undefined { method getSandboxEnabled (line 1796) | getSandboxEnabled(): boolean { method getSandboxAllowedPaths (line 1800) | getSandboxAllowedPaths(): string[] { method getSandboxNetworkAccess (line 1804) | getSandboxNetworkAccess(): boolean { method isRestrictiveSandbox (line 1808) | isRestrictiveSandbox(): boolean { method getTargetDir (line 1820) | getTargetDir(): string { method getProjectRoot (line 1824) | getProjectRoot(): string { method getWorkspaceContext (line 1828) | getWorkspaceContext(): WorkspaceContext { method getAgentRegistry (line 1832) | getAgentRegistry(): AgentRegistry { method getAcknowledgedAgentsService (line 1836) | getAcknowledgedAgentsService(): AcknowledgedAgentsService { method getToolRegistry (line 1841) | getToolRegistry(): ToolRegistry { method getPromptRegistry (line 1845) | getPromptRegistry(): PromptRegistry { method getSkillManager (line 1849) | getSkillManager(): SkillManager { method getResourceRegistry (line 1853) | getResourceRegistry(): ResourceRegistry { method getDebugMode (line 1857) | getDebugMode(): boolean { method getQuestion (line 1860) | getQuestion(): string | undefined { method getHasAccessToPreviewModel (line 1864) | getHasAccessToPreviewModel(): boolean { method setHasAccessToPreviewModel (line 1868) | setHasAccessToPreviewModel(hasAccess: boolean | null): void { method refreshAvailableCredits (line 1872) | async refreshAvailableCredits(): Promise { method refreshUserQuota (line 1885) | async refreshUserQuota(): Promise | undefined { method getMcpEnabled (line 2035) | getMcpEnabled(): boolean { method getMcpEnablementCallbacks (line 2039) | getMcpEnablementCallbacks(): McpEnablementCallbacks | undefined { method getExtensionsEnabled (line 2043) | getExtensionsEnabled(): boolean { method getExtensionRegistryURI (line 2047) | getExtensionRegistryURI(): string | undefined { method getMcpClientManager (line 2051) | getMcpClientManager(): McpClientManager | undefined { method getA2AClientManager (line 2055) | getA2AClientManager(): A2AClientManager | undefined { method setUserInteractedWithMcp (line 2059) | setUserInteractedWithMcp(): void { method getLastMcpError (line 2064) | getLastMcpError(serverName: string): string | undefined { method emitMcpDiagnostic (line 2068) | emitMcpDiagnostic( method getAllowedMcpServers (line 2086) | getAllowedMcpServers(): string[] | undefined { method getBlockedMcpServers (line 2090) | getBlockedMcpServers(): string[] | undefined { method sanitizationConfig (line 2094) | get sanitizationConfig(): EnvironmentSanitizationConfig { method setMcpServers (line 2103) | setMcpServers(mcpServers: Record): void { method getUserMemory (line 2107) | getUserMemory(): string | HierarchicalMemory { method refreshMcpContext (line 2121) | async refreshMcpContext(): Promise { method setUserMemory (line 2136) | setUserMemory(newUserMemory: string | HierarchicalMemory): void { method getSystemInstructionMemory (line 2146) | getSystemInstructionMemory(): string | HierarchicalMemory { method getSessionMemory (line 2158) | getSessionMemory(): string { method getGlobalMemory (line 2177) | getGlobalMemory(): string { method getEnvironmentMemory (line 2181) | getEnvironmentMemory(): string { method getContextManager (line 2185) | getContextManager(): ContextManager | undefined { method isJitContextEnabled (line 2189) | isJitContextEnabled(): boolean { method isMemoryManagerEnabled (line 2193) | isMemoryManagerEnabled(): boolean { method isTopicUpdateNarrationEnabled (line 2197) | isTopicUpdateNarrationEnabled(): boolean { method isModelSteeringEnabled (line 2201) | isModelSteeringEnabled(): boolean { method getToolOutputMaskingEnabled (line 2205) | getToolOutputMaskingEnabled(): boolean { method getToolOutputMaskingConfig (line 2209) | async getToolOutputMaskingConfig(): Promise { method getGeminiMdFileCount (line 2244) | getGeminiMdFileCount(): number { method setGeminiMdFileCount (line 2251) | setGeminiMdFileCount(count: number): void { method getGeminiMdFilePaths (line 2255) | getGeminiMdFilePaths(): string[] { method getWorkspacePoliciesDir (line 2262) | getWorkspacePoliciesDir(): string | undefined { method setGeminiMdFilePaths (line 2266) | setGeminiMdFilePaths(paths: string[]): void { method getApprovalMode (line 2270) | getApprovalMode(): ApprovalMode { method getPolicyUpdateConfirmationRequest (line 2274) | getPolicyUpdateConfirmationRequest(): method loadWorkspacePolicies (line 2286) | async loadWorkspacePolicies(policyDir: string): Promise { method setApprovalMode (line 2309) | setApprovalMode(mode: ApprovalMode): void { method logCurrentModeDuration (line 2347) | logCurrentModeDuration(mode: ApprovalMode): void { method isYoloModeDisabled (line 2359) | isYoloModeDisabled(): boolean { method getDisableAlwaysAllow (line 2363) | getDisableAlwaysAllow(): boolean { method getRawOutput (line 2367) | getRawOutput(): boolean { method getAcceptRawOutputRisk (line 2371) | getAcceptRawOutputRisk(): boolean { method getExperimentalDynamicModelConfiguration (line 2375) | getExperimentalDynamicModelConfiguration(): boolean { method getPendingIncludeDirectories (line 2379) | getPendingIncludeDirectories(): string[] { method clearPendingIncludeDirectories (line 2383) | clearPendingIncludeDirectories(): void { method getShowMemoryUsage (line 2387) | getShowMemoryUsage(): boolean { method getAccessibility (line 2391) | getAccessibility(): AccessibilitySettings { method getTelemetryEnabled (line 2395) | getTelemetryEnabled(): boolean { method getTelemetryLogPromptsEnabled (line 2399) | getTelemetryLogPromptsEnabled(): boolean { method getTelemetryOtlpEndpoint (line 2403) | getTelemetryOtlpEndpoint(): string { method getTelemetryOtlpProtocol (line 2407) | getTelemetryOtlpProtocol(): 'grpc' | 'http' { method getTelemetryTarget (line 2411) | getTelemetryTarget(): TelemetryTarget { method getTelemetryOutfile (line 2415) | getTelemetryOutfile(): string | undefined { method getBillingSettings (line 2419) | getBillingSettings(): { overageStrategy: OverageStrategy } { method setOverageStrategy (line 2428) | setOverageStrategy(strategy: OverageStrategy): void { method getTelemetryUseCollector (line 2432) | getTelemetryUseCollector(): boolean { method getTelemetryUseCliAuth (line 2436) | getTelemetryUseCliAuth(): boolean { method getGeminiClient (line 2441) | getGeminiClient(): GeminiClient { method updateSystemInstructionIfInitialized (line 2449) | updateSystemInstructionIfInitialized(): void { method getModelRouterService (line 2456) | getModelRouterService(): ModelRouterService { method getModelAvailabilityService (line 2460) | getModelAvailabilityService(): ModelAvailabilityService { method getEnableRecursiveFileSearch (line 2464) | getEnableRecursiveFileSearch(): boolean { method getFileFilteringEnableFuzzySearch (line 2468) | getFileFilteringEnableFuzzySearch(): boolean { method getFileFilteringRespectGitIgnore (line 2472) | getFileFilteringRespectGitIgnore(): boolean { method getFileFilteringRespectGeminiIgnore (line 2476) | getFileFilteringRespectGeminiIgnore(): boolean { method getCustomIgnoreFilePaths (line 2480) | getCustomIgnoreFilePaths(): string[] { method getFileFilteringOptions (line 2484) | getFileFilteringOptions(): FileFilteringOptions { method getCustomExcludes (line 2499) | getCustomExcludes(): string[] { method getCheckpointingEnabled (line 2509) | getCheckpointingEnabled(): boolean { method getProxy (line 2513) | getProxy(): string | undefined { method getWorkingDir (line 2517) | getWorkingDir(): string { method getBugCommand (line 2521) | getBugCommand(): BugCommandSettings | undefined { method getTrackerService (line 2525) | getTrackerService(): TrackerService { method getFileService (line 2534) | getFileService(): FileDiscoveryService { method getUsageStatisticsEnabled (line 2545) | getUsageStatisticsEnabled(): boolean { method getAcpMode (line 2549) | getAcpMode(): boolean { method waitForMcpInit (line 2553) | async waitForMcpInit(): Promise { method getListExtensions (line 2559) | getListExtensions(): boolean { method getListSessions (line 2563) | getListSessions(): boolean { method getDeleteSession (line 2567) | getDeleteSession(): string | undefined { method getExtensionManagement (line 2571) | getExtensionManagement(): boolean { method getExtensions (line 2575) | getExtensions(): GeminiCLIExtension[] { method getExtensionLoader (line 2579) | getExtensionLoader(): ExtensionLoader { method getEnabledExtensions (line 2585) | getEnabledExtensions(): string[] { method getEnableExtensionReloading (line 2589) | getEnableExtensionReloading(): boolean { method getDisableLLMCorrection (line 2593) | getDisableLLMCorrection(): boolean { method isPlanEnabled (line 2597) | isPlanEnabled(): boolean { method isTrackerEnabled (line 2601) | isTrackerEnabled(): boolean { method getApprovedPlanPath (line 2605) | getApprovedPlanPath(): string | undefined { method getDirectWebFetch (line 2609) | getDirectWebFetch(): boolean { method setApprovedPlanPath (line 2613) | setApprovedPlanPath(path: string | undefined): void { method isAgentsEnabled (line 2617) | isAgentsEnabled(): boolean { method isEventDrivenSchedulerEnabled (line 2621) | isEventDrivenSchedulerEnabled(): boolean { method getNoBrowser (line 2625) | getNoBrowser(): boolean { method getAgentsSettings (line 2629) | getAgentsSettings(): AgentSettings { method isBrowserLaunchSuppressed (line 2633) | isBrowserLaunchSuppressed(): boolean { method getSummarizeToolOutputConfig (line 2637) | getSummarizeToolOutputConfig(): method getIdeMode (line 2643) | getIdeMode(): boolean { method getFolderTrust (line 2650) | getFolderTrust(): boolean { method isTrustedFolder (line 2658) | isTrustedFolder(): boolean { method setIdeMode (line 2668) | setIdeMode(value: boolean): void { method getFileSystemService (line 2675) | getFileSystemService(): FileSystemService { method isPathAllowed (line 2686) | isPathAllowed(absolutePath: string): boolean { method validatePathAccess (line 2707) | validatePathAccess( method setFileSystemService (line 2732) | setFileSystemService(fileSystemService: FileSystemService): void { method getCompressionThreshold (line 2736) | async getCompressionThreshold(): Promise { method getUserCaching (line 2752) | async getUserCaching(): Promise { method getPlanModeRoutingEnabled (line 2758) | async getPlanModeRoutingEnabled(): Promise { method getNumericalRoutingEnabled (line 2762) | async getNumericalRoutingEnabled(): Promise { method getResolvedClassifierThreshold (line 2775) | async getResolvedClassifierThreshold(): Promise { method getClassifierThreshold (line 2791) | async getClassifierThreshold(): Promise { method getBannerTextNoCapacityIssues (line 2801) | async getBannerTextNoCapacityIssues(): Promise { method getBannerTextCapacityIssues (line 2809) | async getBannerTextCapacityIssues(): Promise { method getProModelNoAccess (line 2821) | async getProModelNoAccess(): Promise { method getProModelNoAccessSync (line 2831) | getProModelNoAccessSync(): boolean { method getGemini31Launched (line 2845) | async getGemini31Launched(): Promise { method getUseCustomToolModel (line 2853) | async getUseCustomToolModel(): Promise { method getUseCustomToolModelSync (line 2864) | getUseCustomToolModelSync(): boolean { method getGemini31LaunchedSync (line 2877) | getGemini31LaunchedSync(): boolean { method ensureExperimentsLoaded (line 2891) | private async ensureExperimentsLoaded(): Promise { method isInteractiveShellEnabled (line 2902) | isInteractiveShellEnabled(): boolean { method isSkillsSupportEnabled (line 2910) | isSkillsSupportEnabled(): boolean { method reloadSkills (line 2917) | async reloadSkills(): Promise { method reloadAgents (line 2959) | async reloadAgents(): Promise { method isInteractive (line 2968) | isInteractive(): boolean { method getUseRipgrep (line 2972) | getUseRipgrep(): boolean { method getUseBackgroundColor (line 2976) | getUseBackgroundColor(): boolean { method getUseAlternateBuffer (line 2980) | getUseAlternateBuffer(): boolean { method getEnableInteractiveShell (line 2984) | getEnableInteractiveShell(): boolean { method getSkipNextSpeakerCheck (line 2988) | getSkipNextSpeakerCheck(): boolean { method getContinueOnFailedApiCall (line 2992) | getContinueOnFailedApiCall(): boolean { method getRetryFetchErrors (line 2996) | getRetryFetchErrors(): boolean { method getMaxAttempts (line 3000) | getMaxAttempts(): number { method getEnableShellOutputEfficiency (line 3004) | getEnableShellOutputEfficiency(): boolean { method getShellToolInactivityTimeout (line 3008) | getShellToolInactivityTimeout(): number { method getShellExecutionConfig (line 3012) | getShellExecutionConfig(): ShellExecutionConfig { method setShellExecutionConfig (line 3016) | setShellExecutionConfig(config: ShellExecutionConfig): void { method getScreenReader (line 3031) | getScreenReader(): boolean { method getTruncateToolOutputThreshold (line 3035) | getTruncateToolOutputThreshold(): number { method getNextCompressionTruncationId (line 3044) | getNextCompressionTruncationId(): number { method getUseWriteTodos (line 3048) | getUseWriteTodos(): boolean { method getOutputFormat (line 3052) | getOutputFormat(): OutputFormat { method getGitService (line 3058) | async getGitService(): Promise { method getFileExclusions (line 3066) | getFileExclusions(): FileExclusions { method getMessageBus (line 3071) | getMessageBus(): MessageBus { method getPolicyEngine (line 3075) | getPolicyEngine(): PolicyEngine { method getEnableHooks (line 3079) | getEnableHooks(): boolean { method getEnableHooksUI (line 3083) | getEnableHooksUI(): boolean { method getGemmaModelRouterEnabled (line 3087) | getGemmaModelRouterEnabled(): boolean { method getGemmaModelRouterSettings (line 3091) | getGemmaModelRouterSettings(): GemmaModelRouterSettings { method getAgentOverride (line 3099) | getAgentOverride(agentName: string): AgentOverride | undefined { method getBrowserAgentConfig (line 3108) | getBrowserAgentConfig(): { method shouldDisableBrowserUserInput (line 3133) | shouldDisableBrowserUserInput(): boolean { method createToolRegistry (line 3141) | async createToolRegistry(): Promise { method registerSubAgentTools (line 3283) | private registerSubAgentTools(registry: ToolRegistry): void { method getHookSystem (line 3309) | getHookSystem(): HookSystem | undefined { method getHooks (line 3316) | getHooks(): { [K in HookEventName]?: HookDefinition[] } | undefined { method getProjectHooks (line 3323) | getProjectHooks(): { [K in HookEventName]?: HookDefinition[] } | undef... method updateDisabledHooks (line 3332) | updateDisabledHooks(disabledHooks: string[]): void { method getDisabledHooks (line 3339) | getDisabledHooks(): string[] { method getExperiments (line 3346) | getExperiments(): Experiments | undefined { method setExperiments (line 3353) | setExperiments(experiments: Experiments): void { method dispose (line 3414) | async dispose(): Promise { FILE: packages/core/src/config/constants.ts type FileFilteringOptions (line 7) | interface FileFilteringOptions { constant DEFAULT_MEMORY_FILE_FILTERING_OPTIONS (line 16) | const DEFAULT_MEMORY_FILE_FILTERING_OPTIONS: FileFilteringOptions = { constant DEFAULT_FILE_FILTERING_OPTIONS (line 25) | const DEFAULT_FILE_FILTERING_OPTIONS: FileFilteringOptions = { constant GEMINI_IGNORE_FILE_NAME (line 34) | const GEMINI_IGNORE_FILE_NAME = '.geminiignore'; constant INTEGRITY_FILENAME (line 37) | const INTEGRITY_FILENAME = 'extension_integrity.json'; constant INTEGRITY_KEY_FILENAME (line 38) | const INTEGRITY_KEY_FILENAME = 'integrity.key'; constant KEYCHAIN_SERVICE_NAME (line 39) | const KEYCHAIN_SERVICE_NAME = 'gemini-cli-extension-integrity'; constant SECRET_KEY_ACCOUNT (line 40) | const SECRET_KEY_ACCOUNT = 'secret-key'; FILE: packages/core/src/config/defaultModelConfigs.ts constant DEFAULT_MODEL_CONFIGS (line 14) | const DEFAULT_MODEL_CONFIGS: ModelConfigServiceConfig = { FILE: packages/core/src/config/extensions/integrity.ts class IntegrityKeyManager (line 42) | class IntegrityKeyManager { method constructor (line 47) | constructor() { method getSecretKey (line 56) | async getSecretKey(): Promise { method getSecretKeyFromKeychain (line 76) | private async getSecretKeyFromKeychain(): Promise { method getSecretKeyFromFile (line 86) | private async getSecretKeyFromFile(): Promise { class ExtensionIntegrityStore (line 113) | class ExtensionIntegrityStore { method constructor (line 116) | constructor(private readonly keyManager: IntegrityKeyManager) { method load (line 124) | async load(): Promise { method save (line 166) | async save(store: ExtensionIntegrityMap): Promise { method generateHash (line 192) | generateHash(metadata: ExtensionInstallMetadata): string { method generateSignature (line 200) | async generateSignature(data: string): Promise { method verifyConstantTime (line 208) | verifyConstantTime(actual: string, expected: string): boolean { class ExtensionIntegrityManager (line 224) | class ExtensionIntegrityManager implements IExtensionIntegrity { method constructor (line 229) | constructor() { method verify (line 237) | async verify( method store (line 295) | async store( method getSecretKey (line 321) | async getSecretKey(): Promise { FILE: packages/core/src/config/extensions/integrityTypes.ts type ExtensionIntegrityData (line 37) | type ExtensionIntegrityData = z.infer< type ExtensionIntegrityMap (line 44) | type ExtensionIntegrityMap = z.infer; type IntegrityStore (line 49) | type IntegrityStore = z.infer; type IntegrityDataStatus (line 54) | enum IntegrityDataStatus { type IExtensionIntegrity (line 63) | interface IExtensionIntegrity { FILE: packages/core/src/config/injectionService.ts type InjectionSource (line 15) | type InjectionSource = 'user_steering' | 'background_completion'; type InjectionListener (line 20) | type InjectionListener = (text: string, source: InjectionSource) => void; class InjectionService (line 29) | class InjectionService { method constructor (line 37) | constructor(private readonly isEnabled: () => boolean) {} method addInjection (line 45) | addInjection(text: string, source: InjectionSource): void { method onInjection (line 69) | onInjection(listener: InjectionListener): void { method offInjection (line 76) | offInjection(listener: InjectionListener): void { method getInjections (line 83) | getInjections(source?: InjectionSource): string[] { method getInjectionsAfter (line 93) | getInjectionsAfter(index: number, source?: InjectionSource): string[] { method getLatestInjectionIndex (line 105) | getLatestInjectionIndex(): number { method clear (line 112) | clear(): void { FILE: packages/core/src/config/memory.ts type HierarchicalMemory (line 7) | interface HierarchicalMemory { function flattenMemory (line 16) | function flattenMemory(memory?: string | HierarchicalMemory): string { FILE: packages/core/src/config/models.ts type ModelResolutionContext (line 7) | interface ModelResolutionContext { type IModelConfigService (line 17) | interface IModelConfigService { type ModelCapabilityContext (line 47) | interface ModelCapabilityContext { constant PREVIEW_GEMINI_MODEL (line 52) | const PREVIEW_GEMINI_MODEL = 'gemini-3-pro-preview'; constant PREVIEW_GEMINI_3_1_MODEL (line 53) | const PREVIEW_GEMINI_3_1_MODEL = 'gemini-3.1-pro-preview'; constant PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL (line 54) | const PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL = constant PREVIEW_GEMINI_FLASH_MODEL (line 56) | const PREVIEW_GEMINI_FLASH_MODEL = 'gemini-3-flash-preview'; constant PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL (line 57) | const PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL = constant DEFAULT_GEMINI_MODEL (line 59) | const DEFAULT_GEMINI_MODEL = 'gemini-2.5-pro'; constant DEFAULT_GEMINI_FLASH_MODEL (line 60) | const DEFAULT_GEMINI_FLASH_MODEL = 'gemini-2.5-flash'; constant DEFAULT_GEMINI_FLASH_LITE_MODEL (line 61) | const DEFAULT_GEMINI_FLASH_LITE_MODEL = 'gemini-2.5-flash-lite'; constant VALID_GEMINI_MODELS (line 63) | const VALID_GEMINI_MODELS = new Set([ constant PREVIEW_GEMINI_MODEL_AUTO (line 74) | const PREVIEW_GEMINI_MODEL_AUTO = 'auto-gemini-3'; constant DEFAULT_GEMINI_MODEL_AUTO (line 75) | const DEFAULT_GEMINI_MODEL_AUTO = 'auto-gemini-2.5'; constant GEMINI_MODEL_ALIAS_AUTO (line 78) | const GEMINI_MODEL_ALIAS_AUTO = 'auto'; constant GEMINI_MODEL_ALIAS_PRO (line 79) | const GEMINI_MODEL_ALIAS_PRO = 'pro'; constant GEMINI_MODEL_ALIAS_FLASH (line 80) | const GEMINI_MODEL_ALIAS_FLASH = 'flash'; constant GEMINI_MODEL_ALIAS_FLASH_LITE (line 81) | const GEMINI_MODEL_ALIAS_FLASH_LITE = 'flash-lite'; constant DEFAULT_GEMINI_EMBEDDING_MODEL (line 83) | const DEFAULT_GEMINI_EMBEDDING_MODEL = 'gemini-embedding-001'; constant DEFAULT_THINKING_MODE (line 86) | const DEFAULT_THINKING_MODE = 8192; function resolveModel (line 97) | function resolveModel( function resolveClassifierModel (line 192) | function resolveClassifierModel( function getDisplayString (line 230) | function getDisplayString( function isPreviewModel (line 264) | function isPreviewModel( function isProModel (line 292) | function isProModel( function isGemini3Model (line 309) | function isGemini3Model( function isGemini2Model (line 332) | function isGemini2Model(model: string): boolean { function isCustomModel (line 345) | function isCustomModel( function supportsModernFeatures (line 367) | function supportsModernFeatures(model: string): boolean { function isAutoModel (line 379) | function isAutoModel( function supportsMultimodalFunctionResponse (line 400) | function supportsMultimodalFunctionResponse( function isActiveModel (line 420) | function isActiveModel( FILE: packages/core/src/config/projectRegistry.test.ts function normalizePath (line 25) | function normalizePath(p: string): string { FILE: packages/core/src/config/projectRegistry.ts type RegistryData (line 13) | interface RegistryData { constant PROJECT_ROOT_FILE (line 17) | const PROJECT_ROOT_FILE = '.project_root'; constant LOCK_TIMEOUT_MS (line 18) | const LOCK_TIMEOUT_MS = 10000; constant LOCK_RETRY_DELAY_MS (line 19) | const LOCK_RETRY_DELAY_MS = 100; class ProjectRegistry (line 25) | class ProjectRegistry { method constructor (line 31) | constructor(registryPath: string, baseDirs: string[] = []) { method initialize (line 39) | async initialize(): Promise { method loadData (line 55) | private async loadData(): Promise { method normalizePath (line 71) | private normalizePath(projectPath: string): string { method save (line 79) | private async save(data: RegistryData): Promise { method getShortId (line 102) | async getShortId(projectPath: string): Promise { method verifySlugOwnership (line 162) | private async verifySlugOwnership( method findExistingSlugForPath (line 191) | private async findExistingSlugForPath( method claimNewSlug (line 229) | private async claimNewSlug( method ensureOwnershipMarkers (line 285) | private async ensureOwnershipMarkers( method slugify (line 312) | private slugify(text: string): string { FILE: packages/core/src/config/storage.test.ts constant PROJECT_SLUG (line 31) | const PROJECT_SLUG = 'project-slug'; type TestCase (line 283) | interface TestCase { FILE: packages/core/src/config/storage.ts constant OAUTH_FILE (line 22) | const OAUTH_FILE = 'oauth_creds.json'; constant TMP_DIR_NAME (line 23) | const TMP_DIR_NAME = 'tmp'; constant BIN_DIR_NAME (line 24) | const BIN_DIR_NAME = 'bin'; constant AGENTS_DIR_NAME (line 25) | const AGENTS_DIR_NAME = '.agents'; constant AUTO_SAVED_POLICY_FILENAME (line 27) | const AUTO_SAVED_POLICY_FILENAME = 'auto-saved.toml'; class Storage (line 29) | class Storage { method constructor (line 36) | constructor(targetDir: string, sessionId?: string) { method setCustomPlansDir (line 41) | setCustomPlansDir(dir: string | undefined): void { method getGlobalGeminiDir (line 45) | static getGlobalGeminiDir(): string { method getGlobalAgentsDir (line 53) | static getGlobalAgentsDir(): string { method getMcpOAuthTokensPath (line 61) | static getMcpOAuthTokensPath(): string { method getA2AOAuthTokensPath (line 65) | static getA2AOAuthTokensPath(): string { method getGlobalSettingsPath (line 69) | static getGlobalSettingsPath(): string { method getInstallationIdPath (line 73) | static getInstallationIdPath(): string { method getGoogleAccountsPath (line 77) | static getGoogleAccountsPath(): string { method getUserCommandsDir (line 81) | static getUserCommandsDir(): string { method getUserSkillsDir (line 85) | static getUserSkillsDir(): string { method getUserAgentSkillsDir (line 89) | static getUserAgentSkillsDir(): string { method getGlobalMemoryFilePath (line 93) | static getGlobalMemoryFilePath(): string { method getUserPoliciesDir (line 97) | static getUserPoliciesDir(): string { method getUserKeybindingsPath (line 101) | static getUserKeybindingsPath(): string { method getUserAgentsDir (line 105) | static getUserAgentsDir(): string { method getAcknowledgedAgentsPath (line 109) | static getAcknowledgedAgentsPath(): string { method getPolicyIntegrityStoragePath (line 117) | static getPolicyIntegrityStoragePath(): string { method getSystemConfigDir (line 121) | private static getSystemConfigDir(): string { method getSystemSettingsPath (line 131) | static getSystemSettingsPath(): string { method getSystemPoliciesDir (line 138) | static getSystemPoliciesDir(): string { method getGlobalTempDir (line 142) | static getGlobalTempDir(): string { method getGlobalBinDir (line 146) | static getGlobalBinDir(): string { method getGeminiDir (line 150) | getGeminiDir(): string { method isWorkspaceHomeDir (line 158) | isWorkspaceHomeDir(): boolean { method getAgentsDir (line 165) | getAgentsDir(): string { method getProjectTempDir (line 169) | getProjectTempDir(): string { method getWorkspacePoliciesDir (line 175) | getWorkspacePoliciesDir(): string { method getWorkspaceAutoSavedPolicyPath (line 179) | getWorkspaceAutoSavedPolicyPath(): string { method getAutoSavedPolicyPath (line 186) | getAutoSavedPolicyPath(): string { method ensureProjectTempDirExists (line 190) | ensureProjectTempDirExists(): void { method getOAuthCredsPath (line 194) | static getOAuthCredsPath(): string { method getProjectRoot (line 198) | getProjectRoot(): string { method getFilePathHash (line 202) | private getFilePathHash(filePath: string): string { method getProjectIdentifier (line 206) | private getProjectIdentifier(): string { method initialize (line 216) | async initialize(): Promise { method performMigration (line 247) | private async performMigration(): Promise { method getHistoryDir (line 263) | getHistoryDir(): string { method getWorkspaceSettingsPath (line 269) | getWorkspaceSettingsPath(): string { method getProjectCommandsDir (line 273) | getProjectCommandsDir(): string { method getProjectSkillsDir (line 277) | getProjectSkillsDir(): string { method getProjectAgentSkillsDir (line 281) | getProjectAgentSkillsDir(): string { method getProjectAgentsDir (line 285) | getProjectAgentsDir(): string { method getProjectTempCheckpointsDir (line 289) | getProjectTempCheckpointsDir(): string { method getProjectTempLogsDir (line 293) | getProjectTempLogsDir(): string { method getProjectTempPlansDir (line 297) | getProjectTempPlansDir(): string { method getProjectTempTrackerDir (line 304) | getProjectTempTrackerDir(): string { method getPlansDir (line 311) | getPlansDir(): string { method getProjectTempTasksDir (line 331) | getProjectTempTasksDir(): string { method listProjectChatFiles (line 338) | async listProjectChatFiles(): Promise< method loadProjectTempFile (line 375) | async loadProjectTempFile(filePath: string): Promise { method getExtensionsDir (line 395) | getExtensionsDir(): string { method getExtensionsConfigPath (line 399) | getExtensionsConfigPath(): string { method getHistoryFilePath (line 403) | getHistoryFilePath(): string { FILE: packages/core/src/config/storageMigration.ts class StorageMigration (line 14) | class StorageMigration { method migrateDirectory (line 20) | static async migrateDirectory( FILE: packages/core/src/confirmation-bus/message-bus.ts class MessageBus (line 15) | class MessageBus extends EventEmitter { method constructor (line 16) | constructor( method isValidMessage (line 24) | private isValidMessage(message: Message): boolean { method emitMessage (line 39) | private emitMessage(message: Message): void { method derive (line 46) | derive(subagentName: string): MessageBus { method publish (line 74) | async publish(message: Message): Promise { method subscribe (line 143) | subscribe( method unsubscribe (line 150) | unsubscribe( method request (line 162) | async request( FILE: packages/core/src/confirmation-bus/types.ts type MessageBusType (line 14) | enum MessageBusType { type ToolCallsUpdateMessage (line 26) | interface ToolCallsUpdateMessage { type ToolConfirmationRequest (line 32) | interface ToolConfirmationRequest { type ToolConfirmationResponse (line 51) | interface ToolConfirmationResponse { type SerializableConfirmationDetails (line 75) | type SerializableConfirmationDetails = type UpdatePolicy (line 121) | interface UpdatePolicy { type ToolPolicyRejection (line 131) | interface ToolPolicyRejection { type ToolExecutionSuccess (line 136) | interface ToolExecutionSuccess { type ToolExecutionFailure (line 142) | interface ToolExecutionFailure { type QuestionOption (line 148) | interface QuestionOption { type QuestionType (line 153) | enum QuestionType { type Question (line 159) | interface Question { type AskUserRequest (line 174) | interface AskUserRequest { type AskUserResponse (line 180) | interface AskUserResponse { type Message (line 188) | type Message = FILE: packages/core/src/core/apiKeyCredentialStorage.ts constant KEYCHAIN_SERVICE_NAME (line 12) | const KEYCHAIN_SERVICE_NAME = 'gemini-cli-api-key'; constant DEFAULT_API_KEY_ENTRY (line 13) | const DEFAULT_API_KEY_ENTRY = 'default-api-key'; function resetApiKeyCacheForTesting (line 27) | function resetApiKeyCacheForTesting() { function loadApiKey (line 34) | async function loadApiKey(): Promise { function saveApiKey (line 55) | async function saveApiKey( function clearApiKey (line 85) | async function clearApiKey(): Promise { FILE: packages/core/src/core/baseLlmClient.ts constant DEFAULT_MAX_ATTEMPTS (line 39) | const DEFAULT_MAX_ATTEMPTS = 5; type GenerateJsonOptions (line 44) | interface GenerateJsonOptions { type GenerateContentOptions (line 75) | interface GenerateContentOptions { type _CommonGenerateOptions (line 101) | interface _CommonGenerateOptions { class BaseLlmClient (line 117) | class BaseLlmClient { method constructor (line 118) | constructor( method generateJson (line 124) | async generateJson( method generateEmbedding (line 180) | async generateEmbedding(texts: string[]): Promise { method cleanJsonResponse (line 215) | private cleanJsonResponse(text: string, model: string): string { method generateContent (line 228) | async generateContent( method _generateWithRetry (line 261) | private async _generateWithRetry( FILE: packages/core/src/core/client.test.ts type MockTurnContext (line 88) | interface MockTurnContext { method constructor (line 102) | constructor() { function fromAsync (line 153) | async function fromAsync(promise: AsyncGenerator): Promise { method resetChat (line 304) | async resetChat(): Promise { method dispose (line 312) | dispose() { method resumeChat (line 317) | async resumeChat( method getChatRecordingService (line 325) | getChatRecordingService(): ChatRecordingService | undefined { method getLoopDetectionService (line 329) | getLoopDetectionService(): LoopDetectionService { method getCurrentSequenceModel (line 333) | getCurrentSequenceModel(): string | null { method addDirectoryContext (line 337) | async addDirectoryContext(): Promise { method updateSystemInstruction (line 348) | updateSystemInstruction(): void { method startChat (line 358) | async startChat( method getIdeContextParts (line 400) | private getIdeContextParts(forceFullContext: boolean): { method _getActiveModelForCurrentTurn (line 568) | private _getActiveModelForCurrentTurn(): string { method processTurn (line 584) | private async *processTurn( method sendMessageStream (line 867) | async *sendMessageStream( method generateContent (line 1025) | async generateContent( method tryCompressChat (line 1158) | async tryCompressChat( method tryMaskToolOutputs (line 1217) | private async tryMaskToolOutputs(history: readonly Content[]): Promise... method _recoverFromLoop (line 1233) | private _recoverFromLoop( FILE: packages/core/src/core/contentGenerator.ts type ContentGenerator (line 33) | interface ContentGenerator { type AuthType (line 57) | enum AuthType { function getAuthTypeFromEnv (line 74) | function getAuthTypeFromEnv(): AuthType | undefined { type ContentGeneratorConfig (line 93) | type ContentGeneratorConfig = { function createContentGeneratorConfig (line 102) | async function createContentGeneratorConfig( function createContentGenerator (line 163) | async function createContentGenerator( constant LOCAL_HOSTNAMES (line 285) | const LOCAL_HOSTNAMES = ['localhost', '127.0.0.1', '[::1]']; function validateBaseUrl (line 287) | function validateBaseUrl(baseUrl: string): void { FILE: packages/core/src/core/coreToolHookTriggers.test.ts class MockInvocation (line 24) | class MockInvocation extends BaseToolInvocation<{ key?: string }, ToolRe... method constructor (line 25) | constructor(params: { key?: string }, messageBus: MessageBus) { method getDescription (line 28) | getDescription() { method execute (line 31) | async execute() { class MockBackgroundableInvocation (line 41) | class MockBackgroundableInvocation extends BaseToolInvocation< method constructor (line 45) | constructor(params: { key?: string }, messageBus: MessageBus) { method getDescription (line 48) | getDescription() { method execute (line 51) | async execute( FILE: packages/core/src/core/coreToolHookTriggers.ts function extractMcpContext (line 27) | function extractMcpContext( function executeToolWithHooks (line 68) | async function executeToolWithHooks( FILE: packages/core/src/core/coreToolScheduler.test.ts class TestApprovalTool (line 62) | class TestApprovalTool extends BaseDeclarativeTool<{ id: string }, ToolR... method constructor (line 65) | constructor( method createInvocation (line 83) | protected createInvocation( class TestApprovalInvocation (line 93) | class TestApprovalInvocation extends BaseToolInvocation< method constructor (line 97) | constructor( method getDescription (line 105) | getDescription(): string { method shouldConfirmExecute (line 109) | override async shouldConfirmExecute(): Promise< method execute (line 133) | async execute(): Promise { class AbortDuringConfirmationInvocation (line 141) | class AbortDuringConfirmationInvocation extends BaseToolInvocation< method constructor (line 145) | constructor( method shouldConfirmExecute (line 154) | override async shouldConfirmExecute( method execute (line 161) | async execute(_abortSignal: AbortSignal): Promise { method getDescription (line 165) | getDescription(): string { class AbortDuringConfirmationTool (line 170) | class AbortDuringConfirmationTool extends BaseDeclarativeTool< method constructor (line 174) | constructor( method createInvocation (line 192) | protected createInvocation( function waitForStatus (line 207) | async function waitForStatus( function createMockConfig (line 242) | function createMockConfig(overrides: Partial = {}): Config { class MockEditToolInvocation (line 821) | class MockEditToolInvocation extends BaseToolInvocation< method constructor (line 825) | constructor(params: Record, messageBus: MessageBus) { method getDescription (line 829) | getDescription(): string { method shouldConfirmExecute (line 833) | override async shouldConfirmExecute( method execute (line 849) | async execute(_abortSignal: AbortSignal): Promise { class MockEditTool (line 857) | class MockEditTool extends BaseDeclarativeTool< method constructor (line 861) | constructor(messageBus: MessageBus) { method createInvocation (line 872) | protected createInvocation( FILE: packages/core/src/core/coreToolScheduler.ts type CoreToolSchedulerOptions (line 94) | interface CoreToolSchedulerOptions { class CoreToolScheduler (line 102) | class CoreToolScheduler { method constructor (line 130) | constructor(options: CoreToolSchedulerOptions) { method setStatusInternal (line 202) | private setStatusInternal( method setArgsInternal (line 377) | private setArgsInternal(targetCallId: string, args: unknown): void { method isRunning (line 418) | private isRunning(): boolean { method buildInvocation (line 429) | private buildInvocation( method schedule (line 443) | schedule( method cancelAll (line 485) | cancelAll(signal: AbortSignal): void { method _schedule (line 516) | private async _schedule( method _processNextInQueue (line 591) | private async _processNextInQueue(signal: AbortSignal): Promise { method handleConfirmationResponse (line 786) | async handleConfirmationResponse( method attemptExecutionOfScheduledCalls (line 896) | private async attemptExecutionOfScheduledCalls( method checkAndNotifyCompletion (line 966) | private async checkAndNotifyCompletion(signal: AbortSignal): Promise { method getNextResponse (line 61) | private getNextResponse< method generateContent (line 81) | async generateContent( method generateContentStream (line 94) | async generateContentStream( method countTokens (line 112) | async countTokens( method embedContent (line 118) | async embedContent( FILE: packages/core/src/core/geminiChat.test.ts method config (line 140) | get config() { FILE: packages/core/src/core/geminiChat.ts type StreamEventType (line 63) | enum StreamEventType { type StreamEvent (line 75) | type StreamEvent = type MidStreamRetryOptions (line 84) | interface MidStreamRetryOptions { constant MID_STREAM_RETRY_OPTIONS (line 93) | const MID_STREAM_RETRY_OPTIONS: MidStreamRetryOptions = { constant SYNTHETIC_THOUGHT_SIGNATURE (line 99) | const SYNTHETIC_THOUGHT_SIGNATURE = 'skip_thought_signature_validator'; function isValidResponse (line 104) | function isValidResponse(response: GenerateContentResponse): boolean { function isValidNonThoughtTextPart (line 115) | function isValidNonThoughtTextPart(part: Part): boolean { function isValidContent (line 128) | function isValidContent(content: Content): boolean { function validateHistory (line 149) | function validateHistory(history: Content[]) { function extractCuratedHistory (line 165) | function extractCuratedHistory(comprehensiveHistory: Content[]): Content... class InvalidStreamError (line 198) | class InvalidStreamError extends Error { method constructor (line 205) | constructor( class AgentExecutionStoppedError (line 222) | class AgentExecutionStoppedError extends Error { method constructor (line 223) | constructor(public reason: string) { class AgentExecutionBlockedError (line 232) | class AgentExecutionBlockedError extends Error { method constructor (line 233) | constructor( class GeminiChat (line 249) | class GeminiChat { method constructor (line 256) | constructor( method setSystemInstruction (line 273) | setSystemInstruction(sysInstr: string) { method sendMessageStream (line 303) | async sendMessageStream( method makeApiCallAndProcessStream (line 494) | private async makeApiCallAndProcessStream( method getHistory (line 728) | getHistory(curated: boolean = false): readonly Content[] { method clearHistory (line 738) | clearHistory(): void { method addHistory (line 745) | addHistory(content: Content): void { method setHistory (line 749) | setHistory(history: readonly Content[]): void { method stripThoughtsFromHistory (line 757) | stripThoughtsFromHistory(): void { method ensureActiveLoopHasThoughtSignatures (line 777) | ensureActiveLoopHasThoughtSignatures( method setTools (line 825) | setTools(tools: Tool[]): void { method maybeIncludeSchemaDepthContext (line 829) | async maybeIncludeSchemaDepthContext(error: StructuredError): Promise<... method processStreamResponse (line 857) | private async *processStreamResponse( method getLastPromptTokenCount (line 999) | getLastPromptTokenCount(): number { method getChatRecordingService (line 1006) | getChatRecordingService(): ChatRecordingService { method recordCompletedToolCalls (line 1014) | recordCompletedToolCalls( method recordThoughtFromContent (line 1045) | private recordThoughtFromContent(content: Content): void { function isSchemaDepthError (line 1069) | function isSchemaDepthError(errorMessage: string): boolean { function isInvalidArgumentError (line 1073) | function isInvalidArgumentError(errorMessage: string): boolean { FILE: packages/core/src/core/geminiChat_network_retry.test.ts method config (line 86) | get config() { method toolRegistry (line 89) | get toolRegistry() { method messageBus (line 92) | get messageBus() { FILE: packages/core/src/core/geminiRequest.ts type GeminiCodeRequest (line 15) | type GeminiCodeRequest = PartListUnion; function partListUnionToString (line 17) | function partListUnionToString(value: PartListUnion): string { FILE: packages/core/src/core/localLiteRtLmClient.ts class LocalLiteRtLmClient (line 15) | class LocalLiteRtLmClient { method constructor (line 20) | constructor(config: Config) { method generateJson (line 45) | async generateJson( FILE: packages/core/src/core/logger.test.ts constant PROJECT_SLUG (line 32) | const PROJECT_SLUG = 'project-slug'; constant TMP_DIR_NAME (line 33) | const TMP_DIR_NAME = 'tmp'; constant LOG_FILE_NAME (line 34) | const LOG_FILE_NAME = 'logs.json'; constant CHECKPOINT_FILE_NAME (line 35) | const CHECKPOINT_FILE_NAME = 'checkpoint.json'; constant TEST_GEMINI_DIR (line 37) | const TEST_GEMINI_DIR = path.join( constant TEST_LOG_FILE_PATH (line 44) | const TEST_LOG_FILE_PATH = path.join(TEST_GEMINI_DIR, LOG_FILE_NAME); constant TEST_CHECKPOINT_FILE_PATH (line 45) | const TEST_CHECKPOINT_FILE_PATH = path.join( function cleanupLogAndCheckpointFiles (line 50) | async function cleanupLogAndCheckpointFiles() { function readLogFile (line 58) | async function readLogFile(): Promise { FILE: packages/core/src/core/logger.ts constant LOG_FILE_NAME (line 15) | const LOG_FILE_NAME = 'logs.json'; type MessageSenderType (line 17) | enum MessageSenderType { type LogEntry (line 21) | interface LogEntry { type Checkpoint (line 29) | interface Checkpoint { function encodeTagName (line 46) | function encodeTagName(str: string): string { function decodeTagName (line 59) | function decodeTagName(str: string): string { class Logger (line 70) | class Logger { method constructor (line 78) | constructor( method _readLogFile (line 85) | private async _readLogFile(): Promise { method _backupCorruptedLogFile (line 131) | private async _backupCorruptedLogFile(reason: string): Promise { method initialize (line 142) | async initialize(): Promise { method _updateLogFile (line 177) | private async _updateLogFile( method getPreviousUserMessages (line 243) | async getPreviousUserMessages(): Promise { method logMessage (line 255) | async logMessage(type: MessageSenderType, message: string): Promise { method saveCheckpoint (line 329) | async saveCheckpoint(checkpoint: Checkpoint, tag: string): Promise { method deleteCheckpoint (line 393) | async deleteCheckpoint(tag: string): Promise { method checkpointExists (line 444) | async checkpointExists(tag: string): Promise { method close (line 474) | close(): void { FILE: packages/core/src/core/loggingContentGenerator.ts type StructuredError (line 54) | interface StructuredError { function estimateConfigTokens (line 62) | function estimateConfigTokens(value: unknown): number { function estimateContextBreakdown (line 79) | function estimateContextBreakdown( class LoggingContentGenerator (line 149) | class LoggingContentGenerator implements ContentGenerator { method constructor (line 150) | constructor( method getWrapped (line 155) | getWrapped(): ContentGenerator { method userTier (line 159) | get userTier(): UserTierId | undefined { method userTierName (line 163) | get userTierName(): string | undefined { method paidTier (line 167) | get paidTier(): GeminiUserTier | undefined { method logApiRequest (line 171) | private logApiRequest( method _getEndpointUrl (line 196) | private _getEndpointUrl( method _logApiResponse (line 229) | private _logApiResponse( method _fixGaxiosErrorData (line 278) | private _fixGaxiosErrorData(error: unknown): void { method _logApiError (line 304) | private _logApiError( method generateContent (line 344) | async generateContent( method generateContentStream (line 433) | async generateContentStream( method loggingStreamWrapper (line 513) | private async *loggingStreamWrapper( method countTokens (line 589) | async countTokens(req: CountTokensParameters): Promise { method getHooksForEvent (line 86) | getHooksForEvent(eventName: HookEventName): HookRegistryEntry[] { method getAllHooks (line 98) | getAllHooks(): HookRegistryEntry[] { method setHookEnabled (line 105) | setHookEnabled(hookName: string, enabled: boolean): void { method getHookName (line 127) | private getHookName( method checkProjectHooksTrust (line 139) | private checkProjectHooksTrust(): void { method processHooksFromConfig (line 172) | private processHooksFromConfig(): void { method processHooksConfiguration (line 204) | private processHooksConfiguration( method processHookDefinition (line 239) | private processHookDefinition( method validateHookConfig (line 296) | private validateHookConfig( method isValidEventName (line 331) | private isValidEventName(eventName: string): eventName is HookEventName { method getSourcePriority (line 340) | private getSourcePriority(source: ConfigSource): number { FILE: packages/core/src/hooks/hookRunner.test.ts type MockChildProcessWithoutNullStreams (line 21) | type MockChildProcessWithoutNullStreams = ChildProcessWithoutNullStreams... FILE: packages/core/src/hooks/hookRunner.ts constant DEFAULT_HOOK_TIMEOUT (line 36) | const DEFAULT_HOOK_TIMEOUT = 60000; constant EXIT_CODE_SUCCESS (line 41) | const EXIT_CODE_SUCCESS = 0; constant EXIT_CODE_NON_BLOCKING_ERROR (line 42) | const EXIT_CODE_NON_BLOCKING_ERROR = 1; class HookRunner (line 47) | class HookRunner { method constructor (line 50) | constructor(config: Config) { method executeHook (line 57) | async executeHook( method executeHooksParallel (line 119) | async executeHooksParallel( method executeHooksSequential (line 139) | async executeHooksSequential( method applyHookOutputToInput (line 172) | private applyHookOutputToInput( method executeRuntimeHook (line 252) | private async executeRuntimeHook( method executeCommandHook (line 307) | private async executeCommandHook( method expandCommand (line 506) | private expandCommand( method convertPlainTextToHookOutput (line 521) | private convertPlainTextToHookOutput( FILE: packages/core/src/hooks/hookSystem.test.ts type MockChildProcessWithoutNullStreams (line 18) | type MockChildProcessWithoutNullStreams = ChildProcessWithoutNullStreams... FILE: packages/core/src/hooks/hookSystem.ts type BeforeModelHookResult (line 42) | interface BeforeModelHookResult { type BeforeToolSelectionHookResult (line 60) | interface BeforeToolSelectionHookResult { type AfterModelHookResult (line 71) | interface AfterModelHookResult { function toSerializableDetails (line 86) | function toSerializableDetails( function getNotificationMessage (line 132) | function getNotificationMessage( class HookSystem (line 149) | class HookSystem { method constructor (line 156) | constructor(config: Config) { method initialize (line 173) | async initialize(): Promise { method getEventHandler (line 181) | getEventHandler(): HookEventHandler { method getRegistry (line 188) | getRegistry(): HookRegistry { method setHookEnabled (line 195) | setHookEnabled(hookName: string, enabled: boolean): void { method getAllHooks (line 202) | getAllHooks(): HookRegistryEntry[] { method registerHook (line 209) | registerHook( method fireSessionStartEvent (line 220) | async fireSessionStartEvent( method fireSessionEndEvent (line 227) | async fireSessionEndEvent( method firePreCompressEvent (line 233) | async firePreCompressEvent( method fireBeforeAgentEvent (line 239) | async fireBeforeAgentEvent( method fireAfterAgentEvent (line 246) | async fireAfterAgentEvent( method fireBeforeModelEvent (line 259) | async fireBeforeModelEvent( method fireAfterModelEvent (line 307) | async fireAfterModelEvent( method fireBeforeToolSelectionEvent (line 351) | async fireBeforeToolSelectionEvent( method fireBeforeToolEvent (line 379) | async fireBeforeToolEvent( method fireAfterToolEvent (line 399) | async fireAfterToolEvent( method fireToolNotificationEvent (line 425) | async fireToolNotificationEvent( FILE: packages/core/src/hooks/hookTranslator.ts type LLMRequest (line 20) | interface LLMRequest { type LLMResponse (line 43) | interface LLMResponse { type HookToolConfig (line 68) | interface HookToolConfig { function hasTextProperty (line 93) | function hasTextProperty(value: unknown): value is { text: string } { function isContentWithParts (line 105) | function isContentWithParts( function extractGenerationConfig (line 120) | function extractGenerationConfig(request: GenerateContentParameters): class HookTranslatorGenAIv1 (line 152) | class HookTranslatorGenAIv1 extends HookTranslator { method toHookLLMRequest (line 162) | toHookLLMRequest(sdkRequest: GenerateContentParameters): LLMRequest { method fromHookLLMRequest (line 224) | fromHookLLMRequest( method toHookLLMResponse (line 269) | toHookLLMResponse(sdkResponse: GenerateContentResponse): LLMResponse { method fromHookLLMResponse (line 308) | fromHookLLMResponse(hookResponse: LLMResponse): GenerateContentResponse { method toHookToolConfig (line 334) | toHookToolConfig(sdkToolConfig: ToolConfig): HookToolConfig { method fromHookToolConfig (line 346) | fromHookToolConfig(hookToolConfig: HookToolConfig): ToolConfig { FILE: packages/core/src/hooks/trustedHooks.ts type TrustedHooksConfig (line 18) | interface TrustedHooksConfig { class TrustedHooksManager (line 22) | class TrustedHooksManager { method constructor (line 26) | constructor() { method load (line 34) | private load(): void { method save (line 47) | private save(): void { method getUntrustedHooks (line 68) | getUntrustedHooks( method trustHooks (line 99) | trustHooks( FILE: packages/core/src/hooks/types.ts type ConfigSource (line 23) | enum ConfigSource { type HookEventName (line 34) | enum HookEventName { constant HOOKS_CONFIG_FIELDS (line 51) | const HOOKS_CONFIG_FIELDS = ['enabled', 'disabled', 'notifications']; type HookType (line 56) | enum HookType { type HookAction (line 64) | type HookAction = ( type RuntimeHookConfig (line 72) | interface RuntimeHookConfig { type CommandHookConfig (line 87) | interface CommandHookConfig { type HookConfig (line 98) | type HookConfig = CommandHookConfig | RuntimeHookConfig; type HookDefinition (line 103) | interface HookDefinition { function getHookKey (line 112) | function getHookKey(hook: HookConfig): string { type HookDecision (line 121) | type HookDecision = type HookInput (line 132) | interface HookInput { type HookOutput (line 143) | interface HookOutput { function createHookOutput (line 157) | function createHookOutput( class DefaultHookOutput (line 180) | class DefaultHookOutput implements HookOutput { method constructor (line 189) | constructor(data: Partial = {}) { method isBlockingDecision (line 202) | isBlockingDecision(): boolean { method shouldStopExecution (line 209) | shouldStopExecution(): boolean { method getEffectiveReason (line 216) | getEffectiveReason(): string { method applyLLMRequestModifications (line 223) | applyLLMRequestModifications( method applyToolConfigModifications (line 233) | applyToolConfigModifications(target: { method getAdditionalContext (line 247) | getAdditionalContext(): string | undefined { method getBlockingError (line 266) | getBlockingError(): { blocked: boolean; reason: string } { method shouldClearContext (line 279) | shouldClearContext(): boolean { method getTailToolCallRequest (line 287) | getTailToolCallRequest(): class BeforeToolHookOutput (line 314) | class BeforeToolHookOutput extends DefaultHookOutput { method getModifiedToolInput (line 318) | getModifiedToolInput(): Record | undefined { class BeforeModelHookOutput (line 337) | class BeforeModelHookOutput extends DefaultHookOutput { method getSyntheticResponse (line 341) | getSyntheticResponse(): GenerateContentResponse | undefined { method applyLLMRequestModifications (line 358) | override applyLLMRequestModifications( class BeforeToolSelectionHookOutput (line 386) | class BeforeToolSelectionHookOutput extends DefaultHookOutput { method applyToolConfigModifications (line 390) | override applyToolConfigModifications(target: { class AfterModelHookOutput (line 417) | class AfterModelHookOutput extends DefaultHookOutput { method getModifiedResponse (line 421) | getModifiedResponse(): GenerateContentResponse | undefined { class AfterAgentHookOutput (line 443) | class AfterAgentHookOutput extends DefaultHookOutput { method shouldClearContext (line 447) | override shouldClearContext(): boolean { type McpToolContext (line 465) | interface McpToolContext { type BeforeToolInput (line 482) | interface BeforeToolInput extends HookInput { type BeforeToolOutput (line 492) | interface BeforeToolOutput extends HookOutput { type AfterToolInput (line 502) | interface AfterToolInput extends HookInput { type AfterToolOutput (line 513) | interface AfterToolOutput extends HookOutput { type BeforeAgentInput (line 531) | interface BeforeAgentInput extends HookInput { type BeforeAgentOutput (line 538) | interface BeforeAgentOutput extends HookOutput { type NotificationType (line 548) | enum NotificationType { type NotificationInput (line 555) | interface NotificationInput extends HookInput { type NotificationOutput (line 564) | interface NotificationOutput { type AfterAgentInput (line 572) | interface AfterAgentInput extends HookInput { type AfterAgentOutput (line 581) | interface AfterAgentOutput extends HookOutput { type SessionStartSource (line 591) | enum SessionStartSource { type SessionStartInput (line 600) | interface SessionStartInput extends HookInput { type SessionStartOutput (line 607) | interface SessionStartOutput extends HookOutput { type SessionEndReason (line 617) | enum SessionEndReason { type SessionEndInput (line 628) | interface SessionEndInput extends HookInput { type PreCompressTrigger (line 635) | enum PreCompressTrigger { type PreCompressInput (line 643) | interface PreCompressInput extends HookInput { type PreCompressOutput (line 650) | interface PreCompressOutput { type BeforeModelInput (line 658) | interface BeforeModelInput extends HookInput { type BeforeModelOutput (line 665) | interface BeforeModelOutput extends HookOutput { type AfterModelInput (line 676) | interface AfterModelInput extends HookInput { type AfterModelOutput (line 684) | interface AfterModelOutput extends HookOutput { type BeforeToolSelectionInput (line 694) | interface BeforeToolSelectionInput extends HookInput { type BeforeToolSelectionOutput (line 701) | interface BeforeToolSelectionOutput extends HookOutput { type HookExecutionResult (line 711) | interface HookExecutionResult { type HookExecutionPlan (line 726) | interface HookExecutionPlan { FILE: packages/core/src/ide/constants.ts constant GEMINI_CLI_COMPANION_EXTENSION_NAME (line 7) | const GEMINI_CLI_COMPANION_EXTENSION_NAME = 'Gemini CLI Companion'; constant IDE_MAX_OPEN_FILES (line 8) | const IDE_MAX_OPEN_FILES = 10; constant IDE_MAX_SELECTED_TEXT_LENGTH (line 9) | const IDE_MAX_SELECTED_TEXT_LENGTH = 16384; constant IDE_REQUEST_TIMEOUT_MS (line 10) | const IDE_REQUEST_TIMEOUT_MS = 10 * 60 * 1000; FILE: packages/core/src/ide/detect-ide.ts constant IDE_DEFINITIONS (line 7) | const IDE_DEFINITIONS = { type IdeInfo (line 34) | interface IdeInfo { function isCloudShell (line 39) | function isCloudShell(): boolean { function isJetBrains (line 43) | function isJetBrains(): boolean { function detectIdeFromEnv (line 49) | function detectIdeFromEnv(): IdeInfo { function verifyVSCode (line 92) | function verifyVSCode( function verifyJetBrains (line 111) | function verifyJetBrains( function detectIde (line 144) | function detectIde( FILE: packages/core/src/ide/ide-client.ts type DiffUpdateResult (line 42) | type DiffUpdateResult = type IDEConnectionState (line 52) | type IDEConnectionState = { type IDEConnectionStatus (line 57) | enum IDEConnectionStatus { class IdeClient (line 66) | class IdeClient { method constructor (line 88) | private constructor() {} method getInstance (line 90) | static getInstance(): Promise { method addStatusChangeListener (line 108) | addStatusChangeListener(listener: (state: IDEConnectionState) => void) { method removeStatusChangeListener (line 112) | removeStatusChangeListener(listener: (state: IDEConnectionState) => vo... method addTrustChangeListener (line 116) | addTrustChangeListener(listener: (isTrusted: boolean) => void) { method removeTrustChangeListener (line 120) | removeTrustChangeListener(listener: (isTrusted: boolean) => void) { method connect (line 124) | async connect(options: { logToConsole?: boolean } = {}): Promise { method openDiff (line 221) | async openDiff( method acquireMutex (line 294) | private acquireMutex(): Promise<() => void> { method closeDiff (line 304) | async closeDiff( method resolveDiffFromCli (line 372) | async resolveDiffFromCli(filePath: string, outcome: 'accepted' | 'reje... method disconnect (line 390) | async disconnect() { method getCurrentIde (line 406) | getCurrentIde(): IdeInfo | undefined { method getConnectionStatus (line 410) | getConnectionStatus(): IDEConnectionState { method getDetectedIdeDisplayName (line 414) | getDetectedIdeDisplayName(): string | undefined { method isDiffingEnabled (line 418) | isDiffingEnabled(): boolean { method discoverTools (line 427) | private async discoverTools(): Promise { method setState (line 465) | private setState( method registerClientHandlers (line 497) | private registerClientHandlers() { method establishHttpConnection (line 574) | private async establishHttpConnection( method establishStdioConnection (line 617) | private async establishStdioConnection({ FILE: packages/core/src/ide/ide-connection-utils.ts type StdioConfig (line 25) | type StdioConfig = { type ConnectionConfig (line 30) | type ConnectionConfig = { function validateWorkspacePath (line 36) | function validateWorkspacePath( function getPortFromEnv (line 74) | function getPortFromEnv(): string | undefined { function getStdioConfigFromEnv (line 82) | function getStdioConfigFromEnv(): StdioConfig | undefined { constant IDE_SERVER_FILE_REGEX (line 110) | const IDE_SERVER_FILE_REGEX = /^gemini-ide-server-(\d+)-\d+\.json$/; function getConnectionConfigFromFile (line 112) | async function getConnectionConfigFromFile( function sortConnectionFiles (line 238) | function sortConnectionFiles(files: string[], targetPid: number) { function isPidAlive (line 267) | function isPidAlive(pid: number): boolean { function createProxyAwareFetch (line 283) | async function createProxyAwareFetch(ideServerHost: string) { function getIdeServerHost (line 317) | function getIdeServerHost() { function isInContainer (line 331) | function isInContainer() { function isSshConnected (line 335) | function isSshConnected() { function isDevContainer (line 339) | function isDevContainer() { FILE: packages/core/src/ide/ide-installer.test.ts function setup (line 67) | function setup({ function setup (line 206) | function setup({ function setup (line 254) | function setup({ FILE: packages/core/src/ide/ide-installer.ts type IdeInstaller (line 15) | interface IdeInstaller { type InstallResult (line 19) | interface InstallResult { function findCommand (line 24) | async function findCommand( class VsCodeInstaller (line 148) | class VsCodeInstaller implements IdeInstaller { method constructor (line 151) | constructor( method install (line 159) | async install(): Promise { class PositronInstaller (line 198) | class PositronInstaller implements IdeInstaller { method constructor (line 201) | constructor( method install (line 209) | async install(): Promise { class AntigravityInstaller (line 248) | class AntigravityInstaller implements IdeInstaller { method constructor (line 249) | constructor( method install (line 254) | async install(): Promise { function getIdeInstaller (line 318) | function getIdeInstaller( FILE: packages/core/src/ide/ideContext.ts type IdeContextSubscriber (line 13) | type IdeContextSubscriber = (ideContext?: IdeContext) => void; class IdeContextStore (line 15) | class IdeContextStore { method notifySubscribers (line 22) | private notifySubscribers(): void { method set (line 32) | set(newIdeContext: IdeContext): void { method clear (line 91) | clear(): void { method get (line 100) | get(): IdeContext | undefined { method subscribe (line 113) | subscribe(subscriber: IdeContextSubscriber): () => void { FILE: packages/core/src/ide/process-utils.ts constant MAX_TRAVERSAL_DEPTH (line 14) | const MAX_TRAVERSAL_DEPTH = 32; type ProcessInfo (line 16) | interface ProcessInfo { type RawProcessInfo (line 23) | interface RawProcessInfo { function getProcessTableWindows (line 33) | async function getProcessTableWindows(): Promise; type IdeContext (line 64) | type IdeContext = z.infer; FILE: packages/core/src/mcp/auth-provider.ts type McpAuthProvider (line 13) | interface McpAuthProvider extends OAuthClientProvider { FILE: packages/core/src/mcp/google-auth-provider.ts constant ALLOWED_HOSTS (line 19) | const ALLOWED_HOSTS = [/^.+\.googleapis\.com$/, /^(.*\.)?luci\.app$/]; class GoogleCredentialProvider (line 21) | class GoogleCredentialProvider implements McpAuthProvider { method constructor (line 37) | constructor(private readonly config?: MCPServerConfig) { method clientInformation (line 63) | clientInformation(): OAuthClientInformation | undefined { method saveClientInformation (line 67) | saveClientInformation(clientInformation: OAuthClientInformationFull): ... method tokens (line 71) | async tokens(): Promise { method saveTokens (line 110) | saveTokens(_tokens: OAuthTokens): void { method redirectToAuthorization (line 114) | redirectToAuthorization(_authorizationUrl: URL): void { method saveCodeVerifier (line 118) | saveCodeVerifier(_codeVerifier: string): void { method codeVerifier (line 122) | codeVerifier(): string { method getQuotaProjectId (line 129) | async getQuotaProjectId(): Promise { method getRequestHeaders (line 137) | async getRequestHeaders(): Promise> { FILE: packages/core/src/mcp/mcp-oauth-provider.ts type OAuthAuthorizationResponse (line 18) | interface OAuthAuthorizationResponse { type CallbackServer (line 23) | type CallbackServer = { class MCPOAuthClientProvider (line 29) | class MCPOAuthClientProvider implements OAuthClientProvider { method constructor (line 35) | constructor( method redirectUrl (line 44) | get redirectUrl(): string | URL { method clientMetadata (line 48) | get clientMetadata(): OAuthClientMetadata { method saveCallbackServer (line 52) | saveCallbackServer(server: CallbackServer): void { method getSavedCallbackServer (line 56) | getSavedCallbackServer(): CallbackServer | undefined { method clientInformation (line 60) | clientInformation(): OAuthClientInformation | undefined { method saveClientInformation (line 64) | saveClientInformation(clientInformation: OAuthClientInformation): void { method tokens (line 68) | tokens(): OAuthTokens | undefined { method saveTokens (line 72) | saveTokens(tokens: OAuthTokens): void { method redirectToAuthorization (line 76) | async redirectToAuthorization(authorizationUrl: URL): Promise { method saveCodeVerifier (line 80) | saveCodeVerifier(codeVerifier: string): void { method codeVerifier (line 84) | codeVerifier(): string { method state (line 91) | state(): string { FILE: packages/core/src/mcp/oauth-provider.ts type MCPOAuthConfig (line 38) | interface MCPOAuthConfig { type OAuthClientRegistrationRequest (line 55) | interface OAuthClientRegistrationRequest { type OAuthClientRegistrationResponse (line 67) | interface OAuthClientRegistrationResponse { class MCPOAuthProvider (line 82) | class MCPOAuthProvider { method constructor (line 85) | constructor(tokenStorage: MCPOAuthTokenStorage = new MCPOAuthTokenStor... method registerClient (line 97) | private async registerClient( method discoverOAuthFromMCPServer (line 139) | private async discoverOAuthFromMCPServer( method discoverAuthServerMetadataForRegistration (line 146) | private async discoverAuthServerMetadataForRegistration( method buildResourceParam (line 229) | private buildResourceParam(mcpServerUrl?: string): string | undefined { method refreshAccessToken (line 250) | async refreshAccessToken( method authenticate (line 282) | async authenticate( method getValidToken (line 548) | async getValidToken( FILE: packages/core/src/mcp/oauth-token-storage.test.ts constant ONE_HR_MS (line 59) | const ONE_HR_MS = 3600000; FILE: packages/core/src/mcp/oauth-token-storage.ts class MCPOAuthTokenStorage (line 28) | class MCPOAuthTokenStorage implements TokenStorage { method constructor (line 34) | constructor( method getTokenFilePath (line 47) | private getTokenFilePath(): string { method ensureConfigDir (line 54) | private async ensureConfigDir(): Promise { method getAllCredentials (line 64) | async getAllCredentials(): Promise> { method listServers (line 94) | async listServers(): Promise { method setCredentials (line 102) | async setCredentials(credentials: OAuthCredentials): Promise { method saveToken (line 137) | async saveToken( method getCredentials (line 167) | async getCredentials(serverName: string): Promise { method isTokenExpired (line 215) | isTokenExpired(token: OAuthToken): boolean { method clearAll (line 228) | async clearAll(): Promise { FILE: packages/core/src/mcp/oauth-utils.ts class ResourceMismatchError (line 14) | class ResourceMismatchError extends Error { method constructor (line 15) | constructor(message: string) { type OAuthAuthorizationServerMetadata (line 24) | interface OAuthAuthorizationServerMetadata { type OAuthProtectedResourceMetadata (line 41) | interface OAuthProtectedResourceMetadata { constant FIVE_MIN_BUFFER_MS (line 51) | const FIVE_MIN_BUFFER_MS = 5 * 60 * 1000; class OAuthUtils (line 56) | class OAuthUtils { method buildWellKnownUrls (line 71) | static buildWellKnownUrls(baseUrl: string, useRootDiscovery = false) { method fetchProtectedResourceMetadata (line 96) | static async fetchProtectedResourceMetadata( method fetchAuthorizationServerMetadata (line 120) | static async fetchAuthorizationServerMetadata( method metadataToOAuthConfig (line 144) | static metadataToOAuthConfig( method discoverAuthorizationServerMetadata (line 163) | static async discoverAuthorizationServerMetadata( method discoverOAuthConfig (line 232) | static async discoverOAuthConfig( method parseWWWAuthenticateHeader (line 324) | static parseWWWAuthenticateHeader(header: string): string | null { method discoverOAuthFromWWWAuthenticate (line 340) | static async discoverOAuthFromWWWAuthenticate( method extractBaseUrl (line 389) | static extractBaseUrl(mcpServerUrl: string): string { method isSSEEndpoint (line 400) | static isSSEEndpoint(url: string): boolean { method buildResourceParameter (line 410) | static buildResourceParameter(endpointUrl: string): string { method isEquivalentResourceIdentifier (line 415) | private static isEquivalentResourceIdentifier( method parseTokenExpiry (line 435) | static parseTokenExpiry(idToken: string): number | undefined { FILE: packages/core/src/mcp/sa-impersonation-provider.ts function createIamApiUrl (line 19) | function createIamApiUrl(targetSA: string): string { class ServiceAccountImpersonationProvider (line 25) | class ServiceAccountImpersonationProvider implements McpAuthProvider { method constructor (line 43) | constructor(private readonly config: MCPServerConfig) { method clientInformation (line 68) | clientInformation(): OAuthClientInformation | undefined { method saveClientInformation (line 72) | saveClientInformation(clientInformation: OAuthClientInformationFull): ... method tokens (line 76) | async tokens(): Promise { method saveTokens (line 141) | saveTokens(_tokens: OAuthTokens): void { method redirectToAuthorization (line 145) | redirectToAuthorization(_authorizationUrl: URL): void { method saveCodeVerifier (line 149) | saveCodeVerifier(_codeVerifier: string): void { method codeVerifier (line 153) | codeVerifier(): string { FILE: packages/core/src/mcp/token-storage/base-token-storage.test.ts class TestTokenStorage (line 11) | class TestTokenStorage extends BaseTokenStorage { method getCredentials (line 14) | async getCredentials(serverName: string): Promise { method deleteCredentials (line 23) | async deleteCredentials(serverName: string): Promise { method listServers (line 27) | async listServers(): Promise { method getAllCredentials (line 31) | async getAllCredentials(): Promise> { method clearAll (line 35) | async clearAll(): Promise { method validateCredentials (line 39) | override validateCredentials(credentials: OAuthCredentials): void { method isTokenExpired (line 43) | override isTokenExpired(credentials: OAuthCredentials): boolean { method sanitizeServerName (line 47) | override sanitizeServerName(serverName: string): string { FILE: packages/core/src/mcp/token-storage/base-token-storage.ts method constructor (line 12) | constructor(serviceName: string) { method validateCredentials (line 23) | protected validateCredentials(credentials: OAuthCredentials): void { method isTokenExpired (line 38) | protected isTokenExpired(credentials: OAuthCredentials): boolean { method sanitizeServerName (line 46) | protected sanitizeServerName(serverName: string): string { FILE: packages/core/src/mcp/token-storage/hybrid-token-storage.test.ts type MockStorage (line 39) | interface MockStorage { FILE: packages/core/src/mcp/token-storage/hybrid-token-storage.ts class HybridTokenStorage (line 18) | class HybridTokenStorage extends BaseTokenStorage { method constructor (line 23) | constructor(serviceName: string) { method initializeStorage (line 27) | private async initializeStorage(): Promise { method getStorage (line 49) | private async getStorage(): Promise { method getCredentials (line 63) | async getCredentials(serverName: string): Promise { method deleteCredentials (line 73) | async deleteCredentials(serverName: string): Promise { method listServers (line 78) | async listServers(): Promise { method getAllCredentials (line 83) | async getAllCredentials(): Promise> { method clearAll (line 88) | async clearAll(): Promise { method getStorageType (line 93) | async getStorageType(): Promise { FILE: packages/core/src/mcp/token-storage/index.ts constant DEFAULT_SERVICE_NAME (line 12) | const DEFAULT_SERVICE_NAME = 'gemini-cli-oauth'; constant FORCE_ENCRYPTED_FILE_ENV_VAR (line 13) | const FORCE_ENCRYPTED_FILE_ENV_VAR = FILE: packages/core/src/mcp/token-storage/keychain-token-storage.ts class KeychainTokenStorage (line 16) | class KeychainTokenStorage method constructor (line 22) | constructor(serviceName: string) { method getCredentials (line 27) | async getCredentials(serverName: string): Promise { method deleteCredentials (line 65) | async deleteCredentials(serverName: string): Promise { method listServers (line 74) | async listServers(): Promise { method getAllCredentials (line 94) | async getAllCredentials(): Promise> { method clearAll (line 129) | async clearAll(): Promise { method isAvailable (line 158) | async isAvailable(): Promise { method isUsingFileFallback (line 162) | async isUsingFileFallback(): Promise { method setSecret (line 166) | async setSecret(key: string, value: string): Promise { method getSecret (line 170) | async getSecret(key: string): Promise { method deleteSecret (line 174) | async deleteSecret(key: string): Promise { method listSecrets (line 183) | async listSecrets(): Promise { FILE: packages/core/src/mcp/token-storage/types.ts type OAuthToken (line 10) | interface OAuthToken { type OAuthCredentials (line 21) | interface OAuthCredentials { type TokenStorage (line 30) | interface TokenStorage { type SecretStorage (line 39) | interface SecretStorage { type TokenStorageType (line 46) | enum TokenStorageType { FILE: packages/core/src/output/json-formatter.test.ts class CustomError (line 204) | class CustomError extends Error { method constructor (line 205) | constructor(message: string) { FILE: packages/core/src/output/json-formatter.ts class JsonFormatter (line 11) | class JsonFormatter { method format (line 12) | format( method formatError (line 39) | formatError( FILE: packages/core/src/output/stream-json-formatter.ts class StreamJsonFormatter (line 18) | class StreamJsonFormatter { method formatEvent (line 24) | formatEvent(event: JsonStreamEvent): string { method emitEvent (line 32) | emitEvent(event: JsonStreamEvent): void { method convertToStreamStats (line 43) | convertToStreamStats( FILE: packages/core/src/output/types.ts type OutputFormat (line 9) | enum OutputFormat { type JsonError (line 15) | interface JsonError { type JsonOutput (line 21) | interface JsonOutput { type JsonStreamEventType (line 29) | enum JsonStreamEventType { type BaseJsonStreamEvent (line 38) | interface BaseJsonStreamEvent { type InitEvent (line 43) | interface InitEvent extends BaseJsonStreamEvent { type MessageEvent (line 49) | interface MessageEvent extends BaseJsonStreamEvent { type ToolUseEvent (line 56) | interface ToolUseEvent extends BaseJsonStreamEvent { type ToolResultEvent (line 63) | interface ToolResultEvent extends BaseJsonStreamEvent { type ErrorEvent (line 74) | interface ErrorEvent extends BaseJsonStreamEvent { type ModelStreamStats (line 80) | interface ModelStreamStats { type StreamStats (line 88) | interface StreamStats { type ResultEvent (line 100) | interface ResultEvent extends BaseJsonStreamEvent { type JsonStreamEvent (line 110) | type JsonStreamEvent = FILE: packages/core/src/policy/config.test.ts function mockPolicyFile (line 73) | function mockPolicyFile(path: string, content: string) { FILE: packages/core/src/policy/config.ts constant DEFAULT_CORE_POLICIES_DIR (line 41) | const DEFAULT_CORE_POLICIES_DIR = path.join(__dirname, 'policies'); function emitWarningOnce (line 49) | function emitWarningOnce(message: string): void { function clearEmittedPolicyWarnings (line 59) | function clearEmittedPolicyWarnings(): void { constant DEFAULT_POLICY_TIER (line 64) | const DEFAULT_POLICY_TIER = 1; constant EXTENSION_POLICY_TIER (line 65) | const EXTENSION_POLICY_TIER = 2; constant WORKSPACE_POLICY_TIER (line 66) | const WORKSPACE_POLICY_TIER = 3; constant USER_POLICY_TIER (line 67) | const USER_POLICY_TIER = 4; constant ADMIN_POLICY_TIER (line 68) | const ADMIN_POLICY_TIER = 5; constant MCP_EXCLUDED_PRIORITY (line 72) | const MCP_EXCLUDED_PRIORITY = USER_POLICY_TIER + 0.9; constant EXCLUDE_TOOLS_FLAG_PRIORITY (line 73) | const EXCLUDE_TOOLS_FLAG_PRIORITY = USER_POLICY_TIER + 0.4; constant ALLOWED_TOOLS_FLAG_PRIORITY (line 74) | const ALLOWED_TOOLS_FLAG_PRIORITY = USER_POLICY_TIER + 0.3; constant TRUSTED_MCP_SERVER_PRIORITY (line 75) | const TRUSTED_MCP_SERVER_PRIORITY = USER_POLICY_TIER + 0.2; constant ALLOWED_MCP_SERVER_PRIORITY (line 76) | const ALLOWED_MCP_SERVER_PRIORITY = USER_POLICY_TIER + 0.1; constant ALWAYS_ALLOW_PRIORITY (line 80) | const ALWAYS_ALLOW_PRIORITY = function getAlwaysAllowPriorityFraction (line 86) | function getAlwaysAllowPriorityFraction(): number { function getPolicyDirectories (line 103) | function getPolicyDirectories( function getPolicyTier (line 131) | function getPolicyTier( function formatPolicyError (line 174) | function formatPolicyError(error: PolicyFileError): string { function filterSecurePolicyDirectories (line 194) | async function filterSecurePolicyDirectories( function loadExtensionPolicies (line 222) | async function loadExtensionPolicies( function createPolicyEngineConfig (line 281) | async function createPolicyEngineConfig( type TomlRule (line 530) | interface TomlRule { function createPolicyUpdater (line 541) | function createPolicyUpdater( FILE: packages/core/src/policy/integrity.ts type IntegrityStatus (line 15) | enum IntegrityStatus { type IntegrityResult (line 21) | interface IntegrityResult { type StoredIntegrityData (line 27) | interface StoredIntegrityData { class PolicyIntegrityManager (line 31) | class PolicyIntegrityManager { method checkIntegrity (line 40) | async checkIntegrity( method acceptIntegrity (line 69) | async acceptIntegrity( method calculateIntegrityHash (line 87) | private static async calculateIntegrityHash( method getIntegrityKey (line 116) | private getIntegrityKey(scope: string, identifier: string): string { method loadIntegrityData (line 120) | private async loadIntegrityData(): Promise { method saveIntegrityData (line 144) | private async saveIntegrityData(data: StoredIntegrityData): Promise & { type DeepCircular (line 904) | type DeepCircular = Record & { type TestCase (line 2164) | interface TestCase { FILE: packages/core/src/policy/policy-engine.ts function isWildcardPattern (line 35) | function isWildcardPattern(name: string): boolean { function matchesWildcard (line 43) | function matchesWildcard( function ruleMatches (line 71) | function ruleMatches( class PolicyEngine (line 163) | class PolicyEngine { method constructor (line 173) | constructor(config: PolicyEngineConfig = {}, checkerRunner?: CheckerRu... method setApprovalMode (line 193) | setApprovalMode(mode: ApprovalMode): void { method getApprovalMode (line 200) | getApprovalMode(): ApprovalMode { method isAlwaysAllowRule (line 204) | private isAlwaysAllowRule(rule: PolicyRule): boolean { method shouldDowngradeForRedirection (line 211) | private shouldDowngradeForRedirection( method checkShellCommand (line 226) | private async checkShellCommand( method check (line 382) | async check( method addRule (line 586) | addRule(rule: PolicyRule): void { method addChecker (line 592) | addChecker(checker: SafetyCheckerRule): void { method removeRulesByTier (line 600) | removeRulesByTier(tier: number): void { method removeRulesBySource (line 609) | removeRulesBySource(source: string): void { method removeCheckersByTier (line 616) | removeCheckersByTier(tier: number): void { method removeCheckersBySource (line 625) | removeCheckersBySource(source: string): void { method removeRulesForTool (line 635) | removeRulesForTool(toolName: string, source?: string): void { method getRules (line 646) | getRules(): readonly PolicyRule[] { method hasRuleForTool (line 654) | hasRuleForTool(toolName: string, ignoreDynamic = false): boolean { method getCheckers (line 662) | getCheckers(): readonly SafetyCheckerRule[] { method addHookChecker (line 669) | addHookChecker(checker: HookCheckerRule): void { method getHookCheckers (line 677) | getHookCheckers(): readonly HookCheckerRule[] { method getExcludedTools (line 693) | getExcludedTools( method applyNonInteractiveMode (line 771) | private applyNonInteractiveMode(decision: PolicyDecision): PolicyDecis... FILE: packages/core/src/policy/policy-updater.test.ts type ParsedPolicy (line 30) | interface ParsedPolicy { type TestableShellToolInvocation (line 38) | interface TestableShellToolInvocation { FILE: packages/core/src/policy/shell-safety.test.ts function createPolicyEngineWithPrefix (line 86) | function createPolicyEngineWithPrefix(prefix: string) { FILE: packages/core/src/policy/stable-stringify.ts function stableStringify (line 59) | function stableStringify(obj: unknown): string { FILE: packages/core/src/policy/toml-loader.test.ts function getErrors (line 28) | function getErrors(result: PolicyLoadResult): PolicyLoadResult['errors'] { function getWarnings (line 33) | function getWarnings(result: PolicyLoadResult): PolicyLoadResult['errors... function runLoadPoliciesFromToml (line 55) | async function runLoadPoliciesFromToml( FILE: packages/core/src/policy/toml-loader.ts constant MAX_TYPO_DISTANCE (line 34) | const MAX_TYPO_DISTANCE = 3; type PolicyRuleToml (line 109) | type PolicyRuleToml = z.infer; type PolicyFileErrorType (line 114) | type PolicyFileErrorType = type PolicyFileError (line 125) | interface PolicyFileError { type PolicyLoadResult (line 140) | interface PolicyLoadResult { type PolicyFile (line 146) | interface PolicyFile { function readPolicyFiles (line 157) | async function readPolicyFiles( function getTierName (line 194) | function getTierName( function formatSchemaError (line 208) | function formatSchemaError(error: ZodError, ruleIndex: number): string { function validateShellCommandSyntax (line 222) | function validateShellCommandSyntax( function validateToolName (line 267) | function validateToolName(name: string, ruleIndex: number): string | null { function transformPriority (line 304) | function transformPriority(priority: number, tier: number): number { function loadPoliciesFromToml (line 321) | async function loadPoliciesFromToml( function validateMcpPolicyToolNames (line 671) | function validateMcpPolicyToolNames( FILE: packages/core/src/policy/types.ts type PolicyDecision (line 9) | enum PolicyDecision { type HookSource (line 18) | type HookSource = 'project' | 'user' | 'system' | 'extension'; constant VALID_HOOK_SOURCES (line 23) | const VALID_HOOK_SOURCES: HookSource[] = [ function getHookSource (line 34) | function getHookSource(input: Record): HookSource { type ApprovalMode (line 47) | enum ApprovalMode { type AllowedPathConfig (line 57) | interface AllowedPathConfig { type ExternalCheckerConfig (line 72) | interface ExternalCheckerConfig { type InProcessCheckerType (line 79) | enum InProcessCheckerType { type InProcessCheckerConfig (line 87) | interface InProcessCheckerConfig { type SafetyCheckerConfig (line 97) | type SafetyCheckerConfig = type PolicyRule (line 101) | interface PolicyRule { type SafetyCheckerRule (line 182) | interface SafetyCheckerRule { type HookExecutionContext (line 231) | interface HookExecutionContext { type HookCheckerRule (line 241) | interface HookCheckerRule { type PolicyEngineConfig (line 267) | interface PolicyEngineConfig { type PolicySettings (line 314) | interface PolicySettings { type CheckResult (line 332) | interface CheckResult { constant PRIORITY_SUBAGENT_TOOL (line 341) | const PRIORITY_SUBAGENT_TOOL = 1.05; constant ALWAYS_ALLOW_PRIORITY_FRACTION (line 347) | const ALWAYS_ALLOW_PRIORITY_FRACTION = 950; constant ALWAYS_ALLOW_PRIORITY_OFFSET (line 353) | const ALWAYS_ALLOW_PRIORITY_OFFSET = constant PRIORITY_YOLO_ALLOW_ALL (line 360) | const PRIORITY_YOLO_ALLOW_ALL = 998; FILE: packages/core/src/policy/utils.ts function escapeRegex (line 10) | function escapeRegex(text: string): string { function isSafeRegExp (line 18) | function isSafeRegExp(pattern: string): boolean { function buildArgsPatterns (line 56) | function buildArgsPatterns( function buildParamArgsPattern (line 100) | function buildParamArgsPattern( function buildFilePathArgsPattern (line 118) | function buildFilePathArgsPattern(filePath: string): string { function buildDirPathArgsPattern (line 129) | function buildDirPathArgsPattern(dirPath: string): string { function buildPatternArgsPattern (line 140) | function buildPatternArgsPattern(pattern: string): string { FILE: packages/core/src/prompts/mcp-prompts.ts function getMCPServerPrompts (line 10) | function getMCPServerPrompts( FILE: packages/core/src/prompts/prompt-registry.ts class PromptRegistry (line 10) | class PromptRegistry { method registerPrompt (line 17) | registerPrompt(prompt: DiscoveredMCPPrompt): void { method getAllPrompts (line 32) | getAllPrompts(): DiscoveredMCPPrompt[] { method getPrompt (line 41) | getPrompt(name: string): DiscoveredMCPPrompt | undefined { method getPromptsByServer (line 48) | getPromptsByServer(serverName: string): DiscoveredMCPPrompt[] { method clear (line 61) | clear(): void { method removePromptsByServer (line 68) | removePromptsByServer(serverName: string): void { FILE: packages/core/src/prompts/promptProvider.test.ts method config (line 47) | get config() { method toolRegistry (line 50) | get toolRegistry() { FILE: packages/core/src/prompts/promptProvider.ts class PromptProvider (line 38) | class PromptProvider { method getCoreSystemPrompt (line 42) | getCoreSystemPrompt( method getCompressionPrompt (line 243) | getCompressionPrompt(context: AgentLoopContext): string { method withSection (line 258) | private withSection( method maybeWriteSystemMd (line 266) | private maybeWriteSystemMd( function getSandboxMode (line 286) | function getSandboxMode(): snippets.SandboxMode { FILE: packages/core/src/prompts/snippets.legacy.ts type SystemPromptOptions (line 29) | interface SystemPromptOptions { type PreambleOptions (line 45) | interface PreambleOptions { type CoreMandatesOptions (line 49) | interface CoreMandatesOptions { type PrimaryWorkflowsOptions (line 56) | interface PrimaryWorkflowsOptions { type OperationalGuidelinesOptions (line 65) | interface OperationalGuidelinesOptions { type SandboxMode (line 73) | type SandboxMode = 'macos-seatbelt' | 'generic' | 'outside'; type GitRepoOptions (line 75) | interface GitRepoOptions { type FinalReminderOptions (line 79) | interface FinalReminderOptions { type PlanningWorkflowOptions (line 83) | interface PlanningWorkflowOptions { type AgentSkillOptions (line 90) | interface AgentSkillOptions { type SubAgentOptions (line 96) | interface SubAgentOptions { function getCoreSystemPrompt (line 107) | function getCoreSystemPrompt(options: SystemPromptOptions): string { function renderFinalShell (line 141) | function renderFinalShell( function renderPreamble (line 154) | function renderPreamble(options?: PreambleOptions): string { function renderCoreMandates (line 161) | function renderCoreMandates(options?: CoreMandatesOptions): string { function renderSubAgents (line 179) | function renderSubAgents(subAgents?: SubAgentOptions[]): string { function renderAgentSkills (line 202) | function renderAgentSkills(skills?: AgentSkillOptions[]): string { function renderHookContext (line 224) | function renderHookContext(enabled?: boolean): string { function renderPrimaryWorkflows (line 234) | function renderPrimaryWorkflows( function renderOperationalGuidelines (line 258) | function renderOperationalGuidelines( function renderSandbox (line 293) | function renderSandbox(mode?: SandboxMode): string { function renderInteractiveYoloMode (line 310) | function renderInteractiveYoloMode(enabled?: boolean): string { function renderGitRepo (line 329) | function renderGitRepo(options?: GitRepoOptions): string { function renderFinalReminder (line 350) | function renderFinalReminder(options?: FinalReminderOptions): string { function renderUserMemory (line 357) | function renderUserMemory(memory?: string | HierarchicalMemory): string { function renderPlanningWorkflow (line 401) | function renderPlanningWorkflow( function renderApprovedPlanSection (line 458) | function renderApprovedPlanSection(approvedPlanPath?: string): string { function renderTaskTracker (line 467) | function renderTaskTracker(): string { function mandateConfirm (line 483) | function mandateConfirm(interactive: boolean): string { function mandateSkillGuidance (line 489) | function mandateSkillGuidance(hasSkills: boolean): string { function mandateConflictResolution (line 495) | function mandateConflictResolution(hasHierarchicalMemory: boolean): stri... function mandateExplainBeforeActing (line 500) | function mandateExplainBeforeActing(isGemini3: boolean): string { function mandateContinueWork (line 506) | function mandateContinueWork(interactive: boolean): string { function workflowStepUnderstand (line 512) | function workflowStepUnderstand(options: PrimaryWorkflowsOptions): string { function workflowStepPlan (line 520) | function workflowStepPlan(options: PrimaryWorkflowsOptions): string { function workflowVerifyStandardsSuffix (line 546) | function workflowVerifyStandardsSuffix(interactive: boolean): string { constant NEW_APP_IMPLEMENTATION_GUIDANCE (line 552) | const NEW_APP_IMPLEMENTATION_GUIDANCE = `When starting ensure you scaffo... function newApplicationSteps (line 554) | function newApplicationSteps(options: PrimaryWorkflowsOptions): string { function planningPhaseSuggestion (line 597) | function planningPhaseSuggestion(options: PrimaryWorkflowsOptions): stri... function shellEfficiencyGuidelines (line 604) | function shellEfficiencyGuidelines(enabled: boolean): string { function toneAndStyleNoChitchat (line 623) | function toneAndStyleNoChitchat(isGemini3: boolean): string { function toolUsageInteractive (line 631) | function toolUsageInteractive( function toolUsageRememberingFacts (line 648) | function toolUsageRememberingFacts( function gitRepoKeepUserInformed (line 663) | function gitRepoKeepUserInformed(interactive: boolean): string { function getCompressionPrompt (line 673) | function getCompressionPrompt(): string { FILE: packages/core/src/prompts/snippets.ts type SystemPromptOptions (line 39) | interface SystemPromptOptions { type PreambleOptions (line 54) | interface PreambleOptions { type CoreMandatesOptions (line 58) | interface CoreMandatesOptions { type PrimaryWorkflowsOptions (line 66) | interface PrimaryWorkflowsOptions { type OperationalGuidelinesOptions (line 78) | interface OperationalGuidelinesOptions { type SandboxMode (line 85) | type SandboxMode = 'macos-seatbelt' | 'generic' | 'outside'; type GitRepoOptions (line 87) | interface GitRepoOptions { type PlanningWorkflowOptions (line 91) | interface PlanningWorkflowOptions { type AgentSkillOptions (line 99) | interface AgentSkillOptions { type SubAgentOptions (line 105) | interface SubAgentOptions { function getCoreSystemPrompt (line 116) | function getCoreSystemPrompt(options: SystemPromptOptions): string { function renderFinalShell (line 149) | function renderFinalShell( function renderPreamble (line 163) | function renderPreamble(options?: PreambleOptions): string { function renderCoreMandates (line 170) | function renderCoreMandates(options?: CoreMandatesOptions): string { function renderSubAgents (line 240) | function renderSubAgents(subAgents?: SubAgentOptions[]): string { function renderAgentSkills (line 281) | function renderAgentSkills(skills?: AgentSkillOptions[]): string { function renderHookContext (line 303) | function renderHookContext(enabled?: boolean): string { function renderPrimaryWorkflows (line 314) | function renderPrimaryWorkflows( function renderOperationalGuidelines (line 341) | function renderOperationalGuidelines( function renderSandbox (line 387) | function renderSandbox(mode?: SandboxMode): string { function renderInteractiveYoloMode (line 403) | function renderInteractiveYoloMode(enabled?: boolean): string { function renderGitRepo (line 422) | function renderGitRepo(options?: GitRepoOptions): string { function renderUserMemory (line 444) | function renderUserMemory( function renderTaskTracker (line 493) | function renderTaskTracker(): string { function renderPlanningWorkflow (line 511) | function renderPlanningWorkflow( function renderApprovedPlanSection (line 560) | function renderApprovedPlanSection(approvedPlanPath?: string): string { function mandateConfirm (line 572) | function mandateConfirm(interactive: boolean): string { function mandateTopicUpdateModel (line 578) | function mandateTopicUpdateModel(): string { function mandateExplainBeforeActing (line 622) | function mandateExplainBeforeActing(): string { function mandateSkillGuidance (line 628) | function mandateSkillGuidance(hasSkills: boolean): string { function mandateConflictResolution (line 634) | function mandateConflictResolution(hasHierarchicalMemory: boolean): stri... function mandateContinueWork (line 639) | function mandateContinueWork(interactive: boolean): string { function workflowStepResearch (line 645) | function workflowStepResearch(options: PrimaryWorkflowsOptions): string { function workflowStepStrategy (line 676) | function workflowStepStrategy(options: PrimaryWorkflowsOptions): string { function workflowVerifyStandardsSuffix (line 695) | function workflowVerifyStandardsSuffix(interactive: boolean): string { function newApplicationSteps (line 701) | function newApplicationSteps(options: PrimaryWorkflowsOptions): string { function toolUsageInteractive (line 761) | function toolUsageInteractive( function toolUsageRememberingFacts (line 778) | function toolUsageRememberingFacts( function gitRepoKeepUserInformed (line 793) | function gitRepoKeepUserInformed(interactive: boolean): string { function formatToolName (line 800) | function formatToolName(name: string): string { function getCompressionPrompt (line 807) | function getCompressionPrompt(approvedPlanPath?: string): string { FILE: packages/core/src/prompts/utils.test.ts method config (line 212) | get config() { FILE: packages/core/src/prompts/utils.ts type ResolvedPath (line 15) | type ResolvedPath = { function resolvePathFromEnv (line 24) | function resolvePathFromEnv(envVar?: string): ResolvedPath { function applySubstitutions (line 64) | function applySubstitutions( function isSectionEnabled (line 109) | function isSectionEnabled(key: string): boolean { FILE: packages/core/src/resources/resource-registry.ts type MCPResource (line 12) | interface MCPResource extends Resource { type DiscoveredMCPResource (line 16) | type DiscoveredMCPResource = MCPResource; class ResourceRegistry (line 22) | class ResourceRegistry { method setResourcesForServer (line 28) | setResourcesForServer(serverName: string, resources: Resource[]): void { method getAllResources (line 43) | getAllResources(): MCPResource[] { method findResourceByUri (line 51) | findResourceByUri(identifier: string): MCPResource | undefined { method removeResourcesByServer (line 61) | removeResourcesByServer(serverName: string): void { method clear (line 69) | clear(): void { method getResourcesByServer (line 76) | getResourcesByServer(serverName: string): MCPResource[] { FILE: packages/core/src/routing/modelRouterService.ts class ModelRouterService (line 30) | class ModelRouterService { method constructor (line 34) | constructor(config: Config) { method initializeDefaultStrategy (line 39) | private initializeDefaultStrategy(): TerminalStrategy { method route (line 75) | async route(context: RoutingContext): Promise { FILE: packages/core/src/routing/routingStrategy.ts type RoutingDecision (line 15) | interface RoutingDecision { type RoutingContext (line 32) | interface RoutingContext { type RoutingStrategy (line 47) | interface RoutingStrategy { type TerminalStrategy (line 70) | interface TerminalStrategy extends RoutingStrategy { FILE: packages/core/src/routing/strategies/approvalModeStrategy.ts class ApprovalModeStrategy (line 28) | class ApprovalModeStrategy implements RoutingStrategy { method route (line 31) | async route( FILE: packages/core/src/routing/strategies/classifierStrategy.ts constant HISTORY_TURNS_FOR_CONTEXT (line 27) | const HISTORY_TURNS_FOR_CONTEXT = 4; constant HISTORY_SEARCH_WINDOW (line 28) | const HISTORY_SEARCH_WINDOW = 20; constant FLASH_MODEL (line 30) | const FLASH_MODEL = 'flash'; constant PRO_MODEL (line 31) | const PRO_MODEL = 'pro'; constant CLASSIFIER_SYSTEM_PROMPT (line 33) | const CLASSIFIER_SYSTEM_PROMPT = ` constant RESPONSE_SCHEMA (line 107) | const RESPONSE_SCHEMA = { class ClassifierStrategy (line 128) | class ClassifierStrategy implements RoutingStrategy { method route (line 131) | async route( FILE: packages/core/src/routing/strategies/compositeStrategy.ts class CompositeStrategy (line 22) | class CompositeStrategy implements TerminalStrategy { method constructor (line 32) | constructor( method route (line 40) | async route( method finalizeDecision (line 102) | private finalizeDecision( FILE: packages/core/src/routing/strategies/defaultStrategy.ts class DefaultStrategy (line 17) | class DefaultStrategy implements TerminalStrategy { method route (line 20) | async route( FILE: packages/core/src/routing/strategies/fallbackStrategy.ts class FallbackStrategy (line 18) | class FallbackStrategy implements RoutingStrategy { method route (line 21) | async route( FILE: packages/core/src/routing/strategies/gemmaClassifierStrategy.test.ts type GenerateJsonCall (line 229) | type GenerateJsonCall = [Content[], string, string | undefined]; type GenerateJsonCall (line 304) | type GenerateJsonCall = [Content[], string, string | undefined]; FILE: packages/core/src/routing/strategies/gemmaClassifierStrategy.ts constant HISTORY_TURNS_FOR_CONTEXT (line 26) | const HISTORY_TURNS_FOR_CONTEXT = 4; constant HISTORY_SEARCH_WINDOW (line 27) | const HISTORY_SEARCH_WINDOW = 20; constant FLASH_MODEL (line 29) | const FLASH_MODEL = 'flash'; constant PRO_MODEL (line 30) | const PRO_MODEL = 'pro'; constant COMPLEXITY_RUBRIC (line 32) | const COMPLEXITY_RUBRIC = `### Complexity Rubric constant OUTPUT_FORMAT (line 40) | const OUTPUT_FORMAT = `### Output Format constant LITERT_GEMMA_CLASSIFIER_SYSTEM_PROMPT (line 64) | const LITERT_GEMMA_CLASSIFIER_SYSTEM_PROMPT = `### Role constant LITERT_GEMMA_CLASSIFIER_REMINDER (line 121) | const LITERT_GEMMA_CLASSIFIER_REMINDER = `### Reminder class GemmaClassifierStrategy (line 134) | class GemmaClassifierStrategy implements RoutingStrategy { method flattenChatHistory (line 137) | private flattenChatHistory(turns: Content[]): Content[] { method route (line 169) | async route( FILE: packages/core/src/routing/strategies/numericalClassifierStrategy.ts constant HISTORY_TURNS_FOR_CONTEXT (line 23) | const HISTORY_TURNS_FOR_CONTEXT = 8; constant FLASH_MODEL (line 25) | const FLASH_MODEL = 'flash'; constant PRO_MODEL (line 26) | const PRO_MODEL = 'pro'; constant RESPONSE_SCHEMA (line 28) | const RESPONSE_SCHEMA = { constant CLASSIFIER_SYSTEM_PROMPT (line 43) | const CLASSIFIER_SYSTEM_PROMPT = ` class NumericalClassifierStrategy (line 96) | class NumericalClassifierStrategy implements RoutingStrategy { method route (line 99) | async route( method getRoutingDecision (line 179) | private async getRoutingDecision( FILE: packages/core/src/routing/strategies/overrideStrategy.ts class OverrideStrategy (line 20) | class OverrideStrategy implements RoutingStrategy { method route (line 23) | async route( FILE: packages/core/src/safety/built-in.ts type InProcessChecker (line 19) | interface InProcessChecker { class AllowedPathChecker (line 26) | class AllowedPathChecker implements InProcessChecker { method check (line 27) | async check(input: SafetyCheckInput): Promise { method safelyResolvePath (line 81) | private safelyResolvePath(inputPath: string, cwd: string): string | nu... method isPathAllowed (line 106) | private isPathAllowed(targetPath: string, allowedDir: string): boolean { method collectPathsToCheck (line 114) | private collectPathsToCheck( FILE: packages/core/src/safety/checker-runner.ts type CheckerRunnerConfig (line 42) | interface CheckerRunnerConfig { class CheckerRunner (line 58) | class CheckerRunner { method constructor (line 65) | constructor( method runChecker (line 78) | async runChecker( method runInProcessChecker (line 88) | private async runInProcessChecker( method runExternalChecker (line 120) | private async runExternalChecker( method executeCheckerProcess (line 163) | private executeCheckerProcess( method executeWithTimeout (line 295) | private executeWithTimeout(promise: Promise): Promise { FILE: packages/core/src/safety/conseca/conseca.test.ts method config (line 39) | get config() { method config (line 78) | get config() { FILE: packages/core/src/safety/conseca/conseca.ts class ConsecaSafetyChecker (line 28) | class ConsecaSafetyChecker implements InProcessChecker { method constructor (line 38) | private constructor() {} method getInstance (line 40) | static getInstance(): ConsecaSafetyChecker { method resetInstance (line 50) | static resetInstance(): void { method setContext (line 54) | setContext(context: AgentLoopContext): void { method check (line 58) | async check(input: SafetyCheckInput): Promise { method getPolicy (line 127) | async getPolicy( method extractUserPrompt (line 157) | private extractUserPrompt(input: SafetyCheckInput): string | null { method getCurrentPolicy (line 167) | getCurrentPolicy(): SecurityPolicy | null { method getActiveUserPrompt (line 171) | getActiveUserPrompt(): string | null { FILE: packages/core/src/safety/conseca/policy-enforcer.ts constant CONSECA_ENFORCEMENT_PROMPT (line 19) | const CONSECA_ENFORCEMENT_PROMPT = ` function enforcePolicy (line 53) | async function enforcePolicy( FILE: packages/core/src/safety/conseca/policy-generator.ts constant CONSECA_POLICY_GENERATION_PROMPT (line 17) | const CONSECA_POLICY_GENERATION_PROMPT = ` type PolicyGenerationResult (line 92) | interface PolicyGenerationResult { function generatePolicy (line 100) | async function generatePolicy( FILE: packages/core/src/safety/conseca/types.ts type ToolPolicy (line 9) | interface ToolPolicy { type SecurityPolicy (line 18) | type SecurityPolicy = Record; FILE: packages/core/src/safety/context-builder.test.ts method config (line 28) | get config() { FILE: packages/core/src/safety/context-builder.ts class ContextBuilder (line 15) | class ContextBuilder { method constructor (line 16) | constructor(private readonly context: AgentLoopContext) {} method buildFullContext (line 21) | buildFullContext(): SafetyCheckInput['context'] { method buildMinimalContext (line 59) | buildMinimalContext( method convertHistoryToTurns (line 77) | private convertHistoryToTurns( FILE: packages/core/src/safety/protocol.ts type ConversationTurn (line 13) | interface ConversationTurn { type SafetyCheckInput (line 26) | interface SafetyCheckInput { type SafetyCheckDecision (line 72) | enum SafetyCheckDecision { type SafetyCheckResult (line 81) | type SafetyCheckResult = FILE: packages/core/src/safety/registry.ts class CheckerRegistry (line 17) | class CheckerRegistry { method getBuiltInInProcessCheckers (line 26) | private static getBuiltInInProcessCheckers(): Map { FILE: packages/core/src/sandbox/macos/MacOsSandboxManager.integration.test.ts function runCommand (line 23) | async function runCommand(command: SandboxedCommand) { FILE: packages/core/src/sandbox/macos/MacOsSandboxManager.ts type MacOsSandboxOptions (line 22) | interface MacOsSandboxOptions { class MacOsSandboxManager (line 36) | class MacOsSandboxManager implements SandboxManager { method constructor (line 37) | constructor(private readonly options: MacOsSandboxOptions) {} method prepareCommand (line 39) | async prepareCommand(req: SandboxRequest): Promise { FILE: packages/core/src/sandbox/macos/baseProfile.ts constant BASE_SEATBELT_PROFILE (line 14) | const BASE_SEATBELT_PROFILE = `(version 1) constant NETWORK_SEATBELT_PROFILE (line 67) | const NETWORK_SEATBELT_PROFILE = ` FILE: packages/core/src/sandbox/macos/seatbeltArgsBuilder.ts type SeatbeltArgsOptions (line 18) | interface SeatbeltArgsOptions { function tryRealpath (line 32) | function tryRealpath(p: string): string { function buildSeatbeltArgs (line 55) | function buildSeatbeltArgs(options: SeatbeltArgsOptions): string[] { FILE: packages/core/src/scheduler/confirmation.ts type ConfirmationResult (line 37) | interface ConfirmationResult { type ResolutionResult (line 45) | interface ResolutionResult { function awaitConfirmation (line 62) | async function awaitConfirmation( function resolveConfirmation (line 108) | async function resolveConfirmation( function notifyHooks (line 194) | async function notifyHooks( type ExternalModificationResult (line 212) | interface ExternalModificationResult { function handleExternalModification (line 221) | async function handleExternalModification( function handleInlineModification (line 260) | async function handleInlineModification( function waitForConfirmation (line 287) | async function waitForConfirmation( FILE: packages/core/src/scheduler/policy.ts function getPolicyDenialError (line 36) | function getPolicyDenialError( function checkPolicy (line 52) | async function checkPolicy( function updatePolicy (line 112) | async function updatePolicy( function isAutoEditTransition (line 169) | function isAutoEditTransition( function handleStandardPolicyUpdate (line 186) | async function handleStandardPolicyUpdate( function handleMcpPolicyUpdate (line 225) | async function handleMcpPolicyUpdate( FILE: packages/core/src/scheduler/scheduler.ts type SchedulerQueueItem (line 51) | interface SchedulerQueueItem { type SchedulerOptions (line 58) | interface SchedulerOptions { class Scheduler (line 93) | class Scheduler { method constructor (line 113) | constructor(options: SchedulerOptions) { method dispose (line 135) | dispose(): void { method setupMessageBusListener (line 164) | private setupMessageBusListener(messageBus: MessageBus): void { method schedule (line 190) | async schedule( method _enqueueRequest (line 215) | private _enqueueRequest( method cancelAll (line 252) | cancelAll(): void { method completedCalls (line 278) | get completedCalls(): CompletedToolCall[] { method isTerminal (line 282) | private isTerminal(status: string) { method _startBatch (line 292) | private async _startBatch( method _createToolNotFoundErroredToolCall (line 338) | private _createToolNotFoundErroredToolCall( method _validateAndCreateToolCall (line 356) | private _validateAndCreateToolCall( method _processQueue (line 401) | private async _processQueue(signal: AbortSignal): Promise { method _processNextItem (line 412) | private async _processNextItem(signal: AbortSignal): Promise { method _isParallelizable (line 525) | private _isParallelizable(request: ToolCallRequestInfo): boolean { method _processValidatingCall (line 537) | private async _processValidatingCall( method _processToolCall (line 569) | private async _processToolCall( method _execute (line 651) | private async _execute( method _processNextInRequestQueue (line 777) | private _processNextInRequestQueue() { FILE: packages/core/src/scheduler/state-manager.ts type TerminalCallHandler (line 39) | type TerminalCallHandler = (call: CompletedToolCall) => void; class SchedulerStateManager (line 45) | class SchedulerStateManager { method constructor (line 50) | constructor( method addToolCalls (line 56) | addToolCalls(calls: ToolCall[]): void { method getToolCall (line 60) | getToolCall(callId: string): ToolCall | undefined { method enqueue (line 68) | enqueue(calls: ToolCall[]): void { method dequeue (line 73) | dequeue(): ToolCall | undefined { method peekQueue (line 82) | peekQueue(): ToolCall | undefined { method isActive (line 86) | get isActive(): boolean { method allActiveCalls (line 90) | get allActiveCalls(): ToolCall[] { method activeCallCount (line 94) | get activeCallCount(): number { method queueLength (line 98) | get queueLength(): number { method firstActiveCall (line 102) | get firstActiveCall(): ToolCall | undefined { method updateStatus (line 143) | updateStatus(callId: string, status: Status, auxiliaryData?: unknown):... method finalizeCall (line 153) | finalizeCall(callId: string): void { method updateArgs (line 166) | updateArgs( method setOutcome (line 184) | setOutcome(callId: string, outcome: ToolConfirmationOutcome): void { method replaceActiveCallWithTailCall (line 197) | replaceActiveCallWithTailCall(callId: string, nextCall: ToolCall): void { method cancelAllQueued (line 205) | cancelAllQueued(reason: string): void { method getSnapshot (line 224) | getSnapshot(): ToolCall[] { method clearBatch (line 232) | clearBatch(): void { method completedBatch (line 238) | get completedBatch(): CompletedToolCall[] { method emitUpdate (line 242) | private emitUpdate() { method isTerminalCall (line 253) | private isTerminalCall(call: ToolCall): call is CompletedToolCall { method transitionCall (line 262) | private transitionCall( method isExecutingToolCallPatch (line 325) | private isExecutingToolCallPatch( method validateHasToolAndInvocation (line 338) | private validateHasToolAndInvocation( method toSuccess (line 354) | private toSuccess( method toError (line 373) | private toError( method toAwaitingApproval (line 390) | private toAwaitingApproval(call: ToolCall, data: unknown): WaitingTool... method isEventDrivenApprovalData (line 424) | private isEventDrivenApprovalData(data: unknown): data is { method toScheduled (line 436) | private toScheduled(call: ToolCall): ScheduledToolCall { method toCancelled (line 450) | private toCancelled( method isWaitingToolCall (line 534) | private isWaitingToolCall(call: ToolCall): call is WaitingToolCall { method patchCall (line 538) | private patchCall(call: T, patch: Partial): T { method toValidating (line 542) | private toValidating(call: ToolCall): ValidatingToolCall { method toExecuting (line 556) | private toExecuting(call: ToolCall, data?: unknown): ExecutingToolCall { FILE: packages/core/src/scheduler/tool-executor.ts type ToolExecutionContext (line 45) | interface ToolExecutionContext { class ToolExecutor (line 52) | class ToolExecutor { method constructor (line 53) | constructor(private readonly context: AgentLoopContext) {} method config (line 55) | private get config(): Config { method execute (line 59) | async execute(context: ToolExecutionContext): Promise void; FILE: packages/core/src/services/FolderTrustDiscoveryService.ts type FolderDiscoveryResults (line 14) | interface FolderDiscoveryResults { class FolderTrustDiscoveryService (line 29) | class FolderTrustDiscoveryService { method discover (line 35) | static async discover(workspaceDir: string): Promise { method exists (line 227) | private static async exists(filePath: string): Promise { FILE: packages/core/src/services/chatCompressionService.test.ts method config (line 175) | get config() { FILE: packages/core/src/services/chatCompressionService.ts constant DEFAULT_COMPRESSION_TOKEN_THRESHOLD (line 40) | const DEFAULT_COMPRESSION_TOKEN_THRESHOLD = 0.5; constant COMPRESSION_PRESERVE_THRESHOLD (line 46) | const COMPRESSION_PRESERVE_THRESHOLD = 0.3; constant COMPRESSION_FUNCTION_RESPONSE_TOKEN_BUDGET (line 51) | const COMPRESSION_FUNCTION_RESPONSE_TOKEN_BUDGET = 50_000; function findCompressSplitPoint (line 59) | function findCompressSplitPoint( function modelStringToModelConfigAlias (line 101) | function modelStringToModelConfigAlias(model: string): string { function truncateHistoryToBudget (line 132) | async function truncateHistoryToBudget( class ChatCompressionService (line 233) | class ChatCompressionService { method compress (line 234) | async compress( FILE: packages/core/src/services/chatRecordingService.test.ts method config (line 46) | get config() { FILE: packages/core/src/services/chatRecordingService.ts constant SESSION_FILE_PREFIX (line 24) | const SESSION_FILE_PREFIX = 'session-'; constant ENOSPC_WARNING_MESSAGE (line 29) | const ENOSPC_WARNING_MESSAGE = type TokensSummary (line 37) | interface TokensSummary { type BaseMessageRecord (line 49) | interface BaseMessageRecord { type ToolCallRecord (line 59) | interface ToolCallRecord { type ConversationRecordExtra (line 76) | type ConversationRecordExtra = type MessageRecord (line 91) | type MessageRecord = BaseMessageRecord & ConversationRecordExtra; type ConversationRecord (line 96) | interface ConversationRecord { type ResumedSessionData (line 112) | interface ResumedSessionData { class ChatRecordingService (line 128) | class ChatRecordingService { method constructor (line 139) | constructor(context: AgentLoopContext) { method initialize (line 152) | initialize( method getLastMessage (line 221) | private getLastMessage( method newMessage (line 227) | private newMessage( method recordMessage (line 244) | recordMessage(message: { method recordThought (line 283) | recordThought(thought: ThoughtSummary): void { method recordMessageTokens (line 300) | recordMessageTokens( method recordToolCalls (line 340) | recordToolCalls(model: string, toolCalls: ToolCallRecord[]): void { method readConversation (line 442) | private readConversation(): ConversationRecord { method writeConversation (line 485) | private writeConversation( method updateConversation (line 529) | private updateConversation( method saveSummary (line 540) | saveSummary(summary: string): void { method recordDirectories (line 557) | recordDirectories(directories: readonly string[]): void { method getConversation (line 573) | getConversation(): ConversationRecord | null { method getConversationFilePath (line 588) | getConversationFilePath(): string | null { method deleteSession (line 599) | deleteSession(sessionIdOrBasename: string): void { method deriveShortId (line 624) | private deriveShortId(sessionIdOrBasename: string): string { method getMatchingSessionFiles (line 646) | private getMatchingSessionFiles(chatsDir: string, shortId: string): st... method deleteSessionAndArtifacts (line 657) | private deleteSessionAndArtifacts( method deleteSessionLogs (line 691) | private deleteSessionLogs(sessionId: string, tempDir: string): void { method deleteSessionToolOutputs (line 703) | private deleteSessionToolOutputs(sessionId: string, tempDir: string): ... method deleteSessionDirectory (line 722) | private deleteSessionDirectory(sessionId: string, tempDir: string): vo... method rewindTo (line 734) | rewindTo(messageId: string): ConversationRecord | null { method updateMessagesFromHistory (line 759) | updateMessagesFromHistory(history: readonly Content[]): void { FILE: packages/core/src/services/contextManager.ts class ContextManager (line 21) | class ContextManager { method constructor (line 29) | constructor(config: Config) { method refresh (line 36) | async refresh(): Promise { method discoverMemoryPaths (line 47) | private async discoverMemoryPaths() { method loadMemoryContents (line 63) | private async loadMemoryContents(paths: { method categorizeMemoryContents (line 97) | private categorizeMemoryContents( method discoverContext (line 129) | async discoverContext( method emitMemoryChanged (line 162) | private emitMemoryChanged(): void { method getGlobalMemory (line 168) | getGlobalMemory(): string { method getExtensionMemory (line 172) | getExtensionMemory(): string { method getEnvironmentMemory (line 176) | getEnvironmentMemory(): string { method markAsLoaded (line 180) | private markAsLoaded(paths: string[]): void { method getLoadedPaths (line 184) | getLoadedPaths(): ReadonlySet { FILE: packages/core/src/services/environmentSanitization.test.ts constant EMPTY_OPTIONS (line 17) | const EMPTY_OPTIONS = { FILE: packages/core/src/services/environmentSanitization.ts type EnvironmentSanitizationConfig (line 7) | type EnvironmentSanitizationConfig = { function sanitizeEnvironment (line 13) | function sanitizeEnvironment( constant ALWAYS_ALLOWED_ENVIRONMENT_VARIABLES (line 52) | const ALWAYS_ALLOWED_ENVIRONMENT_VARIABLES: ReadonlySet = constant NEVER_ALLOWED_ENVIRONMENT_VARIABLES (line 94) | const NEVER_ALLOWED_ENVIRONMENT_VARIABLES: ReadonlySet = new Set( constant NEVER_ALLOWED_NAME_PATTERNS (line 111) | const NEVER_ALLOWED_NAME_PATTERNS = [ constant NEVER_ALLOWED_VALUE_PATTERNS (line 124) | const NEVER_ALLOWED_VALUE_PATTERNS = [ function shouldRedactEnvironmentVariable (line 143) | function shouldRedactEnvironmentVariable( function getSecureSanitizationConfig (line 202) | function getSecureSanitizationConfig( FILE: packages/core/src/services/executionLifecycleService.test.ts function createResult (line 14) | function createResult( FILE: packages/core/src/services/executionLifecycleService.ts type ExecutionMethod (line 11) | type ExecutionMethod = type ExecutionResult (line 18) | interface ExecutionResult { type ExecutionHandle (line 30) | interface ExecutionHandle { type ExecutionOutputEvent (line 35) | type ExecutionOutputEvent = type ExecutionCompletionOptions (line 53) | interface ExecutionCompletionOptions { type ExternalExecutionRegistration (line 60) | interface ExternalExecutionRegistration { type FormatInjectionFn (line 75) | type FormatInjectionFn = ( type ManagedExecutionBase (line 80) | interface ManagedExecutionBase { type BackgroundCompletionInfo (line 92) | interface BackgroundCompletionInfo { type BackgroundCompletionListener (line 101) | type BackgroundCompletionListener = ( type VirtualExecutionState (line 105) | interface VirtualExecutionState extends ManagedExecutionBase { type ExternalExecutionState (line 110) | interface ExternalExecutionState extends ManagedExecutionBase { type ManagedExecutionState (line 117) | type ManagedExecutionState = VirtualExecutionState | ExternalExecutionSt... constant NON_PROCESS_EXECUTION_ID_START (line 119) | const NON_PROCESS_EXECUTION_ID_START = 2_000_000_000; class ExecutionLifecycleService (line 124) | class ExecutionLifecycleService { method setInjectionService (line 149) | static setInjectionService(service: InjectionService): void { method onBackgroundComplete (line 157) | static onBackgroundComplete(listener: BackgroundCompletionListener): v... method offBackgroundComplete (line 164) | static offBackgroundComplete(listener: BackgroundCompletionListener): ... method storeExitInfo (line 168) | private static storeExitInfo( method allocateExecutionId (line 182) | private static allocateExecutionId(): number { method createPendingResult (line 190) | private static createPendingResult( method createAbortedResult (line 198) | private static createAbortedResult( method resetForTest (line 218) | static resetForTest(): void { method attachExecution (line 228) | static attachExecution( method createExecution (line 257) | static createExecution( method appendOutput (line 287) | static appendOutput(executionId: number, chunk: string): void { method emitEvent (line 297) | static emitEvent(executionId: number, event: ExecutionOutputEvent): vo... method resolvePending (line 304) | private static resolvePending( method settleExecution (line 317) | private static settleExecution( method completeExecution (line 373) | static completeExecution( method completeWithResult (line 403) | static completeWithResult( method background (line 410) | static background(executionId: number): void { method subscribe (line 439) | static subscribe( method onExit (line 466) | static onExit( method kill (line 489) | static kill(executionId: number): void { method isActive (line 509) | static isActive(executionId: number): boolean { method writeInput (line 541) | static writeInput(executionId: number, input: string): void { FILE: packages/core/src/services/fileDiscoveryService.test.ts function createTestFile (line 18) | async function createTestFile(filePath: string, content = '') { FILE: packages/core/src/services/fileDiscoveryService.ts type FilterFilesOptions (line 20) | interface FilterFilesOptions { type FilterReport (line 26) | interface FilterReport { class FileDiscoveryService (line 31) | class FileDiscoveryService { method constructor (line 44) | constructor(projectRoot: string, options?: FilterFilesOptions) { method applyFilterFilesOptions (line 86) | private applyFilterFilesOptions(options?: FilterFilesOptions): void { method filterFiles (line 105) | filterFiles(filePaths: string[], options: FilterFilesOptions = {}): st... method filterFilesWithReport (line 138) | filterFilesWithReport( method shouldIgnoreFile (line 157) | shouldIgnoreFile( method getIgnoreFilePaths (line 167) | getIgnoreFilePaths(): string[] { method getAllIgnoreFilePaths (line 184) | getAllIgnoreFilePaths(): string[] { FILE: packages/core/src/services/fileKeychain.ts class FileKeychain (line 14) | class FileKeychain implements Keychain { method constructor (line 18) | constructor() { method deriveEncryptionKey (line 24) | private deriveEncryptionKey(): Buffer { method encrypt (line 29) | private encrypt(text: string): string { method decrypt (line 41) | private decrypt(encryptedData: string): string { method ensureDirectoryExists (line 64) | private async ensureDirectoryExists(): Promise { method loadData (line 69) | private async loadData(): Promise { method writeTextFile (line 38) | async writeTextFile(filePath: string, content: string): Promise { FILE: packages/core/src/services/gitService.test.ts constant PROJECT_SLUG (line 24) | const PROJECT_SLUG = 'project-slug'; FILE: packages/core/src/services/gitService.ts class GitService (line 15) | class GitService { method constructor (line 19) | constructor(projectRoot: string, storage: Storage) { method getHistoryDir (line 24) | private getHistoryDir(): string { method initialize (line 28) | async initialize(): Promise { method verifyGitAvailability (line 45) | static async verifyGitAvailability(): Promise { method getShadowRepoEnv (line 54) | private getShadowRepoEnv(repoDir: string) { method setupShadowGitRepository (line 68) | async setupShadowGitRepository() { method shadowGitRepository (line 117) | private get shadowGitRepository(): SimpleGit { method getCurrentCommitHash (line 126) | async getCurrentCommitHash(): Promise { method createFileSnapshot (line 131) | async createFileSnapshot(message: string): Promise { method restoreProjectFromSnapshot (line 151) | async restoreProjectFromSnapshot(commitHash: string): Promise { FILE: packages/core/src/services/keychainService.test.ts type MockKeychain (line 24) | type MockKeychain = { FILE: packages/core/src/services/keychainService.ts constant FORCE_FILE_STORAGE_ENV_VAR (line 22) | const FORCE_FILE_STORAGE_ENV_VAR = 'GEMINI_FORCE_FILE_STORAGE'; class KeychainService (line 27) | class KeychainService { method constructor (line 34) | constructor(private readonly serviceName: string) {} method isAvailable (line 36) | async isAvailable(): Promise { method isUsingFileFallback (line 43) | async isUsingFileFallback(): Promise { method getPassword (line 52) | async getPassword(account: string): Promise { method setPassword (line 61) | async setPassword(account: string, value: string): Promise { method deletePassword (line 71) | async deletePassword(account: string): Promise { method findCredentials (line 80) | async findCredentials(): Promise< method getKeychainOrThrow (line 87) | private async getKeychainOrThrow(): Promise { method getKeychain (line 95) | private getKeychain(): Promise { method initializeKeychain (line 100) | private async initializeKeychain(): Promise { method getNativeKeychain (line 124) | private async getNativeKeychain(): Promise { method loadKeychainModule (line 154) | private async loadKeychainModule(): Promise { method isKeychainFunctional (line 173) | private async isKeychainFunctional(keychain: Keychain): Promise = { type LoopDetectionResult (line 123) | interface LoopDetectionResult { class LoopDetectionService (line 133) | class LoopDetectionService { method constructor (line 160) | constructor(context: AgentLoopContext) { method disableForSession (line 167) | disableForSession(): void { method getToolCallKey (line 175) | private getToolCallKey(toolCall: { name: string; args: object }): stri... method addAndCheck (line 186) | addAndCheck(event: ServerGeminiStreamEvent): LoopDetectionResult { method turnStarted (line 261) | async turnStarted(signal: AbortSignal): Promise { method checkToolCallLoop (line 314) | private checkToolCallLoop(toolCall: { name: string; args: object }): b... method checkContentLoop (line 339) | private checkContentLoop(content: string): boolean { method truncateAndUpdate (line 381) | private truncateAndUpdate(): void { method analyzeContentChunksForLoop (line 419) | private analyzeContentChunksForLoop(): boolean { method hasMoreChunksToProcess (line 439) | private hasMoreChunksToProcess(): boolean { method isLoopDetectedForChunk (line 456) | private isLoopDetectedForChunk(chunk: string, hash: string): boolean { method isActualContentMatch (line 511) | private isActualContentMatch( method trimRecentHistory (line 522) | private trimRecentHistory(history: Content[]): Content[] { method checkForLoopWithLLM (line 540) | private async checkForLoopWithLLM(signal: AbortSignal): Promise<{ method queryLoopDetectionModel (line 675) | private async queryLoopDetectionModel( method updateCheckInterval (line 710) | private updateCheckInterval(unproductive_state_confidence: number): vo... method reset (line 721) | reset(promptId: string, userPrompt?: string): void { method clearDetection (line 737) | clearDetection(): void { method resetToolCallCount (line 741) | private resetToolCallCount(): void { method resetContentTracking (line 746) | private resetContentTracking(resetHistory = true): void { method resetLlmCheckTracking (line 754) | private resetLlmCheckTracking(): void { FILE: packages/core/src/services/modelConfig.golden.test.ts constant GOLDEN_FILE_PATH (line 13) | const GOLDEN_FILE_PATH = path.resolve( constant RETRY_GOLDEN_FILE_PATH (line 21) | const RETRY_GOLDEN_FILE_PATH = path.resolve( FILE: packages/core/src/services/modelConfigService.ts type ModelConfigKey (line 12) | interface ModelConfigKey { type ModelConfig (line 36) | interface ModelConfig { type ModelConfigOverride (line 41) | interface ModelConfigOverride { type ModelConfigAlias (line 50) | interface ModelConfigAlias { type ModelDefinition (line 58) | interface ModelDefinition { type ModelResolution (line 78) | interface ModelResolution { type ResolutionContext (line 91) | interface ResolutionContext { type ResolutionCondition (line 99) | interface ResolutionCondition { type ModelConfigServiceConfig (line 107) | interface ModelConfigServiceConfig { constant MAX_ALIAS_CHAIN_DEPTH (line 118) | const MAX_ALIAS_CHAIN_DEPTH = 100; type ResolvedModelConfig (line 120) | type ResolvedModelConfig = _ResolvedModelConfig & { type _ResolvedModelConfig (line 124) | interface _ResolvedModelConfig { class ModelConfigService (line 129) | class ModelConfigService { method constructor (line 134) | constructor(private readonly config: ModelConfigServiceConfig) {} method getModelDefinition (line 136) | getModelDefinition(modelId: string): ModelDefinition | undefined { method getModelDefinitions (line 154) | getModelDefinitions(): Record { method matches (line 158) | private matches( method resolveModelId (line 185) | resolveModelId( method resolveClassifierModelId (line 204) | resolveClassifierModelId( method getModelChain (line 226) | getModelChain(chainName: string): ModelPolicy[] | undefined { method resolveChain (line 234) | resolveChain( method registerRuntimeModelConfig (line 249) | registerRuntimeModelConfig(aliasName: string, alias: ModelConfigAlias)... method registerRuntimeModelOverride (line 253) | registerRuntimeModelOverride(override: ModelConfigOverride): void { method internalGetResolvedConfig (line 280) | private internalGetResolvedConfig(context: ModelConfigKey): { method resolveAliasChain (line 334) | private resolveAliasChain( method buildModelLevelMap (line 407) | private buildModelLevelMap( method findMatchingOverrides (line 421) | private findMatchingOverrides( method sortOverrides (line 464) | private sortOverrides( method getResolvedConfig (line 478) | getResolvedConfig(context: ModelConfigKey): ResolvedModelConfig { method isObject (line 494) | static isObject(item: unknown): item is Record { method merge (line 503) | static merge(base: ModelConfig, override: ModelConfig): ModelConfig { method deepMerge (line 513) | static deepMerge( method genericDeepMerge (line 525) | private static genericDeepMerge( FILE: packages/core/src/services/sandboxManager.ts type SandboxRequest (line 16) | interface SandboxRequest { type SandboxedCommand (line 36) | interface SandboxedCommand { type SandboxManager (line 50) | interface SandboxManager { class NoopSandboxManager (line 61) | class NoopSandboxManager implements SandboxManager { method prepareCommand (line 66) | async prepareCommand(req: SandboxRequest): Promise { class LocalSandboxManager (line 84) | class LocalSandboxManager implements SandboxManager { method prepareCommand (line 85) | async prepareCommand(_req: SandboxRequest): Promise { FILE: packages/core/src/services/sandboxManagerFactory.ts function createSandboxManager (line 21) | function createSandboxManager( FILE: packages/core/src/services/sandboxedFileSystemService.test.ts class MockSandboxManager (line 30) | class MockSandboxManager implements SandboxManager { method prepareCommand (line 31) | async prepareCommand(req: SandboxRequest): Promise { FILE: packages/core/src/services/sandboxedFileSystemService.ts class SandboxedFileSystemService (line 16) | class SandboxedFileSystemService implements FileSystemService { method constructor (line 17) | constructor( method readTextFile (line 22) | async readTextFile(filePath: string): Promise { method writeTextFile (line 71) | async writeTextFile(filePath: string, content: string): Promise { FILE: packages/core/src/services/scripts/GeminiSandbox.cs class GeminiSandbox (line 14) | public class GeminiSandbox { type STARTUPINFO (line 15) | [StructLayout(LayoutKind.Sequential)] type PROCESS_INFORMATION (line 37) | [StructLayout(LayoutKind.Sequential)] type JOBOBJECT_BASIC_LIMIT_INFORMATION (line 45) | [StructLayout(LayoutKind.Sequential)] type IO_COUNTERS (line 58) | [StructLayout(LayoutKind.Sequential)] type JOBOBJECT_EXTENDED_LIMIT_INFORMATION (line 68) | [StructLayout(LayoutKind.Sequential)] type SID_AND_ATTRIBUTES (line 78) | [StructLayout(LayoutKind.Sequential)] type TOKEN_MANDATORY_LABEL (line 84) | [StructLayout(LayoutKind.Sequential)] type JobObjectInfoClass (line 89) | public enum JobObjectInfoClass { method GetCurrentProcess (line 93) | [DllImport("kernel32.dll", SetLastError = true)] method OpenProcessToken (line 96) | [DllImport("advapi32.dll", SetLastError = true)] method CreateRestrictedToken (line 99) | [DllImport("advapi32.dll", SetLastError = true)] method CreateProcessAsUser (line 102) | [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unic... method CreateJobObject (line 105) | [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unic... method SetInformationJobObject (line 108) | [DllImport("kernel32.dll", SetLastError = true)] method AssignProcessToJobObject (line 111) | [DllImport("kernel32.dll", SetLastError = true)] method ResumeThread (line 114) | [DllImport("kernel32.dll", SetLastError = true)] method WaitForSingleObject (line 117) | [DllImport("kernel32.dll", SetLastError = true)] method GetExitCodeProcess (line 120) | [DllImport("kernel32.dll", SetLastError = true)] method CloseHandle (line 123) | [DllImport("kernel32.dll", SetLastError = true)] method GetStdHandle (line 126) | [DllImport("kernel32.dll", SetLastError = true)] method ConvertStringSidToSid (line 129) | [DllImport("advapi32.dll", SetLastError = true, CharSet = CharSet.Unic... method SetTokenInformation (line 132) | [DllImport("advapi32.dll", SetLastError = true)] method LocalFree (line 135) | [DllImport("kernel32.dll", SetLastError = true)] method Main (line 151) | static int Main(string[] args) { method QuoteArgument (line 331) | private static string QuoteArgument(string arg) { method RunInImpersonation (line 365) | private static int RunInImpersonation(IntPtr hToken, Func action) { FILE: packages/core/src/services/sessionSummaryService.ts constant DEFAULT_MAX_MESSAGES (line 15) | const DEFAULT_MAX_MESSAGES = 20; constant DEFAULT_TIMEOUT_MS (line 16) | const DEFAULT_TIMEOUT_MS = 5000; constant MAX_MESSAGE_LENGTH (line 17) | const MAX_MESSAGE_LENGTH = 500; constant SUMMARY_PROMPT (line 19) | const SUMMARY_PROMPT = `Summarize the user's primary intent or goal in t... type GenerateSummaryOptions (line 37) | interface GenerateSummaryOptions { class SessionSummaryService (line 47) | class SessionSummaryService { method constructor (line 48) | constructor(private readonly baseLlmClient: BaseLlmClient) {} method generateSummary (line 54) | async generateSummary( FILE: packages/core/src/services/sessionSummaryUtils.test.ts function createSessionWithUserMessages (line 31) | function createSessionWithUserMessages( FILE: packages/core/src/services/sessionSummaryUtils.ts constant MIN_MESSAGES_FOR_SUMMARY (line 18) | const MIN_MESSAGES_FOR_SUMMARY = 1; function generateAndSaveSummary (line 23) | async function generateAndSaveSummary( function getPreviousSession (line 97) | async function getPreviousSession( function generateSummary (line 170) | async function generateSummary(config: Config): Promise { FILE: packages/core/src/services/shellExecutionService.test.ts method pid (line 1122) | get pid(): number { FILE: packages/core/src/services/shellExecutionService.ts constant MAX_CHILD_PROCESS_BUFFER_SIZE (line 45) | const MAX_CHILD_PROCESS_BUFFER_SIZE = 16 * 1024 * 1024; constant GEMINI_CLI_IDENTIFICATION_ENV_VAR (line 52) | const GEMINI_CLI_IDENTIFICATION_ENV_VAR = 'GEMINI_CLI'; constant GEMINI_CLI_IDENTIFICATION_ENV_VAR_VALUE (line 57) | const GEMINI_CLI_IDENTIFICATION_ENV_VAR_VALUE = '1'; constant SCROLLBACK_LIMIT (line 62) | const SCROLLBACK_LIMIT = 300000; constant BASH_SHOPT_OPTIONS (line 64) | const BASH_SHOPT_OPTIONS = 'promptvars nullglob extglob nocaseglob dotgl... constant BASH_SHOPT_GUARD (line 65) | const BASH_SHOPT_GUARD = `shopt -u ${BASH_SHOPT_OPTIONS};`; function ensurePromptvarsDisabled (line 67) | function ensurePromptvarsDisabled(command: string, shell: ShellType): st... type ShellExecutionResult (line 81) | type ShellExecutionResult = ExecutionResult; type ShellExecutionHandle (line 84) | type ShellExecutionHandle = ExecutionHandle; type ShellExecutionConfig (line 86) | interface ShellExecutionConfig { type ShellOutputEvent (line 105) | type ShellOutputEvent = ExecutionOutputEvent; type ActivePty (line 107) | interface ActivePty { type ActiveChildProcess (line 113) | interface ActiveChildProcess { class ShellExecutionService (line 226) | class ShellExecutionService { method getLogDir (line 232) | static getLogDir(): string { method getLogFilePath (line 236) | static getLogFilePath(pid: number): string { method syncBackgroundLog (line 240) | private static syncBackgroundLog(pid: number, content: string): void { method cleanupLogStream (line 250) | private static async cleanupLogStream(pid: number): Promise { method execute (line 272) | static async execute( method appendAndTruncate (line 308) | private static appendAndTruncate( method prepareExecution (line 338) | private static async prepareExecution( method childProcessFallback (line 455) | private static async childProcessFallback( method executeWithPty (line 754) | private static async executeWithPty( method writeToPty (line 1165) | static writeToPty(pid: number, input: string): void { method isPtyActive (line 1169) | static isPtyActive(pid: number): boolean { method onExit (line 1181) | static onExit( method kill (line 1193) | static async kill(pid: number): Promise { method background (line 1206) | static background(pid: number): void { method subscribe (line 1238) | static subscribe( method resizePty (line 1252) | static resizePty(pid: number, cols: number, rows: number): void { method scrollPty (line 1305) | static scrollPty(pid: number, lines: number): void { FILE: packages/core/src/services/toolOutputMaskingService.ts constant DEFAULT_TOOL_PROTECTION_THRESHOLD (line 26) | const DEFAULT_TOOL_PROTECTION_THRESHOLD = 50000; constant DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD (line 27) | const DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD = 30000; constant DEFAULT_PROTECT_LATEST_TURN (line 28) | const DEFAULT_PROTECT_LATEST_TURN = true; constant MASKING_INDICATOR_TAG (line 29) | const MASKING_INDICATOR_TAG = 'tool_output_masked'; constant TOOL_OUTPUTS_DIR (line 31) | const TOOL_OUTPUTS_DIR = 'tool-outputs'; constant EXEMPT_TOOLS (line 37) | const EXEMPT_TOOLS = new Set([ type MaskingResult (line 45) | interface MaskingResult { class ToolOutputMaskingService (line 69) | class ToolOutputMaskingService { method mask (line 70) | async mask( method getToolOutputContent (line 273) | private getToolOutputContent(part: Part): string | null { method isAlreadyMasked (line 289) | private isAlreadyMasked(content: string): boolean { method formatShellPreview (line 293) | private formatShellPreview(response: Record): string { method formatSimplePreview (line 351) | private formatSimplePreview(content: string): string { method formatMaskedSnippet (line 361) | private formatMaskedSnippet(params: MaskedSnippetParams): string { type MaskedSnippetParams (line 371) | interface MaskedSnippetParams { FILE: packages/core/src/services/trackerService.ts class TrackerService (line 19) | class TrackerService { method constructor (line 24) | constructor(readonly trackerDir: string) { method ensureInitialized (line 28) | private async ensureInitialized(): Promise { method generateId (line 38) | private generateId(): string { method createTask (line 45) | async createTask(taskData: Omit): Promise( method getTask (line 102) | async getTask(id: string): Promise { method listTasks (line 111) | async listTasks(): Promise { method updateTask (line 139) | async updateTask( method saveTask (line 180) | private async saveTask(task: TrackerTask): Promise { method validateCanClose (line 188) | private async validateCanClose(task: TrackerTask): Promise { method validateNoCircularDependencies (line 205) | private async validateNoCircularDependencies( FILE: packages/core/src/services/trackerTypes.ts type TaskType (line 9) | enum TaskType { constant TASK_TYPE_LABELS (line 16) | const TASK_TYPE_LABELS: Record = { type TaskStatus (line 22) | enum TaskStatus { type TrackerTask (line 42) | type TrackerTask = z.infer; FILE: packages/core/src/services/windowsSandboxManager.ts class WindowsSandboxManager (line 30) | class WindowsSandboxManager implements SandboxManager { method constructor (line 36) | constructor(platform: string = process.platform) { method ensureInitialized (line 41) | private async ensureInitialized(): Promise { method prepareCommand (line 145) | async prepareCommand(req: SandboxRequest): Promise { method grantLowIntegrityAccess (line 193) | private async grantLowIntegrityAccess(targetPath: string): Promise { method addSkills (line 113) | addSkills(skills: SkillDefinition[]): void { method addSkillsWithPrecedence (line 117) | private addSkillsWithPrecedence(newSkills: SkillDefinition[]): void { method getSkills (line 145) | getSkills(): SkillDefinition[] { method getDisplayableSkills (line 153) | getDisplayableSkills(): SkillDefinition[] { method getAllSkills (line 160) | getAllSkills(): SkillDefinition[] { method filterSkills (line 167) | filterSkills(predicate: (skill: SkillDefinition) => boolean): void { method setDisabledSkills (line 174) | setDisabledSkills(disabledNames: string[]): void { method getSkill (line 186) | getSkill(name: string): SkillDefinition | null { method activateSkill (line 196) | activateSkill(name: string): void { method isSkillActive (line 203) | isSkillActive(name: string): boolean { FILE: packages/core/src/telemetry/activity-detector.ts class ActivityDetector (line 10) | class ActivityDetector { method constructor (line 14) | constructor(idleThresholdMs: number = 30000) { method recordActivity (line 21) | recordActivity(): void { method isUserActive (line 28) | isUserActive(): boolean { method getTimeSinceLastActivity (line 36) | getTimeSinceLastActivity(): number { method getLastActivityTime (line 43) | getLastActivityTime(): number { function getActivityDetector (line 54) | function getActivityDetector(): ActivityDetector { function recordUserActivity (line 61) | function recordUserActivity(): void { function isUserActive (line 68) | function isUserActive(): boolean { FILE: packages/core/src/telemetry/activity-monitor.ts type ActivityEvent (line 16) | interface ActivityEvent { type ActivityMonitorConfig (line 26) | interface ActivityMonitorConfig { type ActivityListener (line 40) | type ActivityListener = (event: ActivityEvent) => void; constant DEFAULT_ACTIVITY_CONFIG (line 45) | const DEFAULT_ACTIVITY_CONFIG: ActivityMonitorConfig = { class ActivityMonitor (line 60) | class ActivityMonitor { method constructor (line 68) | constructor(config: ActivityMonitorConfig = DEFAULT_ACTIVITY_CONFIG) { method start (line 75) | start(coreConfig: Config): void { method stop (line 98) | stop(): void { method addListener (line 114) | addListener(listener: ActivityListener): void { method removeListener (line 121) | removeListener(listener: ActivityListener): void { method recordActivity (line 128) | recordActivity( method getRecentActivity (line 164) | getRecentActivity(limit?: number): ActivityEvent[] { method getActivityStats (line 172) | getActivityStats(): { method updateConfig (line 198) | updateConfig(newConfig: Partial): void { method handleMemoryMonitoringActivity (line 205) | private handleMemoryMonitoringActivity( method isMonitoringActive (line 236) | isMonitoringActive(): boolean { function initializeActivityMonitor (line 247) | function initializeActivityMonitor( function getActivityMonitor (line 259) | function getActivityMonitor(): ActivityMonitor | null { function recordGlobalActivity (line 266) | function recordGlobalActivity( function startGlobalActivityMonitoring (line 279) | function startGlobalActivityMonitoring( function stopGlobalActivityMonitoring (line 290) | function stopGlobalActivityMonitoring(): void { FILE: packages/core/src/telemetry/activity-types.ts type ActivityType (line 10) | enum ActivityType { FILE: packages/core/src/telemetry/billingEvents.ts type OverageOption (line 14) | type OverageOption = constant EVENT_OVERAGE_MENU_SHOWN (line 25) | const EVENT_OVERAGE_MENU_SHOWN = 'gemini_cli.overage_menu_shown'; class OverageMenuShownEvent (line 27) | class OverageMenuShownEvent implements BaseTelemetryEvent { method constructor (line 34) | constructor( method toOpenTelemetryAttributes (line 46) | toOpenTelemetryAttributes(config: Config): LogAttributes { method toLogBody (line 57) | toLogBody(): string { constant EVENT_OVERAGE_OPTION_SELECTED (line 66) | const EVENT_OVERAGE_OPTION_SELECTED = class OverageOptionSelectedEvent (line 69) | class OverageOptionSelectedEvent implements BaseTelemetryEvent { method constructor (line 76) | constructor( method toOpenTelemetryAttributes (line 88) | toOpenTelemetryAttributes(config: Config): LogAttributes { method toLogBody (line 99) | toLogBody(): string { constant EVENT_EMPTY_WALLET_MENU_SHOWN (line 108) | const EVENT_EMPTY_WALLET_MENU_SHOWN = class EmptyWalletMenuShownEvent (line 111) | class EmptyWalletMenuShownEvent implements BaseTelemetryEvent { method constructor (line 116) | constructor(model: string) { method toOpenTelemetryAttributes (line 122) | toOpenTelemetryAttributes(config: Config): LogAttributes { method toLogBody (line 131) | toLogBody(): string { constant EVENT_CREDIT_PURCHASE_CLICK (line 140) | const EVENT_CREDIT_PURCHASE_CLICK = 'gemini_cli.credit_purchase_click'; class CreditPurchaseClickEvent (line 142) | class CreditPurchaseClickEvent implements BaseTelemetryEvent { method constructor (line 148) | constructor( method toOpenTelemetryAttributes (line 158) | toOpenTelemetryAttributes(config: Config): LogAttributes { method toLogBody (line 168) | toLogBody(): string { constant EVENT_CREDITS_USED (line 177) | const EVENT_CREDITS_USED = 'gemini_cli.credits_used'; class CreditsUsedEvent (line 179) | class CreditsUsedEvent implements BaseTelemetryEvent { method constructor (line 186) | constructor( method toOpenTelemetryAttributes (line 198) | toOpenTelemetryAttributes(config: Config): LogAttributes { method toLogBody (line 209) | toLogBody(): string { constant EVENT_API_KEY_UPDATED (line 218) | const EVENT_API_KEY_UPDATED = 'gemini_cli.api_key_updated'; class ApiKeyUpdatedEvent (line 220) | class ApiKeyUpdatedEvent implements BaseTelemetryEvent { method constructor (line 226) | constructor(previousAuthType: string, newAuthType: string) { method toOpenTelemetryAttributes (line 233) | toOpenTelemetryAttributes(config: Config): LogAttributes { method toLogBody (line 243) | toLogBody(): string { type BillingTelemetryEvent (line 249) | type BillingTelemetryEvent = FILE: packages/core/src/telemetry/clearcut-logger/clearcut-logger.test.ts type CustomMatchers (line 61) | interface CustomMatchers { type Matchers (line 70) | interface Matchers extends CustomMatchers {} method toHaveEventName (line 74) | toHaveEventName(received: LogEventEntry[], name: EventNames) { method toHaveMetadataValue (line 85) | toHaveMetadataValue( method toHaveMetadataKey (line 101) | toHaveMetadataKey(received: LogEventEntry[], key: EventMetadataKey) { method toHaveGwsExperiments (line 115) | toHaveGwsExperiments(received: LogEventEntry[], exps: number[]) { function setup (line 209) | function setup({ type SurfaceDetectionTestCase (line 479) | type SurfaceDetectionTestCase = { FILE: packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts type EventNames (line 80) | enum EventNames { type LogResponse (line 136) | interface LogResponse { type LogEventEntry (line 140) | interface LogEventEntry { type EventValue (line 148) | interface EventValue { type LogEvent (line 153) | interface LogEvent { type LogRequest (line 162) | interface LogRequest { function determineSurface (line 177) | function determineSurface(): string { function determineGHWorkflowName (line 194) | function determineGHWorkflowName(): string | undefined { function determineGHRepositoryName (line 201) | function determineGHRepositoryName(): string | undefined { function determineGHEventName (line 208) | function determineGHEventName(): string | undefined { function determineGHPRNumber (line 215) | function determineGHPRNumber(): string | undefined { function determineGHIssueNumber (line 222) | function determineGHIssueNumber(): string | undefined { function determineGHCustomTrackingId (line 229) | function determineGHCustomTrackingId(): string | undefined { constant CLEARCUT_URL (line 236) | const CLEARCUT_URL = 'https://play.googleapis.com/log?format=json&hasfas... constant FLUSH_INTERVAL_MS (line 241) | const FLUSH_INTERVAL_MS = 1000 * 60; constant MAX_EVENTS (line 248) | const MAX_EVENTS = 1000; constant MAX_RETRY_EVENTS (line 253) | const MAX_RETRY_EVENTS = 100; constant NO_GPU (line 255) | const NO_GPU = 'NA'; function refreshGpuInfo (line 259) | async function refreshGpuInfo(): Promise { function getGpuInfo (line 276) | async function getGpuInfo(): Promise { class ClearcutLogger (line 286) | class ClearcutLogger { method constructor (line 317) | private constructor(config: Config) { method getInstance (line 332) | static getInstance(config?: Config): ClearcutLogger | undefined { method clearInstance (line 342) | static clearInstance(): void { method enqueueHelper (line 347) | enqueueHelper(event: LogEvent, experimentIds?: number[]): void { method enqueueLogEvent (line 375) | enqueueLogEvent(event: LogEvent): void { method enqueueLogEventAfterExperimentsLoadAsync (line 385) | async enqueueLogEventAfterExperimentsLoadAsync( method createBasicLogEvent (line 408) | createBasicLogEvent( method createLogEvent (line 498) | createLogEvent(eventName: EventNames, data: EventValue[] = []): LogEve... method flushIfNeeded (line 509) | flushIfNeeded(): void { method flushToClearcut (line 519) | async flushToClearcut(): Promise { method logStartSessionEvent (line 602) | async logStartSessionEvent(event: StartSessionEvent): Promise { method logNewPromptEvent (line 730) | logNewPromptEvent(event: UserPromptEvent): void { method logToolCallEvent (line 743) | logToolCallEvent(event: ToolCallEvent): void { method logFileOperationEvent (line 836) | logFileOperationEvent(event: FileOperationEvent): void { method logApiRequestEvent (line 872) | logApiRequestEvent(event: ApiRequestEvent): void { method logApiResponseEvent (line 884) | logApiResponseEvent(event: ApiResponseEvent): void { method logApiErrorEvent (line 963) | logApiErrorEvent(event: ApiErrorEvent): void { method logChatCompressionEvent (line 987) | logChatCompressionEvent(event: ChatCompressionEvent): void { method logFlashFallbackEvent (line 1004) | logFlashFallbackEvent(): void { method logRipgrepFallbackEvent (line 1011) | logRipgrepFallbackEvent(): void { method logLoopDetectedEvent (line 1018) | logLoopDetectedEvent(event: LoopDetectedEvent): void { method logLoopDetectionDisabledEvent (line 1038) | logLoopDetectionDisabledEvent(): void { method logNextSpeakerCheck (line 1047) | logNextSpeakerCheck(event: NextSpeakerCheckEvent): void { method logSlashCommandEvent (line 1065) | logSlashCommandEvent(event: SlashCommandEvent): void { method logRewindEvent (line 1098) | logRewindEvent(event: RewindEvent): void { method logMalformedJsonResponseEvent (line 1110) | logMalformedJsonResponseEvent(event: MalformedJsonResponseEvent): void { method logIdeConnectionEvent (line 1125) | logIdeConnectionEvent(event: IdeConnectionEvent): void { method logConversationFinishedEvent (line 1144) | logConversationFinishedEvent(event: ConversationFinishedEvent): void { method logEndSessionEvent (line 1166) | logEndSessionEvent(): void { method logInvalidChunkEvent (line 1174) | logInvalidChunkEvent(event: InvalidChunkEvent): void { method logContentRetryEvent (line 1188) | logContentRetryEvent(event: ContentRetryEvent): void { method logContentRetryFailureEvent (line 1213) | logContentRetryFailureEvent(event: ContentRetryFailureEvent): void { method logNetworkRetryAttemptEvent (line 1245) | logNetworkRetryAttemptEvent(event: NetworkRetryAttemptEvent): void { method logExtensionInstallEvent (line 1271) | async logExtensionInstallEvent(event: ExtensionInstallEvent): Promise<... method logExtensionUninstallEvent (line 1303) | async logExtensionUninstallEvent( method logExtensionUpdateEvent (line 1329) | async logExtensionUpdateEvent(event: ExtensionUpdateEvent): Promise { class FileSpanExporter (line 39) | class FileSpanExporter extends FileExporter implements SpanExporter { method export (line 40) | export( class FileLogExporter (line 54) | class FileLogExporter extends FileExporter implements LogRecordExporter { method export (line 55) | export( class FileMetricExporter (line 69) | class FileMetricExporter method export (line 73) | export( method getPreferredAggregationTemporality (line 86) | getPreferredAggregationTemporality(): AggregationTemporality { method forceFlush (line 90) | async forceFlush(): Promise { FILE: packages/core/src/telemetry/gcp-exporters.ts class GcpTraceExporter (line 24) | class GcpTraceExporter extends TraceExporter { method constructor (line 25) | constructor(projectId?: string, credentials?: JWTInput) { class GcpMetricExporter (line 37) | class GcpMetricExporter extends MetricExporter { method constructor (line 38) | constructor(projectId?: string, credentials?: JWTInput) { class GcpLogExporter (line 50) | class GcpLogExporter implements LogRecordExporter { method constructor (line 55) | constructor(projectId?: string, credentials?: JWTInput) { method export (line 60) | export( method forceFlush (line 114) | async forceFlush(): Promise { method shutdown (line 120) | async shutdown(): Promise { method mapSeverityToCloudLogging (line 125) | private mapSeverityToCloudLogging(severityNumber?: number): string { FILE: packages/core/src/telemetry/index.ts type TelemetryTarget (line 7) | enum TelemetryTarget { constant DEFAULT_TELEMETRY_TARGET (line 12) | const DEFAULT_TELEMETRY_TARGET = TelemetryTarget.LOCAL; constant DEFAULT_OTLP_ENDPOINT (line 13) | const DEFAULT_OTLP_ENDPOINT = 'http://localhost:4317'; FILE: packages/core/src/telemetry/loggers.ts function logCliConfiguration (line 95) | function logCliConfiguration( function logUserPrompt (line 118) | function logUserPrompt(config: Config, event: UserPromptEvent): void { function logToolCall (line 131) | function logToolCall(config: Config, event: ToolCallEvent): void { function logToolOutputTruncated (line 173) | function logToolOutputTruncated( function logToolOutputMasking (line 188) | function logToolOutputMasking( function logFileOperation (line 203) | function logFileOperation( function logApiRequest (line 226) | function logApiRequest(config: Config, event: ApiRequestEvent): void { function logFlashFallback (line 235) | function logFlashFallback( function logRipgrepFallback (line 250) | function logRipgrepFallback( function logApiError (line 265) | function logApiError(config: Config, event: ApiErrorEvent): void { function logApiResponse (line 297) | function logApiResponse(config: Config, event: ApiResponseEvent): void { function logLoopDetected (line 337) | function logLoopDetected( function logLoopDetectionDisabled (line 352) | function logLoopDetectionDisabled( function logNextSpeakerCheck (line 367) | function logNextSpeakerCheck( function logSlashCommand (line 382) | function logSlashCommand( function logRewind (line 397) | function logRewind(config: Config, event: RewindEvent): void { function logIdeConnection (line 416) | function logIdeConnection( function logConversationFinishedEvent (line 431) | function logConversationFinishedEvent( function logChatCompression (line 446) | function logChatCompression( function logMalformedJsonResponse (line 465) | function logMalformedJsonResponse( function logInvalidChunk (line 480) | function logInvalidChunk( function logNetworkRetryAttempt (line 496) | function logNetworkRetryAttempt( function logContentRetry (line 515) | function logContentRetry( function logContentRetryFailure (line 531) | function logContentRetryFailure( function logModelRouting (line 547) | function logModelRouting( function logModelSlashCommand (line 563) | function logModelSlashCommand( function logExtensionInstallEvent (line 579) | async function logExtensionInstallEvent( function logExtensionUninstall (line 594) | async function logExtensionUninstall( function logExtensionUpdateEvent (line 609) | async function logExtensionUpdateEvent( function logExtensionEnable (line 624) | async function logExtensionEnable( function logExtensionDisable (line 639) | async function logExtensionDisable( function logEditStrategy (line 654) | function logEditStrategy( function logEditCorrectionEvent (line 669) | function logEditCorrectionEvent( function logAgentStart (line 684) | function logAgentStart(config: Config, event: AgentStartEvent): void { function logAgentFinish (line 696) | function logAgentFinish(config: Config, event: AgentFinishEvent): void { function logRecoveryAttempt (line 710) | function logRecoveryAttempt( function logWebFetchFallbackAttempt (line 727) | function logWebFetchFallbackAttempt( function logLlmLoopCheck (line 742) | function logLlmLoopCheck( function logApprovalModeSwitch (line 757) | function logApprovalModeSwitch( function logApprovalModeDuration (line 770) | function logApprovalModeDuration( function logPlanExecution (line 783) | function logPlanExecution(config: Config, event: PlanExecutionEvent) { function logHookCall (line 797) | function logHookCall(config: Config, event: HookCallEvent): void { function logStartupStats (line 817) | function logStartupStats( function logKeychainAvailability (line 840) | function logKeychainAvailability( function logTokenStorageInitialization (line 857) | function logTokenStorageInitialization( function logBillingEvent (line 874) | function logBillingEvent( FILE: packages/core/src/telemetry/memory-monitor.ts type MemorySnapshot (line 20) | interface MemorySnapshot { type ProcessMetrics (line 30) | interface ProcessMetrics { class MemoryMonitor (line 36) | class MemoryMonitor { method constructor (line 49) | constructor() { method start (line 58) | start(config: Config, intervalMs: number = 10000): void { method checkAndRecordIfNeeded (line 78) | private checkAndRecordIfNeeded(config: Config): void { method performPeriodicCleanup (line 125) | private performPeriodicCleanup(): void { method stop (line 142) | stop(config?: Config): void { method takeSnapshot (line 162) | takeSnapshot(context: string, config: Config): MemorySnapshot { method takeSnapshotWithoutRecording (line 203) | private takeSnapshotWithoutRecording( method getCurrentMemoryUsage (line 234) | getCurrentMemoryUsage(): MemorySnapshot { method getMemoryGrowth (line 252) | getMemoryGrowth(): Partial | null { method getHeapStatistics (line 270) | getHeapStatistics(): v8.HeapInfo { method getHeapSpaceStatistics (line 277) | getHeapSpaceStatistics(): v8.HeapSpaceInfo[] { method getProcessMetrics (line 284) | getProcessMetrics(): ProcessMetrics { method recordComponentMemoryUsage (line 295) | recordComponentMemoryUsage( method checkMemoryThreshold (line 310) | checkMemoryThreshold(thresholdMB: number): boolean { method getMemoryUsageSummary (line 319) | getMemoryUsageSummary(): { method setEnhancedMonitoring (line 339) | setEnhancedMonitoring(enabled: boolean): void { method getHighWaterMarkStats (line 346) | getHighWaterMarkStats(): Record { method getRateLimitingStats (line 353) | getRateLimitingStats(): { method forceRecordMemory (line 365) | forceRecordMemory( method resetHighWaterMarks (line 376) | resetHighWaterMarks(): void { method destroy (line 383) | destroy(): void { function initializeMemoryMonitor (line 396) | function initializeMemoryMonitor(): MemoryMonitor { function getMemoryMonitor (line 406) | function getMemoryMonitor(): MemoryMonitor | null { function recordCurrentMemoryUsage (line 413) | function recordCurrentMemoryUsage( function startGlobalMemoryMonitoring (line 424) | function startGlobalMemoryMonitoring( function stopGlobalMemoryMonitoring (line 435) | function stopGlobalMemoryMonitoring(config?: Config): void { function _resetGlobalMemoryMonitorForTests (line 444) | function _resetGlobalMemoryMonitorForTests(): void { FILE: packages/core/src/telemetry/sanitize.test.ts function createMockConfig (line 26) | function createMockConfig(logPromptsEnabled: boolean): Config { FILE: packages/core/src/telemetry/sanitize.ts function sanitizeHookName (line 26) | function sanitizeHookName(hookName: string): string {