SYMBOL INDEX (8298 symbols across 1077 files) FILE: docs-site/mdx-components.js function useMDXComponents (line 7) | function useMDXComponents(components) { FILE: docs-site/src/app/[[...mdxPath]]/page.jsx function generateMetadata (line 6) | async function generateMetadata(props) { function Page (line 14) | async function Page(props) { FILE: docs-site/src/app/layout.jsx function RootLayout (line 22) | async function RootLayout({ children }) { FILE: eslint-rules/no-relative-cross-package-imports.js function findPackageName (line 33) | function findPackageName(filePath, root) { method create (line 83) | create(context) { FILE: integration-tests/acp-integration.test.ts constant REQUEST_TIMEOUT_MS (line 14) | const REQUEST_TIMEOUT_MS = 60_000; constant INITIAL_PROMPT (line 15) | const INITIAL_PROMPT = 'Create a quick note (smoke test).'; constant IS_SANDBOX (line 16) | const IS_SANDBOX = type PendingRequest (line 20) | type PendingRequest = { type UsageMetadata (line 26) | type UsageMetadata = { type SessionUpdateNotification (line 34) | type SessionUpdateNotification = { type PermissionRequest (line 55) | type PermissionRequest = { type PermissionHandler (line 78) | type PermissionHandler = ( function setupAcpTest (line 86) | function setupAcpTest( FILE: integration-tests/concurrent-runner/export-html-from-chatrecord-jsonl.js constant FAVICON_SVG (line 13) | const FAVICON_SVG = constant HTML_TEMPLATE (line 16) | const HTML_TEMPLATE = ` function escapeJsonForHtml (line 370) | function escapeJsonForHtml(json) { function injectDataIntoHtmlTemplate (line 377) | function injectDataIntoHtmlTemplate(template, data) { function toHtml (line 386) | function toHtml(sessionData) { function printUsage (line 390) | function printUsage(exitCode) { function parseArgs (line 405) | function parseArgs(argv) { function safeJsonParse (line 429) | function safeJsonParse(line) { function readJsonlObjects (line 440) | async function readJsonlObjects(inputPath) { function looksLikeChatRecord (line 462) | function looksLikeChatRecord(obj) { function looksLikeExportJsonl (line 476) | function looksLikeExportJsonl(objects) { function computeStartTimeFromRecords (line 488) | function computeStartTimeFromRecords(records) { function extractToolNameFromRecord (line 500) | function extractToolNameFromRecord(record) { constant TOOL_NAME_MIGRATION (line 514) | const TOOL_NAME_MIGRATION = { constant TOOL_DISPLAY_NAME_BY_NAME (line 519) | const TOOL_DISPLAY_NAME_BY_NAME = { constant TOOL_KIND_BY_NAME (line 537) | const TOOL_KIND_BY_NAME = { function normalizeToolName (line 561) | function normalizeToolName(toolName) { function resolveToolKind (line 566) | function resolveToolKind(toolName) { function resolveToolTitle (line 571) | function resolveToolTitle(toolName) { function normalizeRawInput (line 578) | function normalizeRawInput(value) { function extractLocations (line 592) | function extractLocations(rawInput, toolCallResult) { function extractDiffContent (line 628) | function extractDiffContent(resultDisplay) { function transformPartsToToolCallContent (line 644) | function transformPartsToToolCallContent(parts) { function mergeToolCallData (line 681) | function mergeToolCallData(existing, incoming) { function convertChatRecordsToSessionData (line 708) | function convertChatRecordsToSessionData(records) { function buildSessionDataFromExportJsonl (line 915) | function buildSessionDataFromExportJsonl(objects) { function defaultOutPathForInput (line 923) | function defaultOutPathForInput(inputPath) { function main (line 931) | async function main() { FILE: integration-tests/concurrent-runner/runner.py class RunStatus (line 35) | class RunStatus(Enum): class Task (line 46) | class Task: class ModelSpec (line 54) | class ModelSpec: class RunConfig (line 61) | class RunConfig: class PromptResult (line 76) | class PromptResult: class RunRecord (line 87) | class RunRecord: method to_dict (line 108) | def to_dict(self) -> Dict[str, Any]: method from_dict (line 141) | def from_dict(cls, data: Dict[str, Any]) -> RunRecord: class ExecutionState (line 164) | class ExecutionState: class GitWorktreeManager (line 173) | class GitWorktreeManager: method __init__ (line 176) | def __init__(self, console: Console, source_repo: Path): method ensure_git_repo (line 180) | async def ensure_git_repo(self) -> None: method create (line 208) | async def create(self, source_repo: Path, worktree_dir: Path, branch: ... method remove (line 231) | async def remove(self, worktree_dir: Path) -> None: method get_diff (line 249) | async def get_diff(self, worktree_dir: Path) -> str: method collect_session_log (line 265) | async def collect_session_log(self, worktree_dir: Path, output_dir: Pa... method _run_command (line 351) | async def _run_command( class StatusTracker (line 381) | class StatusTracker: method __init__ (line 384) | def __init__(self, results_file: Path, console: Console): method initialize (line 390) | async def initialize(self, runs: List[RunRecord]) -> None: method update_status (line 397) | async def update_status( method _persist (line 413) | async def _persist(self) -> None: method _generate_html (line 430) | async def _generate_html(self, data: Dict[str, Any]) -> None: method get_state (line 573) | def get_state(self) -> ExecutionState: method get_active_runs (line 588) | def get_active_runs(self) -> List[RunRecord]: class ProgressDisplay (line 594) | class ProgressDisplay: method __init__ (line 597) | def __init__(self, console: Console): method start (line 601) | def start(self) -> None: method stop (line 606) | def stop(self) -> None: method update (line 611) | def update(self, state: ExecutionState) -> None: method show_final_summary (line 701) | def show_final_summary(self, state: ExecutionState) -> None: class QwenRunner (line 715) | class QwenRunner: method __init__ (line 718) | def __init__(self, config: RunConfig, console: Console): method run (line 722) | async def run( method _build_command (line 812) | def _build_command(self, run: RunRecord, prompt_text: str, use_continu... function generate_run_matrix (line 841) | def generate_run_matrix(config: RunConfig) -> List[RunRecord]: function _parse_models (line 857) | def _parse_models(data_models: List[Any]) -> List[ModelSpec]: function load_config (line 872) | def load_config(config_path: Path) -> RunConfig: function execute_single_run (line 892) | async def execute_single_run( function run_all (line 984) | async def run_all(config: RunConfig, console: Console) -> ExecutionState: function main (line 1047) | def main(): FILE: integration-tests/globalSetup.ts function setup (line 42) | async function setup() { function teardown (line 115) | async function teardown() { FILE: integration-tests/sdk-typescript/abort-and-lifecycle.test.ts constant SHARED_TEST_OPTIONS (line 24) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); FILE: integration-tests/sdk-typescript/configuration-options.test.ts constant SHARED_TEST_OPTIONS (line 28) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); FILE: integration-tests/sdk-typescript/mcp-server.test.ts constant SHARED_TEST_OPTIONS (line 33) | const SHARED_TEST_OPTIONS = { constant MCP_ADD_TOOL (line 39) | const MCP_ADD_TOOL = 'mcp__test-math-server__add'; constant MCP_MULTIPLY_TOOL (line 40) | const MCP_MULTIPLY_TOOL = 'mcp__test-math-server__multiply'; FILE: integration-tests/sdk-typescript/message-event-pairing.test.ts constant SHARED_TEST_OPTIONS (line 16) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); FILE: integration-tests/sdk-typescript/multi-turn.test.ts constant SHARED_TEST_OPTIONS (line 31) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); function getMessageType (line 36) | function getMessageType(message: SDKMessage | ControlMessage): string { function extractText (line 61) | function extractText(content: ContentBlock[]): string { FILE: integration-tests/sdk-typescript/permission-control.test.ts constant TEST_TIMEOUT (line 37) | const TEST_TIMEOUT = 30000; constant SHARED_TEST_OPTIONS (line 38) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); function createStreamingInputWithControlPoint (line 45) | function createStreamingInputWithControlPoint( FILE: integration-tests/sdk-typescript/sdk-mcp-server.test.ts constant SHARED_TEST_OPTIONS (line 33) | const SHARED_TEST_OPTIONS = { constant MCP_CALCULATE_SUM (line 39) | const MCP_CALCULATE_SUM = 'mcp__sdk-calculator__calculate_sum'; constant MCP_REVERSE_STRING (line 40) | const MCP_REVERSE_STRING = 'mcp__sdk-string-utils__reverse_string'; constant MCP_SDK_ADD (line 41) | const MCP_SDK_ADD = 'mcp__sdk-math__sdk_add'; constant MCP_SDK_MULTIPLY (line 42) | const MCP_SDK_MULTIPLY = 'mcp__sdk-math__sdk_multiply'; constant MCP_MAYBE_FAIL (line 43) | const MCP_MAYBE_FAIL = 'mcp__sdk-error-test__maybe_fail'; constant MCP_DELAYED_RESPONSE (line 44) | const MCP_DELAYED_RESPONSE = 'mcp__sdk-async__delayed_response'; FILE: integration-tests/sdk-typescript/session-id.test.ts constant SHARED_TEST_OPTIONS (line 23) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); FILE: integration-tests/sdk-typescript/single-turn.test.ts constant SHARED_TEST_OPTIONS (line 25) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); FILE: integration-tests/sdk-typescript/subagents.test.ts constant SHARED_TEST_OPTIONS (line 30) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); FILE: integration-tests/sdk-typescript/system-control.test.ts constant SHARED_TEST_OPTIONS (line 20) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); function createStreamingInputWithControlPoint (line 31) | function createStreamingInputWithControlPoint( FILE: integration-tests/sdk-typescript/test-helper.ts type SDKTestHelperOptions (line 35) | interface SDKTestHelperOptions { class SDKTestHelper (line 57) | class SDKTestHelper { method constructor (line 62) | constructor() { method setup (line 72) | async setup( method createFile (line 119) | async createFile(fileName: string, content: string): Promise { method readFile (line 131) | async readFile(fileName: string): Promise { method mkdir (line 142) | async mkdir(dirName: string): Promise { method fileExists (line 154) | fileExists(fileName: string): boolean { method getPath (line 165) | getPath(fileName: string): string { method cleanup (line 175) | async cleanup(): Promise { method sanitizeTestName (line 190) | private sanitizeTestName(name: string): string { type MCPServerConfig (line 203) | interface MCPServerConfig { type MCPServerResult (line 208) | interface MCPServerResult { constant MCP_MATH_SERVER_SCRIPT (line 216) | const MCP_MATH_SERVER_SCRIPT = `#!/usr/bin/env node function createMCPServer (line 397) | async function createMCPServer( function extractText (line 436) | function extractText(content: ContentBlock[]): string { function collectMessagesByType (line 446) | function collectMessagesByType( function findToolUseBlocks (line 456) | function findToolUseBlocks( function getAssistantText (line 474) | function getAssistantText(messages: SDKMessage[]): string { function findSystemMessage (line 484) | function findSystemMessage( function findToolCalls (line 500) | function findToolCalls( function findToolResult (line 524) | function findToolResult( function findToolResults (line 566) | function findToolResults( function findAllToolResultBlocks (line 597) | function findAllToolResultBlocks( function hasAnyToolResults (line 644) | function hasAnyToolResults(messages: SDKMessage[]): boolean { function hasSuccessfulToolResults (line 651) | function hasSuccessfulToolResults(messages: SDKMessage[]): boolean { function hasErrorToolResults (line 658) | function hasErrorToolResults(messages: SDKMessage[]): boolean { function createResultWaiter (line 666) | function createResultWaiter(expectedResults: number): { function createControlledStreamingInput (line 717) | function createControlledStreamingInput( function assertMessageSequence (line 791) | function assertMessageSequence( function assertToolCalled (line 815) | function assertToolCalled( function assertSuccessfulCompletion (line 833) | function assertSuccessfulCompletion(messages: SDKMessage[]): void { function waitFor (line 852) | async function waitFor( function validateModelOutput (line 887) | function validateModelOutput( function printDebugInfo (line 932) | function printDebugInfo( function createToolCallErrorMessage (line 972) | function createToolCallErrorMessage( function createSharedTestOptions (line 1000) | function createSharedTestOptions( FILE: integration-tests/sdk-typescript/tool-control.test.ts constant SHARED_TEST_OPTIONS (line 32) | const SHARED_TEST_OPTIONS = createSharedTestOptions(); constant TEST_TIMEOUT (line 33) | const TEST_TIMEOUT = 60000; FILE: integration-tests/terminal-bench/ci-tasks/hello-world/tests/test_outputs.py function test_hello_file_exists (line 6) | def test_hello_file_exists(): function test_hello_file_content (line 13) | def test_hello_file_content(): FILE: integration-tests/terminal-bench/qwen_code.py class QwenCodeAgent (line 10) | class QwenCodeAgent(AbstractInstalledAgent): method name (line 12) | def name() -> str: method __init__ (line 15) | def __init__(self, model_name: str | None = None, *args, **kwargs): method _env (line 25) | def _env(self) -> dict[str, str]: method _install_agent_script_path (line 58) | def _install_agent_script_path(self) -> os.PathLike: method _run_agent_commands (line 61) | def _run_agent_commands(self, task_description: str) -> list[TerminalC... FILE: integration-tests/terminal-capture/run.ts function main (line 19) | async function main() { FILE: integration-tests/terminal-capture/scenario-runner.ts type FlowStep (line 21) | interface FlowStep { type ScenarioConfig (line 48) | interface ScenarioConfig { type RunResult (line 75) | interface RunResult { function loadScenarios (line 84) | async function loadScenarios( function runScenario (line 104) | async function runScenario( function sleep (line 361) | function sleep(ms: number): Promise { function pad (line 366) | function pad(n: number): string { constant KEY_MAP (line 371) | const KEY_MAP: Record = { function resolveKey (line 389) | function resolveKey(key: string): string { function generateGif (line 394) | function generateGif(frames: string[], outputDir: string): string | null { FILE: integration-tests/terminal-capture/terminal-capture.ts type XtermTheme (line 31) | interface XtermTheme { constant THEMES (line 56) | const THEMES: Record = { type TerminalCaptureOptions (line 177) | interface TerminalCaptureOptions { class TerminalCapture (line 204) | class TerminalCapture { method create (line 236) | static async create( method constructor (line 244) | private constructor(options?: TerminalCaptureOptions) { method init (line 280) | private async init(): Promise { method spawn (line 346) | async spawn(command: string, args: string[] = []): Promise { method type (line 381) | async type( method waitFor (line 416) | async waitFor(text: string, options?: { timeout?: number }): Promise { method captureFull (line 537) | async captureFull(filename: string, outputDir?: string): Promise { method flush (line 672) | private async flush(): Promise { method resolveXtermDir (line 701) | private resolveXtermDir(): string { method buildHTML (line 715) | private buildHTML(): string { method escapeHtml (line 824) | private escapeHtml(text: string): string { method lighten (line 836) | private lighten(hex: string, factor: number): string { method sleep (line 853) | private sleep(ms: number): Promise { FILE: integration-tests/test-helper.ts function sanitizeTestName (line 19) | function sanitizeTestName(name: string) { function createToolCallErrorMessage (line 27) | function createToolCallErrorMessage( function printDebugInfo (line 43) | function printDebugInfo( function validateModelOutput (line 72) | function validateModelOutput( function type (line 117) | async function type(ptyProcess: pty.IPty, text: string) { type ParsedLog (line 125) | interface ParsedLog { class TestRig (line 142) | class TestRig { method constructor (line 149) | constructor() { method getDefaultTimeout (line 155) | getDefaultTimeout() { method setup (line 161) | setup( method createFile (line 193) | createFile(fileName: string, content: string) { method mkdir (line 199) | mkdir(dir: string) { method sync (line 203) | sync() { method _getCommandAndArgs (line 213) | private _getCommandAndArgs(extraInitialArgs: string[] = []): { method run (line 226) | run( method runCommand (line 377) | runCommand( method readFile (line 429) | readFile(fileName: string) { method cleanup (line 440) | async cleanup() { method waitForTelemetryReady (line 454) | async waitForTelemetryReady() { method waitForTelemetryEvent (line 477) | async waitForTelemetryEvent(eventName: string, timeout?: number) { method waitForToolCall (line 498) | async waitForToolCall(toolName: string, timeout?: number) { method waitForAnyToolCall (line 517) | async waitForAnyToolCall(toolNames: string[], timeout?: number) { method poll (line 538) | async poll( method _parseToolLogsFromStdout (line 564) | _parseToolLogsFromStdout(stdout: string) { method _readAndParseTelemetryLog (line 688) | private _readAndParseTelemetryLog(): ParsedLog[] { method readToolLogs (line 727) | readToolLogs() { method readLastApiRequest (line 787) | readLastApiRequest(): Record | null { method readMetric (line 797) | readMetric(metricName: string): Record | null { method waitForText (line 813) | async waitForText(text: string, timeout?: number): Promise { method runInteractive (line 827) | runInteractive(...args: string[]): { FILE: integration-tests/test-mcp-server.ts class TestMcpServer (line 14) | class TestMcpServer { method start (line 17) | async start(): Promise { method stop (line 50) | async stop(): Promise { FILE: integration-tests/utf-bom-encoding.test.ts function runAndAssert (line 67) | async function runAndAssert( FILE: packages/cli/src/acp-integration/acpAgent.ts function runAcpAgent (line 71) | async function runAcpAgent( function toStdioServer (line 120) | function toStdioServer(server: McpServer): McpServerStdio | undefined { class QwenAgent (line 127) | class QwenAgent implements Agent { method constructor (line 131) | constructor( method initialize (line 138) | async initialize(args: InitializeRequest): Promise { method authenticate (line 166) | async authenticate({ methodId }: AuthenticateRequest): Promise { method newSession (line 196) | async newSession({ method loadSession (line 217) | async loadSession(params: LoadSessionRequest): Promise { method cancel (line 362) | async cancel(params: CancelNotification): Promise { method extMethod (line 370) | async extMethod( method newSessionConfig (line 379) | private async newSessionConfig( method ensureAuthenticated (line 414) | private async ensureAuthenticated(config: Config): Promise { method pickAuthMethodsForAuthRequired (line 436) | private pickAuthMethodsForAuthRequired( method extractErrorMessage (line 460) | private extractErrorMessage(error?: unknown): string | undefined { method setupFileSystem (line 474) | private setupFileSystem(config: Config): void { method createAndStoreSession (line 486) | private async createAndStoreSession( method buildAvailableModels (line 519) | private buildAvailableModels(config: Config): NewSessionResponse['mode... method buildModesData (line 558) | private buildModesData(config: Config): SessionModeState { method buildConfigOptions (line 573) | private buildConfigOptions(config: Config): SessionConfigOption[] { method formatCurrentModelId (line 628) | private formatCurrentModelId( FILE: packages/cli/src/acp-integration/authMethods.ts function buildAuthMethods (line 10) | function buildAuthMethods(): AuthMethod[] { function filterAuthMethodsById (line 34) | function filterAuthMethodsById( function pickAuthMethodsForDetails (line 41) | function pickAuthMethodsForDetails(details?: string): AuthMethod[] { FILE: packages/cli/src/acp-integration/errorCodes.ts constant ACP_ERROR_CODES (line 7) | const ACP_ERROR_CODES = { type AcpErrorCode (line 24) | type AcpErrorCode = FILE: packages/cli/src/acp-integration/runtimeOutputDirContext.ts function runWithAcpRuntimeOutputDir (line 4) | function runWithAcpRuntimeOutputDir( FILE: packages/cli/src/acp-integration/service/filesystem.test.ts constant RESOURCE_NOT_FOUND_CODE (line 12) | const RESOURCE_NOT_FOUND_CODE = -32002; constant INTERNAL_ERROR_CODE (line 13) | const INTERNAL_ERROR_CODE = -32603; FILE: packages/cli/src/acp-integration/service/filesystem.ts constant RESOURCE_NOT_FOUND_CODE (line 20) | const RESOURCE_NOT_FOUND_CODE = -32002; function getErrorCode (line 22) | function getErrorCode(error: unknown): unknown { function createEnoentError (line 34) | function createEnoentError(filePath: string): NodeJS.ErrnoException { class AcpFileSystemService (line 42) | class AcpFileSystemService implements FileSystemService { method constructor (line 43) | constructor( method readTextFile (line 50) | async readTextFile( method writeTextFile (line 76) | async writeTextFile( method findFiles (line 96) | findFiles(fileName: string, searchPaths: readonly string[]): string[] { FILE: packages/cli/src/acp-integration/session/HistoryReplayer.ts class HistoryReplayer (line 23) | class HistoryReplayer { method constructor (line 28) | constructor(ctx: SessionContext) { method replay (line 39) | async replay(records: ChatRecord[]): Promise { method replayRecord (line 48) | private async replayRecord(record: ChatRecord): Promise { method replayContent (line 89) | private async replayContent( method replayUsageMetadata (line 126) | private async replayUsageMetadata( method replayToolResult (line 135) | private async replayToolResult(record: ChatRecord): Promise { method emitTaskUsageFromResultDisplay (line 176) | private async emitTaskUsageFromResultDisplay( method extractToolNameFromRecord (line 211) | private extractToolNameFromRecord(record: ChatRecord): string { method setActiveRecordId (line 223) | private setActiveRecordId(recordId: string | null, timestamp?: string)... FILE: packages/cli/src/acp-integration/session/Session.ts class Session (line 93) | class Session implements SessionContext { method constructor (line 115) | constructor( method getId (line 132) | getId(): string { method getConfig (line 136) | getConfig(): Config { method replayHistory (line 144) | async replayHistory(records: ChatRecord[]): Promise { method cancelPendingPrompt (line 148) | async cancelPendingPrompt(): Promise { method prompt (line 157) | async prompt(params: PromptRequest): Promise { method #executePrompt (line 191) | async #executePrompt( method sendUpdate (line 361) | async sendUpdate(update: SessionUpdate): Promise { method sendAvailableCommandsUpdate (line 370) | async sendAvailableCommandsUpdate(): Promise { method requestPermission (line 404) | async requestPermission( method setMode (line 414) | async setMode( method setModel (line 432) | async setModel( method sendCurrentModeUpdateNotification (line 466) | private async sendCurrentModeUpdateNotification( method runTool (line 490) | private async runTool( method #processSlashCommandResult (line 831) | async #processSlashCommandResult( method #resolvePrompt (line 909) | async #resolvePrompt( method debug (line 1038) | debug(msg: string): void { function toPermissionOptions (line 1062) | function toPermissionOptions( FILE: packages/cli/src/acp-integration/session/SubAgentTracker.test.ts function createToolCallEvent (line 30) | function createToolCallEvent( function createToolResultEvent (line 44) | function createToolResultEvent( function createApprovalEvent (line 60) | function createApprovalEvent( function createEditConfirmation (line 78) | function createEditConfirmation( function createInfoConfirmation (line 94) | function createInfoConfirmation( function createStreamTextEvent (line 106) | function createStreamTextEvent( FILE: packages/cli/src/acp-integration/session/SubAgentTracker.ts type PermissionKind (line 39) | type PermissionKind = type PermissionOptionConfig (line 48) | interface PermissionOptionConfig { class SubAgentTracker (line 74) | class SubAgentTracker { method constructor (line 86) | constructor( method getSubagentMeta (line 99) | private getSubagentMeta() { method setup (line 113) | setup( method createToolCallHandler (line 145) | private createToolCallHandler( method createToolResultHandler (line 186) | private createToolResultHandler( method createApprovalHandler (line 214) | private createApprovalHandler( method createUsageMetadataHandler (line 291) | private createUsageMetadataHandler( method createStreamTextHandler (line 311) | private createStreamTextHandler( method toPermissionOptions (line 330) | private toPermissionOptions( FILE: packages/cli/src/acp-integration/session/emitters/BaseEmitter.ts method constructor (line 15) | constructor(protected readonly ctx: SessionContext) {} method toEpochMs (line 21) | protected static toEpochMs(ts?: string | number): number | undefined { method sendUpdate (line 35) | protected async sendUpdate(update: SessionUpdate): Promise { method config (line 42) | protected get config() { method sessionId (line 49) | protected get sessionId() { FILE: packages/cli/src/acp-integration/session/emitters/MessageEmitter.ts class MessageEmitter (line 19) | class MessageEmitter extends BaseEmitter { method emitUserMessage (line 26) | async emitUserMessage( method emitAgentThought (line 44) | async emitAgentThought( method emitAgentMessage (line 62) | async emitAgentMessage( method emitUsageMetadata (line 77) | async emitUsageMetadata( method emitMessage (line 112) | async emitMessage( FILE: packages/cli/src/acp-integration/session/emitters/PlanEmitter.ts class PlanEmitter (line 18) | class PlanEmitter extends BaseEmitter { method emitPlan (line 24) | async emitPlan(todos: TodoItem[]): Promise { method extractTodos (line 48) | extractTodos( method extractFromResultDisplay (line 68) | private extractFromResultDisplay(resultDisplay: unknown): TodoItem[] |... FILE: packages/cli/src/acp-integration/session/emitters/ToolCallEmitter.ts class ToolCallEmitter (line 39) | class ToolCallEmitter extends BaseEmitter { method constructor (line 42) | constructor(ctx: SessionContext) { method emitStart (line 53) | async emitStart(params: ToolCallStartParams): Promise { method emitResult (line 91) | async emitResult(params: ToolCallResultParams): Promise { method emitError (line 161) | async emitError( method isTodoWriteTool (line 187) | isTodoWriteTool(toolName: string): boolean { method isExitPlanModeTool (line 194) | isExitPlanModeTool(toolName: string): boolean { method resolveToolMetadata (line 205) | resolveToolMetadata( method mapToolKind (line 247) | mapToolKind(kind: Kind, toolName?: string): ToolKind { method extractDiffContent (line 273) | private extractDiffContent(resultDisplay: unknown): ToolCallContent | ... method transformPartsToToolCallContent (line 295) | private transformPartsToToolCallContent(parts: Part[]): ToolCallConten... FILE: packages/cli/src/acp-integration/session/types.ts type ApprovalModeValue (line 15) | type ApprovalModeValue = 'plan' | 'default' | 'auto-edit' | 'yolo'; type SessionUpdateSender (line 21) | interface SessionUpdateSender { type SessionContext (line 29) | interface SessionContext extends SessionUpdateSender { type SubagentMeta (line 37) | interface SubagentMeta { type ToolCallStartParams (line 47) | interface ToolCallStartParams { type ToolCallResultParams (line 65) | interface ToolCallResultParams { type TodoItem (line 89) | interface TodoItem { type ResolvedToolMetadata (line 98) | interface ResolvedToolMetadata { FILE: packages/cli/src/commands/auth/handler.ts type QwenAuthOptions (line 28) | interface QwenAuthOptions { type CodingPlanSettings (line 33) | interface CodingPlanSettings { type MergedSettingsWithCodingPlan (line 38) | interface MergedSettingsWithCodingPlan { function handleQwenAuth (line 55) | async function handleQwenAuth( function handleQwenOAuth (line 141) | async function handleQwenOAuth( function handleCodePlanAuth (line 173) | async function handleCodePlanAuth( function promptForRegion (line 283) | async function promptForRegion(): Promise { function promptForKey (line 306) | async function promptForKey(): Promise { function runInteractiveAuth (line 368) | async function runInteractiveAuth() { function showAuthStatus (line 399) | async function showAuthStatus(): Promise { FILE: packages/cli/src/commands/auth/interactiveSelector.ts type Option (line 13) | interface Option { class InteractiveSelector (line 22) | class InteractiveSelector { method constructor (line 26) | constructor( method select (line 34) | async select(): Promise { method renderMenu (line 107) | private renderMenu(): void { method calculateTotalLines (line 145) | private calculateTotalLines(): number { method moveUp (line 153) | private moveUp(): void { method moveDown (line 162) | private moveDown(): void { FILE: packages/cli/src/commands/extensions/consent.ts function requestConsentNonInteractive (line 23) | async function requestConsentNonInteractive( function requestChoicePluginNonInteractive (line 42) | async function requestChoicePluginNonInteractive( function requestConsentInteractive (line 85) | async function requestConsentInteractive( function promptForConsentNonInteractive (line 103) | async function promptForConsentNonInteractive( function promptForConsentInteractive (line 129) | async function promptForConsentInteractive( function extensionConsentString (line 147) | function extensionConsentString( FILE: packages/cli/src/commands/extensions/disable.ts type DisableArgs (line 14) | interface DisableArgs { function handleDisable (line 19) | async function handleDisable(args: DisableArgs) { FILE: packages/cli/src/commands/extensions/enable.test.ts method constructor (line 27) | constructor(message: string) { FILE: packages/cli/src/commands/extensions/enable.ts type EnableArgs (line 14) | interface EnableArgs { function handleEnable (line 19) | async function handleEnable(args: EnableArgs) { FILE: packages/cli/src/commands/extensions/install.ts type InstallArgs (line 24) | interface InstallArgs { function handleInstall (line 32) | async function handleInstall(args: InstallArgs) { FILE: packages/cli/src/commands/extensions/link.ts type InstallArgs (line 18) | interface InstallArgs { function handleLink (line 22) | async function handleLink(args: InstallArgs) { FILE: packages/cli/src/commands/extensions/list.ts function handleList (line 13) | async function handleList() { 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 81) | async function getBoilerplateChoices() { FILE: packages/cli/src/commands/extensions/settings.ts type SetArgs (line 19) | interface SetArgs { type ListArgs (line 68) | interface ListArgs { FILE: packages/cli/src/commands/extensions/uninstall.ts type UninstallArgs (line 19) | interface UninstallArgs { function handleUninstall (line 23) | async function handleUninstall(args: UninstallArgs) { FILE: packages/cli/src/commands/extensions/update.ts type UpdateArgs (line 18) | interface UpdateArgs { function handleUpdate (line 33) | async function handleUpdate(args: UpdateArgs) { FILE: packages/cli/src/commands/extensions/utils.ts function getExtensionManager (line 19) | async function getExtensionManager(): Promise { function extensionToOutputString (line 34) | function extensionToOutputString( FILE: packages/cli/src/commands/hooks/disable.ts type DisableArgs (line 13) | interface DisableArgs { function handleDisableHook (line 20) | async function handleDisableHook(hookName: string): Promise { FILE: packages/cli/src/commands/hooks/enable.ts type EnableArgs (line 13) | interface EnableArgs { function handleEnableHook (line 20) | async function handleEnableHook(hookName: string): Promise { FILE: packages/cli/src/commands/mcp/add.ts function addMcpServer (line 13) | async function addMcpServer( FILE: packages/cli/src/commands/mcp/list.test.ts type MockClient (line 47) | interface MockClient { type MockTransport (line 53) | interface MockTransport { FILE: packages/cli/src/commands/mcp/list.ts constant COLOR_GREEN (line 20) | const COLOR_GREEN = '\u001b[32m'; constant COLOR_YELLOW (line 21) | const COLOR_YELLOW = '\u001b[33m'; constant COLOR_RED (line 22) | const COLOR_RED = '\u001b[31m'; constant RESET_COLOR (line 23) | const RESET_COLOR = '\u001b[0m'; function getMcpServersFromConfig (line 25) | async function getMcpServersFromConfig(): Promise< function testMCPConnection (line 54) | async function testMCPConnection( function getServerStatus (line 87) | async function getServerStatus( function listMcpServers (line 95) | async function listMcpServers(): Promise { FILE: packages/cli/src/commands/mcp/remove.ts function removeMcpServer (line 13) | async function removeMcpServer( FILE: packages/cli/src/config/auth.ts constant DEFAULT_ENV_KEYS (line 19) | const DEFAULT_ENV_KEYS: Record = { function findModelConfig (line 29) | function findModelConfig( function hasApiKeyForAuth (line 50) | function hasApiKeyForAuth( function getApiKeyError (line 108) | function getApiKeyError( function validateAuthMethod (line 138) | function validateAuthMethod( FILE: packages/cli/src/config/config.integration.test.ts constant CLEARCUT_URL (line 33) | const CLEARCUT_URL = 'https://play.googleapis.com/log'; constant TEST_CONTENT_GENERATOR_CONFIG (line 35) | const TEST_CONTENT_GENERATOR_CONFIG: ContentGeneratorConfig = { FILE: packages/cli/src/config/config.ts constant SESSION_ID_REGEX (line 56) | const SESSION_ID_REGEX = function isValidSessionId (line 64) | function isValidSessionId(value: string): boolean { constant VALID_APPROVAL_MODE_VALUES (line 74) | const VALID_APPROVAL_MODE_VALUES = [ function formatApprovalModeError (line 81) | function formatApprovalModeError(value: string): Error { function parseApprovalModeValue (line 89) | function parseApprovalModeValue(value: string): ApprovalMode { type CliArgs (line 107) | interface CliArgs { function normalizeOutputFormat (line 166) | function normalizeOutputFormat( function parseArguments (line 181) | async function parseArguments(): Promise { function loadHierarchicalGeminiMemory (line 665) | async function loadHierarchicalGeminiMemory( function isDebugMode (line 693) | function isDebugMode(argv: CliArgs): boolean { function loadCliConfig (line 702) | async function loadCliConfig( FILE: packages/cli/src/config/keyBindings.ts type Command (line 10) | enum Command { type KeyBinding (line 69) | interface KeyBinding { type KeyBindingConfig (line 88) | type KeyBindingConfig = { FILE: packages/cli/src/config/migration/index.ts constant ALL_MIGRATIONS (line 38) | const ALL_MIGRATIONS = [v1ToV2Migration, v2ToV3Migration] as const; function runMigrations (line 56) | function runMigrations( function needsMigration (line 83) | function needsMigration(settings: unknown): boolean { FILE: packages/cli/src/config/migration/scheduler.ts function formatScope (line 17) | function formatScope(scope: string): string { class MigrationScheduler (line 37) | class MigrationScheduler { method constructor (line 44) | constructor( method migrate (line 63) | migrate(settings: unknown): MigrationResult { FILE: packages/cli/src/config/migration/types.ts type SettingsMigration (line 11) | interface SettingsMigration { type MigrationResult (line 46) | interface MigrationResult { FILE: packages/cli/src/config/migration/versions/v1-to-v2-shared.ts constant V1_TO_V2_MIGRATION_MAP (line 14) | const V1_TO_V2_MIGRATION_MAP: Record = { constant V2_CONTAINER_KEYS (line 80) | const V2_CONTAINER_KEYS = new Set([ constant V1_TO_V2_PRESERVE_DISABLE_MAP (line 98) | const V1_TO_V2_PRESERVE_DISABLE_MAP: Record = { constant CONSOLIDATED_DISABLE_KEYS (line 106) | const CONSOLIDATED_DISABLE_KEYS = new Set([ constant V1_INDICATOR_KEYS (line 114) | const V1_INDICATOR_KEYS = [ FILE: packages/cli/src/config/migration/versions/v1-to-v2.ts class V1ToV2Migration (line 50) | class V1ToV2Migration implements SettingsMigration { method shouldMigrate (line 66) | shouldMigrate(settings: unknown): boolean { method migrate (line 124) | migrate( FILE: packages/cli/src/config/migration/versions/v2-to-v3.ts constant V2_TO_V3_BOOLEAN_MAP (line 26) | const V2_TO_V3_BOOLEAN_MAP: Record = { constant CONSOLIDATED_V2_PATHS (line 47) | const CONSOLIDATED_V2_PATHS: Record = { function normalizeDisableValue (line 62) | function normalizeDisableValue(value: unknown): { class V2ToV3Migration (line 99) | class V2ToV3Migration implements SettingsMigration { method shouldMigrate (line 110) | shouldMigrate(settings: unknown): boolean { method migrate (line 144) | migrate( FILE: packages/cli/src/config/modelProvidersScope.test.ts function makeSettings (line 11) | function makeSettings({ FILE: packages/cli/src/config/modelProvidersScope.ts function hasOwnModelProviders (line 9) | function hasOwnModelProviders(settingsObj: unknown): boolean { function getModelProvidersOwnerScope (line 25) | function getModelProvidersOwnerScope( function getPersistScopeForModelSelection (line 44) | function getPersistScopeForModelSelection( FILE: packages/cli/src/config/sandboxConfig.ts type SandboxCliArgs (line 16) | interface SandboxCliArgs { constant VALID_SANDBOX_COMMANDS (line 21) | const VALID_SANDBOX_COMMANDS: ReadonlyArray = [ function isSandboxCommand (line 27) | function isSandboxCommand(value: string): value is SandboxConfig['comman... function getSandboxCommand (line 31) | function getSandboxCommand( function loadSandboxConfig (line 91) | async function loadSandboxConfig( FILE: packages/cli/src/config/settings.test.ts constant MOCK_WORKSPACE_DIR (line 60) | const MOCK_WORKSPACE_DIR = '/mock/workspace'; constant MOCK_WORKSPACE_SETTINGS_PATH (line 62) | const MOCK_WORKSPACE_SETTINGS_PATH = pathActual.join( type TestSettings (line 69) | type TestSettings = Settings & { function setup (line 2338) | function setup({ FILE: packages/cli/src/config/settings.ts function getMergeStrategyForPath (line 44) | function getMergeStrategyForPath(path: string[]): MergeStrategy | undefi... constant SETTINGS_DIRECTORY_NAME (line 61) | const SETTINGS_DIRECTORY_NAME = '.qwen'; constant USER_SETTINGS_PATH (line 62) | const USER_SETTINGS_PATH = Storage.getGlobalSettingsPath(); constant USER_SETTINGS_DIR (line 63) | const USER_SETTINGS_DIR = path.dirname(USER_SETTINGS_PATH); constant DEFAULT_EXCLUDED_ENV_VARS (line 64) | const DEFAULT_EXCLUDED_ENV_VARS = ['DEBUG', 'DEBUG_MODE']; constant SETTINGS_VERSION (line 67) | const SETTINGS_VERSION = 3; constant SETTINGS_VERSION_KEY (line 68) | const SETTINGS_VERSION_KEY = '$version'; function migrateLegacyPermissions (line 82) | function migrateLegacyPermissions( function getSystemSettingsPath (line 138) | function getSystemSettingsPath(): string { function getSystemDefaultsPath (line 151) | function getSystemDefaultsPath(): string { type SettingScope (line 163) | enum SettingScope { type CheckpointingSettings (line 170) | interface CheckpointingSettings { type AccessibilitySettings (line 174) | interface AccessibilitySettings { type SettingsError (line 179) | interface SettingsError { type SettingsFile (line 184) | interface SettingsFile { function getSettingsFileKeyWarnings (line 191) | function getSettingsFileKeyWarnings( function getSettingsWarnings (line 259) | function getSettingsWarnings(loadedSettings: LoadedSettings): string[] { function mergeSettings (line 289) | function mergeSettings( class LoadedSettings (line 314) | class LoadedSettings { method constructor (line 315) | constructor( method merged (line 344) | get merged(): Settings { method computeMergedSettings (line 348) | private computeMergedSettings(): Settings { method forScope (line 358) | forScope(scope: SettingScope): SettingsFile { method setValue (line 373) | setValue(scope: SettingScope, key: string, value: unknown): void { function createMinimalSettings (line 386) | function createMinimalSettings(): LoadedSettings { function findEnvFile (line 411) | function findEnvFile(settings: Settings, startDir: string): string | null { function setUpCloudShellEnvironment (line 455) | function setUpCloudShellEnvironment(envFilePath: string | null): void { function loadEnvironment (line 486) | function loadEnvironment(settings: Settings): void { function loadSettings (line 538) | function loadSettings( function saveSettings (line 774) | function saveSettings(settingsFile: SettingsFile): void { FILE: packages/cli/src/config/settingsSchema.ts type SettingsType (line 23) | type SettingsType = type SettingsValue (line 31) | type SettingsValue = constant TOGGLE_TYPES (line 44) | const TOGGLE_TYPES: ReadonlySet = new Set([ type SettingEnumOption (line 49) | interface SettingEnumOption { type MergeStrategy (line 54) | enum MergeStrategy { type SettingDefinition (line 65) | interface SettingDefinition { type SettingItemDefinition (line 87) | interface SettingItemDefinition { type SettingsSchema (line 104) | interface SettingsSchema { constant HOOK_DEFINITION_ITEMS (line 112) | const HOOK_DEFINITION_ITEMS: SettingItemDefinition = { type MemoryImportFormat (line 171) | type MemoryImportFormat = 'tree' | 'flat'; type DnsResolutionOrder (line 172) | type DnsResolutionOrder = 'ipv4first' | 'verbatim'; constant SETTINGS_SCHEMA (line 179) | const SETTINGS_SCHEMA = { type SettingsSchemaType (line 1593) | type SettingsSchemaType = typeof SETTINGS_SCHEMA; function getSettingsSchema (line 1595) | function getSettingsSchema(): SettingsSchemaType { type InferSettings (line 1608) | type InferSettings = { type Settings (line 1620) | type Settings = InferSettings; FILE: packages/cli/src/config/trustedFolders.test.ts function setup (line 83) | function setup({ config = {} as Record } = {}) { FILE: packages/cli/src/config/trustedFolders.ts constant TRUSTED_FOLDERS_FILENAME (line 20) | const TRUSTED_FOLDERS_FILENAME = 'trustedFolders.json'; constant SETTINGS_DIRECTORY_NAME (line 21) | const SETTINGS_DIRECTORY_NAME = '.qwen'; constant USER_SETTINGS_DIR (line 22) | const USER_SETTINGS_DIR = path.join(homedir(), SETTINGS_DIRECTORY_NAME); function getTrustedFoldersPath (line 24) | function getTrustedFoldersPath(): string { type TrustLevel (line 31) | enum TrustLevel { type TrustRule (line 37) | interface TrustRule { type TrustedFoldersError (line 42) | interface TrustedFoldersError { type TrustedFoldersFile (line 47) | interface TrustedFoldersFile { type TrustResult (line 52) | interface TrustResult { class LoadedTrustedFolders (line 57) | class LoadedTrustedFolders { method constructor (line 58) | constructor( method rules (line 63) | get rules(): TrustRule[] { method isPathTrusted (line 77) | isPathTrusted(location: string): boolean | undefined { method setValue (line 113) | setValue(path: string, trustLevel: TrustLevel): void { function resetTrustedFoldersForTesting (line 125) | function resetTrustedFoldersForTesting(): void { function loadTrustedFolders (line 129) | function loadTrustedFolders(): LoadedTrustedFolders { function saveTrustedFolders (line 172) | function saveTrustedFolders( function isFolderTrustEnabled (line 194) | function isFolderTrustEnabled(settings: Settings): boolean { function getWorkspaceTrustFromLocalConfig (line 199) | function getWorkspaceTrustFromLocalConfig( function isWorkspaceTrusted (line 224) | function isWorkspaceTrusted( FILE: packages/cli/src/config/webSearch.ts type WebSearchCliArgs (line 14) | interface WebSearchCliArgs { type WebSearchConfig (line 24) | interface WebSearchConfig { function buildWebSearchConfig (line 40) | function buildWebSearchConfig( FILE: packages/cli/src/constants/codingPlan.ts type CodingPlanRegion (line 13) | enum CodingPlanRegion { type CodingPlanTemplate (line 22) | type CodingPlanTemplate = ModelConfig[]; constant CODING_PLAN_ENV_KEY (line 28) | const CODING_PLAN_ENV_KEY = 'BAILIAN_CODING_PLAN_API_KEY'; function computeCodingPlanVersion (line 36) | function computeCodingPlanVersion(template: CodingPlanTemplate): string { function generateCodingPlanTemplate (line 48) | function generateCodingPlanTemplate( function getCodingPlanConfig (line 248) | function getCodingPlanConfig(region: CodingPlanRegion) { function getCodingPlanBaseUrls (line 265) | function getCodingPlanBaseUrls(): string[] { function isCodingPlanConfig (line 279) | function isCodingPlanConfig( function getRegionFromBaseUrl (line 308) | function getRegionFromBaseUrl( FILE: packages/cli/src/core/auth.ts function performInitialAuth (line 21) | async function performInitialAuth( FILE: packages/cli/src/core/initializer.ts type InitializationResult (line 19) | interface InitializationResult { function initializeApp (line 33) | async function initializeApp( FILE: packages/cli/src/core/theme.ts function validateTheme (line 16) | function validateTheme(settings: LoadedSettings): string | null { FILE: packages/cli/src/gemini.test.tsx class MockProcessExitError (line 30) | class MockProcessExitError extends Error { method constructor (line 31) | constructor(readonly code?: string | number | null | undefined) { FILE: packages/cli/src/gemini.tsx function validateDnsResolutionOrder (line 67) | function validateDnsResolutionOrder( function getNodeMemoryArgs (line 84) | function getNodeMemoryArgs(isDebugMode: boolean): string[] { function setupUnhandledRejectionHandler (line 118) | function setupUnhandledRejectionHandler() { function startInteractiveUI (line 140) | async function startInteractiveUI( function main (line 212) | async function main() { function setWindowTitle (line 514) | function setWindowTitle(title: string, settings: LoadedSettings) { FILE: packages/cli/src/i18n/index.ts type TranslationValue (line 26) | type TranslationValue = string | string[]; type TranslationDict (line 27) | type TranslationDict = Record; function getUserLocalesDirectory (line 44) | function getUserLocalesDirectory(): string { function detectSystemLanguage (line 57) | function detectSystemLanguage(): SupportedLanguage { function loadTranslationsAsync (line 78) | async function loadTranslationsAsync( function loadTranslations (line 177) | function loadTranslations(lang: SupportedLanguage): TranslationDict { function interpolate (line 183) | function interpolate( function resolveLanguage (line 195) | function resolveLanguage(lang: SupportedLanguage | 'auto'): SupportedLan... function setLanguage (line 200) | function setLanguage(lang: SupportedLanguage | 'auto'): void { function setLanguageAsync (line 221) | async function setLanguageAsync( function getCurrentLanguage (line 228) | function getCurrentLanguage(): SupportedLanguage { function t (line 232) | function t(key: string, params?: Record): string { function ta (line 245) | function ta(key: string): string[] { function initializeI18n (line 253) | async function initializeI18n( FILE: packages/cli/src/i18n/languages.ts type SupportedLanguage (line 7) | type SupportedLanguage = type LanguageDefinition (line 16) | interface LanguageDefinition { constant SUPPORTED_LANGUAGES (line 27) | const SUPPORTED_LANGUAGES: readonly LanguageDefinition[] = [ function getLanguageNameFromLocale (line 70) | function getLanguageNameFromLocale(locale: SupportedLanguage): string { function getLanguageSettingsOptions (line 78) | function getLanguageSettingsOptions(): Array<{ function getSupportedLanguageIds (line 96) | function getSupportedLanguageIds(separator = '|'): string { FILE: packages/cli/src/nonInteractive/control/ControlContext.ts type IControlContext (line 28) | interface IControlContext { class ControlContext (line 46) | class ControlContext implements IControlContext { method constructor (line 60) | constructor(options: { FILE: packages/cli/src/nonInteractive/control/ControlDispatcher.test.ts function createMockContext (line 26) | function createMockContext(debugMode: boolean = false): IControlContext { function createMockSystemController (line 52) | function createMockSystemController() { FILE: packages/cli/src/nonInteractive/control/ControlDispatcher.ts type PendingIncomingRequest (line 48) | interface PendingIncomingRequest { type PendingOutgoingRequest (line 57) | interface PendingOutgoingRequest { class ControlDispatcher (line 68) | class ControlDispatcher implements IPendingRequestRegistry { method constructor (line 85) | constructor(context: IControlContext) { method dispatch (line 116) | async dispatch(request: CLIControlRequest): Promise { method handleControlResponse (line 137) | handleControlResponse(response: CLIControlResponse): void { method sendControlRequest (line 168) | async sendControlRequest( method handleCancel (line 179) | handleCancel(requestId?: string): void { method markInputClosed (line 215) | markInputClosed(): void { method shutdown (line 243) | shutdown(): void { method registerIncomingRequest (line 282) | registerIncomingRequest( method deregisterIncomingRequest (line 298) | deregisterIncomingRequest(requestId: string): void { method registerOutgoingRequest (line 309) | registerOutgoingRequest( method deregisterOutgoingRequest (line 327) | deregisterOutgoingRequest(requestId: string): void { method getPendingIncomingRequestCount (line 338) | getPendingIncomingRequestCount(): number { method waitForPendingIncomingRequests (line 353) | async waitForPendingIncomingRequests( method getControllerForRequest (line 377) | private getControllerForRequest(subtype: string) { method sendSuccessResponse (line 403) | private sendSuccessResponse( method sendErrorResponse (line 421) | private sendErrorResponse(requestId: string, error: string): void { FILE: packages/cli/src/nonInteractive/control/ControlService.ts class ControlService (line 45) | class ControlService { method constructor (line 54) | constructor(context: IControlContext, dispatcher: ControlDispatcher) { method permission (line 64) | get permission(): PermissionServiceAPI { method system (line 96) | get system(): SystemServiceAPI { method cleanup (line 175) | cleanup(): void { FILE: packages/cli/src/nonInteractive/control/controllers/baseController.ts constant DEFAULT_REQUEST_TIMEOUT_MS (line 28) | const DEFAULT_REQUEST_TIMEOUT_MS = 30000; type IPendingRequestRegistry (line 33) | interface IPendingRequestRegistry { method constructor (line 64) | constructor( method handleRequest (line 80) | async handleRequest( method sendControlRequest (line 126) | async sendControlRequest( method cleanup (line 225) | cleanup(): void {} FILE: packages/cli/src/nonInteractive/control/controllers/hookController.ts class HookController (line 20) | class HookController extends BaseController { method handleRequestPayload (line 24) | protected async handleRequestPayload( method handleHookCallback (line 42) | private async handleHookCallback( FILE: packages/cli/src/nonInteractive/control/controllers/permissionController.ts type ToolConfirmationType (line 37) | type ToolConfirmationType = 'edit' | 'exec' | 'mcp' | 'info' | 'plan'; class PermissionController (line 39) | class PermissionController extends BaseController { method handleRequestPayload (line 45) | protected async handleRequestPayload( method handleCanUseTool (line 79) | private async handleCanUseTool( method checkPermissionMode (line 142) | private checkPermissionMode(): { allowed: boolean; message?: string } { method checkToolRegistry (line 165) | private checkToolRegistry(toolName: string): { method handleSetPermissionMode (line 206) | private async handleSetPermissionMode( method buildPermissionSuggestions (line 244) | buildPermissionSuggestions( method getToolCallUpdateCallback (line 360) | getToolCallUpdateCallback(): (toolCalls: unknown[]) => void { method handleOutgoingPermissionRequest (line 388) | private async handleOutgoingPermissionRequest( FILE: packages/cli/src/nonInteractive/control/controllers/sdkMcpController.ts constant MCP_REQUEST_TIMEOUT (line 27) | const MCP_REQUEST_TIMEOUT = 30_000; class SdkMcpController (line 29) | class SdkMcpController extends BaseController { method handleRequestPayload (line 37) | protected async handleRequestPayload( method handleMcpStatus (line 60) | private async handleMcpStatus(): Promise> { method sendMcpMessageToSdk (line 81) | private async sendMcpMessageToSdk( method createSendSdkMcpMessage (line 127) | createSendSdkMcpMessage(): ( FILE: packages/cli/src/nonInteractive/control/controllers/systemController.ts class SystemController (line 33) | class SystemController extends BaseController { method handleRequestPayload (line 37) | protected async handleRequestPayload( method handleInitialize (line 77) | private async handleInitialize( method buildControlCapabilities (line 208) | buildControlCapabilities(): Record { method normalizeMcpServerConfig (line 222) | private normalizeMcpServerConfig( method normalizeAuthProviderType (line 260) | private normalizeAuthProviderType( method normalizeOAuthConfig (line 280) | private normalizeOAuthConfig( method handleInterrupt (line 306) | private async handleInterrupt(): Promise> { method handleSetModel (line 328) | private async handleSetModel( method handleSupportedCommands (line 371) | private async handleSupportedCommands( method loadSlashCommandNames (line 392) | private async loadSlashCommandNames(signal: AbortSignal): Promise { method parse (line 53) | private parse(line: string): StreamJsonInputMessage { FILE: packages/cli/src/nonInteractive/io/StreamJsonOutputAdapter.test.ts function createMockConfig (line 16) | function createMockConfig(): Config { FILE: packages/cli/src/nonInteractive/io/StreamJsonOutputAdapter.ts class StreamJsonOutputAdapter (line 35) | class StreamJsonOutputAdapter method constructor (line 41) | constructor( method emitMessageImpl (line 51) | protected emitMessageImpl(message: CLIMessage | ControlMessage): void { method shouldEmitStreamEvents (line 69) | protected shouldEmitStreamEvents(): boolean { method startAssistantMessage (line 73) | override startAssistantMessage(): void { method finalizeAssistantMessage (line 78) | finalizeAssistantMessage(): CLIAssistantMessage { method emitResult (line 97) | emitResult(options: ResultOptions): void { method emitMessage (line 105) | emitMessage(message: CLIMessage | ControlMessage): void { method send (line 110) | send(message: CLIMessage | ControlMessage): void { method onTextBlockCreated (line 117) | protected override onTextBlockCreated( method onTextAppended (line 136) | protected override onTextAppended( method onThinkingBlockCreated (line 155) | protected override onThinkingBlockCreated( method onThinkingAppended (line 174) | protected override onThinkingAppended( method onToolUseBlockCreated (line 193) | protected override onToolUseBlockCreated( method onToolUseInputSet (line 212) | protected override onToolUseInputSet( method onBlockClosed (line 234) | protected override onBlockClosed( method onEnsureMessageStarted (line 255) | protected override onEnsureMessageStarted( method emitToolProgress (line 280) | override emitToolProgress( method emitStreamEventIfEnabled (line 308) | private emitStreamEventIfEnabled( FILE: packages/cli/src/nonInteractive/session.test.ts type ConfigOverrides (line 49) | interface ConfigOverrides { function createConfig (line 59) | function createConfig(overrides: ConfigOverrides = {}): Config { function createUserMessage (line 72) | function createUserMessage(content: string): CLIUserMessage { function createControlRequest (line 84) | function createControlRequest( function createControlResponse (line 115) | function createControlResponse(requestId: string): CLIControlResponse { function createControlCancel (line 126) | function createControlCancel(requestId: string): ControlCancelRequest { method read (line 196) | async *read() { FILE: packages/cli/src/nonInteractive/session.ts class Session (line 39) | class Session { method constructor (line 63) | constructor(config: Config, initialPrompt?: CLIUserMessage) { method ensureInitializationPromise (line 78) | private ensureInitializationPromise(): void { method getNextPromptId (line 96) | private getNextPromptId(): string { method ensureConfigInitialized (line 101) | private async ensureConfigInitialized( method completeInitialization (line 122) | private completeInitialization(): void { method failInitialization (line 134) | private failInitialization(error: Error): void { method waitForInitialization (line 146) | private async waitForInitialization(): Promise { method ensureControlSystem (line 153) | private ensureControlSystem(): void { method getDispatcher (line 172) | private getDispatcher(): ControlDispatcher | null { method handleFirstMessage (line 190) | private handleFirstMessage( method initializeSdkMode (line 228) | private async initializeSdkMode(request: CLIControlRequest): Promise { method enqueueUserMessage (line 369) | private enqueueUserMessage(userMessage: CLIUserMessage): void { method ensureProcessingStarted (line 374) | private ensureProcessingStarted(): void { method emitErrorResult (line 391) | private emitErrorResult( method handleInterrupt (line 408) | private handleInterrupt(): void { method setupSignalHandlers (line 415) | private setupSignalHandlers(): void { method waitForAllPendingWork (line 429) | private async waitForAllPendingWork(): Promise { method shutdown (line 462) | private async shutdown(): Promise { method cleanupSignalHandlers (line 474) | private cleanupSignalHandlers(): void { method run (line 497) | async run(): Promise { function extractUserMessageText (line 581) | function extractUserMessageText(message: CLIUserMessage): string | null { function runNonInteractiveStreamJson (line 606) | async function runNonInteractiveStreamJson( FILE: packages/cli/src/nonInteractive/types.ts type Annotation (line 10) | interface Annotation { type Usage (line 18) | interface Usage { type ExtendedUsage (line 26) | interface ExtendedUsage extends Usage { type ModelUsage (line 37) | interface ModelUsage { type CLIPermissionDenial (line 49) | interface CLIPermissionDenial { type TextBlock (line 58) | interface TextBlock { type ThinkingBlock (line 64) | interface ThinkingBlock { type ToolUseBlock (line 71) | interface ToolUseBlock { type ToolResultBlock (line 79) | interface ToolResultBlock { type ContentBlock (line 87) | type ContentBlock = type APIUserMessage (line 96) | interface APIUserMessage { type APIAssistantMessage (line 101) | interface APIAssistantMessage { type CLIUserMessage (line 114) | interface CLIUserMessage { type CLIAssistantMessage (line 123) | interface CLIAssistantMessage { type CLISystemMessage (line 131) | interface CLISystemMessage { type CLIResultMessageSuccess (line 157) | interface CLIResultMessageSuccess { type CLIResultMessageError (line 173) | interface CLIResultMessageError { type CLIResultMessage (line 193) | type CLIResultMessage = CLIResultMessageSuccess | CLIResultMessageError; type MessageStartStreamEvent (line 198) | interface MessageStartStreamEvent { type ContentBlockStartEvent (line 208) | interface ContentBlockStartEvent { type ContentBlockDelta (line 214) | type ContentBlockDelta = type ContentBlockDeltaEvent (line 228) | interface ContentBlockDeltaEvent { type ContentBlockStopEvent (line 234) | interface ContentBlockStopEvent { type MessageStopStreamEvent (line 239) | interface MessageStopStreamEvent { type ToolProgressStreamEvent (line 243) | interface ToolProgressStreamEvent { type StreamEvent (line 249) | type StreamEvent = type CLIPartialAssistantMessage (line 257) | interface CLIPartialAssistantMessage { type PermissionMode (line 265) | type PermissionMode = 'default' | 'plan' | 'auto-edit' | 'yolo'; type PermissionSuggestion (line 271) | interface PermissionSuggestion { type HookRegistration (line 281) | interface HookRegistration { type HookCallbackResult (line 289) | interface HookCallbackResult { type CLIControlInterruptRequest (line 296) | interface CLIControlInterruptRequest { type CLIControlPermissionRequest (line 300) | interface CLIControlPermissionRequest { type SDKMcpServerConfig (line 313) | interface SDKMcpServerConfig { type CLIMcpServerConfig (line 322) | interface CLIMcpServerConfig { type CLIControlInitializeRequest (line 357) | interface CLIControlInitializeRequest { type CLIControlSetPermissionModeRequest (line 374) | interface CLIControlSetPermissionModeRequest { type CLIHookCallbackRequest (line 379) | interface CLIHookCallbackRequest { type CLIControlMcpMessageRequest (line 386) | interface CLIControlMcpMessageRequest { type CLIControlSetModelRequest (line 397) | interface CLIControlSetModelRequest { type CLIControlMcpStatusRequest (line 402) | interface CLIControlMcpStatusRequest { type CLIControlSupportedCommandsRequest (line 406) | interface CLIControlSupportedCommandsRequest { type ControlRequestPayload (line 410) | type ControlRequestPayload = type CLIControlRequest (line 421) | interface CLIControlRequest { type PermissionApproval (line 430) | interface PermissionApproval { type ControlResponse (line 436) | interface ControlResponse { type ControlErrorResponse (line 442) | interface ControlErrorResponse { type CLIControlResponse (line 448) | interface CLIControlResponse { type ControlCancelRequest (line 453) | interface ControlCancelRequest { type ControlMessage (line 458) | type ControlMessage = type CLIMessage (line 466) | type CLIMessage = function isCLIUserMessage (line 477) | function isCLIUserMessage(msg: any): msg is CLIUserMessage { function isCLIAssistantMessage (line 483) | function isCLIAssistantMessage(msg: any): msg is CLIAssistantMessage { function isCLISystemMessage (line 495) | function isCLISystemMessage(msg: any): msg is CLISystemMessage { function isCLIResultMessage (line 506) | function isCLIResultMessage(msg: any): msg is CLIResultMessage { function isCLIPartialAssistantMessage (line 519) | function isCLIPartialAssistantMessage( function isControlRequest (line 533) | function isControlRequest(msg: any): msg is CLIControlRequest { function isControlResponse (line 543) | function isControlResponse(msg: any): msg is CLIControlResponse { function isControlCancel (line 552) | function isControlCancel(msg: any): msg is ControlCancelRequest { function isTextBlock (line 565) | function isTextBlock(block: any): block is TextBlock { function isThinkingBlock (line 569) | function isThinkingBlock(block: any): block is ThinkingBlock { function isToolUseBlock (line 573) | function isToolUseBlock(block: any): block is ToolUseBlock { function isToolResultBlock (line 577) | function isToolResultBlock(block: any): block is ToolResultBlock { FILE: packages/cli/src/nonInteractiveCli.test.ts function createMockMetrics (line 186) | function createMockMetrics( function setupMetricsMock (line 216) | function setupMetricsMock(overrides?: Partial): void { FILE: packages/cli/src/nonInteractiveCli.ts function emitNonInteractiveFinalMessage (line 54) | async function emitNonInteractiveFinalMessage(params: { type RunNonInteractiveOptions (line 100) | interface RunNonInteractiveOptions { function runNonInteractive (line 110) | async function runNonInteractive( FILE: packages/cli/src/nonInteractiveCliCommands.ts constant ALLOWED_BUILTIN_COMMANDS_NON_INTERACTIVE (line 41) | const ALLOWED_BUILTIN_COMMANDS_NON_INTERACTIVE = [ type NonInteractiveSlashCommandResult (line 58) | type NonInteractiveSlashCommandResult = function handleCommandResult (line 98) | function handleCommandResult( function filterCommandsForNonInteractive (line 196) | function filterCommandsForNonInteractive( FILE: packages/cli/src/services/BuiltinCommandLoader.ts class BuiltinCommandLoader (line 53) | class BuiltinCommandLoader implements ICommandLoader { method constructor (line 54) | constructor(private config: Config | null) {} method loadCommands (line 63) | async loadCommands(_signal: AbortSignal): Promise { FILE: packages/cli/src/services/BundledSkillLoader.test.ts function makeSkill (line 12) | function makeSkill(overrides: Partial = {}): SkillConfig { FILE: packages/cli/src/services/BundledSkillLoader.ts class BundledSkillLoader (line 25) | class BundledSkillLoader implements ICommandLoader { method constructor (line 26) | constructor(private readonly config: Config | null) {} method loadCommands (line 28) | async loadCommands(_signal: AbortSignal): Promise { FILE: packages/cli/src/services/CommandService.test.ts class MockCommandLoader (line 24) | class MockCommandLoader implements ICommandLoader { method constructor (line 27) | constructor(commandsToLoad: SlashCommand[]) { FILE: packages/cli/src/services/CommandService.ts class CommandService (line 24) | class CommandService { method constructor (line 29) | private constructor(private readonly commands: readonly SlashCommand[]... method create (line 50) | static async create( method getCommands (line 103) | getCommands(): readonly SlashCommand[] { FILE: packages/cli/src/services/FileCommandLoader.test.ts method constructor (line 39) | constructor( FILE: packages/cli/src/services/FileCommandLoader.ts type CommandDirectory (line 30) | interface CommandDirectory { class FileCommandLoader (line 59) | class FileCommandLoader implements ICommandLoader { method constructor (line 64) | constructor(private readonly config: Config | null) { method loadCommands (line 81) | async loadCommands(signal: AbortSignal): Promise { method getCommandDirectories (line 154) | private getCommandDirectories(): CommandDirectory[] { method getExtensionCommandsPaths (line 193) | private getExtensionCommandsPaths(ext: { method parseAndAdaptTomlFile (line 249) | private async parseAndAdaptTomlFile( method parseAndAdaptMarkdownFile (line 305) | private async parseAndAdaptMarkdownFile( 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 230) | parseArgs( FILE: packages/cli/src/services/command-factory.ts type CommandDefinition (line 36) | interface CommandDefinition { function createSlashCommandFromDefinition (line 54) | function createSlashCommandFromDefinition( FILE: packages/cli/src/services/command-migration-tool.ts type MigrationResult (line 17) | interface MigrationResult { type MigrationOptions (line 23) | interface MigrationOptions { function detectTomlCommands (line 37) | async function detectTomlCommands( function migrateTomlCommands (line 61) | async function migrateTomlCommands( function generateMigrationPrompt (line 138) | function generateMigrationPrompt(tomlFiles: string[]): string { FILE: packages/cli/src/services/insight/generators/DataProcessor.ts constant CONCURRENCY_LIMIT (line 40) | const CONCURRENCY_LIMIT = 4; class DataProcessor (line 42) | class DataProcessor { method constructor (line 43) | constructor(private config: Config) {} method formatDate (line 46) | private formatDate(date: Date): string { method formatRecordsForAnalysis (line 51) | private formatRecordsForAnalysis(records: ChatRecord[]): string { method hasUserAndAssistantRecords (line 86) | private hasUserAndAssistantRecords(records: ChatRecord[]): boolean { method analyzeSession (line 106) | private async analyzeSession( method calculateStreaks (line 225) | private calculateStreaks(dates: string[]): StreakData { method generateInsights (line 282) | async generateInsights( method aggregateFacetsData (line 326) | private aggregateFacetsData(facets: SessionFacets[]): { method generateQualitativeInsights (line 376) | private async generateQualitativeInsights( method prepareCommonPromptData (line 678) | private prepareCommonPromptData( method scanChatFiles (line 761) | private async scanChatFiles( method generateMetrics (line 818) | private async generateMetrics( method generateFacets (line 1000) | private async generateFacets( FILE: packages/cli/src/services/insight/generators/StaticInsightGenerator.ts class StaticInsightGenerator (line 18) | class StaticInsightGenerator { method constructor (line 22) | constructor(config: Config) { method ensureOutputDirectory (line 28) | private async ensureOutputDirectory(): Promise { method generateOutputPath (line 35) | private async generateOutputPath(outputDir: string): Promise { method updateInsightSymlink (line 54) | private async updateInsightSymlink( method generateStaticInsight (line 63) | async generateStaticInsight( FILE: packages/cli/src/services/insight/generators/TemplateRenderer.ts class TemplateRenderer (line 10) | class TemplateRenderer { method renderInsightHTML (line 12) | async renderInsightHTML(insights: InsightData): Promise { FILE: packages/cli/src/services/insight/types/QualitativeInsightTypes.ts type InsightImpressiveWorkflows (line 1) | interface InsightImpressiveWorkflows { type InsightProjectAreas (line 9) | interface InsightProjectAreas { type InsightFutureOpportunities (line 17) | interface InsightFutureOpportunities { type InsightFrictionPoints (line 27) | interface InsightFrictionPoints { type InsightMemorableMoment (line 36) | interface InsightMemorableMoment { type InsightImprovements (line 41) | interface InsightImprovements { type InsightInteractionStyle (line 61) | interface InsightInteractionStyle { type InsightAtAGlance (line 66) | interface InsightAtAGlance { type QualitativeInsights (line 73) | interface QualitativeInsights { FILE: packages/cli/src/services/insight/types/StaticInsightTypes.ts type HeatMapData (line 9) | interface HeatMapData { type InsightData (line 13) | interface InsightData { type StreakData (line 36) | interface StreakData { type SessionFacets (line 42) | interface SessionFacets { type StaticInsightTemplateData (line 78) | interface StaticInsightTemplateData { type InsightProgressCallback (line 86) | type InsightProgressCallback = ( FILE: packages/cli/src/services/markdown-command-parser.ts type MarkdownCommandDef (line 29) | type MarkdownCommandDef = z.infer; function parseMarkdownCommand (line 36) | function parseMarkdownCommand(content: string): MarkdownCommandDef { 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.ts class AtFileProcessor (line 23) | class AtFileProcessor implements IPromptProcessor { method constructor (line 24) | constructor(private readonly commandName?: string) {} method process (line 26) | 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 20) | function getExpectedEscapedArgForPlatform(arg: string): string { function createPromptPipelineContent (line 37) | function createPromptPipelineContent(text: string): PromptPipelineContent { constant SUCCESS_RESULT (line 55) | const SUCCESS_RESULT = { FILE: packages/cli/src/services/prompt-processors/shellProcessor.ts class ConfirmationRequiredError (line 26) | class ConfirmationRequiredError extends Error { method constructor (line 27) | constructor( type ResolvedShellInjection (line 40) | interface ResolvedShellInjection extends Injection { class ShellProcessor (line 55) | class ShellProcessor implements IPromptProcessor { method constructor (line 56) | constructor(private readonly commandName: string) {} method process (line 58) | async process( method processString (line 67) | 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 { FILE: packages/cli/src/test-utils/customMatchers.ts function toHaveOnlyValidCharacters (line 23) | function toHaveOnlyValidCharacters(this: Assertion, buffer: TextBuffer) { type Assertion (line 60) | interface Assertion { type AsymmetricMatchersContaining (line 63) | interface AsymmetricMatchersContaining { FILE: packages/cli/src/test-utils/mockCommandContext.ts type DeepPartial (line 15) | type DeepPartial = T extends object FILE: packages/cli/src/ui/AppContainer.test.tsx function TestContextConsumer (line 48) | function TestContextConsumer() { FILE: packages/cli/src/ui/AppContainer.tsx constant CTRL_EXIT_PROMPT_DURATION_MS (line 117) | const CTRL_EXIT_PROMPT_DURATION_MS = 1000; function isToolExecuting (line 120) | function isToolExecuting(pendingHistoryItems: HistoryItemWithoutId[]) { type AppContainerProps (line 131) | interface AppContainerProps { constant SHELL_WIDTH_FRACTION (line 143) | const SHELL_WIDTH_FRACTION = 0.89; constant SHELL_HEIGHT_PADDING (line 149) | const SHELL_HEIGHT_PADDING = 10; FILE: packages/cli/src/ui/CommandFormatMigrationNudge.tsx type CommandMigrationNudgeResult (line 14) | type CommandMigrationNudgeResult = { type CommandFormatMigrationNudgeProps (line 18) | interface CommandFormatMigrationNudgeProps { function CommandFormatMigrationNudge (line 23) | function CommandFormatMigrationNudge({ FILE: packages/cli/src/ui/FeedbackDialog.tsx constant FEEDBACK_OPTIONS (line 8) | const FEEDBACK_OPTIONS = { constant FEEDBACK_OPTION_KEYS (line 15) | const FEEDBACK_OPTION_KEYS = { constant FEEDBACK_DIALOG_KEYS (line 22) | const FEEDBACK_DIALOG_KEYS = ['1', '2', '3', '0'] as const; FILE: packages/cli/src/ui/IdeIntegrationNudge.tsx type IdeIntegrationNudgeResult (line 14) | type IdeIntegrationNudgeResult = { type IdeIntegrationNudgeProps (line 19) | interface IdeIntegrationNudgeProps { function IdeIntegrationNudge (line 24) | function IdeIntegrationNudge({ FILE: packages/cli/src/ui/auth/AuthDialog.tsx constant MODEL_PROVIDERS_DOCUMENTATION_URL (line 25) | const MODEL_PROVIDERS_DOCUMENTATION_URL = function parseDefaultAuthType (line 28) | function parseDefaultAuthType( type MainOption (line 41) | type MainOption = typeof AuthType.QWEN_OAUTH | 'CODING_PLAN' | 'API_KEY'; type ViewLevel (line 44) | type ViewLevel = 'main' | 'region-select' | 'api-key-input' | 'custom-in... function AuthDialog (line 46) | function AuthDialog(): React.JSX.Element { FILE: packages/cli/src/ui/auth/AuthInProgress.tsx type AuthInProgressProps (line 15) | interface AuthInProgressProps { function AuthInProgress (line 19) | function AuthInProgress({ FILE: packages/cli/src/ui/auth/useAuth.ts type OpenAICredentials (line 23) | interface OpenAICredentials { 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 AccentYellowDim (line 41) | get AccentYellowDim() { method AccentRedDim (line 44) | get AccentRedDim() { method DiffAdded (line 47) | get DiffAdded() { method DiffRemoved (line 50) | get DiffRemoved() { method Comment (line 53) | get Comment() { method Gray (line 56) | get Gray() { method GradientColors (line 59) | get GradientColors() { FILE: packages/cli/src/ui/commands/aboutCommand.ts method description (line 16) | get description() { FILE: packages/cli/src/ui/commands/agentsCommand.ts method description (line 16) | get description() { method description (line 23) | get description() { method description (line 34) | get description() { FILE: packages/cli/src/ui/commands/approvalModeCommand.ts function parseApprovalModeArg (line 22) | function parseApprovalModeArg(arg: string): ApprovalMode | undefined { method description (line 33) | get description() { FILE: packages/cli/src/ui/commands/arenaCommand.test.ts function getArenaSubCommand (line 21) | function getArenaSubCommand( FILE: packages/cli/src/ui/commands/arenaCommand.ts type ParsedModel (line 44) | interface ParsedModel { function parseArenaArgs (line 60) | function parseArenaArgs(args: string): { type ArenaExecutionInput (line 93) | interface ArenaExecutionInput { function buildArenaExecutionInput (line 99) | function buildArenaExecutionInput( function recordArenaItem (line 164) | function recordArenaItem(config: Config, item: HistoryItemWithoutId): vo... function executeArenaCommand (line 178) | function executeArenaCommand( FILE: packages/cli/src/ui/commands/authCommand.ts method description (line 14) | get description() { FILE: packages/cli/src/ui/commands/bugCommand.ts method description (line 20) | get description() { FILE: packages/cli/src/ui/commands/clearCommand.ts method description (line 21) | get description() { FILE: packages/cli/src/ui/commands/compressCommand.ts method description (line 16) | get description() { FILE: packages/cli/src/ui/commands/contextCommand.ts constant DEFAULT_COMPRESSION_THRESHOLD (line 35) | const DEFAULT_COMPRESSION_THRESHOLD = 0.7; function estimateTokens (line 41) | function estimateTokens(text: string): number { function parseMemoryFiles (line 61) | function parseMemoryFiles(memoryContent: string): ContextMemoryDetail[] { method description (line 92) | get description() { FILE: packages/cli/src/ui/commands/copyCommand.ts method description (line 14) | get description() { FILE: packages/cli/src/ui/commands/directoryCommand.tsx function expandHomeDir (line 16) | function expandHomeDir(p: string): string { function getDirPathCompletions (line 33) | function getDirPathCompletions(partialArg: string): string[] { method description (line 70) | get description() { method description (line 77) | get description() { method description (line 214) | get description() { FILE: packages/cli/src/ui/commands/docsCommand.ts method description (line 19) | get description() { FILE: packages/cli/src/ui/commands/editorCommand.ts method description (line 16) | get description() { FILE: packages/cli/src/ui/commands/exportCommand.test.ts class SessionService (line 26) | class SessionService { method constructor (line 27) | constructor(_cwd: string) {} method loadSession (line 28) | async loadSession(_sessionId: string) { FILE: packages/cli/src/ui/commands/exportCommand.ts function exportMarkdownAction (line 30) | async function exportMarkdownAction( function exportHtmlAction (line 103) | async function exportHtmlAction( function exportJsonAction (line 176) | async function exportJsonAction( function exportJsonlAction (line 249) | async function exportJsonlAction( method description (line 324) | get description() { method description (line 331) | get description() { method description (line 339) | get description() { method description (line 347) | get description() { method description (line 355) | get description() { FILE: packages/cli/src/ui/commands/extensionsCommand.ts constant EXTENSION_EXPLORE_URL (line 23) | const EXTENSION_EXPLORE_URL = { type ExtensionExploreSource (line 28) | type ExtensionExploreSource = keyof typeof EXTENSION_EXPLORE_URL; function exploreAction (line 30) | async function exploreAction(context: CommandContext, args: string) { function listAction (line 95) | async function listAction(_context: CommandContext, _args: string) { function installAction (line 102) | async function installAction(context: CommandContext, args: string) { function completeExtensions (line 159) | async function completeExtensions( function completeExtensionsAndScopes (line 191) | async function completeExtensionsAndScopes( function completeExtensionsExplore (line 202) | async function completeExtensionsExplore( method description (line 215) | get description() { method description (line 225) | get description() { method description (line 234) | get description() { method description (line 243) | get description() { FILE: packages/cli/src/ui/commands/helpCommand.ts method description (line 16) | get description() { FILE: packages/cli/src/ui/commands/hooksCommand.ts function formatHookSource (line 20) | function formatHookSource(source: string): string { function formatHookStatus (line 38) | function formatHookStatus(enabled: boolean): string { method description (line 44) | get description() { method description (line 119) | get description() { method description (line 188) | get description() { method description (line 257) | get description() { FILE: packages/cli/src/ui/commands/ideCommand.ts function getIdeStatusMessage (line 31) | function getIdeStatusMessage(ideClient: IdeClient): { function formatFileList (line 60) | function formatFileList(openFiles: File[]): string { function getIdeStatusMessageWithFiles (line 86) | async function getIdeStatusMessageWithFiles(ideClient: IdeClient): Promi... function setIdeModeAndSyncConnection (line 122) | async function setIdeModeAndSyncConnection( method description (line 142) | get description() { method description (line 159) | get description() { method description (line 168) | get description() { method description (line 185) | get description() { method description (line 275) | get description() { method description (line 299) | get description() { FILE: packages/cli/src/ui/commands/initCommand.ts method description (line 22) | get description() { FILE: packages/cli/src/ui/commands/insightCommand.ts method description (line 21) | get description() { FILE: packages/cli/src/ui/commands/languageCommand.ts function getCurrentOutputLanguage (line 39) | function getCurrentOutputLanguage(context?: CommandContext): { function parseUiLanguageArg (line 54) | function parseUiLanguageArg(input: string): SupportedLanguage | null { function formatUiLanguageDisplay (line 73) | function formatUiLanguageDisplay(lang: SupportedLanguage): string { function setUiLanguage (line 84) | async function setUiLanguage( function setOutputLanguage (line 126) | async function setOutputLanguage( method description (line 182) | get description() { method description (line 267) | get description() { method description (line 319) | get description() { method description (line 344) | get description() { FILE: packages/cli/src/ui/commands/mcpCommand.ts method description (line 13) | get description() { FILE: packages/cli/src/ui/commands/memoryCommand.ts method description (line 23) | get description() { method description (line 30) | get description() { method description (line 54) | get description() { method description (line 104) | get description() { method description (line 151) | get description() { method description (line 224) | get description() { method description (line 256) | get description() { method description (line 290) | get description() { FILE: packages/cli/src/ui/commands/modelCommand.test.ts function createMockConfig (line 18) | function createMockConfig( FILE: packages/cli/src/ui/commands/modelCommand.ts method description (line 18) | get description() { FILE: packages/cli/src/ui/commands/permissionsCommand.ts method description (line 13) | get description() { FILE: packages/cli/src/ui/commands/quitCommand.ts method description (line 14) | get description() { FILE: packages/cli/src/ui/commands/restoreCommand.ts function restoreAction (line 18) | async function restoreAction( function completion (line 121) | async function completion( method description (line 148) | get description() { FILE: packages/cli/src/ui/commands/resumeCommand.ts method description (line 14) | get description() { FILE: packages/cli/src/ui/commands/settingsCommand.ts method description (line 13) | get description() { FILE: packages/cli/src/ui/commands/setupGithubCommand.ts constant GITHUB_WORKFLOW_PATHS (line 28) | const GITHUB_WORKFLOW_PATHS = [ function getOpenUrlsCommands (line 37) | function getOpenUrlsCommands(readmeUrl: string): string[] { function updateGitignore (line 57) | async function updateGitignore(gitRepoRoot: string): Promise { method description (line 98) | get description() { FILE: packages/cli/src/ui/commands/skillsCommand.ts method description (line 23) | get description() { function getSkillMatches (line 108) | async function getSkillMatches( FILE: packages/cli/src/ui/commands/statsCommand.ts method description (line 20) | get description() { method description (line 49) | get description() { method description (line 64) | get description() { FILE: packages/cli/src/ui/commands/summaryCommand.ts method description (line 20) | get description() { FILE: packages/cli/src/ui/commands/terminalSetupCommand.ts method description (line 20) | get description() { FILE: packages/cli/src/ui/commands/themeCommand.ts method description (line 13) | get description() { FILE: packages/cli/src/ui/commands/toolsCommand.ts method description (line 17) | get description() { FILE: packages/cli/src/ui/commands/trustCommand.ts method description (line 13) | get description() { FILE: packages/cli/src/ui/commands/types.ts type CommandContext (line 24) | interface CommandContext { type ToolActionReturn (line 99) | interface ToolActionReturn { type QuitActionReturn (line 106) | interface QuitActionReturn { type MessageActionReturn (line 115) | interface MessageActionReturn { type StreamMessagesActionReturn (line 125) | interface StreamMessagesActionReturn { type OpenDialogActionReturn (line 137) | interface OpenDialogActionReturn { type LoadHistoryActionReturn (line 165) | interface LoadHistoryActionReturn { type SubmitPromptActionReturn (line 175) | interface SubmitPromptActionReturn { type ConfirmShellCommandsActionReturn (line 184) | interface ConfirmShellCommandsActionReturn { type ConfirmActionReturn (line 194) | interface ConfirmActionReturn { type SlashCommandActionReturn (line 204) | type SlashCommandActionReturn = type CommandKind (line 215) | enum CommandKind { type CommandCompletionItem (line 222) | interface CommandCompletionItem { type SlashCommand (line 229) | interface SlashCommand { FILE: packages/cli/src/ui/commands/vimCommand.ts method description (line 13) | get description() { FILE: packages/cli/src/ui/components/AboutBox.tsx type AboutBoxProps (line 14) | type AboutBoxProps = ExtendedSystemInfo & { FILE: packages/cli/src/ui/components/AnsiOutput.tsx constant DEFAULT_HEIGHT (line 15) | const DEFAULT_HEIGHT = 24; type AnsiOutputProps (line 17) | interface AnsiOutputProps { FILE: packages/cli/src/ui/components/ApiKeyInput.tsx type ApiKeyInputProps (line 17) | interface ApiKeyInputProps { constant CODING_PLAN_API_KEY_URL (line 23) | const CODING_PLAN_API_KEY_URL = constant CODING_PLAN_INTL_API_KEY_URL (line 26) | const CODING_PLAN_INTL_API_KEY_URL = function ApiKeyInput (line 29) | function ApiKeyInput({ FILE: packages/cli/src/ui/components/AppHeader.tsx type AppHeaderProps (line 16) | interface AppHeaderProps { function getAuthDisplayType (line 23) | function getAuthDisplayType( FILE: packages/cli/src/ui/components/ApprovalModeDialog.tsx type ApprovalModeDialogProps (line 20) | interface ApprovalModeDialogProps { function ApprovalModeDialog (line 49) | function ApprovalModeDialog({ FILE: packages/cli/src/ui/components/AutoAcceptIndicator.tsx type AutoAcceptIndicatorProps (line 13) | interface AutoAcceptIndicatorProps { FILE: packages/cli/src/ui/components/BaseTextInput.tsx type RenderLineOptions (line 35) | interface RenderLineOptions { type BaseTextInputProps (line 54) | interface BaseTextInputProps { function defaultRenderLine (line 87) | function defaultRenderLine({ FILE: packages/cli/src/ui/components/ConsentPrompt.tsx type ConsentPromptProps (line 13) | type ConsentPromptProps = { FILE: packages/cli/src/ui/components/ContextSummaryDisplay.tsx type ContextSummaryDisplayProps (line 18) | interface ContextSummaryDisplayProps { FILE: packages/cli/src/ui/components/DialogManager.tsx type DialogManagerProps (line 46) | interface DialogManagerProps { FILE: packages/cli/src/ui/components/EditorSettingsDialog.tsx type EditorDialogProps (line 30) | interface EditorDialogProps { function EditorSettingsDialog (line 36) | function EditorSettingsDialog({ FILE: packages/cli/src/ui/components/FolderTrustDialog.tsx type FolderTrustChoice (line 18) | enum FolderTrustChoice { type FolderTrustDialogProps (line 24) | interface FolderTrustDialogProps { FILE: packages/cli/src/ui/components/GeminiRespondingSpinner.tsx type GeminiRespondingSpinnerProps (line 19) | interface GeminiRespondingSpinnerProps { type GeminiSpinnerProps (line 50) | interface GeminiSpinnerProps { FILE: packages/cli/src/ui/components/Header.tsx type AuthDisplayType (line 20) | enum AuthDisplayType { type HeaderProps (line 27) | interface HeaderProps { FILE: packages/cli/src/ui/components/Help.tsx type Help (line 13) | interface Help { function formatCommandLabel (line 179) | function formatCommandLabel(command: SlashCommand, prefix = ''): string { FILE: packages/cli/src/ui/components/HistoryItemDisplay.tsx type HistoryItemDisplayProps (line 46) | interface HistoryItemDisplayProps { 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 2594) | function clean(str: string | undefined): string { FILE: packages/cli/src/ui/components/InputPrompt.tsx type Attachment (line 56) | interface Attachment { type InputPromptProps (line 63) | interface InputPromptProps { constant LARGE_PASTE_CHAR_THRESHOLD (line 90) | const LARGE_PASTE_CHAR_THRESHOLD = 1000; constant LARGE_PASTE_LINE_THRESHOLD (line 91) | const LARGE_PASTE_LINE_THRESHOLD = 10; FILE: packages/cli/src/ui/components/KeyboardShortcuts.tsx type Shortcut (line 13) | interface Shortcut { constant COLUMN_GAP (line 54) | const COLUMN_GAP = 4; constant MARGIN_LEFT (line 55) | const MARGIN_LEFT = 2; constant MARGIN_RIGHT (line 56) | const MARGIN_RIGHT = 2; constant COLUMN_SPLITS (line 59) | const COLUMN_SPLITS: Record = { FILE: packages/cli/src/ui/components/LoadingIndicator.tsx type LoadingIndicatorProps (line 19) | interface LoadingIndicatorProps { FILE: packages/cli/src/ui/components/LoopDetectionConfirmation.tsx type LoopDetectionConfirmationResult (line 13) | type LoopDetectionConfirmationResult = { type LoopDetectionConfirmationProps (line 17) | interface LoopDetectionConfirmationProps { function LoopDetectionConfirmation (line 21) | function LoopDetectionConfirmation({ FILE: packages/cli/src/ui/components/MainContent.tsx constant MAX_GEMINI_MESSAGE_LINES (line 21) | const MAX_GEMINI_MESSAGE_LINES = 65536; FILE: packages/cli/src/ui/components/ModelDialog.tsx function formatModalities (line 28) | function formatModalities(modalities?: InputModalities): string { type ModelDialogProps (line 39) | interface ModelDialogProps { function maskApiKey (line 43) | function maskApiKey(apiKey: string | undefined): string { function persistModelSelection (line 53) | function persistModelSelection( function persistAuthTypeSelection (line 61) | function persistAuthTypeSelection( type HandleModelSwitchSuccessParams (line 69) | interface HandleModelSwitchSuccessParams { function handleModelSwitchSuccess (line 78) | function handleModelSwitchSuccess({ function formatContextWindow (line 109) | function formatContextWindow(size?: number): string { function DetailRow (line 114) | function DetailRow({ function ModelDialog (line 133) | function ModelDialog({ onClose }: ModelDialogProps): React.JSX.Element { FILE: packages/cli/src/ui/components/ModelStatsDisplay.tsx constant METRIC_COL_WIDTH (line 20) | const METRIC_COL_WIDTH = 28; constant MODEL_COL_WIDTH (line 21) | const MODEL_COL_WIDTH = 22; type StatRowProps (line 23) | interface StatRowProps { type ModelStatsDisplayProps (line 53) | interface ModelStatsDisplayProps { FILE: packages/cli/src/ui/components/PermissionsDialog.tsx type TabId (line 33) | type TabId = 'allow' | 'ask' | 'deny' | 'workspace'; type Tab (line 35) | interface Tab { type DialogView (line 42) | type DialogView = type PermScopeItem (line 55) | interface PermScopeItem { function getPermScopeItems (line 62) | function getPermScopeItems(): PermScopeItem[] { function getTabs (line 83) | function getTabs(): Tab[] { function describeRule (line 108) | function describeRule(raw: string): string { function scopeLabel (line 122) | function scopeLabel(scope: string): string { type PermissionsDialogProps (line 139) | interface PermissionsDialogProps { function PermissionsDialog (line 147) | function PermissionsDialog({ function TabBar (line 943) | function TabBar({ function FooterHint (line 975) | function FooterHint({ view }: { view: DialogView }): React.JSX.Element { FILE: packages/cli/src/ui/components/PlanSummaryDisplay.tsx type PlanSummaryDisplayProps (line 13) | interface PlanSummaryDisplayProps { FILE: packages/cli/src/ui/components/PluginChoicePrompt.tsx type PluginChoice (line 13) | interface PluginChoice { type PluginChoicePromptProps (line 18) | type PluginChoicePromptProps = { constant MAX_VISIBLE_ITEMS (line 27) | const MAX_VISIBLE_ITEMS = 8; FILE: packages/cli/src/ui/components/PrepareLabel.tsx constant MAX_WIDTH (line 11) | const MAX_WIDTH = 150; type PrepareLabelProps (line 13) | interface PrepareLabelProps { 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/QwenOAuthProgress.tsx type QwenOAuthProgressProps (line 16) | interface QwenOAuthProgressProps { function formatTime (line 30) | function formatTime(seconds: number): string { function QwenOAuthProgress (line 36) | function QwenOAuthProgress({ FILE: packages/cli/src/ui/components/SessionPicker.tsx type SessionPickerProps (line 22) | interface SessionPickerProps { constant PREFIX_CHARS (line 35) | const PREFIX_CHARS = { type SessionListItemViewProps (line 42) | interface SessionListItemViewProps { function SessionListItemView (line 59) | function SessionListItemView({ function SessionPicker (line 119) | function SessionPicker(props: SessionPickerProps) { FILE: packages/cli/src/ui/components/SessionSummaryDisplay.tsx type SessionSummaryDisplayProps (line 15) | interface SessionSummaryDisplayProps { FILE: packages/cli/src/ui/components/SettingInputPrompt.tsx type SettingInputPromptProps (line 15) | type SettingInputPromptProps = { FILE: packages/cli/src/ui/components/SettingsDialog.test.tsx type TerminalKeys (line 43) | enum TerminalKeys { FILE: packages/cli/src/ui/components/SettingsDialog.tsx type SettingsDialogProps (line 41) | interface SettingsDialogProps { function SettingsDialog (line 53) | function SettingsDialog({ FILE: packages/cli/src/ui/components/ShellConfirmationDialog.tsx type ShellConfirmationRequest (line 17) | interface ShellConfirmationRequest { type ShellConfirmationDialogProps (line 25) | interface ShellConfirmationDialogProps { FILE: packages/cli/src/ui/components/ShellInputPrompt.tsx type ShellInputPromptProps (line 14) | interface ShellInputPromptProps { FILE: packages/cli/src/ui/components/ShowMoreLines.tsx type ShowMoreLinesProps (line 13) | interface ShowMoreLinesProps { FILE: packages/cli/src/ui/components/StandaloneSessionPicker.test.tsx function createMockSession (line 39) | function createMockSession( function createMockSessionService (line 56) | function createMockSessionService( FILE: packages/cli/src/ui/components/StandaloneSessionPicker.tsx type StandalonePickerScreenProps (line 14) | interface StandalonePickerScreenProps { function StandalonePickerScreen (line 21) | function StandalonePickerScreen({ function clearScreen (line 59) | function clearScreen(): void { function showResumeSessionPicker (line 68) | async function showResumeSessionPicker( FILE: packages/cli/src/ui/components/StatsDisplay.tsx type StatRowProps (line 25) | interface StatRowProps { type SubStatRowProps (line 42) | interface SubStatRowProps { type SectionProps (line 59) | interface SectionProps { type StatsDisplayProps (line 160) | interface StatsDisplayProps { FILE: packages/cli/src/ui/components/SuggestionsDisplay.tsx type Suggestion (line 12) | interface Suggestion { type SuggestionsDisplayProps (line 19) | interface SuggestionsDisplayProps { constant MAX_SUGGESTIONS_TO_SHOW (line 30) | const MAX_SUGGESTIONS_TO_SHOW = 8; function SuggestionsDisplay (line 33) | function SuggestionsDisplay({ FILE: packages/cli/src/ui/components/ThemeDialog.tsx type ThemeDialogProps (line 22) | interface ThemeDialogProps { function ThemeDialog (line 34) | function ThemeDialog({ FILE: packages/cli/src/ui/components/Tips.tsx type Tip (line 12) | type Tip = string | { text: string; weight: number }; function tipText (line 31) | function tipText(tip: Tip): string { function tipWeight (line 35) | function tipWeight(tip: Tip): number { function selectWeightedTip (line 39) | function selectWeightedTip(tips: Tip[]): string { FILE: packages/cli/src/ui/components/TodoDisplay.tsx type TodoItem (line 11) | interface TodoItem { type TodoDisplayProps (line 17) | interface TodoDisplayProps { constant STATUS_ICONS (line 21) | const STATUS_ICONS = { type TodoItemRowProps (line 41) | interface TodoItemRowProps { FILE: packages/cli/src/ui/components/ToolStatsDisplay.tsx constant TOOL_NAME_COL_WIDTH (line 22) | const TOOL_NAME_COL_WIDTH = 25; constant CALLS_COL_WIDTH (line 23) | const CALLS_COL_WIDTH = 8; constant SUCCESS_RATE_COL_WIDTH (line 24) | const SUCCESS_RATE_COL_WIDTH = 15; constant AVG_DURATION_COL_WIDTH (line 25) | const AVG_DURATION_COL_WIDTH = 15; type ToolStatsDisplayProps (line 56) | interface ToolStatsDisplayProps { FILE: packages/cli/src/ui/components/TrustDialog.tsx type TrustDialogProps (line 17) | interface TrustDialogProps { constant TRUST_LEVEL_ITEMS (line 22) | const TRUST_LEVEL_ITEMS = [ function TrustDialog (line 40) | function TrustDialog({ FILE: packages/cli/src/ui/components/UpdateNotification.tsx type UpdateNotificationProps (line 10) | interface UpdateNotificationProps { FILE: packages/cli/src/ui/components/WelcomeBackDialog.tsx type WelcomeBackDialogProps (line 17) | interface WelcomeBackDialogProps { function WelcomeBackDialog (line 23) | function WelcomeBackDialog({ FILE: packages/cli/src/ui/components/agent-view/AgentChatView.tsx type AgentChatViewProps (line 48) | interface AgentChatViewProps { FILE: packages/cli/src/ui/components/agent-view/AgentComposer.tsx type AgentComposerProps (line 50) | interface AgentComposerProps { FILE: packages/cli/src/ui/components/agent-view/AgentFooter.tsx type AgentFooterProps (line 20) | interface AgentFooterProps { FILE: packages/cli/src/ui/components/agent-view/AgentHeader.tsx type AgentHeaderProps (line 19) | interface AgentHeaderProps { FILE: packages/cli/src/ui/components/agent-view/AgentTabBar.tsx function statusIndicator (line 35) | function statusIndicator(agent: RegisteredAgent): { FILE: packages/cli/src/ui/components/agent-view/agentHistoryAdapter.test.ts function msg (line 17) | function msg( function toolCallMsg (line 27) | function toolCallMsg( function toolResultMsg (line 42) | function toolResultMsg( FILE: packages/cli/src/ui/components/agent-view/agentHistoryAdapter.ts function agentMessagesToHistoryItems (line 39) | function agentMessagesToHistoryItems( FILE: packages/cli/src/ui/components/arena/ArenaCards.tsx type ArenaAgentCardProps (line 18) | interface ArenaAgentCardProps { type ArenaSessionCardProps (line 79) | interface ArenaSessionCardProps { function pad (line 90) | function pad( function truncate (line 103) | function truncate(str: string, maxLen: number): string { function getDiffStats (line 112) | function getDiffStats(diff: string | undefined): { constant MAX_MODEL_NAME_LENGTH (line 131) | const MAX_MODEL_NAME_LENGTH = 35; FILE: packages/cli/src/ui/components/arena/ArenaSelectDialog.tsx type ArenaSelectDialogProps (line 24) | interface ArenaSelectDialogProps { function ArenaSelectDialog (line 31) | function ArenaSelectDialog({ FILE: packages/cli/src/ui/components/arena/ArenaStartDialog.tsx type ArenaStartDialogProps (line 18) | interface ArenaStartDialogProps { constant MODEL_PROVIDERS_DOCUMENTATION_URL (line 23) | const MODEL_PROVIDERS_DOCUMENTATION_URL = function ArenaStartDialog (line 26) | function ArenaStartDialog({ FILE: packages/cli/src/ui/components/arena/ArenaStatusDialog.tsx constant STATUS_REFRESH_INTERVAL_MS (line 24) | const STATUS_REFRESH_INTERVAL_MS = 2000; constant IN_PROCESS_REFRESH_INTERVAL_MS (line 25) | const IN_PROCESS_REFRESH_INTERVAL_MS = 1000; type ArenaStatusDialogProps (line 27) | interface ArenaStatusDialogProps { function truncate (line 33) | function truncate(str: string, maxLen: number): string { function pad (line 38) | function pad( function getElapsedMs (line 48) | function getElapsedMs(agent: ArenaAgentState): number { function getSessionStatusLabel (line 55) | function getSessionStatusLabel(status: ArenaSessionStatus): { constant MAX_MODEL_NAME_LENGTH (line 77) | const MAX_MODEL_NAME_LENGTH = 35; function ArenaStatusDialog (line 79) | function ArenaStatusDialog({ FILE: packages/cli/src/ui/components/arena/ArenaStopDialog.tsx type StopAction (line 24) | type StopAction = 'cleanup' | 'preserve'; type ArenaStopDialogProps (line 26) | interface ArenaStopDialogProps { function ArenaStopDialog (line 32) | function ArenaStopDialog({ FILE: packages/cli/src/ui/components/extensions/ExtensionsManagerDialog.tsx type ExtensionsManagerDialogProps (line 27) | interface ExtensionsManagerDialogProps { function ExtensionsManagerDialog (line 34) | function ExtensionsManagerDialog({ FILE: packages/cli/src/ui/components/extensions/steps/ActionSelectionStep.tsx type ActionSelectionStepProps (line 14) | interface ActionSelectionStepProps { method label (line 37) | get label() { method label (line 46) | get label() { method label (line 57) | get label() { method label (line 66) | get label() { method label (line 74) | get label() { FILE: packages/cli/src/ui/components/extensions/steps/ExtensionDetailStep.tsx type ExtensionDetailStepProps (line 12) | interface ExtensionDetailStepProps { FILE: packages/cli/src/ui/components/extensions/steps/ExtensionListStep.tsx type ExtensionListStepProps (line 15) | interface ExtensionListStepProps { FILE: packages/cli/src/ui/components/extensions/steps/ScopeSelectStep.tsx type ScopeSelectStepProps (line 13) | interface ScopeSelectStepProps { function ScopeSelectStep (line 19) | function ScopeSelectStep({ FILE: packages/cli/src/ui/components/extensions/steps/UninstallConfirmStep.tsx type UninstallConfirmStepProps (line 14) | interface UninstallConfirmStepProps { function UninstallConfirmStep (line 22) | function UninstallConfirmStep({ FILE: packages/cli/src/ui/components/extensions/types.ts constant MANAGEMENT_STEPS (line 12) | const MANAGEMENT_STEPS = { type StepNavigationProps (line 25) | interface StepNavigationProps { type ExtensionListStepProps (line 33) | interface ExtensionListStepProps extends StepNavigationProps { type ExtensionDetailStepProps (line 42) | interface ExtensionDetailStepProps extends StepNavigationProps { type ActionSelectionStepProps (line 49) | interface ActionSelectionStepProps extends StepNavigationProps { type UninstallConfirmStepProps (line 58) | interface UninstallConfirmStepProps extends StepNavigationProps { type ScopeSelectStepProps (line 66) | interface ScopeSelectStepProps extends StepNavigationProps { type ExtensionAction (line 75) | type ExtensionAction = type ExtensionsManagerDialogProps (line 86) | interface ExtensionsManagerDialogProps { FILE: packages/cli/src/ui/components/mcp/constants.ts constant MAX_DISPLAY_TOOLS (line 14) | const MAX_DISPLAY_TOOLS = 10; constant MAX_DISPLAY_PROMPTS (line 19) | const MAX_DISPLAY_PROMPTS = 10; constant VISIBLE_LOGS_COUNT (line 24) | const VISIBLE_LOGS_COUNT = 15; constant VISIBLE_TOOLS_COUNT (line 29) | const VISIBLE_TOOLS_COUNT = 10; constant SOURCE_DISPLAY_NAMES (line 34) | const SOURCE_DISPLAY_NAMES: Record = { constant STATUS_TEXT (line 43) | const STATUS_TEXT: Record = { FILE: packages/cli/src/ui/components/mcp/steps/AuthenticateStep.tsx type AuthState (line 22) | type AuthState = 'idle' | 'authenticating' | 'success' | 'error'; constant AUTO_BACK_DELAY_MS (line 24) | const AUTO_BACK_DELAY_MS = 2000; FILE: packages/cli/src/ui/components/mcp/steps/DisableScopeSelectStep.tsx method label (line 27) | get label() { method label (line 34) | get label() { FILE: packages/cli/src/ui/components/mcp/steps/ServerDetailStep.tsx constant LABEL_WIDTH (line 21) | const LABEL_WIDTH = 15; type ServerAction (line 23) | type ServerAction = FILE: packages/cli/src/ui/components/mcp/types.ts constant MCP_MANAGEMENT_STEPS (line 15) | const MCP_MANAGEMENT_STEPS = { type MCPManagementStep (line 24) | type MCPManagementStep = type MCPServerDisplayInfo (line 30) | interface MCPServerDisplayInfo { type MCPToolDisplayInfo (line 58) | interface MCPToolDisplayInfo { type MCPPromptDisplayInfo (line 84) | interface MCPPromptDisplayInfo { type GroupedServers (line 102) | interface GroupedServers { type ServerListStepProps (line 116) | interface ServerListStepProps { type ServerDetailStepProps (line 126) | interface ServerDetailStepProps { type DisableScopeSelectStepProps (line 146) | interface DisableScopeSelectStepProps { type ToolListStepProps (line 158) | interface ToolListStepProps { type ToolDetailStepProps (line 172) | interface ToolDetailStepProps { type AuthenticateStepProps (line 182) | interface AuthenticateStepProps { type MCPManagementDialogProps (line 192) | interface MCPManagementDialogProps { FILE: packages/cli/src/ui/components/mcp/utils.ts function groupServersBySource (line 13) | function groupServersBySource( function getStatusColor (line 48) | function getStatusColor( function getStatusIcon (line 66) | function getStatusIcon(status: string): string { function truncateText (line 82) | function truncateText(text: string, maxLength: number): string { function formatServerCommand (line 90) | function formatServerCommand(server: MCPServerDisplayInfo): string { function isToolValid (line 111) | function isToolValid(name?: string, description?: string): boolean { function getToolInvalidReasons (line 121) | function getToolInvalidReasons( FILE: packages/cli/src/ui/components/messages/AskUserQuestionDialog.tsx type AskUserQuestionDialogProps (line 20) | interface AskUserQuestionDialogProps { FILE: packages/cli/src/ui/components/messages/CompressionMessage.tsx type CompressionDisplayProps (line 15) | interface CompressionDisplayProps { function CompressionMessage (line 23) | function CompressionMessage({ FILE: packages/cli/src/ui/components/messages/ConversationMessages.tsx type UserMessageProps (line 17) | interface UserMessageProps { type UserShellMessageProps (line 21) | interface UserShellMessageProps { type AssistantMessageProps (line 25) | interface AssistantMessageProps { type AssistantMessageContentProps (line 32) | interface AssistantMessageContentProps { type ThinkMessageProps (line 39) | interface ThinkMessageProps { type ThinkMessageContentProps (line 46) | interface ThinkMessageContentProps { type PrefixedTextMessageProps (line 53) | interface PrefixedTextMessageProps { type PrefixedMarkdownMessageProps (line 63) | interface PrefixedMarkdownMessageProps { type ContinuationMarkdownMessageProps (line 74) | interface ContinuationMarkdownMessageProps { function getPrefixWidth (line 83) | function getPrefixWidth(prefix: string): number { FILE: packages/cli/src/ui/components/messages/DiffRenderer.tsx type DiffLine (line 16) | interface DiffLine { function parseDiffWithLineNumbers (line 23) | function parseDiffWithLineNumbers(diffContent: string): DiffLine[] { type DiffRendererProps (line 83) | interface DiffRendererProps { constant DEFAULT_TAB_WIDTH (line 93) | const DEFAULT_TAB_WIDTH = 4; FILE: packages/cli/src/ui/components/messages/InsightProgressMessage.tsx type InsightProgressMessageProps (line 13) | interface InsightProgressMessageProps { FILE: packages/cli/src/ui/components/messages/StatusMessages.tsx type StatusMessageProps (line 13) | interface StatusMessageProps { type StatusTextProps (line 21) | interface StatusTextProps { FILE: packages/cli/src/ui/components/messages/SummaryMessage.tsx type SummaryDisplayProps (line 13) | interface SummaryDisplayProps { FILE: packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx type ToolConfirmationMessageProps (line 30) | interface ToolConfirmationMessageProps { function availableBodyContentHeight (line 151) | function availableBodyContentHeight() { FILE: packages/cli/src/ui/components/messages/ToolGroupMessage.tsx type ToolGroupMessageProps (line 18) | interface ToolGroupMessageProps { FILE: packages/cli/src/ui/components/messages/ToolMessage.tsx constant STATIC_HEIGHT (line 37) | const STATIC_HEIGHT = 1; constant RESERVED_LINE_COUNT (line 38) | const RESERVED_LINE_COUNT = 5; constant STATUS_INDICATOR_WIDTH (line 39) | const STATUS_INDICATOR_WIDTH = 3; constant MIN_LINES_SHOWN (line 40) | const MIN_LINES_SHOWN = 2; constant MAXIMUM_RESULT_DISPLAY_CHARACTERS (line 44) | const MAXIMUM_RESULT_DISPLAY_CHARACTERS = 1000000; type TextEmphasis (line 45) | type TextEmphasis = 'high' | 'medium' | 'low'; type DisplayRendererResult (line 47) | type DisplayRendererResult = type ToolMessageProps (line 243) | interface ToolMessageProps extends IndividualToolCallDisplay { type ToolStatusIndicatorProps (line 405) | type ToolStatusIndicatorProps = { type ToolInfo (line 452) | type ToolInfo = { FILE: packages/cli/src/ui/components/shared/BaseSelectionList.tsx type RenderItemContext (line 15) | interface RenderItemContext { type BaseSelectionListProps (line 21) | interface BaseSelectionListProps< function BaseSelectionList (line 52) | function BaseSelectionList< 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 44) | function DescriptiveRadioButtonSelect({ FILE: packages/cli/src/ui/components/shared/EnumSelector.test.tsx constant LANGUAGE_OPTIONS (line 12) | const LANGUAGE_OPTIONS: readonly SettingEnumOption[] = [ constant NUMERIC_OPTIONS (line 19) | 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/MaxSizedBox.tsx constant MINIMUM_MAX_HEIGHT (line 23) | const MINIMUM_MAX_HEIGHT = 2; function setMaxSizedBoxDebugging (line 25) | function setMaxSizedBoxDebugging(value: boolean) { function debugReportError (line 29) | function debugReportError(message: string, element: React.ReactNode) { type MaxSizedBoxProps (line 57) | interface MaxSizedBoxProps { function visitRows (line 123) | function visitRows(element: React.ReactNode) { type StyledText (line 211) | interface StyledText { type Row (line 223) | interface Row { function visitBoxRow (line 255) | function visitBoxRow(element: React.ReactNode): Row { function layoutInkElementAsStyledText (line 384) | function layoutInkElementAsStyledText( FILE: packages/cli/src/ui/components/shared/MultiSelect.tsx type MultiSelectItem (line 15) | interface MultiSelectItem extends SelectionListItem { type MultiSelectProps (line 19) | interface MultiSelectProps { constant EMPTY_SELECTED_KEYS (line 32) | const EMPTY_SELECTED_KEYS: string[] = []; function getSelectedValues (line 34) | function getSelectedValues( function MultiSelect (line 43) | function MultiSelect({ FILE: packages/cli/src/ui/components/shared/RadioButtonSelect.test.tsx type RadioRenderItemFn (line 35) | type RadioRenderItemFn = ( FILE: packages/cli/src/ui/components/shared/RadioButtonSelect.tsx type RadioSelectItem (line 17) | interface RadioSelectItem extends SelectionListItem { type RadioButtonSelectProps (line 27) | interface RadioButtonSelectProps { function RadioButtonSelect (line 52) | function RadioButtonSelect({ FILE: packages/cli/src/ui/components/shared/ScopeSelector.tsx type ScopeSelectorProps (line 14) | interface ScopeSelectorProps { function ScopeSelector (line 25) | function ScopeSelector({ FILE: packages/cli/src/ui/components/shared/TextInput.tsx type TextInputProps (line 20) | interface TextInputProps { function TextInput (line 38) | function TextInput({ FILE: packages/cli/src/ui/components/shared/text-buffer.ts type Direction (line 25) | type Direction = function isWordChar (line 36) | function isWordChar(ch: string | undefined): boolean { type Viewport (line 503) | interface Viewport { function clamp (line 508) | function clamp(v: number, min: number, max: number): number { type UseTextBufferProps (line 514) | interface UseTextBufferProps { type UndoHistoryEntry (line 525) | interface UndoHistoryEntry { function calculateInitialCursorPosition (line 531) | function calculateInitialCursorPosition( function offsetToLogicalPos (line 558) | function offsetToLogicalPos( function logicalPosToOffset (line 611) | function logicalPosToOffset( type VisualLayout (line 634) | interface VisualLayout { function calculateLayout (line 644) | function calculateLayout( function calculateVisualCursorFromLayout (line 798) | function calculateVisualCursorFromLayout( type TextBufferState (line 850) | interface TextBufferState { type TextBufferAction (line 879) | type TextBufferAction = function textBufferReducerLogic (line 954) | function textBufferReducerLogic( function textBufferReducer (line 1500) | function textBufferReducer( function useTextBuffer (line 1521) | function useTextBuffer({ type TextBuffer (line 2121) | interface TextBuffer { FILE: packages/cli/src/ui/components/shared/vim-buffer-actions.ts function isAtEndOfBaseWord (line 25) | function isAtEndOfBaseWord(lineCodePoints: string[], col: number): boole... type VimAction (line 40) | type VimAction = Extract< function handleVimAction (line 76) | function handleVimAction( FILE: packages/cli/src/ui/components/subagents/constants.ts constant WIZARD_STEPS (line 12) | const WIZARD_STEPS = { constant TOTAL_WIZARD_STEPS (line 22) | const TOTAL_WIZARD_STEPS = 6; constant STEP_NAMES (line 25) | const STEP_NAMES: Record = { constant COLOR_OPTIONS (line 35) | const COLOR_OPTIONS = [ FILE: packages/cli/src/ui/components/subagents/create/AgentCreationWizard.tsx type AgentCreationWizardProps (line 25) | interface AgentCreationWizardProps { function AgentCreationWizard (line 33) | function AgentCreationWizard({ FILE: packages/cli/src/ui/components/subagents/create/ColorSelector.tsx type ColorSelectorProps (line 16) | interface ColorSelectorProps { function ColorSelector (line 25) | function ColorSelector({ FILE: packages/cli/src/ui/components/subagents/create/CreationSummary.tsx function CreationSummary (line 26) | function CreationSummary({ FILE: packages/cli/src/ui/components/subagents/create/DescriptionInput.tsx function DescriptionInput (line 22) | function DescriptionInput({ FILE: packages/cli/src/ui/components/subagents/create/GenerationMethodSelector.tsx type GenerationOption (line 12) | interface GenerationOption { method label (line 19) | get label() { method label (line 25) | get label() { function GenerationMethodSelector (line 35) | function GenerationMethodSelector({ FILE: packages/cli/src/ui/components/subagents/create/LocationSelector.tsx type LocationOption (line 12) | interface LocationOption { method label (line 19) | get label() { method label (line 25) | get label() { function LocationSelector (line 35) | function LocationSelector({ state, dispatch, onNext }: WizardStepProps) { FILE: packages/cli/src/ui/components/subagents/create/TextEntryStep.tsx type TextEntryStepProps (line 13) | interface TextEntryStepProps function TextEntryStep (line 33) | function TextEntryStep({ FILE: packages/cli/src/ui/components/subagents/create/ToolSelector.tsx type ToolOption (line 15) | interface ToolOption { type ToolSelectorProps (line 21) | interface ToolSelectorProps { function ToolSelector (line 30) | function ToolSelector({ FILE: packages/cli/src/ui/components/subagents/manage/ActionSelectionStep.tsx type ActionSelectionStepProps (line 14) | interface ActionSelectionStepProps { method label (line 33) | get label() { method label (line 40) | get label() { method label (line 47) | get label() { method label (line 54) | get label() { FILE: packages/cli/src/ui/components/subagents/manage/AgentDeleteStep.tsx type AgentDeleteStepProps (line 15) | interface AgentDeleteStepProps extends StepNavigationProps { function AgentDeleteStep (line 22) | function AgentDeleteStep({ FILE: packages/cli/src/ui/components/subagents/manage/AgentEditStep.tsx type EditOption (line 16) | interface EditOption { method label (line 24) | get label() { method label (line 30) | get label() { method label (line 36) | get label() { type EditOptionsStepProps (line 42) | interface EditOptionsStepProps { function EditOptionsStep (line 50) | function EditOptionsStep({ FILE: packages/cli/src/ui/components/subagents/manage/AgentSelectionStep.tsx type NavigationState (line 14) | interface NavigationState { type AgentSelectionStepProps (line 22) | interface AgentSelectionStepProps { FILE: packages/cli/src/ui/components/subagents/manage/AgentViewerStep.tsx type AgentViewerStepProps (line 13) | interface AgentViewerStepProps { FILE: packages/cli/src/ui/components/subagents/manage/AgentsManagerDialog.tsx type AgentsManagerDialogProps (line 24) | interface AgentsManagerDialogProps { function AgentsManagerDialog (line 34) | function AgentsManagerDialog({ FILE: packages/cli/src/ui/components/subagents/reducers.tsx function wizardReducer (line 32) | function wizardReducer( function validateStep (line 163) | function validateStep(step: number, state: CreationWizardState): boolean { FILE: packages/cli/src/ui/components/subagents/runtime/AgentExecutionDisplay.tsx type DisplayMode (line 20) | type DisplayMode = 'compact' | 'default' | 'verbose'; type AgentExecutionDisplayProps (line 22) | interface AgentExecutionDisplayProps { constant MAX_TOOL_CALLS (line 68) | const MAX_TOOL_CALLS = 5; constant MAX_TASK_PROMPT_LINES (line 69) | const MAX_TASK_PROMPT_LINES = 5; FILE: packages/cli/src/ui/components/subagents/types.ts type CreationWizardState (line 12) | interface CreationWizardState { type ToolCategory (line 53) | interface ToolCategory { type ColorOption (line 62) | interface ColorOption { type WizardAction (line 71) | type WizardAction = type WizardStepProps (line 96) | interface WizardStepProps { type WizardResult (line 108) | interface WizardResult { constant MANAGEMENT_STEPS (line 117) | const MANAGEMENT_STEPS = { type StepNavigationProps (line 130) | interface StepNavigationProps { FILE: packages/cli/src/ui/components/subagents/utils.ts function sanitizeInput (line 20) | function sanitizeInput(input: string): string { function fmtDuration (line 30) | function fmtDuration(ms: number): string { type StepKind (line 44) | type StepKind = function getTotalSteps (line 55) | function getTotalSteps(method: 'qwen' | 'manual'): number { function getStepKind (line 59) | function getStepKind( FILE: packages/cli/src/ui/components/views/ContextUsage.tsx constant FILLED (line 19) | const FILLED = '\u2588'; constant BUFFER (line 20) | const BUFFER = '\u2592'; constant EMPTY (line 21) | const EMPTY = '\u2591'; constant CONTENT_WIDTH (line 23) | const CONTENT_WIDTH = 56; type ContextUsageProps (line 25) | interface ContextUsageProps { function truncateName (line 43) | function truncateName(name: string, maxLen: number): string { function formatTokens (line 51) | function formatTokens(tokens: number): string { constant DETAIL_NAME_MAX_LEN (line 124) | const DETAIL_NAME_MAX_LEN = 30; 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 13) | interface SkillsListProps { FILE: packages/cli/src/ui/components/views/ToolsList.tsx type ToolsListProps (line 14) | interface ToolsListProps { FILE: packages/cli/src/ui/constants.ts constant BOX_PADDING_X (line 9) | const BOX_PADDING_X = 1; constant UI_WIDTH (line 12) | const UI_WIDTH = constant STREAM_DEBOUNCE_MS (line 15) | const STREAM_DEBOUNCE_MS = 100; constant SHELL_COMMAND_NAME (line 17) | const SHELL_COMMAND_NAME = 'Shell Command'; constant SHELL_NAME (line 19) | const SHELL_NAME = 'Shell'; constant TOOL_STATUS (line 22) | const TOOL_STATUS = { FILE: packages/cli/src/ui/contexts/AgentViewContext.tsx type RegisteredAgent (line 34) | interface RegisteredAgent { type AgentViewState (line 43) | interface AgentViewState { type AgentViewActions (line 58) | interface AgentViewActions { constant DEFAULT_STATE (line 85) | const DEFAULT_STATE: AgentViewState = { constant DEFAULT_ACTIONS (line 96) | const DEFAULT_ACTIONS: AgentViewActions = { function useAgentViewState (line 112) | function useAgentViewState(): AgentViewState { function useAgentViewActions (line 118) | function useAgentViewActions(): AgentViewActions { type AgentViewProviderProps (line 124) | interface AgentViewProviderProps { function AgentViewProvider (line 129) | function AgentViewProvider({ FILE: packages/cli/src/ui/contexts/AppContext.tsx type AppState (line 9) | interface AppState { FILE: packages/cli/src/ui/contexts/KeypressContext.test.tsx class MockStdin (line 33) | class MockStdin extends EventEmitter { method pressKey (line 43) | pressKey(key: Partial) { method sendKittySequence (line 48) | sendKittySequence(sequence: string) { method sendPaste (line 53) | sendPaste(text: string) { FILE: packages/cli/src/ui/contexts/KeypressContext.tsx constant ESC (line 43) | const ESC = '\u001B'; constant PASTE_MODE_PREFIX (line 44) | const PASTE_MODE_PREFIX = `${ESC}[200~`; constant PASTE_MODE_SUFFIX (line 45) | const PASTE_MODE_SUFFIX = `${ESC}[201~`; constant DRAG_COMPLETION_TIMEOUT_MS (line 46) | const DRAG_COMPLETION_TIMEOUT_MS = 100; constant SINGLE_QUOTE (line 47) | const SINGLE_QUOTE = "'"; constant DOUBLE_QUOTE (line 48) | const DOUBLE_QUOTE = '"'; constant KITTY_KEYPAD_PRINTABLE_KEYCODE_TO_CHAR (line 52) | const KITTY_KEYPAD_PRINTABLE_KEYCODE_TO_CHAR: Record = { constant KITTY_KEYPAD_FUNCTIONAL_KEYCODE_TO_NAME (line 73) | const KITTY_KEYPAD_FUNCTIONAL_KEYCODE_TO_NAME: Record = { type Key (line 86) | interface Key { type KeypressHandler (line 97) | type KeypressHandler = (key: Key) => void; type KeypressContextValue (line 99) | interface KeypressContextValue { function useKeypressContext (line 110) | function useKeypressContext() { function KeypressProvider (line 120) | function KeypressProvider({ FILE: packages/cli/src/ui/contexts/OverflowContext.tsx type OverflowState (line 16) | interface OverflowState { type OverflowActions (line 20) | interface OverflowActions { 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 52) | function areToolCallStatsEqual(a: ToolCallStats, b: ToolCallStats): bool... function areMetricsEqual (line 76) | function areMetricsEqual(a: SessionMetrics, b: SessionMetrics): boolean { type SessionStatsState (line 143) | interface SessionStatsState { type ComputedSessionStats (line 151) | interface ComputedSessionStats { type SessionStatsContextValue (line 169) | interface SessionStatsContextValue { FILE: packages/cli/src/ui/contexts/UIActionsContext.tsx type OpenAICredentials (line 22) | interface OpenAICredentials { type UIActions (line 28) | interface UIActions { FILE: packages/cli/src/ui/contexts/UIStateContext.tsx type UIState (line 38) | interface UIState { FILE: packages/cli/src/ui/contexts/VimModeContext.tsx type VimMode (line 17) | type VimMode = 'NORMAL' | 'INSERT'; type VimModeContextType (line 19) | interface VimModeContextType { FILE: packages/cli/src/ui/editors/editorSettingsManager.ts type EditorDisplay (line 13) | interface EditorDisplay { constant EDITOR_DISPLAY_NAMES (line 19) | const EDITOR_DISPLAY_NAMES: Record = { class EditorSettingsManager (line 31) | class EditorSettingsManager { method constructor (line 34) | constructor() { method getAvailableEditorDisplays (line 62) | getAvailableEditorDisplays(): EditorDisplay[] { FILE: packages/cli/src/ui/hooks/atCommandProcessor.test.ts function createTestFile (line 32) | async function createTestFile(fullPath: string, fileContents: string) { FILE: packages/cli/src/ui/hooks/atCommandProcessor.ts type HandleAtCommandParams (line 25) | interface HandleAtCommandParams { type HandleAtCommandResult (line 34) | interface HandleAtCommandResult { type AtCommandPart (line 41) | interface AtCommandPart { function parseAllAtCommands (line 50) | function parseAllAtCommands(query: string): AtCommandPart[] { function handleAtCommand (line 129) | async function handleAtCommand({ FILE: packages/cli/src/ui/hooks/keyToAnsi.ts function keyToAnsi (line 18) | function keyToAnsi(key: Key): string | null { FILE: packages/cli/src/ui/hooks/shellCommandProcessor.ts constant OUTPUT_UPDATE_INTERVAL_MS (line 34) | const OUTPUT_UPDATE_INTERVAL_MS = 1000; constant MAX_OUTPUT_LENGTH (line 35) | const MAX_OUTPUT_LENGTH = 10000; function addShellCommandToGeminiHistory (line 38) | function addShellCommandToGeminiHistory( FILE: packages/cli/src/ui/hooks/slashCommandProcessor.test.ts function createTestCommand (line 95) | function createTestCommand( FILE: packages/cli/src/ui/hooks/slashCommandProcessor.ts type SerializableHistoryItem (line 46) | type SerializableHistoryItem = Record; function serializeHistoryItemForRecording (line 49) | function serializeHistoryItemForRecording( constant SLASH_COMMANDS_SKIP_RECORDING (line 59) | const SLASH_COMMANDS_SKIP_RECORDING = new Set([ type SlashCommandProcessorActions (line 68) | interface SlashCommandProcessorActions { FILE: packages/cli/src/ui/hooks/useAgentStreamingState.ts type AgentStreamingInfo (line 29) | interface AgentStreamingInfo { function useAgentStreamingState (line 53) | function useAgentStreamingState( constant DEFAULT_EVENTS (line 162) | const DEFAULT_EVENTS = [ FILE: packages/cli/src/ui/hooks/useAgentsManagerDialog.ts type UseAgentsManagerDialogReturn (line 9) | interface UseAgentsManagerDialogReturn { FILE: packages/cli/src/ui/hooks/useApprovalModeCommand.ts type UseApprovalModeCommandReturn (line 11) | interface UseApprovalModeCommandReturn { FILE: packages/cli/src/ui/hooks/useArenaCommand.ts type ArenaDialogType (line 9) | type ArenaDialogType = 'start' | 'select' | 'stop' | 'status' | null; type UseArenaCommandReturn (line 11) | interface UseArenaCommandReturn { function useArenaCommand (line 17) | function useArenaCommand(): UseArenaCommandReturn { FILE: packages/cli/src/ui/hooks/useArenaInProcess.ts constant AGENT_COLORS (line 32) | const AGENT_COLORS = [ function useArenaInProcess (line 47) | function useArenaInProcess( FILE: packages/cli/src/ui/hooks/useAtCompletion.test.ts function useTestHarnessForAtCompletion (line 20) | function useTestHarnessForAtCompletion( FILE: packages/cli/src/ui/hooks/useAtCompletion.ts type AtCompletionStatus (line 13) | enum AtCompletionStatus { type AtCompletionState (line 21) | interface AtCompletionState { type AtCompletionAction (line 28) | type AtCompletionAction = function atCompletionReducer (line 44) | function atCompletionReducer( type UseAtCompletionProps (line 91) | interface UseAtCompletionProps { function useAtCompletion (line 100) | function useAtCompletion(props: UseAtCompletionProps): void { FILE: packages/cli/src/ui/hooks/useAttentionNotifications.ts constant LONG_TASK_NOTIFICATION_THRESHOLD_SECONDS (line 20) | const LONG_TASK_NOTIFICATION_THRESHOLD_SECONDS = 20; type UseAttentionNotificationsOptions (line 22) | interface UseAttentionNotificationsOptions { FILE: packages/cli/src/ui/hooks/useAutoAcceptIndicator.test.ts type MockConfigInstanceShape (line 37) | interface MockConfigInstanceShape { type UseKeypressHandler (line 56) | type UseKeypressHandler = (key: Key) => void; FILE: packages/cli/src/ui/hooks/useAutoAcceptIndicator.ts type UseAutoAcceptIndicatorArgs (line 17) | interface UseAutoAcceptIndicatorArgs { function useAutoAcceptIndicator (line 26) | function useAutoAcceptIndicator({ FILE: packages/cli/src/ui/hooks/useBracketedPaste.ts constant ENABLE_BRACKETED_PASTE (line 9) | const ENABLE_BRACKETED_PASTE = '\x1b[?2004h'; constant DISABLE_BRACKETED_PASTE (line 10) | const DISABLE_BRACKETED_PASTE = '\x1b[?2004l'; FILE: packages/cli/src/ui/hooks/useCodingPlanUpdates.ts type CodingPlanUpdateRequest (line 20) | interface CodingPlanUpdateRequest { function useCodingPlanUpdates (line 30) | function useCodingPlanUpdates( FILE: packages/cli/src/ui/hooks/useCommandCompletion.test.ts function useTextBufferForTest (line 91) | function useTextBufferForTest(text: string, cursorOffset?: number) { FILE: packages/cli/src/ui/hooks/useCommandCompletion.tsx type CompletionMode (line 19) | enum CompletionMode { type UseCommandCompletionReturn (line 25) | interface UseCommandCompletionReturn { function useCommandCompletion (line 40) | function useCommandCompletion( FILE: packages/cli/src/ui/hooks/useCommandMigration.ts function useCommandMigration (line 16) | function useCommandMigration( FILE: packages/cli/src/ui/hooks/useCompletion.ts type UseCompletionReturn (line 12) | interface UseCompletionReturn { function useCompletion (line 30) | function useCompletion(): UseCompletionReturn { FILE: packages/cli/src/ui/hooks/useDialogClose.ts type OpenAICredentials (line 12) | interface OpenAICredentials { type DialogCloseOptions (line 18) | interface DialogCloseOptions { function useDialogClose (line 63) | function useDialogClose(options: DialogCloseOptions) { FILE: packages/cli/src/ui/hooks/useEditorSettings.ts type UseEditorSettingsReturn (line 16) | interface UseEditorSettingsReturn { FILE: packages/cli/src/ui/hooks/useExtensionUpdates.test.ts function createMockExtension (line 36) | function createMockExtension(overrides: Partial = {}): Extens... function createMockExtensionManager (line 57) | function createMockExtensionManager( FILE: packages/cli/src/ui/hooks/useExtensionUpdates.ts type ConfirmationRequestWrapper (line 24) | type ConfirmationRequestWrapper = { type ConfirmationRequestAction (line 29) | type ConfirmationRequestAction = function confirmationRequestsReducer (line 33) | function confirmationRequestsReducer( type SettingInputRequestWrapper (line 80) | type SettingInputRequestWrapper = { type SettingInputRequestAction (line 88) | type SettingInputRequestAction = function settingInputRequestsReducer (line 92) | function settingInputRequestsReducer( type PluginChoiceRequestWrapper (line 148) | type PluginChoiceRequestWrapper = { type PluginChoiceRequestAction (line 155) | type PluginChoiceRequestAction = function pluginChoiceRequestsReducer (line 159) | function pluginChoiceRequestsReducer( FILE: packages/cli/src/ui/hooks/useExtensionsManagerDialog.ts type UseExtensionsManagerDialogReturn (line 9) | interface UseExtensionsManagerDialogReturn { FILE: packages/cli/src/ui/hooks/useFeedbackDialog.ts constant FEEDBACK_SHOW_PROBABILITY (line 22) | const FEEDBACK_SHOW_PROBABILITY = 0.25; constant MIN_TOOL_CALLS (line 23) | const MIN_TOOL_CALLS = 10; constant MIN_USER_MESSAGES (line 24) | const MIN_USER_MESSAGES = 5; constant FEEDBACK_COOLDOWN_HOURS (line 27) | const FEEDBACK_COOLDOWN_HOURS = 24; type UseFeedbackDialogProps (line 85) | interface UseFeedbackDialogProps { 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.test.tsx method getSessionId (line 196) | getSessionId() { FILE: packages/cli/src/ui/hooks/useGeminiStream.ts function checkImageFormatsSupport (line 79) | function checkImageFormatsSupport(parts: PartListUnion): { type StreamProcessingStatus (line 130) | enum StreamProcessingStatus { constant EDIT_TOOL_NAMES (line 136) | const EDIT_TOOL_NAMES = new Set(['replace', 'write_file']); function showCitations (line 138) | function showCitations(settings: LoadedSettings): boolean { FILE: packages/cli/src/ui/hooks/useGitBranchName.test.ts constant CWD (line 44) | const CWD = '/test/project'; constant GIT_LOGS_HEAD_PATH (line 45) | const GIT_LOGS_HEAD_PATH = `${CWD}/.git/logs/HEAD`; 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 11) | type HistoryItemUpdater = ( type UseHistoryManagerReturn (line 15) | interface UseHistoryManagerReturn { function useHistory (line 32) | function useHistory(): UseHistoryManagerReturn { 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/useInputHistory.ts type UseInputHistoryProps (line 9) | interface UseInputHistoryProps { type UseInputHistoryReturn (line 17) | interface UseInputHistoryReturn { function useInputHistory (line 24) | 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 26) | function useInputHistoryStore(): UseInputHistoryStoreReturn { FILE: packages/cli/src/ui/hooks/useKeypress.test.ts class MockStdin (line 55) | class MockStdin extends EventEmitter { method setLegacy (line 66) | setLegacy(isLegacy: boolean) { method paste (line 71) | paste(text: string) { method startPaste (line 84) | startPaste(text: string) { method pressKey (line 94) | pressKey(key: Partial) { FILE: packages/cli/src/ui/hooks/useKeypress.ts function useKeypress (line 20) | function useKeypress( FILE: packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts type KittyProtocolStatus (line 13) | interface KittyProtocolStatus { function useKittyKeyboardProtocol (line 23) | function useKittyKeyboardProtocol(): KittyProtocolStatus { FILE: packages/cli/src/ui/hooks/useLaunchEditor.ts function commandExists (line 20) | function commandExists(cmd: string): boolean { function getExecutableCommand (line 32) | function getExecutableCommand(editorType: EditorType): string { function getEditorCommand (line 53) | function getEditorCommand(preferredEditor?: EditorType): string { function useLaunchEditor (line 73) | function useLaunchEditor() { FILE: packages/cli/src/ui/hooks/useLoadingIndicator.test.ts constant MOCK_WITTY_PHRASES (line 14) | const MOCK_WITTY_PHRASES = ['Phrase 1', 'Phrase 2', 'Phrase 3']; FILE: packages/cli/src/ui/hooks/useMcpDialog.ts type UseMcpDialogReturn (line 9) | interface UseMcpDialogReturn { 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.ts type UseMessageQueueOptions (line 10) | interface UseMessageQueueOptions { type UseMessageQueueReturn (line 16) | interface UseMessageQueueReturn { function useMessageQueue (line 28) | function useMessageQueue({ FILE: packages/cli/src/ui/hooks/useModelCommand.ts type UseModelCommandReturn (line 9) | interface UseModelCommandReturn { FILE: packages/cli/src/ui/hooks/usePhraseCycler.test.ts constant MOCK_WITTY_PHRASES (line 15) | const MOCK_WITTY_PHRASES = ['Phrase 1', 'Phrase 2', 'Phrase 3']; FILE: packages/cli/src/ui/hooks/usePhraseCycler.ts constant WITTY_LOADING_PHRASES (line 10) | const WITTY_LOADING_PHRASES: string[] = ["I'm Feeling Lucky"]; constant PHRASE_CHANGE_INTERVAL_MS (line 12) | const PHRASE_CHANGE_INTERVAL_MS = 15000; FILE: packages/cli/src/ui/hooks/useQwenAuth.ts type QwenAuthState (line 15) | interface QwenAuthState { FILE: packages/cli/src/ui/hooks/useReactToolScheduler.ts type ScheduleFn (line 36) | type ScheduleFn = ( type MarkToolsAsSubmittedFn (line 40) | type MarkToolsAsSubmittedFn = (callIds: string[]) => void; type TrackedScheduledToolCall (line 42) | type TrackedScheduledToolCall = ScheduledToolCall & { type TrackedValidatingToolCall (line 45) | type TrackedValidatingToolCall = ValidatingToolCall & { type TrackedWaitingToolCall (line 48) | type TrackedWaitingToolCall = WaitingToolCall & { type TrackedExecutingToolCall (line 51) | type TrackedExecutingToolCall = ExecutingToolCall & { type TrackedCompletedToolCall (line 55) | type TrackedCompletedToolCall = CompletedToolCall & { type TrackedCancelledToolCall (line 58) | type TrackedCancelledToolCall = CancelledToolCall & { type TrackedToolCall (line 62) | type TrackedToolCall = function useReactToolScheduler (line 70) | function useReactToolScheduler( function mapCoreStatusToDisplayStatus (line 188) | function mapCoreStatusToDisplayStatus(coreStatus: CoreStatus): ToolCallS... function mapToDisplay (line 215) | function mapToDisplay( FILE: packages/cli/src/ui/hooks/useRefreshMemoryCommand.ts constant REFRESH_MEMORY_COMMAND_NAME (line 7) | const REFRESH_MEMORY_COMMAND_NAME = '/refreshmemory'; FILE: packages/cli/src/ui/hooks/useResumeCommand.test.ts method createPendingLoadSession (line 20) | createPendingLoadSession() { method resolvePendingLoadSession (line 26) | resolvePendingLoadSession(value: { conversation: unknown } | undefined) { method getPendingLoadSession (line 29) | getPendingLoadSession() { method reset (line 32) | reset() { class SessionService (line 44) | class SessionService { method constructor (line 45) | constructor(_cwd: string) {} method loadSession (line 46) | async loadSession(_sessionId: string) { FILE: packages/cli/src/ui/hooks/useResumeCommand.ts type UseResumeCommandOptions (line 16) | interface UseResumeCommandOptions { type UseResumeCommandResult (line 23) | interface UseResumeCommandResult { function useResumeCommand (line 30) | function useResumeCommand( FILE: packages/cli/src/ui/hooks/useReverseSearchCompletion.test.tsx function useTextBufferForTest (line 15) | 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/useSelectionList.test.ts type UseKeypressMockOptions (line 18) | type UseKeypressMockOptions = { isActive: boolean }; FILE: packages/cli/src/ui/hooks/useSelectionList.ts type SelectionListItem (line 11) | interface SelectionListItem { type UseSelectionListOptions (line 17) | interface UseSelectionListOptions { type UseSelectionListResult (line 28) | interface UseSelectionListResult { type SelectionListState (line 33) | interface SelectionListState { type SelectionListAction (line 41) | type SelectionListAction = constant NUMBER_INPUT_TIMEOUT_MS (line 75) | const NUMBER_INPUT_TIMEOUT_MS = 1000; function selectionListReducer (line 157) | function selectionListReducer( function useSelectionList (line 255) | function useSelectionList({ FILE: packages/cli/src/ui/hooks/useSessionPicker.ts type UseSessionPickerOptions (line 29) | interface UseSessionPickerOptions { type UseSessionPickerResult (line 46) | interface UseSessionPickerResult { function useSessionPicker (line 59) | function useSessionPicker({ FILE: packages/cli/src/ui/hooks/useSettingsCommand.ts function useSettingsCommand (line 9) | function useSettingsCommand() { FILE: packages/cli/src/ui/hooks/useShellHistory.test.ts class Storage (line 29) | class Storage { method getProjectTempDir (line 30) | getProjectTempDir(): string { method getHistoryFilePath (line 33) | getHistoryFilePath(): string { constant MOCKED_PROJECT_ROOT (line 56) | const MOCKED_PROJECT_ROOT = '/test/project'; constant MOCKED_HOME_DIR (line 57) | const MOCKED_HOME_DIR = '/test/home'; constant MOCKED_PROJECT_HASH (line 58) | const MOCKED_PROJECT_HASH = 'mocked_hash'; constant MOCKED_HISTORY_DIR (line 60) | const MOCKED_HISTORY_DIR = path.join( constant MOCKED_HISTORY_FILE (line 66) | const MOCKED_HISTORY_FILE = path.join(MOCKED_HISTORY_DIR, 'shell_history'); FILE: packages/cli/src/ui/hooks/useShellHistory.ts constant MAX_HISTORY_LENGTH (line 16) | const MAX_HISTORY_LENGTH = 100; type UseShellHistoryReturn (line 19) | interface UseShellHistoryReturn { function getHistoryFilePath (line 27) | async function getHistoryFilePath( function readHistoryFile (line 36) | async function readHistoryFile(filePath: string): Promise { function writeHistoryFile (line 65) | async function writeHistoryFile( function useShellHistory (line 77) | function useShellHistory( FILE: packages/cli/src/ui/hooks/useShowMemoryCommand.ts function createShowMemoryAction (line 15) | function createShowMemoryAction( FILE: packages/cli/src/ui/hooks/useSlashCompletion.test.ts type TestSlashCommand (line 18) | type TestSlashCommand = Omit & function createTestCommand (line 21) | function createTestCommand(command: TestSlashCommand): SlashCommand { function simulateFuzzyMatching (line 39) | function simulateFuzzyMatching(items: readonly string[], query: string) { function useTestHarnessForSlashCompletion (line 143) | function useTestHarnessForSlashCompletion( FILE: packages/cli/src/ui/hooks/useSlashCompletion.ts type FzfCommandResult (line 19) | type FzfCommandResult = { type FzfCommandCacheEntry (line 28) | interface FzfCommandCacheEntry { function logErrorSafely (line 36) | function logErrorSafely(error: unknown, context: string): void { function matchesCommand (line 46) | function matchesCommand(cmd: SlashCommand, query: string): boolean { type CommandParserResult (line 54) | interface CommandParserResult { function useCommandParser (line 64) | function useCommandParser( type SuggestionsResult (line 150) | interface SuggestionsResult { type CompletionPositions (line 155) | interface CompletionPositions { type PerfectMatchResult (line 160) | interface PerfectMatchResult { function useCommandSuggestions (line 164) | function useCommandSuggestions( function toSuggestion (line 316) | function toSuggestion(item: string | CommandCompletionItem): Suggestion ... function useCompletionPositions (line 330) | function useCompletionPositions( function usePerfectMatch (line 360) | function usePerfectMatch( type UseSlashCompletionProps (line 388) | interface UseSlashCompletionProps { function useSlashCompletion (line 398) | function useSlashCompletion(props: UseSlashCompletionProps): { function formatSlashCommandLabel (line 546) | function formatSlashCommandLabel(command: SlashCommand): string { FILE: packages/cli/src/ui/hooks/useSubagentCreateDialog.ts function useSubagentCreateDialog (line 9) | function useSubagentCreateDialog() { FILE: packages/cli/src/ui/hooks/useTerminalSize.ts function useTerminalSize (line 13) | function useTerminalSize(): { columns: number; rows: number } { FILE: packages/cli/src/ui/hooks/useThemeCommand.ts type UseThemeCommandReturn (line 14) | interface UseThemeCommandReturn { FILE: packages/cli/src/ui/hooks/useToolScheduler.test.ts type MapToDisplayExtraProps (line 541) | type MapToDisplayExtraProps = FILE: packages/cli/src/ui/hooks/useTrustModify.ts type TrustState (line 20) | interface TrustState { function getInitialTrustState (line 26) | function getInitialTrustState( FILE: packages/cli/src/ui/hooks/useWelcomeBack.ts type WelcomeBackState (line 15) | interface WelcomeBackState { type WelcomeBackActions (line 23) | interface WelcomeBackActions { function useWelcomeBack (line 30) | function useWelcomeBack( FILE: packages/cli/src/ui/hooks/vim.test.ts constant TEST_SEQUENCES (line 28) | const TEST_SEQUENCES = { method cursor (line 60) | get cursor() { method cursor (line 63) | set cursor(newPos: [number, number]) { FILE: packages/cli/src/ui/hooks/vim.ts type VimMode (line 13) | type VimMode = 'NORMAL' | 'INSERT'; constant DIGIT_MULTIPLIER (line 16) | const DIGIT_MULTIPLIER = 10; constant DEFAULT_COUNT (line 17) | const DEFAULT_COUNT = 1; constant DIGIT_1_TO_9 (line 18) | const DIGIT_1_TO_9 = /^[1-9]$/; constant CMD_TYPES (line 23) | const CMD_TYPES = { type VimState (line 50) | type VimState = { type VimAction (line 57) | type VimAction = function useVim (line 131) | function useVim(buffer: TextBuffer, onSubmit?: (value: string) => void) { FILE: packages/cli/src/ui/keyMatchers.ts function matchKeyBinding (line 15) | function matchKeyBinding(keyBinding: KeyBinding, key: Key): boolean { function matchCommand (line 63) | function matchCommand( type KeyMatcher (line 75) | type KeyMatcher = (key: Key) => boolean; type KeyMatchers (line 80) | type KeyMatchers = { function createKeyMatchers (line 87) | function createKeyMatchers( FILE: packages/cli/src/ui/models/availableModels.ts type AvailableModel (line 15) | type AvailableModel = { constant CACHED_QWEN_OAUTH_MODELS (line 22) | const CACHED_QWEN_OAUTH_MODELS: AvailableModel[] = QWEN_OAUTH_MODELS.map( function getQwenOAuthModels (line 31) | function getQwenOAuthModels(): readonly AvailableModel[] { function getFilteredQwenModels (line 39) | function getFilteredQwenModels(): AvailableModel[] { function getOpenAIAvailableModelFromEnv (line 47) | function getOpenAIAvailableModelFromEnv(): AvailableModel | null { function getAnthropicAvailableModelFromEnv (line 60) | function getAnthropicAvailableModelFromEnv(): AvailableModel | null { function convertCoreModelToCliModel (line 76) | function convertCoreModelToCliModel( function getAvailableModelsForAuthType (line 93) | function getAvailableModelsForAuthType( FILE: packages/cli/src/ui/noninteractive/nonInteractiveUi.ts function createNonInteractiveUI (line 15) | function createNonInteractiveUI(): CommandContext['ui'] { 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 9) | enum ExtensionUpdateState { type ExtensionUpdateStatus (line 21) | interface ExtensionUpdateStatus { type ExtensionUpdatesState (line 26) | interface ExtensionUpdatesState { type ExtensionUpdateAction (line 36) | type ExtensionUpdateAction = function extensionUpdatesReducer (line 48) | 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'; FILE: packages/cli/src/ui/themes/ansi.ts constant ANSI (line 30) | const ANSI: Theme = new Theme( FILE: packages/cli/src/ui/themes/color-utils.ts constant CSS_NAME_TO_HEX_MAP (line 11) | const CSS_NAME_TO_HEX_MAP: Readonly> = { constant INK_SUPPORTED_NAMES (line 155) | const INK_SUPPORTED_NAMES = new Set([ function isValidColor (line 183) | function isValidColor(color: string): boolean { function resolveColor (line 210) | function resolveColor(colorValue: string): string | undefined { 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 34) | interface ThemeDisplay { constant DEFAULT_THEME (line 40) | const DEFAULT_THEME: Theme = QwenDark; class ThemeManager (line 42) | class ThemeManager { method constructor (line 47) | constructor() { method loadCustomThemes (line 72) | loadCustomThemes(customThemesSettings?: Record): ... method setActiveTheme (line 119) | setActiveTheme(themeName: string | undefined): boolean { method getActiveTheme (line 132) | getActiveTheme(): Theme { method getSemanticColors (line 159) | getSemanticColors(): SemanticColors { method getCustomThemeNames (line 167) | getCustomThemeNames(): string[] { method isCustomTheme (line 176) | isCustomTheme(themeName: string): boolean { method getAvailableThemes (line 183) | getAvailableThemes(): ThemeDisplay[] { method getTheme (line 241) | getTheme(themeName: string): Theme | undefined { method isPath (line 245) | private isPath(themeName: string): boolean { method loadThemeFromFile (line 253) | private loadThemeFromFile(themePath: string): Theme | undefined { method findThemeByName (line 315) | findThemeByName(themeName: string | undefined): Theme | undefined { FILE: packages/cli/src/ui/themes/theme.test.ts type CustomTheme (line 12) | type CustomTheme = themeModule.CustomTheme; FILE: packages/cli/src/ui/themes/theme.ts type ThemeType (line 11) | type ThemeType = 'light' | 'dark' | 'ansi' | 'custom'; type ColorsTheme (line 13) | interface ColorsTheme { type CustomTheme (line 34) | interface CustomTheme { class Theme (line 147) | class Theme { method constructor (line 165) | constructor( method getInkColor (line 218) | getInkColor(hljsClass: string): string | undefined { method _resolveColor (line 227) | private static _resolveColor(colorValue: string): string | undefined { method _buildColorMap (line 237) | protected _buildColorMap( function createCustomTheme (line 269) | function createCustomTheme(customTheme: CustomTheme): Theme { function validateCustomTheme (line 479) | function validateCustomTheme(customTheme: Partial): { function isValidThemeName (line 502) | function isValidThemeName(name: string): boolean { FILE: packages/cli/src/ui/types.ts type AuthState (line 21) | enum AuthState { type StreamingState (line 31) | enum StreamingState { type GeminiEventType (line 38) | enum GeminiEventType { type ToolCallStatus (line 44) | enum ToolCallStatus { type ToolCallEvent (line 53) | interface ToolCallEvent { type IndividualToolCallDisplay (line 63) | interface IndividualToolCallDisplay { type CompressionProps (line 74) | interface CompressionProps { type SummaryProps (line 81) | interface SummaryProps { type HistoryItemBase (line 87) | interface HistoryItemBase { type HistoryItemUser (line 91) | type HistoryItemUser = HistoryItemBase & { type HistoryItemGemini (line 96) | type HistoryItemGemini = HistoryItemBase & { type HistoryItemGeminiContent (line 101) | type HistoryItemGeminiContent = HistoryItemBase & { type HistoryItemGeminiThought (line 106) | type HistoryItemGeminiThought = HistoryItemBase & { type HistoryItemGeminiThoughtContent (line 111) | type HistoryItemGeminiThoughtContent = HistoryItemBase & { type HistoryItemInfo (line 116) | type HistoryItemInfo = HistoryItemBase & { type HistoryItemError (line 121) | type HistoryItemError = HistoryItemBase & { type HistoryItemWarning (line 127) | type HistoryItemWarning = HistoryItemBase & { type HistoryItemSuccess (line 132) | type HistoryItemSuccess = HistoryItemBase & { type HistoryItemRetryCountdown (line 137) | type HistoryItemRetryCountdown = HistoryItemBase & { type HistoryItemAbout (line 142) | type HistoryItemAbout = HistoryItemBase & { type HistoryItemHelp (line 162) | type HistoryItemHelp = HistoryItemBase & { type HistoryItemStats (line 167) | type HistoryItemStats = HistoryItemBase & { type HistoryItemModelStats (line 172) | type HistoryItemModelStats = HistoryItemBase & { type HistoryItemToolStats (line 176) | type HistoryItemToolStats = HistoryItemBase & { type HistoryItemQuit (line 180) | type HistoryItemQuit = HistoryItemBase & { type HistoryItemToolGroup (line 185) | type HistoryItemToolGroup = HistoryItemBase & { type HistoryItemUserShell (line 190) | type HistoryItemUserShell = HistoryItemBase & { type HistoryItemCompression (line 195) | type HistoryItemCompression = HistoryItemBase & { type HistoryItemSummary (line 200) | type HistoryItemSummary = HistoryItemBase & { type HistoryItemExtensionsList (line 205) | type HistoryItemExtensionsList = HistoryItemBase & { type ToolDefinition (line 209) | interface ToolDefinition { type SkillDefinition (line 215) | interface SkillDefinition { type HistoryItemToolsList (line 219) | type HistoryItemToolsList = HistoryItemBase & { type HistoryItemSkillsList (line 225) | type HistoryItemSkillsList = HistoryItemBase & { type JsonMcpTool (line 232) | interface JsonMcpTool { type JsonMcpPrompt (line 242) | interface JsonMcpPrompt { type HistoryItemMcpStatus (line 248) | type HistoryItemMcpStatus = HistoryItemBase & { type ContextCategoryBreakdown (line 267) | interface ContextCategoryBreakdown { type ContextToolDetail (line 278) | interface ContextToolDetail { type ContextMemoryDetail (line 283) | interface ContextMemoryDetail { type ContextSkillDetail (line 288) | interface ContextSkillDetail { type HistoryItemContextUsage (line 298) | type HistoryItemContextUsage = HistoryItemBase & { type ArenaAgentCardData (line 317) | interface ArenaAgentCardData { type HistoryItemArenaAgentComplete (line 332) | type HistoryItemArenaAgentComplete = HistoryItemBase & { type HistoryItemArenaSessionComplete (line 337) | type HistoryItemArenaSessionComplete = HistoryItemBase & { type HistoryItemInsightProgress (line 348) | type HistoryItemInsightProgress = HistoryItemBase & { type HistoryItemWithoutId (line 357) | type HistoryItemWithoutId = type HistoryItem (line 388) | type HistoryItem = HistoryItemWithoutId & { id: number }; type MessageType (line 391) | enum MessageType { type InsightProgressProps (line 416) | interface InsightProgressProps { type Message (line 425) | type Message = type ConsoleMessageItem (line 495) | interface ConsoleMessageItem { type SubmitPromptResult (line 505) | interface SubmitPromptResult { type SlashCommandProcessorResult (line 513) | type SlashCommandProcessorResult = type ShellConfirmationRequest (line 524) | interface ShellConfirmationRequest { type ConfirmationRequest (line 532) | interface ConfirmationRequest { type LoopDetectionConfirmationRequest (line 537) | interface LoopDetectionConfirmationRequest { type SettingInputRequest (line 541) | interface SettingInputRequest { type PluginChoice (line 549) | interface PluginChoice { type PluginChoiceRequest (line 554) | interface PluginChoiceRequest { FILE: packages/cli/src/ui/utils/CodeColorizer.tsx function renderHastNode (line 30) | function renderHastNode( function highlightAndRenderLine (line 95) | function highlightAndRenderLine( function colorizeLine (line 114) | function colorizeLine( function colorizeCode (line 131) | function colorizeCode( FILE: packages/cli/src/ui/utils/InlineMarkdownRenderer.tsx constant BOLD_MARKER_LENGTH (line 14) | const BOLD_MARKER_LENGTH = 2; constant ITALIC_MARKER_LENGTH (line 15) | const ITALIC_MARKER_LENGTH = 1; constant STRIKETHROUGH_MARKER_LENGTH (line 16) | const STRIKETHROUGH_MARKER_LENGTH = 2; constant INLINE_CODE_MARKER_LENGTH (line 17) | const INLINE_CODE_MARKER_LENGTH = 1; constant UNDERLINE_TAG_START_LENGTH (line 18) | const UNDERLINE_TAG_START_LENGTH = 3; constant UNDERLINE_TAG_END_LENGTH (line 19) | const UNDERLINE_TAG_END_LENGTH = 4; type RenderInlineProps (line 23) | interface RenderInlineProps { FILE: packages/cli/src/ui/utils/MarkdownDisplay.tsx type MarkdownDisplayProps (line 15) | interface MarkdownDisplayProps { constant EMPTY_LINE_HEIGHT (line 25) | const EMPTY_LINE_HEIGHT = 1; constant CODE_BLOCK_PREFIX_PADDING (line 26) | const CODE_BLOCK_PREFIX_PADDING = 1; constant LIST_ITEM_PREFIX_PADDING (line 27) | const LIST_ITEM_PREFIX_PADDING = 1; constant LIST_ITEM_TEXT_FLEX_GROW (line 28) | const LIST_ITEM_TEXT_FLEX_GROW = 1; function addContentBlock (line 58) | function addContentBlock(block: React.ReactNode) { type RenderCodeBlockProps (line 291) | interface RenderCodeBlockProps { type RenderListItemProps (line 369) | interface RenderListItemProps { type RenderTableProps (line 407) | interface RenderTableProps { FILE: packages/cli/src/ui/utils/TableRenderer.tsx type TableRendererProps (line 12) | interface TableRendererProps { FILE: packages/cli/src/ui/utils/clipboardUtils.ts type ClipboardModule (line 14) | type ClipboardModule = any; function getClipboardModule (line 19) | async function getClipboardModule(): Promise { function clipboardHasImage (line 39) | async function clipboardHasImage(): Promise { function saveClipboardImage (line 56) | async function saveClipboardImage( function cleanupOldClipboardImages (line 100) | async function cleanupOldClipboardImages( FILE: packages/cli/src/ui/utils/commandUtils.test.ts method platform (line 29) | get platform() { type MockChildProcess (line 34) | interface MockChildProcess extends EventEmitter { FILE: packages/cli/src/ui/utils/commandUtils.ts type CodePage (line 27) | type CodePage = (typeof CodePage)[keyof typeof CodePage]; 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/displayUtils.ts type StatusLabel (line 12) | interface StatusLabel { function getArenaStatusLabel (line 18) | function getArenaStatusLabel(status: AgentStatus): StatusLabel { constant TOOL_SUCCESS_RATE_HIGH (line 38) | const TOOL_SUCCESS_RATE_HIGH = 95; constant TOOL_SUCCESS_RATE_MEDIUM (line 39) | const TOOL_SUCCESS_RATE_MEDIUM = 85; constant USER_AGREEMENT_RATE_HIGH (line 41) | const USER_AGREEMENT_RATE_HIGH = 75; constant USER_AGREEMENT_RATE_MEDIUM (line 42) | const USER_AGREEMENT_RATE_MEDIUM = 45; constant CACHE_EFFICIENCY_HIGH (line 44) | const CACHE_EFFICIENCY_HIGH = 40; constant CACHE_EFFICIENCY_MEDIUM (line 45) | const CACHE_EFFICIENCY_MEDIUM = 15; FILE: packages/cli/src/ui/utils/export/collect.ts type FileOperationStats (line 22) | interface FileOperationStats { type ToolCallArgsIndex (line 32) | interface ToolCallArgsIndex { function extractToolNameFromRecord (line 40) | function extractToolNameFromRecord(record: ChatRecord): string | undefin... function extractFunctionResponseId (line 57) | function extractFunctionResponseId(record: ChatRecord): string | undefin... function normalizeFunctionCallArgs (line 74) | function normalizeFunctionCallArgs( function buildToolCallArgsIndex (line 96) | function buildToolCallArgsIndex(records: ChatRecord[]): ToolCallArgsIndex { function calculateFileStats (line 130) | function calculateFileStats(records: ChatRecord[]): FileOperationStats { function extractTaskToolTokens (line 226) | function extractTaskToolTokens(record: ChatRecord): number { function calculateTokenStats (line 266) | function calculateTokenStats(records: ChatRecord[]): { function extractMetadata (line 332) | async function extractMetadata( class ExportSessionContext (line 400) | class ExportSessionContext implements SessionContext { method constructor (line 415) | constructor(sessionId: string, config: Config) { method sendUpdate (line 420) | async sendUpdate(update: SessionUpdate): Promise { method setActiveRecordId (line 476) | setActiveRecordId(recordId: string | null, timestamp?: string): void { method getMessageTimestamp (line 481) | private getMessageTimestamp(): string { method getMessageUuid (line 485) | private getMessageUuid(): string { method handleMessageChunk (line 489) | private handleMessageChunk( method handleToolCallStart (line 528) | private handleToolCallStart(update: ToolCall): void { method handleToolCallUpdate (line 553) | private handleToolCallUpdate(update: { method handlePlanUpdate (line 570) | private handlePlanUpdate(update: { method flushCurrentMessage (line 621) | private flushCurrentMessage(): void { method flushMessages (line 649) | flushMessages(): void { method getMessages (line 653) | getMessages(): ExportMessage[] { function collectSessionData (line 662) | async function collectSessionData( FILE: packages/cli/src/ui/utils/export/formatters/html.ts function escapeJsonForHtml (line 13) | function escapeJsonForHtml(json: string): string { function loadHtmlTemplate (line 26) | function loadHtmlTemplate(): string { function injectDataIntoHtmlTemplate (line 33) | function injectDataIntoHtmlTemplate( function toHtml (line 81) | function toHtml(sessionData: ExportSessionData): string { FILE: packages/cli/src/ui/utils/export/formatters/json.ts function toJson (line 13) | function toJson(sessionData: ExportSessionData): string { FILE: packages/cli/src/ui/utils/export/formatters/jsonl.ts function toJsonl (line 13) | function toJsonl(sessionData: ExportSessionData): string { FILE: packages/cli/src/ui/utils/export/formatters/markdown.ts function toMarkdown (line 12) | function toMarkdown(sessionData: ExportSessionData): string { function formatMessageContent (line 115) | function formatMessageContent(message: ExportMessage): string { function formatToolCall (line 134) | function formatToolCall(message: ExportMessage): string { function extractTextFromMessage (line 198) | function extractTextFromMessage(message: ExportMessage): string { function createCodeBlock (line 216) | function createCodeBlock(content: string, language: string = ''): string { function sanitizeText (line 225) | function sanitizeText(value: string): string { function buildFence (line 233) | function buildFence(value: string): string { function getLanguageFromPath (line 245) | function getLanguageFromPath(path: string): string { FILE: packages/cli/src/ui/utils/export/normalize.ts function normalizeSessionData (line 16) | function normalizeSessionData( function mergeToolCallData (line 92) | function mergeToolCallData( function buildToolCallMessageFromResult (line 123) | function buildToolCallMessageFromResult( function extractToolNameFromRecord (line 175) | function extractToolNameFromRecord(record: ChatRecord): string { function extractFunctionCallArgs (line 192) | function extractFunctionCallArgs( function resolveToolMetadata (line 211) | function resolveToolMetadata( function mapToolKind (line 246) | function mapToolKind(kind: Kind | undefined, toolName?: string): string { function extractDiffContent (line 277) | function extractDiffContent( function normalizeRawInput (line 302) | function normalizeRawInput(value: unknown): string | object | undefined { function transformPartsToToolCallContent (line 311) | function transformPartsToToolCallContent( FILE: packages/cli/src/ui/utils/export/types.ts type ExportMessage (line 13) | interface ExportMessage { type ExportMetadata (line 55) | interface ExportMetadata { type ExportSessionData (line 93) | interface ExportSessionData { FILE: packages/cli/src/ui/utils/export/utils.ts function generateExportFilename (line 10) | function generateExportFilename(extension: string): string { FILE: packages/cli/src/ui/utils/highlight.ts type HighlightToken (line 9) | type HighlightToken = { constant HIGHLIGHT_REGEX (line 14) | const HIGHLIGHT_REGEX = /(^\/[a-zA-Z0-9_-]+|@(?:\\ |[a-zA-Z0-9_./-])+)/g; function parseInputForHighlighting (line 16) | function parseInputForHighlighting( function buildSegmentsForVisualSlice (line 69) | function buildSegmentsForVisualSlice( FILE: packages/cli/src/ui/utils/isNarrowWidth.ts function isNarrowWidth (line 7) | function isNarrowWidth(width: number): boolean { FILE: packages/cli/src/ui/utils/kittyProtocolDetector.ts function detectAndEnableKittyProtocol (line 16) | async function detectAndEnableKittyProtocol(): Promise { function disableProtocol (line 103) | function disableProtocol() { function isKittyProtocolEnabled (line 110) | function isKittyProtocolEnabled(): boolean { function isKittyProtocolSupported (line 114) | function isKittyProtocolSupported(): boolean { FILE: packages/cli/src/ui/utils/platformConstants.ts constant KITTY_CTRL_C (line 18) | const KITTY_CTRL_C = '[99;5u'; constant KITTY_KEYCODE_ENTER (line 23) | const KITTY_KEYCODE_ENTER = 13; constant KITTY_KEYCODE_NUMPAD_ENTER (line 24) | const KITTY_KEYCODE_NUMPAD_ENTER = 57414; constant KITTY_KEYCODE_TAB (line 25) | const KITTY_KEYCODE_TAB = 9; constant KITTY_KEYCODE_BACKSPACE (line 26) | const KITTY_KEYCODE_BACKSPACE = 127; constant KITTY_MODIFIER_BASE (line 34) | const KITTY_MODIFIER_BASE = 1; constant KITTY_MODIFIER_EVENT_TYPES_OFFSET (line 35) | const KITTY_MODIFIER_EVENT_TYPES_OFFSET = 128; constant MODIFIER_SHIFT_BIT (line 49) | const MODIFIER_SHIFT_BIT = 1; constant MODIFIER_ALT_BIT (line 50) | const MODIFIER_ALT_BIT = 2; constant MODIFIER_CTRL_BIT (line 51) | const MODIFIER_CTRL_BIT = 4; constant CTRL_EXIT_PROMPT_DURATION_MS (line 56) | const CTRL_EXIT_PROMPT_DURATION_MS = 1000; constant VSCODE_SHIFT_ENTER_SEQUENCE (line 61) | const VSCODE_SHIFT_ENTER_SEQUENCE = '\\\r\n'; constant BACKSLASH_ENTER_DETECTION_WINDOW_MS (line 68) | const BACKSLASH_ENTER_DETECTION_WINDOW_MS = 5; constant MAX_KITTY_SEQUENCE_LENGTH (line 79) | const MAX_KITTY_SEQUENCE_LENGTH = 32; constant CHAR_CODE_ESC (line 84) | const CHAR_CODE_ESC = 27; constant CHAR_CODE_LEFT_BRACKET (line 85) | const CHAR_CODE_LEFT_BRACKET = 91; constant CHAR_CODE_1 (line 86) | const CHAR_CODE_1 = 49; constant CHAR_CODE_2 (line 87) | const CHAR_CODE_2 = 50; FILE: packages/cli/src/ui/utils/resumeHistoryUtils.ts function extractTextFromParts (line 28) | function extractTextFromParts(parts: Part[] | undefined): string { function extractThoughtTextFromParts (line 47) | function extractThoughtTextFromParts(parts: Part[] | undefined): string { function extractFunctionCalls (line 62) | function extractFunctionCalls( function getTool (line 85) | function getTool(config: Config, name: string): AnyDeclarativeTool | und... function formatToolDescription (line 94) | function formatToolDescription( function restoreHistoryItem (line 115) | function restoreHistoryItem(raw: unknown): HistoryItemWithoutId | undefi... function convertToHistoryItems (line 145) | function convertToHistoryItems( function buildResumedHistoryItems (line 439) | function buildResumedHistoryItems( FILE: packages/cli/src/ui/utils/sessionPickerUtils.ts type SessionState (line 12) | interface SessionState { constant SESSION_PAGE_SIZE (line 21) | const SESSION_PAGE_SIZE = 20; function truncateText (line 26) | function truncateText(text: string, maxWidth: number): string { function filterSessions (line 40) | function filterSessions( function formatMessageCount (line 57) | function formatMessageCount(count: number): string { FILE: packages/cli/src/ui/utils/terminalSetup.ts function stripJsonComments (line 44) | function stripJsonComments(content: string): string { type TerminalSetupResult (line 49) | interface TerminalSetupResult { type SupportedTerminal (line 55) | type SupportedTerminal = 'vscode' | 'cursor' | 'windsurf' | 'trae'; function detectTerminal (line 58) | async function detectTerminal(): Promise { function backupFile (line 110) | async function backupFile(filePath: string): Promise { function getVSCodeStyleConfigDir (line 122) | function getVSCodeStyleConfigDir(appName: string): string | null { function configureVSCodeStyle (line 144) | async function configureVSCodeStyle( function configureVSCode (line 319) | async function configureVSCode(): Promise { function configureCursor (line 323) | async function configureCursor(): Promise { function configureWindsurf (line 327) | async function configureWindsurf(): Promise { function configureTrae (line 331) | async function configureTrae(): Promise { function terminalSetup (line 354) | async function terminalSetup(): Promise { FILE: packages/cli/src/ui/utils/textUtils.ts constant MAX_STRING_LENGTH_TO_CACHE (line 33) | const MAX_STRING_LENGTH_TO_CACHE = 1000; function toCodePoints (line 35) | function toCodePoints(str: string): string[] { function cpLen (line 66) | function cpLen(str: string): number { function cpSlice (line 70) | function cpSlice(str: string, start: number, end?: number): string { function stripUnsafeCharacters (line 93) | function stripUnsafeCharacters(str: string): string { function escapeAnsiCtrlCodes (line 168) | function escapeAnsiCtrlCodes(obj: T): T { FILE: packages/cli/src/ui/utils/updateCheck.ts constant FETCH_TIMEOUT_MS (line 15) | const FETCH_TIMEOUT_MS = 2000; type UpdateObject (line 17) | interface UpdateObject { function getBestAvailableUpdate (line 26) | function getBestAvailableUpdate( function checkForUpdates (line 45) | async function checkForUpdates(): Promise { FILE: packages/cli/src/utils/acpModelUtils.ts function formatAcpModelId (line 13) | function formatAcpModelId(modelId: string, authType: AuthType): string { function parseAcpBaseModelId (line 23) | function parseAcpBaseModelId(value: string): string { function parseAcpModelOption (line 45) | function parseAcpModelOption(input: string): { FILE: packages/cli/src/utils/attentionNotification.ts type AttentionNotificationReason (line 10) | enum AttentionNotificationReason { type TerminalNotificationOptions (line 15) | interface TerminalNotificationOptions { constant TERMINAL_BELL (line 20) | const TERMINAL_BELL = '\u0007'; function notifyTerminalAttention (line 30) | function notifyTerminalAttention( FILE: packages/cli/src/utils/checks.ts function assumeExhaustive (line 8) | function assumeExhaustive(_value: never): void {} function checkExhaustive (line 22) | function checkExhaustive( FILE: packages/cli/src/utils/cleanup.ts function registerCleanup (line 13) | function registerCleanup(fn: (() => void) | (() => Promise)) { function runExitCleanup (line 17) | async function runExitCleanup() { function cleanupCheckpoints (line 28) | async function cleanupCheckpoints() { FILE: packages/cli/src/utils/commands.ts type ParsedSlashCommand (line 9) | type ParsedSlashCommand = { FILE: packages/cli/src/utils/commentJson.ts function updateSettingsFilePreservingFormat (line 14) | function updateSettingsFilePreservingFormat( function applyUpdates (line 43) | 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 77) | function customDeepMerge( FILE: packages/cli/src/utils/dialogScopeUtils.ts constant SCOPE_LABELS (line 14) | const SCOPE_LABELS = { function getScopeItems (line 27) | function getScopeItems() { function getScopeMessageForSetting (line 41) | 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 56) | function resolveEnvVarsInObject( function resolveEnvVarsInObjectInternal (line 70) | function resolveEnvVarsInObjectInternal( FILE: packages/cli/src/utils/errors.test.ts method constructor (line 65) | constructor(message: string) { method constructor (line 73) | constructor(message: string) { method toJSON (line 163) | toJSON() { FILE: packages/cli/src/utils/errors.ts function getErrorMessage (line 21) | function getErrorMessage(error: unknown): string { type ErrorWithCode (line 51) | interface ErrorWithCode extends Error { function extractErrorCode (line 60) | function extractErrorCode(error: unknown): string | number { function getNumericExitCode (line 80) | function getNumericExitCode(errorCode: string | number): number { function handleError (line 89) | function handleError( function handleToolError (line 129) | function handleToolError( function handleCancellationError (line 158) | function handleCancellationError(config: Config): never { function handleMaxTurnsExceededError (line 179) | function handleMaxTurnsExceededError(config: Config): never { FILE: packages/cli/src/utils/events.ts type AppEvent (line 9) | enum AppEvent { FILE: packages/cli/src/utils/gitUtils.ts function getGitHubRepoInfo (line 104) | function getGitHubRepoInfo(): { owner: string; repo: string } { FILE: packages/cli/src/utils/handleAutoUpdate.test.ts type MockChildProcess (line 35) | interface MockChildProcess extends EventEmitter { FILE: packages/cli/src/utils/handleAutoUpdate.ts function handleAutoUpdate (line 17) | function handleAutoUpdate( function setUpdateHandler (line 86) | function setUpdateHandler( FILE: packages/cli/src/utils/installationInfo.ts type PackageManager (line 12) | enum PackageManager { type InstallationInfo (line 26) | interface InstallationInfo { function getInstallationInfo (line 33) | function getInstallationInfo( FILE: packages/cli/src/utils/languageUtils.ts constant LLM_OUTPUT_LANGUAGE_RULE_FILENAME (line 21) | const LLM_OUTPUT_LANGUAGE_RULE_FILENAME = 'output-language.md'; constant LLM_OUTPUT_LANGUAGE_MARKER_PREFIX (line 22) | const LLM_OUTPUT_LANGUAGE_MARKER_PREFIX = 'qwen-code:llm-output-language:'; constant OUTPUT_LANGUAGE_AUTO (line 25) | const OUTPUT_LANGUAGE_AUTO = 'auto'; function isAutoLanguage (line 30) | function isAutoLanguage(value: string | undefined | null): boolean { function normalizeOutputLanguage (line 39) | function normalizeOutputLanguage(language: string): string { function resolveOutputLanguage (line 53) | function resolveOutputLanguage( function getOutputLanguageFilePath (line 66) | function getOutputLanguageFilePath(): string { function sanitizeForMarker (line 77) | function sanitizeForMarker(language: string): string { function generateOutputLanguageFileContent (line 87) | function generateOutputLanguageFileContent(language: string): string { function parseOutputLanguageFromContent (line 113) | function parseOutputLanguageFromContent(content: string): string | null { function readOutputLanguageFromFile (line 139) | function readOutputLanguageFromFile(): string | null { function writeOutputLanguageFile (line 155) | function writeOutputLanguageFile(language: string): void { function updateOutputLanguageFile (line 167) | function updateOutputLanguageFile(settingValue: string): void { function initializeLlmOutputLanguage (line 182) | function initializeLlmOutputLanguage(outputLanguage?: string): void { FILE: packages/cli/src/utils/modelConfigUtils.test.ts function makeMockSettings (line 145) | function makeMockSettings(overrides?: Partial): Settings { FILE: packages/cli/src/utils/modelConfigUtils.ts type CliGenerationConfigInputs (line 17) | interface CliGenerationConfigInputs { type ResolvedCliGenerationConfig (line 33) | interface ResolvedCliGenerationConfig { function getAuthTypeFromEnv (line 48) | function getAuthTypeFromEnv(): AuthType | undefined { function resolveCliGenerationConfig (line 90) | function resolveCliGenerationConfig( FILE: packages/cli/src/utils/nonInteractiveHelpers.ts function normalizePartList (line 45) | function normalizePartList(parts: PartListUnion | null): Part[] { function extractPartsFromUserMessage (line 69) | function extractPartsFromUserMessage( function extractUsageFromGeminiClient (line 105) | function extractUsageFromGeminiClient( function computeUsageFromMetrics (line 167) | function computeUsageFromMetrics(metrics: SessionMetrics): Usage { function loadSlashCommandNames (line 203) | async function loadSlashCommandNames( function buildSystemMessage (line 247) | async function buildSystemMessage( function isMcpToolProgressData (line 298) | function isMcpToolProgressData( function createToolProgressHandler (line 319) | function createToolProgressHandler( function createAgentToolProgressHandler (line 348) | function createAgentToolProgressHandler( function functionResponsePartsToString (line 627) | function functionResponsePartsToString(parts: Part[]): string { function toolResultContent (line 648) | function toolResultContent( FILE: packages/cli/src/utils/package.ts type PackageJson (line 14) | type PackageJson = BasePackageJson & { function getPackageJson (line 25) | async function getPackageJson(): Promise { FILE: packages/cli/src/utils/processUtils.ts constant RELAUNCH_EXIT_CODE (line 12) | const RELAUNCH_EXIT_CODE = 42; function relaunchApp (line 17) | async function relaunchApp(): Promise { FILE: packages/cli/src/utils/readStdin.ts function readStdin (line 9) | async function readStdin(): Promise { FILE: packages/cli/src/utils/relaunch.test.ts function createMockChildProcess (line 304) | function createMockChildProcess( FILE: packages/cli/src/utils/relaunch.ts function relaunchOnExitCode (line 11) | async function relaunchOnExitCode(runner: () => Promise) { function relaunchAppInChildProcess (line 28) | 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.ts function getContainerPath (line 25) | function getContainerPath(hostPath: string): string { constant LOCAL_DEV_SANDBOX_IMAGE_NAME (line 38) | const LOCAL_DEV_SANDBOX_IMAGE_NAME = 'qwen-code-sandbox'; constant SANDBOX_NETWORK_NAME (line 39) | const SANDBOX_NETWORK_NAME = 'qwen-code-sandbox'; constant SANDBOX_PROXY_NAME (line 40) | const SANDBOX_PROXY_NAME = 'qwen-code-sandbox-proxy'; constant BUILTIN_SEATBELT_PROFILES (line 41) | const BUILTIN_SEATBELT_PROFILES = [ function shouldUseCurrentUserInSandbox (line 68) | async function shouldUseCurrentUserInSandbox(): Promise { function parseImageName (line 96) | function parseImageName(image: string): string { function ports (line 102) | function ports(): string[] { function entrypoint (line 109) | function entrypoint(workdir: string, cliArgs: string[]): string[] { function start_sandbox (line 175) | async function start_sandbox( function imageExists (line 854) | async function imageExists(sandbox: string, image: string): Promise; function flattenSchema (line 29) | function flattenSchema(schema: SettingsSchema, prefix = ''): FlattenedSc... function getFlattenedSchema (line 45) | function getFlattenedSchema() { function clearFlattenedSchema (line 52) | function clearFlattenedSchema() { function getSettingsByCategory (line 59) | function getSettingsByCategory(): Record< function getSettingDefinition (line 82) | function getSettingDefinition( function requiresRestart (line 91) | function requiresRestart(key: string): boolean { function getDefaultValue (line 98) | function getDefaultValue(key: string): SettingsValue { function getRestartRequiredSettings (line 105) | function getRestartRequiredSettings(): string[] { function getNestedValue (line 114) | function getNestedValue( function getNestedProperty (line 132) | function getNestedProperty( function getEffectiveValue (line 143) | function getEffectiveValue( function getAllSettingKeys (line 174) | function getAllSettingKeys(): string[] { function getSettingsByType (line 181) | function getSettingsByType( function getSettingsRequiringRestart (line 192) | function getSettingsRequiringRestart(): Array< function isValidSettingKey (line 205) | function isValidSettingKey(key: string): boolean { function getSettingCategory (line 212) | function getSettingCategory(key: string): string | undefined { function shouldShowInDialog (line 219) | function shouldShowInDialog(key: string): boolean { function getDialogSettingsByCategory (line 226) | function getDialogSettingsByCategory(): Record< function getDialogSettingsByType (line 251) | function getDialogSettingsByType( constant SETTINGS_DIALOG_ORDER (line 274) | const SETTINGS_DIALOG_ORDER: readonly string[] = [ function getDialogSettingKeys (line 314) | function getDialogSettingKeys(): string[] { function getSettingValue (line 344) | function getSettingValue( function isSettingModified (line 370) | function isSettingModified(key: string, value: boolean): boolean { function settingExistsInScope (line 383) | function settingExistsInScope( function setNestedPropertyForce (line 392) | function setNestedPropertyForce( function setNestedPropertySafe (line 412) | function setNestedPropertySafe( function deleteNestedPropertySafe (line 437) | function deleteNestedPropertySafe( function setPendingSettingValue (line 460) | function setPendingSettingValue( function setPendingSettingValueAny (line 473) | function setPendingSettingValueAny( function hasRestartRequiredSettings (line 486) | function hasRestartRequiredSettings( function getRestartRequiredFromModified (line 495) | function getRestartRequiredFromModified( function saveModifiedSettings (line 504) | function saveModifiedSettings( function getDisplayValue (line 543) | function getDisplayValue( function isDefaultValue (line 598) | function isDefaultValue(key: string, settings: Settings): boolean { function isValueInherited (line 605) | function isValueInherited( function getEffectiveDisplayValue (line 617) | function getEffectiveDisplayValue( function backupSettingsFile (line 631) | function backupSettingsFile(filePath: string): boolean { constant TEST_ONLY (line 646) | const TEST_ONLY = { clearFlattenedSchema }; FILE: packages/cli/src/utils/startupWarnings.ts function getStartupWarnings (line 14) | async function getStartupWarnings(): Promise { FILE: packages/cli/src/utils/systemInfo.ts type SystemInfo (line 20) | interface SystemInfo { type ExtendedSystemInfo (line 38) | interface ExtendedSystemInfo extends SystemInfo { function getNpmVersion (line 50) | async function getNpmVersion(): Promise { function getIdeClientName (line 62) | async function getIdeClientName( function getSandboxEnv (line 83) | function getSandboxEnv(stripPrefix = false): string { function getSystemInfo (line 110) | async function getSystemInfo( function getExtendedSystemInfo (line 149) | async function getExtendedSystemInfo( FILE: packages/cli/src/utils/systemInfoFields.ts type SystemInfoField (line 14) | interface SystemInfoField { type SystemInfoDisplayField (line 19) | interface SystemInfoDisplayField { function getSystemInfoFields (line 24) | function getSystemInfoFields( function addField (line 44) | function addField( function formatCliVersion (line 54) | function formatCliVersion(info: ExtendedSystemInfo): string { function formatRuntime (line 64) | function formatRuntime(info: ExtendedSystemInfo): string { function formatOs (line 73) | function formatOs(info: ExtendedSystemInfo): string { function formatOsRelease (line 80) | function formatOsRelease(release: string): string { function formatAuth (line 87) | function formatAuth(info: ExtendedSystemInfo): string { function formatBaseUrl (line 106) | function formatBaseUrl(info: ExtendedSystemInfo): string { function formatProxy (line 121) | function formatProxy(proxy?: string): string { function redactProxy (line 128) | function redactProxy(proxy: string): string { function joinParts (line 141) | function joinParts(parts: string[], separator: string): string { FILE: packages/cli/src/utils/userStartupWarnings.ts type WarningCheckOptions (line 12) | type WarningCheckOptions = { type WarningCheck (line 18) | type WarningCheck = { constant WARNING_CHECKS (line 83) | const WARNING_CHECKS: readonly WarningCheck[] = [ function getUserStartupWarnings (line 89) | async function getUserStartupWarnings( FILE: packages/cli/src/utils/version.ts function getCliVersion (line 9) | async function getCliVersion(): Promise { FILE: packages/cli/src/utils/windowTitle.ts function computeWindowTitle (line 13) | function computeWindowTitle(folderName: string): string { FILE: packages/cli/src/utils/writeWithBackup.ts type WriteWithBackupOptions (line 12) | interface WriteWithBackupOptions { function writeWithBackup (line 44) | async function writeWithBackup( function writeWithBackupSync (line 61) | function writeWithBackupSync( FILE: packages/cli/src/validateNonInterActiveAuth.test.ts type ModelsConfig (line 25) | type ModelsConfig = ReturnType; function createMockConfig (line 28) | function createMockConfig(overrides?: Partial): Config { FILE: packages/cli/src/validateNonInterActiveAuth.ts function validateNonInteractiveAuth (line 16) | async function validateNonInteractiveAuth( FILE: packages/core/scripts/postinstall.js function setupRipgrepBinaries (line 25) | function setupRipgrepBinaries() { FILE: packages/core/src/agents/arena/ArenaAgentClient.ts constant AGENTS_SUBDIR (line 23) | const AGENTS_SUBDIR = 'agents'; constant CONTROL_SUBDIR (line 24) | const CONTROL_SUBDIR = 'control'; class ArenaAgentClient (line 40) | class ArenaAgentClient { method create (line 52) | static create(): ArenaAgentClient | null { method constructor (line 64) | constructor( method init (line 80) | async init(): Promise { method updateStatus (line 96) | async updateStatus(currentActivity?: string): Promise { method checkControlSignal (line 119) | async checkControlSignal(): Promise { method reportCompleted (line 146) | async reportCompleted(finalSummary?: string): Promise { method reportError (line 167) | async reportError(errorMessage: string): Promise { method reportCancelled (line 188) | async reportCancelled(): Promise { method getStatsFromTelemetry (line 209) | private getStatsFromTelemetry(): ArenaAgentStats { method ensureInitialized (line 236) | private async ensureInitialized(): Promise { FILE: packages/core/src/agents/arena/ArenaManager.test.ts function createMockBackend (line 427) | function createMockBackend() { function createValidStartOptions (line 472) | function createValidStartOptions() { function waitForMicrotask (line 482) | async function waitForMicrotask(): Promise { function waitForCondition (line 494) | async function waitForCondition( FILE: packages/core/src/agents/arena/ArenaManager.ts constant ARENA_POLL_INTERVAL_MS (line 57) | const ARENA_POLL_INTERVAL_MS = 500; class ArenaManager (line 69) | class ArenaManager { method constructor (line 96) | constructor(config: Config, callbacks: ArenaCallbacks = {}) { method getEventEmitter (line 118) | getEventEmitter(): ArenaEventEmitter { method getSessionId (line 125) | getSessionId(): string | undefined { method getSessionStatus (line 132) | getSessionStatus(): ArenaSessionStatus { method getTask (line 139) | getTask(): string | undefined { method getAgentStates (line 146) | getAgentStates(): ArenaAgentState[] { method getAgentState (line 153) | getAgentState(agentId: string): ArenaAgentState | undefined { method getResult (line 160) | getResult(): ArenaSessionResult | null { method getBackend (line 168) | getBackend(): Backend | null { method setLifecyclePromise (line 176) | setLifecyclePromise(p: Promise): void { method waitForSettled (line 184) | async waitForSettled(): Promise { method switchToAgent (line 195) | switchToAgent(agentId: string): void { method switchToNextAgent (line 202) | switchToNextAgent(): void { method switchToPreviousAgent (line 209) | switchToPreviousAgent(): void { method getActiveAgentId (line 216) | getActiveAgentId(): string | null { method getActiveSnapshot (line 223) | getActiveSnapshot(): AnsiOutput | null { method getAgentSnapshot (line 230) | getAgentSnapshot( method getAgentScrollbackLength (line 240) | getAgentScrollbackLength(agentId: string): number { method forwardInput (line 247) | forwardInput(data: string): boolean { method resizeAgents (line 254) | resizeAgents(cols: number, rows: number): void { method start (line 268) | async start(options: ArenaStartOptions): Promise { method cancel (line 435) | async cancel(): Promise { method cleanup (line 483) | async cleanup(): Promise { method cleanupRuntime (line 526) | async cleanupRuntime(): Promise { method applyAgentResult (line 563) | async applyAgentResult( method getAgentDiff (line 592) | async getAgentDiff(agentId: string): Promise { method emitSessionEnded (line 612) | private emitSessionEnded( method emitProgress (line 647) | private emitProgress( method validateStartOptions (line 662) | private validateStartOptions(options: ArenaStartOptions): void { method initializeBackend (line 704) | private async initializeBackend(displayMode?: DisplayMode): Promise { method setupWorktrees (line 754) | private async setupWorktrees(): Promise { method runAgents (line 820) | private async runAgents(): Promise { method spawnAgentPty (line 885) | private async spawnAgentPty(agent: ArenaAgentState): Promise { method requireBackend (line 932) | private requireBackend(): Backend { method requireConfig (line 939) | private requireConfig(): ArenaConfig { method handleAgentExit (line 946) | private handleAgentExit( method buildAgentSpawnConfig (line 994) | private buildAgentSpawnConfig(agent: ArenaAgentState): AgentSpawnConfig { method resolveTransition (line 1090) | private resolveTransition( method updateAgentStatus (line 1108) | private updateAgentStatus( method buildAgentResult (line 1207) | private buildAgentResult(agent: ArenaAgentState): ArenaAgentResult { method getArenaSessionDir (line 1233) | getArenaSessionDir(): string { method waitForAllAgentsSettled (line 1249) | private waitForAllAgentsSettled(timeoutMs?: number): Promise { method startPolling (line 1287) | private startPolling(): void { method stopPolling (line 1302) | private stopPolling(): void { method setupInProcessEventBridge (line 1314) | private setupInProcessEventBridge(backend: InProcessBackend): void { method teardownEventBridge (line 1399) | private teardownEventBridge(): void { method pollAgentStatuses (line 1411) | private async pollAgentStatuses(): Promise { method writeConsolidatedStatus (line 1478) | private async writeConsolidatedStatus( method buildStatusFile (line 1519) | private buildStatusFile(agent: ArenaAgentState): ArenaStatusFile { method flushInProcessStatusFiles (line 1541) | private async flushInProcessStatusFiles(): Promise { method sendControlSignal (line 1567) | async sendControlSignal( method collectResults (line 1608) | private async collectResults(): Promise { FILE: packages/core/src/agents/arena/arena-events.ts type ArenaEventType (line 18) | enum ArenaEventType { type ArenaEvent (line 37) | type ArenaEvent = type ArenaSessionStartEvent (line 50) | interface ArenaSessionStartEvent { type ArenaSessionCompleteEvent (line 60) | interface ArenaSessionCompleteEvent { type ArenaSessionErrorEvent (line 69) | interface ArenaSessionErrorEvent { type ArenaAgentStartEvent (line 78) | interface ArenaAgentStartEvent { type ArenaAgentErrorEvent (line 89) | interface ArenaAgentErrorEvent { type ArenaAgentCompleteEvent (line 99) | interface ArenaAgentCompleteEvent { type ArenaAgentStatusChangeEvent (line 109) | interface ArenaAgentStatusChangeEvent { type ArenaSessionUpdateType (line 120) | type ArenaSessionUpdateType = 'info' | 'warning' | 'success'; type ArenaSessionUpdateEvent (line 122) | interface ArenaSessionUpdateEvent { type ArenaEventMap (line 132) | interface ArenaEventMap { class ArenaEventEmitter (line 146) | class ArenaEventEmitter { method on (line 149) | on( method off (line 156) | off( method emit (line 163) | emit( method once (line 170) | once( method removeAllListeners (line 177) | removeAllListeners(event?: ArenaEvent): void { FILE: packages/core/src/agents/arena/types.ts constant ARENA_MAX_AGENTS (line 15) | const ARENA_MAX_AGENTS = 5; type ArenaSessionStatus (line 20) | enum ArenaSessionStatus { type ArenaModelConfig (line 38) | interface ArenaModelConfig { type ArenaConfig (line 54) | interface ArenaConfig { type ArenaAgentStats (line 76) | interface ArenaAgentStats { type ArenaAgentResult (line 98) | interface ArenaAgentResult { type ArenaSessionResult (line 126) | interface ArenaSessionResult { type ArenaStartOptions (line 150) | interface ArenaStartOptions { type ArenaCallbacks (line 178) | interface ArenaCallbacks { type ArenaStatusFile (line 199) | interface ArenaStatusFile { type ArenaConfigFile (line 217) | interface ArenaConfigFile { type ArenaControlSignal (line 238) | interface ArenaControlSignal { function safeAgentId (line 248) | function safeAgentId(agentId: string): string { type ArenaAgentState (line 255) | interface ArenaAgentState { FILE: packages/core/src/agents/backends/ITermBackend.test.ts function makeConfig (line 49) | function makeConfig( function setupDefaultMocks (line 62) | function setupDefaultMocks(): void { FILE: packages/core/src/agents/backends/ITermBackend.ts constant EXIT_POLL_INTERVAL_MS (line 38) | const EXIT_POLL_INTERVAL_MS = 500; type ITermAgentSession (line 40) | interface ITermAgentSession { class ITermBackend (line 48) | class ITermBackend implements Backend { method constructor (line 67) | constructor() { method init (line 74) | async init(): Promise { method spawnAgent (line 88) | async spawnAgent(config: AgentSpawnConfig): Promise { method spawnAgentAsync (line 108) | private async spawnAgentAsync( method stopAgent (line 162) | stopAgent(agentId: string): void { method stopAll (line 174) | stopAll(): void { method cleanup (line 190) | async cleanup(): Promise { method setOnAgentExit (line 219) | setOnAgentExit(callback: AgentExitCallback): void { method waitForAll (line 223) | async waitForAll(timeoutMs?: number): Promise { method switchTo (line 248) | switchTo(agentId: string): void { method switchToNext (line 259) | switchToNext(): void { method switchToPrevious (line 266) | switchToPrevious(): void { method getActiveAgentId (line 274) | getActiveAgentId(): string | null { method getActiveSnapshot (line 280) | getActiveSnapshot(): AnsiOutput | null { method getAgentSnapshot (line 285) | getAgentSnapshot( method getAgentScrollbackLength (line 292) | getAgentScrollbackLength(_agentId: string): number { method forwardInput (line 298) | forwardInput(data: string): boolean { method writeToAgent (line 303) | writeToAgent(agentId: string, data: string): boolean { method resizeAll (line 314) | resizeAll(_cols: number, _rows: number): void { method getAttachHint (line 318) | getAttachHint(): string | null { method buildShellCommand (line 333) | private buildShellCommand( method allExited (line 371) | private allExited(): boolean { method startExitPolling (line 380) | private startExitPolling(): void { method stopExitPolling (line 389) | private stopExitPolling(): void { method pollExitStatus (line 396) | private async pollExitStatus(): Promise { constant VALID_ENV_KEY (line 423) | const VALID_ENV_KEY = /^[A-Za-z_][A-Za-z0-9_]*$/; function shellQuote (line 429) | function shellQuote(value: string): string { FILE: packages/core/src/agents/backends/InProcessBackend.test.ts function createMockToolRegistry (line 54) | function createMockToolRegistry() { function createMockConfig (line 65) | function createMockConfig() { function createSpawnConfig (line 85) | function createSpawnConfig(agentId: string): AgentSpawnConfig { FILE: packages/core/src/agents/backends/InProcessBackend.ts class InProcessBackend (line 49) | class InProcessBackend implements Backend { method constructor (line 61) | constructor(runtimeContext: Config) { method init (line 67) | async init(): Promise { method spawnAgent (line 71) | async spawnAgent(config: AgentSpawnConfig): Promise { method stopAgent (line 161) | stopAgent(agentId: string): void { method stopAll (line 169) | stopAll(): void { method cleanup (line 176) | async cleanup(): Promise { method setOnAgentExit (line 208) | setOnAgentExit(callback: AgentExitCallback): void { method waitForAll (line 212) | async waitForAll(timeoutMs?: number): Promise { method switchTo (line 240) | switchTo(agentId: string): void { method switchToNext (line 246) | switchToNext(): void { method switchToPrevious (line 250) | switchToPrevious(): void { method getActiveAgentId (line 254) | getActiveAgentId(): string | null { method getActiveSnapshot (line 260) | getActiveSnapshot(): AnsiOutput | null { method getAgentSnapshot (line 264) | getAgentSnapshot( method getAgentScrollbackLength (line 271) | getAgentScrollbackLength(_agentId: string): number { method forwardInput (line 277) | forwardInput(data: string): boolean { method writeToAgent (line 282) | writeToAgent(agentId: string, data: string): boolean { method resizeAll (line 292) | resizeAll(_cols: number, _rows: number): void { method getAttachHint (line 298) | getAttachHint(): string | null { method getAgent (line 308) | getAgent(agentId: string): AgentInteractive | undefined { method navigate (line 314) | private navigate(direction: 1 | -1): string | null { function createPerAgentConfig (line 345) | async function createPerAgentConfig( function buildAgentContentGeneratorConfig (line 419) | function buildAgentContentGeneratorConfig( function resolveCredentialField (line 454) | function resolveCredentialField( FILE: packages/core/src/agents/backends/TmuxBackend.test.ts function makeConfig (line 66) | function makeConfig( function spawnWithTimers (line 84) | async function spawnWithTimers( function setupDefaultMocks (line 95) | function setupDefaultMocks(): void { FILE: packages/core/src/agents/backends/TmuxBackend.ts constant EXIT_POLL_INTERVAL_MS (line 56) | const EXIT_POLL_INTERVAL_MS = 500; constant TMUX_SERVER_PREFIX (line 60) | const TMUX_SERVER_PREFIX = 'arena-server'; constant DEFAULT_TMUX_SESSION (line 62) | const DEFAULT_TMUX_SESSION = 'arena-view'; constant DEFAULT_TMUX_WINDOW (line 64) | const DEFAULT_TMUX_WINDOW = 'arena-view'; constant DEFAULT_LEADER_WIDTH_PERCENT (line 66) | const DEFAULT_LEADER_WIDTH_PERCENT = 30; constant DEFAULT_FIRST_SPLIT_PERCENT (line 68) | const DEFAULT_FIRST_SPLIT_PERCENT = 70; constant DEFAULT_PANE_BORDER_FORMAT (line 70) | const DEFAULT_PANE_BORDER_FORMAT = '#{pane_title}'; constant INTERNAL_LAYOUT_SETTLE_MS (line 72) | const INTERNAL_LAYOUT_SETTLE_MS = 200; constant EXTERNAL_LAYOUT_SETTLE_MS (line 73) | const EXTERNAL_LAYOUT_SETTLE_MS = 120; type TmuxAgentPane (line 75) | interface TmuxAgentPane { type ResolvedTmuxOptions (line 82) | interface ResolvedTmuxOptions { class TmuxBackend (line 95) | class TmuxBackend implements Backend { method init (line 123) | async init(): Promise { method spawnAgent (line 149) | async spawnAgent(config: AgentSpawnConfig): Promise { method spawnAgentAsync (line 176) | private async spawnAgentAsync( method triggerMainProcessRedraw (line 257) | private triggerMainProcessRedraw(): void { method stopAgent (line 279) | stopAgent(agentId: string): void { method stopAll (line 291) | stopAll(): void { method cleanup (line 303) | async cleanup(): Promise { method setOnAgentExit (line 346) | setOnAgentExit(callback: AgentExitCallback): void { method waitForAll (line 350) | async waitForAll(timeoutMs?: number): Promise { method switchTo (line 375) | switchTo(agentId: string): void { method switchToNext (line 384) | switchToNext(): void { method switchToPrevious (line 391) | switchToPrevious(): void { method getActiveAgentId (line 399) | getActiveAgentId(): string | null { method getActiveSnapshot (line 405) | getActiveSnapshot(): AnsiOutput | null { method getAgentSnapshot (line 410) | getAgentSnapshot( method getAgentScrollbackLength (line 421) | getAgentScrollbackLength(_agentId: string): number { method forwardInput (line 428) | forwardInput(data: string): boolean { method writeToAgent (line 433) | writeToAgent(agentId: string, data: string): boolean { method resizeAll (line 447) | resizeAll(_cols: number, _rows: number): void { method getAttachHint (line 453) | getAttachHint(): string | null { method resolveTmuxOptions (line 466) | private resolveTmuxOptions(config: AgentSpawnConfig): ResolvedTmuxOpti... method getServerName (line 484) | private getServerName(): string | undefined { method ensureExternalSession (line 488) | private async ensureExternalSession( method spawnInsideTmux (line 535) | private async spawnInsideTmux( method spawnOutsideTmux (line 567) | private async spawnOutsideTmux( method pickMiddlePane (line 605) | private pickMiddlePane(panes: TmuxPaneInfo[]): TmuxPaneInfo { method shouldSplitHorizontally (line 612) | private shouldSplitHorizontally(paneCount: number): boolean { method applyPaneDecorations (line 616) | private async applyPaneDecorations( method applyInsideLayout (line 663) | private async applyInsideLayout(options: ResolvedTmuxOptions): Promise... method applyExternalLayout (line 671) | private async applyExternalLayout(serverName?: string): Promise { method sleep (line 676) | private async sleep(ms: number): Promise { method buildShellCommand (line 680) | private buildShellCommand(config: AgentSpawnConfig): string { method allExited (line 710) | private allExited(): boolean { method startExitPolling (line 719) | private startExitPolling(): void { method stopExitPolling (line 727) | private stopExitPolling(): void { method pollPaneStatus (line 734) | private async pollPaneStatus(): Promise { function shellQuote (line 811) | function shellQuote(value: string): string { FILE: packages/core/src/agents/backends/detect.ts type DetectBackendResult (line 16) | interface DetectBackendResult { function detectBackend (line 34) | async function detectBackend( FILE: packages/core/src/agents/backends/iterm-it2.ts function it2Result (line 21) | async function it2Result( function it2 (line 34) | async function it2(args: string[]): Promise { function parseCreatedPaneId (line 43) | function parseCreatedPaneId(output: string): string { function isIt2Available (line 53) | function isIt2Available(): boolean { function tryInstallIt2 (line 57) | async function tryInstallIt2( function ensureIt2Installed (line 68) | async function ensureIt2Installed(): Promise { function verifyITerm (line 87) | async function verifyITerm(): Promise { function itermSplitPane (line 112) | async function itermSplitPane(sessionId?: string): Promise { function itermRunCommand (line 121) | async function itermRunCommand( function itermFocusSession (line 128) | async function itermFocusSession(sessionId: string): Promise { function itermSendText (line 132) | async function itermSendText( function itermCloseSession (line 139) | async function itermCloseSession(sessionId: string): Promise { FILE: packages/core/src/agents/backends/tmux-commands.ts type TmuxPaneInfo (line 22) | interface TmuxPaneInfo { type TmuxWindowInfo (line 34) | interface TmuxWindowInfo { constant MIN_TMUX_VERSION (line 44) | const MIN_TMUX_VERSION = '3.0'; function tmuxResult (line 48) | async function tmuxResult( function tmux (line 63) | async function tmux(args: string[], serverName?: string): Promise { function parseVersion (line 73) | function parseVersion(versionStr: string): number[] { function isVersionAtLeast (line 80) | function isVersionAtLeast(current: string, minimum: string): boolean { function isTmuxAvailable (line 92) | function isTmuxAvailable(): boolean { function tmuxVersion (line 99) | async function tmuxVersion(): Promise { function verifyTmux (line 109) | async function verifyTmux(): Promise { function tmuxCurrentSession (line 127) | async function tmuxCurrentSession(): Promise { function tmuxCurrentPaneId (line 135) | async function tmuxCurrentPaneId(): Promise { function tmuxCurrentWindowTarget (line 143) | async function tmuxCurrentWindowTarget(): Promise { function tmuxHasSession (line 155) | async function tmuxHasSession( function tmuxListWindows (line 166) | async function tmuxListWindows( function tmuxHasWindow (line 187) | async function tmuxHasWindow( function tmuxNewSession (line 199) | async function tmuxNewSession( function tmuxNewWindow (line 214) | async function tmuxNewWindow( function tmuxSplitWindow (line 238) | async function tmuxSplitWindow( function tmuxSendKeys (line 266) | async function tmuxSendKeys( function tmuxSelectPane (line 286) | async function tmuxSelectPane( function tmuxSelectPaneTitle (line 296) | async function tmuxSelectPaneTitle( function tmuxSelectPaneStyle (line 307) | async function tmuxSelectPaneStyle( function tmuxSelectLayout (line 321) | async function tmuxSelectLayout( function tmuxCapturePaneContent (line 334) | async function tmuxCapturePaneContent( function tmuxListPanes (line 348) | async function tmuxListPanes( function parseTmuxListPanes (line 368) | function parseTmuxListPanes(output: string): TmuxPaneInfo[] { function tmuxSetOption (line 386) | async function tmuxSetOption( function tmuxRespawnPane (line 405) | async function tmuxRespawnPane( function tmuxBreakPane (line 416) | async function tmuxBreakPane( function tmuxJoinPane (line 427) | async function tmuxJoinPane( function tmuxKillPane (line 438) | async function tmuxKillPane( function tmuxResizePane (line 452) | async function tmuxResizePane( function tmuxKillSession (line 470) | async function tmuxKillSession( function tmuxKillWindow (line 480) | async function tmuxKillWindow( function tmuxGetFirstPaneId (line 490) | async function tmuxGetFirstPaneId( FILE: packages/core/src/agents/backends/types.ts constant DISPLAY_MODE (line 26) | const DISPLAY_MODE = { type DisplayMode (line 35) | type DisplayMode = (typeof DISPLAY_MODE)[keyof typeof DISPLAY_MODE]; type AgentSpawnConfig (line 40) | interface AgentSpawnConfig { type InProcessSpawnConfig (line 74) | interface InProcessSpawnConfig { type AgentExitCallback (line 108) | type AgentExitCallback = ( type Backend (line 121) | interface Backend { type TmuxBackendOptions (line 255) | interface TmuxBackendOptions { FILE: packages/core/src/agents/runtime/agent-core.ts type ReasoningLoopResult (line 67) | interface ReasoningLoopResult { type ReasoningLoopOptions (line 79) | interface ReasoningLoopOptions { type CreateChatOptions (line 91) | interface CreateChatOptions { type ExecutionStats (line 108) | interface ExecutionStats { class AgentCore (line 133) | class AgentCore { method constructor (line 177) | constructor( method createChat (line 209) | async createChat( method prepareTools (line 272) | prepareTools(): FunctionDeclaration[] { method runReasoningLoop (line 330) | async runReasoningLoop( method processFunctionCalls (line 540) | async processFunctionCalls( method getEventEmitter (line 853) | getEventEmitter(): AgentEventEmitter | undefined { method getExecutionSummary (line 857) | getExecutionSummary(): AgentStatsSummary { method getStatistics (line 865) | getStatistics(): { method getToolDescription (line 894) | getToolDescription(toolName: string, args: Record): s... method getToolIsOutputMarkdown (line 909) | private getToolIsOutputMarkdown(toolName: string): boolean { method recordToolCallStats (line 921) | recordToolCallStats( method buildChatSystemPrompt (line 969) | private buildChatSystemPrompt( method recordTokenUsage (line 1001) | private recordTokenUsage( FILE: packages/core/src/agents/runtime/agent-events.ts type AgentEvent (line 27) | type AgentEvent = type AgentEventType (line 42) | enum AgentEventType { type AgentStartEvent (line 61) | interface AgentStartEvent { type AgentRoundEvent (line 69) | interface AgentRoundEvent { type AgentRoundTextEvent (line 76) | interface AgentRoundTextEvent { type AgentStreamTextEvent (line 84) | interface AgentStreamTextEvent { type AgentUsageEvent (line 93) | interface AgentUsageEvent { type AgentToolCallEvent (line 101) | interface AgentToolCallEvent { type AgentToolResultEvent (line 113) | interface AgentToolResultEvent { type AgentToolOutputUpdateEvent (line 128) | interface AgentToolOutputUpdateEvent { type AgentApprovalRequestEvent (line 139) | interface AgentApprovalRequestEvent { type AgentFinishEvent (line 155) | interface AgentFinishEvent { type AgentErrorEvent (line 169) | interface AgentErrorEvent { type AgentStatusChangeEvent (line 175) | interface AgentStatusChangeEvent { type AgentEventMap (line 189) | interface AgentEventMap { class AgentEventEmitter (line 207) | class AgentEventEmitter { method on (line 210) | on( method off (line 217) | off( method emit (line 224) | emit( type PreToolUsePayload (line 234) | interface PreToolUsePayload { type PostToolUsePayload (line 242) | interface PostToolUsePayload extends PreToolUsePayload { type AgentStopPayload (line 248) | interface AgentStopPayload { type AgentHooks (line 256) | interface AgentHooks { FILE: packages/core/src/agents/runtime/agent-headless.test.ts function createMockConfig (line 120) | async function createMockConfig( FILE: packages/core/src/agents/runtime/agent-headless.ts class ContextState (line 50) | class ContextState { method get (line 59) | get(key: string): unknown { method set (line 69) | set(key: string, value: unknown): void { method get_keys (line 78) | get_keys(): string[] { function templateString (line 94) | function templateString( class AgentHeadless (line 135) | class AgentHeadless { method constructor (line 140) | private constructor(core: AgentCore) { method create (line 156) | static async create( method execute (line 192) | async execute( method getCore (line 321) | getCore(): AgentCore { method executionStats (line 325) | get executionStats() { method executionStats (line 329) | set executionStats(value) { method getEventEmitter (line 333) | getEventEmitter() { method getStatistics (line 337) | getStatistics() { method getExecutionSummary (line 341) | getExecutionSummary(): AgentStatsSummary { method getFinalText (line 345) | getFinalText(): string { method getTerminateMode (line 349) | getTerminateMode(): AgentTerminateMode { method name (line 353) | get name(): string { method runtimeContext (line 357) | get runtimeContext(): Config { FILE: packages/core/src/agents/runtime/agent-interactive.test.ts function createMockChat (line 15) | function createMockChat() { function createMockCore (line 21) | function createMockCore( function createConfig (line 79) | function createConfig( FILE: packages/core/src/agents/runtime/agent-interactive.ts class AgentInteractive (line 53) | class AgentInteractive { method constructor (line 88) | constructor(config: AgentInteractiveConfig, core: AgentCore) { method start (line 100) | async start(context: ContextState): Promise { method runLoop (line 133) | private async runLoop(): Promise { method runOneRound (line 161) | private async runOneRound(message: string): Promise { method cancelCurrentRound (line 227) | cancelCurrentRound(): void { method shutdown (line 240) | async shutdown(): Promise { method abort (line 255) | abort(): void { method enqueueMessage (line 266) | enqueueMessage(message: string): void { method getMessages (line 275) | getMessages(): readonly AgentMessage[] { method getStatus (line 279) | getStatus(): AgentStatus { method getError (line 283) | getError(): string | undefined { method getLastRoundError (line 287) | getLastRoundError(): string | undefined { method getStats (line 291) | getStats(): AgentStatsSummary { method getLastPromptTokenCount (line 296) | getLastPromptTokenCount(): number { method getCore (line 300) | getCore(): AgentCore { method getEventEmitter (line 304) | getEventEmitter(): AgentEventEmitter | undefined { method getPendingApprovals (line 313) | getPendingApprovals(): ReadonlyMap { method getLiveOutputs (line 322) | getLiveOutputs(): ReadonlyMap { method getShellPids (line 332) | getShellPids(): ReadonlyMap { method waitForCompletion (line 339) | async waitForCompletion(): Promise { method settleRoundStatus (line 352) | private settleRoundStatus(): void { method setStatus (line 360) | private setStatus(newStatus: AgentStatus): void { method addMessage (line 375) | private addMessage( method setupEventListeners (line 394) | private setupEventListeners(): void { function terminateModeMessage (line 493) | function terminateModeMessage( FILE: packages/core/src/agents/runtime/agent-statistics.ts type ToolUsageStats (line 7) | interface ToolUsageStats { type AgentStatsSummary (line 17) | interface AgentStatsSummary { class AgentStatistics (line 32) | class AgentStatistics { method start (line 45) | start(now = Date.now()) { method setRounds (line 49) | setRounds(rounds: number) { method recordToolCall (line 53) | recordToolCall( method recordTokens (line 81) | recordTokens( method getSummary (line 95) | getSummary(now = Date.now()): AgentStatsSummary { method formatCompact (line 122) | formatCompact(taskDesc: string, now = Date.now()): string { method formatDetailed (line 146) | formatDetailed(taskDesc: string, now = Date.now()): string { method fmtDuration (line 206) | private fmtDuration(ms: number): string { method generatePerformanceTips (line 219) | private generatePerformanceTips(stats: AgentStatsSummary): string[] { FILE: packages/core/src/agents/runtime/agent-types.ts type PromptConfig (line 21) | interface PromptConfig { type ModelConfig (line 38) | interface ModelConfig { type RunConfig (line 56) | interface RunConfig { type ToolConfig (line 69) | interface ToolConfig { type AgentTerminateMode (line 81) | enum AgentTerminateMode { type AgentStatus (line 111) | enum AgentStatus { type AgentInteractiveConfig (line 139) | interface AgentInteractiveConfig { type AgentMessage (line 163) | interface AgentMessage { type InProgressStreamState (line 191) | interface InProgressStreamState { FILE: packages/core/src/config/config.test.ts function createToolMock (line 42) | function createToolMock(toolName: string) { FILE: packages/core/src/config/config.ts type ApprovalMode (line 148) | enum ApprovalMode { constant APPROVAL_MODES (line 155) | const APPROVAL_MODES = Object.values(ApprovalMode); type ApprovalModeInfo (line 160) | interface ApprovalModeInfo { constant APPROVAL_MODE_INFO (line 170) | const APPROVAL_MODE_INFO: Record = { type AccessibilitySettings (line 193) | interface AccessibilitySettings { type BugCommandSettings (line 198) | interface BugCommandSettings { type ChatCompressionSettings (line 202) | interface ChatCompressionSettings { type TelemetrySettings (line 206) | interface TelemetrySettings { type OutputSettings (line 216) | interface OutputSettings { type GitCoAuthorSettings (line 220) | interface GitCoAuthorSettings { type ExtensionOriginSource (line 226) | type ExtensionOriginSource = 'QwenCode' | 'Claude' | 'Gemini'; type ExtensionInstallMetadata (line 228) | interface ExtensionInstallMetadata { constant DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD (line 240) | const DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD = 25_000; constant DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES (line 241) | const DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES = 1000; class MCPServerConfig (line 243) | class MCPServerConfig { method constructor (line 244) | constructor( function isSdkMcpServerConfig (line 281) | function isSdkMcpServerConfig(config: MCPServerConfig): boolean { type AuthProviderType (line 285) | enum AuthProviderType { type SandboxConfig (line 291) | interface SandboxConfig { type AgentsCollabSettings (line 300) | interface AgentsCollabSettings { type ConfigParameters (line 316) | interface ConfigParameters { function normalizeConfigOutputFormat (line 445) | function normalizeConfigOutputFormat( type ConfigInitializeOptions (line 467) | interface ConfigInitializeOptions { class Config (line 475) | class Config { method constructor (line 602) | constructor(params: ConfigParameters) { method initialize (line 771) | async initialize(options?: ConfigInitializeOptions): Promise { method refreshHierarchicalMemory (line 962) | async refreshHierarchicalMemory(): Promise { method getContentGenerator (line 977) | getContentGenerator(): ContentGenerator { method getModelsConfig (line 985) | getModelsConfig(): ModelsConfig { method updateCredentials (line 994) | updateCredentials( method reloadModelProvidersConfig (line 1012) | reloadModelProvidersConfig( method refreshAuth (line 1021) | async refreshAuth(authMethod: AuthType, isInitialAuth?: boolean) { method getBaseLlmClient (line 1071) | getBaseLlmClient(): BaseLlmClient { method getSessionId (line 1088) | getSessionId(): string { method getWarnings (line 1097) | getWarnings(): string[] { method getDebugLogger (line 1101) | getDebugLogger(): DebugLogger { method startNewSession (line 1108) | startNewSession( method getResumedSessionData (line 1128) | getResumedSessionData(): ResumedSessionData | undefined { method shouldLoadMemoryFromIncludeDirectories (line 1132) | shouldLoadMemoryFromIncludeDirectories(): boolean { method getImportFormat (line 1136) | getImportFormat(): 'tree' | 'flat' { method getContentGeneratorConfig (line 1140) | getContentGeneratorConfig(): ContentGeneratorConfig { method getContentGeneratorConfigSources (line 1144) | getContentGeneratorConfigSources(): ContentGeneratorConfigSources { method getModel (line 1156) | getModel(): string { method setModel (line 1164) | async setModel( method handleModelChange (line 1179) | private async handleModelChange( method getAvailableModels (line 1239) | getAvailableModels(): AvailableModel[] { method getAvailableModelsForAuthType (line 1247) | getAvailableModelsForAuthType(authType: AuthType): AvailableModel[] { method getAllConfiguredModels (line 1255) | getAllConfiguredModels(authTypes?: AuthType[]): AvailableModel[] { method getActiveRuntimeModelSnapshot (line 1263) | getActiveRuntimeModelSnapshot(): RuntimeModelSnapshot | undefined { method switchModel (line 1279) | async switchModel( method getMaxSessionTurns (line 1287) | getMaxSessionTurns(): number { method getSessionTokenLimit (line 1291) | getSessionTokenLimit(): number { method getEmbeddingModel (line 1295) | getEmbeddingModel(): string { method getSandbox (line 1299) | getSandbox(): SandboxConfig | undefined { method isRestrictiveSandbox (line 1303) | isRestrictiveSandbox(): boolean { method getTargetDir (line 1314) | getTargetDir(): string { method getProjectRoot (line 1318) | getProjectRoot(): string { method getCwd (line 1322) | getCwd(): string { method getWorkspaceContext (line 1326) | getWorkspaceContext(): WorkspaceContext { method getToolRegistry (line 1330) | getToolRegistry(): ToolRegistry { method shutdown (line 1339) | async shutdown(): Promise { method getPromptRegistry (line 1358) | getPromptRegistry(): PromptRegistry { method getDebugMode (line 1362) | getDebugMode(): boolean { method getQuestion (line 1366) | getQuestion(): string | undefined { method getSystemPrompt (line 1370) | getSystemPrompt(): string | undefined { method getAppendSystemPrompt (line 1374) | getAppendSystemPrompt(): string | undefined { method getCoreTools (line 1379) | getCoreTools(): string[] | undefined { method getPermissionsAllow (line 1399) | getPermissionsAllow(): string[] { method getPermissionsAsk (line 1410) | getPermissionsAsk(): string[] { method getPermissionsDeny (line 1423) | getPermissionsDeny(): string[] { method getToolDiscoveryCommand (line 1434) | getToolDiscoveryCommand(): string | undefined { method getToolCallCommand (line 1438) | getToolCallCommand(): string | undefined { method getMcpServerCommand (line 1442) | getMcpServerCommand(): string | undefined { method getMcpServers (line 1446) | getMcpServers(): Record | undefined { method getExcludedMcpServers (line 1476) | getExcludedMcpServers(): string[] | undefined { method setExcludedMcpServers (line 1480) | setExcludedMcpServers(excluded: string[]): void { method isMcpServerDisabled (line 1484) | isMcpServerDisabled(serverName: string): boolean { method addMcpServers (line 1488) | addMcpServers(servers: Record): void { method isLspEnabled (line 1495) | isLspEnabled(): boolean { method getLspClient (line 1499) | getLspClient(): LspClient | undefined { method setLspClient (line 1506) | setLspClient(client: LspClient | undefined): void { method getSessionSubagents (line 1513) | getSessionSubagents(): SubagentConfig[] { method setSessionSubagents (line 1517) | setSessionSubagents(subagents: SubagentConfig[]): void { method getSdkMode (line 1524) | getSdkMode(): boolean { method setSdkMode (line 1528) | setSdkMode(value: boolean): void { method getUserMemory (line 1532) | getUserMemory(): string { method setUserMemory (line 1536) | setUserMemory(newUserMemory: string): void { method getGeminiMdFileCount (line 1540) | getGeminiMdFileCount(): number { method setGeminiMdFileCount (line 1544) | setGeminiMdFileCount(count: number): void { method getArenaManager (line 1548) | getArenaManager(): ArenaManager | null { method setArenaManager (line 1552) | setArenaManager(manager: ArenaManager | null): void { method onArenaManagerChange (line 1561) | onArenaManagerChange( method getArenaAgentClient (line 1567) | getArenaAgentClient(): ArenaAgentClient | null { method getAgentsSettings (line 1571) | getAgentsSettings(): AgentsCollabSettings { method cleanupArenaRuntime (line 1579) | async cleanupArenaRuntime(force?: boolean): Promise { method getApprovalMode (line 1592) | getApprovalMode(): ApprovalMode { method setApprovalMode (line 1596) | setApprovalMode(mode: ApprovalMode): void { method getInputFormat (line 1609) | getInputFormat(): 'text' | 'stream-json' { method getIncludePartialMessages (line 1613) | getIncludePartialMessages(): boolean { method getAccessibility (line 1617) | getAccessibility(): AccessibilitySettings { method getTelemetryEnabled (line 1621) | getTelemetryEnabled(): boolean { method getTelemetryLogPromptsEnabled (line 1625) | getTelemetryLogPromptsEnabled(): boolean { method getTelemetryOtlpEndpoint (line 1629) | getTelemetryOtlpEndpoint(): string { method getTelemetryOtlpProtocol (line 1633) | getTelemetryOtlpProtocol(): 'grpc' | 'http' { method getTelemetryTarget (line 1637) | getTelemetryTarget(): TelemetryTarget { method getTelemetryOutfile (line 1641) | getTelemetryOutfile(): string | undefined { method getGitCoAuthor (line 1645) | getGitCoAuthor(): GitCoAuthorSettings { method getTelemetryUseCollector (line 1649) | getTelemetryUseCollector(): boolean { method getGeminiClient (line 1653) | getGeminiClient(): GeminiClient { method getEnableRecursiveFileSearch (line 1657) | getEnableRecursiveFileSearch(): boolean { method getFileFilteringEnableFuzzySearch (line 1661) | getFileFilteringEnableFuzzySearch(): boolean { method getFileFilteringRespectGitIgnore (line 1665) | getFileFilteringRespectGitIgnore(): boolean { method getFileFilteringRespectQwenIgnore (line 1668) | getFileFilteringRespectQwenIgnore(): boolean { method getFileFilteringOptions (line 1672) | getFileFilteringOptions(): FileFilteringOptions { method getCustomExcludes (line 1684) | getCustomExcludes(): string[] { method getCheckpointingEnabled (line 1694) | getCheckpointingEnabled(): boolean { method getProxy (line 1698) | getProxy(): string | undefined { method getWorkingDir (line 1702) | getWorkingDir(): string { method getBugCommand (line 1706) | getBugCommand(): BugCommandSettings | undefined { method getFileService (line 1710) | getFileService(): FileDiscoveryService { method getUsageStatisticsEnabled (line 1717) | getUsageStatisticsEnabled(): boolean { method getExtensionContextFilePaths (line 1721) | getExtensionContextFilePaths(): string[] { method getExperimentalZedIntegration (line 1731) | getExperimentalZedIntegration(): boolean { method getListExtensions (line 1735) | getListExtensions(): boolean { method getExtensionManager (line 1739) | getExtensionManager(): ExtensionManager { method getHookSystem (line 1747) | getHookSystem(): HookSystem | undefined { method getEnableHooks (line 1754) | getEnableHooks(): boolean { method getMessageBus (line 1762) | getMessageBus(): MessageBus | undefined { method setMessageBus (line 1770) | setMessageBus(messageBus: MessageBus): void { method getDisabledHooks (line 1778) | getDisabledHooks(): string[] { method getProjectHooks (line 1789) | getProjectHooks(): Record | undefined { method getHooks (line 1799) | getHooks(): Record | undefined { method getExtensions (line 1803) | getExtensions(): Extension[] { method getActiveExtensions (line 1814) | getActiveExtensions(): Extension[] { method getBlockedMcpServers (line 1818) | getBlockedMcpServers(): Array<{ name: string; extensionName: string }> { method getNoBrowser (line 1849) | getNoBrowser(): boolean { method isBrowserLaunchSuppressed (line 1853) | isBrowserLaunchSuppressed(): boolean { method getWebSearchConfig (line 1858) | getWebSearchConfig() { method getIdeMode (line 1862) | getIdeMode(): boolean { method getFolderTrustFeature (line 1866) | getFolderTrustFeature(): boolean { method getFolderTrust (line 1874) | getFolderTrust(): boolean { method isTrustedFolder (line 1878) | isTrustedFolder(): boolean { method setIdeMode (line 1897) | setIdeMode(value: boolean): void { method getAuthType (line 1901) | getAuthType(): AuthType | undefined { method getCliVersion (line 1905) | getCliVersion(): string | undefined { method getChannel (line 1909) | getChannel(): string | undefined { method getDefaultFileEncoding (line 1917) | getDefaultFileEncoding(): FileEncodingType | undefined { method getFileSystemService (line 1924) | getFileSystemService(): FileSystemService { method setFileSystemService (line 1931) | setFileSystemService(fileSystemService: FileSystemService): void { method getChatCompression (line 1935) | getChatCompression(): ChatCompressionSettings | undefined { method isInteractive (line 1939) | isInteractive(): boolean { method getUseRipgrep (line 1943) | getUseRipgrep(): boolean { method getUseBuiltinRipgrep (line 1947) | getUseBuiltinRipgrep(): boolean { method getShouldUseNodePtyShell (line 1951) | getShouldUseNodePtyShell(): boolean { method getSkipNextSpeakerCheck (line 1955) | getSkipNextSpeakerCheck(): boolean { method getShellExecutionConfig (line 1959) | getShellExecutionConfig(): ShellExecutionConfig { method setShellExecutionConfig (line 1963) | setShellExecutionConfig(config: ShellExecutionConfig): void { method getScreenReader (line 1973) | getScreenReader(): boolean { method getSkipLoopDetection (line 1977) | getSkipLoopDetection(): boolean { method getSkipStartupContext (line 1981) | getSkipStartupContext(): boolean { method getTruncateToolOutputThreshold (line 1985) | getTruncateToolOutputThreshold(): number { method getTruncateToolOutputLines (line 1993) | getTruncateToolOutputLines(): number { method getOutputFormat (line 2001) | getOutputFormat(): OutputFormat { method getGitService (line 2005) | async getGitService(): Promise { method getChatRecordingService (line 2016) | getChatRecordingService(): ChatRecordingService | undefined { method getTranscriptPath (line 2031) | getTranscriptPath(): string { method getSessionService (line 2044) | getSessionService(): SessionService { method getFileExclusions (line 2051) | getFileExclusions(): FileExclusions { method getSubagentManager (line 2055) | getSubagentManager(): SubagentManager { method getSkillManager (line 2059) | getSkillManager(): SkillManager | null { method getPermissionManager (line 2063) | getPermissionManager(): PermissionManager | null { method getOnPersistPermissionRule (line 2071) | getOnPersistPermissionRule(): method createToolRegistry (line 2081) | async createToolRegistry( FILE: packages/core/src/config/constants.ts type FileFilteringOptions (line 7) | interface FileFilteringOptions { constant DEFAULT_MEMORY_FILE_FILTERING_OPTIONS (line 13) | const DEFAULT_MEMORY_FILE_FILTERING_OPTIONS: FileFilteringOptions = { constant DEFAULT_FILE_FILTERING_OPTIONS (line 19) | const DEFAULT_FILE_FILTERING_OPTIONS: FileFilteringOptions = { FILE: packages/core/src/config/models.ts constant DEFAULT_QWEN_MODEL (line 7) | const DEFAULT_QWEN_MODEL = 'coder-model'; constant DEFAULT_QWEN_FLASH_MODEL (line 8) | const DEFAULT_QWEN_FLASH_MODEL = 'coder-model'; constant DEFAULT_QWEN_EMBEDDING_MODEL (line 9) | const DEFAULT_QWEN_EMBEDDING_MODEL = 'text-embedding-v4'; constant MAINLINE_CODER_MODEL (line 10) | const MAINLINE_CODER_MODEL = 'qwen3.5-plus'; FILE: packages/core/src/config/storage.ts constant QWEN_DIR (line 13) | const QWEN_DIR = '.qwen'; constant GOOGLE_ACCOUNTS_FILENAME (line 14) | const GOOGLE_ACCOUNTS_FILENAME = 'google_accounts.json'; constant OAUTH_FILE (line 15) | const OAUTH_FILE = 'oauth_creds.json'; constant SKILL_PROVIDER_CONFIG_DIRS (line 16) | const SKILL_PROVIDER_CONFIG_DIRS = ['.qwen', '.agents']; constant TMP_DIR_NAME (line 17) | const TMP_DIR_NAME = 'tmp'; constant BIN_DIR_NAME (line 18) | const BIN_DIR_NAME = 'bin'; constant PROJECT_DIR_NAME (line 19) | const PROJECT_DIR_NAME = 'projects'; constant IDE_DIR_NAME (line 20) | const IDE_DIR_NAME = 'ide'; constant DEBUG_DIR_NAME (line 21) | const DEBUG_DIR_NAME = 'debug'; constant ARENA_DIR_NAME (line 22) | const ARENA_DIR_NAME = 'arena'; class Storage (line 24) | class Storage { method constructor (line 36) | constructor(targetDir: string) { method resolveRuntimeBaseDir (line 40) | private static resolveRuntimeBaseDir( method setRuntimeBaseDir (line 78) | static setRuntimeBaseDir(dir: string | null | undefined, cwd?: string)... method runWithRuntimeBaseDir (line 86) | static runWithRuntimeBaseDir( method getRuntimeBaseDir (line 102) | static getRuntimeBaseDir(): string { method getGlobalQwenDir (line 120) | static getGlobalQwenDir(): string { method getMcpOAuthTokensPath (line 128) | static getMcpOAuthTokensPath(): string { method getGlobalSettingsPath (line 132) | static getGlobalSettingsPath(): string { method getInstallationIdPath (line 136) | static getInstallationIdPath(): string { method getGoogleAccountsPath (line 140) | static getGoogleAccountsPath(): string { method getUserCommandsDir (line 144) | static getUserCommandsDir(): string { method getGlobalMemoryFilePath (line 148) | static getGlobalMemoryFilePath(): string { method getGlobalTempDir (line 152) | static getGlobalTempDir(): string { method getGlobalDebugDir (line 156) | static getGlobalDebugDir(): string { method getDebugLogPath (line 160) | static getDebugLogPath(sessionId: string): string { method getGlobalIdeDir (line 164) | static getGlobalIdeDir(): string { method getGlobalBinDir (line 168) | static getGlobalBinDir(): string { method getGlobalArenaDir (line 172) | static getGlobalArenaDir(): string { method getQwenDir (line 176) | getQwenDir(): string { method getProjectDir (line 180) | getProjectDir(): string { method getProjectTempDir (line 189) | getProjectTempDir(): string { method ensureProjectTempDirExists (line 196) | ensureProjectTempDirExists(): void { method getOAuthCredsPath (line 200) | static getOAuthCredsPath(): string { method getProjectRoot (line 204) | getProjectRoot(): string { method getHistoryDir (line 208) | getHistoryDir(): string { method getWorkspaceSettingsPath (line 215) | getWorkspaceSettingsPath(): string { method getProjectCommandsDir (line 219) | getProjectCommandsDir(): string { method getProjectTempCheckpointsDir (line 223) | getProjectTempCheckpointsDir(): string { method getExtensionsDir (line 227) | getExtensionsDir(): string { method getExtensionsConfigPath (line 231) | getExtensionsConfigPath(): string { method getUserSkillsDirs (line 235) | getUserSkillsDirs(): string[] { method getUserExtensionsDir (line 247) | static getUserExtensionsDir(): string { method getHistoryFilePath (line 251) | getHistoryFilePath(): string { FILE: packages/core/src/confirmation-bus/message-bus.ts class MessageBus (line 15) | class MessageBus extends EventEmitter { method constructor (line 16) | constructor(private readonly debug = false) { method isValidMessage (line 21) | private isValidMessage(message: Message): boolean { method emitMessage (line 36) | private emitMessage(message: Message): void { method publish (line 40) | async publish(message: Message): Promise { method subscribe (line 70) | subscribe( method unsubscribe (line 77) | unsubscribe( method request (line 89) | async request( FILE: packages/core/src/confirmation-bus/types.ts type MessageBusType (line 13) | enum MessageBusType { type ToolConfirmationRequest (line 22) | interface ToolConfirmationRequest { type ToolConfirmationResponse (line 33) | interface ToolConfirmationResponse { type SerializableConfirmationDetails (line 57) | type SerializableConfirmationDetails = type ToolExecutionSuccess (line 95) | interface ToolExecutionSuccess { type ToolExecutionFailure (line 101) | interface ToolExecutionFailure { type HookExecutionRequest (line 107) | interface HookExecutionRequest { type HookExecutionResponse (line 114) | interface HookExecutionResponse { type Message (line 122) | type Message = FILE: packages/core/src/core/anthropicContentGenerator/anthropicContentGenerator.test.ts type AnthropicCreateArgs (line 25) | type AnthropicCreateArgs = [unknown, { signal?: AbortSignal }?]; class AnthropicMock (line 38) | class AnthropicMock { method constructor (line 41) | constructor(options: Record) { FILE: packages/core/src/core/anthropicContentGenerator/anthropicContentGenerator.ts type Message (line 23) | type Message = Anthropic.Message; type MessageCreateParamsNonStreaming (line 24) | type MessageCreateParamsNonStreaming = type MessageCreateParamsStreaming (line 26) | type MessageCreateParamsStreaming = Anthropic.MessageCreateParamsStreaming; type RawMessageStreamEvent (line 27) | type RawMessageStreamEvent = Anthropic.RawMessageStreamEvent; type StreamingBlockState (line 42) | type StreamingBlockState = { type MessageCreateParamsWithThinking (line 50) | type MessageCreateParamsWithThinking = MessageCreateParamsNonStreaming & { class AnthropicContentGenerator (line 57) | class AnthropicContentGenerator implements ContentGenerator { method constructor (line 61) | constructor( method generateContent (line 90) | async generateContent( method generateContentStream (line 101) | async generateContentStream( method countTokens (line 122) | async countTokens( method embedContent (line 147) | async embedContent( method useSummarizedThinking (line 153) | useSummarizedThinking(): boolean { method buildHeaders (line 157) | private buildHeaders(): Record { method buildRequest (line 186) | private async buildRequest( method buildSamplingParameters (line 211) | private buildSamplingParameters(request: GenerateContentParameters): { method buildThinkingConfig (line 252) | private buildThinkingConfig( method buildOutputConfig (line 283) | private buildOutputConfig(): method processStream (line 298) | private async *processStream( method buildGeminiChunk (line 488) | private buildGeminiChunk( FILE: packages/core/src/core/anthropicContentGenerator/converter.ts type AnthropicMessageParam (line 28) | type AnthropicMessageParam = Anthropic.MessageParam; type AnthropicToolParam (line 29) | type AnthropicToolParam = Anthropic.Tool & { type AnthropicContentBlockParam (line 32) | type AnthropicContentBlockParam = Anthropic.ContentBlockParam; class AnthropicContentConverter (line 34) | class AnthropicContentConverter { method constructor (line 39) | constructor( method convertGeminiRequestToAnthropic (line 49) | convertGeminiRequestToAnthropic(request: GenerateContentParameters): { method convertGeminiToolsToAnthropic (line 75) | async convertGeminiToolsToAnthropic( method convertAnthropicResponseToGemini (line 135) | convertAnthropicResponseToGemini( method processContents (line 221) | private processContents( method processContent (line 234) | private processContent( method createToolResultBlock (line 311) | private createToolResultBlock( method createMediaBlockFromPart (line 345) | private createMediaBlockFromPart( method isSupportedAnthropicImageMimeType (line 419) | private isSupportedAnthropicImageMimeType( method extractTextFromContentUnion (line 430) | private extractTextFromContentUnion(contentUnion: unknown): string { method extractFunctionResponseContent (line 461) | private extractFunctionResponseContent(response: unknown): string { method safeInputToArgs (line 491) | private safeInputToArgs(input: unknown): Record { method mapAnthropicFinishReasonToGemini (line 501) | mapAnthropicFinishReasonToGemini( method isContentObject (line 515) | private isContentObject( method buildSystemWithCacheControl (line 531) | private buildSystemWithCacheControl( method addCacheControlToMessages (line 551) | private addCacheControlToMessages(messages: Anthropic.MessageParam[]):... FILE: packages/core/src/core/anthropicContentGenerator/index.ts function createAnthropicContentGenerator (line 16) | function createAnthropicContentGenerator( FILE: packages/core/src/core/baseLlmClient.ts constant DEFAULT_MAX_ATTEMPTS (line 23) | const DEFAULT_MAX_ATTEMPTS = 7; type GenerateJsonOptions (line 28) | interface GenerateJsonOptions { class BaseLlmClient (line 66) | class BaseLlmClient { method constructor (line 67) | constructor( method generateJson (line 72) | async generateJson( method generateEmbedding (line 157) | async generateEmbedding(texts: string[]): Promise { FILE: packages/core/src/core/client.test.ts method constructor (line 79) | constructor() { method calculateTokens (line 158) | async calculateTokens(request: { contents: unknown }) { function fromAsync (line 180) | async function fromAsync(promise: AsyncGenerator): Promise { method getLoopDetectionService (line 191) | getLoopDetectionService(): LoopDetectionService { method addDirectoryContext (line 195) | async addDirectoryContext(): Promise { method getMainSessionSystemInstruction (line 206) | private getMainSessionSystemInstruction(): string { method startChat (line 226) | async startChat(extraHistory?: Content[]): Promise { method getIdeContextParts (line 259) | private getIdeContextParts(forceFullContext: boolean): { method sendMessageStream (line 451) | async *sendMessageStream( method generateContent (line 784) | async generateContent( method tryCompressChat (line 840) | async tryCompressChat( constant TEST_ONLY (line 885) | const TEST_ONLY = { FILE: packages/core/src/core/contentGenerator.ts type ContentGenerator (line 37) | interface ContentGenerator { type AuthType (line 55) | enum AuthType { type InputModalities (line 67) | type InputModalities = { type ContentGeneratorConfig (line 74) | type ContentGeneratorConfig = { type ContentGeneratorConfigSourceKind (line 120) | type ContentGeneratorConfigSourceKind = ConfigSourceKind; type ContentGeneratorConfigSource (line 121) | type ContentGeneratorConfigSource = ConfigSource; type ContentGeneratorConfigSources (line 122) | type ContentGeneratorConfigSources = ConfigSources; type ResolvedContentGeneratorConfig (line 124) | type ResolvedContentGeneratorConfig = { function setSource (line 129) | function setSource( function getSeedSource (line 137) | function getSeedSource( function resolveContentGeneratorConfigWithSources (line 154) | function resolveContentGeneratorConfigWithSources( type ModelConfigValidationResult (line 209) | interface ModelConfigValidationResult { function validateModelConfig (line 218) | function validateModelConfig( function createContentGeneratorConfig (line 280) | function createContentGeneratorConfig( function createContentGenerator (line 292) | async function createContentGenerator( FILE: packages/core/src/core/coreToolScheduler.test.ts class TestApprovalTool (line 50) | class TestApprovalTool extends BaseDeclarativeTool<{ id: string }, ToolR... method constructor (line 53) | constructor(private config: Config) { method createInvocation (line 67) | protected createInvocation(params: { class TestApprovalInvocation (line 74) | class TestApprovalInvocation extends BaseToolInvocation< method constructor (line 78) | constructor( method getDescription (line 85) | getDescription(): string { method getDefaultPermission (line 89) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 96) | override async getConfirmationDetails(): Promise { class AbortDuringConfirmationInvocation (line 121) | class AbortDuringConfirmationInvocation extends BaseToolInvocation< method constructor (line 125) | constructor( method getDefaultPermission (line 133) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 137) | override async getConfirmationDetails( method execute (line 144) | async execute(_abortSignal: AbortSignal): Promise { method getDescription (line 148) | getDescription(): string { class AbortDuringConfirmationTool (line 153) | class AbortDuringConfirmationTool extends BaseDeclarativeTool< method constructor (line 157) | constructor( method createInvocation (line 173) | protected createInvocation( function waitForStatus (line 184) | async function waitForStatus( class MockEditToolInvocation (line 1015) | class MockEditToolInvocation extends BaseToolInvocation< method constructor (line 1019) | constructor(params: Record) { method getDescription (line 1023) | getDescription(): string { method getDefaultPermission (line 1027) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 1031) | override async getConfirmationDetails( method execute (line 1047) | async execute(_abortSignal: AbortSignal): Promise { class MockEditTool (line 1055) | class MockEditTool extends BaseDeclarativeTool< method constructor (line 1059) | constructor() { method createInvocation (line 1063) | protected createInvocation( class StreamingInvocation (line 1282) | class StreamingInvocation extends BaseToolInvocation< method getDescription (line 1286) | getDescription(): string { method execute (line 1290) | async execute( class StreamingTool (line 1309) | class StreamingTool extends BaseDeclarativeTool< method constructor (line 1313) | constructor() { method createInvocation (line 1328) | protected createInvocation(params: { id: string }) { function createTruncationTestScheduler (line 1794) | function createTruncationTestScheduler( function createAskUserQuestionMockTool (line 2231) | function createAskUserQuestionMockTool() { function createPlanModeScheduler (line 2285) | function createPlanModeScheduler( function createScheduler (line 2931) | function createScheduler( FILE: packages/core/src/core/coreToolScheduler.ts constant TRUNCATION_PARAM_GUIDANCE (line 65) | const TRUNCATION_PARAM_GUIDANCE = constant TRUNCATION_EDIT_REJECTION (line 72) | const TRUNCATION_EDIT_REJECTION = type ValidatingToolCall (line 82) | type ValidatingToolCall = { type ScheduledToolCall (line 91) | type ScheduledToolCall = { type ErroredToolCall (line 100) | type ErroredToolCall = { type SuccessfulToolCall (line 109) | type SuccessfulToolCall = { type ExecutingToolCall (line 119) | type ExecutingToolCall = { type CancelledToolCall (line 130) | type CancelledToolCall = { type WaitingToolCall (line 140) | type WaitingToolCall = { type Status (line 150) | type Status = ToolCall['status']; type ToolCall (line 152) | type ToolCall = type CompletedToolCall (line 161) | type CompletedToolCall = type ConfirmHandler (line 166) | type ConfirmHandler = ( type OutputUpdateHandler (line 170) | type OutputUpdateHandler = ( type AllToolCallsCompleteHandler (line 175) | type AllToolCallsCompleteHandler = ( type ToolCallsUpdateHandler (line 179) | type ToolCallsUpdateHandler = (toolCalls: ToolCall[]) => void; function createFunctionResponsePart (line 184) | function createFunctionResponsePart( function convertToFunctionResponse (line 202) | function convertToFunctionResponse( function toParts (line 282) | function toParts(input: PartListUnion): Part[] { type CoreToolSchedulerOptions (line 315) | interface CoreToolSchedulerOptions { class CoreToolScheduler (line 328) | class CoreToolScheduler { method constructor (line 347) | constructor(options: CoreToolSchedulerOptions) { method setStatusInternal (line 382) | private setStatusInternal( method setArgsInternal (line 542) | private setArgsInternal(targetCallId: string, args: unknown): void { method isRunning (line 576) | private isRunning(): boolean { method buildInvocation (line 586) | private buildInvocation( method getToolNotFoundMessage (line 604) | private getToolNotFoundMessage(unknownToolName: string, topN = 3): str... method getToolSuggestion (line 622) | private getToolSuggestion(unknownToolName: string, topN = 3): string { method schedule (line 649) | schedule( method _schedule (line 685) | private async _schedule( method handleConfirmationResponse (line 1174) | async handleConfirmationResponse( method _applyInlineModify (line 1287) | private async _applyInlineModify( method attemptExecutionOfScheduledCalls (line 1325) | private async attemptExecutionOfScheduledCalls( method executeSingleToolCall (line 1366) | private async executeSingleToolCall( method checkAndNotifyCompletion (line 1636) | private async checkAndNotifyCompletion(): Promise { method recordToolResults (line 1676) | private recordToolResults(completedCalls: CompletedToolCall[]): void { method notifyToolCallsUpdate (line 1698) | private notifyToolCallsUpdate(): void { method setToolCallOutcome (line 1704) | private setToolCallOutcome(callId: string, outcome: ToolConfirmationOu... method autoApproveCompatiblePendingTools (line 1714) | private async autoApproveCompatiblePendingTools( FILE: packages/core/src/core/geminiChat.test.ts function expectStreamExhaustion (line 146) | async function expectStreamExhaustion( function collectStreamWithFakeTimers (line 163) | async function collectStreamWithFakeTimers( FILE: packages/core/src/core/geminiChat.ts type StreamEventType (line 42) | enum StreamEventType { type StreamEvent (line 50) | type StreamEvent = type ContentRetryOptions (line 57) | interface ContentRetryOptions { constant INVALID_CONTENT_RETRY_OPTIONS (line 64) | const INVALID_CONTENT_RETRY_OPTIONS: ContentRetryOptions = { constant INVALID_STREAM_RETRY_CONFIG (line 74) | const INVALID_STREAM_RETRY_CONFIG = { constant RATE_LIMIT_RETRY_OPTIONS (line 84) | const RATE_LIMIT_RETRY_OPTIONS = { function isValidResponse (line 97) | function isValidResponse(response: GenerateContentResponse): boolean { function isValidNonThoughtTextPart (line 114) | function isValidNonThoughtTextPart(part: Part): boolean { function isValidContent (line 128) | function isValidContent(content: Content): boolean { function isValidContentPart (line 143) | function isValidContentPart(part: Part): boolean { function validateHistory (line 160) | function validateHistory(history: Content[]) { function extractCuratedHistory (line 176) | function extractCuratedHistory(comprehensiveHistory: Content[]): Content... class InvalidStreamError (line 209) | class InvalidStreamError extends Error { method constructor (line 212) | constructor(message: string, type: 'NO_FINISH_REASON' | 'NO_RESPONSE_T... class GeminiChat (line 226) | class GeminiChat { method constructor (line 243) | constructor( method setSystemInstruction (line 253) | setSystemInstruction(sysInstr: string) { method sendMessageStream (line 279) | async sendMessageStream( method makeApiCallAndProcessStream (line 456) | private async makeApiCallAndProcessStream( method getHistory (line 514) | getHistory(curated: boolean = false): Content[] { method clearHistory (line 526) | clearHistory(): void { method addHistory (line 533) | addHistory(content: Content): void { method setHistory (line 537) | setHistory(history: Content[]): void { method stripThoughtsFromHistory (line 541) | stripThoughtsFromHistory(): void { method stripOrphanedUserEntriesFromHistory (line 585) | stripOrphanedUserEntriesFromHistory(): void { method setTools (line 594) | setTools(tools: Tool[]): void { method maybeIncludeSchemaDepthContext (line 598) | async maybeIncludeSchemaDepthContext(error: StructuredError): Promise<... method processStreamResponse (line 626) | private async *processStreamResponse( function isSchemaDepthError (line 774) | function isSchemaDepthError(errorMessage: string): boolean { function isInvalidArgumentError (line 778) | function isInvalidArgumentError(errorMessage: string): boolean { FILE: packages/core/src/core/geminiContentGenerator/geminiContentGenerator.ts class GeminiContentGenerator (line 28) | class GeminiContentGenerator implements ContentGenerator { method constructor (line 32) | constructor( method buildGenerateContentConfig (line 63) | private buildGenerateContentConfig( method buildThinkingConfig (line 118) | private buildThinkingConfig(): method generateContent (line 145) | async generateContent( method generateContentStream (line 157) | async generateContentStream( method stripUnsupportedFields (line 172) | private stripUnsupportedFields( method stripContentFields (line 190) | private stripContentFields( method stripPartFields (line 212) | private stripPartFields(part: Part): Part { method convertUnsupportedMediaToText (line 255) | private convertUnsupportedMediaToText(part: Part): Part { method countTokens (line 288) | async countTokens( method embedContent (line 294) | async embedContent( method useSummarizedThinking (line 300) | useSummarizedThinking(): boolean { FILE: packages/core/src/core/geminiContentGenerator/index.ts function createGeminiContentGenerator (line 20) | function createGeminiContentGenerator( 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/logger.test.ts constant GEMINI_DIR_NAME (line 31) | const GEMINI_DIR_NAME = '.qwen'; constant TMP_DIR_NAME (line 32) | const TMP_DIR_NAME = 'tmp'; constant LOG_FILE_NAME (line 33) | const LOG_FILE_NAME = 'logs.json'; constant CHECKPOINT_FILE_NAME (line 34) | const CHECKPOINT_FILE_NAME = 'checkpoint.json'; constant TEST_HOME_DIR (line 38) | const TEST_HOME_DIR = path.join(os.tmpdir(), 'qwen-core-logger-home'); function cleanupLogAndCheckpointFiles (line 51) | async function cleanupLogAndCheckpointFiles() { function readLogFile (line 60) | async function readLogFile(): Promise { FILE: packages/core/src/core/logger.ts constant LOG_FILE_NAME (line 13) | const LOG_FILE_NAME = 'logs.json'; type MessageSenderType (line 15) | enum MessageSenderType { type LogEntry (line 20) | interface LogEntry { type ModelSwitchEvent (line 28) | interface ModelSwitchEvent { function encodeTagName (line 47) | function encodeTagName(str: string): string { function decodeTagName (line 60) | function decodeTagName(str: string): string { class Logger (line 71) | class Logger { method constructor (line 80) | constructor( method _readLogFile (line 88) | private async _readLogFile(): Promise { method _backupCorruptedLogFile (line 131) | private async _backupCorruptedLogFile(reason: string): Promise { method initialize (line 142) | async initialize(): Promise { method _updateLogFile (line 176) | private async _updateLogFile( method getPreviousUserMessages (line 244) | async getPreviousUserMessages(): Promise { method logMessage (line 256) | async logMessage(type: MessageSenderType, message: string): Promise { method saveCheckpoint (line 328) | async saveCheckpoint(conversation: Content[], tag: string): Promise { method deleteCheckpoint (line 377) | async deleteCheckpoint(tag: string): Promise { method checkpointExists (line 426) | async checkpointExists(tag: string): Promise { method close (line 455) | close(): void { FILE: packages/core/src/core/loggingContentGenerator/loggingContentGenerator.ts class LoggingContentGenerator (line 50) | class LoggingContentGenerator implements ContentGenerator { method constructor (line 55) | constructor( method getWrapped (line 70) | getWrapped(): ContentGenerator { method logApiRequest (line 74) | private logApiRequest( method _logApiResponse (line 86) | private _logApiResponse( method _logApiError (line 108) | private _logApiError( method generateContent (line 138) | async generateContent( method generateContentStream (line 165) | async generateContentStream( method loggingStreamWrapper (line 192) | private async *loggingStreamWrapper( method buildOpenAIRequestForLogging (line 236) | private async buildOpenAIRequestForLogging( method logOpenAIInteraction (line 282) | private async logOpenAIInteraction( method convertGeminiResponseToOpenAIForLogging (line 306) | private convertGeminiResponseToOpenAIForLogging( method consolidateGeminiResponsesForLogging (line 318) | private consolidateGeminiResponsesForLogging( method countTokens (line 408) | async countTokens(req: CountTokensParameters): Promise = [ function defaultModalities (line 86) | function defaultModalities(model: string): InputModalities { FILE: packages/core/src/core/nonInteractiveToolExecutor.ts type ExecuteToolCallOptions (line 19) | interface ExecuteToolCallOptions { function executeToolCall (line 28) | async function executeToolCall( FILE: packages/core/src/core/openaiContentGenerator/constants.ts constant DEFAULT_TIMEOUT (line 1) | const DEFAULT_TIMEOUT = 120000; constant DEFAULT_MAX_RETRIES (line 2) | const DEFAULT_MAX_RETRIES = 3; constant DEFAULT_OPENAI_BASE_URL (line 4) | const DEFAULT_OPENAI_BASE_URL = 'https://api.openai.com/v1'; constant DEFAULT_DASHSCOPE_BASE_URL (line 5) | const DEFAULT_DASHSCOPE_BASE_URL = constant DEFAULT_DEEPSEEK_BASE_URL (line 7) | const DEFAULT_DEEPSEEK_BASE_URL = 'https://api.deepseek.com/v1'; constant DEFAULT_OPEN_ROUTER_BASE_URL (line 8) | const DEFAULT_OPEN_ROUTER_BASE_URL = 'https://openrouter.ai/api/v1'; FILE: packages/core/src/core/openaiContentGenerator/converter.test.ts function feedToolCallChunks (line 1997) | function feedToolCallChunks( function makeRequest (line 2222) | function makeRequest(parts: Part[]): GenerateContentParameters { function getUserContentParts (line 2229) | function getUserContentParts( FILE: packages/core/src/core/openaiContentGenerator/converter.ts type ExtendedCompletionUsage (line 37) | interface ExtendedCompletionUsage extends OpenAI.CompletionUsage { type ExtendedChatCompletionAssistantMessageParam (line 41) | interface ExtendedChatCompletionAssistantMessageParam type ExtendedChatCompletionMessageParam (line 46) | type ExtendedChatCompletionMessageParam = type ExtendedCompletionMessage (line 50) | interface ExtendedCompletionMessage type ExtendedCompletionChunkDelta (line 56) | interface ExtendedCompletionChunkDelta type ToolCallAccumulator (line 65) | interface ToolCallAccumulator { type OpenAIContentPartVideoUrl (line 71) | type OpenAIContentPartVideoUrl = { type OpenAIContentPartFile (line 78) | type OpenAIContentPartFile = { type OpenAIContentPart (line 86) | type OpenAIContentPart = class OpenAIContentConverter (line 96) | class OpenAIContentConverter { method constructor (line 103) | constructor( method setModel (line 117) | setModel(model: string): void { method setModalities (line 124) | setModalities(modalities: InputModalities): void { method resetStreamingToolCalls (line 133) | resetStreamingToolCalls(): void { method convertGeminiToolParametersToOpenAI (line 140) | convertGeminiToolParametersToOpenAI( method convertGeminiToolsToOpenAI (line 209) | async convertGeminiToolsToOpenAI( method convertGeminiRequestToOpenAI (line 269) | convertGeminiRequestToOpenAI( method convertGeminiResponseToOpenAI (line 293) | convertGeminiResponseToOpenAI( method addSystemInstructionMessage (line 390) | private addSystemInstructionMessage( method processContents (line 411) | private processContents( method processContent (line 427) | private processContent( method extractFunctionResponseContent (line 530) | private extractFunctionResponseContent(response: unknown): string { method createToolMessage (line 563) | private createToolMessage( method createMediaContentPart (line 608) | private createMediaContentPart(part: Part): OpenAIContentPart | null { method unsupportedModalityPlaceholder (line 729) | private unsupportedModalityPlaceholder( method getMediaType (line 753) | private getMediaType(mimeType: string): 'image' | 'audio' | 'video' | ... method getAudioFormat (line 763) | private getAudioFormat(mimeType: string): 'wav' | 'mp3' | null { method isContentObject (line 772) | private isContentObject( method extractTextFromContentUnion (line 787) | private extractTextFromContentUnion(contentUnion: unknown): string { method convertOpenAIResponseToGemini (line 821) | convertOpenAIResponseToGemini( method convertOpenAIChunkToGemini (line 931) | convertOpenAIChunkToGemini( method mapOpenAIFinishReasonToGemini (line 1086) | private mapOpenAIFinishReasonToGemini( method mapGeminiFinishReasonToOpenAI (line 1100) | private mapGeminiFinishReasonToOpenAI( method cleanOrphanedToolCalls (line 1125) | private cleanOrphanedToolCalls( method mergeConsecutiveAssistantMessages (line 1276) | private mergeConsecutiveAssistantMessages( FILE: packages/core/src/core/openaiContentGenerator/errorHandler.ts type RequestContext (line 12) | interface RequestContext { type ErrorHandler (line 21) | interface ErrorHandler { class EnhancedErrorHandler (line 33) | class EnhancedErrorHandler implements ErrorHandler { method constructor (line 34) | constructor( method handle (line 41) | handle( method shouldSuppressErrorLogging (line 67) | shouldSuppressErrorLogging( method isTimeoutError (line 74) | private isTimeoutError(error: unknown): boolean { method buildErrorMessage (line 103) | private buildErrorMessage( method getTimeoutTroubleshootingTips (line 120) | private getTimeoutTroubleshootingTips(context: RequestContext): string { FILE: packages/core/src/core/openaiContentGenerator/index.ts function createOpenAIContentGenerator (line 37) | function createOpenAIContentGenerator( function determineProvider (line 52) | function determineProvider( FILE: packages/core/src/core/openaiContentGenerator/openaiContentGenerator.test.ts class TestGenerator (line 168) | class TestGenerator extends OpenAIContentGenerator { method testShouldSuppressErrorLogging (line 169) | testShouldSuppressErrorLogging( class CustomTestGenerator (line 339) | class CustomTestGenerator extends OpenAIContentGenerator { method testShouldSuppressErrorLogging (line 340) | testShouldSuppressErrorLogging( method shouldSuppressErrorLogging (line 347) | protected override shouldSuppressErrorLogging( FILE: packages/core/src/core/openaiContentGenerator/openaiContentGenerator.ts class OpenAIContentGenerator (line 22) | class OpenAIContentGenerator implements ContentGenerator { method constructor (line 25) | constructor( method shouldSuppressErrorLogging (line 50) | protected shouldSuppressErrorLogging( method generateContent (line 68) | async generateContent( method generateContentStream (line 75) | async generateContentStream( method countTokens (line 82) | async countTokens( method embedContent (line 109) | async embedContent( method useSummarizedThinking (line 165) | useSummarizedThinking(): boolean { FILE: packages/core/src/core/openaiContentGenerator/pipeline.test.ts method [Symbol.asyncIterator] (line 358) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 427) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 477) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 523) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 569) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 629) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 729) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 822) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 921) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 1024) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 1299) | async *[Symbol.asyncIterator]() { method [Symbol.asyncIterator] (line 1444) | async *[Symbol.asyncIterator]() { FILE: packages/core/src/core/openaiContentGenerator/pipeline.ts class StreamContentError (line 24) | class StreamContentError extends Error { method constructor (line 25) | constructor(message: string) { type PipelineConfig (line 31) | interface PipelineConfig { class ContentGenerationPipeline (line 38) | class ContentGenerationPipeline { method constructor (line 43) | constructor(private config: PipelineConfig) { method execute (line 53) | async execute( method executeStream (line 84) | async executeStream( method processStreamWithLogging (line 120) | private async *processStreamWithLogging( method handleChunkMerging (line 244) | private handleChunkMerging( method buildRequest (line 311) | private async buildRequest( method buildGenerateContentConfig (line 345) | private buildGenerateContentConfig( method buildReasoningConfig (line 408) | private buildReasoningConfig( method executeWithErrorHandling (line 440) | private async executeWithErrorHandling( method handleError (line 478) | private async handleError( method createRequestContext (line 490) | private createRequestContext( FILE: packages/core/src/core/openaiContentGenerator/provider/dashscope.ts class DashScopeOpenAICompatibleProvider (line 20) | class DashScopeOpenAICompatibleProvider extends DefaultOpenAICompatibleP... method constructor (line 21) | constructor( method isDashScopeProvider (line 28) | static isDashScopeProvider( method buildHeaders (line 40) | override buildHeaders(): Record { method buildClient (line 56) | override buildClient(): OpenAI { method buildRequest (line 94) | override buildRequest( method buildMetadata (line 140) | buildMetadata(userPromptId: string): DashScopeRequestMetadata { method getDefaultGenerationConfig (line 152) | override getDefaultGenerationConfig(): GenerateContentConfig { method addDashScopeCacheControl (line 161) | private addDashScopeCacheControl( method addCacheControlToTools (line 208) | private addCacheControlToTools( method addCacheControlToContent (line 228) | private addCacheControlToContent( method normalizeContentToArray (line 241) | private normalizeContentToArray( method addCacheControlToContentArray (line 258) | private addCacheControlToContentArray( method isVisionModel (line 287) | private isVisionModel(model: string | undefined): boolean { method shouldEnableCacheControl (line 318) | private shouldEnableCacheControl(): boolean { FILE: packages/core/src/core/openaiContentGenerator/provider/deepseek.ts class DeepSeekOpenAICompatibleProvider (line 13) | class DeepSeekOpenAICompatibleProvider extends DefaultOpenAICompatiblePr... method constructor (line 14) | constructor( method isDeepSeekProvider (line 21) | static isDeepSeekProvider( method buildRequest (line 34) | override buildRequest( method getDefaultGenerationConfig (line 86) | override getDefaultGenerationConfig(): GenerateContentConfig { FILE: packages/core/src/core/openaiContentGenerator/provider/default.ts class DefaultOpenAICompatibleProvider (line 17) | class DefaultOpenAICompatibleProvider method constructor (line 23) | constructor( method buildHeaders (line 31) | buildHeaders(): Record { method buildClient (line 44) | buildClient(): OpenAI { method buildRequest (line 68) | buildRequest( method getDefaultGenerationConfig (line 84) | getDefaultGenerationConfig(): GenerateContentConfig { method applyOutputTokenLimit (line 120) | protected applyOutputTokenLimit< FILE: packages/core/src/core/openaiContentGenerator/provider/modelscope.ts class ModelScopeOpenAICompatibleProvider (line 8) | class ModelScopeOpenAICompatibleProvider extends DefaultOpenAICompatible... method isModelScopeProvider (line 12) | static isModelScopeProvider(config: ContentGeneratorConfig): boolean { method buildRequest (line 20) | override buildRequest( FILE: packages/core/src/core/openaiContentGenerator/provider/openrouter.ts class OpenRouterOpenAICompatibleProvider (line 5) | class OpenRouterOpenAICompatibleProvider extends DefaultOpenAICompatible... method constructor (line 6) | constructor( method isOpenRouterProvider (line 13) | static isOpenRouterProvider( method buildHeaders (line 20) | override buildHeaders(): Record { FILE: packages/core/src/core/openaiContentGenerator/provider/types.ts type ChatCompletionContentPartTextWithCache (line 5) | interface ChatCompletionContentPartTextWithCache type ChatCompletionContentPartWithCache (line 10) | type ChatCompletionContentPartWithCache = type ChatCompletionToolWithCache (line 15) | type ChatCompletionToolWithCache = OpenAI.Chat.ChatCompletionTool & { type OpenAICompatibleProvider (line 19) | interface OpenAICompatibleProvider { type DashScopeRequestMetadata (line 29) | type DashScopeRequestMetadata = { FILE: packages/core/src/core/openaiContentGenerator/streamingToolCallParser.ts type ToolCallParseResult (line 12) | interface ToolCallParseResult { class StreamingToolCallParser (line 33) | class StreamingToolCallParser { method addChunk (line 65) | addChunk( method getToolCallMeta (line 219) | getToolCallMeta(index: number): { id?: string; name?: string } { method getCompletedToolCalls (line 236) | getCompletedToolCalls(): Array<{ method findNextAvailableIndex (line 293) | private findNextAvailableIndex(): number { method findMostRecentIncompleteIndex (line 332) | private findMostRecentIncompleteIndex(): number { method resetIndex (line 362) | resetIndex(index: number): void { method reset (line 377) | reset(): void { method getBuffer (line 393) | getBuffer(index: number): string { method getState (line 403) | getState(index: number): { method hasIncompleteToolCalls (line 429) | hasIncompleteToolCalls(): boolean { FILE: packages/core/src/core/prompts.ts function resolvePathFromEnv (line 19) | function resolvePathFromEnv(envVar?: string): { function getCustomSystemPrompt (line 78) | function getCustomSystemPrompt( function buildSystemPromptSuffix (line 110) | function buildSystemPromptSuffix(text?: string): string { function getCoreSystemPrompt (line 115) | function getCoreSystemPrompt( function getCompressionPrompt (line 358) | function getCompressionPrompt(): string { function getProjectSummaryPrompt (line 423) | function getProjectSummaryPrompt(): string { function getToolCallExamples (line 780) | function getToolCallExamples(model?: string): string { function getSubagentSystemReminder (line 834) | function getSubagentSystemReminder(agentTypes: string[]): string { function getPlanModeSystemReminder (line 860) | function getPlanModeSystemReminder(planOnly = false): string { function getArenaSystemReminder (line 874) | function getArenaSystemReminder(configFilePath: string): string { type InsightPromptType (line 882) | type InsightPromptType = constant INSIGHT_PROMPTS (line 893) | const INSIGHT_PROMPTS: Record = { function getInsightPrompt (line 1078) | function getInsightPrompt(type: InsightPromptType): string { FILE: packages/core/src/core/tokenLimits.ts type Model (line 1) | type Model = string; type TokenCount (line 2) | type TokenCount = number; type TokenLimitType (line 9) | type TokenLimitType = 'input' | 'output'; constant DEFAULT_TOKEN_LIMIT (line 11) | const DEFAULT_TOKEN_LIMIT: TokenCount = 131_072; constant DEFAULT_OUTPUT_TOKEN_LIMIT (line 12) | const DEFAULT_OUTPUT_TOKEN_LIMIT: TokenCount = 32_000; constant LIMITS (line 20) | const LIMITS = { function normalize (line 38) | function normalize(model: string): string { constant PATTERNS (line 82) | const PATTERNS: Array<[RegExp, TokenCount]> = [ constant OUTPUT_PATTERNS (line 151) | const OUTPUT_PATTERNS: Array<[RegExp, TokenCount]> = [ function hasExplicitOutputLimit (line 196) | function hasExplicitOutputLimit(model: Model): boolean { function tokenLimit (line 216) | function tokenLimit( FILE: packages/core/src/core/toolHookTriggers.ts function generateToolUseId (line 30) | function generateToolUseId(): string { type PreToolUseHookResult (line 37) | interface PreToolUseHookResult { type PostToolUseHookResult (line 51) | interface PostToolUseHookResult { type PostToolUseFailureHookResult (line 63) | interface PostToolUseFailureHookResult { function firePreToolUseHook (line 78) | async function firePreToolUseHook( function firePostToolUseHook (line 174) | async function firePostToolUseHook( function firePostToolUseFailureHook (line 250) | async function firePostToolUseFailureHook( type NotificationHookResult (line 308) | interface NotificationHookResult { function fireNotificationHook (line 317) | async function fireNotificationHook( type PermissionRequestHookResult (line 369) | interface PermissionRequestHookResult { function firePermissionRequestHook (line 387) | async function firePermissionRequestHook( function appendAdditionalContext (line 459) | function appendAdditionalContext( FILE: packages/core/src/core/turn.test.ts type MockedChatInstance (line 42) | type MockedChatInstance = { FILE: packages/core/src/core/turn.ts type ServerTool (line 38) | interface ServerTool { type GeminiEventType (line 48) | enum GeminiEventType { type ServerGeminiRetryEvent (line 66) | type ServerGeminiRetryEvent = { type StructuredError (line 71) | interface StructuredError { type GeminiErrorEventValue (line 76) | interface GeminiErrorEventValue { type SessionTokenLimitExceededValue (line 80) | interface SessionTokenLimitExceededValue { type GeminiFinishedEventValue (line 86) | interface GeminiFinishedEventValue { type ToolCallRequestInfo (line 91) | interface ToolCallRequestInfo { type ToolCallResponseInfo (line 102) | interface ToolCallResponseInfo { type ServerToolCallConfirmationDetails (line 111) | interface ServerToolCallConfirmationDetails { type ServerGeminiContentEvent (line 116) | type ServerGeminiContentEvent = { type ServerGeminiThoughtEvent (line 121) | type ServerGeminiThoughtEvent = { type ServerGeminiToolCallRequestEvent (line 126) | type ServerGeminiToolCallRequestEvent = { type ServerGeminiToolCallResponseEvent (line 131) | type ServerGeminiToolCallResponseEvent = { type ServerGeminiToolCallConfirmationEvent (line 136) | type ServerGeminiToolCallConfirmationEvent = { type ServerGeminiUserCancelledEvent (line 141) | type ServerGeminiUserCancelledEvent = { type ServerGeminiErrorEvent (line 145) | type ServerGeminiErrorEvent = { type CompressionStatus (line 150) | enum CompressionStatus { type ChatCompressionInfo (line 167) | interface ChatCompressionInfo { type ServerGeminiChatCompressedEvent (line 173) | type ServerGeminiChatCompressedEvent = { type ServerGeminiMaxSessionTurnsEvent (line 178) | type ServerGeminiMaxSessionTurnsEvent = { type ServerGeminiSessionTokenLimitExceededEvent (line 182) | type ServerGeminiSessionTokenLimitExceededEvent = { type ServerGeminiFinishedEvent (line 187) | type ServerGeminiFinishedEvent = { type ServerGeminiLoopDetectedEvent (line 192) | type ServerGeminiLoopDetectedEvent = { type ServerGeminiCitationEvent (line 196) | type ServerGeminiCitationEvent = { type ServerGeminiHookSystemMessageEvent (line 201) | type ServerGeminiHookSystemMessageEvent = { type ServerGeminiStreamEvent (line 207) | type ServerGeminiStreamEvent = class Turn (line 225) | class Turn { method constructor (line 232) | constructor( method run (line 237) | async *run( method handlePendingFunctionCall (line 375) | private handlePendingFunctionCall( method getDebugResponses (line 399) | getDebugResponses(): GenerateContentResponse[] { function getCitations (line 404) | function getCitations(resp: GenerateContentResponse): string[] { FILE: packages/core/src/extension/claude-converter.ts type ClaudePluginConfig (line 33) | interface ClaudePluginConfig { type ClaudeAgentConfig (line 55) | interface ClaudeAgentConfig { type ClaudePluginSource (line 78) | type ClaudePluginSource = type ClaudeMarketplacePluginConfig (line 82) | interface ClaudeMarketplacePluginConfig extends ClaudePluginConfig { type ClaudeMarketplaceConfig (line 89) | interface ClaudeMarketplaceConfig { constant CLAUDE_TOOLS_MAPPING (line 96) | const CLAUDE_TOOLS_MAPPING: Record = { function parseStringOrArray (line 140) | function parseStringOrArray(value: unknown): string[] | undefined { function convertClaudeAgentConfig (line 162) | function convertClaudeAgentConfig( function convertAgentFiles (line 218) | async function convertAgentFiles(agentsDir: string): Promise { function convertClaudeToQwenConfig (line 296) | function convertClaudeToQwenConfig( function convertClaudePluginPackage (line 355) | async function convertClaudePluginPackage( function collectResources (line 548) | async function collectResources( function mergeClaudeConfigs (line 653) | function mergeClaudeConfigs( function isClaudePluginConfig (line 701) | function isClaudePluginConfig( function resolvePluginSource (line 751) | async function resolvePluginSource( FILE: packages/core/src/extension/extensionManager.test.ts constant EXTENSIONS_DIRECTORY_NAME (line 84) | const EXTENSIONS_DIRECTORY_NAME = path.join(QWEN_DIR, 'extensions'); function createExtension (line 86) | function createExtension({ function createExtensionManager (line 144) | function createExtensionManager( FILE: packages/core/src/extension/extensionManager.ts type SettingScope (line 83) | enum SettingScope { type Extension (line 90) | interface Extension { type ExtensionConfig (line 109) | interface ExtensionConfig { type ExtensionUpdateInfo (line 122) | interface ExtensionUpdateInfo { type ExtensionUpdateStatus (line 128) | interface ExtensionUpdateStatus { type ExtensionUpdateState (line 133) | enum ExtensionUpdateState { type ExtensionRequestOptions (line 145) | type ExtensionRequestOptions = { type ExtensionManagerOptions (line 157) | interface ExtensionManagerOptions { function ensureLeadingAndTrailingSlash (line 176) | function ensureLeadingAndTrailingSlash(dirPath: string): string { function getTelemetryConfig (line 187) | function getTelemetryConfig( function filterMcpConfig (line 202) | function filterMcpConfig(original: MCPServerConfig): MCPServerConfig { function getContextFileNames (line 208) | function getContextFileNames(config: ExtensionConfig): string[] { function loadCommandsFromDir (line 217) | async function loadCommandsFromDir(dir: string): Promise { function convertGeminiOrClaudeExtension (line 255) | async function convertGeminiOrClaudeExtension( class ExtensionManager (line 282) | class ExtensionManager { method constructor (line 300) | constructor(options: ExtensionManagerOptions) { method setConfig (line 319) | setConfig(config: Config): void { method setRequestConsent (line 323) | setRequestConsent( method setRequestSetting (line 329) | setRequestSetting( method setRequestChoicePlugin (line 335) | setRequestChoicePlugin( method validateExtensionOverrides (line 350) | validateExtensionOverrides(extensions: Extension[]): void { method isEnabled (line 366) | isEnabled(extensionName: string, currentPath?: string): boolean { method enableExtension (line 401) | async enableExtension( method disableExtension (line 431) | async disableExtension( method removeEnablementConfig (line 461) | removeEnablementConfig(extensionName: string): void { method enableByPath (line 469) | private enableByPath( method disableByPath (line 494) | private disableByPath( method readEnablementConfig (line 502) | private readEnablementConfig(): AllExtensionsEnablementConfig { method writeEnablementConfig (line 519) | private writeEnablementConfig(config: AllExtensionsEnablementConfig): ... method refreshCache (line 527) | async refreshCache(): Promise { method getLoadedExtensions (line 535) | getLoadedExtensions(): Extension[] { method loadExtensionByName (line 549) | async loadExtensionByName( method loadExtensionsFromDir (line 579) | async loadExtensionsFromDir(dir: string): Promise { method loadExtension (line 606) | async loadExtension( method substituteHookVariables (line 742) | private substituteHookVariables( method loadInstallMetadata (line 749) | loadInstallMetadata( method loadExtensionConfig (line 762) | loadExtensionConfig(context: LoadExtensionContext): ExtensionConfig { method installExtension (line 801) | async installExtension( method uninstallExtension (line 1129) | async uninstallExtension( method performWorkspaceExtensionMigration (line 1176) | async performWorkspaceExtensionMigration( method checkForAllExtensionUpdates (line 1202) | async checkForAllExtensionUpdates( method updateExtension (line 1222) | async updateExtension( method updateAllUpdatableExtensions (line 1290) | async updateAllUpdatableExtensions( method refreshMemory (line 1316) | async refreshMemory(): Promise { method refreshTools (line 1328) | async refreshTools(): Promise { function copyExtension (line 1335) | async function copyExtension( function getExtensionId (line 1356) | function getExtensionId( function hashValue (line 1375) | function hashValue(value: string): string { function validateName (line 1379) | function validateName(name: string) { FILE: packages/core/src/extension/extensionSettings.ts type ExtensionSetting (line 20) | interface ExtensionSetting { type ResolvedExtensionSetting (line 27) | interface ResolvedExtensionSetting { type ExtensionSettingScope (line 34) | enum ExtensionSettingScope { type ExtensionSetting (line 39) | interface ExtensionSetting { function maybePromptForSettings (line 69) | async function maybePromptForSettings( function formatEnvContent (line 137) | function formatEnvContent(settings: Record): string { function promptForSetting (line 146) | async function promptForSetting( function getScopedEnvContents (line 157) | async function getScopedEnvContents( function getEnvContents (line 186) | async function getEnvContents( function updateSetting (line 208) | async function updateSetting( type settingsChanges (line 270) | interface settingsChanges { function getSettingsChanges (line 276) | function getSettingsChanges( function clearSettings (line 304) | async function clearSettings( FILE: packages/core/src/extension/gemini-converter.ts type GeminiExtensionConfig (line 22) | interface GeminiExtensionConfig { function convertGeminiToQwenConfig (line 35) | function convertGeminiToQwenConfig( function convertGeminiExtensionPackage (line 70) | async function convertGeminiExtensionPackage( function copyDirectory (line 116) | async function copyDirectory( function convertCommandsDirectory (line 158) | async function convertCommandsDirectory(commandsDir: string): Promise = {}): Extension { FILE: packages/core/src/extension/github.ts type GithubReleaseData (line 27) | interface GithubReleaseData { type Asset (line 34) | interface Asset { type GitHubDownloadResult (line 39) | interface GitHubDownloadResult { function getGitHubToken (line 44) | function getGitHubToken(): string | undefined { function cloneFromGit (line 53) | async function cloneFromGit( function parseGitHubRepoForReleases (line 112) | function parseGitHubRepoForReleases(source: string): { function fetchReleaseFromGithub (line 137) | async function fetchReleaseFromGithub( function checkForExtensionUpdate (line 147) | async function checkForExtensionUpdate( function downloadFromGitHubRelease (line 249) | async function downloadFromGitHubRelease( function findReleaseAsset (line 357) | function findReleaseAsset(assets: Asset[]): Asset | undefined { function fetchJson (line 394) | async function fetchJson(url: string): Promise { function downloadFile (line 421) | async function downloadFile(url: string, dest: string): Promise { function extractFile (line 449) | async function extractFile(file: string, dest: string): Promise { FILE: packages/core/src/extension/marketplace.ts type MarketplaceInstallOptions (line 16) | interface MarketplaceInstallOptions { type MarketplaceInstallResult (line 23) | interface MarketplaceInstallResult { function parseSourceAndPluginName (line 36) | function parseSourceAndPluginName(source: string): { function isOwnerRepoFormat (line 95) | function isOwnerRepoFormat(source: string): boolean { function convertOwnerRepoToGitHubUrl (line 104) | function convertOwnerRepoToGitHubUrl(ownerRepo: string): string { function isGitUrl (line 111) | function isGitUrl(source: string): boolean { function fetchUrl (line 123) | function fetchUrl( function fetchGitHubMarketplaceConfig (line 149) | async function fetchGitHubMarketplaceConfig( function readLocalMarketplaceConfig (line 190) | async function readLocalMarketplaceConfig( function parseInstallSource (line 206) | async function parseInstallSource( FILE: packages/core/src/extension/override.ts type ExtensionEnablementConfig (line 7) | interface ExtensionEnablementConfig { type AllExtensionsEnablementConfig (line 11) | interface AllExtensionsEnablementConfig { class Override (line 15) | class Override { method constructor (line 16) | constructor( method fromInput (line 22) | static fromInput(inputRule: string, includeSubdirs: boolean): Override { method fromFileRule (line 29) | static fromFileRule(fileRule: string): Override { method conflictsWith (line 39) | conflictsWith(other: Override): boolean { method isEqualTo (line 49) | isEqualTo(other: Override): boolean { method asRegex (line 57) | asRegex(): RegExp { method isChildOf (line 61) | isChildOf(parent: Override) { method output (line 68) | output(): string { method matchesPath (line 72) | matchesPath(path: string) { function globToRegex (line 96) | function globToRegex(glob: string): RegExp { FILE: packages/core/src/extension/settings.ts function parseEnvFile (line 23) | function parseEnvFile(content: string): Record { function generateEnvFile (line 62) | function generateEnvFile(settings: Record): string { function loadExtensionSettings (line 81) | async function loadExtensionSettings( function saveExtensionSettings (line 101) | async function saveExtensionSettings( function validateSettings (line 117) | function validateSettings( function applySettingsToEnv (line 142) | function applySettingsToEnv(settings: Record): void { FILE: packages/core/src/extension/storage.ts class ExtensionStorage (line 10) | class ExtensionStorage { method constructor (line 13) | constructor(extensionName: string) { method getExtensionDir (line 17) | getExtensionDir(): string { method getConfigPath (line 24) | getConfigPath(): string { method getEnvFilePath (line 28) | getEnvFilePath(): string { method getUserExtensionsDir (line 32) | static getUserExtensionsDir(): string { method createTmpDir (line 47) | static async createTmpDir(): Promise { FILE: packages/core/src/extension/variableSchema.ts type VariableDefinition (line 7) | interface VariableDefinition { type VariableSchema (line 14) | interface VariableSchema { type LoadExtensionContext (line 18) | interface LoadExtensionContext { constant PATH_SEPARATOR_DEFINITION (line 23) | const PATH_SEPARATOR_DEFINITION = { constant VARIABLE_SCHEMA (line 28) | const VARIABLE_SCHEMA = { FILE: packages/core/src/extension/variables.ts constant EXTENSIONS_DIRECTORY_NAME (line 20) | const EXTENSIONS_DIRECTORY_NAME = path.join(QWEN_DIR, 'extensions'); constant EXTENSIONS_CONFIG_FILENAME (line 21) | const EXTENSIONS_CONFIG_FILENAME = 'qwen-extension.json'; constant INSTALL_METADATA_FILENAME (line 22) | const INSTALL_METADATA_FILENAME = '.qwen-extension-install.json'; constant EXTENSION_SETTINGS_FILENAME (line 23) | const EXTENSION_SETTINGS_FILENAME = '.env'; type JsonObject (line 25) | type JsonObject = { [key: string]: JsonValue }; type JsonArray (line 26) | type JsonArray = JsonValue[]; type JsonValue (line 27) | type JsonValue = type VariableContext (line 35) | type VariableContext = { function validateVariables (line 39) | function validateVariables( function hydrateString (line 51) | function hydrateString(str: string, context: VariableContext): string { function recursivelyHydrateStrings (line 61) | function recursivelyHydrateStrings( function substituteHookVariables (line 89) | function substituteHookVariables( function performVariableReplacement (line 125) | function performVariableReplacement(extensionPath: string): void { FILE: packages/core/src/hooks/hookAggregator.ts type AggregatedHookResult (line 21) | interface AggregatedHookResult { class HookAggregator (line 35) | class HookAggregator { method aggregateResults (line 39) | aggregateResults( method mergeOutputs (line 74) | private mergeOutputs( method mergeWithOrLogic (line 117) | private mergeWithOrLogic( method mergePermissionRequestOutputs (line 214) | private mergePermissionRequestOutputs(outputs: HookOutput[]): HookOutp... method mergeSimple (line 316) | private mergeSimple(outputs: HookOutput[]): HookOutput { method createSpecificHookOutput (line 340) | private createSpecificHookOutput( method extractAdditionalContext (line 364) | private extractAdditionalContext( FILE: packages/core/src/hooks/hookEventHandler.ts class HookEventHandler (line 43) | class HookEventHandler { method constructor (line 49) | constructor( method fireUserPromptSubmitEvent (line 65) | async fireUserPromptSubmitEvent( method fireStopEvent (line 80) | async fireStopEvent( method fireSessionStartEvent (line 97) | async fireSessionStartEvent( method fireSessionEndEvent (line 121) | async fireSessionEndEvent( method firePreToolUseEvent (line 139) | async firePreToolUseEvent( method firePostToolUseEvent (line 163) | async firePostToolUseEvent( method firePostToolUseFailureEvent (line 189) | async firePostToolUseFailureEvent( method firePreCompactEvent (line 217) | async firePreCompactEvent( method fireNotificationEvent (line 236) | async fireNotificationEvent( method firePermissionRequestEvent (line 258) | async firePermissionRequestEvent( method fireSubagentStartEvent (line 282) | async fireSubagentStartEvent( method fireSubagentStopEvent (line 304) | async fireSubagentStopEvent( method executeHooks (line 332) | private async executeHooks( method createBaseInput (line 400) | private createBaseInput(eventName: HookEventName): HookInput { method processCommonHookOutputFields (line 416) | private processCommonHookOutputFields( FILE: packages/core/src/hooks/hookPlanner.ts class HookPlanner (line 17) | class HookPlanner { method constructor (line 20) | constructor(hookRegistry: HookRegistry) { method createExecutionPlan (line 27) | createExecutionPlan( method matchesContext (line 72) | private matchesContext( method matchesNotificationType (line 139) | private matchesNotificationType( method matchesSessionTrigger (line 149) | private matchesSessionTrigger(matcher: string, trigger: string): boole... method matchesToolName (line 166) | private matchesToolName(matcher: string, toolName: string): boolean { method matchesTrigger (line 183) | private matchesTrigger(matcher: string, trigger: string): boolean { method matchesAgentType (line 191) | private matchesAgentType(matcher: string, agentType: string): boolean { method deduplicateHooks (line 206) | private deduplicateHooks(entries: HookRegistryEntry[]): HookRegistryEn... type HookEventContext (line 226) | interface HookEventContext { FILE: packages/core/src/hooks/hookRegistry.ts type ExtensionWithHooks (line 21) | interface ExtensionWithHooks { type HookRegistryConfig (line 30) | interface HookRegistryConfig { type FeedbackEmitter (line 42) | interface FeedbackEmitter { type HookRegistryEntry (line 49) | interface HookRegistryEntry { class HookRegistry (line 61) | class HookRegistry { method constructor (line 66) | constructor(config: HookRegistryConfig, feedbackEmitter?: FeedbackEmit... method initialize (line 74) | async initialize(): 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 136) | private checkProjectHooksTrust(): void { method processHooksFromConfig (line 169) | private processHooksFromConfig(): void { method processHooksConfiguration (line 201) | private processHooksConfiguration( method processHookDefinition (line 236) | private processHookDefinition( method validateHookConfig (line 306) | private validateHookConfig( method isValidEventName (line 331) | private isValidEventName(eventName: string): eventName is HookEventName { method getSourcePriority (line 339) | private getSourcePriority(source: HooksConfigSource): number { FILE: packages/core/src/hooks/hookRunner.ts constant DEFAULT_HOOK_TIMEOUT (line 29) | const DEFAULT_HOOK_TIMEOUT = 60000; constant MAX_OUTPUT_LENGTH (line 35) | const MAX_OUTPUT_LENGTH = 1024 * 1024; constant EXIT_CODE_SUCCESS (line 40) | const EXIT_CODE_SUCCESS = 0; constant EXIT_CODE_NON_BLOCKING_ERROR (line 41) | const EXIT_CODE_NON_BLOCKING_ERROR = 1; class HookRunner (line 46) | class HookRunner { method executeHook (line 50) | async executeHook( method executeHooksParallel (line 83) | async executeHooksParallel( method executeHooksSequential (line 103) | async executeHooksSequential( method applyHookOutputToInput (line 136) | private applyHookOutputToInput( method executeCommandHook (line 188) | private async executeCommandHook( method expandCommand (line 388) | private expandCommand( method convertPlainTextToHookOutput (line 403) | private convertPlainTextToHookOutput( FILE: packages/core/src/hooks/hookSystem.ts class HookSystem (line 33) | class HookSystem { method constructor (line 40) | constructor(config: Config) { method initialize (line 57) | async initialize(): Promise { method getEventHandler (line 65) | getEventHandler(): HookEventHandler { method getRegistry (line 72) | getRegistry(): HookRegistry { method setHookEnabled (line 79) | setHookEnabled(hookName: string, enabled: boolean): void { method getAllHooks (line 86) | getAllHooks(): HookRegistryEntry[] { method fireUserPromptSubmitEvent (line 90) | async fireUserPromptSubmitEvent( method fireStopEvent (line 100) | async fireStopEvent( method fireSessionStartEvent (line 113) | async fireSessionStartEvent( method fireSessionEndEvent (line 130) | async fireSessionEndEvent( method firePreToolUseEvent (line 142) | async firePreToolUseEvent( method firePostToolUseEvent (line 162) | async firePostToolUseEvent( method firePostToolUseFailureEvent (line 184) | async firePostToolUseFailureEvent( method firePreCompactEvent (line 208) | async firePreCompactEvent( method fireNotificationEvent (line 224) | async fireNotificationEvent( method fireSubagentStartEvent (line 242) | async fireSubagentStartEvent( method fireSubagentStopEvent (line 260) | async fireSubagentStopEvent( method firePermissionRequestEvent (line 284) | async firePermissionRequestEvent( FILE: packages/core/src/hooks/trustedHooks.ts type TrustedHooksConfig (line 19) | interface TrustedHooksConfig { class TrustedHooksManager (line 23) | class TrustedHooksManager { method constructor (line 27) | constructor() { method load (line 35) | private load(): void { method save (line 47) | private save(): void { method getUntrustedHooks (line 68) | getUntrustedHooks( method trustHooks (line 97) | trustHooks( FILE: packages/core/src/hooks/types.ts type HooksConfigSource (line 10) | enum HooksConfigSource { type HookEventName (line 20) | enum HookEventName { constant HOOKS_CONFIG_FIELDS (line 50) | const HOOKS_CONFIG_FIELDS = ['enabled', 'disabled', 'notifications']; type CommandHookConfig (line 55) | interface CommandHookConfig { type HookConfig (line 65) | type HookConfig = CommandHookConfig; type HookDefinition (line 70) | interface HookDefinition { type HookType (line 79) | enum HookType { function getHookKey (line 86) | function getHookKey(hook: HookConfig): string { type HookDecision (line 94) | type HookDecision = 'ask' | 'block' | 'deny' | 'approve' | 'allow'; type HookInput (line 99) | interface HookInput { type HookOutput (line 110) | interface HookOutput { function createHookOutput (line 124) | function createHookOutput( class DefaultHookOutput (line 148) | class DefaultHookOutput implements HookOutput { method constructor (line 157) | constructor(data: Partial = {}) { method isBlockingDecision (line 170) | isBlockingDecision(): boolean { method shouldStopExecution (line 177) | shouldStopExecution(): boolean { method getEffectiveReason (line 184) | getEffectiveReason(): string { method getAdditionalContext (line 191) | getAdditionalContext(): string | undefined { method getBlockingError (line 210) | getBlockingError(): { blocked: boolean; reason: string } { method shouldClearContext (line 223) | shouldClearContext(): boolean { class PreToolUseHookOutput (line 231) | class PreToolUseHookOutput extends DefaultHookOutput { method getPermissionDecision (line 236) | getPermissionDecision(): 'allow' | 'deny' | 'ask' | undefined { method getPermissionDecisionReason (line 262) | getPermissionDecisionReason(): string | undefined { method isDenied (line 278) | isDenied(): boolean { method isAsk (line 285) | isAsk(): boolean { method isAllowed (line 292) | isAllowed(): boolean { class PostToolUseHookOutput (line 302) | class PostToolUseHookOutput extends DefaultHookOutput { method constructor (line 306) | constructor(data: Partial = {}) { class PostToolUseFailureHookOutput (line 330) | class PostToolUseFailureHookOutput extends DefaultHookOutput { method getAdditionalContext (line 334) | override getAdditionalContext(): string | undefined { class StopHookOutput (line 342) | class StopHookOutput extends DefaultHookOutput { method constructor (line 345) | constructor(data: Partial = {}) { method getStopReason (line 353) | getStopReason(): string | undefined { type PermissionSuggestion (line 364) | interface PermissionSuggestion { type PermissionRequestInput (line 372) | interface PermissionRequestInput extends HookInput { type PermissionRequestDecision (line 382) | interface PermissionRequestDecision { class PermissionRequestHookOutput (line 393) | class PermissionRequestHookOutput extends DefaultHookOutput { method getPermissionDecision (line 397) | getPermissionDecision(): PermissionRequestDecision | undefined { method isPermissionDenied (line 414) | isPermissionDenied(): boolean { method getDenyMessage (line 422) | getDenyMessage(): string | undefined { method shouldInterrupt (line 430) | shouldInterrupt(): boolean { method getUpdatedToolInput (line 438) | getUpdatedToolInput(): Record | undefined { method getUpdatedPermissions (line 446) | getUpdatedPermissions(): PermissionSuggestion[] | undefined { type PreToolUseInput (line 455) | interface PreToolUseInput extends HookInput { type PreToolUseOutput (line 465) | interface PreToolUseOutput extends HookOutput { type PostToolUseInput (line 476) | interface PostToolUseInput extends HookInput { type PostToolUseOutput (line 487) | interface PostToolUseOutput extends HookOutput { type PostToolUseFailureInput (line 501) | interface PostToolUseFailureInput extends HookInput { type PostToolUseFailureOutput (line 514) | interface PostToolUseFailureOutput extends HookOutput { type UserPromptSubmitInput (line 524) | interface UserPromptSubmitInput extends HookInput { type UserPromptSubmitOutput (line 531) | interface UserPromptSubmitOutput extends HookOutput { type NotificationType (line 541) | enum NotificationType { type NotificationInput (line 551) | interface NotificationInput extends HookInput { type NotificationOutput (line 560) | interface NotificationOutput extends HookOutput { type StopInput (line 570) | interface StopInput extends HookInput { type StopOutput (line 578) | interface StopOutput extends HookOutput { type SessionStartSource (line 588) | enum SessionStartSource { type PermissionMode (line 595) | enum PermissionMode { type SessionStartInput (line 605) | interface SessionStartInput extends HookInput { type SessionStartOutput (line 615) | interface SessionStartOutput extends HookOutput { type SessionEndReason (line 625) | enum SessionEndReason { type SessionEndInput (line 636) | interface SessionEndInput extends HookInput { type SessionEndOutput (line 643) | interface SessionEndOutput extends HookOutput { type PreCompactTrigger (line 653) | enum PreCompactTrigger { type PreCompactInput (line 661) | interface PreCompactInput extends HookInput { type PreCompactOutput (line 669) | interface PreCompactOutput extends HookOutput { type AgentType (line 676) | enum AgentType { type SubagentStartInput (line 687) | interface SubagentStartInput extends HookInput { type SubagentStartOutput (line 696) | interface SubagentStartOutput extends HookOutput { type SubagentStopInput (line 707) | interface SubagentStopInput extends HookInput { type SubagentStopOutput (line 720) | interface SubagentStopOutput extends HookOutput { type HookExecutionResult (line 730) | interface HookExecutionResult { type HookExecutionPlan (line 745) | interface HookExecutionPlan { FILE: packages/core/src/ide/constants.ts constant QWEN_CODE_COMPANION_EXTENSION_NAME (line 7) | const QWEN_CODE_COMPANION_EXTENSION_NAME = 'Qwen Code 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 19) | interface IdeInfo { function isCloudShell (line 24) | function isCloudShell(): boolean { function detectIdeFromEnv (line 28) | function detectIdeFromEnv(): IdeInfo { function verifyVSCode (line 53) | function verifyVSCode( function detectIde (line 72) | function detectIde( FILE: packages/core/src/ide/ide-client.test.ts function mockDnsResolvable (line 857) | function mockDnsResolvable(reachable: boolean): void { FILE: packages/core/src/ide/ide-client.ts type DiffUpdateResult (line 33) | type DiffUpdateResult = type IDEConnectionState (line 43) | type IDEConnectionState = { type IDEConnectionStatus (line 48) | enum IDEConnectionStatus { type StdioConfig (line 54) | type StdioConfig = { type ConnectionConfig (line 59) | type ConnectionConfig = { type IdeConnectionConfig (line 65) | type IdeConnectionConfig = ConnectionConfig & { type ParsedConnectionLockFile (line 71) | type ParsedConnectionLockFile = { function getRealPath (line 78) | function getRealPath(path: string): string { class IdeClient (line 91) | class IdeClient { method constructor (line 114) | private constructor() {} method getInstance (line 116) | static getInstance(): Promise { method addStatusChangeListener (line 132) | addStatusChangeListener(listener: (state: IDEConnectionState) => void) { method removeStatusChangeListener (line 136) | removeStatusChangeListener(listener: (state: IDEConnectionState) => vo... method addTrustChangeListener (line 140) | addTrustChangeListener(listener: (isTrusted: boolean) => void) { method removeTrustChangeListener (line 144) | removeTrustChangeListener(listener: (isTrusted: boolean) => void) { method connect (line 148) | async connect(): Promise { method openDiff (line 242) | async openDiff( method acquireMutex (line 314) | private acquireMutex(): Promise<() => void> { method closeDiff (line 324) | async closeDiff( method resolveDiffFromCli (line 390) | async resolveDiffFromCli(filePath: string, outcome: 'accepted' | 'reje... method disconnect (line 408) | async disconnect() { method getCurrentIde (line 423) | getCurrentIde(): IdeInfo | undefined { method getConnectionStatus (line 427) | getConnectionStatus(): IDEConnectionState { method getDetectedIdeDisplayName (line 431) | getDetectedIdeDisplayName(): string | undefined { method isDiffingEnabled (line 435) | isDiffingEnabled(): boolean { method discoverTools (line 444) | private async discoverTools(): Promise { method setState (line 482) | private setState( method validateWorkspacePath (line 514) | static validateWorkspacePath( method getPortFromEnv (line 550) | private getPortFromEnv(): string | undefined { method getStdioConfigFromEnv (line 558) | private getStdioConfigFromEnv(): StdioConfig | undefined { method getConnectionConfigFromFile (line 587) | private async getConnectionConfigFromFile(): Promise< method getLegacyConnectionConfig (line 620) | private async getLegacyConnectionConfig( method getAllConnectionConfigs (line 655) | protected async getAllConnectionConfigs( method cleanupStaleLockFile (line 718) | private async cleanupStaleLockFile({ method tryFallbackPorts (line 759) | private async tryFallbackPorts(): Promise { method createProxyAwareFetch (line 801) | private createProxyAwareFetch(ideHost: string) { method registerClientHandlers (line 832) | private registerClientHandlers() { method establishHttpConnection (line 909) | private async establishHttpConnection(port: string): Promise { method tryHttpConnect (line 932) | private async tryHttpConnect(port: string, host: string): Promise { function resolveIdeServerHost (line 1063) | async function resolveIdeServerHost(): Promise { function getIdeServerHost (line 1083) | async function getIdeServerHost(): Promise { FILE: packages/core/src/ide/ide-installer.test.ts function setup (line 53) | function setup({ FILE: packages/core/src/ide/ide-installer.ts function getVsCodeCommand (line 15) | function getVsCodeCommand(platform: NodeJS.Platform = process.platform) { type IdeInstaller (line 19) | interface IdeInstaller { type InstallResult (line 23) | interface InstallResult { function findVsCodeCommand (line 28) | async function findVsCodeCommand( class VsCodeInstaller (line 101) | class VsCodeInstaller implements IdeInstaller { method constructor (line 104) | constructor( method install (line 111) | async install(): Promise { function getIdeInstaller (line 151) | 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 15) | const MAX_TRAVERSAL_DEPTH = 32; function getProcessInfo (line 17) | async function getProcessInfo(pid: number): Promise<{ function getIdeProcessInfoForUnix (line 53) | async function getIdeProcessInfoForUnix(): Promise<{ type ProcessInfo (line 96) | interface ProcessInfo { type RawProcessInfo (line 103) | interface RawProcessInfo { function getProcessTableWindows (line 113) | async function getProcessTableWindows(): Promise; type IdeContext (line 64) | type IdeContext = z.infer; FILE: packages/core/src/lsp/LspConfigLoader.ts class LspConfigLoader (line 24) | class LspConfigLoader { method constructor (line 25) | constructor(private readonly workspaceRoot: string) {} method loadUserConfigs (line 31) | async loadUserConfigs(): Promise { method loadExtensionConfigs (line 50) | async loadExtensionConfigs( method mergeConfigs (line 111) | mergeConfigs( method collectExtensionToLanguageOverrides (line 142) | collectExtensionToLanguageOverrides( method getBuiltInPresets (line 167) | private getBuiltInPresets(detectedLanguages: string[]): LspServerConfi... method parseConfigSource (line 233) | private parseConfigSource( method resolveExtensionConfigPath (line 262) | private resolveExtensionConfigPath( method hydrateExtensionLspConfig (line 271) | private hydrateExtensionLspConfig( method buildServerConfig (line 284) | private buildServerConfig( method isRecord (line 358) | private isRecord(value: unknown): value is Record { method normalizeStringArray (line 362) | private normalizeStringArray(value: unknown): string[] | undefined { method normalizeEnv (line 369) | private normalizeEnv(value: unknown): Record | undefin... method normalizeExtensionToLanguage (line 386) | private normalizeExtensionToLanguage( method normalizeTransport (line 406) | private normalizeTransport(value: unknown): 'stdio' | 'tcp' | 'socket' { method normalizeTimeout (line 417) | private normalizeTimeout(value: unknown): number | undefined { method normalizeMaxRestarts (line 427) | private normalizeMaxRestarts(value: unknown): number | undefined { method normalizeSocketOptions (line 437) | private normalizeSocketOptions( method resolveWorkspaceFolder (line 481) | private resolveWorkspaceFolder(value: unknown): string { FILE: packages/core/src/lsp/LspConnectionFactory.ts type PendingRequest (line 15) | interface PendingRequest { class JsonRpcConnection (line 21) | class JsonRpcConnection { method constructor (line 32) | constructor( method listen (line 37) | listen(readable: NodeJS.ReadableStream): void { method send (line 46) | send(message: JsonRpcMessage): void { method onNotification (line 50) | onNotification(handler: (notification: JsonRpcMessage) => void): void { method onRequest (line 54) | onRequest(handler: (request: JsonRpcMessage) => Promise): void { method initialize (line 58) | async initialize(params: unknown): Promise { method shutdown (line 62) | async shutdown(): Promise { method request (line 72) | request(method: string, params: unknown): Promise { method end (line 76) | end(): void { method sendRequest (line 85) | private sendRequest(method: string, params: unknown): Promise { method handleServerRequest (line 111) | private async handleServerRequest(message: JsonRpcMessage): Promise = { constant MARKER_TO_LANGUAGE (line 49) | const MARKER_TO_LANGUAGE: Record = { constant COMMON_MARKERS (line 67) | const COMMON_MARKERS = [ constant DEFAULT_EXCLUDE_PATTERNS (line 84) | const DEFAULT_EXCLUDE_PATTERNS = [ class LspLanguageDetector (line 94) | class LspLanguageDetector { method constructor (line 95) | constructor( method detectLanguages (line 107) | async detectLanguages( method detectRootMarkers (line 172) | private async detectRootMarkers(): Promise { method mapExtensionToLanguage (line 194) | private mapExtensionToLanguage( method getExtensionToLanguageMap (line 204) | private getExtensionToLanguageMap( method mapMarkerToLanguage (line 223) | private mapMarkerToLanguage(marker: string): string | null { FILE: packages/core/src/lsp/LspResponseNormalizer.ts class LspResponseNormalizer (line 40) | class LspResponseNormalizer { method normalizeDiagnostic (line 48) | normalizeDiagnostic(item: unknown, serverName: string): LspDiagnostic ... method denormalizeDiagnostic (line 104) | denormalizeDiagnostic(diagnostic: LspDiagnostic): Record): boolean { method collectDocumentSymbol (line 861) | collectDocumentSymbol( FILE: packages/core/src/lsp/LspServerManager.ts type LspServerManagerOptions (line 35) | interface LspServerManagerOptions { class LspServerManager (line 40) | class LspServerManager { method constructor (line 45) | constructor( method setServerConfigs (line 55) | setServerConfigs(configs: LspServerConfig[]): void { method clearServerHandles (line 65) | clearServerHandles(): void { method getHandles (line 69) | getHandles(): ReadonlyMap { method getStatus (line 73) | getStatus(): Map { method startAll (line 81) | async startAll(): Promise { method stopAll (line 87) | async stopAll(): Promise { method warmupTypescriptServer (line 98) | async warmupTypescriptServer( method isTypescriptServer (line 153) | isTypescriptServer(handle: LspServerHandle): boolean { method startServer (line 166) | private async startServer( method doStartServer (line 194) | private async doStartServer( method stopServer (line 277) | private async stopServer( method shutdownConnection (line 299) | private async shutdownConnection(handle: LspServerHandle): Promise { method workspaceDiagnostics (line 219) | workspaceDiagnostics( method codeActions (line 236) | codeActions( method applyWorkspaceEdit (line 253) | applyWorkspaceEdit( FILE: packages/core/src/lsp/NativeLspService.integration.test.ts constant MOCK_LSP_RESPONSES (line 20) | const MOCK_LSP_RESPONSES = { class MockConfig (line 316) | class MockConfig { method isTrustedFolder (line 320) | isTrustedFolder(): boolean { method setTrusted (line 324) | setTrusted(trusted: boolean): void { method get (line 328) | get(_key: string) { method getProjectRoot (line 332) | getProjectRoot(): string { class MockWorkspaceContext (line 340) | class MockWorkspaceContext { method fileExists (line 343) | async fileExists(filePath: string): Promise { method readFile (line 351) | async readFile(filePath: string): Promise { method resolvePath (line 365) | resolvePath(relativePath: string): string { method isPathWithinWorkspace (line 369) | isPathWithinWorkspace(_path: string): boolean { method getDirectories (line 373) | getDirectories(): string[] { class MockFileDiscoveryService (line 381) | class MockFileDiscoveryService { method discoverFiles (line 382) | async discoverFiles(_root: string, _options: unknown): Promise { method readFile (line 39) | async readFile(_path: string): Promise { method resolvePath (line 52) | resolvePath(_path: string): string { method isPathWithinWorkspace (line 56) | isPathWithinWorkspace(_path: string): boolean { method getDirectories (line 60) | getDirectories(): string[] { class MockFileDiscoveryService (line 65) | class MockFileDiscoveryService { method discoverFiles (line 66) | async discoverFiles(_root: string, _options: unknown): Promise { method getActiveExtensions (line 127) | private getActiveExtensions(): Extension[] { method start (line 139) | async start(): Promise { method stop (line 146) | async stop(): Promise { method getStatus (line 153) | getStatus(): Map { method getReadyHandles (line 164) | private getReadyHandles( method workspaceSymbols (line 183) | async workspaceSymbols( method definitions (line 238) | async definitions( method references (line 287) | async references( method hover (line 336) | async hover( method documentSymbols (line 364) | async documentSymbols( method implementations (line 427) | async implementations( method prepareCallHierarchy (line 479) | async prepareCallHierarchy( method incomingCalls (line 531) | async incomingCalls( method outgoingCalls (line 578) | async outgoingCalls( method diagnostics (line 625) | async diagnostics( method workspaceDiagnostics (line 675) | async workspaceDiagnostics( method codeActions (line 727) | async codeActions( method applyWorkspaceEdit (line 793) | async applyWorkspaceEdit( method applyTextEdits (line 825) | private async applyTextEdits( method isNoProjectErrorResponse (line 882) | private isNoProjectErrorResponse(response: unknown): boolean { FILE: packages/core/src/lsp/constants.ts constant DEFAULT_LSP_STARTUP_TIMEOUT_MS (line 14) | const DEFAULT_LSP_STARTUP_TIMEOUT_MS = 10000; constant DEFAULT_LSP_REQUEST_TIMEOUT_MS (line 17) | const DEFAULT_LSP_REQUEST_TIMEOUT_MS = 15000; constant DEFAULT_LSP_WARMUP_DELAY_MS (line 20) | const DEFAULT_LSP_WARMUP_DELAY_MS = 150; constant DEFAULT_LSP_COMMAND_CHECK_TIMEOUT_MS (line 23) | const DEFAULT_LSP_COMMAND_CHECK_TIMEOUT_MS = 2000; constant DEFAULT_LSP_MAX_RESTARTS (line 30) | const DEFAULT_LSP_MAX_RESTARTS = 3; constant DEFAULT_LSP_SOCKET_RETRY_DELAY_MS (line 33) | const DEFAULT_LSP_SOCKET_RETRY_DELAY_MS = 250; constant DEFAULT_LSP_SOCKET_MAX_RETRY_DELAY_MS (line 36) | const DEFAULT_LSP_SOCKET_MAX_RETRY_DELAY_MS = 1000; constant SYMBOL_KIND_LABELS (line 47) | const SYMBOL_KIND_LABELS: Record = { constant DIAGNOSTIC_SEVERITY_LABELS (line 80) | const DIAGNOSTIC_SEVERITY_LABELS: Record = constant CODE_ACTION_KIND_LABELS (line 91) | const CODE_ACTION_KIND_LABELS: Record = { FILE: packages/core/src/lsp/types.ts type LspPosition (line 7) | interface LspPosition { type LspRange (line 12) | interface LspRange { type LspLocation (line 17) | interface LspLocation { type LspLocationWithServer (line 22) | interface LspLocationWithServer extends LspLocation { type LspSymbolInformation (line 26) | interface LspSymbolInformation { type LspReference (line 34) | interface LspReference extends LspLocationWithServer { type LspDefinition (line 38) | interface LspDefinition extends LspLocationWithServer { type LspHoverResult (line 45) | interface LspHoverResult { type LspCallHierarchyItem (line 57) | interface LspCallHierarchyItem { type LspCallHierarchyIncomingCall (line 81) | interface LspCallHierarchyIncomingCall { type LspCallHierarchyOutgoingCall (line 91) | interface LspCallHierarchyOutgoingCall { type LspDiagnosticSeverity (line 101) | type LspDiagnosticSeverity = type LspDiagnostic (line 110) | interface LspDiagnostic { type LspDiagnosticTag (line 132) | type LspDiagnosticTag = 'unnecessary' | 'deprecated'; type LspDiagnosticRelatedInformation (line 137) | interface LspDiagnosticRelatedInformation { type LspFileDiagnostics (line 147) | interface LspFileDiagnostics { type LspCodeAction (line 159) | interface LspCodeAction { type LspCodeActionKind (line 181) | type LspCodeActionKind = type LspWorkspaceEdit (line 195) | interface LspWorkspaceEdit { type LspTextEdit (line 205) | interface LspTextEdit { type LspTextDocumentEdit (line 215) | interface LspTextDocumentEdit { type LspCommand (line 228) | interface LspCommand { type LspCodeActionContext (line 240) | interface LspCodeActionContext { type LspClient (line 249) | interface LspClient { type LspInitializationOptions (line 372) | interface LspInitializationOptions { type LspSocketOptions (line 379) | interface LspSocketOptions { type LspServerConfig (line 391) | interface LspServerConfig { type JsonRpcMessage (line 431) | interface JsonRpcMessage { type LspConnectionInterface (line 447) | interface LspConnectionInterface { type LspServerStatus (line 469) | type LspServerStatus = type LspServerHandle (line 478) | interface LspServerHandle { type NativeLspServiceOptions (line 502) | interface NativeLspServiceOptions { type LspConnectionResult (line 512) | interface LspConnectionResult { FILE: packages/core/src/mcp/constants.ts constant MCP_OAUTH_CLIENT_NAME (line 11) | const MCP_OAUTH_CLIENT_NAME = 'Qwen Code MCP Client'; constant MCP_SA_IMPERSONATION_CLIENT_NAME (line 16) | const MCP_SA_IMPERSONATION_CLIENT_NAME = constant OAUTH_REDIRECT_PORT (line 22) | const OAUTH_REDIRECT_PORT = 7777; constant OAUTH_REDIRECT_PATH (line 27) | const OAUTH_REDIRECT_PATH = '/oauth/callback'; FILE: packages/core/src/mcp/google-auth-provider.ts constant ALLOWED_HOSTS (line 21) | const ALLOWED_HOSTS = [/^.+\.googleapis\.com$/, /^(.*\.)?luci\.app$/]; class GoogleCredentialProvider (line 23) | class GoogleCredentialProvider implements OAuthClientProvider { 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 87) | saveTokens(_tokens: OAuthTokens): void { method redirectToAuthorization (line 91) | redirectToAuthorization(_authorizationUrl: URL): void { method saveCodeVerifier (line 95) | saveCodeVerifier(_codeVerifier: string): void { method codeVerifier (line 99) | codeVerifier(): string { FILE: packages/core/src/mcp/oauth-provider.ts constant OAUTH_DISPLAY_MESSAGE_EVENT (line 23) | const OAUTH_DISPLAY_MESSAGE_EVENT = 'oauth-display-message' as const; type OAuthDisplayMessage (line 30) | interface OAuthDisplayMessage { type OAuthDisplayPayload (line 36) | type OAuthDisplayPayload = string | OAuthDisplayMessage; type MCPOAuthConfig (line 50) | interface MCPOAuthConfig { type OAuthAuthorizationResponse (line 66) | interface OAuthAuthorizationResponse { type OAuthTokenResponse (line 74) | interface OAuthTokenResponse { type OAuthClientRegistrationRequest (line 85) | interface OAuthClientRegistrationRequest { type OAuthClientRegistrationResponse (line 98) | interface OAuthClientRegistrationResponse { type PKCEParams (line 114) | interface PKCEParams { constant HTTP_OK (line 120) | const HTTP_OK = 200; class MCPOAuthProvider (line 125) | class MCPOAuthProvider { method constructor (line 128) | constructor(tokenStorage: MCPOAuthTokenStorage = new MCPOAuthTokenStor... method registerClient (line 139) | private async registerClient( method discoverOAuthFromMCPServer (line 181) | private async discoverOAuthFromMCPServer( method generatePKCEParams (line 193) | private generatePKCEParams(): PKCEParams { method startCallbackServer (line 215) | private async startCallbackServer( method buildAuthorizationUrl (line 338) | private buildAuthorizationUrl( method exchangeCodeForToken (line 395) | private async exchangeCodeForToken( method refreshAccessToken (line 520) | async refreshAccessToken( method authenticate (line 642) | async authenticate( method getValidToken (line 892) | 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 getTokenFilePath (line 40) | private getTokenFilePath(): string { method ensureConfigDir (line 47) | private async ensureConfigDir(): Promise { method getAllCredentials (line 57) | async getAllCredentials(): Promise> { method listServers (line 83) | async listServers(): Promise { method setCredentials (line 91) | async setCredentials(credentials: OAuthCredentials): Promise { method saveToken (line 124) | async saveToken( method getCredentials (line 154) | async getCredentials(serverName: string): Promise { method isTokenExpired (line 200) | isTokenExpired(token: OAuthToken): boolean { method clearAll (line 213) | async clearAll(): Promise { FILE: packages/core/src/mcp/oauth-utils.ts type OAuthAuthorizationServerMetadata (line 16) | interface OAuthAuthorizationServerMetadata { type OAuthProtectedResourceMetadata (line 33) | interface OAuthProtectedResourceMetadata { class OAuthUtils (line 47) | class OAuthUtils { method buildWellKnownUrls (line 53) | static buildWellKnownUrls(baseUrl: string, includePathSuffix = false) { method fetchProtectedResourceMetadata (line 91) | static async fetchProtectedResourceMetadata( method fetchAuthorizationServerMetadata (line 114) | static async fetchAuthorizationServerMetadata( method metadataToOAuthConfig (line 137) | static metadataToOAuthConfig( method discoverAuthorizationServerMetadata (line 155) | static async discoverAuthorizationServerMetadata( method discoverOAuthConfig (line 224) | static async discoverOAuthConfig( method parseWWWAuthenticateHeader (line 299) | static parseWWWAuthenticateHeader(header: string): string | null { method discoverOAuthFromWWWAuthenticate (line 314) | static async discoverOAuthFromWWWAuthenticate( method extractBaseUrl (line 352) | static extractBaseUrl(mcpServerUrl: string): string { method isSSEEndpoint (line 363) | static isSSEEndpoint(url: string): boolean { method buildResourceParameter (line 378) | static buildResourceParameter(endpointUrl: string): string { FILE: packages/core/src/mcp/sa-impersonation-provider.ts function createIamApiUrl (line 23) | function createIamApiUrl(targetSA: string): string { class ServiceAccountImpersonationProvider (line 27) | class ServiceAccountImpersonationProvider method constructor (line 47) | constructor(private readonly config: MCPServerConfig) { method clientInformation (line 72) | clientInformation(): OAuthClientInformation | undefined { method saveClientInformation (line 76) | saveClientInformation(clientInformation: OAuthClientInformationFull): ... method tokens (line 80) | async tokens(): Promise { method saveTokens (line 137) | saveTokens(_tokens: OAuthTokens): void { method redirectToAuthorization (line 141) | redirectToAuthorization(_authorizationUrl: URL): void { method saveCodeVerifier (line 145) | saveCodeVerifier(_codeVerifier: string): void { method codeVerifier (line 149) | codeVerifier(): string { method parseTokenExpiry (line 159) | private parseTokenExpiry(idToken: string): number | undefined { 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/file-token-storage.ts class FileTokenStorage (line 14) | class FileTokenStorage extends BaseTokenStorage { method constructor (line 18) | constructor(serviceName: string) { method deriveEncryptionKey (line 25) | private deriveEncryptionKey(): Buffer { method encrypt (line 30) | private encrypt(text: string): string { method decrypt (line 42) | private decrypt(encryptedData: string): string { method ensureDirectoryExists (line 65) | private async ensureDirectoryExists(): Promise { method loadTokens (line 70) | private async loadTokens(): Promise> { method saveTokens (line 93) | private async saveTokens( method getCredentials (line 105) | async getCredentials(serverName: string): Promise { method deleteCredentials (line 133) | async deleteCredentials(serverName: string): Promise { method listServers (line 156) | async listServers(): Promise { method getAllCredentials (line 161) | async getAllCredentials(): Promise> { method clearAll (line 174) | async clearAll(): Promise { FILE: packages/core/src/mcp/token-storage/hybrid-token-storage.test.ts type MockStorage (line 36) | interface MockStorage { FILE: packages/core/src/mcp/token-storage/hybrid-token-storage.ts constant FORCE_FILE_STORAGE_ENV_VAR (line 12) | const FORCE_FILE_STORAGE_ENV_VAR = 'QWEN_CODE_FORCE_FILE_STORAGE'; class HybridTokenStorage (line 14) | class HybridTokenStorage extends BaseTokenStorage { method constructor (line 19) | constructor(serviceName: string) { method initializeStorage (line 23) | 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 = 'qwen-code-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 type Keytar (line 14) | interface Keytar { constant KEYCHAIN_TEST_PREFIX (line 27) | const KEYCHAIN_TEST_PREFIX = '__keychain_test__'; constant SECRET_PREFIX (line 28) | const SECRET_PREFIX = '__secret__'; class KeychainTokenStorage (line 30) | class KeychainTokenStorage extends BaseTokenStorage { method getKeytar (line 35) | async getKeytar(): Promise { method getCredentials (line 54) | async getCredentials(serverName: string): Promise { method deleteCredentials (line 109) | async deleteCredentials(serverName: string): Promise { method listServers (line 130) | async listServers(): Promise { method getAllCredentials (line 152) | async getAllCredentials(): Promise> { method clearAll (line 189) | async clearAll(): Promise { method checkKeychainAvailability (line 223) | async checkKeychainAvailability(): Promise { method isAvailable (line 254) | async isAvailable(): Promise { method setSecret (line 258) | async setSecret(key: string, value: string): Promise { method getSecret (line 269) | async getSecret(key: string): Promise { method deleteSecret (line 280) | async deleteSecret(key: string): Promise { method listSecrets (line 297) | 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 TokenStorageType (line 39) | enum TokenStorageType { FILE: packages/core/src/models/constants.ts type AuthType (line 11) | type AuthType = import('../core/contentGenerator.js').AuthType; type ContentGeneratorConfig (line 12) | type ContentGeneratorConfig = constant MODEL_GENERATION_CONFIG_FIELDS (line 21) | const MODEL_GENERATION_CONFIG_FIELDS = [ constant CREDENTIAL_FIELDS (line 39) | const CREDENTIAL_FIELDS = [ constant PROVIDER_SOURCED_FIELDS (line 50) | const PROVIDER_SOURCED_FIELDS = [ type AuthEnvMapping (line 58) | interface AuthEnvMapping { constant AUTH_ENV_MAPPINGS (line 64) | const AUTH_ENV_MAPPINGS = { constant DEFAULT_MODELS (line 92) | const DEFAULT_MODELS = { constant QWEN_OAUTH_MODELS (line 101) | const QWEN_OAUTH_MODELS: ModelConfig[] = [ constant QWEN_OAUTH_ALLOWED_MODELS (line 115) | const QWEN_OAUTH_ALLOWED_MODELS = QWEN_OAUTH_MODELS.map( FILE: packages/core/src/models/modelConfigErrors.ts function getDefaultApiKeyEnvVar (line 7) | function getDefaultApiKeyEnvVar(authType: string | undefined): string { function getDefaultModelEnvVar (line 22) | function getDefaultModelEnvVar(authType: string | undefined): string { method constructor (line 40) | protected constructor(message: string) { class StrictMissingCredentialsError (line 47) | class StrictMissingCredentialsError extends ModelConfigError { method constructor (line 50) | constructor( class StrictMissingModelIdError (line 66) | class StrictMissingModelIdError extends ModelConfigError { method constructor (line 69) | constructor(authType: string | undefined) { class MissingApiKeyError (line 76) | class MissingApiKeyError extends ModelConfigError { method constructor (line 79) | constructor(params: { class MissingModelError (line 94) | class MissingModelError extends ModelConfigError { method constructor (line 97) | constructor(params: { authType: string | undefined; envKey: string }) { class MissingBaseUrlError (line 105) | class MissingBaseUrlError extends ModelConfigError { method constructor (line 108) | constructor(params: { class MissingAnthropicBaseUrlEnvError (line 119) | class MissingAnthropicBaseUrlEnvError extends ModelConfigError { method constructor (line 122) | constructor() { FILE: packages/core/src/models/modelConfigResolver.ts type ModelConfigCliInput (line 53) | interface ModelConfigCliInput { type ModelConfigSettingsInput (line 62) | interface ModelConfigSettingsInput { type ModelConfigSourcesInput (line 76) | interface ModelConfigSourcesInput { type ModelConfigResolutionResult (line 99) | interface ModelConfigResolutionResult { function resolveModelConfig (line 119) | function resolveModelConfig( function resolveQwenOAuthConfig (line 276) | function resolveQwenOAuthConfig( function resolveGenerationConfig (line 342) | function resolveGenerationConfig( FILE: packages/core/src/models/modelRegistry.ts function validateAuthTypeKey (line 30) | function validateAuthTypeKey(key: string): AuthType | undefined { class ModelRegistry (line 44) | class ModelRegistry { method getDefaultBaseUrl (line 47) | private getDefaultBaseUrl(authType: AuthType): string { method constructor (line 58) | constructor(modelProvidersConfig?: ModelProvidersConfig) { method registerAuthTypeModels (line 90) | private registerAuthTypeModels( method getModelsForAuthType (line 115) | getModelsForAuthType(authType: AuthType): AvailableModel[] { method getModel (line 138) | getModel( method hasModel (line 149) | hasModel(authType: AuthType, modelId: string): boolean { method getDefaultModelForAuthType (line 159) | getDefaultModelForAuthType( method resolveModelConfig (line 173) | private resolveModelConfig( method validateModelConfig (line 192) | private validateModelConfig(config: ModelConfig, authType: AuthType): ... method reloadModels (line 205) | reloadModels(modelProvidersConfig?: ModelProvidersConfig): void { FILE: packages/core/src/models/modelsConfig.test.ts function deepClone (line 14) | function deepClone(value: T): T { function snapshotGenerationConfig (line 24) | function snapshotGenerationConfig( function currentGenerationConfig (line 32) | function currentGenerationConfig( FILE: packages/core/src/models/modelsConfig.ts type OnModelChangeCallback (line 40) | type OnModelChangeCallback = ( type ModelsConfigOptions (line 48) | interface ModelsConfigOptions { class ModelsConfig (line 72) | class ModelsConfig { method deepClone (line 129) | private static deepClone(value: T): T { method constructor (line 145) | constructor(options: ModelsConfigOptions = {}) { method createStateSnapshotForRollback (line 170) | private createStateSnapshotForRollback(): { method rollbackToStateSnapshot (line 198) | private rollbackToStateSnapshot( method getModel (line 214) | getModel(): string { method getCurrentAuthType (line 221) | getCurrentAuthType(): AuthType | undefined { method wasAuthTypeExplicitlyProvided (line 229) | wasAuthTypeExplicitlyProvided(): boolean { method getAvailableModels (line 236) | getAvailableModels(): AvailableModel[] { method getAvailableModelsForAuthType (line 245) | getAvailableModelsForAuthType(authType: AuthType): AvailableModel[] { method getAllConfiguredModels (line 257) | getAllConfiguredModels(authTypes?: AuthType[]): AvailableModel[] { method hasModel (line 300) | hasModel(authType: AuthType, modelId: string): boolean { method setModel (line 308) | async setModel( method switchModel (line 361) | async switchModel( method buildRuntimeModelSnapshotId (line 428) | private buildRuntimeModelSnapshotId( method extractRuntimeModelSnapshotId (line 449) | private extractRuntimeModelSnapshotId(modelId: string): string | undef... method getGenerationConfig (line 471) | getGenerationConfig(): Partial { method getGenerationConfigSources (line 478) | getGenerationConfigSources(): ContentGeneratorConfigSources { method mergeSettingsGenerationConfig (line 486) | mergeSettingsGenerationConfig( method updateCredentials (line 525) | updateCredentials( method syncRuntimeModelSnapshotWithCredentials (line 595) | private syncRuntimeModelSnapshotWithCredentials(): void { method clearProviderSourcedConfig (line 647) | private clearProviderSourcedConfig(): void { method isStrictModelProviderSelection (line 661) | isStrictModelProviderSelection(): boolean { method resetStrictModelProviderSelection (line 668) | resetStrictModelProviderSelection(): void { method consumeRequireCachedCredentialsFlag (line 675) | consumeRequireCachedCredentialsFlag(): boolean { method applyResolvedModelDefaults (line 684) | private applyResolvedModelDefaults(model: ResolvedModelConfig): void { method checkRequiresRefresh (line 804) | private checkRequiresRefresh(previousModelId: string): boolean { method syncAfterAuthRefresh (line 857) | syncAfterAuthRefresh(authType: AuthType, modelId?: string): void { method setOnModelChange (line 942) | setOnModelChange(callback: OnModelChangeCallback): void { method detectAndCaptureRuntimeModel (line 956) | detectAndCaptureRuntimeModel(): string | undefined { method getActiveRuntimeModelSnapshot (line 1016) | getActiveRuntimeModelSnapshot(): RuntimeModelSnapshot | undefined { method getActiveRuntimeModelSnapshotId (line 1028) | getActiveRuntimeModelSnapshotId(): string | undefined { method switchToRuntimeModel (line 1041) | async switchToRuntimeModel(snapshotId: string): Promise { method getRuntimeModelOption (line 1119) | private getRuntimeModelOption(): AvailableModel | undefined { method clearRuntimeModelSnapshotForAuthType (line 1149) | private clearRuntimeModelSnapshotForAuthType(authType: AuthType): void { method cleanupOldRuntimeModelSnapshots (line 1166) | private cleanupOldRuntimeModelSnapshots(): void { method reloadModelProvidersConfig (line 1196) | reloadModelProvidersConfig( FILE: packages/core/src/models/types.ts type ModelCapabilities (line 17) | interface ModelCapabilities { type ModelGenerationConfig (line 28) | type ModelGenerationConfig = Pick< type ModelConfig (line 46) | interface ModelConfig { type ModelProvidersConfig (line 66) | type ModelProvidersConfig = { type ResolvedModelConfig (line 73) | interface ResolvedModelConfig extends ModelConfig { type AvailableModel (line 91) | interface AvailableModel { type ModelSwitchMetadata (line 113) | interface ModelSwitchMetadata { type RuntimeModelSnapshot (line 123) | interface RuntimeModelSnapshot { FILE: packages/core/src/output/json-formatter.test.ts class CustomError (line 171) | class CustomError extends Error { method constructor (line 172) | constructor(message: string) { FILE: packages/core/src/output/json-formatter.ts class JsonFormatter (line 11) | class JsonFormatter { method format (line 12) | format(response?: string, stats?: SessionMetrics, error?: JsonError): ... method formatError (line 30) | formatError(error: Error, code?: string | number): string { FILE: packages/core/src/output/types.ts type InputFormat (line 9) | enum InputFormat { type OutputFormat (line 14) | enum OutputFormat { type JsonError (line 20) | interface JsonError { type JsonOutput (line 26) | interface JsonOutput { FILE: packages/core/src/permissions/permission-manager.test.ts function makeConfig (line 759) | function makeConfig( FILE: packages/core/src/permissions/permission-manager.ts constant DECISION_PRIORITY (line 32) | const DECISION_PRIORITY: Readonly> = { type PermissionManagerConfig (line 48) | interface PermissionManagerConfig { class PermissionManager (line 96) | class PermissionManager { method constructor (line 118) | constructor(private readonly config: PermissionManagerConfig) {} method initialize (line 127) | initialize(): void { method evaluate (line 156) | evaluate(ctx: PermissionCheckContext): PermissionDecision { method evaluateSingle (line 182) | private evaluateSingle(ctx: PermissionCheckContext): PermissionDecision { method evaluateShellVirtualOps (line 267) | private evaluateShellVirtualOps( method evaluateCompoundCommand (line 305) | private evaluateCompoundCommand( method isToolEnabled (line 350) | isToolEnabled(toolName: string): boolean { method isCommandAllowed (line 378) | isCommandAllowed(command: string): PermissionDecision { method hasRelevantRules (line 410) | hasRelevantRules(ctx: PermissionCheckContext): boolean { method addSessionAllowRule (line 478) | addSessionAllowRule(raw: string): void { method addSessionDenyRule (line 487) | addSessionDenyRule(raw: string): void { method addSessionAskRule (line 496) | addSessionAskRule(raw: string): void { method addPersistentRule (line 515) | addPersistentRule(raw: string, type: RuleType): PermissionRule { method removePersistentRule (line 531) | removePersistentRule(raw: string, type: RuleType): boolean { method getDefaultMode (line 550) | getDefaultMode(): string { method updatePersistentRules (line 558) | updatePersistentRules(ruleSet: Partial): void { method listRules (line 578) | listRules(): RuleWithSource[] { method getAllowRawStrings (line 605) | getAllowRawStrings(): string[] { FILE: packages/core/src/permissions/rule-parser.ts function toPosixPath (line 22) | function toPosixPath(p: string): string { constant TOOL_NAME_ALIASES (line 39) | const TOOL_NAME_ALIASES: Readonly> = { constant SHELL_TOOL_NAMES (line 134) | const SHELL_TOOL_NAMES = new Set(['run_shell_command']); constant READ_TOOLS (line 142) | const READ_TOOLS = new Set([ constant EDIT_TOOLS (line 154) | const EDIT_TOOLS = new Set(['edit', 'write_file']); constant WEBFETCH_TOOLS (line 159) | const WEBFETCH_TOOLS = new Set(['web_fetch']); function resolveToolName (line 170) | function resolveToolName(rawName: string): string { function getSpecifierKind (line 178) | function getSpecifierKind(canonicalToolName: string): SpecifierKind { function toolMatchesRuleToolName (line 198) | function toolMatchesRuleToolName( function parseRule (line 235) | function parseRule(raw: string): PermissionRule { function parseRules (line 273) | function parseRules(raws: string[]): PermissionRule[] { constant CANONICAL_TO_RULE_DISPLAY (line 290) | const CANONICAL_TO_RULE_DISPLAY: Readonly> = { function getRuleDisplayName (line 320) | function getRuleDisplayName(canonicalToolName: string): string { constant FILE_TARGETED_TOOLS (line 334) | const FILE_TARGETED_TOOLS = new Set(['read_file', 'edit', 'write_file']); function buildPermissionRules (line 361) | function buildPermissionRules(ctx: PermissionCheckContext): string[] { constant SHELL_OPERATORS (line 416) | const SHELL_OPERATORS = ['&&', '||', ';;', '|&', '|', ';']; function splitCompoundCommand (line 431) | function splitCompoundCommand(command: string): string[] { function matchesCommandPattern (line 503) | function matchesCommandPattern( function escapeRegex (line 577) | function escapeRegex(s: string): string { function resolvePathPattern (line 602) | function resolvePathPattern( function matchesPathPattern (line 645) | function matchesPathPattern( function matchesDomainPattern (line 683) | function matchesDomainPattern( function matchesMcpPattern (line 724) | function matchesMcpPattern(pattern: string, toolName: string): boolean { type PathMatchContext (line 761) | interface PathMatchContext { function matchesRule (line 793) | function matchesRule( FILE: packages/core/src/permissions/shell-semantics.test.ts constant CWD (line 11) | const CWD = '/home/user/project'; function sorted (line 14) | function sorted(ops: ShellOperation[]) { FILE: packages/core/src/permissions/shell-semantics.ts type ShellOperation (line 46) | interface ShellOperation { function tokenize (line 75) | function tokenize(command: string): string[] { function resolvePath (line 127) | function resolvePath(p: string, cwd: string): string { function looksLikePath (line 150) | function looksLikePath(s: string): boolean { type RedirectResult (line 169) | interface RedirectResult { function extractRedirects (line 185) | function extractRedirects(tokens: string[], cwd: string): RedirectResult { function getPositionalArgs (line 266) | function getPositionalArgs( type CommandHandler (line 297) | type CommandHandler = (args: string[], cwd: string) => ShellOperation[]; function readOps (line 300) | function readOps( function listOps (line 315) | function listOps( function webOp (line 330) | function webOp(url: string): ShellOperation | null { constant COMMANDS (line 344) | const COMMANDS: Readonly> = { constant PREFIX_COMMAND_FLAGS_WITH_VALUE (line 1517) | const PREFIX_COMMAND_FLAGS_WITH_VALUE = new Map( method generateContent (line 155) | override async generateContent( method generateContentStream (line 167) | override async generateContentStream( method countTokens (line 179) | override async countTokens( method embedContent (line 188) | override async embedContent( method isAuthError (line 199) | private isAuthError(error: unknown): boolean { method getCurrentToken (line 233) | getCurrentToken(): string | null { method clearToken (line 246) | clearToken(): void { FILE: packages/core/src/qwen/qwenOAuth2.test.ts type MockSharedTokenManager (line 33) | interface MockSharedTokenManager { method getInstance (line 44) | static getInstance() { method getValidCredentials (line 51) | async getValidCredentials( method getCurrentCredentials (line 70) | getCurrentCredentials(): QwenCredentials | null { method clearCache (line 75) | clearCache(): void { method constructor (line 80) | constructor(message: string) { FILE: packages/core/src/qwen/qwenOAuth2.ts constant QWEN_OAUTH_BASE_URL (line 27) | const QWEN_OAUTH_BASE_URL = 'https://chat.qwen.ai'; constant QWEN_OAUTH_DEVICE_CODE_ENDPOINT (line 29) | const QWEN_OAUTH_DEVICE_CODE_ENDPOINT = `${QWEN_OAUTH_BASE_URL}/api/v1/o... constant QWEN_OAUTH_TOKEN_ENDPOINT (line 30) | const QWEN_OAUTH_TOKEN_ENDPOINT = `${QWEN_OAUTH_BASE_URL}/api/v1/oauth2/... constant QWEN_OAUTH_CLIENT_ID (line 33) | const QWEN_OAUTH_CLIENT_ID = 'f0304373b74a44d2b584a3fb70ca9e56'; constant QWEN_OAUTH_SCOPE (line 35) | const QWEN_OAUTH_SCOPE = 'openid profile email model.completion'; constant QWEN_OAUTH_GRANT_TYPE (line 36) | const QWEN_OAUTH_GRANT_TYPE = 'urn:ietf:params:oauth:grant-type:device_c... constant QWEN_DIR (line 39) | const QWEN_DIR = '.qwen'; constant QWEN_CREDENTIAL_FILENAME (line 40) | const QWEN_CREDENTIAL_FILENAME = 'oauth_creds.json'; function generateCodeVerifier (line 51) | function generateCodeVerifier(): string { function generateCodeChallenge (line 60) | function generateCodeChallenge(codeVerifier: string): string { function generatePKCEPair (line 70) | function generatePKCEPair(): { function objectToUrlEncoded (line 84) | function objectToUrlEncoded(data: Record): string { type ErrorData (line 93) | interface ErrorData { class CredentialsClearRequiredError (line 103) | class CredentialsClearRequiredError extends Error { method constructor (line 104) | constructor( type QwenCredentials (line 116) | interface QwenCredentials { type DeviceAuthorizationData (line 128) | interface DeviceAuthorizationData { type DeviceAuthorizationResponse (line 139) | type DeviceAuthorizationResponse = DeviceAuthorizationData | ErrorData; function isDeviceAuthorizationSuccess (line 144) | function isDeviceAuthorizationSuccess( type DeviceTokenData (line 153) | interface DeviceTokenData { type DeviceTokenPendingData (line 166) | interface DeviceTokenPendingData { type DeviceTokenResponse (line 174) | type DeviceTokenResponse = function isDeviceTokenSuccess (line 182) | function isDeviceTokenSuccess( function isDeviceTokenPending (line 197) | function isDeviceTokenPending( function isErrorResponse (line 209) | function isErrorResponse( type TokenRefreshData (line 221) | interface TokenRefreshData { type TokenRefreshResponse (line 232) | type TokenRefreshResponse = TokenRefreshData | ErrorData; type IQwenOAuth2Client (line 237) | interface IQwenOAuth2Client { class QwenOAuth2Client (line 256) | class QwenOAuth2Client implements IQwenOAuth2Client { method constructor (line 260) | constructor() { method setCredentials (line 264) | setCredentials(credentials: QwenCredentials): void { method getCredentials (line 268) | getCredentials(): QwenCredentials { method getAccessToken (line 272) | async getAccessToken(): Promise<{ token?: string }> { method requestDeviceAuthorization (line 291) | async requestDeviceAuthorization(options: { method pollDeviceToken (line 334) | async pollDeviceToken(options: { method refreshAccessToken (line 401) | async refreshAccessToken(): Promise { type QwenOAuth2Event (line 466) | enum QwenOAuth2Event { type AuthResult (line 475) | type AuthResult = function getQwenOAuthClient (line 488) | async function getQwenOAuthClient( function showFallbackMessage (line 577) | function showFallbackMessage(verificationUriComplete: string): void { function authWithQwenDeviceFlow (line 673) | async function authWithQwenDeviceFlow( function cacheQwenCredentials (line 954) | async function cacheQwenCredentials(credentials: QwenCredentials) { function clearQwenCredentials (line 986) | async function clearQwenCredentials(): Promise { function getQwenCachedCredentialPath (line 1013) | function getQwenCachedCredentialPath(): string { FILE: packages/core/src/qwen/sharedTokenManager.test.ts function getPrivateProperty (line 52) | function getPrivateProperty(obj: unknown, property: string): T { function setPrivateProperty (line 59) | function setPrivateProperty(obj: unknown, property: string, value: T)... function createMockQwenClient (line 66) | function createMockQwenClient( function createValidCredentials (line 93) | function createValidCredentials( function createExpiredCredentials (line 109) | function createExpiredCredentials( function createSuccessfulRefreshResponse (line 125) | function createSuccessfulRefreshResponse( function createErrorResponse (line 141) | function createErrorResponse( FILE: packages/core/src/qwen/sharedTokenManager.ts constant QWEN_DIR (line 25) | const QWEN_DIR = '.qwen'; constant QWEN_CREDENTIAL_FILENAME (line 26) | const QWEN_CREDENTIAL_FILENAME = 'oauth_creds.json'; constant QWEN_LOCK_FILENAME (line 27) | const QWEN_LOCK_FILENAME = 'oauth_creds.lock'; constant TOKEN_REFRESH_BUFFER_MS (line 30) | const TOKEN_REFRESH_BUFFER_MS = 30 * 1000; constant LOCK_TIMEOUT_MS (line 31) | const LOCK_TIMEOUT_MS = 10000; constant CACHE_CHECK_INTERVAL_MS (line 32) | const CACHE_CHECK_INTERVAL_MS = 5000; type LockConfig (line 35) | interface LockConfig { constant DEFAULT_LOCK_CONFIG (line 42) | const DEFAULT_LOCK_CONFIG: LockConfig = { type TokenError (line 51) | enum TokenError { class TokenManagerError (line 62) | class TokenManagerError extends Error { method constructor (line 63) | constructor( type MemoryCache (line 76) | interface MemoryCache { function validateCredentials (line 89) | function validateCredentials(data: unknown): QwenCredentials { class SharedTokenManager (line 119) | class SharedTokenManager { method constructor (line 159) | private constructor() { method getInstance (line 167) | static getInstance(): SharedTokenManager { method registerCleanupHandlers (line 177) | private registerCleanupHandlers(): void { method getValidCredentials (line 209) | async getValidCredentials( method checkAndReloadIfNeeded (line 265) | private async checkAndReloadIfNeeded( method withTimeout (line 300) | private withTimeout( method performFileCheck (line 330) | private async performFileCheck( method forceFileCheck (line 379) | private async forceFileCheck(qwenClient?: IQwenOAuth2Client): Promise<... method reloadCredentialsFromFile (line 417) | private async reloadCredentialsFromFile( method performTokenRefresh (line 465) | private async performTokenRefresh( method saveCredentialsToFile (line 609) | private async saveCredentialsToFile( method isTokenValid (line 677) | private isTokenValid(credentials: QwenCredentials): boolean { method getCredentialFilePath (line 689) | private getCredentialFilePath(): string { method getLockFilePath (line 698) | private getLockFilePath(): string { method acquireLock (line 708) | private async acquireLock(lockPath: string): Promise { method releaseLock (line 779) | private async releaseLock(lockPath: string): Promise { method updateCacheState (line 799) | private updateCacheState( method clearCache (line 814) | clearCache(): void { method getCurrentCredentials (line 825) | getCurrentCredentials(): QwenCredentials | null { method isRefreshInProgress (line 834) | isRefreshInProgress(): boolean { method setLockConfig (line 842) | setLockConfig(config: Partial): void { method cleanup (line 849) | cleanup(): void { method getDebugInfo (line 869) | getDebugInfo(): { FILE: packages/core/src/services/chatCompressionService.ts constant COMPRESSION_TOKEN_THRESHOLD (line 23) | const COMPRESSION_TOKEN_THRESHOLD = 0.7; constant COMPRESSION_PRESERVE_THRESHOLD (line 29) | const COMPRESSION_PRESERVE_THRESHOLD = 0.3; function findCompressSplitPoint (line 37) | function findCompressSplitPoint( class ChatCompressionService (line 79) | class ChatCompressionService { method compress (line 80) | async compress( FILE: packages/core/src/services/chatRecordingService.ts type ChatRecord (line 40) | interface ChatRecord { type ChatCompressionRecordPayload (line 107) | interface ChatCompressionRecordPayload { type SlashCommandRecordPayload (line 118) | interface SlashCommandRecordPayload { type AtCommandRecordPayload (line 133) | interface AtCommandRecordPayload { type UiTelemetryRecordPayload (line 147) | interface UiTelemetryRecordPayload { class ChatRecordingService (line 175) | class ChatRecordingService { method constructor (line 180) | constructor(config: Config) { method getSessionId (line 190) | private getSessionId(): string { method ensureChatsDir (line 199) | private ensureChatsDir(): string { method ensureConversationFile (line 218) | private ensureConversationFile(): string { method createBaseRecord (line 249) | private createBaseRecord( method appendRecord (line 267) | private appendRecord(record: ChatRecord): void { method recordUserMessage (line 285) | recordUserMessage(message: PartListUnion): void { method recordAssistantTurn (line 307) | recordAssistantTurn(data: { method recordToolResult (line 344) | recordToolResult( method recordSlashCommand (line 386) | recordSlashCommand(payload: SlashCommandRecordPayload): void { method recordChatCompression (line 406) | recordChatCompression(payload: ChatCompressionRecordPayload): void { method recordUiTelemetryEvent (line 424) | recordUiTelemetryEvent(uiEvent: UiEvent): void { method recordAtCommand (line 442) | recordAtCommand(payload: AtCommandRecordPayload): void { FILE: packages/core/src/services/fileDiscoveryService.test.ts function createTestFile (line 17) | async function createTestFile(filePath: string, content = '') { FILE: packages/core/src/services/fileDiscoveryService.ts type FilterFilesOptions (line 14) | interface FilterFilesOptions { type FilterReport (line 19) | interface FilterReport { class FileDiscoveryService (line 25) | class FileDiscoveryService { method constructor (line 30) | constructor(projectRoot: string) { method filterFiles (line 41) | filterFiles( method filterFilesWithReport (line 63) | filterFilesWithReport( method shouldGitIgnoreFile (line 98) | shouldGitIgnoreFile(filePath: string): boolean { method shouldQwenIgnoreFile (line 108) | shouldQwenIgnoreFile(filePath: string): boolean { method shouldIgnoreFile (line 118) | shouldIgnoreFile( method getQwenIgnorePatterns (line 139) | getQwenIgnorePatterns(): string[] { FILE: packages/core/src/services/fileSystemService.ts type ReadTextFileResponse (line 24) | type ReadTextFileResponse = { type FileEncodingType (line 44) | type FileEncodingType = (typeof FileEncoding)[keyof typeof FileEncoding]; type FileSystemService (line 49) | interface FileSystemService { type WriteTextFileOptions (line 71) | interface WriteTextFileOptions { constant CRLF_EXTENSIONS (line 93) | const CRLF_EXTENSIONS = new Set(['.bat', '.cmd']); constant UTF8_BOM_EXTENSIONS (line 102) | const UTF8_BOM_EXTENSIONS = new Set(['.ps1']); function needsUtf8Bom (line 114) | function needsUtf8Bom(filePath: string): boolean { function resetUtf8BomCache (line 133) | function resetUtf8BomCache(): void { function needsCrlfLineEndings (line 141) | function needsCrlfLineEndings(filePath: string): boolean { function ensureCrlfLineEndings (line 153) | function ensureCrlfLineEndings(content: string): string { function getBOMBytesForEncoding (line 162) | function getBOMBytesForEncoding(encoding: string): Buffer | null { class StandardFileSystemService (line 185) | class StandardFileSystemService implements FileSystemService { method readTextFile (line 186) | async readTextFile( method writeTextFile (line 200) | async writeTextFile( method findFiles (line 246) | findFiles(fileName: string, searchPaths: readonly string[]): string[] { 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 setupShadowGitRepository (line 48) | async setupShadowGitRepository() { method shadowGitRepository (line 86) | private get shadowGitRepository(): SimpleGit { method getCurrentCommitHash (line 97) | async getCurrentCommitHash(): Promise { method createFileSnapshot (line 102) | async createFileSnapshot(message: string): Promise { method restoreProjectFromSnapshot (line 115) | async restoreProjectFromSnapshot(commitHash: string): Promise { FILE: packages/core/src/services/gitWorktreeService.test.ts function makeWorktreeInfo (line 379) | function makeWorktreeInfo( FILE: packages/core/src/services/gitWorktreeService.ts constant BASELINE_COMMIT_MESSAGE (line 22) | const BASELINE_COMMIT_MESSAGE = 'baseline (dirty state overlay)'; constant WORKTREES_DIR (line 29) | const WORKTREES_DIR = 'worktrees'; type WorktreeInfo (line 31) | interface WorktreeInfo { type WorktreeSetupConfig (line 46) | interface WorktreeSetupConfig { type CreateWorktreeResult (line 59) | interface CreateWorktreeResult { type WorktreeSetupResult (line 65) | interface WorktreeSetupResult { type SessionConfigFile (line 77) | interface SessionConfigFile { class GitWorktreeService (line 92) | class GitWorktreeService { method constructor (line 97) | constructor(sourceRepoPath: string, customBaseDir?: string) { method getBaseDir (line 107) | static getBaseDir(customDir?: string): string { method getSessionDir (line 118) | static getSessionDir(sessionId: string, customBaseDir?: string): string { method getWorktreesDir (line 126) | static getWorktreesDir(sessionId: string, customBaseDir?: string): str... method getBaseDirForInstance (line 136) | getBaseDirForInstance(): string { method checkGitAvailable (line 143) | async checkGitAvailable(): Promise<{ available: boolean; error?: strin... method isGitRepository (line 157) | async isGitRepository(): Promise { method initializeRepository (line 178) | async initializeRepository(): Promise<{ method getCurrentBranch (line 208) | async getCurrentBranch(): Promise { method getCurrentCommitHash (line 216) | async getCurrentCommitHash(): Promise { method createWorktree (line 224) | async createWorktree( method setupWorktrees (line 286) | async setupWorktrees( method listWorktrees (line 467) | async listWorktrees(sessionId: string): Promise { method removeWorktree (line 525) | async removeWorktree( method cleanupSession (line 551) | async cleanupSession(sessionId: string): Promise<{ method getWorktreeDiff (line 626) | async getWorktreeDiff( method applyWorktreeChanges (line 653) | async applyWorktreeChanges( method listSessions (line 716) | static async listSessions(customBaseDir?: string): Promise< method resolveBaseline (line 773) | private async resolveBaseline( method withStagedChanges (line 793) | private async withStagedChanges( method sanitizeName (line 809) | private sanitizeName(name: string): string { method pathExists (line 818) | private async pathExists(p: string): Promise { FILE: packages/core/src/services/loopDetectionService.test.ts constant TOOL_CALL_LOOP_THRESHOLD (line 23) | const TOOL_CALL_LOOP_THRESHOLD = 5; constant CONTENT_LOOP_THRESHOLD (line 24) | const CONTENT_LOOP_THRESHOLD = 10; constant CONTENT_CHUNK_SIZE (line 25) | const CONTENT_CHUNK_SIZE = 50; FILE: packages/core/src/services/loopDetectionService.ts constant TOOL_CALL_LOOP_THRESHOLD (line 21) | const TOOL_CALL_LOOP_THRESHOLD = 5; constant CONTENT_LOOP_THRESHOLD (line 22) | const CONTENT_LOOP_THRESHOLD = 10; constant CONTENT_CHUNK_SIZE (line 23) | const CONTENT_CHUNK_SIZE = 50; constant MAX_HISTORY_LENGTH (line 24) | const MAX_HISTORY_LENGTH = 1000; class LoopDetectionService (line 30) | class LoopDetectionService { method constructor (line 48) | constructor(config: Config) { method disableForSession (line 55) | disableForSession(): void { method getToolCallKey (line 63) | private getToolCallKey(toolCall: { name: string; args: object }): stri... method addAndCheck (line 74) | addAndCheck(event: ServerGeminiStreamEvent): boolean { method checkToolCallLoop (line 95) | private checkToolCallLoop(toolCall: { name: string; args: object }): b... method checkContentLoop (line 127) | private checkContentLoop(content: string): boolean { method truncateAndUpdate (line 169) | private truncateAndUpdate(): void { method analyzeContentChunksForLoop (line 207) | private analyzeContentChunksForLoop(): boolean { method hasMoreChunksToProcess (line 234) | private hasMoreChunksToProcess(): boolean { method isLoopDetectedForChunk (line 251) | private isLoopDetectedForChunk(chunk: string, hash: string): boolean { method isActualContentMatch (line 283) | private isActualContentMatch( method reset (line 297) | reset(promptId: string): void { method resetToolCallCount (line 304) | private resetToolCallCount(): void { method resetContentTracking (line 309) | private resetContentTracking(resetHistory = true): void { FILE: packages/core/src/services/sessionService.ts type SessionListItem (line 28) | interface SessionListItem { type ListSessionsOptions (line 50) | interface ListSessionsOptions { type ListSessionsResult (line 67) | interface ListSessionsResult { type ConversationRecord (line 83) | interface ConversationRecord { type ResumedSessionData (line 95) | interface ResumedSessionData { constant MAX_FILES_TO_PROCESS (line 106) | const MAX_FILES_TO_PROCESS = 10000; constant SESSION_FILE_PATTERN (line 113) | const SESSION_FILE_PATTERN = /^[0-9a-fA-F-]{32,36}\.jsonl$/; constant MAX_PROMPT_SCAN_LINES (line 115) | const MAX_PROMPT_SCAN_LINES = 10; class SessionService (line 128) | class SessionService { method constructor (line 132) | constructor(cwd: string) { method getChatsDir (line 137) | private getChatsDir(): string { method extractPromptText (line 144) | private extractPromptText(message: Content | undefined): string { method extractFirstPromptFromRecords (line 162) | private extractFirstPromptFromRecords(records: ChatRecord[]): string { method countSessionMessages (line 175) | private async countSessionMessages(filePath: string): Promise { method listSessions (line 216) | async listSessions( method readAllRecords (line 325) | private async readAllRecords(filePath: string): Promise { method aggregateRecords (line 340) | private aggregateRecords(records: ChatRecord[]): ChatRecord { method reconstructHistory (line 392) | private reconstructHistory( method loadSession (line 437) | async loadSession( method removeSession (line 485) | async removeSession(sessionId: string): Promise { method loadLastSession (line 517) | async loadLastSession(): Promise { method sessionExists (line 531) | async sessionExists(sessionId: string): Promise { type BuildApiHistoryOptions (line 551) | interface BuildApiHistoryOptions { function stripThoughtsFromContent (line 565) | function stripThoughtsFromContent(content: Content): Content | null { function buildApiHistoryFromConversation (line 592) | function buildApiHistoryFromConversation( function replayUiTelemetryFromConversation (line 652) | function replayUiTelemetryFromConversation( function getResumePromptTokenCount (line 681) | function getResumePromptTokenCount( FILE: packages/core/src/services/shellExecutionService.test.ts constant WINDOWS_SYSTEM_PATH (line 98) | const WINDOWS_SYSTEM_PATH = 'C:\\Windows\\System32;C:\\Shared\\Tools'; constant WINDOWS_USER_PATH (line 99) | const WINDOWS_USER_PATH = 'C:\\Users\\tester\\bin;C:\\Shared\\Tools'; constant EXPECTED_MERGED_WINDOWS_PATH (line 100) | const EXPECTED_MERGED_WINDOWS_PATH = FILE: packages/core/src/services/shellExecutionService.ts constant SIGKILL_TIMEOUT_MS (line 24) | const SIGKILL_TIMEOUT_MS = 200; constant WINDOWS_PATH_DELIMITER (line 25) | const WINDOWS_PATH_DELIMITER = ';'; function mergeWindowsPathValues (line 29) | function mergeWindowsPathValues( function getWindowsPathFingerprint (line 56) | function getWindowsPathFingerprint( function normalizePathEnvForWindows (line 63) | function normalizePathEnvForWindows(env: NodeJS.ProcessEnv): NodeJS.Proc... function applyPowerShellUtf8Prefix (line 116) | function applyPowerShellUtf8Prefix(command: string, shell: string): stri... type ShellExecutionResult (line 124) | interface ShellExecutionResult { type ShellExecutionHandle (line 144) | interface ShellExecutionHandle { type ShellExecutionConfig (line 151) | interface ShellExecutionConfig { type ShellOutputEvent (line 165) | type ShellOutputEvent = type ActivePty (line 183) | interface ActivePty { type ProcessCleanupStrategy (line 219) | interface ProcessCleanupStrategy { class ShellExecutionService (line 267) | class ShellExecutionService { method cleanup (line 271) | static cleanup() { method execute (line 302) | static async execute( method childProcessFallback (line 336) | private static childProcessFallback( method executeWithPty (line 529) | private static executeWithPty( method writeToPty (line 900) | static writeToPty(pid: number, input: string): void { method isPtyActive (line 911) | static isPtyActive(pid: number): boolean { method resizePty (line 928) | static resizePty(pid: number, cols: number, rows: number): void { method scrollPty (line 956) | static scrollPty(pid: number, lines: number): void { FILE: packages/core/src/skills/skill-load.ts constant SKILL_MANIFEST_FILE (line 10) | const SKILL_MANIFEST_FILE = 'SKILL.md'; function loadSkillsFromDir (line 12) | async function loadSkillsFromDir( function parseSkillContent (line 60) | function parseSkillContent( function validateConfig (line 130) | function validateConfig( FILE: packages/core/src/skills/skill-manager.test.ts function mockReaddirForLevels (line 642) | function mockReaddirForLevels(levels: Set) { function setupReviewSkillMocks (line 666) | function setupReviewSkillMocks() { FILE: packages/core/src/skills/skill-manager.ts constant QWEN_CONFIG_DIR (line 29) | const QWEN_CONFIG_DIR = '.qwen'; constant SKILLS_CONFIG_DIR (line 30) | const SKILLS_CONFIG_DIR = 'skills'; constant SKILL_MANIFEST_FILE (line 31) | const SKILL_MANIFEST_FILE = 'SKILL.md'; class SkillManager (line 37) | class SkillManager { method constructor (line 46) | constructor(private readonly config: Config) { method addChangeListener (line 57) | addChangeListener(listener: () => void): () => void { method notifyChangeListeners (line 67) | private notifyChangeListeners(): void { method getParseErrors (line 81) | getParseErrors(): Map { method listSkills (line 91) | async listSkills(options: ListSkillsOptions = {}): Promise): SkillValidationResult { method refreshCache (line 241) | async refreshCache(): Promise { method startWatching (line 266) | async startWatching(): Promise { method stopWatching (line 283) | stopWatching(): void { method parseSkillFile (line 307) | parseSkillFile(filePath: string, level: SkillLevel): Promise { method updateWatchersFromCache (line 642) | private updateWatchersFromCache(): void { method scheduleRefresh (line 690) | private scheduleRefresh(): void { method ensureUserSkillsDir (line 701) | private async ensureUserSkillsDir(): Promise { FILE: packages/core/src/skills/types.ts type SkillLevel (line 14) | type SkillLevel = 'project' | 'user' | 'extension' | 'bundled'; type SkillConfig (line 21) | interface SkillConfig { type SkillRuntimeConfig (line 59) | type SkillRuntimeConfig = SkillConfig; type SkillValidationResult (line 64) | interface SkillValidationResult { type ListSkillsOptions (line 78) | interface ListSkillsOptions { class SkillError (line 89) | class SkillError extends Error { method constructor (line 90) | constructor( type SkillErrorCode (line 111) | type SkillErrorCode = FILE: packages/core/src/subagents/builtin-agents.ts class BuiltinAgentRegistry (line 14) | class BuiltinAgentRegistry { method getBuiltinAgents (line 109) | static getBuiltinAgents(): SubagentConfig[] { method getBuiltinAgent (line 123) | static getBuiltinAgent(name: string): SubagentConfig | null { method isBuiltinAgent (line 145) | static isBuiltinAgent(name: string): boolean { method getBuiltinAgentNames (line 156) | static getBuiltinAgentNames(): string[] { FILE: packages/core/src/subagents/subagent-manager.ts constant QWEN_CONFIG_DIR (line 44) | const QWEN_CONFIG_DIR = '.qwen'; constant AGENT_CONFIG_DIR (line 45) | const AGENT_CONFIG_DIR = 'agents'; class SubagentManager (line 51) | class SubagentManager { method constructor (line 56) | constructor(private readonly config: Config) { method addChangeListener (line 60) | addChangeListener(listener: () => void): () => void { method notifyChangeListeners (line 67) | private notifyChangeListeners(): void { method createSubagent (line 84) | async createSubagent( method loadSubagent (line 154) | async loadSubagent( method updateSubagent (line 219) | async updateSubagent( method deleteSubagent (line 289) | async deleteSubagent( method listSubagents (line 351) | async listSubagents( method loadSessionSubagents (line 460) | loadSessionSubagents(subagents: SubagentConfig[]): void { method refreshCache (line 481) | async refreshCache(): Promise { method findSubagentByName (line 501) | async findSubagentByName( method parseSubagentFile (line 520) | async parseSubagentFile( method parseSubagentContent (line 546) | parseSubagentContent( method serializeSubagent (line 560) | serializeSubagent(config: SubagentConfig): string { method createAgentHeadless (line 602) | async createAgentHeadless( method convertToRuntimeConfig (line 642) | convertToRuntimeConfig(config: SubagentConfig): SubagentRuntimeConfig { method transformToToolNames (line 684) | private transformToToolNames(tools: string[]): string[] { method mergeConfigurations (line 736) | mergeConfigurations( method getSubagentPath (line 760) | getSubagentPath(name: string, level: SubagentLevel): string { method listSubagentsAtLevel (line 788) | private async listSubagentsAtLevel( method findSubagentByNameAtLevel (line 847) | private async findSubagentByNameAtLevel( method isNameAvailable (line 870) | async isNameAvailable(name: string, level?: SubagentLevel): 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/index.ts type TelemetryTarget (line 7) | enum TelemetryTarget { constant DEFAULT_TELEMETRY_TARGET (line 13) | const DEFAULT_TELEMETRY_TARGET = TelemetryTarget.LOCAL; constant DEFAULT_OTLP_ENDPOINT (line 14) | const DEFAULT_OTLP_ENDPOINT = 'http://localhost:4317'; FILE: packages/core/src/telemetry/loggers.ts function getCommonAttributes (line 111) | function getCommonAttributes(config: Config): LogAttributes { function logStartSession (line 117) | function logStartSession( function logUserPrompt (line 156) | function logUserPrompt(config: Config, event: UserPromptEvent): void { function logUserRetry (line 184) | function logUserRetry(config: Config, event: UserRetryEvent): void { function logToolCall (line 203) | function logToolCall(config: Config, event: ToolCallEvent): void { function logToolOutputTruncated (line 242) | function logToolOutputTruncated( function logFileOperation (line 264) | function logFileOperation( function logApiRequest (line 308) | function logApiRequest(config: Config, event: ApiRequestEvent): void { function logFlashFallback (line 327) | function logFlashFallback( function logRipgrepFallback (line 349) | function logRipgrepFallback( function logApiError (line 371) | function logApiError(config: Config, event: ApiErrorEvent): void { function logApiCancel (line 412) | function logApiCancel(config: Config, event: ApiCancelEvent): void { function logApiResponse (line 438) | function logApiResponse(config: Config, event: ApiResponseEvent): void { function logLoopDetected (line 495) | function logLoopDetected( function logLoopDetectionDisabled (line 515) | function logLoopDetectionDisabled( function logNextSpeakerCheck (line 522) | function logNextSpeakerCheck( function logSlashCommand (line 543) | function logSlashCommand( function logIdeConnection (line 564) | function logIdeConnection( function logConversationFinishedEvent (line 585) | function logConversationFinishedEvent( function logChatCompression (line 606) | function logChatCompression( function logKittySequenceOverflow (line 631) | function logKittySequenceOverflow( function logMalformedJsonResponse (line 649) | function logMalformedJsonResponse( function logInvalidChunk (line 670) | function logInvalidChunk( function logContentRetry (line 696) | function logContentRetry( function logContentRetryFailure (line 718) | function logContentRetryFailure( function logSubagentExecution (line 740) | function logSubagentExecution( function logModelSlashCommand (line 768) | function logModelSlashCommand( function logExtensionInstallEvent (line 790) | function logExtensionInstallEvent( function logExtensionUninstall (line 816) | function logExtensionUninstall( function logExtensionUpdateEvent (line 838) | async function logExtensionUpdateEvent( function logExtensionEnable (line 864) | function logExtensionEnable( function logExtensionDisable (line 886) | function logExtensionDisable( function logAuth (line 908) | function logAuth(config: Config, event: AuthEvent): void { function logSkillLaunch (line 934) | function logSkillLaunch(config: Config, event: SkillLaunchEvent): void { function logUserFeedback (line 952) | function logUserFeedback( function logArenaSessionStarted (line 981) | function logArenaSessionStarted( function logArenaAgentCompleted (line 1005) | function logArenaAgentCompleted( function logArenaSessionEnded (line 1035) | function logArenaSessionEnded( FILE: packages/core/src/telemetry/metrics.test.ts function originalOtelMockFactory (line 50) | function originalOtelMockFactory() { FILE: packages/core/src/telemetry/metrics.ts constant TOOL_CALL_COUNT (line 13) | const TOOL_CALL_COUNT = `${SERVICE_NAME}.tool.call.count`; constant TOOL_CALL_LATENCY (line 14) | const TOOL_CALL_LATENCY = `${SERVICE_NAME}.tool.call.latency`; constant API_REQUEST_COUNT (line 15) | const API_REQUEST_COUNT = `${SERVICE_NAME}.api.request.count`; constant API_REQUEST_LATENCY (line 16) | const API_REQUEST_LATENCY = `${SERVICE_NAME}.api.request.latency`; constant TOKEN_USAGE (line 17) | const TOKEN_USAGE = `${SERVICE_NAME}.token.usage`; constant SESSION_COUNT (line 18) | const SESSION_COUNT = `${SERVICE_NAME}.session.count`; constant FILE_OPERATION_COUNT (line 19) | const FILE_OPERATION_COUNT = `${SERVICE_NAME}.file.operation.count`; constant INVALID_CHUNK_COUNT (line 20) | const INVALID_CHUNK_COUNT = `${SERVICE_NAME}.chat.invalid_chunk.count`; constant CONTENT_RETRY_COUNT (line 21) | const CONTENT_RETRY_COUNT = `${SERVICE_NAME}.chat.content_retry.count`; constant CONTENT_RETRY_FAILURE_COUNT (line 22) | const CONTENT_RETRY_FAILURE_COUNT = `${SERVICE_NAME}.chat.content_retry_... constant MODEL_SLASH_COMMAND_CALL_COUNT (line 23) | const MODEL_SLASH_COMMAND_CALL_COUNT = `${SERVICE_NAME}.slash_command.mo... constant SUBAGENT_EXECUTION_COUNT (line 24) | const SUBAGENT_EXECUTION_COUNT = `${SERVICE_NAME}.subagent.execution.cou... constant ARENA_SESSION_COUNT (line 27) | const ARENA_SESSION_COUNT = `${SERVICE_NAME}.arena.session.count`; constant ARENA_SESSION_DURATION (line 28) | const ARENA_SESSION_DURATION = `${SERVICE_NAME}.arena.session.duration`; constant ARENA_AGENT_COUNT (line 29) | const ARENA_AGENT_COUNT = `${SERVICE_NAME}.arena.agent.count`; constant ARENA_AGENT_DURATION (line 30) | const ARENA_AGENT_DURATION = `${SERVICE_NAME}.arena.agent.duration`; constant ARENA_AGENT_TOKENS (line 31) | const ARENA_AGENT_TOKENS = `${SERVICE_NAME}.arena.agent.tokens`; constant ARENA_RESULT_SELECTED (line 32) | const ARENA_RESULT_SELECTED = `${SERVICE_NAME}.arena.result.selected`; constant STARTUP_TIME (line 35) | const STARTUP_TIME = `${SERVICE_NAME}.startup.duration`; constant MEMORY_USAGE (line 36) | const MEMORY_USAGE = `${SERVICE_NAME}.memory.usage`; constant CPU_USAGE (line 37) | const CPU_USAGE = `${SERVICE_NAME}.cpu.usage`; constant TOOL_QUEUE_DEPTH (line 38) | const TOOL_QUEUE_DEPTH = `${SERVICE_NAME}.tool.queue.depth`; constant TOOL_EXECUTION_BREAKDOWN (line 39) | const TOOL_EXECUTION_BREAKDOWN = `${SERVICE_NAME}.tool.execution.breakdo... constant TOKEN_EFFICIENCY (line 40) | const TOKEN_EFFICIENCY = `${SERVICE_NAME}.token.efficiency`; constant API_REQUEST_BREAKDOWN (line 41) | const API_REQUEST_BREAKDOWN = `${SERVICE_NAME}.api.request.breakdown`; constant PERFORMANCE_SCORE (line 42) | const PERFORMANCE_SCORE = `${SERVICE_NAME}.performance.score`; constant REGRESSION_DETECTION (line 43) | const REGRESSION_DETECTION = `${SERVICE_NAME}.performance.regression`; constant REGRESSION_PERCENTAGE_CHANGE (line 44) | const REGRESSION_PERCENTAGE_CHANGE = `${SERVICE_NAME}.performance.regres... constant BASELINE_COMPARISON (line 45) | const BASELINE_COMPARISON = `${SERVICE_NAME}.performance.baseline.compar... constant COUNTER_DEFINITIONS (line 53) | const COUNTER_DEFINITIONS = { constant HISTOGRAM_DEFINITIONS (line 139) | const HISTOGRAM_DEFINITIONS = { constant PERFORMANCE_COUNTER_DEFINITIONS (line 160) | const PERFORMANCE_COUNTER_DEFINITIONS = { constant PERFORMANCE_HISTOGRAM_DEFINITIONS (line 174) | const PERFORMANCE_HISTOGRAM_DEFINITIONS = { type AllMetricDefs (line 282) | type AllMetricDefs = typeof COUNTER_DEFINITIONS & type MetricDefinitions (line 287) | type MetricDefinitions = { type FileOperation (line 293) | enum FileOperation { type PerformanceMetricType (line 299) | enum PerformanceMetricType { type MemoryMetricType (line 308) | enum MemoryMetricType { type ToolExecutionPhase (line 315) | enum ToolExecutionPhase { type ApiRequestPhase (line 322) | enum ApiRequestPhase { function getMeter (line 367) | function getMeter(): Meter | undefined { function initializeMetrics (line 374) | function initializeMetrics(config: Config): void { function recordChatCompressionMetrics (line 438) | function recordChatCompressionMetrics( function recordToolCallMetrics (line 449) | function recordToolCallMetrics( function recordTokenUsageMetrics (line 468) | function recordTokenUsageMetrics( function recordApiResponseMetrics (line 480) | function recordApiResponseMetrics( function recordApiErrorMetrics (line 503) | function recordApiErrorMetrics( function recordFileOperationMetric (line 527) | function recordFileOperationMetric( function recordInvalidChunk (line 543) | function recordInvalidChunk(config: Config): void { function recordContentRetry (line 551) | function recordContentRetry(config: Config): void { function recordContentRetryFailure (line 559) | function recordContentRetryFailure(config: Config): void { function recordModelSlashCommand (line 567) | function recordModelSlashCommand( function initializePerformanceMonitoring (line 580) | function initializePerformanceMonitoring(config: Config): void { function recordStartupPerformance (line 604) | function recordStartupPerformance( function recordMemoryUsage (line 620) | function recordMemoryUsage( function recordCpuUsage (line 635) | function recordCpuUsage( function recordToolQueueDepth (line 650) | function recordToolQueueDepth(config: Config, queueDepth: number): void { function recordToolExecutionBreakdown (line 660) | function recordToolExecutionBreakdown( function recordTokenEfficiency (line 676) | function recordTokenEfficiency( function recordApiRequestBreakdown (line 691) | function recordApiRequestBreakdown( function recordPerformanceScore (line 706) | function recordPerformanceScore( function recordPerformanceRegression (line 721) | function recordPerformanceRegression( function recordBaselineComparison (line 746) | function recordBaselineComparison( function isPerformanceMonitoringActive (line 770) | function isPerformanceMonitoringActive(): boolean { function recordSubagentExecutionMetrics (line 777) | function recordSubagentExecutionMetrics( function recordArenaSessionStartedMetrics (line 800) | function recordArenaSessionStartedMetrics(config: Config): void { function recordArenaAgentCompletedMetrics (line 808) | function recordArenaAgentCompletedMetrics( function recordArenaSessionEndedMetrics (line 848) | function recordArenaSessionEndedMetrics( FILE: packages/core/src/telemetry/qwen-logger/event-types.ts type RumApp (line 2) | interface RumApp { type RumUser (line 10) | interface RumUser { type RumSession (line 14) | interface RumSession { type RumView (line 18) | interface RumView { type RumOS (line 23) | interface RumOS { type RumDevice (line 30) | interface RumDevice { type RumEvent (line 38) | interface RumEvent { type RumViewEvent (line 48) | interface RumViewEvent extends RumEvent { type RumActionEvent (line 53) | interface RumActionEvent extends RumEvent { type RumExceptionEvent (line 59) | interface RumExceptionEvent extends RumEvent { type RumResourceEvent (line 72) | interface RumResourceEvent extends RumEvent { type RumPayload (line 92) | interface RumPayload { FILE: packages/core/src/telemetry/qwen-logger/qwen-logger.ts constant USAGE_STATS_HOSTNAME (line 73) | const USAGE_STATS_HOSTNAME = 'gb4w8c3ygj-default-sea.rum.aliyuncs.com'; constant USAGE_STATS_PATH (line 74) | const USAGE_STATS_PATH = '/'; constant RUN_APP_ID (line 76) | const RUN_APP_ID = 'gb4w8c3ygj@851d5d500f08f92'; constant FLUSH_INTERVAL_MS (line 81) | const FLUSH_INTERVAL_MS = 1000 * 60; constant ERROR_LOG_INTERVAL_MS (line 86) | const ERROR_LOG_INTERVAL_MS = 5 * 60 * 1000; constant MAX_EVENTS (line 93) | const MAX_EVENTS = 1000; constant MAX_RETRY_EVENTS (line 98) | const MAX_RETRY_EVENTS = 100; type LogResponse (line 100) | interface LogResponse { class QwenLogger (line 106) | class QwenLogger { method constructor (line 149) | private constructor(config: Config) { method generateUserId (line 160) | private generateUserId(): string { method getInstance (line 166) | static getInstance(config?: Config): QwenLogger | undefined { method enqueueLogEvent (line 176) | enqueueLogEvent(event: RumEvent): void { method createRumEvent (line 197) | createRumEvent( method createViewEvent (line 212) | createViewEvent( method createActionEvent (line 220) | createActionEvent( method createResourceEvent (line 228) | createResourceEvent( method createExceptionEvent (line 236) | createExceptionEvent( method getOsMetadata (line 244) | private getOsMetadata(): RumOS { method createRumPayload (line 251) | async createRumPayload(): Promise { method flushIfNeeded (line 293) | flushIfNeeded(): void { method readSourceInfo (line 301) | readSourceInfo(): string { method flushToRum (line 322) | async flushToRum(): Promise { method logStartSessionEvent (line 406) | async logStartSessionEvent(event: StartSessionEvent): Promise { method logEndSessionEvent (line 444) | logEndSessionEvent(_event: EndSessionEvent): void { method logConversationFinishedEvent (line 452) | logConversationFinishedEvent(event: ConversationFinishedEvent): void { method logNewPromptEvent (line 469) | logNewPromptEvent(event: UserPromptEvent): void { method logRetryEvent (line 481) | logRetryEvent(event: UserRetryEvent): void { method logSlashCommandEvent (line 492) | logSlashCommandEvent(event: SlashCommandEvent): void { method logModelSlashCommandEvent (line 504) | logModelSlashCommandEvent(event: ModelSlashCommandEvent): void { method logToolCallEvent (line 516) | logToolCallEvent(event: ToolCallEvent): void { method logFileOperationEvent (line 538) | logFileOperationEvent(event: FileOperationEvent): void { method logSubagentExecutionEvent (line 558) | logSubagentExecutionEvent(event: SubagentExecutionEvent): void { method logToolOutputTruncatedEvent (line 576) | logToolOutputTruncatedEvent(event: ToolOutputTruncatedEvent): void { method logApiRequestEvent (line 594) | logApiRequestEvent(event: ApiRequestEvent): void { method logApiResponseEvent (line 606) | logApiResponseEvent(event: ApiResponseEvent): void { method logApiCancelEvent (line 630) | logApiCancelEvent(event: ApiCancelEvent): void { method logApiErrorEvent (line 643) | logApiErrorEvent(event: ApiErrorEvent): void { method logInvalidChunkEvent (line 664) | logInvalidChunkEvent(event: InvalidChunkEvent): void { method logContentRetryFailureEvent (line 674) | logContentRetryFailureEvent(event: ContentRetryFailureEvent): void { method logMalformedJsonResponseEvent (line 693) | logMalformedJsonResponseEvent(event: MalformedJsonResponseEvent): void { method logLoopDetectedEvent (line 709) | logLoopDetectedEvent(event: LoopDetectedEvent): void { method logKittySequenceOverflowEvent (line 722) | logKittySequenceOverflowEvent(event: KittySequenceOverflowEvent): void { method logIdeConnectionEvent (line 742) | logIdeConnectionEvent(event: IdeConnectionEvent): void { method logExtensionInstallEvent (line 754) | logExtensionInstallEvent(event: ExtensionInstallEvent): void { method logExtensionUninstallEvent (line 768) | logExtensionUninstallEvent(event: ExtensionUninstallEvent): void { method logExtensionUpdateEvent (line 784) | logExtensionUpdateEvent(event: ExtensionUpdateEvent): void { method logExtensionEnableEvent (line 800) | logExtensionEnableEvent(event: ExtensionEnableEvent): void { method logExtensionDisableEvent (line 812) | logExtensionDisableEvent(event: ExtensionDisableEvent): void { method logAuthEvent (line 824) | logAuthEvent(event: AuthEvent): void { method logFlashFallbackEvent (line 841) | logFlashFallbackEvent(event: FlashFallbackEvent): void { method logRipgrepFallbackEvent (line 852) | logRipgrepFallbackEvent(event: RipgrepFallbackEvent): void { method logLoopDetectionDisabledEvent (line 867) | logLoopDetectionDisabledEvent(): void { method logNextSpeakerCheck (line 878) | logNextSpeakerCheck(event: NextSpeakerCheckEvent): void { method logSkillLaunchEvent (line 891) | logSkillLaunchEvent(event: SkillLaunchEvent): void { method logUserFeedbackEvent (line 903) | logUserFeedbackEvent(event: UserFeedbackEvent): void { method logChatCompressionEvent (line 918) | logChatCompressionEvent(event: ChatCompressionEvent): void { method logContentRetryEvent (line 930) | logContentRetryEvent(event: ContentRetryEvent): void { method logArenaSessionStartedEvent (line 944) | logArenaSessionStartedEvent(event: ArenaSessionStartedEvent): void { method logArenaAgentCompletedEvent (line 957) | logArenaAgentCompletedEvent(event: ArenaAgentCompletedEvent): void { method logArenaSessionEndedEvent (line 979) | logArenaSessionEndedEvent(event: ArenaSessionEndedEvent): void { method getProxyAgent (line 998) | getProxyAgent() { method requeueFailedEvents (line 1010) | private requeueFailedEvents(eventsToSend: RumEvent[]): void { constant TEST_ONLY (line 1054) | const TEST_ONLY = { FILE: packages/core/src/telemetry/sdk.ts function isTelemetrySdkInitialized (line 47) | function isTelemetrySdkInitialized(): boolean { function parseOtlpEndpoint (line 51) | function parseOtlpEndpoint( function initializeTelemetry (line 76) | function initializeTelemetry(config: Config): void { function shutdownTelemetry (line 182) | async function shutdownTelemetry(): Promise { FILE: packages/core/src/telemetry/telemetry-utils.ts function getProgrammingLanguage (line 9) | function getProgrammingLanguage( FILE: packages/core/src/telemetry/tool-call-decision.ts type ToolCallDecision (line 9) | enum ToolCallDecision { function getDecisionFromOutcome (line 16) | function getDecisionFromOutcome( FILE: packages/core/src/telemetry/types.ts type BaseTelemetryEvent (line 25) | interface BaseTelemetryEvent { type CommonFields (line 31) | type CommonFields = keyof BaseTelemetryEvent; class StartSessionEvent (line 33) | class StartSessionEvent implements BaseTelemetryEvent { method constructor (line 57) | constructor(config: Config) { class EndSessionEvent (line 122) | class EndSessionEvent implements BaseTelemetryEvent { method constructor (line 127) | constructor(config?: Config) { class UserPromptEvent (line 134) | class UserPromptEvent implements BaseTelemetryEvent { method constructor (line 142) | constructor( class UserRetryEvent (line 157) | class UserRetryEvent implements BaseTelemetryEvent { method constructor (line 162) | constructor(prompt_id: string) { class ToolCallEvent (line 169) | class ToolCallEvent implements BaseTelemetryEvent { method constructor (line 188) | constructor(call: CompletedToolCall) { class ApiRequestEvent (line 237) | class ApiRequestEvent implements BaseTelemetryEvent { method constructor (line 244) | constructor(model: string, prompt_id: string, request_text?: string) { class ApiErrorEvent (line 253) | class ApiErrorEvent implements BaseTelemetryEvent { method constructor (line 268) | constructor(opts: { class ApiCancelEvent (line 291) | class ApiCancelEvent implements BaseTelemetryEvent { method constructor (line 298) | constructor(model: string, prompt_id: string, auth_type?: string) { class ApiResponseEvent (line 307) | class ApiResponseEvent implements BaseTelemetryEvent { method constructor (line 324) | constructor( class FlashFallbackEvent (line 351) | class FlashFallbackEvent implements BaseTelemetryEvent { method constructor (line 356) | constructor(auth_type: string) { class RipgrepFallbackEvent (line 363) | class RipgrepFallbackEvent implements BaseTelemetryEvent { method constructor (line 370) | constructor( type LoopType (line 383) | enum LoopType { class LoopDetectedEvent (line 388) | class LoopDetectedEvent implements BaseTelemetryEvent { method constructor (line 394) | constructor(loop_type: LoopType, prompt_id: string) { class LoopDetectionDisabledEvent (line 402) | class LoopDetectionDisabledEvent implements BaseTelemetryEvent { method constructor (line 407) | constructor(prompt_id: string) { class NextSpeakerCheckEvent (line 414) | class NextSpeakerCheckEvent implements BaseTelemetryEvent { method constructor (line 421) | constructor(prompt_id: string, finish_reason: string, result: string) { type SlashCommandEvent (line 430) | interface SlashCommandEvent extends BaseTelemetryEvent { function makeSlashCommandEvent (line 438) | function makeSlashCommandEvent({ type SlashCommandStatus (line 452) | enum SlashCommandStatus { type ChatCompressionEvent (line 457) | interface ChatCompressionEvent extends BaseTelemetryEvent { function makeChatCompressionEvent (line 466) | function makeChatCompressionEvent({ class MalformedJsonResponseEvent (line 486) | class MalformedJsonResponseEvent implements BaseTelemetryEvent { method constructor (line 491) | constructor(model: string) { type IdeConnectionType (line 498) | enum IdeConnectionType { class IdeConnectionEvent (line 503) | class IdeConnectionEvent { method constructor (line 508) | constructor(connection_type: IdeConnectionType) { class ConversationFinishedEvent (line 515) | class ConversationFinishedEvent { method constructor (line 521) | constructor(approvalMode: ApprovalMode, turnCount: number) { class KittySequenceOverflowEvent (line 529) | class KittySequenceOverflowEvent { method constructor (line 534) | constructor(sequence_length: number, truncated_sequence: string) { class FileOperationEvent (line 543) | class FileOperationEvent implements BaseTelemetryEvent { method constructor (line 553) | constructor( class InvalidChunkEvent (line 573) | class InvalidChunkEvent implements BaseTelemetryEvent { method constructor (line 578) | constructor(error_message?: string) { class ContentRetryEvent (line 585) | class ContentRetryEvent implements BaseTelemetryEvent { method constructor (line 593) | constructor( class ContentRetryFailureEvent (line 608) | class ContentRetryFailureEvent implements BaseTelemetryEvent { method constructor (line 616) | constructor( class ExtensionInstallEvent (line 631) | class ExtensionInstallEvent implements BaseTelemetryEvent { method constructor (line 639) | constructor( class ToolOutputTruncatedEvent (line 654) | class ToolOutputTruncatedEvent implements BaseTelemetryEvent { method constructor (line 665) | constructor( class ExtensionUninstallEvent (line 685) | class ExtensionUninstallEvent implements BaseTelemetryEvent { method constructor (line 691) | constructor(extension_name: string, status: 'success' | 'error') { class ExtensionUpdateEvent (line 699) | class ExtensionUpdateEvent implements BaseTelemetryEvent { method constructor (line 709) | constructor( class ExtensionEnableEvent (line 728) | class ExtensionEnableEvent implements BaseTelemetryEvent { method constructor (line 734) | constructor(extension_name: string, settingScope: string) { class ModelSlashCommandEvent (line 742) | class ModelSlashCommandEvent implements BaseTelemetryEvent { method constructor (line 747) | constructor(model_name: string) { class SubagentExecutionEvent (line 754) | class SubagentExecutionEvent implements BaseTelemetryEvent { method constructor (line 763) | constructor( class AuthEvent (line 782) | class AuthEvent implements BaseTelemetryEvent { method constructor (line 790) | constructor( class SkillLaunchEvent (line 805) | class SkillLaunchEvent implements BaseTelemetryEvent { method constructor (line 811) | constructor(skill_name: string, success: boolean) { type UserFeedbackRating (line 819) | enum UserFeedbackRating { class UserFeedbackEvent (line 825) | class UserFeedbackEvent implements BaseTelemetryEvent { method constructor (line 834) | constructor( type TelemetryEvent (line 851) | type TelemetryEvent = type ArenaSessionStartedEvent (line 888) | interface ArenaSessionStartedEvent extends BaseTelemetryEvent { function makeArenaSessionStartedEvent (line 895) | function makeArenaSessionStartedEvent({ type ArenaAgentCompletedStatus (line 909) | type ArenaAgentCompletedStatus = 'completed' | 'failed' | 'cancelled'; type ArenaAgentCompletedEvent (line 911) | interface ArenaAgentCompletedEvent extends BaseTelemetryEvent { function makeArenaAgentCompletedEvent (line 927) | function makeArenaAgentCompletedEvent({ type ArenaSessionEndedStatus (line 959) | type ArenaSessionEndedStatus = type ArenaSessionEndedEvent (line 965) | interface ArenaSessionEndedEvent extends BaseTelemetryEvent { function makeArenaSessionEndedEvent (line 978) | function makeArenaSessionEndedEvent({ class ExtensionDisableEvent (line 1004) | class ExtensionDisableEvent implements BaseTelemetryEvent { method constructor (line 1010) | constructor(extension_name: string, settingScope: string) { FILE: packages/core/src/telemetry/uiTelemetry.ts type UiEvent (line 21) | type UiEvent = type ToolCallStats (line 32) | interface ToolCallStats { type ModelMetrics (line 45) | interface ModelMetrics { type SessionMetrics (line 61) | interface SessionMetrics { class UiTelemetryService (line 119) | class UiTelemetryService extends EventEmitter { method addEvent (line 124) | addEvent(event: UiEvent) { method getMetrics (line 146) | getMetrics(): SessionMetrics { method getLastPromptTokenCount (line 150) | getLastPromptTokenCount(): number { method setLastPromptTokenCount (line 154) | setLastPromptTokenCount(lastPromptTokenCount: number): void { method getLastCachedContentTokenCount (line 162) | getLastCachedContentTokenCount(): number { method setLastCachedContentTokenCount (line 166) | setLastCachedContentTokenCount(count: number): void { method reset (line 173) | reset(): void { method getOrCreateModelMetrics (line 183) | private getOrCreateModelMetrics(modelName: string): ModelMetrics { method processApiResponse (line 190) | private processApiResponse(event: ApiResponseEvent) { method processApiError (line 204) | private processApiError(event: ApiErrorEvent) { method processToolCall (line 211) | private processToolCall(event: ToolCallEvent) { FILE: packages/core/src/test-utils/config.ts constant DEFAULT_CONFIG_PARAMETERS (line 13) | const DEFAULT_CONFIG_PARAMETERS: ConfigParameters = { function makeFakeConfig (line 27) | function makeFakeConfig( FILE: packages/core/src/test-utils/mock-tool.ts type MockToolOptions (line 23) | interface MockToolOptions { class MockToolInvocation (line 41) | class MockToolInvocation extends BaseToolInvocation< method constructor (line 45) | constructor( method execute (line 52) | execute( method getDefaultPermission (line 63) | override getDefaultPermission(): Promise { method getConfirmationDetails (line 67) | override getConfirmationDetails( method getDescription (line 73) | getDescription(): string { class MockTool (line 81) | class MockTool extends BaseDeclarativeTool< method constructor (line 95) | constructor(options: MockToolOptions) { method createInvocation (line 135) | protected createInvocation(params: { class MockModifiableToolInvocation (line 154) | class MockModifiableToolInvocation extends BaseToolInvocation< method constructor (line 158) | constructor( method execute (line 165) | async execute(_abortSignal: AbortSignal): Promise { method getDefaultPermission (line 175) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 179) | override async getConfirmationDetails( method getDescription (line 194) | getDescription(): string { class MockModifiableTool (line 202) | class MockModifiableTool method constructor (line 212) | constructor(name = 'mockModifiableTool') { method getModifyContext (line 219) | getModifyContext( method createInvocation (line 234) | protected createInvocation( FILE: packages/core/src/test-utils/mockWorkspaceContext.ts function createMockWorkspaceContext (line 16) | function createMockWorkspaceContext( FILE: packages/core/src/tools/agent.test.ts type AgentToolWithProtectedMethods (line 24) | type AgentToolWithProtectedMethods = AgentTool & { FILE: packages/core/src/tools/agent.ts type AgentParams (line 40) | interface AgentParams { class AgentTool (line 53) | class AgentTool extends BaseDeclarativeTool { method constructor (line 61) | constructor(private readonly config: Config) { method dispose (line 103) | dispose(): void { method refreshSubagents (line 111) | async refreshSubagents(): Promise { method updateDescriptionAndSchema (line 131) | private updateDescriptionAndSchema(): void { method validateToolParams (line 224) | override validateToolParams(params: AgentParams): string | null { method createInvocation (line 264) | protected createInvocation(params: AgentParams) { method getAvailableSubagentNames (line 268) | getAvailableSubagentNames(): string[] { class AgentToolInvocation (line 273) | class AgentToolInvocation extends BaseToolInvocation { method getConfirmationDetails (line 175) | override async getConfirmationDetails( method execute (line 207) | async execute(_signal: AbortSignal): Promise { class AskUserQuestionTool (line 266) | class AskUserQuestionTool extends BaseDeclarativeTool< method constructor (line 272) | constructor(private readonly config: Config) { method validateToolParams (line 285) | override validateToolParams(params: AskUserQuestionParams): string | n... method createInvocation (line 356) | protected createInvocation(params: AskUserQuestionParams) { FILE: packages/core/src/tools/diffOptions.ts constant DEFAULT_DIFF_OPTIONS (line 10) | const DEFAULT_DIFF_OPTIONS: Diff.PatchOptions = { function getDiffStat (line 15) | function getDiffStat( FILE: packages/core/src/tools/edit.ts function applyReplacement (line 49) | function applyReplacement( type EditToolParams (line 74) | interface EditToolParams { type CalculatedEdit (line 106) | interface CalculatedEdit { class EditToolInvocation (line 118) | class EditToolInvocation implements ToolInvocation { method getConfirmationDetails (line 273) | async getConfirmationDetails( method getDescription (line 332) | getDescription(): string { method execute (line 359) | async execute(signal: AbortSignal): Promise { method ensureParentDirectoriesExist (line 504) | private ensureParentDirectoriesExist(filePath: string): void { class EditTool (line 515) | class EditTool method constructor (line 520) | constructor(private readonly config: Config) { method validateToolParamValues (line 570) | protected override validateToolParamValues( method createInvocation (line 584) | protected createInvocation( method getModifyContext (line 590) | getModifyContext(_: AbortSignal): ModifyContext { FILE: packages/core/src/tools/exitPlanMode.ts type ExitPlanModeParams (line 23) | interface ExitPlanModeParams { class ExitPlanModeToolInvocation (line 63) | class ExitPlanModeToolInvocation extends BaseToolInvocation< method constructor (line 69) | constructor( method getDescription (line 76) | getDescription(): string { method getDefaultPermission (line 83) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 87) | override async getConfirmationDetails( method setApprovalModeSafely (line 120) | private setApprovalModeSafely(mode: ApprovalMode): void { method execute (line 132) | async execute(_signal: AbortSignal): Promise { class ExitPlanModeTool (line 173) | class ExitPlanModeTool extends BaseDeclarativeTool< method constructor (line 179) | constructor(private readonly config: Config) { method validateToolParams (line 192) | override validateToolParams(params: ExitPlanModeParams): string | null { method createInvocation (line 205) | protected createInvocation(params: ExitPlanModeParams) { FILE: packages/core/src/tools/glob.ts constant MAX_FILE_COUNT (line 27) | const MAX_FILE_COUNT = 100; type GlobPath (line 30) | interface GlobPath { function sortFileEntries (line 40) | function sortFileEntries( type GlobToolParams (line 68) | interface GlobToolParams { class GlobToolInvocation (line 80) | class GlobToolInvocation extends BaseToolInvocation< method constructor (line 86) | constructor( method getDescription (line 94) | getDescription(): string { method getDefaultPermission (line 107) | override async getDefaultPermission(): Promise { method execute (line 122) | async execute(signal: AbortSignal): Promise { method getFileFilteringOptions (line 243) | private getFileFilteringOptions(): FileFilteringOptions { class GlobTool (line 259) | class GlobTool extends BaseDeclarativeTool { method constructor (line 262) | constructor(private config: Config) { method validateToolParamValues (line 289) | protected override validateToolParamValues( method createInvocation (line 314) | protected createInvocation( FILE: packages/core/src/tools/grep.ts type GrepToolParams (line 32) | interface GrepToolParams { type GrepMatch (line 57) | interface GrepMatch { class GrepToolInvocation (line 63) | class GrepToolInvocation extends BaseToolInvocation< method constructor (line 69) | constructor( method getDefaultPermission (line 81) | override async getDefaultPermission(): Promise { method execute (line 96) | async execute(signal: AbortSignal): Promise { method parseGrepOutput (line 231) | private parseGrepOutput(output: string, basePath: string): GrepMatch[] { method getDescription (line 276) | getDescription(): string { method performGrepSearch (line 290) | private async performGrepSearch(options: { class GrepTool (line 521) | class GrepTool extends BaseDeclarativeTool { method constructor (line 524) | constructor(private readonly config: Config) { method validateToolParamValues (line 564) | protected override validateToolParamValues( method createInvocation (line 588) | protected createInvocation( FILE: packages/core/src/tools/ls.ts constant MAX_ENTRY_COUNT (line 23) | const MAX_ENTRY_COUNT = 100; type LSToolParams (line 28) | interface LSToolParams { type FileEntry (line 51) | interface FileEntry { class LSToolInvocation (line 78) | class LSToolInvocation extends BaseToolInvocation { method errorResult (line 143) | private errorResult( method execute (line 163) | async execute(_signal: AbortSignal): Promise { class LSTool (line 301) | class LSTool extends BaseDeclarativeTool { method constructor (line 304) | constructor(private config: Config) { method validateToolParamValues (line 353) | protected override validateToolParamValues( method createInvocation (line 363) | protected createInvocation( FILE: packages/core/src/tools/lsp.ts type LspOperation (line 33) | type LspOperation = type LspToolParams (line 50) | interface LspToolParams { type ResolvedTarget (line 79) | type ResolvedTarget = constant LOCATION_REQUIRED_OPERATIONS (line 87) | const LOCATION_REQUIRED_OPERATIONS = new Set([ constant FILE_REQUIRED_OPERATIONS (line 96) | const FILE_REQUIRED_OPERATIONS = new Set([ constant QUERY_REQUIRED_OPERATIONS (line 102) | const QUERY_REQUIRED_OPERATIONS = new Set(['workspaceSymbo... constant ITEM_REQUIRED_OPERATIONS (line 105) | const ITEM_REQUIRED_OPERATIONS = new Set([ constant RANGE_REQUIRED_OPERATIONS (line 111) | const RANGE_REQUIRED_OPERATIONS = new Set(['codeActions']); class LspToolInvocation (line 113) | class LspToolInvocation extends BaseToolInvocation { method executeDefinitions (line 185) | private async executeDefinitions(client: LspClient): Promise { method executeHover (line 309) | private async executeHover(client: LspClient): Promise { method executeDocumentSymbols (line 344) | private async executeDocumentSymbols(client: LspClient): Promise { method constructor (line 1017) | constructor(private readonly config: Config) { method validateToolParamValues (line 1153) | protected override validateToolParamValues( method createInvocation (line 1213) | protected createInvocation( FILE: packages/core/src/tools/mcp-client-manager.ts type MCPHealthMonitorConfig (line 27) | interface MCPHealthMonitorConfig { constant DEFAULT_HEALTH_CONFIG (line 38) | const DEFAULT_HEALTH_CONFIG: MCPHealthMonitorConfig = { class McpClientManager (line 50) | class McpClientManager { method constructor (line 62) | constructor( method discoverAllMcpTools (line 82) | async discoverAllMcpTools(cliConfig: Config): Promise { method discoverMcpToolsForServer (line 147) | async discoverMcpToolsForServer( method stop (line 214) | async stop(): Promise { method disconnectServer (line 240) | async disconnectServer(serverName: string): Promise { method getDiscoveryState (line 261) | getDiscoveryState(): MCPDiscoveryState { method getHealthConfig (line 268) | getHealthConfig(): MCPHealthMonitorConfig { method updateHealthConfig (line 275) | updateHealthConfig(config: Partial): void { method startHealthCheck (line 287) | private startHealthCheck(serverName: string): void { method stopHealthCheck (line 305) | private stopHealthCheck(serverName: string): void { method stopAllHealthChecks (line 316) | private stopAllHealthChecks(): void { method startAllHealthChecks (line 326) | private startAllHealthChecks(): void { method performHealthCheck (line 335) | private async performHealthCheck(serverName: string): Promise { method reconnectServer (line 377) | private async reconnectServer(serverName: string): Promise { method discoverAllMcpToolsIncremental (line 409) | async discoverAllMcpToolsIncremental(cliConfig: Config): Promise { method removeServer (line 472) | private async removeServer(serverName: string): Promise { method readResource (line 493) | async readResource( FILE: packages/core/src/tools/mcp-client.ts type SendSdkMcpMessage (line 54) | type SendSdkMcpMessage = ( constant MCP_DEFAULT_TIMEOUT_MSEC (line 59) | const MCP_DEFAULT_TIMEOUT_MSEC = 10 * 60 * 1000; type DiscoveredMCPPrompt (line 63) | type DiscoveredMCPPrompt = Prompt & { type MCPServerStatus (line 71) | enum MCPServerStatus { type MCPDiscoveryState (line 83) | enum MCPDiscoveryState { class McpClient (line 98) | class McpClient { method constructor (line 104) | constructor( method connect (line 122) | async connect(): Promise { method discover (line 167) | async discover(cliConfig: Config): Promise { method disconnect (line 187) | async disconnect(): Promise { method getStatus (line 199) | getStatus(): MCPServerStatus { method readResource (line 203) | async readResource( method updateStatus (line 223) | private updateStatus(status: MCPServerStatus): void { method createTransport (line 228) | private async createTransport(): Promise { method discoverTools (line 237) | private async discoverTools(cliConfig: Config): Promise { type StatusChangeListener (line 269) | type StatusChangeListener = ( function addMCPStatusChangeListener (line 278) | function addMCPStatusChangeListener( function removeMCPStatusChangeListener (line 287) | function removeMCPStatusChangeListener( function updateMCPServerStatus (line 299) | function updateMCPServerStatus( function getMCPServerStatus (line 313) | function getMCPServerStatus(serverName: string): MCPServerStatus { function getAllMCPServerStatuses (line 320) | function getAllMCPServerStatuses(): Map { function getMCPDiscoveryState (line 327) | function getMCPDiscoveryState(): MCPDiscoveryState { function extractWWWAuthenticateHeader (line 338) | function extractWWWAuthenticateHeader(errorString: string): string | null { function handleAutomaticOAuth (line 365) | async function handleAutomaticOAuth( function createTransportWithOAuth (line 434) | async function createTransportWithOAuth( function discoverMcpTools (line 487) | async function discoverMcpTools( function populateMcpServerCommand (line 519) | function populateMcpServerCommand( function connectAndDiscover (line 549) | async function connectAndDiscover( function discoverTools (line 625) | async function discoverTools( function discoverPrompts (line 713) | async function discoverPrompts( function invokeMcpPrompt (line 762) | async function invokeMcpPrompt( function hasNetworkTransport (line 802) | function hasNetworkTransport(config: MCPServerConfig): boolean { function connectToMcpServer (line 817) | async function connectToMcpServer( function createTransport (line 1242) | async function createTransport( function isEnabled (line 1426) | function isEnabled( FILE: packages/core/src/tools/mcp-tool.ts type ToolParams (line 25) | type ToolParams = Record; type McpDirectClient (line 32) | interface McpDirectClient { type McpCallToolResult (line 49) | interface McpCallToolResult { type McpTextBlock (line 62) | type McpTextBlock = { type McpMediaBlock (line 67) | type McpMediaBlock = { type McpResourceBlock (line 73) | type McpResourceBlock = { type McpResourceLinkBlock (line 82) | type McpResourceLinkBlock = { type McpContentBlock (line 89) | type McpContentBlock = type McpToolAnnotations (line 100) | interface McpToolAnnotations { class DiscoveredMCPToolInvocation (line 107) | class DiscoveredMCPToolInvocation extends BaseToolInvocation< method constructor (line 111) | constructor( method getDefaultPermission (line 134) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 145) | override async getConfirmationDetails( method isMCPToolError (line 171) | isMCPToolError(rawResponseParts: Part[]): boolean { method execute (line 190) | async execute( method executeWithDirectClient (line 208) | private async executeWithDirectClient( method executeWithCallableTool (line 273) | private async executeWithCallableTool( method truncateTextParts (line 344) | private async truncateTextParts(parts: Part[]): Promise { method getDescription (line 365) | getDescription(): string { class DiscoveredMCPTool (line 370) | class DiscoveredMCPTool extends BaseDeclarativeTool< method constructor (line 374) | constructor( method asFullyQualifiedTool (line 399) | asFullyQualifiedTool(): DiscoveredMCPTool { method createInvocation (line 415) | protected createInvocation( function wrapMcpCallToolResultAsParts (line 438) | function wrapMcpCallToolResultAsParts( function transformTextBlock (line 458) | function transformTextBlock(block: McpTextBlock): Part { function transformImageAudioBlock (line 462) | function transformImageAudioBlock( function transformResourceBlock (line 481) | function transformResourceBlock( function transformResourceLinkBlock (line 506) | function transformResourceLinkBlock(block: McpResourceLinkBlock): Part { function transformMcpContentToParts (line 518) | function transformMcpContentToParts(sdkResponse: Part[]): Part[] { function getDisplayFromParts (line 552) | function getDisplayFromParts(parts: Part[]): string { function generateValidName (line 570) | function generateValidName(name: string) { FILE: packages/core/src/tools/memoryTool.test.ts constant MEMORY_SECTION_HEADER (line 34) | const MEMORY_SECTION_HEADER = '## Qwen Added Memories'; type FsAdapter (line 37) | interface FsAdapter { FILE: packages/core/src/tools/memoryTool.ts constant QWEN_CONFIG_DIR (line 78) | const QWEN_CONFIG_DIR = '.qwen'; constant DEFAULT_CONTEXT_FILENAME (line 79) | const DEFAULT_CONTEXT_FILENAME = 'QWEN.md'; constant AGENT_CONTEXT_FILENAME (line 80) | const AGENT_CONTEXT_FILENAME = 'AGENTS.md'; constant MEMORY_SECTION_HEADER (line 81) | const MEMORY_SECTION_HEADER = '## Qwen Added Memories'; function setGeminiMdFilename (line 91) | function setGeminiMdFilename(newFilename: string | string[]): void { function getCurrentGeminiMdFilename (line 101) | function getCurrentGeminiMdFilename(): string { function getAllGeminiMdFilenames (line 108) | function getAllGeminiMdFilenames(): string[] { type SaveMemoryParams (line 115) | interface SaveMemoryParams { function getGlobalMemoryFilePath (line 122) | function getGlobalMemoryFilePath(): string { function getProjectMemoryFilePath (line 126) | function getProjectMemoryFilePath(): string { function getMemoryFilePath (line 130) | function getMemoryFilePath(scope: 'global' | 'project' = 'global'): stri... function ensureNewlineSeparation (line 139) | function ensureNewlineSeparation(currentContent: string): string { function readMemoryFileContent (line 151) | async function readMemoryFileContent( function computeNewContent (line 166) | function computeNewContent(currentContent: string, fact: string): string { class MemoryToolInvocation (line 207) | class MemoryToolInvocation extends BaseToolInvocation< method getDescription (line 211) | getDescription(): string { method getDefaultPermission (line 225) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 232) | override async getConfirmationDetails( method execute (line 316) | async execute(_signal: AbortSignal): Promise { class MemoryTool (line 389) | class MemoryTool method constructor (line 394) | constructor() { method validateToolParamValues (line 404) | protected override validateToolParamValues( method createInvocation (line 414) | protected createInvocation(params: SaveMemoryParams) { method performAddMemoryEntry (line 418) | static async performAddMemoryEntry( method getModifyContext (line 457) | getModifyContext(_abortSignal: AbortSignal): ModifyContext type ModifyContext (line 32) | interface ModifyContext { type ModifyResult (line 46) | interface ModifyResult { function isModifiableDeclarativeTool (line 54) | function isModifiableDeclarativeTool( function createTempFilesForModify (line 60) | function createTempFilesForModify( function getUpdatedParams (line 90) | function getUpdatedParams( function deleteTempFiles (line 130) | function deleteTempFiles(oldPath: string, newPath: string): void { function modifyWithEditor (line 148) | async function modifyWithEditor( FILE: packages/core/src/tools/read-file.ts type ReadFileToolParams (line 31) | interface ReadFileToolParams { class ReadFileToolInvocation (line 48) | class ReadFileToolInvocation extends BaseToolInvocation< method constructor (line 52) | constructor( method getDescription (line 59) | getDescription(): string { method toolLocations (line 78) | override toolLocations(): ToolLocation[] { method getDefaultPermission (line 86) | override async getDefaultPermission(): Promise { method execute (line 108) | async execute(): Promise { class ReadFileTool (line 166) | class ReadFileTool extends BaseDeclarativeTool< method constructor (line 172) | constructor(private config: Config) { method validateToolParamValues (line 202) | protected override validateToolParamValues( method createInvocation (line 229) | protected createInvocation( FILE: packages/core/src/tools/ripGrep.ts type RipGrepToolParams (line 26) | interface RipGrepToolParams { class GrepToolInvocation (line 48) | class GrepToolInvocation extends BaseToolInvocation< method constructor (line 52) | constructor( method execute (line 59) | async execute(signal: AbortSignal): Promise { method performRipgrepSearch (line 172) | private async performRipgrepSearch(options: { method getFileFilteringOptions (line 221) | private getFileFilteringOptions(): FileFilteringOptions { method getDescription (line 237) | getDescription(): string { class RipGrepTool (line 253) | class RipGrepTool extends BaseDeclarativeTool< method constructor (line 259) | constructor(private readonly config: Config) { method validateToolParamValues (line 299) | protected override validateToolParamValues( method createInvocation (line 329) | protected createInvocation( FILE: packages/core/src/tools/sdk-control-client-transport.ts type SendMcpMessageCallback (line 29) | type SendMcpMessageCallback = ( type SdkControlClientTransportOptions (line 34) | interface SdkControlClientTransportOptions { class SdkControlClientTransport (line 46) | class SdkControlClientTransport { method constructor (line 56) | constructor(options: SdkControlClientTransportOptions) { method start (line 67) | async start(): Promise { method send (line 82) | async send(message: JSONRPCMessage): Promise { method close (line 119) | async close(): Promise { method isStarted (line 135) | isStarted(): boolean { method getServerName (line 142) | getServerName(): string { FILE: packages/core/src/tools/shell.ts constant OUTPUT_UPDATE_INTERVAL_MS (line 50) | const OUTPUT_UPDATE_INTERVAL_MS = 1000; constant DEFAULT_FOREGROUND_TIMEOUT_MS (line 51) | const DEFAULT_FOREGROUND_TIMEOUT_MS = 120000; type ShellToolParams (line 53) | interface ShellToolParams { class ShellToolInvocation (line 61) | class ShellToolInvocation extends BaseToolInvocation< method constructor (line 65) | constructor( method getDescription (line 72) | getDescription(): string { method getDefaultPermission (line 99) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 126) | override async getConfirmationDetails( method execute (line 188) | async execute( method addCoAuthorToGitCommit (line 479) | private addCoAuthorToGitCommit(command: string): string { function getShellToolDescription (line 529) | function getShellToolDescription(): string { function getCommandDescription (line 585) | function getCommandDescription(): string { class ShellTool (line 601) | class ShellTool extends BaseDeclarativeTool< method constructor (line 607) | constructor(private readonly config: Config) { method validateToolParamValues (line 647) | protected override validateToolParamValues( method createInvocation (line 700) | protected createInvocation( FILE: packages/core/src/tools/skill.test.ts type SkillToolWithProtectedMethods (line 17) | type SkillToolWithProtectedMethods = SkillTool & { method constructor (line 35) | constructor( FILE: packages/core/src/tools/skill.ts type SkillParams (line 19) | interface SkillParams { function buildSkillLlmContent (line 28) | function buildSkillLlmContent(baseDir: string, body: string): string { class SkillTool (line 37) | class SkillTool extends BaseDeclarativeTool { method constructor (line 44) | constructor(private readonly config: Config) { method refreshSkills (line 86) | async refreshSkills(): Promise { method updateDescriptionAndSchema (line 106) | private updateDescriptionAndSchema(): void { method validateToolParams (line 162) | override validateToolParams(params: SkillParams): string | null { method createInvocation (line 188) | protected createInvocation(params: SkillParams) { method getAvailableSkillNames (line 197) | getAvailableSkillNames(): string[] { method getLoadedSkillNames (line 206) | getLoadedSkillNames(): ReadonlySet { method clearLoadedSkills (line 214) | clearLoadedSkills(): void { class SkillToolInvocation (line 219) | class SkillToolInvocation extends BaseToolInvocation { function writeTodosToFile (line 277) | async function writeTodosToFile( class TodoWriteToolInvocation (line 294) | class TodoWriteToolInvocation extends BaseToolInvocation< method constructor (line 300) | constructor( method getDescription (line 309) | getDescription(): string { method execute (line 313) | async execute(_signal: AbortSignal): Promise { function readTodosForSession (line 388) | async function readTodosForSession( function listTodoSessions (line 397) | async function listTodoSessions(): Promise { class TodoWriteTool (line 413) | class TodoWriteTool extends BaseDeclarativeTool< method constructor (line 419) | constructor(private readonly config: Config) { method validateToolParams (line 429) | override validateToolParams(params: TodoWriteParams): string | null { method createInvocation (line 462) | protected createInvocation(params: TodoWriteParams) { FILE: packages/core/src/tools/tool-error.ts type ToolErrorType (line 10) | enum ToolErrorType { FILE: packages/core/src/tools/tool-registry.test.ts method onerror (line 52) | set onerror(handler: any) { FILE: packages/core/src/tools/tool-registry.ts type ToolParams (line 28) | type ToolParams = Record; class DiscoveredToolInvocation (line 32) | class DiscoveredToolInvocation extends BaseToolInvocation< method constructor (line 36) | constructor( method getDescription (line 44) | getDescription(): string { method execute (line 48) | async execute( class DiscoveredTool (line 128) | class DiscoveredTool extends BaseDeclarativeTool< method constructor (line 132) | constructor( method createInvocation (line 167) | protected createInvocation( class ToolRegistry (line 174) | class ToolRegistry { method constructor (line 180) | constructor( method registerTool (line 198) | registerTool(tool: AnyDeclarativeTool): void { method copyDiscoveredToolsFrom (line 217) | copyDiscoveredToolsFrom(source: ToolRegistry): void { method removeDiscoveredTools (line 228) | private removeDiscoveredTools(): void { method removeMcpToolsByServer (line 240) | removeMcpToolsByServer(serverName: string): void { method disconnectServer (line 253) | async disconnectServer(serverName: string): Promise { method disableMcpServer (line 269) | async disableMcpServer(serverName: string): Promise { method discoverAllTools (line 291) | async discoverAllTools(): Promise { method discoverMcpTools (line 308) | async discoverMcpTools(): Promise { method restartMcpServers (line 321) | async restartMcpServers(): Promise { method discoverToolsForServer (line 329) | async discoverToolsForServer(serverName: string): Promise { method discoverAndRegisterToolsFromCommand (line 345) | private async discoverAndRegisterToolsFromCommand(): Promise { method getFunctionDeclarations (line 473) | getFunctionDeclarations(): FunctionDeclaration[] { method getFunctionDeclarationsFiltered (line 486) | getFunctionDeclarationsFiltered(toolNames: string[]): FunctionDeclarat... method getAllToolNames (line 500) | getAllToolNames(): string[] { method getAllTools (line 507) | getAllTools(): AnyDeclarativeTool[] { method getToolsByServer (line 516) | getToolsByServer(serverName: string): AnyDeclarativeTool[] { method getTool (line 529) | getTool(name: string): AnyDeclarativeTool | undefined { method readMcpResource (line 533) | async readMcpResource( method stop (line 549) | async stop(): Promise { FILE: packages/core/src/tools/tools.test.ts class TestToolInvocation (line 13) | class TestToolInvocation implements ToolInvocation { method constructor (line 14) | constructor( method getDescription (line 19) | getDescription(): string { method toolLocations (line 23) | toolLocations() { method getDefaultPermission (line 27) | getDefaultPermission(): Promise { method getConfirmationDetails (line 31) | getConfirmationDetails(): Promise { method execute (line 35) | execute(): Promise { class TestTool (line 40) | class TestTool extends DeclarativeTool { method constructor (line 43) | constructor(buildFn: (params: object) => TestToolInvocation) { method build (line 48) | build(params: object): ToolInvocation { FILE: packages/core/src/tools/tools.ts type ToolInvocation (line 20) | interface ToolInvocation< method constructor (line 88) | constructor(readonly params: TParams) {} method toolLocations (line 92) | toolLocations(): ToolLocation[] { method getDefaultPermission (line 100) | getDefaultPermission(): Promise { method getConfirmationDetails (line 112) | getConfirmationDetails( type AnyToolInvocation (line 139) | type AnyToolInvocation = ToolInvocation; type ToolBuilder (line 144) | interface ToolBuilder< method constructor (line 200) | constructor( method schema (line 210) | get schema(): FunctionDeclaration { method validateToolParams (line 225) | validateToolParams(_params: TParams): string | null { method buildAndExecute (line 247) | async buildAndExecute( method silentBuild (line 262) | private silentBuild( method validateBuildAndExecute (line 282) | async validateBuildAndExecute( method build (line 326) | build(params: TParams): ToolInvocation { method validateToolParams (line 334) | override validateToolParams(params: TParams): string | null { method validateToolParamValues (line 346) | protected validateToolParamValues(_params: TParams): string | null { type AnyDeclarativeTool (line 359) | type AnyDeclarativeTool = DeclarativeTool; function isTool (line 366) | function isTool(obj: unknown): obj is AnyDeclarativeTool { type ToolResult (line 376) | interface ToolResult { function hasCycleInSchema (line 406) | function hasCycleInSchema(schema: object): boolean { type AgentResultDisplay (line 486) | interface AgentResultDisplay { type AnsiOutputDisplay (line 514) | interface AnsiOutputDisplay { type McpToolProgressData (line 522) | interface McpToolProgressData { type ToolResultDisplay (line 532) | type ToolResultDisplay = type FileDiff (line 541) | interface FileDiff { type DiffStat (line 549) | interface DiffStat { type TodoResultDisplay (line 560) | interface TodoResultDisplay { type PlanResultDisplay (line 569) | interface PlanResultDisplay { type ToolEditConfirmationDetails (line 576) | interface ToolEditConfirmationDetails { type ToolConfirmationPayload (line 598) | interface ToolConfirmationPayload { type ToolExecuteConfirmationDetails (line 612) | interface ToolExecuteConfirmationDetails { type ToolMcpConfirmationDetails (line 627) | interface ToolMcpConfirmationDetails { type ToolInfoConfirmationDetails (line 643) | interface ToolInfoConfirmationDetails { type ToolCallConfirmationDetails (line 658) | type ToolCallConfirmationDetails = type ToolPlanConfirmationDetails (line 666) | interface ToolPlanConfirmationDetails { type ToolAskUserQuestionConfirmationDetails (line 678) | interface ToolAskUserQuestionConfirmationDetails { type ToolConfirmationOutcome (line 704) | enum ToolConfirmationOutcome { type Kind (line 719) | enum Kind { constant MUTATOR_KINDS (line 732) | const MUTATOR_KINDS: Kind[] = [ type ToolLocation (line 739) | interface ToolLocation { FILE: packages/core/src/tools/web-fetch.ts constant URL_FETCH_TIMEOUT_MS (line 26) | const URL_FETCH_TIMEOUT_MS = 10000; constant MAX_CONTENT_LENGTH (line 27) | const MAX_CONTENT_LENGTH = 100000; type WebFetchToolParams (line 32) | interface WebFetchToolParams { class WebFetchToolInvocation (line 46) | class WebFetchToolInvocation extends BaseToolInvocation< method constructor (line 52) | constructor( method executeDirectFetch (line 60) | private async executeDirectFetch(signal: AbortSignal): Promise { method getConfirmationDetails (line 162) | override async getConfirmationDetails( method execute (line 190) | async execute(signal: AbortSignal): Promise { class WebFetchTool (line 211) | class WebFetchTool extends BaseDeclarativeTool< method constructor (line 217) | constructor(private readonly config: Config) { method validateToolParamValues (line 244) | protected override validateToolParamValues( method createInvocation (line 262) | protected createInvocation( FILE: packages/core/src/tools/web-search/base-provider.ts method search (line 38) | async search(query: string, signal: AbortSignal): Promise { method getConfirmationDetails (line 69) | override async getConfirmationDetails( method createProvider (line 93) | private createProvider(config: WebSearchProviderConfig): WebSearchProv... method createProviders (line 116) | private createProviders( method selectProvider (line 139) | private selectProvider( method formatSearchResults (line 172) | private formatSearchResults(searchResult: { method execute (line 229) | async execute(signal: AbortSignal): Promise { class WebSearchTool (line 289) | class WebSearchTool extends BaseDeclarativeTool< method constructor (line 295) | constructor(private readonly config: Config) { method validateToolParamValues (line 324) | protected override validateToolParamValues( method createInvocation (line 339) | protected createInvocation( FILE: packages/core/src/tools/web-search/providers/dashscope-provider.ts type DashScopeSearchItem (line 18) | interface DashScopeSearchItem { type DashScopeSearchResponse (line 31) | interface DashScopeSearchResponse { constant QWEN_DIR (line 62) | const QWEN_DIR = '.qwen'; constant QWEN_CREDENTIAL_FILENAME (line 63) | const QWEN_CREDENTIAL_FILENAME = 'oauth_creds.json'; function getQwenCachedCredentialPath (line 68) | function getQwenCachedCredentialPath(): string { function loadQwenCredentials (line 75) | async function loadQwenCredentials(): Promise { class DashScopeProvider (line 88) | class DashScopeProvider extends BaseWebSearchProvider { method constructor (line 91) | constructor(private readonly config: DashScopeProviderConfig) { method isAvailable (line 95) | isAvailable(): boolean { method getAuthConfig (line 106) | private async getAuthConfig(): Promise<{ method performSearch (line 143) | protected async performSearch( FILE: packages/core/src/tools/web-search/providers/google-provider.ts type GoogleSearchItem (line 14) | interface GoogleSearchItem { type GoogleSearchResponse (line 22) | interface GoogleSearchResponse { class GoogleProvider (line 33) | class GoogleProvider extends BaseWebSearchProvider { method constructor (line 36) | constructor(private readonly config: GoogleProviderConfig) { method isAvailable (line 40) | isAvailable(): boolean { method performSearch (line 44) | protected async performSearch( FILE: packages/core/src/tools/web-search/providers/tavily-provider.ts type TavilyResultItem (line 14) | interface TavilyResultItem { type TavilySearchResponse (line 22) | interface TavilySearchResponse { class TavilyProvider (line 31) | class TavilyProvider extends BaseWebSearchProvider { method constructor (line 34) | constructor(private readonly config: TavilyProviderConfig) { method isAvailable (line 38) | isAvailable(): boolean { method performSearch (line 42) | protected async performSearch( FILE: packages/core/src/tools/web-search/types.ts type WebSearchProvider (line 12) | interface WebSearchProvider { type WebSearchResultItem (line 35) | interface WebSearchResultItem { type WebSearchResult (line 46) | interface WebSearchResult { type WebSearchToolResult (line 71) | interface WebSearchToolResult extends ToolResult { type WebSearchToolParams (line 78) | interface WebSearchToolParams { type WebSearchConfig (line 94) | interface WebSearchConfig { type TavilyProviderConfig (line 109) | interface TavilyProviderConfig { type GoogleProviderConfig (line 120) | interface GoogleProviderConfig { type DashScopeProviderConfig (line 133) | interface DashScopeProviderConfig { type WebSearchProviderConfig (line 153) | type WebSearchProviderConfig = FILE: packages/core/src/tools/web-search/utils.ts function buildContentWithSources (line 17) | function buildContentWithSources( function buildSummary (line 34) | function buildSummary( FILE: packages/core/src/tools/write-file.ts type WriteFileToolParams (line 53) | interface WriteFileToolParams { class WriteFileToolInvocation (line 75) | class WriteFileToolInvocation extends BaseToolInvocation< method constructor (line 79) | constructor( method toolLocations (line 86) | override toolLocations(): ToolLocation[] { method getDescription (line 90) | override getDescription(): string { method getDefaultPermission (line 101) | override async getDefaultPermission(): Promise { method getConfirmationDetails (line 108) | override async getConfirmationDetails( method execute (line 172) | async execute(_abortSignal: AbortSignal): Promise { class WriteFileTool (line 359) | class WriteFileTool method constructor (line 365) | constructor(private readonly config: Config) { method validateToolParamValues (line 391) | protected override validateToolParamValues( method createInvocation (line 420) | protected createInvocation( method getModifyContext (line 426) | getModifyContext( FILE: packages/core/src/utils/LruCache.ts class LruCache (line 7) | class LruCache { method constructor (line 11) | constructor(maxSize: number) { method get (line 16) | get(key: K): V | undefined { method set (line 26) | set(key: K, value: V): void { method clear (line 38) | clear(): void { FILE: packages/core/src/utils/asyncMessageQueue.ts class AsyncMessageQueue (line 22) | class AsyncMessageQueue { method enqueue (line 27) | enqueue(item: T): void { method dequeue (line 33) | dequeue(): T | null { method drain (line 41) | drain(): void { method size (line 46) | get size(): number { method isDrained (line 51) | get isDrained(): boolean { FILE: packages/core/src/utils/atomicFileWrite.ts type AtomicWriteOptions (line 11) | interface AtomicWriteOptions { function atomicWriteJSON (line 28) | async function atomicWriteJSON( function renameWithRetry (line 50) | async function renameWithRetry( FILE: packages/core/src/utils/browser.ts function shouldAttemptBrowserLaunch (line 14) | function shouldAttemptBrowserLaunch(): boolean { FILE: packages/core/src/utils/configResolver.ts type ConfigSourceKind (line 19) | type ConfigSourceKind = type ConfigSource (line 33) | interface ConfigSource { type ConfigSources (line 53) | type ConfigSources = Record; type ConfigLayer (line 59) | interface ConfigLayer { type ResolvedField (line 69) | interface ResolvedField { function resolveField (line 100) | function resolveField( function resolveOptionalField (line 119) | function resolveOptionalField( function isValuePresent (line 136) | function isValuePresent(value: T | undefined | null): value is T { function cliSource (line 150) | function cliSource(detail: string): ConfigSource { function envSource (line 157) | function envSource(envKey: string): ConfigSource { function settingsSource (line 164) | function settingsSource(settingsPath: string): ConfigSource { function modelProvidersSource (line 171) | function modelProvidersSource( function defaultSource (line 182) | function defaultSource(detail?: string): ConfigSource { function computedSource (line 189) | function computedSource(detail?: string): ConfigSource { function envLayer (line 196) | function envLayer( function layer (line 217) | function layer( FILE: packages/core/src/utils/debugLogger.ts type LogLevel (line 14) | type LogLevel = 'DEBUG' | 'INFO' | 'WARN' | 'ERROR'; type DebugLogSession (line 16) | interface DebugLogSession { type DebugLogger (line 20) | interface DebugLogger { function isDebugLogFileEnabled (line 33) | function isDebugLogFileEnabled(): boolean { function getActiveSession (line 40) | function getActiveSession(): DebugLogSession | null { function ensureDebugDirExists (line 44) | function ensureDebugDirExists(): Promise { function formatArgs (line 60) | function formatArgs(args: unknown[]): string { function buildLogLine (line 79) | function buildLogLine(level: LogLevel, message: string, tag?: string): s... function writeLog (line 85) | function writeLog( function isDebugLoggingDegraded (line 111) | function isDebugLoggingDegraded(): boolean { function resetDebugLoggingState (line 119) | function resetDebugLoggingState(): void { constant DEBUG_LATEST_ALIAS (line 125) | const DEBUG_LATEST_ALIAS = 'latest'; function updateLatestDebugLogAlias (line 127) | function updateLatestDebugLogAlias(sessionId: string): void { function setDebugLogSession (line 148) | function setDebugLogSession( function runWithDebugLogSession (line 163) | function runWithDebugLogSession( function createDebugLogger (line 177) | function createDebugLogger(tag?: string): DebugLogger { FILE: packages/core/src/utils/editHelper.ts constant UNICODE_EQUIVALENT_MAP (line 20) | const UNICODE_EQUIVALENT_MAP: Record = { function normalizeBasicCharacters (line 55) | function normalizeBasicCharacters(text: string): string { type MatchedSliceResult (line 71) | interface MatchedSliceResult { constant LINE_COMPARISON_PASSES (line 81) | const LINE_COMPARISON_PASSES: Array<(value: string) => string> = [ function normalizeLineForComparison (line 86) | function normalizeLineForComparison(value: string): string { function seekSequenceWithTransform (line 94) | function seekSequenceWithTransform( function buildLineIndex (line 119) | function buildLineIndex(text: string): { function sliceFromLines (line 143) | function sliceFromLines( function findLineBasedMatch (line 172) | function findLineBasedMatch( function findMatchedSlice (line 241) | function findMatchedSlice( function removeTrailingNewline (line 278) | function removeTrailingNewline(text: string): string { function adjustNewStringForTrailingLine (line 288) | function adjustNewStringForTrailingLine( type NormalizedEditStrings (line 295) | interface NormalizedEditStrings { function normalizeEditStrings (line 313) | function normalizeEditStrings( function maybeAugmentOldStringForDeletion (line 347) | function maybeAugmentOldStringForDeletion( function countOccurrences (line 369) | function countOccurrences(source: string, substr: string): number { type EditSnippetResult (line 386) | interface EditSnippetResult { constant SNIPPET_CONTEXT_LINES (line 397) | const SNIPPET_CONTEXT_LINES = 4; constant SNIPPET_MAX_LINES (line 398) | const SNIPPET_MAX_LINES = 1000; function extractEditSnippet (line 410) | function extractEditSnippet( FILE: packages/core/src/utils/editor.ts type EditorType (line 12) | type EditorType = function isValidEditorType (line 23) | function isValidEditorType(editor: string): editor is EditorType { type DiffCommand (line 37) | interface DiffCommand { function commandExists (line 42) | function commandExists(cmd: string): boolean { function checkHasEditorType (line 73) | function checkHasEditorType(editor: EditorType): boolean { function allowEditorTypeInSandbox (line 80) | function allowEditorTypeInSandbox(editor: EditorType): boolean { function isEditorAvailable (line 95) | function isEditorAvailable(editor: string | undefined): boolean { function getDiffCommand (line 105) | function getDiffCommand( function openDiff (line 172) | async function openDiff( FILE: packages/core/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/core/src/utils/envVarResolver.ts function resolveEnvVarsInString (line 20) | function resolveEnvVarsInString( function resolveEnvVarsInObject (line 56) | function resolveEnvVarsInObject( function resolveEnvVarsInObjectInternal (line 70) | function resolveEnvVarsInObjectInternal( FILE: packages/core/src/utils/environmentContext.ts function getDirectoryContextString (line 16) | async function getDirectoryContextString( function getEnvironmentContext (line 52) | async function getEnvironmentContext(config: Config): Promise { constant STARTUP_CONTEXT_MODEL_ACK (line 72) | const STARTUP_CONTEXT_MODEL_ACK = 'Got it. Thanks for the context!'; function getInitialChatHistory (line 74) | async function getInitialChatHistory( function stripStartupContext (line 104) | function stripStartupContext(history: Content[]): Content[] { FILE: packages/core/src/utils/errorParsing.ts constant RATE_LIMIT_ERROR_MESSAGE_USE_GEMINI (line 11) | const RATE_LIMIT_ERROR_MESSAGE_USE_GEMINI = constant RATE_LIMIT_ERROR_MESSAGE_VERTEX (line 13) | const RATE_LIMIT_ERROR_MESSAGE_VERTEX = constant RATE_LIMIT_ERROR_MESSAGE_DEFAULT (line 15) | const RATE_LIMIT_ERROR_MESSAGE_DEFAULT = function getRateLimitMessage (line 18) | function getRateLimitMessage(authType?: AuthType): string { function parseAndFormatApiError (line 29) | function parseAndFormatApiError( FILE: packages/core/src/utils/errorReporting.ts type ErrorReportData (line 12) | interface ErrorReportData { function reportError (line 25) | async function reportError( FILE: packages/core/src/utils/errors.test.ts class AbortError (line 19) | class AbortError extends Error { method constructor (line 20) | constructor(message: string) { FILE: packages/core/src/utils/errors.ts type GaxiosError (line 7) | interface GaxiosError { function isNodeError (line 13) | function isNodeError(error: unknown): error is NodeJS.ErrnoException { function isAbortError (line 21) | function isAbortError(error: unknown): boolean { function getErrorMessage (line 39) | function getErrorMessage(error: unknown): string { function getErrorStatus (line 65) | function getErrorStatus(error: unknown): number | undefined { function getErrorType (line 98) | function getErrorType(error: unknown): string { class FatalError (line 128) | class FatalError extends Error { method constructor (line 129) | constructor( class FatalAuthenticationError (line 137) | class FatalAuthenticationError extends FatalError { method constructor (line 138) | constructor(message: string) { class FatalInputError (line 142) | class FatalInputError extends FatalError { method constructor (line 143) | constructor(message: string) { class FatalSandboxError (line 147) | class FatalSandboxError extends FatalError { method constructor (line 148) | constructor(message: string) { class FatalConfigError (line 152) | class FatalConfigError extends FatalError { method constructor (line 153) | constructor(message: string) { class FatalTurnLimitedError (line 157) | class FatalTurnLimitedError extends FatalError { method constructor (line 158) | constructor(message: string) { class FatalToolExecutionError (line 162) | class FatalToolExecutionError extends FatalError { method constructor (line 163) | constructor(message: string) { class FatalCancellationError (line 167) | class FatalCancellationError extends FatalError { method constructor (line 168) | constructor(message: string) { class ForbiddenError (line 173) | class ForbiddenError extends Error {} class UnauthorizedError (line 174) | class UnauthorizedError extends Error {} class BadRequestError (line 175) | class BadRequestError extends Error {} type ResponseData (line 177) | interface ResponseData { function toFriendlyError (line 184) | function toFriendlyError(error: unknown): unknown { function parseResponseData (line 206) | function parseResponseData(error: GaxiosError): ResponseData { FILE: packages/core/src/utils/fetch.ts constant PRIVATE_IP_RANGES (line 10) | const PRIVATE_IP_RANGES = [ constant TLS_ERROR_CODES (line 20) | const TLS_ERROR_CODES = new Set([ constant FETCH_TROUBLESHOOTING_ERROR_CODES (line 29) | const FETCH_TROUBLESHOOTING_ERROR_CODES = new Set([ class FetchError (line 40) | class FetchError extends Error { method constructor (line 41) | constructor( function isPrivateIp (line 50) | function isPrivateIp(url: string): boolean { function fetchWithTimeout (line 59) | async function fetchWithTimeout( function getErrorCode (line 79) | function getErrorCode(error: unknown): string | undefined { function formatUnknownErrorMessage (line 94) | function formatUnknownErrorMessage(error: unknown): string | undefined { function formatErrorCause (line 123) | function formatErrorCause(error: unknown): string | undefined { function formatFetchErrorForUser (line 147) | function formatFetchErrorForUser( FILE: packages/core/src/utils/fileUtils.ts constant DEFAULT_ENCODING (line 27) | const DEFAULT_ENCODING: BufferEncoding = 'utf-8'; type UnicodeEncoding (line 31) | type UnicodeEncoding = 'utf8' | 'utf16le' | 'utf16be' | 'utf32le' | 'utf... type BOMInfo (line 33) | interface BOMInfo { function detectBOM (line 42) | function detectBOM(buf: Buffer): BOMInfo | null { function decodeUTF16BE (line 90) | function decodeUTF16BE(buf: Buffer): string { function decodeUTF32 (line 101) | function decodeUTF32(buf: Buffer, littleEndian: boolean): string { function isValidUtf8 (line 131) | function isValidUtf8(buffer: Buffer): boolean { type FileReadResult (line 143) | interface FileReadResult { function decodeBOMBuffer (line 160) | function decodeBOMBuffer(buf: Buffer, bomInfo: BOMInfo): string { function bomEncodingToName (line 182) | function bomEncodingToName(bomEncoding: UnicodeEncoding): string { function readFileWithEncodingInfo (line 208) | async function readFileWithEncodingInfo( function readFileWithEncoding (line 259) | async function readFileWithEncoding(filePath: string): Promise { function countFileLines (line 264) | async function countFileLines(filePath: string): Promise { function readFileWithLineAndLimit (line 269) | async function readFileWithLineAndLimit(params: { function detectFileEncoding (line 303) | async function detectFileEncoding(filePath: string): Promise { function getSpecificMimeType (line 365) | function getSpecificMimeType(filePath: string): string | undefined { function isWithinRoot (line 376) | function isWithinRoot( function isBinaryFile (line 402) | async function isBinaryFile(filePath: string): Promise { function detectFileType (line 454) | async function detectFileType( type ProcessedFileReadResult (line 501) | interface ProcessedFileReadResult { function mediaModalityKey (line 515) | function mediaModalityKey( function unsupportedModalityMessage (line 533) | function unsupportedModalityMessage( function processSingleFileContent (line 555) | async function processSingleFileContent( function fileExists (line 770) | async function fileExists(filePath: string): Promise { FILE: packages/core/src/utils/filesearch/crawler.ts type CrawlOptions (line 12) | interface CrawlOptions { function toPosixPath (line 26) | function toPosixPath(p: string) { function crawl (line 30) | async function crawl(options: CrawlOptions): Promise { FILE: packages/core/src/utils/filesearch/fileSearch.ts type FileSearchOptions (line 17) | interface FileSearchOptions { class AbortError (line 29) | class AbortError extends Error { method constructor (line 30) | constructor(message = 'Search aborted') { function filter (line 43) | async function filter( type SearchOptions (line 84) | interface SearchOptions { type FileSearch (line 89) | interface FileSearch { class RecursiveFileSearch (line 94) | class RecursiveFileSearch implements FileSearch { method constructor (line 100) | constructor(private readonly options: FileSearchOptions) {} method initialize (line 102) | async initialize(): Promise { method search (line 115) | async search( method buildResultCache (line 182) | private buildResultCache(): void { class DirectoryFileSearch (line 196) | class DirectoryFileSearch implements FileSearch { method constructor (line 199) | constructor(private readonly options: FileSearchOptions) {} method initialize (line 201) | async initialize(): Promise { method search (line 205) | async search( class FileSearchFactory (line 243) | class FileSearchFactory { method create (line 244) | static create(options: FileSearchOptions): FileSearch { FILE: packages/core/src/utils/filesearch/ignore.ts type LoadIgnoreRulesOptions (line 14) | interface LoadIgnoreRulesOptions { function loadIgnoreRules (line 21) | function loadIgnoreRules(options: LoadIgnoreRulesOptions): Ignore { class Ignore (line 50) | class Ignore { method add (line 61) | add(patterns: string | string[]): this { method getDirectoryFilter (line 109) | getDirectoryFilter(): (dirPath: string) => boolean { method getFileFilter (line 118) | getFileFilter(): (filePath: string) => boolean { method getFingerprint (line 128) | getFingerprint(): string { FILE: packages/core/src/utils/filesearch/result-cache.ts class ResultCache (line 11) | class ResultCache { method constructor (line 16) | constructor(private readonly allFiles: string[]) { method get (line 27) | async get( method set (line 64) | set(query: string, results: string[]): void { FILE: packages/core/src/utils/generateContentResponseUtilities.ts function getResponseTextFromParts (line 14) | function getResponseTextFromParts(parts: Part[]): string | undefined { function getFunctionCalls (line 28) | function getFunctionCalls( function getFunctionCallsFromParts (line 61) | function getFunctionCallsFromParts( function getFunctionCallsAsJson (line 73) | function getFunctionCallsAsJson( function getFunctionCallsFromPartsAsJson (line 83) | function getFunctionCallsFromPartsAsJson( function getStructuredResponse (line 93) | function getStructuredResponse( function getStructuredResponseFromParts (line 111) | function getStructuredResponseFromParts( FILE: packages/core/src/utils/getFolderStructure.test.ts function createEmptyDir (line 18) | async function createEmptyDir(...pathSegments: string[]) { function createTestFile (line 23) | async function createTestFile(...pathSegments: string[]) { FILE: packages/core/src/utils/getFolderStructure.ts constant MAX_ITEMS (line 18) | const MAX_ITEMS = 20; constant TRUNCATION_INDICATOR (line 19) | const TRUNCATION_INDICATOR = '...'; constant DEFAULT_IGNORED_FOLDERS (line 20) | const DEFAULT_IGNORED_FOLDERS = new Set(['node_modules', '.git', 'dist']); type FolderStructureOptions (line 25) | interface FolderStructureOptions { type MergedFolderStructureOptions (line 38) | type MergedFolderStructureOptions = Required< type FullFolderInfo (line 47) | interface FullFolderInfo { function readFullStructure (line 63) | async function readFullStructure( function formatStructure (line 227) | function formatStructure( function getFolderStructure (line 300) | async function getFolderStructure( FILE: packages/core/src/utils/getPty.ts type PtyImplementation (line 7) | type PtyImplementation = { type PtyProcess (line 13) | interface PtyProcess { FILE: packages/core/src/utils/gitIgnoreParser.test.ts function createTestFile (line 17) | async function createTestFile(filePath: string, content = '') { function setupGitRepo (line 23) | async function setupGitRepo() { FILE: packages/core/src/utils/gitIgnoreParser.ts type GitIgnoreFilter (line 11) | interface GitIgnoreFilter { class GitIgnoreParser (line 15) | class GitIgnoreParser implements GitIgnoreFilter { method constructor (line 20) | constructor(projectRoot: string) { method loadPatternsForFile (line 24) | private loadPatternsForFile(patternsFilePath: string): string[] { method isIgnored (line 100) | isIgnored(filePath: string): boolean { FILE: packages/core/src/utils/gitUtils.ts function isGitRepository (line 16) | function isGitRepository(directory: string): boolean { function findGitRoot (line 50) | function findGitRoot(directory: string): string | null { FILE: packages/core/src/utils/iconvHelper.ts type IconvLite (line 14) | interface IconvLite { function iconvDecode (line 32) | function iconvDecode(buffer: Buffer, encoding: string): string { function iconvEncode (line 42) | function iconvEncode(content: string, encoding: string): Buffer { function iconvEncodingExists (line 51) | function iconvEncodingExists(encoding: string): boolean { function isUtf8CompatibleEncoding (line 62) | function isUtf8CompatibleEncoding(encoding: string): boolean { FILE: packages/core/src/utils/ignorePatterns.ts constant COMMON_IGNORE_PATTERNS (line 15) | const COMMON_IGNORE_PATTERNS: string[] = [ constant BINARY_FILE_PATTERNS (line 26) | const BINARY_FILE_PATTERNS: string[] = [ constant MEDIA_FILE_PATTERNS (line 56) | const MEDIA_FILE_PATTERNS: string[] = [ constant COMMON_DIRECTORY_EXCLUDES (line 70) | const COMMON_DIRECTORY_EXCLUDES: string[] = [ constant PYTHON_EXCLUDES (line 82) | const PYTHON_EXCLUDES: string[] = ['**/*.pyc', '**/*.pyo']; constant SYSTEM_FILE_EXCLUDES (line 87) | const SYSTEM_FILE_EXCLUDES: string[] = ['**/.DS_Store', '**/.env']; constant DEFAULT_FILE_EXCLUDES (line 94) | const DEFAULT_FILE_EXCLUDES: string[] = [ type ExcludeOptions (line 105) | interface ExcludeOptions { class FileExclusions (line 131) | class FileExclusions { method constructor (line 132) | constructor(private config?: Config) {} method getCoreIgnorePatterns (line 138) | getCoreIgnorePatterns(): string[] { method getDefaultExcludePatterns (line 146) | getDefaultExcludePatterns(options: ExcludeOptions = {}): string[] { method getReadManyFilesExcludes (line 188) | getReadManyFilesExcludes(additionalExcludes: string[] = []): string[] { method getGlobExcludes (line 200) | getGlobExcludes(additionalExcludes: string[] = []): string[] { method buildExcludePatterns (line 214) | buildExcludePatterns(options: ExcludeOptions): string[] { function extractExtensionsFromPatterns (line 224) | function extractExtensionsFromPatterns(patterns: string[]): string[] { constant BINARY_EXTENSIONS (line 265) | const BINARY_EXTENSIONS: string[] = [ FILE: packages/core/src/utils/installationManager.ts class InstallationManager (line 15) | class InstallationManager { method getInstallationIdPath (line 16) | private getInstallationIdPath(): string { method readInstallationIdFromFile (line 20) | private readInstallationIdFromFile(): string | null { method writeInstallationIdToFile (line 31) | private writeInstallationIdToFile(installationId: string) { method getInstallationId (line 43) | getInstallationId(): string { FILE: packages/core/src/utils/jsonl-utils.ts function getFileLock (line 40) | function getFileLock(filePath: string): Mutex { function readLines (line 51) | async function readLines( function read (line 87) | async function read(filePath: string): Promise { function writeLine (line 116) | async function writeLine( function writeLineSync (line 136) | function writeLineSync(filePath: string, data: unknown): void { function write (line 150) | function write(filePath: string, data: unknown[]): void { function countLines (line 163) | async function countLines(filePath: string): Promise { function exists (line 189) | function exists(filePath: string): boolean { FILE: packages/core/src/utils/language-detection.ts function getLanguageFromFilePath (line 96) | function getLanguageFromFilePath(filePath: string): string | undefined { FILE: packages/core/src/utils/memoryDiscovery.test.ts function createEmptyDir (line 34) | async function createEmptyDir(fullPath: string) { function createTestFile (line 39) | async function createTestFile(fullPath: string, fileContents: string) { FILE: packages/core/src/utils/memoryDiscovery.ts type GeminiFileContent (line 19) | interface GeminiFileContent { function findProjectRoot (line 24) | async function findProjectRoot(startDir: string): Promise { function getGeminiMdFilePathsInternal (line 68) | async function getGeminiMdFilePathsInternal( function getGeminiMdFilePathsInternalForEachDir (line 116) | async function getGeminiMdFilePathsInternalForEachDir( function readGeminiMdFiles (line 220) | async function readGeminiMdFiles( function concatenateInstructions (line 282) | function concatenateInstructions( type LoadServerHierarchicalMemoryResponse (line 303) | interface LoadServerHierarchicalMemoryResponse { function loadServerHierarchicalMemory (line 312) | async function loadServerHierarchicalMemory( FILE: packages/core/src/utils/memoryImportProcessor.test.ts function testPath (line 14) | function testPath(...segments: string[]): string { function walkTokens (line 47) | function walkTokens(tokenList: unknown[]) { function walkTokens (line 69) | function walkTokens(tokenList: unknown[]) { function walkTokens (line 642) | function walkTokens(tokenList: unknown[]) { FILE: packages/core/src/utils/memoryImportProcessor.ts type ImportState (line 18) | interface ImportState { type MemoryFile (line 28) | interface MemoryFile { type ProcessImportsResult (line 36) | interface ProcessImportsResult { function findProjectRoot (line 42) | async function findProjectRoot(startDir: string): Promise { function hasMessage (line 66) | function hasMessage(err: unknown): err is { message: string } { function findImports (line 80) | function findImports( function isWhitespace (line 132) | function isWhitespace(char: string): boolean { function isLetter (line 136) | function isLetter(char: string): boolean { function isFileNotFoundError (line 147) | function isFileNotFoundError(err: unknown): boolean { function findCodeRegions (line 156) | function findCodeRegions(content: string): Array<[number, number]> { function processImports (line 200) | async function processImports( function validateImportPath (line 402) | function validateImportPath( FILE: packages/core/src/utils/messageInspectors.ts function isFunctionResponse (line 9) | function isFunctionResponse(content: Content): boolean { function isFunctionCall (line 17) | function isFunctionCall(content: Content): boolean { FILE: packages/core/src/utils/nextSpeakerChecker.ts constant CHECK_PROMPT (line 16) | const CHECK_PROMPT = `Analyze *only* the content and structure of your i... constant RESPONSE_SCHEMA (line 22) | const RESPONSE_SCHEMA: Record = { type NextSpeakerResponse (line 40) | interface NextSpeakerResponse { function checkNextSpeaker (line 45) | async function checkNextSpeaker( FILE: packages/core/src/utils/openaiLogger.ts class OpenAILogger (line 18) | class OpenAILogger { method constructor (line 26) | constructor(customLogDir?: string) { method initialize (line 46) | async initialize(): Promise { method logInteraction (line 65) | async logInteraction( method getLogFiles (line 111) | async getLogFiles(limit?: number): Promise { method readLogFile (line 139) | async readLogFile(filePath: string): Promise { FILE: packages/core/src/utils/partUtils.ts function partToString (line 18) | function partToString( function getResponseText (line 72) | function getResponseText( function flatMapTextParts (line 102) | async function flatMapTextParts( function appendToLastTextPart (line 141) | function appendToLastTextPart( FILE: packages/core/src/utils/pathReader.ts function readPathFromWorkspace (line 23) | async function readPathFromWorkspace( FILE: packages/core/src/utils/paths.test.ts function createConfigStub (line 24) | function createConfigStub({ FILE: packages/core/src/utils/paths.ts constant QWEN_DIR (line 14) | const QWEN_DIR = '.qwen'; constant GOOGLE_ACCOUNTS_FILENAME (line 15) | const GOOGLE_ACCOUNTS_FILENAME = 'google_accounts.json'; constant SHELL_SPECIAL_CHARS (line 22) | const SHELL_SPECIAL_CHARS = /[ \t()[\]{};|*?$`'"#&<>!~]/; function tildeifyPath (line 29) | function tildeifyPath(path: string): string { function shortenPath (line 42) | function shortenPath(filePath: string, maxLen: number = 80): string { function makeRelative (line 134) | function makeRelative( function escapePath (line 156) | function escapePath(filePath: string): string { function unescapePath (line 184) | function unescapePath(filePath: string): string { function getProjectHash (line 198) | function getProjectHash(projectRoot: string): string { function sanitizeCwd (line 218) | function sanitizeCwd(cwd: string): string { function isSubpath (line 230) | function isSubpath(parentPath: string, childPath: string): boolean { function isSubpaths (line 244) | function isSubpaths(parentPath: string[], childPath: string): boolean { function resolvePath (line 257) | function resolvePath( type PathValidationOptions (line 274) | interface PathValidationOptions { function validatePath (line 296) | function validatePath( function resolveAndValidatePath (line 338) | function resolveAndValidatePath( FILE: packages/core/src/utils/projectSummary.ts type ProjectSummaryInfo (line 10) | interface ProjectSummaryInfo { function getProjectSummaryInfo (line 27) | async function getProjectSummaryInfo(): Promise { FILE: packages/core/src/utils/quotaErrorDetection.ts type ApiError (line 9) | interface ApiError { function isApiError (line 18) | function isApiError(error: unknown): error is ApiError { function isStructuredError (line 28) | function isStructuredError(error: unknown): error is StructuredError { function isProQuotaExceededError (line 37) | function isProQuotaExceededError(error: unknown): boolean { function isGenericQuotaExceededError (line 86) | function isGenericQuotaExceededError(error: unknown): boolean { function isQwenQuotaExceededError (line 102) | function isQwenQuotaExceededError(error: unknown): boolean { FILE: packages/core/src/utils/qwenIgnoreParser.test.ts function createTestFile (line 16) | async function createTestFile(filePath: string, content = '') { FILE: packages/core/src/utils/qwenIgnoreParser.ts type QwenIgnoreFilter (line 11) | interface QwenIgnoreFilter { class QwenIgnoreParser (line 16) | class QwenIgnoreParser implements QwenIgnoreFilter { method constructor (line 21) | constructor(projectRoot: string) { method loadPatterns (line 26) | private loadPatterns(): void { method isIgnored (line 44) | isIgnored(filePath: string): boolean { method getPatterns (line 78) | getPatterns(): string[] { FILE: packages/core/src/utils/rateLimit.ts constant RATE_LIMIT_ERROR_CODES (line 14) | const RATE_LIMIT_ERROR_CODES = new Set([429, 503, 1302, 1305]); type RetryInfo (line 16) | interface RetryInfo { function isRateLimitError (line 34) | function isRateLimitError( function getErrorCode (line 49) | function getErrorCode(error: unknown): number | null { FILE: packages/core/src/utils/readManyFiles.test.ts function contentToString (line 20) | function contentToString(parts: PartListUnion): string { function createTestFile (line 51) | async function createTestFile( function createTestDir (line 61) | async function createTestDir(...pathSegments: string[]): Promise { FILE: packages/core/src/utils/readManyFiles.ts type ReadManyFilesOptions (line 18) | interface ReadManyFilesOptions { type FileReadInfo (line 34) | interface FileReadInfo { type ReadManyFilesResult (line 46) | interface ReadManyFilesResult { constant DEFAULT_OUTPUT_HEADER (line 66) | const DEFAULT_OUTPUT_HEADER = '\n--- Content from referenced files ---'; constant DEFAULT_OUTPUT_TERMINATOR (line 67) | const DEFAULT_OUTPUT_TERMINATOR = '\n--- End of content ---'; function readManyFiles (line 83) | async function readManyFiles( function readDirectory (line 141) | async function readDirectory( function readFileContent (line 165) | async function readFileContent( FILE: packages/core/src/utils/request-tokenizer/imageTokenizer.ts class ImageTokenizer (line 23) | class ImageTokenizer { method extractImageMetadata (line 43) | async extractImageMetadata( method extractDimensions (line 89) | private async extractDimensions( method extractPngDimensions (line 129) | private extractPngDimensions(buffer: Buffer): { method extractJpegDimensions (line 157) | private extractJpegDimensions(buffer: Buffer): { method extractWebpDimensions (line 198) | private extractWebpDimensions(buffer: Buffer): { method extractGifDimensions (line 237) | private extractGifDimensions(buffer: Buffer): { method calculateTokens (line 262) | calculateTokens(metadata: ImageMetadata): number { method calculateTokensWithScaling (line 278) | private calculateTokensWithScaling(width: number, height: number): num... method calculateTokensBatch (line 316) | async calculateTokensBatch( method extractBmpDimensions (line 343) | private extractBmpDimensions(buffer: Buffer): { method extractTiffDimensions (line 367) | private extractTiffDimensions(buffer: Buffer): { method extractHeicDimensions (line 450) | private extractHeicDimensions(buffer: Buffer): { FILE: packages/core/src/utils/request-tokenizer/requestTokenizer.ts class RequestTokenizer (line 23) | class RequestTokenizer { method constructor (line 27) | constructor() { method calculateTokens (line 35) | async calculateTokens( method calculateTextTokens (line 104) | private async calculateTextTokens(textContents: string[]): Promise { method calculateTokensBatch (line 34) | async calculateTokensBatch(texts: string[]): Promise { method calculateTokensSync (line 38) | private calculateTokensSync(text: string): number { FILE: packages/core/src/utils/request-tokenizer/types.ts type TokenCalculationResult (line 10) | interface TokenCalculationResult { type ImageMetadata (line 27) | interface ImageMetadata { FILE: packages/core/src/utils/retry.test.ts class NonRetryableError (line 34) | class NonRetryableError extends Error { method constructor (line 35) | constructor(message: string) { FILE: packages/core/src/utils/retry.ts type HttpError (line 15) | interface HttpError extends Error { type RetryOptions (line 19) | interface RetryOptions { constant DEFAULT_RETRY_OPTIONS (line 28) | const DEFAULT_RETRY_OPTIONS: RetryOptions = { function defaultShouldRetry (line 41) | function defaultShouldRetry(error: Error | unknown): boolean { function delay (line 53) | function delay(ms: number): Promise { function retryWithBackoff (line 64) | async function retryWithBackoff( function getRetryAfterDelayMs (line 160) | function getRetryAfterDelayMs(error: unknown): number { function logRetryAttempt (line 199) | function logRetryAttempt( FILE: packages/core/src/utils/ripgrepUtils.ts constant RIPGREP_COMMAND (line 16) | const RIPGREP_COMMAND = 'rg'; constant RIPGREP_BUFFER_LIMIT (line 17) | const RIPGREP_BUFFER_LIMIT = 20_000_000; constant RIPGREP_TEST_TIMEOUT_MS (line 18) | const RIPGREP_TEST_TIMEOUT_MS = 5_000; constant RIPGREP_RUN_TIMEOUT_MS (line 19) | const RIPGREP_RUN_TIMEOUT_MS = 10_000; constant RIPGREP_WSL_TIMEOUT_MS (line 20) | const RIPGREP_WSL_TIMEOUT_MS = 60_000; type RipgrepMode (line 22) | type RipgrepMode = 'builtin' | 'system'; type RipgrepSelection (line 24) | interface RipgrepSelection { type RipgrepHealth (line 29) | interface RipgrepHealth { type RipgrepRunResult (line 35) | interface RipgrepRunResult { function wslTimeout (line 54) | function wslTimeout(): number { type Platform (line 64) | type Platform = 'darwin' | 'linux' | 'win32'; type Architecture (line 65) | type Architecture = 'x64' | 'arm64'; function getPlatformString (line 70) | function getPlatformString(platform: string): Platform | undefined { function getArchitectureString (line 84) | function getArchitectureString(arch: string): Architecture | undefined { function getBuiltinRipgrep (line 98) | function getBuiltinRipgrep(): string | null { function resolveRipgrep (line 132) | async function resolveRipgrep( function ensureRipgrepHealthy (line 165) | async function ensureRipgrepHealthy( function ensureMacBinarySigned (line 191) | async function ensureMacBinarySigned( function canUseRipgrep (line 227) | async function canUseRipgrep( function runRipgrep (line 245) | async function runRipgrep( FILE: packages/core/src/utils/runtimeFetchOptions.test.ts type UndiciOptions (line 10) | type UndiciOptions = Record; class MockAgent (line 13) | class MockAgent { method constructor (line 15) | constructor(options: UndiciOptions) { class MockProxyAgent (line 20) | class MockProxyAgent { method constructor (line 22) | constructor(options: UndiciOptions) { FILE: packages/core/src/utils/runtimeFetchOptions.ts type Runtime (line 12) | type Runtime = 'node' | 'bun' | 'unknown'; function detectRuntime (line 17) | function detectRuntime(): Runtime { type OpenAIRuntimeFetchOptions (line 30) | type OpenAIRuntimeFetchOptions = type AnthropicRuntimeFetchOptions (line 42) | type AnthropicRuntimeFetchOptions = { type SDKType (line 53) | type SDKType = 'openai' | 'anthropic'; function buildRuntimeFetchOptions (line 77) | function buildRuntimeFetchOptions( function buildFetchOptionsWithDispatcher (line 134) | function buildFetchOptionsWithDispatcher( FILE: packages/core/src/utils/safeJsonParse.ts function safeJsonParse (line 21) | function safeJsonParse>( FILE: packages/core/src/utils/safeJsonStringify.ts function safeJsonStringify (line 14) | function safeJsonStringify( FILE: packages/core/src/utils/schemaConverter.ts type SchemaComplianceMode (line 13) | type SchemaComplianceMode = 'auto' | 'openapi_30'; function convertSchema (line 18) | function convertSchema( function toOpenAPI30 (line 34) | function toOpenAPI30(schema: Record): Record', '>>', '&>', '&>>', '>|']); constant KNOWN_SUBCOMMANDS (line 152) | const KNOWN_SUBCOMMANDS: Record> = { constant DOCKER_COMPOSE_SUBCOMMANDS (line 526) | const DOCKER_COMPOSE_SUBCOMMANDS = new Set([ function resolveWasmPath (line 571) | function resolveWasmPath(filename: string): string { function initParser (line 587) | async function initParser(): Promise { function parseShellCommand (line 610) | async function parseShellCommand(command: string): Promise { type SyntaxNode (line 619) | type SyntaxNode = Parser.SyntaxNode; function collectDescendants (line 622) | function collectDescendants( function containsCommandSubstitutionAST (line 641) | function containsCommandSubstitutionAST(node: SyntaxNode): boolean { function hasWriteRedirection (line 651) | function hasWriteRedirection(node: SyntaxNode): boolean { function getCommandName (line 673) | function getCommandName(commandNode: SyntaxNode): string | null { function getArgumentNodes (line 682) | function getArgumentNodes(commandNode: SyntaxNode): SyntaxNode[] { function stripOuterQuotes (line 698) | function stripOuterQuotes(text: string): string { function evaluateCommandReadOnly (line 717) | function evaluateCommandReadOnly(commandNode: SyntaxNode): boolean { function evaluateGitReadOnly (line 734) | function evaluateGitReadOnly(args: string[]): boolean { function evaluateFindReadOnly (line 757) | function evaluateFindReadOnly(args: string[]): boolean { function evaluateSedReadOnly (line 766) | function evaluateSedReadOnly(args: string[]): boolean { function evaluateAwkReadOnly (line 779) | function evaluateAwkReadOnly(args: string[]): boolean { function evaluateStatementReadOnly (line 794) | function evaluateStatementReadOnly(node: SyntaxNode): boolean { function isShellCommandReadOnlyAST (line 890) | async function isShellCommandReadOnlyAST( function extractRuleFromCommand (line 925) | function extractRuleFromCommand(commandNode: SyntaxNode): string | null { function extractRulesFromStatement (line 983) | function extractRulesFromStatement(node: SyntaxNode): string[] { function extractCommandRules (line 1054) | async function extractCommandRules(command: string): Promise { function _resetParser (line 1079) | function _resetParser(): void { FILE: packages/core/src/utils/shellReadOnlyChecker.ts constant READ_ONLY_ROOT_COMMANDS (line 20) | const READ_ONLY_ROOT_COMMANDS = new Set([ constant BLOCKED_FIND_FLAGS (line 57) | const BLOCKED_FIND_FLAGS = new Set([ constant BLOCKED_FIND_PREFIXES (line 65) | const BLOCKED_FIND_PREFIXES = ['-fprint', '-fprintf']; constant READ_ONLY_GIT_SUBCOMMANDS (line 67) | const READ_ONLY_GIT_SUBCOMMANDS = new Set([ constant BLOCKED_GIT_REMOTE_ACTIONS (line 82) | const BLOCKED_GIT_REMOTE_ACTIONS = new Set([ constant BLOCKED_GIT_BRANCH_FLAGS (line 91) | const BLOCKED_GIT_BRANCH_FLAGS = new Set([ constant BLOCKED_SED_PREFIXES (line 99) | const BLOCKED_SED_PREFIXES = ['-i']; constant AWK_SIDE_EFFECT_PATTERNS (line 102) | const AWK_SIDE_EFFECT_PATTERNS = [ constant SED_SIDE_EFFECT_PATTERNS (line 116) | const SED_SIDE_EFFECT_PATTERNS = [ constant ENV_ASSIGNMENT_REGEX (line 125) | const ENV_ASSIGNMENT_REGEX = /^[A-Za-z_][A-Za-z0-9_]*=/; function containsWriteRedirection (line 127) | function containsWriteRedirection(command: string): boolean { function normalizeTokens (line 161) | function normalizeTokens(segment: string): string[] { function skipEnvironmentAssignments (line 172) | function skipEnvironmentAssignments(tokens: string[]): { function evaluateFindCommand (line 191) | function evaluateFindCommand(tokens: string[]): boolean { function evaluateSedCommand (line 205) | function evaluateSedCommand(tokens: string[]): boolean { function evaluateAwkCommand (line 227) | function evaluateAwkCommand(tokens: string[]): boolean { function evaluateGitRemoteArgs (line 243) | function evaluateGitRemoteArgs(args: string[]): boolean { function evaluateGitBranchArgs (line 252) | function evaluateGitBranchArgs(args: string[]): boolean { function evaluateGitCommand (line 261) | function evaluateGitCommand(tokens: string[]): boolean { function evaluateShellSegment (line 293) | function evaluateShellSegment(segment: string): boolean { function isShellCommandReadOnly (line 350) | function isShellCommandReadOnly(command: string): boolean { FILE: packages/core/src/utils/subagentGenerator.ts constant SYSTEM_PROMPT (line 11) | const SYSTEM_PROMPT = `You are an elite AI agent architect specializing ... constant RESPONSE_SCHEMA (line 80) | const RESPONSE_SCHEMA: Record = { type SubagentGeneratedContent (line 102) | interface SubagentGeneratedContent { function subagentGenerator (line 116) | async function subagentGenerator( FILE: packages/core/src/utils/symlink.ts type UpdateSymlinkOptions (line 10) | interface UpdateSymlinkOptions { function updateSymlink (line 31) | async function updateSymlink( FILE: packages/core/src/utils/systemEncoding.ts function resetEncodingCache (line 22) | function resetEncodingCache(): void { function getCachedEncodingForBuffer (line 40) | function getCachedEncodingForBuffer(buffer: Buffer): string { function getSystemEncoding (line 70) | function getSystemEncoding(): string | null { function windowsCodePageToEncoding (line 133) | function windowsCodePageToEncoding(cp: number): string | null { function detectEncodingFromBuffer (line 178) | function detectEncodingFromBuffer(buffer: Buffer): string | null { FILE: packages/core/src/utils/terminalSerializer.test.ts constant RED_FG (line 15) | const RED_FG = '\x1b[31m'; constant RESET (line 16) | const RESET = '\x1b[0m'; function writeToTerminal (line 18) | function writeToTerminal(terminal: Terminal, data: string): Promise { FILE: packages/core/src/utils/terminalSerializer.ts type AnsiToken (line 8) | interface AnsiToken { type AnsiLine (line 19) | type AnsiLine = AnsiToken[]; type AnsiOutput (line 20) | type AnsiOutput = AnsiLine[]; type Attribute (line 22) | const enum Attribute { type ColorMode (line 30) | const enum ColorMode { class Cell (line 36) | class Cell { method constructor (line 48) | constructor( method isCursor (line 110) | isCursor(): boolean { method getChars (line 114) | getChars(): string { method isAttribute (line 118) | isAttribute(attribute: Attribute): boolean { method equals (line 122) | equals(other: Cell): boolean { function serializeTerminalToObject (line 134) | function serializeTerminalToObject( constant ANSI_COLORS (line 209) | const ANSI_COLORS = [ function convertColorToHex (line 468) | function convertColorToHex( FILE: packages/core/src/utils/testUtils.ts function shouldSimulate429 (line 20) | function shouldSimulate429(authType?: string): boolean { function resetRequestCounter (line 44) | function resetRequestCounter(): void { function disableSimulationAfterFallback (line 51) | function disableSimulationAfterFallback(): void { function createSimulated429Error (line 58) | function createSimulated429Error(): Error { function resetSimulationState (line 69) | function resetSimulationState(): void { function setSimulate429 (line 77) | function setSimulate429( FILE: packages/core/src/utils/textUtils.ts function safeLiteralReplace (line 11) | function safeLiteralReplace( function isBinary (line 35) | function isBinary( function normalizeContent (line 67) | function normalizeContent(content: string): string { FILE: packages/core/src/utils/thoughtUtils.ts type ThoughtSummary (line 9) | type ThoughtSummary = { constant START_DELIMITER (line 14) | const START_DELIMITER = '**'; constant END_DELIMITER (line 15) | const END_DELIMITER = '**'; function parseThought (line 28) | function parseThought(rawText: string): ThoughtSummary { function getThoughtText (line 58) | function getThoughtText( FILE: packages/core/src/utils/toml-to-markdown-converter.ts type TomlCommandFormat (line 13) | interface TomlCommandFormat { function convertTomlToMarkdown (line 24) | function convertTomlToMarkdown(tomlContent: string): string { function isTomlFormat (line 67) | function isTomlFormat(content: string): boolean { FILE: packages/core/src/utils/tool-utils.ts type ToolName (line 16) | type ToolName = (typeof ToolNames)[keyof typeof ToolNames]; constant TOOL_ALIAS_MAP (line 23) | const TOOL_ALIAS_MAP: Map> = (() => { function isToolEnabled (line 86) | function isToolEnabled( constant SHELL_TOOL_NAMES (line 115) | const SHELL_TOOL_NAMES = ['run_shell_command', 'ShellTool']; function doesToolInvocationMatch (line 129) | function doesToolInvocationMatch( FILE: packages/core/src/utils/truncation.ts function truncateAndSaveToFile (line 24) | async function truncateAndSaveToFile( function truncateToolOutput (line 117) | async function truncateToolOutput( FILE: packages/core/src/utils/workspaceContext.ts type Unsubscribe (line 15) | type Unsubscribe = () => void; class WorkspaceContext (line 22) | class WorkspaceContext { method constructor (line 32) | constructor(directory: string, additionalDirectories: string[] = []) { method onDirectoriesChanged (line 48) | onDirectoriesChanged(listener: () => void): Unsubscribe { method notifyDirectoriesChanged (line 55) | private notifyDirectoriesChanged() { method addDirectory (line 72) | addDirectory(directory: string, basePath: string = process.cwd()): void { method resolveAndValidateDir (line 87) | private resolveAndValidateDir( method getDirectories (line 110) | getDirectories(): readonly string[] { method getInitialDirectories (line 114) | getInitialDirectories(): readonly string[] { method removeDirectory (line 124) | removeDirectory(directory: string): boolean { method isInitialDirectory (line 153) | isInitialDirectory(directory: string): boolean { method setDirectories (line 165) | setDirectories(directories: readonly string[]): void { method isPathWithinWorkspace (line 185) | isPathWithinWorkspace(pathToCheck: string): boolean { method fullyResolvedPath (line 205) | private fullyResolvedPath(pathToCheck: string): string { method isFileSymlink (line 227) | private isFileSymlink(filePath: string): boolean { function isPathWithinRoot (line 242) | function isPathWithinRoot( FILE: packages/core/src/utils/yaml-parser.ts function parse (line 20) | function parse(yamlString: string): Record { function stringify (line 119) | function stringify( function parseValue (line 149) | function parseValue(value: string): unknown { function formatValue (line 175) | function formatValue(value: unknown): string { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/AcpClient.java class AcpClient (line 38) | public class AcpClient { method AcpClient (line 50) | public AcpClient(Transport transport) throws AgentInitializeException { method AcpClient (line 62) | public AcpClient(Transport transport, InitializeRequestParams initiali... method sendPrompt (line 91) | public void sendPrompt(List prompts, AgentEventConsumer ... method newSession (line 103) | public Session newSession() throws SessionNewException { method newSession (line 115) | public Session newSession(NewSessionRequestParams newSessionRequestPar... method loadSession (line 151) | public Session loadSession(LoadSessionRequestParams loadSessionRequest... method close (line 168) | public void close() throws IOException { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/notification/AgentNotification.java class AgentNotification (line 5) | public class AgentNotification

extends MethodMessage

{ method AgentNotification (line 6) | public AgentNotification() { method AgentNotification (line 9) | public AgentNotification(String method, P params) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/notification/SessionNotification.java class SessionNotification (line 7) | @JSONType(typeName = "session/update") method SessionNotification (line 9) | public SessionNotification() { class SessionNotificationParams (line 14) | public static class SessionNotificationParams { method SessionNotificationParams (line 18) | public SessionNotificationParams() { method SessionNotificationParams (line 21) | public SessionNotificationParams(String sessionId, SessionUpdate upd... method getSessionId (line 26) | public String getSessionId() { method setSessionId (line 30) | public void setSessionId(String sessionId) { method getUpdate (line 34) | public SessionUpdate getUpdate() { method setUpdate (line 38) | public void setUpdate(SessionUpdate update) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/AuthenticateRequest.java class AuthenticateRequest (line 9) | @JSONType(typeName = "authenticate") method AuthenticateRequest (line 11) | public AuthenticateRequest() { method AuthenticateRequest (line 15) | public AuthenticateRequest(AuthenticateRequestParams requestParams) { class AuthenticateRequestParams (line 19) | public static class AuthenticateRequestParams extends Meta { method getMethodId (line 23) | public String getMethodId() { method setMethodId (line 27) | public void setMethodId(String methodId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/ReadTextFileRequest.java class ReadTextFileRequest (line 9) | @JSONType(typeName = "fs/read_text_file") method ReadTextFileRequest (line 11) | public ReadTextFileRequest() { method ReadTextFileRequest (line 15) | public ReadTextFileRequest(ReadTextFileRequestParams requestParams) { class ReadTextFileRequestParams (line 19) | public static class ReadTextFileRequestParams extends Meta { method getSessionId (line 26) | public String getSessionId() { method setSessionId (line 30) | public void setSessionId(String sessionId) { method getPath (line 34) | public String getPath() { method setPath (line 38) | public void setPath(String path) { method getLine (line 42) | public Integer getLine() { method setLine (line 46) | public void setLine(Integer line) { method getLimit (line 50) | public Integer getLimit() { method setLimit (line 54) | public void setLimit(Integer limit) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/RequestPermissionRequest.java class RequestPermissionRequest (line 13) | @JSONType(typeName = "session/request_permission") method RequestPermissionRequest (line 15) | public RequestPermissionRequest() { method RequestPermissionRequest (line 19) | public RequestPermissionRequest(RequestPermissionRequestParams request... class RequestPermissionRequestParams (line 23) | public static class RequestPermissionRequestParams extends Meta { method getSessionId (line 29) | public String getSessionId() { method setSessionId (line 33) | public void setSessionId(String sessionId) { method getToolCall (line 37) | public ToolCallUpdate getToolCall() { method setToolCall (line 41) | public void setToolCall(ToolCallUpdate toolCall) { method getOptions (line 45) | public List getOptions() { method setOptions (line 49) | public void setOptions(List options) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/WriteTextFileRequest.java class WriteTextFileRequest (line 9) | @JSONType(typeName = "fs/write_text_file") method WriteTextFileRequest (line 11) | public WriteTextFileRequest() { method WriteTextFileRequest (line 15) | public WriteTextFileRequest(WriteTextFileRequestParams requestParams) { class WriteTextFileRequestParams (line 19) | public static class WriteTextFileRequestParams extends Meta { method getSessionId (line 25) | public String getSessionId() { method setSessionId (line 29) | public void setSessionId(String sessionId) { method getPath (line 33) | public String getPath() { method setPath (line 37) | public void setPath(String path) { method getContent (line 41) | public String getContent() { method setContent (line 45) | public void setContent(String content) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/CreateTerminalRequest.java class CreateTerminalRequest (line 12) | @JSONType(typeName = "terminal/create") method CreateTerminalRequest (line 14) | public CreateTerminalRequest() { method CreateTerminalRequest (line 18) | public CreateTerminalRequest(CreateTerminalRequestParams requestParams) { class CreateTerminalRequestParams (line 22) | public static class CreateTerminalRequestParams extends Meta { method getSessionId (line 31) | public String getSessionId() { method setSessionId (line 35) | public void setSessionId(String sessionId) { method getCommand (line 39) | public String getCommand() { method setCommand (line 43) | public void setCommand(String command) { method getArgs (line 47) | public List getArgs() { method setArgs (line 51) | public void setArgs(List args) { method getCwd (line 55) | public String getCwd() { method setCwd (line 59) | public void setCwd(String cwd) { method getEnv (line 63) | public List getEnv() { method setEnv (line 67) | public void setEnv(List env) { method getOutputByteLimit (line 71) | public Long getOutputByteLimit() { method setOutputByteLimit (line 75) | public void setOutputByteLimit(Long outputByteLimit) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/KillTerminalCommandRequest.java class KillTerminalCommandRequest (line 9) | @JSONType(typeName = "terminal/kill") method KillTerminalCommandRequest (line 11) | public KillTerminalCommandRequest() { method KillTerminalCommandRequest (line 15) | public KillTerminalCommandRequest(KillTerminalCommandRequestParams req... class KillTerminalCommandRequestParams (line 19) | public static class KillTerminalCommandRequestParams extends Meta { method getSessionId (line 24) | public String getSessionId() { method setSessionId (line 28) | public void setSessionId(String sessionId) { method getTerminalId (line 32) | public String getTerminalId() { method setTerminalId (line 36) | public void setTerminalId(String terminalId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/ReleaseTerminalRequest.java class ReleaseTerminalRequest (line 9) | @JSONType(typeName = "terminal/release") method ReleaseTerminalRequest (line 11) | public ReleaseTerminalRequest() { method ReleaseTerminalRequest (line 15) | public ReleaseTerminalRequest(ReleaseTerminalRequestParams requestPara... class ReleaseTerminalRequestParams (line 19) | public static class ReleaseTerminalRequestParams extends Meta { method getSessionId (line 24) | public String getSessionId() { method setSessionId (line 28) | public void setSessionId(String sessionId) { method getTerminalId (line 32) | public String getTerminalId() { method setTerminalId (line 36) | public void setTerminalId(String terminalId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/TerminalOutputRequest.java class TerminalOutputRequest (line 9) | @JSONType(typeName = "terminal/output") method TerminalOutputRequest (line 11) | public TerminalOutputRequest() { method TerminalOutputRequest (line 15) | public TerminalOutputRequest(TerminalOutputRequestParams requestParams) { class TerminalOutputRequestParams (line 19) | public static class TerminalOutputRequestParams extends Meta { method getSessionId (line 24) | public String getSessionId() { method setSessionId (line 28) | public void setSessionId(String sessionId) { method getTerminalId (line 32) | public String getTerminalId() { method setTerminalId (line 36) | public void setTerminalId(String terminalId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/request/terminal/WaitForTerminalExitRequest.java class WaitForTerminalExitRequest (line 9) | @JSONType(typeName = "terminal/wait_for_exit") method WaitForTerminalExitRequest (line 11) | public WaitForTerminalExitRequest() { method WaitForTerminalExitRequest (line 15) | public WaitForTerminalExitRequest(WaitForTerminalExitRequestParams req... class WaitForTerminalExitRequestParams (line 19) | public static class WaitForTerminalExitRequestParams extends Meta { method getSessionId (line 24) | public String getSessionId() { method setSessionId (line 28) | public void setSessionId(String sessionId) { method getTerminalId (line 32) | public String getTerminalId() { method setTerminalId (line 36) | public void setTerminalId(String terminalId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/AuthenticateResponse.java class AuthenticateResponse (line 7) | public class AuthenticateResponse extends Response getAuthMethods() { method setAuthMethods (line 97) | public void setAuthMethods(List authMethods) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/LoadSessionResponse.java class LoadSessionResponse (line 8) | public class LoadSessionResponse extends Response { class PromptResponseResult (line 9) | public static class PromptResponseResult { method getStopReason (line 13) | public StopReason getStopReason() { method setStopReason (line 17) | public void setStopReason(StopReason stopReason) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/agent/response/SetSessionModeResponse.java class SetSessionModeResponse (line 7) | public class SetSessionModeResponse extends Response extends MethodMessage

{ method ClientNotification (line 6) | public ClientNotification() { method ClientNotification (line 10) | public ClientNotification(String method, P params) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/InitializeRequest.java class InitializeRequest (line 16) | @JSONType(typeName = "initialize") method InitializeRequest (line 21) | public InitializeRequest() { method InitializeRequest (line 30) | public InitializeRequest(InitializeRequestParams requestParams) { class InitializeRequestParams (line 39) | public static class InitializeRequestParams extends Meta { method getProtocolVersion (line 49) | public int getProtocolVersion() { method setProtocolVersion (line 58) | public void setProtocolVersion(int protocolVersion) { method getClientCapabilities (line 67) | public ClientCapabilities getClientCapabilities() { method setClientCapabilities (line 77) | public InitializeRequestParams setClientCapabilities(ClientCapabilit... method getClientInfo (line 87) | public ClientInfo getClientInfo() { method setClientInfo (line 97) | public InitializeRequestParams setClientInfo(ClientInfo clientInfo) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/LoadSessionRequest.java class LoadSessionRequest (line 12) | @JSONType(typeName = "session/load") method LoadSessionRequest (line 14) | public LoadSessionRequest() { method LoadSessionRequest (line 18) | public LoadSessionRequest(LoadSessionRequestParams requestParams) { class LoadSessionRequestParams (line 22) | public static class LoadSessionRequestParams extends Meta { method getSessionId (line 27) | public String getSessionId() { method setSessionId (line 31) | public LoadSessionRequestParams setSessionId(String sessionId) { method getCwd (line 36) | public String getCwd() { method setCwd (line 40) | public LoadSessionRequestParams setCwd(String cwd) { method getMcpServers (line 45) | public List getMcpServers() { method setMcpServers (line 49) | public LoadSessionRequestParams setMcpServers(List mcpSer... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/NewSessionRequest.java class NewSessionRequest (line 13) | @JSONType(typeName = "session/new") method NewSessionRequest (line 15) | public NewSessionRequest() { method NewSessionRequest (line 19) | public NewSessionRequest(NewSessionRequestParams requestParams) { class NewSessionRequestParams (line 23) | public static class NewSessionRequestParams extends Meta { method getCwd (line 28) | public String getCwd() { method setCwd (line 32) | public void setCwd(String cwd) { method getMcpServers (line 36) | public List getMcpServers() { method setMcpServers (line 40) | public void setMcpServers(List mcpServers) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/PromptRequest.java class PromptRequest (line 11) | @JSONType(typeName = "session/prompt") method PromptRequest (line 13) | public PromptRequest() { method PromptRequest (line 17) | public PromptRequest(PromptRequestParams requestParams) { class PromptRequestParams (line 21) | public static class PromptRequestParams extends Meta { method PromptRequestParams (line 25) | public PromptRequestParams(String sessionId, List prom... method PromptRequestParams (line 30) | public PromptRequestParams() { method getSessionId (line 34) | public String getSessionId() { method setSessionId (line 38) | public void setSessionId(String sessionId) { method getPrompt (line 42) | public List getPrompt() { method setPrompt (line 46) | public void setPrompt(List prompt) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/request/SetSessionModeRequest.java class SetSessionModeRequest (line 9) | @JSONType(typeName = "session/set_mode") method SetSessionModeRequest (line 11) | public SetSessionModeRequest() { method SetSessionModeRequest (line 15) | public SetSessionModeRequest(SetSessionModeRequestParams requestParams) { class SetSessionModeRequestParams (line 19) | public static class SetSessionModeRequestParams extends Meta { method getSessionId (line 24) | public String getSessionId() { method setSessionId (line 28) | public void setSessionId(String sessionId) { method getModeId (line 32) | public String getModeId() { method setModeId (line 36) | public void setModeId(String modeId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/client/response/ReadTextFileResponse.java class ReadTextFileResponse (line 8) | public class ReadTextFileResponse extends Response getAudience() { method setAudience (line 17) | public void setAudience(List audience) { method getPriority (line 21) | public Double getPriority() { method setPriority (line 25) | public void setPriority(Double priority) { method getLastModified (line 29) | public String getLastModified() { method setLastModified (line 33) | public void setLastModified(String lastModified) { class Role (line 38) | public static class Role { method Role (line 41) | public Role(String role) { method getRole (line 45) | public String getRole() { method setRole (line 49) | public void setRole(String role) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/AudioContent.java class AudioContent (line 5) | @JSONType(typeKey = "type", typeName = "audio") method AudioContent (line 11) | public AudioContent() { method getData (line 17) | public String getData() { method setData (line 21) | public void setData(String data) { method getMimeType (line 25) | public String getMimeType() { method setMimeType (line 29) | public void setMimeType(String mimeType) { method getAnnotations (line 33) | public Annotations getAnnotations() { method setAnnotations (line 37) | public void setAnnotations(Annotations annotations) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ContentBlock.java class ContentBlock (line 7) | @JSONType(typeKey = "type", typeName = "ContentBlock", seeAlso = {TextCo... method getType (line 11) | public String getType() { method setType (line 15) | public void setType(String type) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ImageContent.java class ImageContent (line 5) | @JSONType(typeKey = "type", typeName = "image") method ImageContent (line 12) | public ImageContent() { method getData (line 18) | public String getData() { method setData (line 22) | public void setData(String data) { method getMimeType (line 26) | public String getMimeType() { method setMimeType (line 30) | public void setMimeType(String mimeType) { method getUri (line 34) | public String getUri() { method setUri (line 38) | public void setUri(String uri) { method getAnnotations (line 42) | public Annotations getAnnotations() { method setAnnotations (line 46) | public void setAnnotations(Annotations annotations) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/ResourceLink.java class ResourceLink (line 5) | @JSONType(typeKey = "type", typeName = "resource_link") method ResourceLink (line 15) | public ResourceLink() { method getName (line 21) | public String getName() { method setName (line 25) | public void setName(String name) { method getTitle (line 29) | public String getTitle() { method setTitle (line 33) | public void setTitle(String title) { method getUri (line 37) | public String getUri() { method setUri (line 41) | public void setUri(String uri) { method getDescription (line 45) | public String getDescription() { method setDescription (line 49) | public void setDescription(String description) { method getMimeType (line 53) | public String getMimeType() { method setMimeType (line 57) | public void setMimeType(String mimeType) { method getAnnotations (line 61) | public Annotations getAnnotations() { method setAnnotations (line 65) | public void setAnnotations(Annotations annotations) { method getSize (line 69) | public Long getSize() { method setSize (line 73) | public void setSize(Long size) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/block/TextContent.java class TextContent (line 5) | @JSONType(typeKey = "type", typeName = "text") method TextContent (line 10) | public TextContent() { method TextContent (line 15) | public TextContent(String text) { method getText (line 21) | public String getText() { method setText (line 25) | public void setText(String text) { method getAnnotations (line 29) | public Annotations getAnnotations() { method setAnnotations (line 33) | public void setAnnotations(Annotations annotations) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/BlobResourceContents.java class BlobResourceContents (line 3) | public class BlobResourceContents extends ResourceContent { method getBlob (line 6) | public String getBlob() { method setBlob (line 10) | public void setBlob(String blob) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/EmbeddedResource.java class EmbeddedResource (line 7) | @JSONType(typeKey = "type", typeName = "resource") method EmbeddedResource (line 12) | public EmbeddedResource() { method getResource (line 17) | public ResourceContent getResource() { method setResource (line 21) | public void setResource(ResourceContent resource) { method getAnnotations (line 25) | public Annotations getAnnotations() { method setAnnotations (line 29) | public void setAnnotations(Annotations annotations) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/ResourceContent.java class ResourceContent (line 6) | @JSONType(deserializer = ResourceContentDeserializer.class) method getMimeType (line 11) | public String getMimeType() { method setMimeType (line 15) | public void setMimeType(String mimeType) { method getUri (line 19) | public String getUri() { method setUri (line 23) | public void setUri(String uri) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/content/embedded/ResourceContentDeserializer.java class ResourceContentDeserializer (line 9) | public class ResourceContentDeserializer implements ObjectReader getArgs() { method setArgs (line 48) | public void setArgs(List args) { method getEnv (line 52) | public List getEnv() { method setEnv (line 56) | public void setEnv(List env) { method getHeaders (line 60) | public List getHeaders() { method setHeaders (line 64) | public void setHeaders(List headers) { method getUrl (line 68) | public String getUrl() { method setUrl (line 72) | public void setUrl(String url) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOption.java class PermissionOption (line 5) | public class PermissionOption extends Meta { method getOptionId (line 11) | public String getOptionId() { method setOptionId (line 15) | public void setOptionId(String optionId) { method getName (line 19) | public String getName() { method setName (line 23) | public void setName(String name) { method getKind (line 27) | public PermissionOptionKind getKind() { method setKind (line 31) | public void setKind(PermissionOptionKind kind) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOptionKind.java type PermissionOptionKind (line 5) | public enum PermissionOptionKind { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/PermissionOutcomeKind.java type PermissionOutcomeKind (line 5) | public enum PermissionOutcomeKind { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/permission/RequestPermissionOutcome.java class RequestPermissionOutcome (line 4) | public class RequestPermissionOutcome { method RequestPermissionOutcome (line 8) | public RequestPermissionOutcome() { method RequestPermissionOutcome (line 11) | public RequestPermissionOutcome(PermissionOutcomeKind outcome, String ... method getOutcome (line 17) | public PermissionOutcomeKind getOutcome() { method setOutcome (line 21) | public RequestPermissionOutcome setOutcome(PermissionOutcomeKind outco... method getOptionId (line 26) | public String getOptionId() { method setOptionId (line 30) | public RequestPermissionOutcome setOptionId(String optionId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/Plan.java class Plan (line 7) | public class Plan extends Meta { method getEntries (line 11) | public List getEntries() { method setEntries (line 15) | public void setEntries(List entries) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntry.java class PlanEntry (line 5) | public class PlanEntry extends Meta { method getContent (line 11) | public String getContent() { method setContent (line 15) | public void setContent(String content) { method getPriority (line 19) | public PlanEntryPriority getPriority() { method setPriority (line 23) | public void setPriority(PlanEntryPriority priority) { method getStatus (line 27) | public PlanEntryStatus getStatus() { method setStatus (line 31) | public void setStatus(PlanEntryStatus status) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntryPriority.java type PlanEntryPriority (line 5) | public enum PlanEntryPriority { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/plan/PlanEntryStatus.java type PlanEntryStatus (line 5) | public enum PlanEntryStatus { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/SessionMode.java class SessionMode (line 5) | public class SessionMode extends Meta { method getId (line 11) | public String getId() { method setId (line 15) | public void setId(String id) { method getName (line 19) | public String getName() { method setName (line 23) | public void setName(String name) { method getDescription (line 27) | public String getDescription() { method setDescription (line 31) | public void setDescription(String description) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/SessionModeState.java class SessionModeState (line 7) | public class SessionModeState extends Meta { method getCurrentModeId (line 12) | public String getCurrentModeId() { method setCurrentModeId (line 16) | public void setCurrentModeId(String currentModeId) { method getAvailableModes (line 20) | public List getAvailableModes() { method setAvailableModes (line 24) | public void setAvailableModes(List availableModes) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/StopReason.java type StopReason (line 5) | public enum StopReason { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AgentMessageChunkSessionUpdate.java class AgentMessageChunkSessionUpdate (line 6) | @JSONType(typeName = "agent_message_chunk") method AgentMessageChunkSessionUpdate (line 10) | public AgentMessageChunkSessionUpdate() { method getContent (line 14) | public ContentBlock getContent() { method setContent (line 18) | public void setContent(ContentBlock content) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AvailableCommand.java class AvailableCommand (line 5) | public class AvailableCommand extends Meta { method getName (line 11) | public String getName() { method setName (line 15) | public void setName(String name) { method getDescription (line 19) | public String getDescription() { method setDescription (line 23) | public void setDescription(String description) { method getInput (line 27) | public UnstructuredCommandInput getInput() { method setInput (line 31) | public void setInput(UnstructuredCommandInput input) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/AvailableCommandsUpdateSessionUpdate.java class AvailableCommandsUpdateSessionUpdate (line 7) | @JSONType(typeName = "available_commands_update") method AvailableCommandsUpdateSessionUpdate (line 11) | public AvailableCommandsUpdateSessionUpdate() { method getAvailableCommands (line 15) | public List getAvailableCommands() { method setAvailableCommands (line 19) | public void setAvailableCommands(List availableComma... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/CurrentModeUpdateSessionUpdate.java class CurrentModeUpdateSessionUpdate (line 5) | @JSONType(typeName = "current_mode_update") method CurrentModeUpdateSessionUpdate (line 9) | public CurrentModeUpdateSessionUpdate() { method getCurrentModeId (line 13) | public String getCurrentModeId() { method setCurrentModeId (line 17) | public void setCurrentModeId(String currentModeId) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/PlanSessionUpdate.java class PlanSessionUpdate (line 8) | @JSONType(typeName = "plan") method PlanSessionUpdate (line 12) | public PlanSessionUpdate() { method getEntries (line 16) | public List getEntries() { method setEntries (line 20) | public void setEntries(List entries) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/SessionUpdate.java class SessionUpdate (line 6) | @JSONType(typeKey = "sessionUpdate", typeName = "session_update", method getSessionUpdate (line 16) | public String getSessionUpdate() { method setSessionUpdate (line 20) | public void setSessionUpdate(String sessionUpdate) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/ToolCallSessionUpdate.java class ToolCallSessionUpdate (line 7) | @JSONType(typeName = "tool_call") FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/ToolCallUpdateSessionUpdate.java class ToolCallUpdateSessionUpdate (line 7) | @JSONType(typeName = "tool_call_update") FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/session/update/UnstructuredCommandInput.java class UnstructuredCommandInput (line 5) | public class UnstructuredCommandInput extends Meta { method getHint (line 9) | public String getHint() { method setHint (line 13) | public void setHint(String hint) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/terminal/EnvVariable.java class EnvVariable (line 5) | public class EnvVariable extends Meta { method getName (line 10) | public String getName() { method setName (line 14) | public void setName(String name) { method getValue (line 18) | public String getValue() { method setValue (line 22) | public void setValue(String value) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallLocation.java class ToolCallLocation (line 5) | public class ToolCallLocation extends Meta { method getPath (line 10) | public String getPath() { method setPath (line 14) | public void setPath(String path) { method getLine (line 18) | public Integer getLine() { method setLine (line 22) | public void setLine(Integer line) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallStatus.java type ToolCallStatus (line 5) | public enum ToolCallStatus { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolCallUpdate.java class ToolCallUpdate (line 8) | public class ToolCallUpdate extends Meta { method getToolCallId (line 19) | public String getToolCallId() { method setToolCallId (line 23) | public void setToolCallId(String toolCallId) { method getTitle (line 27) | public String getTitle() { method setTitle (line 31) | public void setTitle(String title) { method getKind (line 35) | public ToolKind getKind() { method setKind (line 39) | public void setKind(ToolKind kind) { method getStatus (line 43) | public ToolCallStatus getStatus() { method setStatus (line 47) | public void setStatus(ToolCallStatus status) { method getRawInput (line 51) | public Object getRawInput() { method setRawInput (line 55) | public void setRawInput(Object rawInput) { method getRawOutput (line 59) | public Object getRawOutput() { method setRawOutput (line 63) | public void setRawOutput(Object rawOutput) { method getLocations (line 67) | public List getLocations() { method setLocations (line 71) | public void setLocations(List locations) { method getContent (line 75) | public List getContent() { method setContent (line 79) | public void setContent(List content) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/domain/tool/ToolKind.java type ToolKind (line 5) | public enum ToolKind { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Error.java class Error (line 14) | public class Error { method Error (line 26) | public Error(int code, String message, Object data) { method Error (line 35) | public Error() { method getCode (line 43) | public int getCode() { method setCode (line 53) | public Error setCode(int code) { method getMessage (line 63) | public String getMessage() { method setMessage (line 73) | public Error setMessage(String message) { method getData (line 83) | public Object getData() { method setData (line 93) | public Error setData(Object data) { type ErrorCode (line 104) | public enum ErrorCode { method ErrorCode (line 156) | ErrorCode(int code, String description) { method getCode (line 166) | @JSONField method getDescription (line 176) | @JSONField(deserialize = false) FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtNotification.java class ExtNotification (line 3) | public class ExtNotification extends MethodMessage { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtRequest.java class ExtRequest (line 3) | public class ExtRequest extends Request { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/ExtResponse.java class ExtResponse (line 3) | public class ExtResponse extends Response { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Message.java class Message (line 3) | public class Message extends Meta { method getJsonrpc (line 7) | public String getJsonrpc() { method setJsonrpc (line 11) | public void setJsonrpc(String jsonrpc) { method getId (line 15) | public Object getId() { method setId (line 19) | public void setId(Object id) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Meta.java class Meta (line 18) | public class Meta { method getMeta (line 27) | public Map getMeta() { method setMeta (line 36) | public void setMeta(Map meta) { method toString (line 45) | public String toString() { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/MethodMessage.java class MethodMessage (line 24) | @JSONType(typeKey = "method", seeAlso = { method getMethod (line 45) | public String getMethod() { method setMethod (line 49) | public void setMethod(String method) { method getParams (line 53) | public P getParams() { method setParams (line 57) | public void setParams(P params) { method MethodMessage (line 61) | public MethodMessage() { method MethodMessage (line 65) | public MethodMessage(String method, P params) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Request.java class Request (line 3) | public class Request

extends MethodMessage

{ method Request (line 4) | public Request() { method Request (line 7) | public Request(String method, P params) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/protocol/jsonrpc/Response.java class Response (line 3) | public class Response extends Message { method Response (line 7) | public Response() { method Response (line 10) | public Response(Object id, R result) { method Response (line 15) | public Response(Object id, Error error) { method getResult (line 20) | public R getResult() { method setResult (line 24) | public void setResult(R result) { method getError (line 28) | public Error getError() { method setError (line 32) | public void setError(Error error) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/Session.java class Session (line 66) | public class Session { method Session (line 77) | public Session(Transport transport, LoadSessionRequestParams loadSessi... method cancel (line 90) | public void cancel() throws IOException { method sendPrompt (line 105) | public void sendPrompt(List prompts, AgentEventConsumer ... method toMessage (line 199) | private Message toMessage(String line) { method processSessionUpdate (line 223) | private void processSessionUpdate(ContentEventConsumer contentEventCon... method processNoWaitResponse (line 260) | private void processNoWaitResponse(Consumer consumer, Function<... method processRequest (line 277) | private , L> void processRequest(Function r... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/AgentEventConsumer.java class AgentEventConsumer (line 12) | public class AgentEventConsumer { method getContentEventConsumer (line 24) | public ContentEventConsumer getContentEventConsumer() { method setContentEventConsumer (line 34) | public AgentEventConsumer setContentEventConsumer(ContentEventConsumer... method getFileEventConsumer (line 44) | public FileEventConsumer getFileEventConsumer() { method setFileEventConsumer (line 54) | public AgentEventConsumer setFileEventConsumer(FileEventConsumer fileE... method getTerminalEventConsumer (line 64) | public TerminalEventConsumer getTerminalEventConsumer() { method setTerminalEventConsumer (line 74) | public AgentEventConsumer setTerminalEventConsumer(TerminalEventConsum... method getPermissionEventConsumer (line 84) | public PermissionEventConsumer getPermissionEventConsumer() { method setPermissionEventConsumer (line 94) | public AgentEventConsumer setPermissionEventConsumer(PermissionEventCo... method getPromptEndEventConsumer (line 104) | public PromptEndEventConsumer getPromptEndEventConsumer() { method setPromptEndEventConsumer (line 114) | public AgentEventConsumer setPromptEndEventConsumer(PromptEndEventCons... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/ContentEventConsumer.java type ContentEventConsumer (line 20) | public interface ContentEventConsumer { method onAgentMessageChunkSessionUpdate (line 26) | void onAgentMessageChunkSessionUpdate(AgentMessageChunkSessionUpdate s... method onAvailableCommandsUpdateSessionUpdate (line 33) | void onAvailableCommandsUpdateSessionUpdate(AvailableCommandsUpdateSes... method onCurrentModeUpdateSessionUpdate (line 40) | void onCurrentModeUpdateSessionUpdate(CurrentModeUpdateSessionUpdate s... method onPlanSessionUpdate (line 47) | void onPlanSessionUpdate(PlanSessionUpdate sessionUpdate); method onToolCallUpdateSessionUpdate (line 54) | void onToolCallUpdateSessionUpdate(ToolCallUpdateSessionUpdate session... method onToolCallSessionUpdate (line 61) | void onToolCallSessionUpdate(ToolCallSessionUpdate sessionUpdate); method onAgentMessageChunkSessionUpdateTimeout (line 69) | Timeout onAgentMessageChunkSessionUpdateTimeout(AgentMessageChunkSessi... method onAvailableCommandsUpdateSessionUpdateTimeout (line 77) | Timeout onAvailableCommandsUpdateSessionUpdateTimeout(AvailableCommand... method onCurrentModeUpdateSessionUpdateTimeout (line 85) | Timeout onCurrentModeUpdateSessionUpdateTimeout(CurrentModeUpdateSessi... method onPlanSessionUpdateTimeout (line 93) | Timeout onPlanSessionUpdateTimeout(PlanSessionUpdate sessionUpdate); method onToolCallUpdateSessionUpdateTimeout (line 101) | Timeout onToolCallUpdateSessionUpdateTimeout(ToolCallUpdateSessionUpda... method onToolCallSessionUpdateTimeout (line 109) | Timeout onToolCallSessionUpdateTimeout(ToolCallSessionUpdate sessionUp... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/ContentEventSimpleConsumer.java class ContentEventSimpleConsumer (line 21) | public class ContentEventSimpleConsumer implements ContentEventConsumer { method onAgentMessageChunkSessionUpdate (line 22) | @Override method onAvailableCommandsUpdateSessionUpdate (line 27) | @Override method onCurrentModeUpdateSessionUpdate (line 32) | @Override method onPlanSessionUpdate (line 37) | @Override method onToolCallUpdateSessionUpdate (line 42) | @Override method onToolCallSessionUpdate (line 47) | @Override method onAgentMessageChunkSessionUpdateTimeout (line 52) | @Override method onAvailableCommandsUpdateSessionUpdateTimeout (line 57) | @Override method onCurrentModeUpdateSessionUpdateTimeout (line 62) | @Override method onPlanSessionUpdateTimeout (line 67) | @Override method onToolCallUpdateSessionUpdateTimeout (line 72) | @Override method onToolCallSessionUpdateTimeout (line 77) | @Override FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/FileEventConsumer.java type FileEventConsumer (line 19) | public interface FileEventConsumer { method onReadTextFileRequest (line 27) | ReadTextFileResponseResult onReadTextFileRequest(ReadTextFileRequest r... method onWriteTextFileRequest (line 36) | WriteTextFileResponseResult onWriteTextFileRequest(WriteTextFileReques... method onReadTextFileRequestTimeout (line 44) | Timeout onReadTextFileRequestTimeout(ReadTextFileRequest message); method onWriteTextFileRequestTimeout (line 52) | Timeout onWriteTextFileRequestTimeout(WriteTextFileRequest message); FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/FileEventSimpleConsumer.java class FileEventSimpleConsumer (line 37) | public class FileEventSimpleConsumer implements FileEventConsumer { method onReadTextFileRequest (line 38) | @Override method onWriteTextFileRequest (line 80) | @Override method onReadTextFileRequestTimeout (line 101) | @Override method onWriteTextFileRequestTimeout (line 106) | @Override method getCharset (line 120) | public Charset getCharset() { method setCharset (line 129) | public void setCharset(Charset charset) { method getReadTimeout (line 138) | public Timeout getReadTimeout() { method setReadTimeout (line 147) | public void setReadTimeout(Timeout readTimeout) { method getWriteTimeout (line 156) | public Timeout getWriteTimeout() { method setWriteTimeout (line 165) | public void setWriteTimeout(Timeout writeTimeout) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/PermissionEventConsumer.java type PermissionEventConsumer (line 17) | public interface PermissionEventConsumer { method onRequestPermissionRequest (line 25) | RequestPermissionResponseResult onRequestPermissionRequest(RequestPerm... method onRequestPermissionRequestTimeout (line 33) | Timeout onRequestPermissionRequestTimeout(RequestPermissionRequest req... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/PromptEndEventConsumer.java type PromptEndEventConsumer (line 14) | public interface PromptEndEventConsumer { method onPromptEnd (line 20) | void onPromptEnd(PromptResponseResult promptResponseResult); method onPromptEndTimeout (line 28) | Timeout onPromptEndTimeout(PromptResponseResult promptResponseResult); FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/TerminalEventConsumer.java type TerminalEventConsumer (line 25) | public interface TerminalEventConsumer { method onCreateTerminalRequest (line 33) | CreateTerminalResponseResult onCreateTerminalRequest(CreateTerminalReq... method onWaitForTerminalExitRequest (line 42) | WaitForTerminalExitResponseResult onWaitForTerminalExitRequest(WaitFor... method onReleaseTerminalRequest (line 51) | ReleaseTerminalResponseResult onReleaseTerminalRequest(ReleaseTerminal... method onTerminalOutput (line 60) | TerminalOutputResponseResult onTerminalOutput(TerminalOutputRequest re... method onKillTerminalCommandRequest (line 69) | KillTerminalCommandResponseResult onKillTerminalCommandRequest(KillTer... method onCreateTerminalRequestTimeout (line 77) | Timeout onCreateTerminalRequestTimeout(CreateTerminalRequest createTer... method onWaitForTerminalExitRequestTimeout (line 85) | Timeout onWaitForTerminalExitRequestTimeout(WaitForTerminalExitRequest... method onReleaseTerminalRequestTimeout (line 93) | Timeout onReleaseTerminalRequestTimeout(ReleaseTerminalRequest release... method onTerminalOutputRequestTimeout (line 101) | Timeout onTerminalOutputRequestTimeout(TerminalOutputRequest terminalO... method onKillTerminalCommandRequestTimeout (line 109) | Timeout onKillTerminalCommandRequestTimeout(KillTerminalCommandRequest... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/event/consumer/exception/EventConsumeException.java class EventConsumeException (line 18) | public class EventConsumeException extends ContextedRuntimeException { method EventConsumeException (line 22) | public EventConsumeException() { method EventConsumeException (line 30) | public EventConsumeException(String message) { method EventConsumeException (line 40) | public EventConsumeException(String message, Throwable cause) { method EventConsumeException (line 51) | public EventConsumeException(String message, Throwable cause, Exceptio... method EventConsumeException (line 60) | public EventConsumeException(Throwable cause) { method setError (line 74) | public EventConsumeException setError(int code, String message, Object... method getError (line 86) | public Error getError() { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/exception/SessionLoadException.java class SessionLoadException (line 14) | public class SessionLoadException extends ContextedException { method SessionLoadException (line 18) | public SessionLoadException() { method SessionLoadException (line 26) | public SessionLoadException(String message) { method SessionLoadException (line 36) | public SessionLoadException(String message, Throwable cause) { method SessionLoadException (line 47) | public SessionLoadException(String message, Throwable cause, Exception... method SessionLoadException (line 56) | public SessionLoadException(Throwable cause) { method addContextValue (line 60) | @Override FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/session/exception/SessionNewException.java class SessionNewException (line 15) | public class SessionNewException extends ContextedException { method SessionNewException (line 19) | public SessionNewException() { method SessionNewException (line 27) | public SessionNewException(String message) { method SessionNewException (line 37) | public SessionNewException(String message, Throwable cause) { method SessionNewException (line 48) | public SessionNewException(String message, Throwable cause, ExceptionC... method SessionNewException (line 57) | public SessionNewException(Throwable cause) { method addContextValue (line 61) | @Override FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/Transport.java type Transport (line 17) | public interface Transport { method isReading (line 23) | boolean isReading(); method start (line 30) | void start() throws IOException; method close (line 37) | void close() throws IOException; method isAvailable (line 44) | boolean isAvailable(); method inputWaitForOneLine (line 56) | String inputWaitForOneLine(String message) throws IOException, Executi... method inputWaitForMultiLine (line 65) | void inputWaitForMultiLine(String message, Function c... method inputNoWaitResponse (line 73) | void inputNoWaitResponse(String message) throws IOException; FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/process/ProcessTransport.java class ProcessTransport (line 35) | public class ProcessTransport implements Transport { method ProcessTransport (line 58) | public ProcessTransport(ProcessTransportOptions transportOptions) { method isReading (line 73) | @Override method start (line 81) | @Override method close (line 103) | @Override method isAvailable (line 125) | @Override method inputWaitForOneLine (line 133) | @Override method inputWaitForOneLine (line 138) | private String inputWaitForOneLine(String message, Timeout timeOut) method inputWaitForMultiLine (line 161) | @Override method inputWaitForMultiLine (line 166) | private void inputWaitForMultiLine(String message, Function callBackFunction) { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/transport/process/ProcessTransportOptions.java class ProcessTransportOptions (line 16) | public class ProcessTransportOptions { method getCwd (line 28) | public String getCwd() { method setCwd (line 38) | public ProcessTransportOptions setCwd(String cwd) { method getCommandArgs (line 48) | public String[] getCommandArgs() { method setCommandArgs (line 58) | public ProcessTransportOptions setCommandArgs(String[] commandArgs) { method getErrorHandler (line 68) | public Consumer getErrorHandler() { method setErrorHandler (line 78) | public ProcessTransportOptions setErrorHandler(Consumer errorH... method getTurnTimeout (line 88) | public Timeout getTurnTimeout() { method setTurnTimeout (line 98) | public ProcessTransportOptions setTurnTimeout(Timeout turnTimeout) { method getMessageTimeout (line 108) | public Timeout getMessageTimeout() { method setMessageTimeout (line 118) | public ProcessTransportOptions setMessageTimeout(Timeout messageTimeou... FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/AgentInitializeException.java class AgentInitializeException (line 15) | public class AgentInitializeException extends ContextedException { method AgentInitializeException (line 19) | public AgentInitializeException() { method AgentInitializeException (line 27) | public AgentInitializeException(String message) { method AgentInitializeException (line 37) | public AgentInitializeException(String message, Throwable cause) { method AgentInitializeException (line 48) | public AgentInitializeException(String message, Throwable cause, Excep... method AgentInitializeException (line 57) | public AgentInitializeException(Throwable cause) { method addContextValue (line 61) | @Override FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/MyConcurrentUtils.java class MyConcurrentUtils (line 19) | public class MyConcurrentUtils { method runAndWait (line 28) | public static void runAndWait(Runnable runnable, Timeout timeOut) { method runAndWait (line 55) | public static T runAndWait(Supplier supplier, Timeout timeOut) ... method asyncRun (line 72) | public static Future asyncRun(Runnable runnable, BiConsumer ex... method getDefaultExecutor (line 56) | public static ThreadPoolExecutor getDefaultExecutor() { method getExecutor (line 60) | static ExecutorService getExecutor() { method shutdown (line 71) | public static void shutdown() { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/Timeout.java class Timeout (line 13) | public class Timeout { method Timeout (line 29) | public Timeout(Long value, TimeUnit unit) { method getValue (line 41) | public Long getValue() { method getUnit (line 50) | public TimeUnit getUnit() { FILE: packages/sdk-java/client/src/main/java/com/alibaba/acp/sdk/utils/TransportUtils.java class TransportUtils (line 19) | public class TransportUtils { method inputWaitForOneLine (line 35) | public static C inputWaitForOneLine(Transport transport, Message m... FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PermissionOptionKindTest.java class PermissionOptionKindTest (line 10) | class PermissionOptionKindTest { method testJson (line 12) | @Test FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PlanEntryPriorityTest.java class PlanEntryPriorityTest (line 10) | class PlanEntryPriorityTest { method testJson (line 12) | @Test FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/PlanEntryStatusTest.java class PlanEntryStatusTest (line 10) | class PlanEntryStatusTest { method testJson (line 12) | @Test FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/StopReasonTest.java class StopReasonTest (line 10) | class StopReasonTest { method testJson (line 12) | @Test FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/ToolCallStatusTest.java class ToolCallStatusTest (line 10) | class ToolCallStatusTest { method testJson (line 12) | @Test FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/protocol/client/session/ToolKindTest.java class ToolKindTest (line 10) | class ToolKindTest { method testJson (line 12) | @Test FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/session/SessionTest.java class SessionTest (line 44) | class SessionTest { method testSession (line 46) | @Test method test (line 86) | @Test method testPermission (line 98) | @Test FILE: packages/sdk-java/client/src/test/java/com/alibaba/acp/sdk/test/EnumTest.java class EnumTest (line 6) | public class EnumTest { method main (line 7) | public static void main(String[] args) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/QwenCodeCli.java class QwenCodeCli (line 33) | public class QwenCodeCli { method simpleQuery (line 42) | public static List simpleQuery(String prompt) { method simpleQuery (line 53) | public static List simpleQuery(String prompt, TransportOptions... method simpleQuery (line 95) | public static void simpleQuery(String prompt, TransportOptions transpo... method newSession (line 116) | public static Session newSession() { method newSession (line 126) | public static Session newSession(TransportOptions transportOptions) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/AssistantContent.java type AssistantContent (line 12) | public interface AssistantContent { method getType (line 18) | String getType(); method getContentOfAssistant (line 25) | C getContentOfAssistant(); method getMessageId (line 32) | String getMessageId(); type TextAssistantContent (line 37) | interface TextAssistantContent extends AssistantContent { method getText (line 43) | String getText(); type ThingkingAssistantContent (line 49) | interface ThingkingAssistantContent extends AssistantContent { method getThinking (line 55) | String getThinking(); type ToolUseAssistantContent (line 61) | interface ToolUseAssistantContent extends AssistantContent getInput(); type ToolResultAssistantContent (line 73) | interface ToolResultAssistantContent extends AssistantContent { method getIsError (line 79) | Boolean getIsError(); method getContent (line 86) | String getContent(); method getToolUseId (line 93) | String getToolUseId(); FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/AssistantUsage.java class AssistantUsage (line 11) | public class AssistantUsage { method getMessageId (line 26) | public String getMessageId() { method setMessageId (line 35) | public void setMessageId(String messageId) { method getUsage (line 44) | public Usage getUsage() { method setUsage (line 53) | public void setUsage(Usage usage) { method AssistantUsage (line 63) | public AssistantUsage(String messageId, Usage usage) { method toString (line 73) | public String toString() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/CLIPermissionDenial.java class CLIPermissionDenial (line 11) | public class CLIPermissionDenial { method getToolName (line 35) | public String getToolName() { method setToolName (line 44) | public void setToolName(String toolName) { method getToolUseId (line 53) | public String getToolUseId() { method setToolUseId (line 62) | public void setToolUseId(String toolUseId) { method getToolInput (line 71) | public Object getToolInput() { method setToolInput (line 80) | public void setToolInput(Object toolInput) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/Capabilities.java class Capabilities (line 11) | public class Capabilities { method isCanHandleCanUseTool (line 47) | public boolean isCanHandleCanUseTool() { method setCanHandleCanUseTool (line 56) | public void setCanHandleCanUseTool(boolean canHandleCanUseTool) { method isCanHandleHookCallback (line 65) | public boolean isCanHandleHookCallback() { method setCanHandleHookCallback (line 74) | public void setCanHandleHookCallback(boolean canHandleHookCallback) { method isCanSetPermissionMode (line 83) | public boolean isCanSetPermissionMode() { method setCanSetPermissionMode (line 92) | public void setCanSetPermissionMode(boolean canSetPermissionMode) { method isCanSetModel (line 101) | public boolean isCanSetModel() { method setCanSetModel (line 110) | public void setCanSetModel(boolean canSetModel) { method isCanHandleMcpMessage (line 119) | public boolean isCanHandleMcpMessage() { method setCanHandleMcpMessage (line 128) | public void setCanHandleMcpMessage(boolean canHandleMcpMessage) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/ExtendedUsage.java class ExtendedUsage (line 11) | public class ExtendedUsage extends Usage { method getServerToolUse (line 35) | public ServerToolUse getServerToolUse() { method setServerToolUse (line 44) | public void setServerToolUse(ServerToolUse serverToolUse) { method getServiceTier (line 53) | public String getServiceTier() { method setServiceTier (line 62) | public void setServiceTier(String serviceTier) { method getCacheCreation (line 71) | public CacheCreation getCacheCreation() { method setCacheCreation (line 80) | public void setCacheCreation(CacheCreation cacheCreation) { class ServerToolUse (line 87) | public static class ServerToolUse { class CacheCreation (line 98) | public static class CacheCreation { method getEphemeral1hInputTokens (line 116) | public int getEphemeral1hInputTokens() { method setEphemeral1hInputTokens (line 125) | public void setEphemeral1hInputTokens(int ephemeral1hInputTokens) { method getEphemeral5mInputTokens (line 134) | public int getEphemeral5mInputTokens() { method setEphemeral5mInputTokens (line 143) | public void setEphemeral5mInputTokens(int ephemeral5mInputTokens) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/InitializeConfig.java class InitializeConfig (line 9) | public class InitializeConfig { method getHooks (line 32) | public String getHooks() { method setHooks (line 41) | public void setHooks(String hooks) { method getSdkMcpServers (line 50) | public String getSdkMcpServers() { method setSdkMcpServers (line 59) | public void setSdkMcpServers(String sdkMcpServers) { method getMcpServers (line 68) | public String getMcpServers() { method setMcpServers (line 77) | public void setMcpServers(String mcpServers) { method getAgents (line 86) | public String getAgents() { method setAgents (line 95) | public void setAgents(String agents) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/ModelUsage.java class ModelUsage (line 9) | public class ModelUsage { method getInputTokens (line 40) | public int getInputTokens() { method setInputTokens (line 49) | public void setInputTokens(int inputTokens) { method getOutputTokens (line 58) | public int getOutputTokens() { method setOutputTokens (line 67) | public void setOutputTokens(int outputTokens) { method getCacheReadInputTokens (line 76) | public int getCacheReadInputTokens() { method setCacheReadInputTokens (line 85) | public void setCacheReadInputTokens(int cacheReadInputTokens) { method getCacheCreationInputTokens (line 94) | public int getCacheCreationInputTokens() { method setCacheCreationInputTokens (line 103) | public void setCacheCreationInputTokens(int cacheCreationInputTokens) { method getWebSearchRequests (line 112) | public int getWebSearchRequests() { method setWebSearchRequests (line 121) | public void setWebSearchRequests(int webSearchRequests) { method getContextWindow (line 130) | public int getContextWindow() { method setContextWindow (line 139) | public void setContextWindow(int contextWindow) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/PermissionMode.java type PermissionMode (line 9) | public enum PermissionMode { method PermissionMode (line 29) | PermissionMode(String value) { method getValue (line 38) | public String getValue() { method fromValue (line 48) | public static PermissionMode fromValue(String value) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/Usage.java class Usage (line 12) | public class Usage { method getInputTokens (line 44) | public Integer getInputTokens() { method setInputTokens (line 53) | public void setInputTokens(Integer inputTokens) { method getOutputTokens (line 62) | public Integer getOutputTokens() { method setOutputTokens (line 71) | public void setOutputTokens(Integer outputTokens) { method getCacheCreationInputTokens (line 80) | public Integer getCacheCreationInputTokens() { method setCacheCreationInputTokens (line 89) | public void setCacheCreationInputTokens(Integer cacheCreationInputToke... method getCacheReadInputTokens (line 98) | public Integer getCacheReadInputTokens() { method setCacheReadInputTokens (line 107) | public void setCacheReadInputTokens(Integer cacheReadInputTokens) { method getTotalTokens (line 116) | public Integer getTotalTokens() { method setTotalTokens (line 125) | public void setTotalTokens(Integer totalTokens) { method toString (line 134) | public String toString() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Allow.java class Allow (line 13) | @JSONType(typeKey = "operation", typeName = "allow") method Allow (line 18) | public Allow() { method getUpdatedInput (line 32) | public Map getUpdatedInput() { method setUpdatedInput (line 42) | public Allow setUpdatedInput(Map updatedInput) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Behavior.java class Behavior (line 11) | @JSONType(typeKey = "operation", typeName = "Behavior", seeAlso = {Allow... method getBehavior (line 23) | public Operation getBehavior() { method setBehavior (line 32) | public void setBehavior(Operation behavior) { type Operation (line 39) | public enum Operation { method defaultBehavior (line 55) | public static Behavior defaultBehavior() { method denyBehavior (line 59) | public static Behavior denyBehavior() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/data/behavior/Deny.java class Deny (line 11) | @JSONType(typeKey = "operation", typeName = "deny") method Deny (line 16) | public Deny() { method getMessage (line 31) | public String getMessage() { method setMessage (line 41) | public Deny setMessage(String message) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/Message.java type Message (line 9) | public interface Message { method getType (line 15) | String getType(); method getMessageId (line 22) | String getMessageId(); FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/MessageBase.java class MessageBase (line 13) | @JSONType(alphabetic = false, typeKey = "type", typeName = "MessageBase") method toString (line 31) | public String toString() { method getType (line 36) | @Override method setType (line 46) | public void setType(String type) { method getMessageId (line 51) | @Override method setMessageId (line 61) | public void setMessageId(String messageId) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKResultMessage.java class SDKResultMessage (line 18) | @JSONType(typeKey = "type", typeName = "result") method SDKResultMessage (line 80) | public SDKResultMessage() { method getSubtype (line 90) | public String getSubtype() { method setSubtype (line 99) | public void setSubtype(String subtype) { method getUuid (line 108) | public String getUuid() { method setUuid (line 117) | public void setUuid(String uuid) { method getSessionId (line 126) | public String getSessionId() { method setSessionId (line 135) | public void setSessionId(String sessionId) { method isError (line 144) | public boolean isError() { method setError (line 153) | public void setError(boolean error) { method getDurationMs (line 162) | public Long getDurationMs() { method setDurationMs (line 171) | public void setDurationMs(Long durationMs) { method getDurationApiMs (line 180) | public Long getDurationApiMs() { method setDurationApiMs (line 189) | public void setDurationApiMs(Long durationApiMs) { method getNumTurns (line 198) | public Integer getNumTurns() { method setNumTurns (line 207) | public void setNumTurns(Integer numTurns) { method getUsage (line 216) | public ExtendedUsage getUsage() { method setUsage (line 225) | public void setUsage(ExtendedUsage usage) { method getModelUsage (line 234) | public Map getModelUsage() { method setModelUsage (line 243) | public void setModelUsage(Map modelUsage) { method getPermissionDenials (line 252) | public List getPermissionDenials() { method setPermissionDenials (line 261) | public void setPermissionDenials(List permissionD... method getError (line 270) | public Error getError() { method setError (line 279) | public void setError(Error error) { class Error (line 286) | public static class Error { method getType (line 301) | public String getType() { method setType (line 310) | public void setType(String type) { method getMessage (line 319) | public String getMessage() { method setMessage (line 328) | public void setMessage(String message) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKSystemMessage.java class SDKSystemMessage (line 15) | @JSONType(typeKey = "type", typeName = "system") method SDKSystemMessage (line 92) | public SDKSystemMessage() { method getSubtype (line 102) | public String getSubtype() { method setSubtype (line 111) | public void setSubtype(String subtype) { method getUuid (line 120) | public String getUuid() { method setUuid (line 129) | public void setUuid(String uuid) { method getSessionId (line 138) | public String getSessionId() { method setSessionId (line 147) | public void setSessionId(String sessionId) { method getData (line 156) | public Object getData() { method setData (line 165) | public void setData(Object data) { method getCwd (line 174) | public String getCwd() { method setCwd (line 183) | public void setCwd(String cwd) { method getTools (line 192) | public List getTools() { method setTools (line 201) | public void setTools(List tools) { method getMcpServers (line 210) | public List getMcpServers() { method setMcpServers (line 219) | public void setMcpServers(List mcpServers) { method getModel (line 228) | public String getModel() { method setModel (line 237) | public void setModel(String model) { method getPermissionMode (line 246) | public String getPermissionMode() { method setPermissionMode (line 255) | public void setPermissionMode(String permissionMode) { method getSlashCommands (line 264) | public List getSlashCommands() { method setSlashCommands (line 273) | public void setSlashCommands(List slashCommands) { method getQwenCodeVersion (line 282) | public String getQwenCodeVersion() { method setQwenCodeVersion (line 291) | public void setQwenCodeVersion(String qwenCodeVersion) { method getOutputStyle (line 300) | public String getOutputStyle() { method setOutputStyle (line 309) | public void setOutputStyle(String outputStyle) { method getAgents (line 318) | public List getAgents() { method setAgents (line 327) | public void setAgents(List agents) { method getSkills (line 336) | public List getSkills() { method setSkills (line 345) | public void setSkills(List skills) { method getCapabilities (line 354) | public Map getCapabilities() { method setCapabilities (line 363) | public void setCapabilities(Map capabilities) { method getCompactMetadata (line 372) | public CompactMetadata getCompactMetadata() { method setCompactMetadata (line 381) | public void setCompactMetadata(CompactMetadata compactMetadata) { class McpServer (line 388) | public static class McpServer { method getName (line 403) | public String getName() { method setName (line 412) | public void setName(String name) { method getStatus (line 421) | public String getStatus() { method setStatus (line 430) | public void setStatus(String status) { class CompactMetadata (line 438) | public static class CompactMetadata { method getTrigger (line 455) | public String getTrigger() { method setTrigger (line 464) | public void setTrigger(String trigger) { method getPreTokens (line 473) | public Integer getPreTokens() { method setPreTokens (line 482) | public void setPreTokens(Integer preTokens) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/SDKUserMessage.java class SDKUserMessage (line 14) | @JSONType(typeKey = "type", typeName = "user") method SDKUserMessage (line 44) | public SDKUserMessage() { method getUuid (line 54) | public String getUuid() { method setUuid (line 63) | public void setUuid(String uuid) { method getSessionId (line 72) | public String getSessionId() { method setSessionId (line 82) | public SDKUserMessage setSessionId(String sessionId) { method setContent (line 93) | public SDKUserMessage setContent(String content) { method getContent (line 103) | public String getContent() { method getParentToolUseId (line 112) | public String getParentToolUseId() { method setParentToolUseId (line 122) | public SDKUserMessage setParentToolUseId(String parentToolUseId) { method getOptions (line 132) | public Map getOptions() { method setOptions (line 142) | public SDKUserMessage setOptions(Map options) { class APIUserMessage (line 150) | public static class APIUserMessage { method getRole (line 165) | public String getRole() { method setRole (line 174) | public void setRole(String role) { method getContent (line 183) | public String getContent() { method setContent (line 192) | public void setContent(String content) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/APIAssistantMessage.java class APIAssistantMessage (line 15) | public class APIAssistantMessage { method getId (line 52) | public String getId() { method setId (line 61) | public void setId(String id) { method getType (line 70) | public String getType() { method setType (line 79) | public void setType(String type) { method getRole (line 88) | public String getRole() { method setRole (line 97) | public void setRole(String role) { method getModel (line 106) | public String getModel() { method setModel (line 115) | public void setModel(String model) { method getStopReason (line 124) | public String getStopReason() { method setStopReason (line 133) | public void setStopReason(String stopReason) { method getUsage (line 142) | public Usage getUsage() { method setUsage (line 151) | public void setUsage(Usage usage) { method getContent (line 160) | public List> getContent() { method setContent (line 169) | public void setContent(List> content) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/SDKAssistantMessage.java class SDKAssistantMessage (line 13) | @JSONType(typeKey = "type", typeName = "assistant") method SDKAssistantMessage (line 39) | public SDKAssistantMessage() { method getMessageId (line 45) | @Override method getUuid (line 55) | public String getUuid() { method setUuid (line 64) | public void setUuid(String uuid) { method getSessionId (line 73) | public String getSessionId() { method setSessionId (line 82) | public void setSessionId(String sessionId) { method getMessage (line 91) | public APIAssistantMessage getMessage() { method setMessage (line 100) | public void setMessage(APIAssistantMessage message) { method getParentToolUseId (line 109) | public String getParentToolUseId() { method setParentToolUseId (line 118) | public void setParentToolUseId(String parentToolUseId) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/SDKPartialAssistantMessage.java class SDKPartialAssistantMessage (line 14) | @JSONType(typeKey = "type", typeName = "stream_event") method SDKPartialAssistantMessage (line 40) | public SDKPartialAssistantMessage() { method getUuid (line 50) | public String getUuid() { method setUuid (line 59) | public void setUuid(String uuid) { method getSessionId (line 68) | public String getSessionId() { method setSessionId (line 77) | public void setSessionId(String sessionId) { method getEvent (line 86) | public StreamEvent getEvent() { method setEvent (line 95) | public void setEvent(StreamEvent event) { method getParentToolUseId (line 104) | public String getParentToolUseId() { method setParentToolUseId (line 113) | public void setParentToolUseId(String parentToolUseId) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/Annotation.java class Annotation (line 11) | public class Annotation { method getType (line 29) | public String getType() { method setType (line 38) | public void setType(String type) { method getValue (line 47) | public String getValue() { method setValue (line 56) | public void setValue(String value) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ContentBlock.java class ContentBlock (line 16) | @JSONType(typeKey = "type", typeName = "ContentBlock", seeAlso = { TextB... method getType (line 32) | @Override method setType (line 42) | public void setType(String type) { method getAnnotations (line 51) | public List getAnnotations() { method setAnnotations (line 60) | public void setAnnotations(List annotations) { method getMessageId (line 65) | @Override method setMessageId (line 75) | public void setMessageId(String messageId) { method toString (line 84) | public String toString() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/TextBlock.java class TextBlock (line 12) | @JSONType(typeKey = "type", typeName = "text") method getText (line 24) | public String getText() { method setText (line 33) | public void setText(String text) { method getContentOfAssistant (line 38) | @Override FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ThinkingBlock.java class ThinkingBlock (line 12) | @JSONType(typeKey = "type", typeName = "thinking") method getThinking (line 28) | public String getThinking() { method setThinking (line 37) | public void setThinking(String thinking) { method getSignature (line 46) | public String getSignature() { method setSignature (line 55) | public void setSignature(String signature) { method getContentOfAssistant (line 60) | @Override FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ToolResultBlock.java class ToolResultBlock (line 13) | @JSONType(typeKey = "type", typeName = "tool_result") method getToolUseId (line 38) | public String getToolUseId() { method setToolUseId (line 47) | public void setToolUseId(String toolUseId) { method getContent (line 56) | public String getContent() { method setContent (line 65) | public void setContent(String content) { method getIsError (line 74) | public Boolean getIsError() { method setIsError (line 83) | public void setIsError(Boolean isError) { method getContentOfAssistant (line 88) | @Override FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/block/ToolUseBlock.java class ToolUseBlock (line 16) | @JSONType(typeKey = "type", typeName = "tool_use") method ToolUseBlock (line 38) | public ToolUseBlock() {} method getId (line 45) | public String getId() { method setId (line 54) | public void setId(String id) { method getName (line 63) | public String getName() { method setName (line 72) | public void setName(String name) { method getInput (line 81) | public Map getInput() { method setInput (line 90) | public void setInput(Map input) { method getAnnotations (line 99) | public List getAnnotations() { method setAnnotations (line 108) | @Override method getContentOfAssistant (line 118) | @Override FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockDeltaEvent.java class ContentBlockDeltaEvent (line 20) | @JSONType(typeKey = "type", typeName = "content_block_delta") method getIndex (line 36) | public int getIndex() { method setIndex (line 45) | public void setIndex(int index) { method getDelta (line 54) | public ContentBlockDelta getDelta() { method setDelta (line 63) | public void setDelta(ContentBlockDelta delta) { class ContentBlockDelta (line 72) | @JSONType(typeKey = "type", typeName = "ContentBlockDelta", method getType (line 84) | @Override method setType (line 94) | public void setType(String type) { method getMessageId (line 98) | @Override method setMessageId (line 108) | public void setMessageId(String messageId) { method toString (line 112) | public String toString() { class ContentBlockDeltaText (line 120) | @JSONType(typeKey = "type", typeName = "text_delta") method getText (line 132) | public String getText() { method setText (line 141) | public void setText(String text) { method getContentOfAssistant (line 145) | @Override class ContentBlockDeltaThinking (line 154) | @JSONType(typeKey = "type", typeName = "thinking_delta") method getThinking (line 166) | public String getThinking() { method setThinking (line 175) | public void setThinking(String thinking) { method getContentOfAssistant (line 179) | @Override class ContentBlockDeltaInputJson (line 188) | @JSONType(typeKey = "type", typeName = "input_json_delta") method getPartialJson (line 201) | public String getPartialJson() { method setPartialJson (line 210) | public void setPartialJson(String partialJson) { method getContentOfAssistant (line 214) | @Override method getInput (line 219) | @Override FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockStartEvent.java class ContentBlockStartEvent (line 13) | @JSONType(typeKey = "type", typeName = "content_block_start") FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/ContentBlockStopEvent.java class ContentBlockStopEvent (line 11) | @JSONType(typeKey = "type", typeName = "content_block_stop") method getIndex (line 23) | public Long getIndex() { method setIndex (line 32) | public void setIndex(Long index) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/MessageStartStreamEvent.java class MessageStartStreamEvent (line 11) | @JSONType(typeName = "message_start") class Message (line 21) | public static class Message { method getId (line 40) | public String getId() { method setId (line 49) | public void setId(String id) { method getRole (line 58) | public String getRole() { method setRole (line 67) | public void setRole(String role) { method getModel (line 76) | public String getModel() { method setModel (line 85) | public void setModel(String model) { method getMessage (line 95) | public Message getMessage() { method setMessage (line 104) | public void setMessage(Message message) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/MessageStopStreamEvent.java class MessageStopStreamEvent (line 11) | @JSONType(typeName = "message_stop") FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/assistant/event/StreamEvent.java class StreamEvent (line 11) | @JSONType(typeKey = "type", typeName = "StreamEvent", method getType (line 25) | public String getType() { method setType (line 34) | public void setType(String type) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/CLIControlRequest.java class CLIControlRequest (line 17) | @JSONType(typeKey = "type", typeName = "control_request") method CLIControlRequest (line 33) | public CLIControlRequest() { method create (line 45) | public static CLIControlRequest c... method getRequestId (line 56) | public String getRequestId() { method setRequestId (line 66) | public CLIControlRequest setRequestId(String requestId) { method getRequest (line 76) | public R getRequest() { method setRequest (line 86) | public CLIControlRequest setRequest(R request) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/CLIControlResponse.java class CLIControlResponse (line 14) | @JSONType(typeKey = "type", typeName = "control_response") method CLIControlResponse (line 24) | public CLIControlResponse() { method getResponse (line 34) | public Response getResponse() { method setResponse (line 43) | public void setResponse(Response response) { method createResponse (line 52) | public Response createResponse() { class Response (line 63) | public static class Response { method getRequestId (line 83) | public String getRequestId() { method setRequestId (line 93) | public Response setRequestId(String requestId) { method getSubtype (line 103) | public String getSubtype() { method setSubtype (line 113) | public Response setSubtype(String subtype) { method getResponse (line 123) | public R getResponse() { method setResponse (line 133) | public Response setResponse(R response) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInitializeRequest.java class CLIControlInitializeRequest (line 13) | @JSONType(typeKey = "subtype", typeName = "initialize") method CLIControlInitializeRequest (line 15) | public CLIControlInitializeRequest() { method getInitializeConfig (line 31) | public InitializeConfig getInitializeConfig() { method setInitializeConfig (line 41) | public CLIControlInitializeRequest setInitializeConfig(InitializeConfi... FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInitializeResponse.java class CLIControlInitializeResponse (line 12) | @JSONType(typeKey = "subtype", typeName = "initialize") method CLIControlInitializeResponse (line 14) | public CLIControlInitializeResponse() { method getCapabilities (line 29) | public Capabilities getCapabilities() { method setCapabilities (line 38) | public void setCapabilities(Capabilities capabilities) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlInterruptRequest.java class CLIControlInterruptRequest (line 11) | @JSONType(typeKey = "subtype", typeName = "interrupt") method CLIControlInterruptRequest (line 13) | public CLIControlInterruptRequest() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlPermissionRequest.java class CLIControlPermissionRequest (line 15) | @JSONType(typeKey = "subtype", typeName = "can_use_tool") method CLIControlPermissionRequest (line 17) | public CLIControlPermissionRequest() { method getToolName (line 56) | public String getToolName() { method setToolName (line 65) | public void setToolName(String toolName) { method getToolUseId (line 74) | public String getToolUseId() { method setToolUseId (line 83) | public void setToolUseId(String toolUseId) { method getInput (line 92) | public Map getInput() { method setInput (line 101) | public void setInput(Map input) { method getPermissionSuggestions (line 110) | public List getPermissionSuggestions() { method setPermissionSuggestions (line 119) | public void setPermissionSuggestions( method getBlockedPath (line 129) | public String getBlockedPath() { method setBlockedPath (line 138) | public void setBlockedPath(String blockedPath) { class PermissionSuggestion (line 145) | public static class PermissionSuggestion { method getType (line 168) | public String getType() { method setType (line 177) | public void setType(String type) { method getLabel (line 186) | public String getLabel() { method setLabel (line 195) | public void setLabel(String label) { method getDescription (line 204) | public String getDescription() { method setDescription (line 213) | public void setDescription(String description) { method getModifiedInput (line 222) | public Object getModifiedInput() { method setModifiedInput (line 231) | public void setModifiedInput(Object modifiedInput) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlPermissionResponse.java class CLIControlPermissionResponse (line 13) | @JSONType(typeKey = "subtype", typeName = "can_use_tool") method CLIControlPermissionResponse (line 15) | public CLIControlPermissionResponse() { method getBehavior (line 31) | public Behavior getBehavior() { method setBehavior (line 41) | public CLIControlPermissionResponse setBehavior(Behavior behavior) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetModelRequest.java class CLIControlSetModelRequest (line 11) | @JSONType(typeKey = "subtype", typeName = "set_model") method CLIControlSetModelRequest (line 13) | public CLIControlSetModelRequest() { method getModel (line 28) | public String getModel() { method setModel (line 37) | public void setModel(String model) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetModelResponse.java class CLIControlSetModelResponse (line 9) | public class CLIControlSetModelResponse { method getSubtype (line 24) | public String getSubtype() { method setSubtype (line 33) | public void setSubtype(String subtype) { method getModel (line 42) | public String getModel() { method setModel (line 51) | public void setModel(String model) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/CLIControlSetPermissionModeRequest.java class CLIControlSetPermissionModeRequest (line 11) | @JSONType(typeKey = "subtype", typeName = "set_permission_mode") method CLIControlSetPermissionModeRequest (line 13) | public CLIControlSetPermissionModeRequest() { method getMode (line 28) | public String getMode() { method setMode (line 37) | public void setMode(String mode) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/ControlRequestPayload.java class ControlRequestPayload (line 11) | @JSONType(typeKey = "subtype", typeName = "ControlRequestPayload", method getSubtype (line 19) | public String getSubtype() { method setSubtype (line 23) | public void setSubtype(String subtype) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/message/control/payload/ControlResponsePayload.java class ControlResponsePayload (line 11) | @JSONType(typeKey = "subtype", typeName = "ControlResponsePayload", method getSubtype (line 19) | public String getSubtype() { method setSubtype (line 23) | public void setSubtype(String subtype) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/protocol/protocol.ts type Annotation (line 4) | interface Annotation { type Usage (line 9) | interface Usage { type ExtendedUsage (line 17) | interface ExtendedUsage extends Usage { type ModelUsage (line 28) | interface ModelUsage { type CLIPermissionDenial (line 37) | interface CLIPermissionDenial { type TextBlock (line 43) | interface TextBlock { type ThinkingBlock (line 49) | interface ThinkingBlock { type ToolUseBlock (line 56) | interface ToolUseBlock { type ToolResultBlock (line 64) | interface ToolResultBlock { type ContentBlock (line 72) | type ContentBlock = type APIUserMessage (line 78) | interface APIUserMessage { type APIAssistantMessage (line 83) | interface APIAssistantMessage { type SDKUserMessage (line 93) | interface SDKUserMessage { type SDKAssistantMessage (line 102) | interface SDKAssistantMessage { type SDKSystemMessage (line 110) | interface SDKSystemMessage { type SDKResultMessageSuccess (line 136) | interface SDKResultMessageSuccess { type SDKResultMessageError (line 152) | interface SDKResultMessageError { type SDKResultMessage (line 172) | type SDKResultMessage = SDKResultMessageSuccess | SDKResultMessageError; type MessageStartStreamEvent (line 174) | interface MessageStartStreamEvent { type ContentBlockStartEvent (line 183) | interface ContentBlockStartEvent { type ContentBlockDelta (line 189) | type ContentBlockDelta = type ContentBlockDeltaEvent (line 203) | interface ContentBlockDeltaEvent { type ContentBlockStopEvent (line 209) | interface ContentBlockStopEvent { type MessageStopStreamEvent (line 214) | interface MessageStopStreamEvent { type StreamEvent (line 218) | type StreamEvent = type SDKPartialAssistantMessage (line 225) | interface SDKPartialAssistantMessage { type PermissionMode (line 233) | type PermissionMode = 'default' | 'plan' | 'auto-edit' | 'yolo'; type PermissionSuggestion (line 238) | interface PermissionSuggestion { type HookRegistration (line 245) | interface HookRegistration { type HookCallbackResult (line 250) | interface HookCallbackResult { type CLIControlInterruptRequest (line 257) | interface CLIControlInterruptRequest { type CLIControlPermissionRequest (line 261) | interface CLIControlPermissionRequest { type AuthProviderType (line 270) | enum AuthProviderType { type MCPServerConfig (line 276) | interface MCPServerConfig { type SDKMcpServerConfig (line 303) | interface SDKMcpServerConfig { type WireSDKMcpServerConfig (line 321) | type WireSDKMcpServerConfig = Omit; type CLIControlInitializeRequest (line 323) | interface CLIControlInitializeRequest { type CLIControlSetPermissionModeRequest (line 339) | interface CLIControlSetPermissionModeRequest { type CLIHookCallbackRequest (line 344) | interface CLIHookCallbackRequest { type CLIControlMcpMessageRequest (line 351) | interface CLIControlMcpMessageRequest { type CLIControlSetModelRequest (line 362) | interface CLIControlSetModelRequest { type CLIControlMcpStatusRequest (line 367) | interface CLIControlMcpStatusRequest { type CLIControlSupportedCommandsRequest (line 371) | interface CLIControlSupportedCommandsRequest { type ControlRequestPayload (line 375) | type ControlRequestPayload = type CLIControlRequest (line 386) | interface CLIControlRequest { type PermissionApproval (line 392) | interface PermissionApproval { type ControlResponse (line 398) | interface ControlResponse { type ControlErrorResponse (line 404) | interface ControlErrorResponse { type CLIControlResponse (line 410) | interface CLIControlResponse { type ControlCancelRequest (line 415) | interface ControlCancelRequest { type ControlMessage (line 420) | type ControlMessage = type SDKMessage (line 428) | type SDKMessage = function isSDKUserMessage (line 435) | function isSDKUserMessage(msg: any): msg is SDKUserMessage { function isSDKAssistantMessage (line 441) | function isSDKAssistantMessage(msg: any): msg is SDKAssistantMessage { function isSDKSystemMessage (line 453) | function isSDKSystemMessage(msg: any): msg is SDKSystemMessage { function isSDKResultMessage (line 464) | function isSDKResultMessage(msg: any): msg is SDKResultMessage { function isSDKPartialAssistantMessage (line 477) | function isSDKPartialAssistantMessage( function isControlRequest (line 491) | function isControlRequest(msg: any): msg is CLIControlRequest { function isControlResponse (line 501) | function isControlResponse(msg: any): msg is CLIControlResponse { function isControlCancel (line 510) | function isControlCancel(msg: any): msg is ControlCancelRequest { function isTextBlock (line 519) | function isTextBlock(block: any): block is TextBlock { function isThinkingBlock (line 523) | function isThinkingBlock(block: any): block is ThinkingBlock { function isToolUseBlock (line 527) | function isToolUseBlock(block: any): block is ToolUseBlock { function isToolResultBlock (line 531) | function isToolResultBlock(block: any): block is ToolResultBlock { type SubagentLevel (line 535) | type SubagentLevel = 'session'; type ModelConfig (line 537) | interface ModelConfig { type RunConfig (line 543) | interface RunConfig { type SubagentConfig (line 548) | interface SubagentConfig { type ControlRequestType (line 577) | enum ControlRequestType { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/Session.java class Session (line 43) | public class Session { method isStreaming (line 55) | public boolean isStreaming() { method Session (line 68) | public Session(Transport transport) throws SessionControlException { method start (line 81) | public void start() throws SessionControlException { method close (line 100) | public void close() throws SessionControlException { method interrupt (line 114) | public Optional interrupt() throws SessionControlException { method setModel (line 126) | public Optional setModel(String modelName) throws SessionCont... method setPermissionMode (line 140) | public Optional setPermissionMode(PermissionMode permissionMo... method processControlRequest (line 148) | private Optional processControlRequest(String request) throws... method continueSession (line 168) | public void continueSession() throws SessionControlException { method resumeSession (line 178) | public void resumeSession(String sessionId) throws SessionControlExcep... method sendPrompt (line 193) | public void sendPrompt(String prompt, SessionEventConsumers sessionEve... method getSessionId (line 275) | public String getSessionId() { method isAvailable (line 284) | public boolean isAvailable() { method getCapabilities (line 293) | public Capabilities getCapabilities() { method checkAvailable (line 297) | private void checkAvailable() throws SessionControlException { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/AssistantContentConsumers.java type AssistantContentConsumers (line 23) | public interface AssistantContentConsumers { method onText (line 30) | void onText(Session session, TextAssistantContent textAssistantContent); method onThinking (line 38) | void onThinking(Session session, ThingkingAssistantContent thingkingAs... method onToolUse (line 46) | void onToolUse(Session session, ToolUseAssistantContent toolUseAssista... method onToolResult (line 54) | void onToolResult(Session session, ToolResultAssistantContent toolResu... method onOtherContent (line 62) | void onOtherContent(Session session, AssistantContent other); method onPermissionRequest (line 71) | Behavior onPermissionRequest(Session session, CLIControlPermissionRequ... method onOtherControlRequest (line 80) | ControlResponsePayload onOtherControlRequest(Session session, ControlR... method onUsage (line 88) | void onUsage(Session session, AssistantUsage AssistantUsage); method setDefaultPermissionOperation (line 96) | AssistantContentSimpleConsumers setDefaultPermissionOperation(Operatio... method onPermissionRequestTimeout (line 104) | Timeout onPermissionRequestTimeout(Session session, CLIControlPermissi... method onOtherControlRequestTimeout (line 113) | Timeout onOtherControlRequestTimeout(Session session, ControlRequestPa... method onTextTimeout (line 122) | Timeout onTextTimeout(Session session, TextAssistantContent textAssist... method onThinkingTimeout (line 131) | Timeout onThinkingTimeout(Session session, ThingkingAssistantContent t... method onToolUseTimeout (line 140) | Timeout onToolUseTimeout(Session session, ToolUseAssistantContent tool... method onToolResultTimeout (line 149) | Timeout onToolResultTimeout(Session session, ToolResultAssistantConten... method onOtherContentTimeout (line 158) | Timeout onOtherContentTimeout(Session session, AssistantContent oth... FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/AssistantContentSimpleConsumers.java class AssistantContentSimpleConsumers (line 28) | public class AssistantContentSimpleConsumers implements AssistantContent... method onText (line 32) | @Override method onThinking (line 40) | @Override method onToolUse (line 48) | @Override method onToolResult (line 56) | @Override method onOtherContent (line 66) | @Override method onPermissionRequest (line 76) | @Override method onOtherControlRequest (line 87) | @Override method onUsage (line 95) | @Override method onPermissionRequestTimeout (line 103) | @Override method onOtherControlRequestTimeout (line 111) | @Override method onTextTimeout (line 119) | @Override method onThinkingTimeout (line 127) | @Override method onToolUseTimeout (line 135) | @Override method onToolResultTimeout (line 143) | @Override method onOtherContentTimeout (line 151) | @Override method setDefaultPermissionOperation (line 159) | @Override method AssistantContentSimpleConsumers (line 171) | public AssistantContentSimpleConsumers(Operation defaultPermissionOper... method AssistantContentSimpleConsumers (line 179) | public AssistantContentSimpleConsumers() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/SessionEventConsumers.java type SessionEventConsumers (line 21) | public interface SessionEventConsumers { method onSystemMessage (line 28) | void onSystemMessage(Session session, SDKSystemMessage systemMessage); method onResultMessage (line 36) | void onResultMessage(Session session, SDKResultMessage resultMessage); method onAssistantMessage (line 44) | void onAssistantMessage(Session session, SDKAssistantMessage assistant... method onPartialAssistantMessage (line 52) | void onPartialAssistantMessage(Session session, SDKPartialAssistantMes... method onUserMessage (line 60) | void onUserMessage(Session session, SDKUserMessage userMessage); method onOtherMessage (line 68) | void onOtherMessage(Session session, String message); method onControlResponse (line 76) | void onControlResponse(Session session, CLIControlResponse cliContr... method onControlRequest (line 85) | CLIControlResponse onControlRequest(... method onSystemMessageTimeout (line 94) | Timeout onSystemMessageTimeout(Session session, SDKSystemMessage syste... method onResultMessageTimeout (line 103) | Timeout onResultMessageTimeout(Session session, SDKResultMessage resul... method onAssistantMessageTimeout (line 112) | Timeout onAssistantMessageTimeout(Session session, SDKAssistantMessage... method onPartialAssistantMessageTimeout (line 121) | Timeout onPartialAssistantMessageTimeout(Session session, SDKPartialAs... method onUserMessageTimeout (line 130) | Timeout onUserMessageTimeout(Session session, SDKUserMessage userMessa... method onOtherMessageTimeout (line 139) | Timeout onOtherMessageTimeout(Session session, String message); method onControlResponseTimeout (line 148) | Timeout onControlResponseTimeout(Session session, CLIControlResponse ... FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/event/consumers/SessionEventSimpleConsumers.java class SessionEventSimpleConsumers (line 43) | public class SessionEventSimpleConsumers implements SessionEventConsumers { method onSystemMessage (line 47) | @Override method onResultMessage (line 54) | @Override method onAssistantMessage (line 61) | @Override method onPartialAssistantMessage (line 78) | @Override method consumeAssistantContent (line 97) | protected void consumeAssistantContent(Session session, AssistantConte... method onUserMessage (line 123) | @Override method onOtherMessage (line 130) | @Override method onControlResponse (line 137) | @Override method onControlRequest (line 144) | @Override method supplyPermissionControlResponse (line 159) | private CLIControlResponse supplyPermiss... method supplyOtherControlResponse (line 187) | private CLIControlResponse supplyOtherControlR... method onSystemMessageTimeout (line 209) | @Override method onResultMessageTimeout (line 217) | @Override method onAssistantMessageTimeout (line 225) | @Override method onPartialAssistantMessageTimeout (line 233) | @Override method onUserMessageTimeout (line 241) | @Override method onOtherMessageTimeout (line 249) | @Override method onControlResponseTimeout (line 257) | @Override method onControlRequestTimeout (line 265) | @Override method getDefaultEventTimeout (line 275) | protected Timeout getDefaultEventTimeout() { method setDefaultEventTimeout (line 285) | public SessionEventSimpleConsumers setDefaultEventTimeout(Timeout defa... method SessionEventSimpleConsumers (line 293) | public SessionEventSimpleConsumers() { method SessionEventSimpleConsumers (line 302) | public SessionEventSimpleConsumers(Timeout defaultEventTimeout, Assist... method setAssistantContentConsumer (line 325) | public SessionEventSimpleConsumers setAssistantContentConsumer(Assista... method getAssistantContentConsumers (line 336) | public AssistantContentConsumers getAssistantContentConsumers() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/exception/SessionControlException.java class SessionControlException (line 9) | public class SessionControlException extends Exception { method SessionControlException (line 13) | public SessionControlException() { method SessionControlException (line 21) | public SessionControlException(String message) { method SessionControlException (line 31) | public SessionControlException(String message, Throwable cause) { method SessionControlException (line 40) | public SessionControlException(Throwable cause) { method SessionControlException (line 52) | public SessionControlException(String message, Throwable cause, boolea... FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/session/exception/SessionSendPromptException.java class SessionSendPromptException (line 9) | public class SessionSendPromptException extends Exception { method SessionSendPromptException (line 13) | public SessionSendPromptException() { method SessionSendPromptException (line 21) | public SessionSendPromptException(String message) { method SessionSendPromptException (line 31) | public SessionSendPromptException(String message, Throwable cause) { method SessionSendPromptException (line 40) | public SessionSendPromptException(Throwable cause) { method SessionSendPromptException (line 52) | public SessionSendPromptException(String message, Throwable cause, boo... FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/Transport.java type Transport (line 14) | public interface Transport { method getTransportOptions (line 20) | TransportOptions getTransportOptions(); method isReading (line 27) | boolean isReading(); method start (line 34) | void start() throws IOException; method close (line 41) | void close() throws IOException; method isAvailable (line 48) | boolean isAvailable(); method inputWaitForOneLine (line 60) | String inputWaitForOneLine(String message) throws IOException, Executi... method inputWaitForMultiLine (line 69) | void inputWaitForMultiLine(String message, Function c... method inputNoWaitResponse (line 77) | void inputNoWaitResponse(String message) throws IOException; FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/TransportOptions.java class TransportOptions (line 15) | public class TransportOptions implements Cloneable { method getPathToQwenExecutable (line 82) | public String getPathToQwenExecutable() { method setPathToQwenExecutable (line 92) | public TransportOptions setPathToQwenExecutable(String pathToQwenExecu... method getCwd (line 102) | public String getCwd() { method setCwd (line 112) | public TransportOptions setCwd(String cwd) { method getModel (line 122) | public String getModel() { method setModel (line 132) | public TransportOptions setModel(String model) { method getPermissionMode (line 142) | public PermissionMode getPermissionMode() { method setPermissionMode (line 152) | public TransportOptions setPermissionMode(PermissionMode permissionMod... method getEnv (line 162) | public Map getEnv() { method setEnv (line 172) | public TransportOptions setEnv(Map env) { method getMaxSessionTurns (line 182) | public Integer getMaxSessionTurns() { method setMaxSessionTurns (line 192) | public TransportOptions setMaxSessionTurns(Integer maxSessionTurns) { method getCoreTools (line 202) | public List getCoreTools() { method setCoreTools (line 212) | public TransportOptions setCoreTools(List coreTools) { method getExcludeTools (line 222) | public List getExcludeTools() { method setExcludeTools (line 232) | public TransportOptions setExcludeTools(List excludeTools) { method getAllowedTools (line 242) | public List getAllowedTools() { method setAllowedTools (line 252) | public TransportOptions setAllowedTools(List allowedTools) { method getAuthType (line 262) | public String getAuthType() { method setAuthType (line 272) | public TransportOptions setAuthType(String authType) { method getIncludePartialMessages (line 282) | public Boolean getIncludePartialMessages() { method setIncludePartialMessages (line 292) | public TransportOptions setIncludePartialMessages(Boolean includeParti... method getTurnTimeout (line 302) | public Timeout getTurnTimeout() { method setTurnTimeout (line 312) | public TransportOptions setTurnTimeout(Timeout turnTimeout) { method getMessageTimeout (line 322) | public Timeout getMessageTimeout() { method setMessageTimeout (line 332) | public TransportOptions setMessageTimeout(Timeout messageTimeout) { method getResumeSessionId (line 342) | public String getResumeSessionId() { method setResumeSessionId (line 352) | public TransportOptions setResumeSessionId(String resumeSessionId) { method getOtherOptions (line 362) | public List getOtherOptions() { method setOtherOptions (line 372) | public TransportOptions setOtherOptions(List otherOptions) { method clone (line 378) | @Override FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/process/ProcessTransport.java class ProcessTransport (line 31) | public class ProcessTransport implements Transport { method ProcessTransport (line 50) | public ProcessTransport() throws IOException { method ProcessTransport (line 60) | public ProcessTransport(TransportOptions transportOptions) throws IOEx... method ProcessTransport (line 71) | public ProcessTransport(TransportOptions transportOptions, Consumer callBackFunction) { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/transport/process/TransportOptionsAdapter.java class TransportOptionsAdapter (line 20) | class TransportOptionsAdapter { method TransportOptionsAdapter (line 39) | TransportOptionsAdapter(TransportOptions userTransportOptions) { method getHandledTransportOptions (line 48) | TransportOptions getHandledTransportOptions() { method getCwd (line 57) | String getCwd() { method buildCommandArgs (line 66) | String[] buildCommandArgs() { method addDefaultTransportOptions (line 127) | private TransportOptions addDefaultTransportOptions(TransportOptions u... FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/MyConcurrentUtils.java class MyConcurrentUtils (line 18) | public class MyConcurrentUtils { method runAndWait (line 27) | public static void runAndWait(Runnable runnable, Timeout timeOut) { method runAndWait (line 60) | public static T runAndWait(Supplier supplier, Timeout timeOut) method asyncRun (line 84) | public static void asyncRun(Runnable runnable, BiConsumer ex... method getDefaultExecutor (line 51) | public static ThreadPoolExecutor getDefaultExecutor() { method getExecutor (line 55) | static ExecutorService getExecutor() { FILE: packages/sdk-java/qwencode/src/main/java/com/alibaba/qwen/code/cli/utils/Timeout.java class Timeout (line 13) | public class Timeout { method Timeout (line 29) | public Timeout(Long value, TimeUnit unit) { method getValue (line 41) | public Long getValue() { method getUnit (line 50) | public TimeUnit getUnit() { FILE: packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/QwenCodeCliTest.java class QwenCodeCliTest (line 13) | class QwenCodeCliTest { method simpleQuery (line 16) | @Test method simpleQueryWithModel (line 23) | @Test FILE: packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/QuickStartExample.java class QuickStartExample (line 26) | public class QuickStartExample { method main (line 29) | public static void main(String[] args) { method runSimpleExample (line 45) | public static void runSimpleExample() { method runTransportOptionsExample (line 53) | public static void runTransportOptionsExample() { method runStreamingExample (line 71) | public static void runStreamingExample() { FILE: packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/SessionExample.java class SessionExample (line 34) | public class SessionExample { method main (line 37) | public static void main(String[] args) { method runPermissionModeExample (line 74) | public static void runPermissionModeExample(Session session) { method runInterruptExample (line 86) | public static void runInterruptExample(Session session) { method runSetModelExample (line 116) | public static void runSetModelExample(Session session) { method runSetPermissionModeExample (line 141) | public static void runSetPermissionModeExample(Session session) { method runPromptUseLowLevelEventExample (line 163) | public static void runPromptUseLowLevelEventExample(Session session) { method runPromptUseHighLevelEventExample (line 213) | public static void runPromptUseHighLevelEventExample(Session session) { FILE: packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/example/ThreadPoolConfigurationExample.java class ThreadPoolConfigurationExample (line 12) | public class ThreadPoolConfigurationExample { method main (line 15) | public static void main(String[] args) { method runCustomSupplierExample (line 23) | public static void runCustomSupplierExample() { method runModifyDefaultExample (line 32) | public static void runModifyDefaultExample() { FILE: packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/session/SessionTest.java class SessionTest (line 32) | class SessionTest { method partialSendPromptSuccessfully (line 36) | @Test method setPermissionModeSuccessfully (line 72) | @Test method sendPromptAndSetModelSuccessfully (line 94) | @Test method sendPromptAndInterruptContinueSuccessfully (line 119) | @Test method writeSplitLine (line 170) | public void writeSplitLine(String line) { method testJSON (line 174) | @Test FILE: packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/transport/PermissionModeTest.java class PermissionModeTest (line 9) | public class PermissionModeTest { method shouldBeReturnQwenPermissionModeValue (line 11) | @Test FILE: packages/sdk-java/qwencode/src/test/java/com/alibaba/qwen/code/cli/transport/process/ProcessTransportTest.java class ProcessTransportTest (line 22) | class ProcessTransportTest { method shouldStartAndCloseSuccessfully (line 26) | @Test method shouldInputWaitForOneLineSuccessfully (line 33) | @Test method shouldInitializeSuccessfully (line 42) | @Test method shouldSdkMessageSuccessfully (line 54) | @Test FILE: packages/sdk-typescript/scripts/bundle-cli-from-npm.js function main (line 25) | function main() { FILE: packages/sdk-typescript/scripts/bundle-cli.js function run (line 25) | function run(cmd, args, opts = {}) { function ensureRootBundle (line 39) | function ensureRootBundle() { function main (line 51) | function main() { FILE: packages/sdk-typescript/scripts/get-release-version.js constant PACKAGE_NAME (line 17) | const PACKAGE_NAME = '@qwen-code/sdk'; constant TAG_PREFIX (line 18) | const TAG_PREFIX = 'sdk-typescript-v'; function readJson (line 20) | function readJson(filePath) { function getArgs (line 24) | function getArgs() { function getVersionFromNPM (line 35) | function getVersionFromNPM(distTag) { function getAllVersionsFromNPM (line 47) | function getAllVersionsFromNPM() { function isVersionDeprecated (line 60) | function isVersionDeprecated(version) { function semverCompare (line 73) | function semverCompare(a, b) { function detectRollbackAndGetBaseline (line 96) | function detectRollbackAndGetBaseline(npmDistTag) { function doesVersionExist (line 144) | function doesVersionExist(version) { function getAndVerifyTags (line 193) | function getAndVerifyTags(npmDistTag) { function getLatestStableReleaseTag (line 218) | function getLatestStableReleaseTag() { function getNextPatchVersion (line 230) | function getNextPatchVersion() { function getNightlyVersion (line 242) | function getNightlyVersion() { function validateVersion (line 253) | function validateVersion(version, format, name) { function getStableVersion (line 266) | function getStableVersion(args) { function getPreviewVersion (line 284) | function getPreviewVersion(args) { function getVersion (line 306) | function getVersion(options = {}) { FILE: packages/sdk-typescript/src/mcp/SdkControlServerTransport.ts type SendToQueryCallback (line 14) | type SendToQueryCallback = (message: JSONRPCMessage) => Promise; type SdkControlServerTransportOptions (line 16) | interface SdkControlServerTransportOptions { class SdkControlServerTransport (line 21) | class SdkControlServerTransport { method constructor (line 31) | constructor(options: SdkControlServerTransportOptions) { method start (line 39) | async start(): Promise { method send (line 44) | async send(message: JSONRPCMessage): Promise { method close (line 63) | async close(): Promise { method handleMessage (line 77) | handleMessage(message: JSONRPCMessage): void { method handleError (line 91) | handleError(error: Error): void { method isStarted (line 98) | isStarted(): boolean { method getServerName (line 102) | getServerName(): string { FILE: packages/sdk-typescript/src/mcp/createSdkMcpServer.ts type CreateSdkMcpServerOptions (line 18) | type CreateSdkMcpServerOptions = { type McpSdkServerConfigWithInstance (line 28) | type McpSdkServerConfigWithInstance = { function createSdkMcpServer (line 56) | function createSdkMcpServer( FILE: packages/sdk-typescript/src/mcp/formatters.ts type McpContentBlock (line 7) | type McpContentBlock = type ToolResult (line 12) | interface ToolResult { function formatToolResult (line 17) | function formatToolResult(result: unknown): ToolResult { function formatToolError (line 114) | function formatToolError(error: Error | string): ToolResult { function formatTextResult (line 128) | function formatTextResult(text: string): ToolResult { function formatJsonResult (line 139) | function formatJsonResult(data: unknown): ToolResult { function mergeToolResults (line 150) | function mergeToolResults(results: ToolResult[]): ToolResult { function isValidContentBlock (line 167) | function isValidContentBlock(block: unknown): block is McpContentBlock { FILE: packages/sdk-typescript/src/mcp/tool.ts type SdkMcpToolDefinition (line 17) | type SdkMcpToolDefinition = { function tool (line 46) | function tool( function validateToolName (line 74) | function validateToolName(name: string): void { FILE: packages/sdk-typescript/src/query/Query.ts constant DEFAULT_CAN_USE_TOOL_TIMEOUT (line 8) | const DEFAULT_CAN_USE_TOOL_TIMEOUT = 60_000; constant DEFAULT_MCP_REQUEST_TIMEOUT (line 9) | const DEFAULT_MCP_REQUEST_TIMEOUT = 60_000; constant DEFAULT_CONTROL_REQUEST_TIMEOUT (line 10) | const DEFAULT_CONTROL_REQUEST_TIMEOUT = 60_000; constant DEFAULT_STREAM_CLOSE_TIMEOUT (line 11) | const DEFAULT_STREAM_CLOSE_TIMEOUT = 60_000; type PendingControlRequest (line 48) | interface PendingControlRequest { type PendingMcpResponse (line 55) | interface PendingMcpResponse { type TransportWithEndInput (line 60) | interface TransportWithEndInput extends Transport { class Query (line 66) | class Query implements AsyncIterable { method constructor (line 88) | constructor( method initializeSdkMcpServers (line 160) | private async initializeSdkMcpServers(): Promise { method handleMcpServerResponse (line 223) | private handleMcpServerResponse( method getSdkMcpServersForCli (line 253) | private getSdkMcpServersForCli(): Record { method initialize (line 283) | private async initialize(): Promise { method startMessageRouter (line 313) | private startMessageRouter(): void { method routeMessage (line 343) | private async routeMessage(message: unknown): Promise { method handleControlRequest (line 396) | private async handleControlRequest( method handlePermissionRequest (line 439) | private async handlePermissionRequest( method handleMcpMessage (line 508) | private async handleMcpMessage( method handleMcpRequest (line 539) | private handleMcpRequest( method handleControlResponse (line 583) | private handleControlResponse(response: CLIControlResponse): void { method handleControlCancelRequest (line 622) | private handleControlCancelRequest(request: ControlCancelRequest): void { method sendControlRequest (line 640) | private async sendControlRequest( method sendControlResponse (line 707) | private async sendControlResponse( method close (line 738) | async close(): Promise { method readSdkMessages (line 796) | private async *readSdkMessages(): AsyncGenerator { method next (line 802) | async next(...args: [] | [unknown]): Promise> { method throw (line 810) | async throw(e?: unknown): Promise> { method streamInput (line 818) | async streamInput(messages: AsyncIterable): Promise { method setPermissionMode (line 900) | async setPermissionMode(mode: string): Promise { method setModel (line 906) | async setModel(model: string): Promise { method supportedCommands (line 916) | async supportedCommands(): Promise | null> { method mcpServerStatus (line 926) | async mcpServerStatus(): Promise | null> { method getSessionId (line 930) | getSessionId(): string { method isClosed (line 934) | isClosed(): boolean { method [Symbol.asyncIterator] (line 814) | [Symbol.asyncIterator](): AsyncIterator { FILE: packages/sdk-typescript/src/query/createQuery.ts function query (line 24) | function query({ function resolveSystemPromptOption (line 121) | function resolveSystemPromptOption( function validateOptions (line 135) | function validateOptions(options: QueryOptions): SpawnInfo | undefined { FILE: packages/sdk-typescript/src/transport/ProcessTransport.ts class ProcessTransport (line 13) | class ProcessTransport implements Transport { method constructor (line 26) | constructor(options: TransportOptions) { method initialize (line 38) | private initialize(): void { method setupEventHandlers (line 184) | private setupEventHandlers(): void { method getProcessExitError (line 211) | private getProcessExitError( method buildCliArguments (line 222) | private buildCliArguments(): string[] { method close (line 284) | async close(): Promise { method waitForExit (line 317) | async waitForExit(): Promise { method write (line 365) | write(message: string): void { method readMessages (line 435) | async *readMessages(): AsyncGenerator { method isReady (line 460) | get isReady(): boolean { method exitError (line 464) | get exitError(): Error | null { method endInput (line 468) | endInput(): void { method getInputStream (line 475) | getInputStream(): Writable | undefined { method getOutputStream (line 479) | getOutputStream(): Readable | undefined { FILE: packages/sdk-typescript/src/transport/Transport.ts type Transport (line 10) | interface Transport { FILE: packages/sdk-typescript/src/types/errors.ts class AbortError (line 1) | class AbortError extends Error { method constructor (line 2) | constructor(message = 'Operation aborted') { function isAbortError (line 9) | function isAbortError(error: unknown): error is AbortError { FILE: packages/sdk-typescript/src/types/protocol.ts type Annotation (line 4) | interface Annotation { type Usage (line 9) | interface Usage { type ExtendedUsage (line 17) | interface ExtendedUsage extends Usage { type ModelUsage (line 28) | interface ModelUsage { type CLIPermissionDenial (line 37) | interface CLIPermissionDenial { type TextBlock (line 43) | interface TextBlock { type ThinkingBlock (line 49) | interface ThinkingBlock { type ToolUseBlock (line 56) | interface ToolUseBlock { type ToolResultBlock (line 64) | interface ToolResultBlock { type ContentBlock (line 72) | type ContentBlock = type APIUserMessage (line 78) | interface APIUserMessage { type APIAssistantMessage (line 83) | interface APIAssistantMessage { type SDKUserMessage (line 93) | interface SDKUserMessage { type SDKAssistantMessage (line 102) | interface SDKAssistantMessage { type SDKSystemMessage (line 110) | interface SDKSystemMessage { type SDKResultMessageSuccess (line 136) | interface SDKResultMessageSuccess { type SDKResultMessageError (line 152) | interface SDKResultMessageError { type SDKResultMessage (line 172) | type SDKResultMessage = SDKResultMessageSuccess | SDKResultMessageError; type MessageStartStreamEvent (line 174) | interface MessageStartStreamEvent { type ContentBlockStartEvent (line 183) | interface ContentBlockStartEvent { type ContentBlockDelta (line 189) | type ContentBlockDelta = type ContentBlockDeltaEvent (line 203) | interface ContentBlockDeltaEvent { type ContentBlockStopEvent (line 209) | interface ContentBlockStopEvent { type MessageStopStreamEvent (line 214) | interface MessageStopStreamEvent { type StreamEvent (line 218) | type StreamEvent = type SDKPartialAssistantMessage (line 225) | interface SDKPartialAssistantMessage { type PermissionMode (line 233) | type PermissionMode = 'default' | 'plan' | 'auto-edit' | 'yolo'; type AuthType (line 239) | type AuthType = type PermissionSuggestion (line 249) | interface PermissionSuggestion { type HookRegistration (line 256) | interface HookRegistration { type HookCallbackResult (line 261) | interface HookCallbackResult { type CLIControlInterruptRequest (line 268) | interface CLIControlInterruptRequest { type CLIControlPermissionRequest (line 272) | interface CLIControlPermissionRequest { type AuthProviderType (line 281) | enum AuthProviderType { type MCPServerConfig (line 287) | interface MCPServerConfig { type SDKMcpServerConfig (line 314) | interface SDKMcpServerConfig { type WireSDKMcpServerConfig (line 332) | type WireSDKMcpServerConfig = Omit; type CLIControlInitializeRequest (line 334) | interface CLIControlInitializeRequest { type CLIControlSetPermissionModeRequest (line 350) | interface CLIControlSetPermissionModeRequest { type CLIHookCallbackRequest (line 355) | interface CLIHookCallbackRequest { type CLIControlMcpMessageRequest (line 362) | interface CLIControlMcpMessageRequest { type CLIControlSetModelRequest (line 373) | interface CLIControlSetModelRequest { type CLIControlMcpStatusRequest (line 378) | interface CLIControlMcpStatusRequest { type CLIControlSupportedCommandsRequest (line 382) | interface CLIControlSupportedCommandsRequest { type ControlRequestPayload (line 386) | type ControlRequestPayload = type CLIControlRequest (line 397) | interface CLIControlRequest { type PermissionApproval (line 403) | interface PermissionApproval { type ControlResponse (line 409) | interface ControlResponse { type ControlErrorResponse (line 415) | interface ControlErrorResponse { type CLIControlResponse (line 421) | interface CLIControlResponse { type ControlCancelRequest (line 426) | interface ControlCancelRequest { type ControlMessage (line 431) | type ControlMessage = type SDKMessage (line 439) | type SDKMessage = function isSDKUserMessage (line 446) | function isSDKUserMessage(msg: any): msg is SDKUserMessage { function isSDKAssistantMessage (line 452) | function isSDKAssistantMessage(msg: any): msg is SDKAssistantMessage { function isSDKSystemMessage (line 464) | function isSDKSystemMessage(msg: any): msg is SDKSystemMessage { function isSDKResultMessage (line 475) | function isSDKResultMessage(msg: any): msg is SDKResultMessage { function isSDKPartialAssistantMessage (line 488) | function isSDKPartialAssistantMessage( function isControlRequest (line 502) | function isControlRequest(msg: any): msg is CLIControlRequest { function isControlResponse (line 512) | function isControlResponse(msg: any): msg is CLIControlResponse { function isControlCancel (line 521) | function isControlCancel(msg: any): msg is ControlCancelRequest { function isTextBlock (line 530) | function isTextBlock(block: any): block is TextBlock { function isThinkingBlock (line 534) | function isThinkingBlock(block: any): block is ThinkingBlock { function isToolUseBlock (line 538) | function isToolUseBlock(block: any): block is ToolUseBlock { function isToolResultBlock (line 542) | function isToolResultBlock(block: any): block is ToolResultBlock { type SubagentLevel (line 546) | type SubagentLevel = 'session'; type ModelConfig (line 548) | interface ModelConfig { type RunConfig (line 554) | interface RunConfig { type SubagentConfig (line 559) | interface SubagentConfig { type ControlRequestType (line 588) | enum ControlRequestType { FILE: packages/sdk-typescript/src/types/types.ts type TransportOptions (line 12) | type TransportOptions = { type QuerySystemPromptPreset (line 51) | interface QuerySystemPromptPreset { type QuerySystemPrompt (line 57) | type QuerySystemPrompt = string | QuerySystemPromptPreset; type ToolInput (line 59) | type ToolInput = Record; type CanUseTool (line 61) | type CanUseTool = ( type PermissionResult (line 70) | type PermissionResult = type McpOAuthConfig (line 84) | interface McpOAuthConfig { type McpAuthProviderType (line 100) | type McpAuthProviderType = type CLIMcpServerConfig (line 116) | interface CLIMcpServerConfig { type McpServerConfig (line 181) | type McpServerConfig = CLIMcpServerConfig | SDKMcpServerConfig; function isSdkMcpServerConfig (line 186) | function isSdkMcpServerConfig( type QueryOptions (line 195) | interface QueryOptions { FILE: packages/sdk-typescript/src/utils/Stream.ts class Stream (line 1) | class Stream implements AsyncIterable { method constructor (line 10) | constructor(returned?: () => void) { method next (line 22) | async next(): Promise> { method enqueue (line 41) | enqueue(value: T): void { method done (line 52) | done(): void { method error (line 62) | error(error: Error): void { method return (line 72) | return(): Promise> { method [Symbol.asyncIterator] (line 14) | [Symbol.asyncIterator](): AsyncIterator { FILE: packages/sdk-typescript/src/utils/cliPath.ts type ExecutableType (line 20) | type ExecutableType = 'node' | 'bun' | 'tsx' | 'native'; type SpawnInfo (line 25) | type SpawnInfo = { function getCurrentModuleDir (line 39) | function getCurrentModuleDir(): string { function findSdkPackageRoot (line 69) | function findSdkPackageRoot(): string | null { function normalizeForRegex (line 118) | function normalizeForRegex(dirPath: string): string { function tryResolveCliFromImportMeta (line 125) | function tryResolveCliFromImportMeta(): string | null { function getBundledCliCandidatePaths (line 144) | function getBundledCliCandidatePaths(): string[] { function getBundledCliPath (line 191) | function getBundledCliPath(): string | null { function findBundledCliPath (line 206) | function findBundledCliPath(): string { function validateFilePath (line 225) | function validateFilePath(filePath: string): void { function isFilePath (line 245) | function isFilePath(spec: string): boolean { function isJavaScriptFile (line 252) | function isJavaScriptFile(filePath: string): boolean { function isTypeScriptFile (line 260) | function isTypeScriptFile(filePath: string): boolean { function isCommandAvailable (line 268) | function isCommandAvailable(command: string): boolean { function isTsxAvailable (line 284) | function isTsxAvailable(): boolean { function getJsRuntimeType (line 291) | function getJsRuntimeType(): 'bun' | 'node' { function prepareSpawnInfo (line 305) | function prepareSpawnInfo(executableSpec?: string): SpawnInfo { FILE: packages/sdk-typescript/src/utils/jsonLines.ts function serializeJsonLine (line 3) | function serializeJsonLine(message: unknown): string { function parseJsonLineSafe (line 13) | function parseJsonLineSafe( function isValidMessage (line 30) | function isValidMessage(message: unknown): boolean { FILE: packages/sdk-typescript/src/utils/logger.ts type LogLevel (line 1) | type LogLevel = 'debug' | 'info' | 'warn' | 'error'; type LoggerConfig (line 3) | interface LoggerConfig { type ScopedLogger (line 9) | interface ScopedLogger { constant LOG_LEVEL_PRIORITY (line 16) | const LOG_LEVEL_PRIORITY: Record = { class SdkLogger (line 23) | class SdkLogger { method configure (line 27) | static configure(config: LoggerConfig): void { method determineLogLevel (line 32) | private static determineLogLevel(): LogLevel { method isValidLogLevel (line 53) | private static isValidLogLevel(level: string): boolean { method shouldLog (line 57) | private static shouldLog(level: LogLevel): boolean { method formatTimestamp (line 61) | private static formatTimestamp(): string { method formatMessage (line 72) | private static formatMessage( method log (line 104) | private static log( method createLogger (line 127) | static createLogger(scope: string): ScopedLogger { method getEffectiveLevel (line 144) | static getEffectiveLevel(): LogLevel { FILE: packages/sdk-typescript/src/utils/validation.ts constant UUID_REGEX (line 6) | const UUID_REGEX = function isValidUUID (line 14) | function isValidUUID(value: string): boolean { function validateSessionId (line 24) | function validateSessionId( FILE: packages/sdk-typescript/test/unit/ProcessTransport.test.ts function createMockChildProcess (line 28) | function createMockChildProcess( FILE: packages/sdk-typescript/test/unit/Query.test.ts class MockTransport (line 25) | class MockTransport implements Transport { method write (line 33) | write(data: string): void { method readMessages (line 37) | async *readMessages(): AsyncGenerator { method close (line 43) | async close(): Promise { method waitForExit (line 48) | async waitForExit(): Promise { method endInput (line 52) | endInput(): void { method simulateMessage (line 57) | simulateMessage(message: unknown): void { method simulateError (line 61) | simulateError(error: Error): void { method simulateClose (line 65) | simulateClose(): void { method getLastWrittenMessage (line 69) | getLastWrittenMessage(): unknown { method getAllWrittenMessages (line 74) | getAllWrittenMessages(): unknown[] { function findControlResponse (line 80) | function findControlResponse( function findControlRequest (line 99) | function findControlRequest( function createUserMessage (line 118) | function createUserMessage( function createAssistantMessage (line 133) | function createAssistantMessage( function createSystemMessage (line 153) | function createSystemMessage( function createResultMessage (line 168) | function createResultMessage( function createPartialMessage (line 203) | function createPartialMessage( function createControlRequest (line 219) | function createControlRequest( function createControlResponse (line 236) | function createControlResponse( function createControlCancel (line 257) | function createControlCancel(requestId: string): ControlCancelRequest { function respondToInitialize (line 264) | async function respondToInitialize( FILE: packages/test-utils/src/file-system-test-helpers.ts type FileSystemStructure (line 46) | type FileSystemStructure = { function create (line 58) | async function create(dir: string, structure: FileSystemStructure) { function createTmpDir (line 84) | async function createTmpDir( function cleanupTmpDir (line 96) | async function cleanupTmpDir(dir: string) { FILE: packages/vscode-ide-companion/esbuild.js method setup (line 25) | setup(build) { method setup (line 61) | setup(build) { method setup (line 87) | setup(build) { function main (line 142) | async function main() { FILE: packages/vscode-ide-companion/scripts/copy-bundled-cli.js function main (line 28) | async function main() { FILE: packages/vscode-ide-companion/scripts/generate-notices.js function getDependencyLicense (line 17) | async function getDependencyLicense(depName, depVersion) { function collectDependencies (line 91) | function collectDependencies(packageName, packageLock, dependenciesMap) { function main (line 113) | async function main() { FILE: packages/vscode-ide-companion/scripts/prepackage.js function npmBin (line 32) | function npmBin() { function run (line 36) | function run(cmd, args, opts = {}) { function parseVsceTarget (line 52) | function parseVsceTarget(target) { function getExpectedRipgrepDirName (line 60) | function getExpectedRipgrepDirName() { function pruneBundledRipgrep (line 75) | function pruneBundledRipgrep() { function removeSelfReferenceFromNodeModules (line 129) | function removeSelfReferenceFromNodeModules() { function main (line 178) | function main() { FILE: packages/vscode-ide-companion/src/commands/index.test.ts function getRegisteredHandler (line 48) | function getRegisteredHandler(commandId: string) { FILE: packages/vscode-ide-companion/src/commands/index.ts type Logger (line 16) | type Logger = (message: string) => void; function registerNewCommands (line 41) | function registerNewCommands( FILE: packages/vscode-ide-companion/src/constants/acpSchema.ts constant EXT_CLIENT_METHODS (line 17) | const EXT_CLIENT_METHODS = { constant ACP_ERROR_CODES (line 23) | const ACP_ERROR_CODES = { type AcpErrorCode (line 34) | type AcpErrorCode = FILE: packages/vscode-ide-companion/src/constants/loadingMessages.ts constant WITTY_LOADING_PHRASES (line 11) | const WITTY_LOADING_PHRASES = [ FILE: packages/vscode-ide-companion/src/constants/viewIds.ts constant CHAT_VIEW_ID_SIDEBAR (line 16) | const CHAT_VIEW_ID_SIDEBAR = 'qwen-code.chatView.sidebar'; constant CHAT_VIEW_ID_SECONDARY (line 17) | const CHAT_VIEW_ID_SECONDARY = 'qwen-code.chatView.secondary'; FILE: packages/vscode-ide-companion/src/diff-manager.ts class DiffContentProvider (line 20) | class DiffContentProvider implements vscode.TextDocumentContentProvider { method onDidChange (line 24) | get onDidChange(): vscode.Event { method provideTextDocumentContent (line 28) | provideTextDocumentContent(uri: vscode.Uri): string { method setContent (line 32) | setContent(uri: vscode.Uri, content: string): void { method deleteContent (line 37) | deleteContent(uri: vscode.Uri): void { method getContent (line 41) | getContent(uri: vscode.Uri): string | undefined { type DiffInfo (line 47) | interface DiffInfo { class DiffManager (line 58) | class DiffManager { method constructor (line 76) | constructor( method dispose (line 92) | dispose() { method hasExistingDiff (line 105) | private hasExistingDiff( method focusExistingDiff (line 127) | private async focusExistingDiff(filePath: string): Promise { method showDiff (line 171) | async showDiff(filePath: string, a: string, b?: string): Promise { method closeDiff (line 261) | async closeDiff(filePath: string, suppressNotification = false) { method acceptDiff (line 295) | async acceptDiff(rightDocUri: vscode.Uri) { method cancelDiff (line 321) | async cancelDiff(rightDocUri: vscode.Uri) { method onActiveEditorChange (line 346) | private async onActiveEditorChange(editor: vscode.TextEditor | undefin... method addDiffDocument (line 366) | private addDiffDocument(uri: vscode.Uri, diffInfo: DiffInfo) { method closeDiffEditor (line 370) | private async closeDiffEditor(rightDocUri: vscode.Uri) { method closeAll (line 399) | async closeAll(): Promise { method readOldContentFromFs (line 414) | private async readOldContentFromFs(filePath: string): Promise { method makeKey (line 424) | private makeKey(filePath: string, oldContent: string, newContent: stri... method suppressFor (line 430) | suppressFor(durationMs: number): void { FILE: packages/vscode-ide-companion/src/extension.ts constant CLI_IDE_COMPANION_IDENTIFIER (line 24) | const CLI_IDE_COMPANION_IDENTIFIER = 'qwenlm.qwen-code-vscode-ide-compan... constant INFO_MESSAGE_SHOWN_KEY (line 25) | const INFO_MESSAGE_SHOWN_KEY = 'qwenCodeInfoMessageShown'; constant DIFF_SCHEME (line 26) | const DIFF_SCHEME = 'qwen-diff'; constant HIDE_INSTALLATION_GREETING_IDES (line 33) | const HIDE_INSTALLATION_GREETING_IDES: ReadonlySet = ne... function checkForUpdates (line 44) | async function checkForUpdates( function activate (line 110) | async function activate(context: vscode.ExtensionContext) { function deactivate (line 380) | async function deactivate(): Promise { FILE: packages/vscode-ide-companion/src/ide-server.ts class CORSError (line 33) | class CORSError extends Error { method constructor (line 34) | constructor(message: string) { constant MCP_SESSION_ID_HEADER (line 40) | const MCP_SESSION_ID_HEADER = 'mcp-session-id'; constant IDE_SERVER_PORT_ENV_VAR (line 41) | const IDE_SERVER_PORT_ENV_VAR = 'QWEN_CODE_IDE_SERVER_PORT'; constant IDE_WORKSPACE_PATH_ENV_VAR (line 42) | const IDE_WORKSPACE_PATH_ENV_VAR = 'QWEN_CODE_IDE_WORKSPACE_PATH'; constant QWEN_DIR (line 43) | const QWEN_DIR = '.qwen'; constant IDE_DIR (line 44) | const IDE_DIR = 'ide'; function getGlobalIdeDir (line 46) | async function getGlobalIdeDir(): Promise { type WritePortAndWorkspaceArgs (line 57) | interface WritePortAndWorkspaceArgs { function writePortAndWorkspace (line 65) | async function writePortAndWorkspace({ function sendIdeContextUpdateNotification (line 108) | function sendIdeContextUpdateNotification( class IDEServer (line 131) | class IDEServer { method constructor (line 143) | constructor(log: (message: string) => void, diffManager: DiffManager) { method start (line 148) | start(context: vscode.ExtensionContext): Promise { method broadcastIdeContextUpdate (line 370) | broadcastIdeContextUpdate() { method syncEnvVars (line 383) | async syncEnvVars(): Promise { method stop (line 402) | async stop(): Promise { FILE: packages/vscode-ide-companion/src/open-files-manager.ts class OpenFilesManager (line 33) | class OpenFilesManager { method constructor (line 39) | constructor(private readonly context: vscode.ExtensionContext) { method fireWithDebounce (line 198) | private fireWithDebounce() { method state (line 207) | get state(): IdeContext { FILE: packages/vscode-ide-companion/src/services/acpConnection.test.ts type AcpConnectionInternal (line 18) | type AcpConnectionInternal = { function createConnection (line 28) | function createConnection(overrides?: Partial) { function createMockChild (line 36) | function createMockChild(overrides?: Record) { FILE: packages/vscode-ide-companion/src/services/acpConnection.ts class AcpConnection (line 50) | class AcpConnection { method connect (line 78) | async connect( method setupChildProcessHandlers (line 133) | private async setupChildProcessHandlers(): Promise { method ensureConnection (line 354) | private ensureConnection(): ClientSideConnection { method mapReadTextFileError (line 363) | private mapReadTextFileError(error: unknown, filePath: string): unknown { method resolvePermissionOptionId (line 379) | private resolvePermissionOptionId( method authenticate (line 409) | async authenticate(methodId?: string): Promise { method newSession (line 421) | async newSession(cwd: string = process.cwd()): Promise { method cancelSession (line 517) | async cancelSession(): Promise { method setMode (line 528) | async setMode(modeId: ApprovalModeValue): Promise { method disconnect (line 556) | disconnect(): void { method isConnected (line 565) | get isConnected(): boolean { method hasActiveSession (line 571) | get hasActiveSession(): boolean { method currentSessionId (line 575) | get currentSessionId(): string | null { FILE: packages/vscode-ide-companion/src/services/acpFileHandler.test.ts method constructor (line 63) | constructor( FILE: packages/vscode-ide-companion/src/services/acpFileHandler.ts class AcpFileHandler (line 21) | class AcpFileHandler { method handleReadTextFile (line 33) | async handleReadTextFile(params: { method handleWriteTextFile (line 108) | async handleWriteTextFile(params: { FILE: packages/vscode-ide-companion/src/services/conversationStore.ts type Conversation (line 10) | interface Conversation { class ConversationStore (line 18) | class ConversationStore { method constructor (line 22) | constructor(context: vscode.ExtensionContext) { method createConversation (line 26) | async createConversation(title: string = 'New Chat'): Promise { method getConversation (line 47) | async getConversation(id: string): Promise { method addMessage (line 52) | async addMessage( method deleteConversation (line 66) | async deleteConversation(id: string): Promise { method getCurrentConversationId (line 76) | getCurrentConversationId(): string | null { method setCurrentConversationId (line 80) | setCurrentConversationId(id: string): void { FILE: packages/vscode-ide-companion/src/services/open-files-manager/constants.ts constant MAX_FILES (line 7) | const MAX_FILES = 10; constant MAX_SELECTED_TEXT_LENGTH (line 8) | const MAX_SELECTED_TEXT_LENGTH = 16384; FILE: packages/vscode-ide-companion/src/services/open-files-manager/notebook-handler.ts function addOrMoveToFrontNotebook (line 17) | function addOrMoveToFrontNotebook( function updateNotebookActiveContext (line 45) | function updateNotebookActiveContext( function updateNotebookCellSelection (line 84) | function updateNotebookCellSelection( FILE: packages/vscode-ide-companion/src/services/open-files-manager/text-handler.ts function addOrMoveToFront (line 16) | function addOrMoveToFront(openFiles: File[], editor: vscode.TextEditor) { function updateActiveContext (line 41) | function updateActiveContext( FILE: packages/vscode-ide-companion/src/services/open-files-manager/utils.ts function isFileUri (line 10) | function isFileUri(uri: vscode.Uri): boolean { function isNotebookFileUri (line 14) | function isNotebookFileUri(uri: vscode.Uri): boolean { function isNotebookCellUri (line 18) | function isNotebookCellUri(uri: vscode.Uri): boolean { function removeFile (line 23) | function removeFile(openFiles: File[], uri: vscode.Uri): void { function renameFile (line 30) | function renameFile( function deactivateCurrentActiveFile (line 41) | function deactivateCurrentActiveFile(openFiles: File[]): void { function enforceMaxFiles (line 50) | function enforceMaxFiles(openFiles: File[], maxFiles: number): void { function truncateSelectedText (line 56) | function truncateSelectedText( function getNotebookUriFromCellUri (line 69) | function getNotebookUriFromCellUri( FILE: packages/vscode-ide-companion/src/services/qwenAgentManager.ts function extractSessionListItems (line 51) | function extractSessionListItems( type AgentConnectOptions (line 80) | interface AgentConnectOptions { type AgentSessionOptions (line 83) | interface AgentSessionOptions { class QwenAgentManager (line 87) | class QwenAgentManager { method constructor (line 117) | constructor() { method connect (line 305) | async connect( method sendMessage (line 355) | async sendMessage(message: string | ContentBlock[]): Promise { method setApprovalModeFromUi (line 362) | async setApprovalModeFromUi( method setModelFromUi (line 381) | async setModelFromUi(modelId: string): Promise { method validateCurrentSession (line 403) | async validateCurrentSession(): Promise { method getSessionList (line 435) | async getSessionList(): Promise>> { method getSessionListPaged (line 525) | async getSessionListPaged(params?: { method getSessionMessages (line 622) | async getSessionMessages(sessionId: string): Promise { method readJsonlMessages (line 673) | private async readJsonlMessages(filePath: string): Promise { method loadSessionMessagesFromFile (line 1110) | private async loadSessionMessagesFromFile( method createNewSession (line 1158) | async createNewSession( method switchToSession (line 1246) | async switchToSession(sessionId: string): Promise { method cancelCurrentPrompt (line 1253) | async cancelCurrentPrompt(): Promise { method onMessage (line 1263) | onMessage(callback: (message: ChatMessage) => void): void { method onStreamChunk (line 1273) | onStreamChunk(callback: (chunk: string) => void): void { method onThoughtChunk (line 1283) | onThoughtChunk(callback: (chunk: string) => void): void { method onToolCall (line 1293) | onToolCall(callback: (update: ToolCallUpdateData) => void): void { method onPlan (line 1303) | onPlan(callback: (entries: PlanEntry[]) => void): void { method onPermissionRequest (line 1313) | onPermissionRequest( method onAskUserQuestion (line 1325) | onAskUserQuestion( method onEndTurn (line 1339) | onEndTurn(callback: (reason?: string) => void): void { method onModeInfo (line 1347) | onModeInfo( method onModeChanged (line 1364) | onModeChanged( method onUsageUpdate (line 1374) | onUsageUpdate(callback: (stats: UsageStatsPayload) => void): void { method onModelInfo (line 1382) | onModelInfo(callback: (info: ModelInfo) => void): void { method onModelChanged (line 1390) | onModelChanged(callback: (model: ModelInfo) => void): void { method onAvailableCommands (line 1398) | onAvailableCommands(callback: (commands: AvailableCommand[]) => void):... method onAvailableModels (line 1406) | onAvailableModels(callback: (models: ModelInfo[]) => void): void { method disconnect (line 1414) | disconnect(): void { method isConnected (line 1421) | get isConnected(): boolean { method currentSessionId (line 1428) | get currentSessionId(): string | null { method applySessionStateFromResult (line 1432) | private applySessionStateFromResult(result: unknown): void { method restoreBaselineSessionStateAfterLoad (line 1461) | private restoreBaselineSessionStateAfterLoad(result: unknown): void { method resolvePermissionOptionId (line 1484) | private resolvePermissionOptionId( FILE: packages/vscode-ide-companion/src/services/qwenConnectionHandler.ts type QwenConnectionResult (line 26) | interface QwenConnectionResult { class QwenConnectionHandler (line 43) | class QwenConnectionHandler { method connect (line 51) | async connect( method newSessionWithRetry (line 175) | private async newSessionWithRetry( FILE: packages/vscode-ide-companion/src/services/qwenSessionManager.ts class QwenSessionManager (line 23) | class QwenSessionManager { method constructor (line 26) | constructor() { method getSessionDir (line 33) | private getSessionDir(workingDir: string): string { method generateSessionId (line 42) | private generateSessionId(): string { method loadSession (line 53) | async loadSession( method listSessions (line 84) | async listSessions(workingDir: string): Promise { method deleteSession (line 133) | async deleteSession(sessionId: string, workingDir: string): Promise { method createDirectory (line 138) | createDirectory(): void { method readFile (line 142) | readFile(uri: vscode.Uri): Uint8Array { method writeFile (line 150) | writeFile( method delete (line 177) | delete(uri: vscode.Uri): void { method rename (line 185) | rename(): void { method clear (line 192) | clear(): void { method dispose (line 196) | dispose(): void { FILE: packages/vscode-ide-companion/src/types/acpTypes.ts type AuthenticateUpdateNotification (line 21) | interface AuthenticateUpdateNotification { type SessionUpdateMeta (line 27) | interface SessionUpdateMeta { constant NEXT_APPROVAL_MODE (line 40) | const NEXT_APPROVAL_MODE: { type QuestionOption (line 50) | interface QuestionOption { type Question (line 55) | interface Question { type AskUserQuestionRequest (line 62) | interface AskUserQuestionRequest { FILE: packages/vscode-ide-companion/src/types/approvalModeTypes.ts type ApprovalMode (line 12) | enum ApprovalMode { constant APPROVAL_MODE_MAP (line 22) | const APPROVAL_MODE_MAP: Record = { constant APPROVAL_MODE_INFO (line 32) | const APPROVAL_MODE_INFO: Record< function getApprovalModeInfoFromString (line 65) | function getApprovalModeInfoFromString(mode: string): { FILE: packages/vscode-ide-companion/src/types/approvalModeValueTypes.ts type ApprovalModeValue (line 11) | type ApprovalModeValue = 'plan' | 'default' | 'auto-edit' | 'yolo'; FILE: packages/vscode-ide-companion/src/types/chatTypes.ts type ChatMessage (line 14) | interface ChatMessage { type PlanEntry (line 20) | interface PlanEntry { type ToolCallUpdateData (line 26) | interface ToolCallUpdateData { type UsageStatsPayload (line 37) | interface UsageStatsPayload { type QwenAgentCallbacks (line 56) | interface QwenAgentCallbacks { type ToolCallUpdate (line 83) | interface ToolCallUpdate { FILE: packages/vscode-ide-companion/src/types/connectionTypes.ts type PendingRequest (line 17) | interface PendingRequest { type AcpConnectionCallbacks (line 24) | interface AcpConnectionCallbacks { type AcpConnectionState (line 37) | interface AcpConnectionState { FILE: packages/vscode-ide-companion/src/types/webviewMessageTypes.ts type PermissionResponsePayload (line 7) | interface PermissionResponsePayload { type PermissionResponseMessage (line 11) | interface PermissionResponseMessage { type AskUserQuestionResponsePayload (line 16) | interface AskUserQuestionResponsePayload { type AskUserQuestionResponseMessage (line 22) | interface AskUserQuestionResponseMessage { FILE: packages/vscode-ide-companion/src/utils/acpModelInfo.ts type AcpMeta (line 10) | type AcpMeta = Record; type SessionModelState (line 78) | interface SessionModelState { type SessionModeState (line 83) | interface SessionModeState { constant APPROVAL_MODE_VALUES (line 92) | const APPROVAL_MODE_VALUES: ApprovalModeValue[] = [ FILE: packages/vscode-ide-companion/src/utils/authErrors.ts constant CODE_PATTERN (line 9) | const CODE_PATTERN = /\(\s*code:\s*(-?\d+)\s*\)/i; FILE: packages/vscode-ide-companion/src/utils/authNotificationHandler.ts function handleAuthenticateUpdate (line 19) | function handleAuthenticateUpdate( FILE: packages/vscode-ide-companion/src/utils/editorGroupUtils.ts function findLeftGroupOfChatWebview (line 16) | function findLeftGroupOfChatWebview(): vscode.ViewColumn | undefined { function waitForTabGroupsCondition (line 61) | function waitForTabGroupsCondition( function ensureLeftGroupOfChatWebview (line 93) | async function ensureLeftGroupOfChatWebview(): Promise< FILE: packages/vscode-ide-companion/src/utils/errorMessage.ts function getErrorMessage (line 7) | function getErrorMessage( FILE: packages/vscode-ide-companion/src/utils/imageSupport.ts type ImageAttachment (line 11) | interface ImageAttachment { type SavedImageAttachment (line 20) | interface SavedImageAttachment { constant MAX_IMAGE_SIZE (line 28) | const MAX_IMAGE_SIZE = 10 * 1024 * 1024; constant MAX_TOTAL_IMAGE_SIZE (line 29) | const MAX_TOTAL_IMAGE_SIZE = 20 * 1024 * 1024; constant SHELL_SPECIAL_CHARS (line 33) | const SHELL_SPECIAL_CHARS = /[ \t()[\]{};|*?$`'"#&<>!~]/; function escapePath (line 35) | function escapePath(filePath: string): string { function unescapePath (line 57) | function unescapePath(filePath: string): string { constant PASTED_IMAGE_MIME_TO_EXTENSION (line 66) | const PASTED_IMAGE_MIME_TO_EXTENSION: Record = { constant DISPLAYABLE_IMAGE_EXTENSION_TO_MIME (line 76) | const DISPLAYABLE_IMAGE_EXTENSION_TO_MIME: Record = { function isSupportedPastedImageMimeType (line 88) | function isSupportedPastedImageMimeType(mimeType: string): boolean { function getImageExtensionForMimeType (line 92) | function getImageExtensionForMimeType(mimeType: string): string { function getDisplayableImageMimeType (line 96) | function getDisplayableImageMimeType( function isDisplayableImagePath (line 108) | function isDisplayableImagePath(filePath: string): boolean { function extractBase64Payload (line 114) | function extractBase64Payload(data: string): string | null { function getDecodedByteSize (line 126) | function getDecodedByteSize(base64Payload: string): number { function normalizeImageAttachment (line 135) | function normalizeImageAttachment( FILE: packages/vscode-ide-companion/src/utils/logger.ts function createLogger (line 9) | function createLogger( FILE: packages/vscode-ide-companion/src/webview/components/layout/InputForm.test.tsx function renderInputForm (line 35) | function renderInputForm(props?: { FILE: packages/vscode-ide-companion/src/webview/components/layout/InputForm.tsx type InputFormProps (line 25) | interface InputFormProps FILE: packages/vscode-ide-companion/src/webview/components/layout/ModelSelector.tsx type ModelSelectorProps (line 12) | interface ModelSelectorProps { FILE: packages/vscode-ide-companion/src/webview/components/layout/Onboarding.tsx type OnboardingPageProps (line 14) | interface OnboardingPageProps { FILE: packages/vscode-ide-companion/src/webview/context/VSCodePlatformProvider.tsx type VSCodePlatformProviderProps (line 20) | interface VSCodePlatformProviderProps { FILE: packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts class AuthMessageHandler (line 15) | class AuthMessageHandler extends BaseMessageHandler { method canHandle (line 18) | canHandle(messageType: string): boolean { method handle (line 22) | async handle(message: { type: string; data?: unknown }): Promise { method setLoginHandler (line 40) | setLoginHandler(handler: () => Promise): void { method handleLogin (line 47) | private async handleLogin(): Promise { FILE: packages/vscode-ide-companion/src/webview/handlers/BaseMessageHandler.ts type IMessageHandler (line 14) | interface IMessageHandler { method constructor (line 35) | constructor( method setCurrentConversationId (line 48) | setCurrentConversationId(id: string | null): void { method getCurrentConversationId (line 55) | getCurrentConversationId(): string | null { FILE: packages/vscode-ide-companion/src/webview/handlers/EditorMessageHandler.ts class EditorMessageHandler (line 16) | class EditorMessageHandler extends BaseMessageHandler { method canHandle (line 17) | canHandle(messageType: string): boolean { method handle (line 21) | async handle(message: { type: string; data?: unknown }): Promise { method handleGetActiveEditor (line 43) | private async handleGetActiveEditor(): Promise { method handleFocusActiveEditor (line 81) | private async handleFocusActiveEditor(): Promise { FILE: packages/vscode-ide-companion/src/webview/handlers/FileMessageHandler.test.ts class Uri (line 20) | class Uri { method constructor (line 22) | constructor(fsPath: string) { method file (line 25) | static file(fsPath: string) { method joinPath (line 28) | static joinPath(base: Uri, ...pathSegments: string[]) { method shouldIgnoreFile (line 62) | shouldIgnoreFile(filePath: string, options?: unknown) { FILE: packages/vscode-ide-companion/src/webview/handlers/FileMessageHandler.ts class FileMessageHandler (line 28) | class FileMessageHandler extends BaseMessageHandler { method canHandle (line 51) | canHandle(messageType: string): boolean { method getOrCreateFileSearch (line 62) | private async getOrCreateFileSearch( method clearFileSearchCache (line 106) | private clearFileSearchCache(rootPath: string): void { method createWatcherForFolder (line 116) | private createWatcherForFolder(folder: vscode.WorkspaceFolder): void { method disposeWatcherForFolder (line 136) | private disposeWatcherForFolder(rootPath: string): void { method setupFileWatchers (line 144) | setupFileWatchers(): vscode.Disposable { method handle (line 178) | async handle(message: { type: string; data?: unknown }): Promise { method handleAttachFile (line 221) | private async handleAttachFile(): Promise { method handleShowContextPicker (line 257) | private async handleShowContextPicker(): Promise { method handleGetWorkspaceFiles (line 343) | private async handleGetWorkspaceFiles( method handleOpenFile (line 524) | private async handleOpenFile(filePath?: string): Promise { method handleOpenDiff (line 585) | private async handleOpenDiff( method handleCreateAndOpenTempFile (line 610) | private async handleCreateAndOpenTempFile( method buildCaseInsensitiveGlob (line 707) | private buildCaseInsensitiveGlob(query: string): string { FILE: packages/vscode-ide-companion/src/webview/handlers/MessageRouter.ts class MessageRouter (line 24) | class MessageRouter { method constructor (line 37) | constructor( method setupFileWatchers (line 83) | setupFileWatchers(): vscode.Disposable { method route (line 90) | async route(message: { type: string; data?: unknown }): Promise { method setCurrentConversationId (line 130) | setCurrentConversationId(id: string | null): void { method getCurrentConversationId (line 145) | getCurrentConversationId(): string | null { method setPermissionHandler (line 152) | setPermissionHandler( method setAskUserQuestionHandler (line 161) | setAskUserQuestionHandler( method setLoginHandler (line 170) | setLoginHandler(handler: () => Promise): void { method appendStreamContent (line 178) | appendStreamContent(chunk: string): void { FILE: packages/vscode-ide-companion/src/webview/handlers/SessionMessageHandler.ts class SessionMessageHandler (line 23) | class SessionMessageHandler extends BaseMessageHandler { method canHandle (line 28) | canHandle(messageType: string): boolean { method setLoginHandler (line 47) | setLoginHandler(handler: () => Promise): void { method handle (line 51) | async handle(message: { type: string; data?: unknown }): Promise { method getCurrentStreamContent (line 150) | getCurrentStreamContent(): string { method appendStreamContent (line 157) | appendStreamContent(chunk: string): void { method resetStreamContent (line 164) | resetStreamContent(): void { method sendStreamEnd (line 189) | private sendStreamEnd(reason?: string, forRequestId?: string): void { method promptLogin (line 223) | private async promptLogin(message: string): Promise { method promptLoginOrOffline (line 240) | private async promptLoginOrOffline( method getErrorMessage (line 263) | private getErrorMessage(error: unknown): string { method shouldPromptLogin (line 267) | private shouldPromptLogin(error: unknown): boolean { method handleSendMessage (line 274) | private async handleSendMessage( method handleNewQwenSession (line 573) | private async handleNewQwenSession(): Promise { method handleSwitchQwenSession (line 631) | private async handleSwitchQwenSession(sessionId: string): Promise { method handleGetQwenSessions (line 816) | private async handleGetQwenSessions( method handleCancelStreaming (line 865) | private async handleCancelStreaming(): Promise { method handleResumeSession (line 887) | private async handleResumeSession(sessionId: string): Promise { method handleSetApprovalMode (line 976) | private async handleSetApprovalMode(data?: { method handleSetModel (line 997) | private async handleSetModel(data?: { modelId?: string }): Promise { function isSupportedImage (line 232) | function isSupportedImage(file: File): boolean { function isWithinSizeLimit (line 236) | function isWithinSizeLimit(file: File): boolean { function formatFileSize (line 240) | function formatFileSize(bytes: number): string { function createImageAttachment (line 250) | async function createImageAttachment( function generatePastedImageName (line 276) | function generatePastedImageName(mimeType: string): string { function useImagePaste (line 285) | function useImagePaste({ function useImageResolution (line 385) | function useImageResolution({ FILE: packages/vscode-ide-companion/src/webview/hooks/useMessageSubmit.ts type UseMessageSubmitProps (line 12) | interface UseMessageSubmitProps { FILE: packages/vscode-ide-companion/src/webview/hooks/useVSCode.ts type VSCodeAPI (line 7) | interface VSCodeAPI { function getVSCodeAPI (line 25) | function getVSCodeAPI(): VSCodeAPI { function useVSCode (line 52) | function useVSCode(): VSCodeAPI { FILE: packages/vscode-ide-companion/src/webview/hooks/useWebViewMessages.ts constant FORCE_CLEAR_STREAM_END_REASONS (line 25) | const FORCE_CLEAR_STREAM_END_REASONS = new Set([ type UseWebViewMessagesProps (line 33) | interface UseWebViewMessagesProps { FILE: packages/vscode-ide-companion/src/webview/providers/ChatProviderRegistry.ts type DisposableProvider (line 7) | type DisposableProvider = { class ChatProviderRegistry (line 15) | class ChatProviderRegistry { method constructor (line 19) | constructor(private readonly createProvider: () => T) {} method createEditorProvider (line 21) | createEditorProvider(provider: T = this.createProvider()): T { method createViewProvider (line 26) | createViewProvider(provider: T = this.createProvider()): T { method getEditorProviders (line 31) | getEditorProviders(): T[] { method getPermissionAwareProviders (line 35) | getPermissionAwareProviders(): T[] { method disposeAll (line 39) | disposeAll(): void { FILE: packages/vscode-ide-companion/src/webview/providers/ChatWebviewViewProvider.ts type WebViewProviderFactory (line 14) | type WebViewProviderFactory = () => WebViewProvider; class ChatWebviewViewProvider (line 23) | class ChatWebviewViewProvider implements vscode.WebviewViewProvider { method constructor (line 29) | constructor(private readonly createWebViewProvider: WebViewProviderFac... method resolveWebviewView (line 37) | async resolveWebviewView(webviewView: vscode.WebviewView): Promise { method setCurrentConversationId (line 48) | setCurrentConversationId(id: string | null): void { method getCurrentConversationId (line 55) | getCurrentConversationId(): string | null { method setPermissionHandler (line 62) | setPermissionHandler( method setAskUserQuestionHandler (line 71) | setAskUserQuestionHandler( method setLoginHandler (line 80) | setLoginHandler(handler: () => Promise): void { method appendStreamContent (line 87) | appendStreamContent(chunk: string): void { method setupFileWatchers (line 91) | setupFileWatchers(): vscode.Disposable { FILE: packages/vscode-ide-companion/src/webview/providers/PanelManager.ts function getLocalResourceRoots (line 10) | function getLocalResourceRoots( class PanelManager (line 31) | class PanelManager { method constructor (line 39) | constructor( method getPanel (line 47) | getPanel(): vscode.WebviewPanel | null { method setPanel (line 54) | setPanel(panel: vscode.WebviewPanel): void { method createPanel (line 63) | async createPanel(): Promise { method findExistingQwenCodeGroup (line 164) | private findExistingQwenCodeGroup(): method autoLockEditorGroup (line 201) | async autoLockEditorGroup(): Promise { method revealPanel (line 220) | revealPanel(preserveFocus: boolean = true): void { method captureTab (line 240) | captureTab(): void { method registerDisposeHandler (line 289) | registerDisposeHandler(disposables: vscode.Disposable[]): void { method focusGroupByColumn (line 364) | private async focusGroupByColumn(target: vscode.ViewColumn): Promise void) {} method getPanel (line 87) | getPanel() { method constructor (line 96) | constructor( FILE: packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts class WebViewProvider (line 28) | class WebViewProvider { method constructor (line 61) | constructor( method attachToView (line 467) | async attachToView( method show (line 610) | async show(): Promise { method attemptAuthStateRestoration (line 785) | private async attemptAuthStateRestoration(): Promise { method initializeAgentConnection (line 814) | async initializeAgentConnection(options?: { method doInitializeAgentConnection (line 823) | private async doInitializeAgentConnection(options?: { method forceReLogin (line 920) | async forceReLogin(): Promise { method refreshConnection (line 987) | async refreshConnection(): Promise { method loadCurrentSessionMessages (line 1036) | private async loadCurrentSessionMessages(options?: { method initializeEmptyConversation (line 1116) | private async initializeEmptyConversation(): Promise { method updateAuthStateFromMessage (line 1145) | private updateAuthStateFromMessage(message: unknown): void { method handleWebviewReady (line 1178) | private handleWebviewReady(): void { method handleNewChatByContext (line 1225) | private handleNewChatByContext(message: { method sendMessageToWebView (line 1239) | private sendMessageToWebView(message: unknown): void { method handleResolveImagePaths (line 1244) | private handleResolveImagePaths( method getActiveWebview (line 1275) | private getActiveWebview(): vscode.Webview | null { method hasPendingPermission (line 1282) | hasPendingPermission(): boolean { method getCurrentModeId (line 1287) | getCurrentModeId(): ApprovalModeValue | null { method isAutoMode (line 1292) | isAutoMode(): boolean { method shouldSuppressDiff (line 1297) | shouldSuppressDiff(): boolean { method respondToPendingPermission (line 1305) | respondToPendingPermission( method resetAgentState (line 1377) | resetAgentState(): void { method restorePanel (line 1389) | async restorePanel(panel: vscode.WebviewPanel): Promise { method getState (line 1567) | getState(): { method getPanel (line 1591) | getPanel(): vscode.WebviewPanel | null { method restoreState (line 1598) | restoreState(state: { method createNewSession (line 1625) | async createNewSession(): Promise { method dispose (line 1650) | dispose(): void { FILE: packages/vscode-ide-companion/src/webview/providers/chatViewRegistration.ts constant SECONDARY_SIDEBAR_CONTEXT_KEY (line 17) | const SECONDARY_SIDEBAR_CONTEXT_KEY = function detectSecondarySidebarSupport (line 20) | function detectSecondarySidebarSupport(vscodeVersion: string): boolean { function registerChatViewProviders (line 25) | function registerChatViewProviders(params: { FILE: packages/vscode-ide-companion/src/webview/utils/diffStats.ts type DiffStats (line 12) | interface DiffStats { function calculateDiffStats (line 45) | function calculateDiffStats( function formatDiffStats (line 114) | function formatDiffStats(stats: DiffStats): string { function formatDiffStatsDetailed (line 144) | function formatDiffStatsDetailed(stats: DiffStats): string { FILE: packages/vscode-ide-companion/src/webview/utils/imageHandler.ts constant CLIPBOARD_DIR_NAME (line 27) | const CLIPBOARD_DIR_NAME = 'clipboard'; constant DEFAULT_MAX_IMAGES (line 28) | const DEFAULT_MAX_IMAGES = 100; function getClipboardImageDir (line 30) | function getClipboardImageDir(): string { function saveImageBufferToClipboardDir (line 34) | async function saveImageBufferToClipboardDir( function pruneClipboardImages (line 45) | async function pruneClipboardImages( function appendImageReferences (line 74) | function appendImageReferences( function saveImageToFile (line 88) | async function saveImageToFile( function processImageAttachments (line 113) | async function processImageAttachments( function buildPromptBlocks (line 172) | function buildPromptBlocks( function resolveImagePathsForWebview (line 196) | function resolveImagePathsForWebview({ function createImagePathResolver (line 243) | function createImagePathResolver({ FILE: packages/vscode-ide-companion/src/webview/utils/resourceUrl.ts type Window (line 9) | interface Window { function getExtensionUri (line 18) | function getExtensionUri(): string | undefined { function isValidWebviewUrl (line 42) | function isValidWebviewUrl(url: string): boolean { function generateResourceUrl (line 71) | function generateResourceUrl(relativePath: string): string { function generateIconUrl (line 113) | function generateIconUrl(iconPath: string): string { FILE: packages/vscode-ide-companion/src/webview/utils/webviewUtils.ts function getFileName (line 12) | function getFileName(fsPath: string): string { function escapeHtml (line 24) | function escapeHtml(text: string): string { FILE: packages/web-templates/src/export-html/src/components/CopyButton.tsx type CopyButtonProps (line 3) | type CopyButtonProps = { FILE: packages/web-templates/src/export-html/src/components/MetadataItem.tsx type MetadataItemProps (line 1) | type MetadataItemProps = { FILE: packages/web-templates/src/export-html/src/components/MetadataSidebar.tsx type MetadataSidebarProps (line 9) | type MetadataSidebarProps = { FILE: packages/web-templates/src/export-html/src/components/TempFileModal.tsx type ModalState (line 5) | type ModalState = { FILE: packages/web-templates/src/export-html/src/components/types.ts type ChatData (line 5) | type ChatData = { type ExportMetadata (line 12) | type ExportMetadata = { type PlatformContextValue (line 32) | type PlatformContextValue = { type ChatViewerMessage (line 46) | type ChatViewerMessage = { type?: string } & Record; FILE: packages/web-templates/src/export-html/src/main.tsx type Window (line 9) | interface Window { FILE: packages/web-templates/src/insight/src/App.tsx function InsightApp (line 22) | function InsightApp({ data }: { data: InsightData }) { function ExportCardButton (line 167) | function ExportCardButton({ onExport }: { onExport: (theme: Theme) => vo... FILE: packages/web-templates/src/insight/src/Charts.tsx function DashboardCards (line 11) | function DashboardCards({ insights }: { insights: InsightData }) { function ActiveHoursChart (line 28) | function ActiveHoursChart({ function HeatmapSection (line 119) | function HeatmapSection({ function ActivityHeatmap (line 145) | function ActivityHeatmap({ function HeatmapLegend (line 280) | function HeatmapLegend() { FILE: packages/web-templates/src/insight/src/Components.tsx function MarkdownText (line 6) | function MarkdownText({ children }: { children: string }) { function CopyButton (line 24) | function CopyButton({ FILE: packages/web-templates/src/insight/src/Header.tsx function Header (line 6) | function Header({ function StatsRow (line 30) | function StatsRow({ data }: { data: InsightData }) { FILE: packages/web-templates/src/insight/src/Qualitative.tsx function AtAGlance (line 13) | function AtAGlance({ qualitative }: { qualitative: QualitativeData }) { function NavToc (line 54) | function NavToc() { function ProjectAreas (line 68) | function ProjectAreas({ function InteractionStyle (line 138) | function InteractionStyle({ function ImpressiveWorkflows (line 174) | function ImpressiveWorkflows({ function formatLabel (line 255) | function formatLabel(label: string) { function HorizontalBarChart (line 266) | function HorizontalBarChart({ function FrictionPoints (line 398) | function FrictionPoints({ function QwenMdAdditionsSection (line 488) | function QwenMdAdditionsSection({ function Improvements (line 561) | function Improvements({ function FutureOpportunities (line 648) | function FutureOpportunities({ function MemorableMoment (line 702) | function MemorableMoment({ FILE: packages/web-templates/src/insight/src/dev.tsx constant MOCK_DATA (line 7) | const MOCK_DATA: InsightData = { FILE: packages/web-templates/src/insight/src/types.ts type Window (line 6) | interface Window { FILE: packages/webui/.storybook/main.ts function getAbsolutePath (line 17) | function getAbsolutePath(value: string): string { FILE: packages/webui/src/adapters/ACPAdapter.ts function isUserMessage (line 19) | function isUserMessage(msg: ACPMessage | undefined): boolean { function adaptACPMessages (line 32) | function adaptACPMessages(messages: ACPMessage[]): UnifiedMessage[] { function isToolCallData (line 90) | function isToolCallData(data: unknown): data is ToolCallData { function isMessageData (line 102) | function isMessageData(data: unknown): data is ACPMessageData { FILE: packages/webui/src/adapters/JSONLAdapter.ts function extractContent (line 18) | function extractContent(message?: { function parseTimestamp (line 54) | function parseTimestamp(timestamp: string): number { function getMessageType (line 62) | function getMessageType(msg: JSONLMessage): UnifiedMessageType { function isUserType (line 78) | function isUserType(msg: JSONLMessage | undefined): boolean { function adaptJSONLMessages (line 88) | function adaptJSONLMessages(messages: JSONLMessage[]): UnifiedMessage[] { function filterEmptyMessages (line 119) | function filterEmptyMessages( FILE: packages/webui/src/adapters/types.ts type UnifiedMessageType (line 15) | type UnifiedMessageType = type UnifiedMessage (line 24) | interface UnifiedMessage { type JSONLMessage (line 49) | interface JSONLMessage { type ACPMessage (line 67) | interface ACPMessage { type ACPMessageData (line 75) | interface ACPMessageData { FILE: packages/webui/src/components/ChatViewer/ChatViewer.stories.tsx type Story (line 78) | type Story = StoryObj; constant PLAYGROUND_SAMPLE (line 1240) | const PLAYGROUND_SAMPLE = `[ FILE: packages/webui/src/components/ChatViewer/ChatViewer.tsx type MessagePart (line 36) | interface MessagePart { type ClaudeContentItem (line 43) | interface ClaudeContentItem { type ToolCallData (line 53) | type ToolCallData = BaseToolCallData; type ChatMessageData (line 59) | interface ChatMessageData { type ChatViewerHandle (line 82) | interface ChatViewerHandle { type ChatViewerProps (line 94) | interface ChatViewerProps { function extractContent (line 114) | function extractContent(message: ChatMessageData['message']): string { function parseTimestamp (line 141) | function parseTimestamp(isoString: string): number { function getToolCallComponent (line 149) | function getToolCallComponent(kind: string) {