SYMBOL INDEX (243 symbols across 71 files) FILE: cloudflare/worker.js constant TARGET_HOST (line 1) | const TARGET_HOST = 'copilot.github1s.tk' method fetch (line 4) | async fetch(request, env = {}) { FILE: scripts/pre-check.js function executeCommand (line 4) | function executeCommand(command) { function start (line 28) | async function start() { FILE: server.js function handleRequest (line 22) | async function handleRequest(req, res) { FILE: src/app/layout.tsx type RootLayoutProps (line 26) | interface RootLayoutProps { function RootLayout (line 30) | function RootLayout({ children }: RootLayoutProps) { FILE: src/app/manifest.ts function manifest (line 3) | function manifest(): MetadataRoute.Manifest { FILE: src/app/page.tsx function IndexPage (line 16) | function IndexPage() { FILE: src/components/advance-switcher.tsx function AdvanceSwither (line 5) | function AdvanceSwither({ disabled }: { disabled: boolean }) { FILE: src/components/button-scroll-to-bottom.tsx function ButtonScrollToBottom (line 10) | function ButtonScrollToBottom({ className, ...props }: ButtonProps) { FILE: src/components/chat-attachments.tsx type ChatAttachmentsProps (line 7) | type ChatAttachmentsProps = Pick {} function ChatImage (line 29) | function ChatImage({ children, uploadImage }: React.PropsWithChildren { function getAction (line 11) | function getAction(error: ChatError, reset: () => void) { function ChatNotification (line 72) | function ChatNotification({ message, bot }: ChatNotificationProps) { FILE: src/components/chat-panel.tsx type ChatPanelProps (line 22) | interface ChatPanelProps function ChatPanel (line 39) | function ChatPanel({ FILE: src/components/chat-progress.tsx type ChatProgressProps (line 5) | interface ChatProgressProps { function ChatProgress (line 9) | function ChatProgress({ progress = [] }: ChatProgressProps) { FILE: src/components/chat-prompts.tsx type ChatPromptsProps (line 5) | interface ChatPromptsProps { function ChatPrompts (line 10) | function ChatPrompts({ onChange, filter }: ChatPromptsProps) { FILE: src/components/chat-scroll-anchor.tsx type ChatScrollAnchorProps (line 8) | interface ChatScrollAnchorProps { function ChatScrollAnchor (line 12) | function ChatScrollAnchor({ trackVisibility }: ChatScrollAnchorProps) { FILE: src/components/chat-suggestions.tsx type Suggestions (line 9) | type Suggestions = SuggestedResponse[] type ChatSuggestionsProps (line 13) | type ChatSuggestionsProps = React.ComponentProps<'div'> & Pick & { initialMessages?: ChatM... function Chat (line 27) | function Chat({ className }: ChatProps) { FILE: src/components/external-link.tsx function ExternalLink (line 1) | function ExternalLink({ FILE: src/components/header.tsx function Header (line 4) | async function Header() { FILE: src/components/learn-more.tsx type LearnMoreProps (line 4) | interface LearnMoreProps { function LearnMore (line 8) | function LearnMore({ sourceAttributions }: LearnMoreProps) { FILE: src/components/prompts/form.tsx function PromptForm (line 54) | function PromptForm(props: { initialData: Prompt; onSubmit: (data: Promp... function LocalPrompts (line 89) | function LocalPrompts(props: { insertPrompt: (text: string) => void }) { function CommunityPrompts (line 144) | function CommunityPrompts(props: { insertPrompt: (text: string) => void ... FILE: src/components/prompts/index.tsx type PromptDialogProps (line 12) | interface PromptDialogProps { function PromptsManage (line 15) | function PromptsManage (props: PromptDialogProps) { FILE: src/components/providers.tsx function Providers (line 9) | function Providers({ children, ...props }: ThemeProviderProps) { FILE: src/components/settings/advanced.tsx function AdvancedSetting (line 13) | function AdvancedSetting() { function CheckIcon (line 114) | function CheckIcon(props: React.SVGProps) { FILE: src/components/settings/index.tsx function Settings (line 22) | function Settings() { FILE: src/components/settings/voice.tsx function VoiceSetting (line 11) | function VoiceSetting() { FILE: src/components/tailwind-indicator.tsx function TailwindIndicator (line 1) | function TailwindIndicator() { FILE: src/components/theme-toggle.tsx function ThemeToggle (line 9) | function ThemeToggle() { FILE: src/components/tone-selector.tsx type ToneItem (line 5) | type ToneItem = { type ToneSelectorProps (line 16) | interface ToneSelectorProps { function ToneSelector (line 21) | function ToneSelector({ type, onChange }: ToneSelectorProps) { FILE: src/components/turn-counter.tsx type TurnCounterProps (line 6) | interface TurnCounterProps { function TurnCounter (line 11) | function TurnCounter({ throttling, index }: TurnCounterProps) { FILE: src/components/ui/badge.tsx type BadgeProps (line 26) | interface BadgeProps function Badge (line 30) | function Badge({ className, variant, ...props }: BadgeProps) { FILE: src/components/ui/button.tsx type ButtonProps (line 39) | interface ButtonProps FILE: src/components/ui/codeblock.tsx type Props (line 11) | interface Props { type languageMap (line 16) | interface languageMap { FILE: src/components/ui/icons.tsx function IconNextChat (line 7) | function IconNextChat({ function IconOpenAI (line 91) | function IconOpenAI({ className, ...props }: React.ComponentProps<'svg'>) { function IconGitHub (line 107) | function IconGitHub({ className, ...props }: React.ComponentProps<'svg'>) { function IconSeparator (line 123) | function IconSeparator({ className, ...props }: React.ComponentProps<'sv... function IconArrowDown (line 142) | function IconArrowDown({ className, ...props }: React.ComponentProps<'sv... function IconArrowRight (line 156) | function IconArrowRight({ className, ...props }: React.ComponentProps<'s... function IconUser (line 170) | function IconUser({ className, ...props }: React.ComponentProps<'svg'>) { function IconPlus (line 184) | function IconPlus({ className, ...props }: React.ComponentProps<'svg'>) { function IconArrowElbow (line 198) | function IconArrowElbow({ className, ...props }: React.ComponentProps<'s... function IconSpinner (line 212) | function IconSpinner({ className, ...props }: React.ComponentProps<'svg'... function IconMessage (line 226) | function IconMessage({ className, ...props }: React.ComponentProps<'svg'... function IconTrash (line 240) | function IconTrash({ className, ...props }: React.ComponentProps<'svg'>) { function IconMore (line 254) | function IconMore({ className, ...props }: React.ComponentProps<'svg'>) { function IconRefresh (line 268) | function IconRefresh({ className, ...props }: React.ComponentProps<'svg'... function IconStop (line 282) | function IconStop({ className, ...props }: React.ComponentProps<'svg'>) { function IconSidebar (line 296) | function IconSidebar({ className, ...props }: React.ComponentProps<'svg'... function IconMoon (line 310) | function IconMoon({ className, ...props }: React.ComponentProps<'svg'>) { function IconSun (line 324) | function IconSun({ className, ...props }: React.ComponentProps<'svg'>) { function IconCopy (line 338) | function IconCopy({ className, ...props }: React.ComponentProps<'svg'>) { function IconCheck (line 352) | function IconCheck({ className, ...props }: React.ComponentProps<'svg'>) { function IconDownload (line 366) | function IconDownload({ className, ...props }: React.ComponentProps<'svg... function IconClose (line 380) | function IconClose({ className, ...props }: React.ComponentProps<'svg'>) { function IconEdit (line 394) | function IconEdit({ className, ...props }: React.ComponentProps<'svg'>) { function IconShare (line 414) | function IconShare({ className, ...props }: React.ComponentProps<'svg'>) { function IconUsers (line 428) | function IconUsers({ className, ...props }: React.ComponentProps<'svg'>) { function IconExternalLink (line 442) | function IconExternalLink({ function IconChevronUpDown (line 459) | function IconChevronUpDown({ FILE: src/components/ui/input.tsx type InputProps (line 5) | interface InputProps FILE: src/components/ui/svg.tsx type clickHandler (line 1) | type clickHandler = (e: React.MouseEvent) => void; type SVGProps (line 3) | interface SVGProps { function SVG (line 14) | function SVG(props: SVGProps) { FILE: src/components/ui/tabs.tsx type Tab (line 4) | interface Tab { type Props (line 9) | interface Props { FILE: src/components/ui/textarea.tsx type TextareaProps (line 5) | interface TextareaProps FILE: src/components/ui/voice/index.tsx type VoiceProps (line 4) | type VoiceProps = { function Voice (line 10) | function Voice({ duration = 400, num = 7, className, ...others }: VoiceP... FILE: src/components/user-menu.tsx function UserMenu (line 19) | function UserMenu() { FILE: src/components/welcome-screen.tsx function WelcomeScreen (line 18) | function WelcomeScreen({ setInput }: Pick) { FILE: src/lib/bots/bing/index.ts type Params (line 22) | type Params = SendMessageParams<{ bingConversationStyle: BingConversatio... class BingWebBot (line 79) | class BingWebBot { method isInitial (line 86) | get isInitial() { method constructor (line 90) | constructor(opts: { method buildChatRequest (line 99) | static buildChatRequest(conversation: ConversationInfo) { method createConversation (line 193) | async createConversation(conversationId?: string): Promise void class SR (line 16) | class SR { method constructor (line 22) | constructor(commands: string[]) { FILE: src/lib/bots/bing/tts.ts class TTS (line 5) | class TTS { method isSpeaking (line 10) | get isSpeaking() { method constructor (line 14) | constructor() {} method doSpeek (line 36) | private async doSpeek() { method loop (line 74) | private async loop() { FILE: src/lib/bots/bing/types.ts type Author (line 1) | type Author = 'user' | 'system' | 'bot' type BotId (line 3) | type BotId = 'bing' type BingConversationStyle (line 5) | enum BingConversationStyle { type ErrorCode (line 12) | enum ErrorCode { class ChatError (line 27) | class ChatError extends Error { method constructor (line 29) | constructor(message: string, code: ErrorCode) { type ChatMessageModel (line 35) | type ChatMessageModel = { type ConversationModel (line 46) | interface ConversationModel { type Event (line 50) | type Event = type SendMessageParams (line 69) | interface SendMessageParams { type ConversationResponse (line 78) | interface ConversationResponse extends ConversationInfoBase { type Telemetry (line 85) | interface Telemetry { type ChatUpdateArgument (line 90) | interface ChatUpdateArgument { type ChatUpdateCompleteResponse (line 97) | type ChatUpdateCompleteResponse = { type ChatRequestResult (line 112) | interface ChatRequestResult { type ChatResponseItem (line 118) | interface ChatResponseItem { type InvocationEventType (line 129) | enum InvocationEventType { type ConversationInfoBase (line 139) | interface ConversationInfoBase { type ConversationInfo (line 148) | interface ConversationInfo extends ConversationInfoBase { type Throttling (line 157) | interface Throttling { type ChatResponseMessage (line 164) | interface ChatResponseMessage { type AdaptiveCard (line 183) | interface AdaptiveCard { type Body (line 189) | interface Body { type Feedback (line 196) | interface Feedback { type SourceAttribution (line 202) | interface SourceAttribution { type SuggestedResponse (line 208) | interface SuggestedResponse { type KBlobRequest (line 221) | interface KBlobRequest { type KBlobResponse (line 226) | interface KBlobResponse { type KnowledgeRequestContext (line 231) | interface KnowledgeRequestContext { type ImageInfo (line 236) | interface ImageInfo { type KnowledgeRequest (line 240) | interface KnowledgeRequest { type ConvoData (line 247) | interface ConvoData { type InvokedSkillsRequestData (line 252) | interface InvokedSkillsRequestData { type FileItem (line 256) | interface FileItem { type Role (line 261) | type Role = 'user' | 'assistant' type Action (line 262) | type Action = 'next' | 'variant'; type APIMessage (line 264) | interface APIMessage { FILE: src/lib/bots/bing/utils.ts function convertMessageToMarkdown (line 3) | function convertMessageToMarkdown(message: ChatResponseMessage): string { method packMessage (line 17) | packMessage(data: any) { method unpackMessage (line 20) | unpackMessage(data: string | ArrayBuffer | Blob) { function createImage (line 36) | async function createImage(prompt: string, id: string, headers: HeadersI... FILE: src/lib/hooks/chat-history.ts type ChatConversation (line 9) | interface ChatConversation { type ChatHistory (line 19) | interface ChatHistory { function useChatHistory (line 41) | function useChatHistory(historyEnabled: boolean) { FILE: src/lib/hooks/use-at-bottom.tsx function useAtBottom (line 3) | function useAtBottom(offset = 0) { FILE: src/lib/hooks/use-bing.ts function useBing (line 10) | function useBing(botId: BotId = 'bing') { type BingReturnType (line 199) | type BingReturnType = ReturnType FILE: src/lib/hooks/use-copy-to-clipboard.tsx type useCopyToClipboardProps (line 5) | interface useCopyToClipboardProps { function useCopyToClipboard (line 9) | function useCopyToClipboard({ FILE: src/lib/image.ts class FileUtils (line 1) | class FileUtils { method getDataUrlAsync (line 2) | static getDataUrlAsync(file: File): Promise { method getArrayBufferAsync (line 20) | static getArrayBufferAsync(file: File): Promise { method getImageElementFromDataUrl (line 38) | static getImageElementFromDataUrl(dataURL: string): Promise { method set (line 16) | async set(object: any) { method remove (line 21) | async remove(key: string) { method clear (line 24) | async clear() { FILE: src/lib/utils.ts function cn (line 14) | function cn(...inputs: ClassValue[]) { function formatDate (line 18) | function formatDate(date: number) { function createChunkDecoder (line 53) | function createChunkDecoder() { function muid (line 61) | function muid() { function random (line 65) | function random(start: number, end: number) { function randomString (line 69) | function randomString(length: number = 32) { function randomIP (line 74) | function randomIP() { function parseHeadersFromCurl (line 91) | function parseHeadersFromCurl(content: string) { function encodeHeadersToCookie (line 104) | function encodeHeadersToCookie(content: string) { function extraCurlFromCookie (line 110) | function extraCurlFromCookie(cookies: Partial<{ [key: string]: string }>... function extraHeadersFromCookie (line 119) | function extraHeadersFromCookie(cookies: Partial<{ [key: string]: string... function parseCookie (line 123) | function parseCookie(cookie: string, cookieName: string) { function setCookie (line 129) | function setCookie(key: string, value?: string) { function getCookie (line 136) | function getCookie(cookieName: string) { function parseCookies (line 141) | function parseCookies(cookie: string, cookieNames: string[]) { function resetCookies (line 149) | function resetCookies() { constant DEFAULT_UA (line 153) | const DEFAULT_UA = 'Mozilla/5.0 (Linux; Android 7.1.1; OPPO R11t) AppleW... constant DEFAULT_UA_MOBILE (line 154) | const DEFAULT_UA_MOBILE = `Mozilla/5.0 (iPhone; CPU iPhone OS 15_7 like ... function parseUA (line 156) | function parseUA(ua?: string, default_ua = DEFAULT_UA) { function mockUser (line 160) | function mockUser(cookies: Partial<{ [key: string]: string }>) { function cookie2Headers (line 186) | function cookie2Headers(cookies: Partial<{ [key: string]: string }>) { function createHeaders (line 203) | function createHeaders(cookies: Partial<{ [key: string]: string }> = {},... class WatchDog (line 222) | class WatchDog { method watch (line 224) | watch(fn: Function, timeout = 2000) { method reset (line 228) | reset() { FILE: src/pages/api/blob.jpg.ts constant API_DOMAIN (line 8) | const API_DOMAIN = 'https://www.bing.com' function handler (line 10) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/create.ts function handler (line 8) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/healthz.ts function handler (line 5) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/image.ts function handler (line 8) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/kblob.ts constant API_DOMAIN (line 9) | const API_DOMAIN = 'https://www.bing.com' function handler (line 19) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/openai/chat/completions.ts type APIRequest (line 14) | interface APIRequest { type APIResponse (line 21) | interface APIResponse { function parseOpenAIMessage (line 28) | function parseOpenAIMessage(request: APIRequest) { function responseOpenAIMessage (line 41) | function responseOpenAIMessage(content: string): APIResponse { function getOriginFromHost (line 54) | function getOriginFromHost(host: string) { function handler (line 62) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/proxy.ts function handler (line 7) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/sydney.ts function handler (line 15) | async function handler(req: NextApiRequest, res: NextApiResponse) { FILE: src/pages/api/turing/conversation/create.ts constant API_ENDPOINT (line 3) | const API_ENDPOINT = 'https://www.bing.com/turing/conversation/create' function GET (line 5) | async function GET(req: Request) { FILE: src/state/index.ts type Param (line 45) | type Param = { botId: BotId; page: string } type Prompt (line 46) | interface Prompt { FILE: src/state/storage.ts method getItem (line 6) | getItem(key: string) { method setItem (line 9) | setItem(key: string, value: string) { method removeItem (line 19) | removeItem(key: string) { method subscribe (line 22) | subscribe(okey: string, callback: (value: any) => void) { FILE: tests/openai-stream.ts function start (line 8) | async function start() { FILE: tests/openai.ts function start (line 8) | async function start() {