Function: createChatController()
function createChatController(options, settings?): Promise<{
cwd: () => string;
formatAction: (toolName, toolInput) => string;
getState: () => ChatState;
lastReply: () => string;
notice: (text, tone) => void;
toolPhrase: (toolName) => ToolPhrase | undefined;
answer: void;
api: T | undefined;
choose: void;
close: void;
cycleMode: void;
extensionCatalog: Promise<CatalogEntry[]>;
extensionImage: Promise<string | undefined>;
extensionOptions: Promise<ExtensionOptionState[]>;
installExtension: Promise<{
confirm?: {
description?: string;
marketplace: string;
};
missing?: string[];
name?: string;
remote?: string[];
}>;
interrupt: void;
listRuns: Promise<object[]>;
newConversation: Promise<void>;
onEvent: () => void;
removeExtension: Promise<void>;
reopen: Promise<void>;
resume: Promise<void>;
send: Promise<void | "exit">;
setExtension: Promise<void>;
setExtensionOptions: Promise<void>;
setLanguage: Promise<void>;
setMode: void;
signInExtension: Promise<SignIn>;
signOutExtension: Promise<boolean>;
start: Promise<void>;
subscribe: () => void;
togglePlan: void;
trustWorkspace: Promise<void>;
updateExtension: Promise<string[]>;
}>;
Defined in: chat/chatController.ts:169
Opens the chat's session (the first run with a session opener, --continue picking the
latest) and loads the history; start() then draws the run's conversation and sends the
initial prompt, send() each line the person types.
Parameters
| Parameter | Type |
|---|---|
options | Options | SessionOpener |
settings | ChatSettings |
Returns
Promise<{
cwd: () => string;
formatAction: (toolName, toolInput) => string;
getState: () => ChatState;
lastReply: () => string;
notice: (text, tone) => void;
toolPhrase: (toolName) => ToolPhrase | undefined;
answer: void;
api: T | undefined;
choose: void;
close: void;
cycleMode: void;
extensionCatalog: Promise<CatalogEntry[]>;
extensionImage: Promise<string | undefined>;
extensionOptions: Promise<ExtensionOptionState[]>;
installExtension: Promise<{
confirm?: {
description?: string;
marketplace: string;
};
missing?: string[];
name?: string;
remote?: string[];
}>;
interrupt: void;
listRuns: Promise<object[]>;
newConversation: Promise<void>;
onEvent: () => void;
removeExtension: Promise<void>;
reopen: Promise<void>;
resume: Promise<void>;
send: Promise<void | "exit">;
setExtension: Promise<void>;
setExtensionOptions: Promise<void>;
setLanguage: Promise<void>;
setMode: void;
signInExtension: Promise<SignIn>;
signOutExtension: Promise<boolean>;
start: Promise<void>;
subscribe: () => void;
togglePlan: void;
trustWorkspace: Promise<void>;
updateExtension: Promise<string[]>;
}>