SYMBOL INDEX (329 symbols across 86 files) FILE: app/components/chat/Artifact.tsx type ArtifactProps (line 23) | interface ArtifactProps { type ShellCodeBlockProps (line 104) | interface ShellCodeBlockProps { function ShellCodeBlock (line 109) | function ShellCodeBlock({ classsName, code }: ShellCodeBlockProps) { type ActionListProps (line 123) | interface ActionListProps { function getIconColor (line 192) | function getIconColor(status: ActionState['status']) { FILE: app/components/chat/AssistantMessage.tsx type AssistantMessageProps (line 4) | interface AssistantMessageProps { FILE: app/components/chat/BaseChat.tsx type BaseChatProps (line 13) | interface BaseChatProps { constant EXAMPLE_PROMPTS (line 30) | const EXAMPLE_PROMPTS = [ constant TEXTAREA_MIN_HEIGHT (line 38) | const TEXTAREA_MIN_HEIGHT = 76; FILE: app/components/chat/Chat.client.tsx function Chat (line 23) | function Chat() { type ChatProps (line 62) | interface ChatProps { FILE: app/components/chat/CodeBlock.tsx type CodeBlockProps (line 10) | interface CodeBlockProps { FILE: app/components/chat/Markdown.tsx type MarkdownProps (line 13) | interface MarkdownProps { FILE: app/components/chat/Messages.client.tsx type MessagesProps (line 7) | interface MessagesProps { FILE: app/components/chat/SendButton.client.tsx type SendButtonProps (line 3) | interface SendButtonProps { function SendButton (line 11) | function SendButton({ show, isStreaming, onClick }: SendButtonProps) { FILE: app/components/chat/UserMessage.tsx type UserMessageProps (line 4) | interface UserMessageProps { function UserMessage (line 8) | function UserMessage({ content }: UserMessageProps) { function sanitizeUserMessage (line 16) | function sanitizeUserMessage(content: string) { FILE: app/components/editor/codemirror/BinaryContent.tsx function BinaryContent (line 1) | function BinaryContent() { FILE: app/components/editor/codemirror/CodeMirrorEditor.tsx type EditorDocument (line 31) | interface EditorDocument { type EditorSettings (line 38) | interface EditorSettings { type TextEditorDocument (line 44) | type TextEditorDocument = EditorDocument & { type ScrollPosition (line 48) | interface ScrollPosition { type EditorUpdate (line 53) | interface EditorUpdate { type OnChangeCallback (line 58) | type OnChangeCallback = (update: EditorUpdate) => void; type OnScrollCallback (line 59) | type OnScrollCallback = (position: ScrollPosition) => void; type OnSaveCallback (line 60) | type OnSaveCallback = () => void; type Props (line 62) | interface Props { type EditorStates (line 77) | type EditorStates = Map; method update (line 83) | update(_tooltips, transaction) { method create (line 104) | create() { method update (line 107) | update(value, transaction) { method dispatchTransactions (line 165) | dispatchTransactions(transactions) { function newEditorState (line 269) | function newEditorState( function setNoDocument (line 363) | function setNoDocument(view: EditorView) { function setEditorDocument (line 376) | function setEditorDocument( function getReadOnlyTooltip (line 437) | function getReadOnlyTooltip(state: EditorState) { FILE: app/components/editor/codemirror/cm-theme.ts function getTheme (line 10) | function getTheme(theme: Theme, settings: EditorSettings = {}): Extension { function reconfigureTheme (line 17) | function reconfigureTheme(theme: Theme) { function getEditorTheme (line 21) | function getEditorTheme(settings: EditorSettings) { function getLightTheme (line 186) | function getLightTheme() { function getDarkTheme (line 190) | function getDarkTheme() { FILE: app/components/editor/codemirror/indent.ts function indentMore (line 12) | function indentMore({ state, dispatch }: EditorView) { function changeBySelectedLine (line 29) | function changeBySelectedLine( FILE: app/components/editor/codemirror/languages.ts method load (line 7) | async load() { method load (line 14) | async load() { method load (line 21) | async load() { method load (line 28) | async load() { method load (line 35) | async load() { method load (line 42) | async load() { method load (line 49) | async load() { method load (line 56) | async load() { method load (line 63) | async load() { method load (line 70) | async load() { method load (line 77) | async load() { method load (line 84) | async load() { method load (line 91) | async load() { function getLanguage (line 97) | async function getLanguage(fileName: string) { FILE: app/components/header/Header.tsx function Header (line 8) | function Header() { FILE: app/components/header/HeaderActionButtons.client.tsx type HeaderActionButtonsProps (line 6) | interface HeaderActionButtonsProps {} function HeaderActionButtons (line 8) | function HeaderActionButtons({}: HeaderActionButtonsProps) { type ButtonProps (line 46) | interface ButtonProps { function Button (line 53) | function Button({ active = false, disabled = false, children, onClick }:... FILE: app/components/sidebar/HistoryItem.tsx type HistoryItemProps (line 5) | interface HistoryItemProps { function HistoryItem (line 10) | function HistoryItem({ item, onDelete }: HistoryItemProps) { FILE: app/components/sidebar/Menu.client.tsx type DialogContent (line 34) | type DialogContent = { type: 'delete'; item: ChatHistoryItem } | null; function Menu (line 36) | function Menu() { FILE: app/components/sidebar/date-binning.ts type Bin (line 4) | type Bin = { category: string; items: ChatHistoryItem[] }; function binDates (line 6) | function binDates(_list: ChatHistoryItem[]) { function dateCategory (line 32) | function dateCategory(date: Date) { FILE: app/components/ui/Dialog.tsx type DialogButtonProps (line 43) | interface DialogButtonProps { type DialogProps (line 95) | interface DialogProps { FILE: app/components/ui/IconButton.tsx type IconSize (line 4) | type IconSize = 'sm' | 'md' | 'lg' | 'xl' | 'xxl'; type BaseIconButtonProps (line 6) | interface BaseIconButtonProps { type IconButtonWithoutChildrenProps (line 16) | type IconButtonWithoutChildrenProps = { type IconButtonWithChildrenProps (line 21) | type IconButtonWithChildrenProps = { type IconButtonProps (line 26) | type IconButtonProps = IconButtonWithoutChildrenProps | IconButtonWithCh... function getIconSize (line 65) | function getIconSize(size: IconSize) { FILE: app/components/ui/LoadingDots.tsx type LoadingDotsProps (line 3) | interface LoadingDotsProps { FILE: app/components/ui/PanelHeader.tsx type PanelHeaderProps (line 4) | interface PanelHeaderProps { FILE: app/components/ui/PanelHeaderButton.tsx type PanelHeaderButtonProps (line 4) | interface PanelHeaderButtonProps { FILE: app/components/ui/Slider.tsx type SliderOption (line 7) | interface SliderOption { type SliderOptions (line 12) | interface SliderOptions { type SliderProps (line 17) | interface SliderProps { type SliderButtonProps (line 38) | interface SliderButtonProps { FILE: app/components/ui/ThemeSwitch.tsx type ThemeSwitchProps (line 6) | interface ThemeSwitchProps { FILE: app/components/workbench/EditorPanel.tsx type EditorPanelProps (line 27) | interface EditorPanelProps { constant MAX_TERMINALS (line 40) | const MAX_TERMINALS = 3; constant DEFAULT_TERMINAL_SIZE (line 41) | const DEFAULT_TERMINAL_SIZE = 25; constant DEFAULT_EDITOR_SIZE (line 42) | const DEFAULT_EDITOR_SIZE = 100 - DEFAULT_TERMINAL_SIZE; FILE: app/components/workbench/FileBreadcrumb.tsx constant WORK_DIR_REGEX (line 11) | const WORK_DIR_REGEX = new RegExp(`^${WORK_DIR.split('/').slice(0, -1).j... type FileBreadcrumbProps (line 13) | interface FileBreadcrumbProps { FILE: app/components/workbench/FileTree.tsx constant NODE_PADDING_LEFT (line 8) | const NODE_PADDING_LEFT = 8; constant DEFAULT_HIDDEN_FILES (line 9) | const DEFAULT_HIDDEN_FILES = [/\/node_modules\//, /\/\.next/, /\/\.astro/]; type Props (line 11) | interface Props { type FolderProps (line 155) | interface FolderProps { function Folder (line 162) | function Folder({ folder: { depth, name }, collapsed, selected = false, ... type FileProps (line 182) | interface FileProps { function File (line 189) | function File({ file: { depth, name }, onClick, selected, unsavedChanges... type ButtonProps (line 214) | interface ButtonProps { function NodeButton (line 222) | function NodeButton({ depth, iconClasses, onClick, className, children }... type Node (line 238) | type Node = FileNode | FolderNode; type BaseNode (line 240) | interface BaseNode { type FileNode (line 247) | interface FileNode extends BaseNode { type FolderNode (line 251) | interface FolderNode extends BaseNode { function buildFileList (line 255) | function buildFileList( function isHiddenFile (line 321) | function isHiddenFile(filePath: string, fileName: string, hiddenFiles: A... function sortFileList (line 344) | function sortFileList(rootFolder: string, nodeList: Node[], hideRoot: bo... function compareNodes (line 403) | function compareNodes(a: Node, b: Node): number { FILE: app/components/workbench/PortDropdown.tsx type PortDropdownProps (line 5) | interface PortDropdownProps { FILE: app/components/workbench/Workbench.client.tsx type WorkspaceProps (line 20) | interface WorkspaceProps { type ViewProps (line 177) | interface ViewProps extends HTMLMotionProps<'div'> { FILE: app/components/workbench/terminal/Terminal.tsx type TerminalRef (line 11) | interface TerminalRef { type TerminalProps (line 15) | interface TerminalProps { FILE: app/components/workbench/terminal/theme.ts function getTerminalTheme (line 6) | function getTerminalTheme(overrides?: ITheme): ITheme { FILE: app/entry.server.tsx function handleRequest (line 9) | async function handleRequest( FILE: app/lib/.server/llm/api-key.ts function getAPIKey (line 3) | function getAPIKey(cloudflareEnv: Env) { FILE: app/lib/.server/llm/constants.ts constant MAX_TOKENS (line 2) | const MAX_TOKENS = 8192; constant MAX_RESPONSE_SEGMENTS (line 5) | const MAX_RESPONSE_SEGMENTS = 2; FILE: app/lib/.server/llm/model.ts function getAnthropicModel (line 3) | function getAnthropicModel(apiKey: string) { FILE: app/lib/.server/llm/prompts.ts constant CONTINUE_PROMPT (line 281) | const CONTINUE_PROMPT = stripIndents` FILE: app/lib/.server/llm/stream-text.ts type ToolResult (line 7) | interface ToolResult { type Message (line 14) | interface Message { type Messages (line 20) | type Messages = Message[]; type StreamingOptions (line 22) | type StreamingOptions = Omit[0], 'model'>; function streamText (line 24) | function streamText(messages: Messages, env: Env, options?: StreamingOpt... FILE: app/lib/.server/llm/switchable-stream.ts class SwitchableStream (line 1) | class SwitchableStream extends TransformStream { method constructor (line 6) | constructor() { method switchSource (line 22) | async switchSource(newStream: ReadableStream) { method _pumpStream (line 34) | private async _pumpStream() { method close (line 55) | close() { method switches (line 63) | get switches() { FILE: app/lib/crypto.ts constant IV_LENGTH (line 3) | const IV_LENGTH = 16; function encrypt (line 5) | async function encrypt(key: string, data: string) { function decrypt (line 26) | async function decrypt(key: string, payload: string) { function getKey (line 46) | async function getKey(key: string) { function decodeBase64 (line 50) | function decodeBase64(encoded: Uint8Array) { function encodeBase64 (line 56) | function encodeBase64(data: string) { FILE: app/lib/fetch.ts type CommonRequest (line 1) | type CommonRequest = Omit & { body?: URLSearchParam... function request (line 3) | async function request(url: string, init?: CommonRequest) { FILE: app/lib/hooks/useMessageParser.ts function useMessageParser (line 42) | function useMessageParser() { FILE: app/lib/hooks/usePromptEnhancer.ts function usePromptEnhancer (line 6) | function usePromptEnhancer() { FILE: app/lib/hooks/useShortcuts.ts class ShortcutEventEmitter (line 5) | class ShortcutEventEmitter { method dispatch (line 8) | dispatch(type: keyof Shortcuts) { method on (line 12) | on(type: keyof Shortcuts, cb: VoidFunction) { function useShortcuts (line 23) | function useShortcuts(): void { FILE: app/lib/hooks/useSnapScroll.ts function useSnapScroll (line 3) | function useSnapScroll() { FILE: app/lib/persistence/ChatDescription.client.tsx function ChatDescription (line 4) | function ChatDescription() { FILE: app/lib/persistence/db.ts function openDatabase (line 8) | async function openDatabase(): Promise { function getAll (line 33) | async function getAll(db: IDBDatabase): Promise { function setMessages (line 44) | async function setMessages( function getMessages (line 68) | async function getMessages(db: IDBDatabase, id: string): Promise { function getNextId (line 106) | async function getNextId(db: IDBDatabase): Promise { function getUrlId (line 121) | async function getUrlId(db: IDBDatabase, id: string): Promise { function getUrlIds (line 137) | async function getUrlIds(db: IDBDatabase): Promise { FILE: app/lib/persistence/useChatHistory.ts type ChatHistoryItem (line 9) | interface ChatHistoryItem { function useChatHistory (line 24) | function useChatHistory() { function navigateChat (line 99) | function navigateChat(nextId: string) { FILE: app/lib/runtime/action-runner.ts type ActionStatus (line 11) | type ActionStatus = 'pending' | 'running' | 'complete' | 'aborted' | 'fa... type BaseActionState (line 13) | type BaseActionState = BoltAction & { type FailedActionState (line 20) | type FailedActionState = BoltAction & type ActionState (line 26) | type ActionState = BaseActionState | FailedActionState; type BaseActionUpdate (line 28) | type BaseActionUpdate = Partial>; class ActionRunner (line 36) | class ActionRunner { method constructor (line 42) | constructor(webcontainerPromise: Promise) { method addAction (line 46) | addAction(data: ActionCallbackData) { method runAction (line 75) | async runAction(data: ActionCallbackData) { method #executeAction (line 98) | async #executeAction(actionId: string) { method #runShellAction (line 124) | async #runShellAction(action: ActionState) { method #runFileAction (line 152) | async #runFileAction(action: ActionState) { method #updateAction (line 181) | #updateAction(id: string, newState: ActionStateUpdate) { FILE: app/lib/runtime/message-parser.spec.ts type ExpectedResult (line 4) | interface ExpectedResult { function runTest (line 157) | function runTest(input: string | string[], outputOrExpectedResult: strin... FILE: app/lib/runtime/message-parser.ts constant ARTIFACT_TAG_OPEN (line 6) | const ARTIFACT_TAG_OPEN = ' void; type ActionCallback (line 25) | type ActionCallback = (data: ActionCallbackData) => void; type ParserCallbacks (line 27) | interface ParserCallbacks { type ElementFactoryProps (line 34) | interface ElementFactoryProps { type ElementFactory (line 38) | type ElementFactory = (props: ElementFactoryProps) => string; type StreamingMessageParserOptions (line 40) | interface StreamingMessageParserOptions { type MessageState (line 45) | interface MessageState { class StreamingMessageParser (line 54) | class StreamingMessageParser { method constructor (line 57) | constructor(private _options: StreamingMessageParserOptions = {}) {} method parse (line 59) | parse(messageId: string, input: string) { method reset (line 237) | reset() { method #parseActionTag (line 241) | #parseActionTag(input: string, actionOpenIndex: number, actionEndIndex... method #extractAttribute (line 266) | #extractAttribute(tag: string, attributeName: string): string | undefi... function camelToDashCase (line 283) | function camelToDashCase(input: string) { FILE: app/lib/stores/editor.ts type EditorDocuments (line 5) | type EditorDocuments = Record; type SelectedFile (line 7) | type SelectedFile = WritableAtom; class EditorStore (line 9) | class EditorStore { method constructor (line 23) | constructor(filesStore: FilesStore) { method setDocuments (line 32) | setDocuments(files: FileMap) { method setSelectedFile (line 59) | setSelectedFile(filePath: string | undefined) { method updateScrollPosition (line 63) | updateScrollPosition(filePath: string, position: ScrollPosition) { method updateFile (line 77) | updateFile(filePath: string, newContent: string) { FILE: app/lib/stores/files.ts type File (line 16) | interface File { type Folder (line 22) | interface Folder { type Dirent (line 26) | type Dirent = File | Folder; type FileMap (line 28) | type FileMap = Record; class FilesStore (line 30) | class FilesStore { method filesCount (line 50) | get filesCount() { method constructor (line 54) | constructor(webcontainerPromise: Promise) { method getFile (line 65) | getFile(filePath: string) { method getFileModifications (line 75) | getFileModifications() { method resetFileModifications (line 79) | resetFileModifications() { method saveFile (line 83) | async saveFile(filePath: string, content: string) { method #init (line 116) | async #init() { method #processEventBuffer (line 125) | #processEventBuffer(events: Array<[events: PathWatcherEvent[]]>) { method #decodeFileContent (line 186) | #decodeFileContent(buffer?: Uint8Array) { function isBinaryFile (line 200) | function isBinaryFile(buffer: Uint8Array | undefined) { function convertToBuffer (line 214) | function convertToBuffer(view: Uint8Array): Buffer { FILE: app/lib/stores/previews.ts type PreviewInfo (line 4) | interface PreviewInfo { class PreviewsStore (line 10) | class PreviewsStore { method constructor (line 16) | constructor(webcontainerPromise: Promise) { method #init (line 22) | async #init() { FILE: app/lib/stores/settings.ts type Shortcut (line 4) | interface Shortcut { type Shortcuts (line 14) | interface Shortcuts { type Settings (line 18) | interface Settings { FILE: app/lib/stores/terminal.ts class TerminalStore (line 7) | class TerminalStore { method constructor (line 13) | constructor(webcontainerPromise: Promise) { method toggleTerminal (line 21) | toggleTerminal(value?: boolean) { method attachTerminal (line 25) | async attachTerminal(terminal: ITerminal) { method onTerminalResize (line 35) | onTerminalResize(cols: number, rows: number) { FILE: app/lib/stores/theme.ts type Theme (line 3) | type Theme = 'dark' | 'light'; function themeIsDark (line 7) | function themeIsDark() { constant DEFAULT_THEME (line 11) | const DEFAULT_THEME = 'light'; function initStore (line 15) | function initStore() { function toggleTheme (line 26) | function toggleTheme() { FILE: app/lib/stores/workbench.ts type ArtifactState (line 13) | interface ArtifactState { type ArtifactUpdateState (line 20) | type ArtifactUpdateState = Pick; type Artifacts (line 22) | type Artifacts = MapStore>; type WorkbenchViewType (line 24) | type WorkbenchViewType = 'code' | 'preview'; class WorkbenchStore (line 26) | class WorkbenchStore { method constructor (line 40) | constructor() { method previews (line 49) | get previews() { method files (line 53) | get files() { method currentDocument (line 57) | get currentDocument(): ReadableAtom { method selectedFile (line 61) | get selectedFile(): ReadableAtom { method firstArtifact (line 65) | get firstArtifact(): ArtifactState | undefined { method filesCount (line 69) | get filesCount(): number { method showTerminal (line 73) | get showTerminal() { method toggleTerminal (line 77) | toggleTerminal(value?: boolean) { method attachTerminal (line 81) | attachTerminal(terminal: ITerminal) { method onTerminalResize (line 85) | onTerminalResize(cols: number, rows: number) { method setDocuments (line 89) | setDocuments(files: FileMap) { method setShowWorkbench (line 103) | setShowWorkbench(show: boolean) { method setCurrentDocumentContent (line 107) | setCurrentDocumentContent(newContent: string) { method setCurrentDocumentScrollPosition (line 140) | setCurrentDocumentScrollPosition(position: ScrollPosition) { method setSelectedFile (line 152) | setSelectedFile(filePath: string | undefined) { method saveFile (line 156) | async saveFile(filePath: string) { method saveCurrentDocument (line 172) | async saveCurrentDocument() { method resetCurrentDocument (line 182) | resetCurrentDocument() { method saveAllFiles (line 199) | async saveAllFiles() { method getFileModifcations (line 205) | getFileModifcations() { method resetAllFileModifications (line 209) | resetAllFileModifications() { method abortAllActions (line 213) | abortAllActions() { method addArtifact (line 217) | addArtifact({ messageId, title, id }: ArtifactCallbackData) { method updateArtifact (line 236) | updateArtifact({ messageId }: ArtifactCallbackData, state: Partial(timeInMs: number, cb: (e... FILE: app/utils/classNames.ts type ClassNamesArg (line 8) | type ClassNamesArg = undefined | string | Record | Clas... function classNames (line 17) | function classNames(...args: ClassNamesArg[]): string { function parseValue (line 27) | function parseValue(arg: ClassNamesArg) { function appendClass (line 51) | function appendClass(value: string, newClass: string | undefined) { FILE: app/utils/constants.ts constant WORK_DIR_NAME (line 1) | const WORK_DIR_NAME = 'project'; constant WORK_DIR (line 2) | const WORK_DIR = `/home/${WORK_DIR_NAME}`; constant MODIFICATIONS_TAG_NAME (line 3) | const MODIFICATIONS_TAG_NAME = 'bolt_file_modifications'; FILE: app/utils/debounce.ts function debounce (line 1) | function debounce(fn: (...args: Args) => void, delay... FILE: app/utils/diff.ts type ModifiedFile (line 10) | interface ModifiedFile { type FileModifications (line 15) | type FileModifications = Record; function computeFileModifications (line 17) | function computeFileModifications(files: FileMap, modifiedFiles: Map void; type Logger (line 5) | interface Logger { function createScopedLogger (line 28) | function createScopedLogger(scope: string): Logger { function setLevel (line 39) | function setLevel(level: DebugLevel) { function log (line 47) | function log(level: DebugLevel, scope: string | undefined, messages: any... function getLabelStyles (line 87) | function getLabelStyles(color: string, textColor: string) { function getColorForLevel (line 91) | function getColorForLevel(level: DebugLevel): string { FILE: app/utils/markdown.ts function remarkPlugins (line 69) | function remarkPlugins(limitedMarkdown: boolean) { function rehypePlugins (line 79) | function rehypePlugins(html: boolean) { FILE: app/utils/mobile.ts function isMobile (line 1) | function isMobile() { FILE: app/utils/promises.ts function withResolvers (line 1) | function withResolvers(): PromiseWithResolvers { FILE: app/utils/shell.ts function newShellProcess (line 5) | async function newShellProcess(webcontainer: WebContainer, terminal: ITe... FILE: app/utils/stripIndent.ts function stripIndents (line 3) | function stripIndents(arg0: string | TemplateStringsArray, ...values: an... function _stripIndents (line 16) | function _stripIndents(value: string) { FILE: app/utils/unreachable.ts function unreachable (line 1) | function unreachable(message: string): never { FILE: load-context.ts type Cloudflare (line 3) | type Cloudflare = Omit, 'dispose'>; type AppLoadContext (line 6) | interface AppLoadContext { FILE: types/istextorbinary.d.ts type EncodingOpts (line 6) | interface EncodingOpts { FILE: uno.config.ts constant BASE_COLORS (line 22) | const BASE_COLORS = { constant COLOR_PRIMITIVES (line 90) | const COLOR_PRIMITIVES = { function generateAlphaPalette (line 264) | function generateAlphaPalette(hex: string) { FILE: vite.config.ts function chrome129IssuePlugin (line 33) | function chrome129IssuePlugin() { FILE: worker-configuration.d.ts type Env (line 1) | interface Env {