SYMBOL INDEX (1914 symbols across 285 files) FILE: apps/backend/src/db/index.ts type DbConnection (line 7) | type DbConnection = { type DrizzleDb (line 11) | type DrizzleDb = DbConnection['db'] function createDb (line 13) | async function createDb( FILE: apps/backend/src/db/schema.ts type User (line 119) | type User = typeof users.$inferSelect type SharedPlaylist (line 120) | type SharedPlaylist = typeof sharedPlaylists.$inferSelect type PlaylistMember (line 121) | type PlaylistMember = typeof playlistMembers.$inferSelect type SharedTrack (line 122) | type SharedTrack = typeof sharedTracks.$inferSelect type SharedPlaylistTrack (line 123) | type SharedPlaylistTrack = typeof sharedPlaylistTracks.$inferSelect FILE: apps/backend/src/index.ts type AppType (line 43) | type AppType = typeof app FILE: apps/backend/src/routes/playlists.ts constant PLAYLIST_PREVIEW_LIMIT (line 44) | const PLAYLIST_PREVIEW_LIMIT = 30 type HonoEnv (line 46) | type HonoEnv = { function getMember (line 749) | async function getMember(db: DrizzleDb, playlistId: string, mid: string) { function upsertTracks (line 762) | async function upsertTracks( function generateInviteCode (line 797) | function generateInviteCode(): string { function isUniqueConstraintViolation (line 808) | function isUniqueConstraintViolation(err: unknown): boolean { constant MAX_INVITE_ROTATE_ATTEMPTS (line 814) | const MAX_INVITE_ROTATE_ATTEMPTS = 5 FILE: apps/backend/src/types.ts type JwtTokenPayload (line 2) | interface JwtTokenPayload { type ChangeOperation (line 11) | type ChangeOperation = type TrackInput (line 30) | interface TrackInput { type ChangeEvent (line 42) | type ChangeEvent = type PlaylistMemberInfo (line 55) | interface PlaylistMemberInfo { FILE: apps/backend/worker-configuration.d.ts type GlobalProps (line 5) | interface GlobalProps { type Env (line 8) | interface Env { type Env (line 14) | interface Env extends Cloudflare.Env {} class DOMException (line 39) | class DOMException extends Error { type WorkerGlobalScopeEventMap (line 88) | type WorkerGlobalScopeEventMap = { type Console (line 103) | interface Console { type BufferSource (line 216) | type BufferSource = ArrayBufferView | ArrayBuffer type TypedArray (line 217) | type TypedArray = class CompileError (line 230) | class CompileError extends Error { class RuntimeError (line 233) | class RuntimeError extends Error { type ValueType (line 236) | type ValueType = type GlobalDescriptor (line 244) | interface GlobalDescriptor { class Global (line 248) | class Global { type ImportValue (line 253) | type ImportValue = ExportValue | number type ModuleImports (line 254) | type ModuleImports = Record type Imports (line 255) | type Imports = Record type ExportValue (line 256) | type ExportValue = Function | Global | Memory | Table type Exports (line 257) | type Exports = Record class Instance (line 258) | class Instance { type MemoryDescriptor (line 262) | interface MemoryDescriptor { class Memory (line 267) | class Memory { type ImportExportKind (line 272) | type ImportExportKind = 'function' | 'global' | 'memory' | 'table' type ModuleExportDescriptor (line 273) | interface ModuleExportDescriptor { type ModuleImportDescriptor (line 277) | interface ModuleImportDescriptor { type TableKind (line 287) | type TableKind = 'anyfunc' | 'externref' type TableDescriptor (line 288) | interface TableDescriptor { class Table (line 293) | class Table { type ServiceWorkerGlobalScope (line 309) | interface ServiceWorkerGlobalScope extends WorkerGlobalScope { type TestController (line 490) | interface TestController {} type ExecutionContext (line 491) | interface ExecutionContext { type ExportedHandlerFetchHandler (line 496) | type ExportedHandlerFetchHandler = ( type ExportedHandlerTraceHandler (line 506) | type ExportedHandlerTraceHandler = ( type ExportedHandlerTailStreamHandler (line 511) | type ExportedHandlerTailStreamHandler = ( type ExportedHandlerScheduledHandler (line 516) | type ExportedHandlerScheduledHandler = ( type ExportedHandlerQueueHandler (line 521) | type ExportedHandlerQueueHandler = ( type ExportedHandlerTestHandler (line 526) | type ExportedHandlerTestHandler = ( type ExportedHandler (line 531) | interface ExportedHandler< type StructuredSerializeOptions (line 545) | interface StructuredSerializeOptions { type AlarmInvocationInfo (line 553) | interface AlarmInvocationInfo { type Cloudflare (line 557) | interface Cloudflare { type DurableObject (line 560) | interface DurableObject { type DurableObjectStub (line 575) | type DurableObjectStub< type DurableObjectId (line 584) | interface DurableObjectId { type DurableObjectJurisdiction (line 609) | type DurableObjectJurisdiction = 'eu' | 'fedramp' | 'fedramp-high' type DurableObjectNamespaceNewUniqueIdOptions (line 610) | interface DurableObjectNamespaceNewUniqueIdOptions { type DurableObjectLocationHint (line 613) | type DurableObjectLocationHint = type DurableObjectRoutingMode (line 623) | type DurableObjectRoutingMode = 'primary-only' type DurableObjectNamespaceGetDurableObjectOptions (line 624) | interface DurableObjectNamespaceGetDurableObjectOptions { type DurableObjectClass (line 628) | interface DurableObjectClass< type DurableObjectState (line 631) | interface DurableObjectState { type DurableObjectTransaction (line 648) | interface DurableObjectTransaction { type DurableObjectStorage (line 677) | interface DurableObjectStorage { type DurableObjectListOptions (line 716) | interface DurableObjectListOptions { type DurableObjectGetOptions (line 726) | interface DurableObjectGetOptions { type DurableObjectGetAlarmOptions (line 730) | interface DurableObjectGetAlarmOptions { type DurableObjectPutOptions (line 733) | interface DurableObjectPutOptions { type DurableObjectSetAlarmOptions (line 738) | interface DurableObjectSetAlarmOptions { class WebSocketRequestResponsePair (line 742) | class WebSocketRequestResponsePair { type AnalyticsEngineDataset (line 747) | interface AnalyticsEngineDataset { type AnalyticsEngineDataPoint (line 750) | interface AnalyticsEngineDataPoint { class Event (line 760) | class Event { type EventInit (line 879) | interface EventInit { type EventListener (line 884) | type EventListener = (event: EventType)... type EventListenerObject (line 885) | interface EventListenerObject { type EventListenerOrEventListenerObject (line 888) | type EventListenerOrEventListenerObject = class EventTarget (line 896) | class EventTarget< type EventTargetEventListenerOptions (line 927) | interface EventTargetEventListenerOptions { type EventTargetAddEventListenerOptions (line 930) | interface EventTargetAddEventListenerOptions { type EventTargetHandlerObject (line 936) | interface EventTargetHandlerObject { class AbortController (line 944) | class AbortController { type Scheduler (line 1006) | interface Scheduler { type SchedulerWaitOptions (line 1009) | interface SchedulerWaitOptions { class CustomEvent (line 1030) | class CustomEvent extends Event { type CustomEventCustomEventInit (line 1039) | interface CustomEventCustomEventInit { class Blob (line 1050) | class Blob { type BlobOptions (line 1098) | interface BlobOptions { class File (line 1106) | class File extends Blob { type FileOptions (line 1125) | interface FileOptions { type CacheQueryOptions (line 1162) | interface CacheQueryOptions { type CryptoKeyPair (line 1381) | interface CryptoKeyPair { type JsonWebKey (line 1385) | interface JsonWebKey { type RsaOtherPrimesInfo (line 1405) | interface RsaOtherPrimesInfo { type SubtleCryptoDeriveKeyAlgorithm (line 1410) | interface SubtleCryptoDeriveKeyAlgorithm { type SubtleCryptoEncryptAlgorithm (line 1418) | interface SubtleCryptoEncryptAlgorithm { type SubtleCryptoGenerateKeyAlgorithm (line 1427) | interface SubtleCryptoGenerateKeyAlgorithm { type SubtleCryptoHashAlgorithm (line 1435) | interface SubtleCryptoHashAlgorithm { type SubtleCryptoImportKeyAlgorithm (line 1438) | interface SubtleCryptoImportKeyAlgorithm { type SubtleCryptoSignAlgorithm (line 1445) | interface SubtleCryptoSignAlgorithm { type CryptoKeyKeyAlgorithm (line 1451) | interface CryptoKeyKeyAlgorithm { type CryptoKeyAesKeyAlgorithm (line 1454) | interface CryptoKeyAesKeyAlgorithm { type CryptoKeyHmacKeyAlgorithm (line 1458) | interface CryptoKeyHmacKeyAlgorithm { type CryptoKeyRsaKeyAlgorithm (line 1463) | interface CryptoKeyRsaKeyAlgorithm { type CryptoKeyEllipticKeyAlgorithm (line 1469) | interface CryptoKeyEllipticKeyAlgorithm { type CryptoKeyArbitraryKeyAlgorithm (line 1473) | interface CryptoKeyArbitraryKeyAlgorithm { class DigestStream (line 1479) | class DigestStream extends WritableStream< class TextDecoder (line 1491) | class TextDecoder { class TextEncoder (line 1511) | class TextEncoder { type TextDecoderConstructorOptions (line 1527) | interface TextDecoderConstructorOptions { type TextDecoderDecodeOptions (line 1531) | interface TextDecoderDecodeOptions { type TextEncoderEncodeIntoResult (line 1534) | interface TextEncoderEncodeIntoResult { class ErrorEvent (line 1543) | class ErrorEvent extends Event { type ErrorEventErrorEventInit (line 1576) | interface ErrorEventErrorEventInit { class MessageEvent (line 1588) | class MessageEvent extends Event { type MessageEventInit (line 1621) | interface MessageEventInit { class FormData (line 1648) | class FormData { type ContentOptions (line 1727) | interface ContentOptions { class HTMLRewriter (line 1730) | class HTMLRewriter { type HTMLRewriterElementContentHandlers (line 1739) | interface HTMLRewriterElementContentHandlers { type HTMLRewriterDocumentContentHandlers (line 1744) | interface HTMLRewriterDocumentContentHandlers { type Doctype (line 1750) | interface Doctype { type Element (line 1755) | interface Element { type EndTag (line 1792) | interface EndTag { type Comment (line 1804) | interface Comment { type Text (line 1812) | interface Text { type DocumentEnd (line 1830) | interface DocumentEnd { type HeadersInit (line 1853) | type HeadersInit = Headers | Iterable> | Record { type Service (line 2113) | type Service< type Fetcher (line 2126) | type Fetcher< type KVNamespaceListKey (line 2135) | interface KVNamespaceListKey { type KVNamespaceListResult (line 2140) | type KVNamespaceListResult = type KVNamespace (line 2152) | interface KVNamespace { type KVNamespaceListOptions (line 2264) | interface KVNamespaceListOptions { type KVNamespaceGetOptions (line 2269) | interface KVNamespaceGetOptions { type KVNamespacePutOptions (line 2273) | interface KVNamespacePutOptions { type KVNamespaceGetWithMetadataResult (line 2278) | interface KVNamespaceGetWithMetadataResult { type QueueContentType (line 2283) | type QueueContentType = 'text' | 'bytes' | 'json' | 'v8' type Queue (line 2284) | interface Queue { type QueueSendOptions (line 2291) | interface QueueSendOptions { type QueueSendBatchOptions (line 2295) | interface QueueSendBatchOptions { type MessageSendRequest (line 2298) | interface MessageSendRequest { type QueueRetryOptions (line 2303) | interface QueueRetryOptions { type Message (line 2306) | interface Message { type QueueEvent (line 2314) | interface QueueEvent extends ExtendableEvent { type MessageBatch (line 2320) | interface MessageBatch { type R2Error (line 2326) | interface R2Error extends Error { type R2ListOptions (line 2333) | interface R2ListOptions { type R2MultipartUpload (line 2382) | interface R2MultipartUpload { type R2UploadedPart (line 2393) | interface R2UploadedPart { type R2ObjectBody (line 2412) | interface R2ObjectBody extends R2Object { type R2Range (line 2421) | type R2Range = type R2Conditional (line 2433) | interface R2Conditional { type R2GetOptions (line 2440) | interface R2GetOptions { type R2PutOptions (line 2445) | interface R2PutOptions { type R2MultipartOptions (line 2457) | interface R2MultipartOptions { type R2Checksums (line 2463) | interface R2Checksums { type R2StringChecksums (line 2471) | interface R2StringChecksums { type R2HTTPMetadata (line 2478) | interface R2HTTPMetadata { type R2Objects (line 2486) | type R2Objects = { type R2UploadPartOptions (line 2498) | interface R2UploadPartOptions { type ScheduledController (line 2506) | interface ScheduledController { type QueuingStrategy (line 2511) | interface QueuingStrategy { type UnderlyingSink (line 2515) | interface UnderlyingSink { type UnderlyingByteSource (line 2525) | interface UnderlyingByteSource { type UnderlyingSource (line 2532) | interface UnderlyingSource { type Transformer (line 2543) | interface Transformer { type StreamPipeOptions (line 2559) | interface StreamPipeOptions { type ReadableStreamReadResult (line 2582) | type ReadableStreamReadResult = type ReadableStream (line 2596) | interface ReadableStream { class ReadableStreamDefaultReader (line 2671) | class ReadableStreamDefaultReader { class ReadableStreamBYOBReader (line 2693) | class ReadableStreamBYOBReader { type ReadableStreamBYOBReaderReadableStreamBYOBReaderReadOptions (line 2714) | interface ReadableStreamBYOBReaderReadableStreamBYOBReaderReadOptions { type ReadableStreamGetReaderOptions (line 2717) | interface ReadableStreamGetReaderOptions { type ReadableWritablePair (line 2869) | interface ReadableWritablePair { class WritableStream (line 2883) | class WritableStream { class WritableStreamDefaultWriter (line 2918) | class WritableStreamDefaultWriter { class TransformStream (line 2968) | class TransformStream { class FixedLengthStream (line 2987) | class FixedLengthStream extends IdentityTransformStream { class IdentityTransformStream (line 2993) | class IdentityTransformStream extends TransformStream< type IdentityTransformStreamQueuingStrategy (line 2999) | interface IdentityTransformStreamQueuingStrategy { type ReadableStreamValuesOptions (line 3002) | interface ReadableStreamValuesOptions { class CompressionStream (line 3010) | class CompressionStream extends TransformStream< class DecompressionStream (line 3021) | class DecompressionStream extends TransformStream< class TextEncoderStream (line 3032) | class TextEncoderStream extends TransformStream { class TextDecoderStream (line 3041) | class TextDecoderStream extends TransformStream< type TextDecoderStreamTextDecoderStreamInit (line 3050) | interface TextDecoderStreamTextDecoderStreamInit { class ByteLengthQueuingStrategy (line 3059) | class ByteLengthQueuingStrategy implements QueuingStrategy { type SqlStorage (line 3616) | interface SqlStorage { type SqlStorageValue (line 3626) | type SqlStorageValue = ArrayBuffer | string | number | null type Socket (line 3647) | interface Socket { type SocketOptions (line 3657) | interface SocketOptions { type SocketAddress (line 3662) | interface SocketAddress { type TlsOptions (line 3666) | interface TlsOptions { type SocketInfo (line 3669) | interface SocketInfo { class EventSource (line 3678) | class EventSource extends EventTarget { type EventSourceEventSourceInit (line 3721) | interface EventSourceEventSourceInit { type Container (line 3725) | interface Container { type ContainerStartupOptions (line 3734) | interface ContainerStartupOptions { type MessagePortPostMessageOptions (line 3767) | interface MessagePortPostMessageOptions { type LoopbackForExport (line 3770) | type LoopbackForExport< type LoopbackServiceStub (line 3782) | type LoopbackServiceStub< type LoopbackDurableObjectClass (line 3788) | type LoopbackDurableObjectClass< type SyncKvStorage (line 3794) | interface SyncKvStorage { type SyncKvListOptions (line 3800) | interface SyncKvListOptions { type WorkerStub (line 3808) | interface WorkerStub { type WorkerStubEntrypointOptions (line 3814) | interface WorkerStubEntrypointOptions { type WorkerLoader (line 3817) | interface WorkerLoader { type WorkerLoaderModule (line 3823) | interface WorkerLoaderModule { type WorkerLoaderWorkerCode (line 3832) | interface WorkerLoaderWorkerCode { type AiSearchInternalError (line 3856) | interface AiSearchInternalError extends Error {} type AiSearchNotFoundError (line 3857) | interface AiSearchNotFoundError extends Error {} type AiSearchNameNotSetError (line 3858) | interface AiSearchNameNotSetError extends Error {} type ComparisonFilter (line 3860) | type ComparisonFilter = { type CompoundFilter (line 3865) | type CompoundFilter = { type AiSearchSearchRequest (line 3870) | type AiSearchSearchRequest = { type AiSearchChatCompletionsRequest (line 3904) | type AiSearchChatCompletionsRequest = { type AiSearchSearchResponse (line 3937) | type AiSearchSearchResponse = { type AiSearchListResponse (line 3958) | type AiSearchListResponse = Array<{ type AiSearchConfig (line 3969) | type AiSearchConfig = { type AiSearchInstance (line 3985) | type AiSearchInstance = { type AiImageClassificationInput (line 4033) | type AiImageClassificationInput = { type AiImageClassificationOutput (line 4036) | type AiImageClassificationOutput = { type AiImageToTextInput (line 4044) | type AiImageToTextInput = { type AiImageToTextOutput (line 4058) | type AiImageToTextOutput = { type AiImageTextToTextInput (line 4065) | type AiImageTextToTextInput = { type AiImageTextToTextOutput (line 4080) | type AiImageTextToTextOutput = { type AiMultimodalEmbeddingsInput (line 4087) | type AiMultimodalEmbeddingsInput = { type AiIMultimodalEmbeddingsOutput (line 4091) | type AiIMultimodalEmbeddingsOutput = { type AiObjectDetectionInput (line 4099) | type AiObjectDetectionInput = { type AiObjectDetectionOutput (line 4102) | type AiObjectDetectionOutput = { type AiSentenceSimilarityInput (line 4110) | type AiSentenceSimilarityInput = { type AiSentenceSimilarityOutput (line 4114) | type AiSentenceSimilarityOutput = number[] type AiAutomaticSpeechRecognitionInput (line 4119) | type AiAutomaticSpeechRecognitionInput = { type AiAutomaticSpeechRecognitionOutput (line 4122) | type AiAutomaticSpeechRecognitionOutput = { type AiSummarizationInput (line 4135) | type AiSummarizationInput = { type AiSummarizationOutput (line 4139) | type AiSummarizationOutput = { type AiTextClassificationInput (line 4146) | type AiTextClassificationInput = { type AiTextClassificationOutput (line 4149) | type AiTextClassificationOutput = { type AiTextEmbeddingsInput (line 4157) | type AiTextEmbeddingsInput = { type AiTextEmbeddingsOutput (line 4160) | type AiTextEmbeddingsOutput = { type RoleScopedChatInput (line 4168) | type RoleScopedChatInput = { type AiTextGenerationToolLegacyInput (line 4178) | type AiTextGenerationToolLegacyInput = { type AiTextGenerationToolInput (line 4192) | type AiTextGenerationToolInput = { type AiTextGenerationFunctionsInput (line 4209) | type AiTextGenerationFunctionsInput = { type AiTextGenerationResponseFormat (line 4213) | type AiTextGenerationResponseFormat = { type AiTextGenerationInput (line 4217) | type AiTextGenerationInput = { type AiTextGenerationToolLegacyOutput (line 4237) | type AiTextGenerationToolLegacyOutput = { type AiTextGenerationToolOutput (line 4241) | type AiTextGenerationToolOutput = { type UsageTags (line 4249) | type UsageTags = { type AiTextGenerationOutput (line 4254) | type AiTextGenerationOutput = { type AiTextToSpeechInput (line 4263) | type AiTextToSpeechInput = { type AiTextToSpeechOutput (line 4267) | type AiTextToSpeechOutput = type AiTextToImageInput (line 4276) | type AiTextToImageInput = { type AiTextToImageOutput (line 4289) | type AiTextToImageOutput = ReadableStream type AiTranslationInput (line 4294) | type AiTranslationInput = { type AiTranslationOutput (line 4299) | type AiTranslationOutput = { type ResponsesInput (line 4316) | type ResponsesInput = { type ResponsesOutput (line 4338) | type ResponsesOutput = { type EasyInputMessage (line 4363) | type EasyInputMessage = { type ResponsesFunctionTool (line 4368) | type ResponsesFunctionTool = { type ResponseIncompleteDetails (line 4377) | type ResponseIncompleteDetails = { type ResponsePrompt (line 4380) | type ResponsePrompt = { type Reasoning (line 4387) | type Reasoning = { type ResponseContent (line 4392) | type ResponseContent = type ResponseContentReasoningText (line 4398) | type ResponseContentReasoningText = { type ResponseConversationParam (line 4402) | type ResponseConversationParam = { type ResponseCreatedEvent (line 4405) | type ResponseCreatedEvent = { type ResponseCustomToolCallOutput (line 4410) | type ResponseCustomToolCallOutput = { type ResponseError (line 4416) | type ResponseError = { type ResponseErrorEvent (line 4438) | type ResponseErrorEvent = { type ResponseFailedEvent (line 4445) | type ResponseFailedEvent = { type ResponseFormatText (line 4450) | type ResponseFormatText = { type ResponseFormatJSONObject (line 4453) | type ResponseFormatJSONObject = { type ResponseFormatTextConfig (line 4456) | type ResponseFormatTextConfig = type ResponseFormatTextJSONSchemaConfig (line 4460) | type ResponseFormatTextJSONSchemaConfig = { type ResponseFunctionCallArgumentsDeltaEvent (line 4469) | type ResponseFunctionCallArgumentsDeltaEvent = { type ResponseFunctionCallArgumentsDoneEvent (line 4476) | type ResponseFunctionCallArgumentsDoneEvent = { type ResponseFunctionCallOutputItem (line 4484) | type ResponseFunctionCallOutputItem = type ResponseFunctionCallOutputItemList (line 4487) | type ResponseFunctionCallOutputItemList = Array type ResponseInputContent (line 4515) | type ResponseInputContent = ResponseInputText | ResponseInputImage type ResponseInputImage (line 4516) | type ResponseInputImage = { type ResponseInputImageContent (line 4524) | type ResponseInputImageContent = { type ResponseInputItem (line 4532) | type ResponseInputItem = type ResponseInputItemFunctionCallOutput (line 4539) | type ResponseInputItemFunctionCallOutput = { type ResponseInputItemMessage (line 4546) | type ResponseInputItemMessage = { type ResponseInputMessageContentList (line 4552) | type ResponseInputMessageContentList = Array type ResponseInputMessageItem (line 4553) | type ResponseInputMessageItem = { type ResponseInputText (line 4560) | type ResponseInputText = { type ResponseInputTextContent (line 4564) | type ResponseInputTextContent = { type ResponseItem (line 4568) | type ResponseItem = type ResponseOutputItem (line 4573) | type ResponseOutputItem = type ResponseOutputItemAddedEvent (line 4577) | type ResponseOutputItemAddedEvent = { type ResponseOutputItemDoneEvent (line 4583) | type ResponseOutputItemDoneEvent = { type ResponseOutputMessage (line 4589) | type ResponseOutputMessage = { type ResponseOutputRefusal (line 4596) | type ResponseOutputRefusal = { type ResponseOutputText (line 4600) | type ResponseOutputText = { type ResponseReasoningItem (line 4605) | type ResponseReasoningItem = { type ResponseReasoningSummaryItem (line 4613) | type ResponseReasoningSummaryItem = { type ResponseReasoningContentItem (line 4617) | type ResponseReasoningContentItem = { type ResponseReasoningTextDeltaEvent (line 4621) | type ResponseReasoningTextDeltaEvent = { type ResponseReasoningTextDoneEvent (line 4629) | type ResponseReasoningTextDoneEvent = { type ResponseRefusalDeltaEvent (line 4637) | type ResponseRefusalDeltaEvent = { type ResponseRefusalDoneEvent (line 4645) | type ResponseRefusalDoneEvent = { type ResponseStatus (line 4653) | type ResponseStatus = type ResponseStreamEvent (line 4660) | type ResponseStreamEvent = type ResponseCompletedEvent (line 4676) | type ResponseCompletedEvent = { type ResponseTextConfig (line 4681) | type ResponseTextConfig = { type ResponseTextDeltaEvent (line 4685) | type ResponseTextDeltaEvent = { type ResponseTextDoneEvent (line 4694) | type ResponseTextDoneEvent = { type Logprob (line 4703) | type Logprob = { type TopLogprob (line 4708) | type TopLogprob = { type ResponseUsage (line 4712) | type ResponseUsage = { type Tool (line 4717) | type Tool = ResponsesFunctionTool type ToolChoiceFunction (line 4718) | type ToolChoiceFunction = { type ToolChoiceOptions (line 4722) | type ToolChoiceOptions = 'none' type ReasoningEffort (line 4723) | type ReasoningEffort = 'minimal' | 'low' | 'medium' | 'high' | null type StreamOptions (line 4724) | type StreamOptions = { type Ai_Cf_Baai_Bge_Base_En_V1_5_Input (line 4727) | type Ai_Cf_Baai_Bge_Base_En_V1_5_Input = type Ai_Cf_Baai_Bge_Base_En_V1_5_Output (line 4747) | type Ai_Cf_Baai_Bge_Base_En_V1_5_Output = type Ai_Cf_Baai_Bge_Base_En_V1_5_AsyncResponse (line 4760) | interface Ai_Cf_Baai_Bge_Base_En_V1_5_AsyncResponse { type Ai_Cf_Openai_Whisper_Input (line 4770) | type Ai_Cf_Openai_Whisper_Input = type Ai_Cf_Openai_Whisper_Output (line 4778) | interface Ai_Cf_Openai_Whisper_Output { type Ai_Cf_Meta_M2M100_1_2B_Input (line 4801) | type Ai_Cf_Meta_M2M100_1_2B_Input = type Ai_Cf_Meta_M2M100_1_2B_Output (line 4835) | type Ai_Cf_Meta_M2M100_1_2B_Output = type Ai_Cf_Meta_M2M100_1_2B_AsyncResponse (line 4843) | interface Ai_Cf_Meta_M2M100_1_2B_AsyncResponse { type Ai_Cf_Baai_Bge_Small_En_V1_5_Input (line 4853) | type Ai_Cf_Baai_Bge_Small_En_V1_5_Input = type Ai_Cf_Baai_Bge_Small_En_V1_5_Output (line 4873) | type Ai_Cf_Baai_Bge_Small_En_V1_5_Output = type Ai_Cf_Baai_Bge_Small_En_V1_5_AsyncResponse (line 4886) | interface Ai_Cf_Baai_Bge_Small_En_V1_5_AsyncResponse { type Ai_Cf_Baai_Bge_Large_En_V1_5_Input (line 4896) | type Ai_Cf_Baai_Bge_Large_En_V1_5_Input = type Ai_Cf_Baai_Bge_Large_En_V1_5_Output (line 4916) | type Ai_Cf_Baai_Bge_Large_En_V1_5_Output = type Ai_Cf_Baai_Bge_Large_En_V1_5_AsyncResponse (line 4929) | interface Ai_Cf_Baai_Bge_Large_En_V1_5_AsyncResponse { type Ai_Cf_Unum_Uform_Gen2_Qwen_500M_Input (line 4939) | type Ai_Cf_Unum_Uform_Gen2_Qwen_500M_Input = type Ai_Cf_Unum_Uform_Gen2_Qwen_500M_Output (line 4980) | interface Ai_Cf_Unum_Uform_Gen2_Qwen_500M_Output { type Ai_Cf_Openai_Whisper_Tiny_En_Input (line 4987) | type Ai_Cf_Openai_Whisper_Tiny_En_Input = type Ai_Cf_Openai_Whisper_Tiny_En_Output (line 4995) | interface Ai_Cf_Openai_Whisper_Tiny_En_Output { type Ai_Cf_Openai_Whisper_Large_V3_Turbo_Input (line 5018) | interface Ai_Cf_Openai_Whisper_Large_V3_Turbo_Input { type Ai_Cf_Openai_Whisper_Large_V3_Turbo_Output (line 5044) | interface Ai_Cf_Openai_Whisper_Large_V3_Turbo_Output { type Ai_Cf_Baai_Bge_M3_Input (line 5124) | type Ai_Cf_Baai_Bge_M3_Input = type Ai_Cf_Baai_Bge_M3_Input_QueryAnd_Contexts (line 5136) | interface Ai_Cf_Baai_Bge_M3_Input_QueryAnd_Contexts { type Ai_Cf_Baai_Bge_M3_Input_Embedding (line 5155) | interface Ai_Cf_Baai_Bge_M3_Input_Embedding { type Ai_Cf_Baai_Bge_M3_Input_QueryAnd_Contexts_1 (line 5162) | interface Ai_Cf_Baai_Bge_M3_Input_QueryAnd_Contexts_1 { type Ai_Cf_Baai_Bge_M3_Input_Embedding_1 (line 5181) | interface Ai_Cf_Baai_Bge_M3_Input_Embedding_1 { type Ai_Cf_Baai_Bge_M3_Output (line 5188) | type Ai_Cf_Baai_Bge_M3_Output = type Ai_Cf_Baai_Bge_M3_Ouput_Query (line 5193) | interface Ai_Cf_Baai_Bge_M3_Ouput_Query { type Ai_Cf_Baai_Bge_M3_Output_EmbeddingFor_Contexts (line 5205) | interface Ai_Cf_Baai_Bge_M3_Output_EmbeddingFor_Contexts { type Ai_Cf_Baai_Bge_M3_Ouput_Embedding (line 5213) | interface Ai_Cf_Baai_Bge_M3_Ouput_Embedding { type Ai_Cf_Baai_Bge_M3_AsyncResponse (line 5224) | interface Ai_Cf_Baai_Bge_M3_AsyncResponse { type Ai_Cf_Black_Forest_Labs_Flux_1_Schnell_Input (line 5234) | interface Ai_Cf_Black_Forest_Labs_Flux_1_Schnell_Input { type Ai_Cf_Black_Forest_Labs_Flux_1_Schnell_Output (line 5244) | interface Ai_Cf_Black_Forest_Labs_Flux_1_Schnell_Output { type Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Input (line 5254) | type Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Input = type Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Prompt (line 5257) | interface Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Prompt { type Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Messages (line 5308) | interface Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Messages { type Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Output (line 5482) | type Ai_Cf_Meta_Llama_3_2_11B_Vision_Instruct_Output = { type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Input (line 5505) | type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Input = type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Prompt (line 5509) | interface Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Prompt { type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_JSON_Mode (line 5560) | interface Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_JSON_Mode { type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Messages (line 5564) | interface Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Messages { type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_JSON_Mode_1 (line 5714) | interface Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_JSON_Mode_1 { type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Async_Batch (line 5718) | interface Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Async_Batch { type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_JSON_Mode_2 (line 5763) | interface Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_JSON_Mode_2 { type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Output (line 5767) | type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_Output = type Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_AsyncResponse (line 5806) | interface Ai_Cf_Meta_Llama_3_3_70B_Instruct_Fp8_Fast_AsyncResponse { type Ai_Cf_Meta_Llama_Guard_3_8B_Input (line 5816) | interface Ai_Cf_Meta_Llama_Guard_3_8B_Input { type Ai_Cf_Meta_Llama_Guard_3_8B_Output (line 5848) | interface Ai_Cf_Meta_Llama_Guard_3_8B_Output { type Ai_Cf_Baai_Bge_Reranker_Base_Input (line 5883) | interface Ai_Cf_Baai_Bge_Reranker_Base_Input { type Ai_Cf_Baai_Bge_Reranker_Base_Output (line 5901) | interface Ai_Cf_Baai_Bge_Reranker_Base_Output { type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Input (line 5917) | type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Input = type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Prompt (line 5920) | interface Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Prompt { type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_JSON_Mode (line 5971) | interface Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_JSON_Mode { type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Messages (line 5975) | interface Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Messages { type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_JSON_Mode_1 (line 6125) | interface Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_JSON_Mode_1 { type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Output (line 6129) | type Ai_Cf_Qwen_Qwen2_5_Coder_32B_Instruct_Output = { type Ai_Cf_Qwen_Qwq_32B_Input (line 6169) | type Ai_Cf_Qwen_Qwq_32B_Input = type Ai_Cf_Qwen_Qwq_32B_Prompt (line 6172) | interface Ai_Cf_Qwen_Qwq_32B_Prompt { type Ai_Cf_Qwen_Qwq_32B_Messages (line 6222) | interface Ai_Cf_Qwen_Qwq_32B_Messages { type Ai_Cf_Qwen_Qwq_32B_Output (line 6403) | type Ai_Cf_Qwen_Qwq_32B_Output = { type Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Input (line 6443) | type Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Input = type Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Prompt (line 6446) | interface Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Prompt { type Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Messages (line 6496) | interface Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Messages { type Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Output (line 6677) | type Ai_Cf_Mistralai_Mistral_Small_3_1_24B_Instruct_Output = { type Ai_Cf_Google_Gemma_3_12B_It_Input (line 6717) | type Ai_Cf_Google_Gemma_3_12B_It_Input = type Ai_Cf_Google_Gemma_3_12B_It_Prompt (line 6720) | interface Ai_Cf_Google_Gemma_3_12B_It_Prompt { type Ai_Cf_Google_Gemma_3_12B_It_Messages (line 6770) | interface Ai_Cf_Google_Gemma_3_12B_It_Messages { type Ai_Cf_Google_Gemma_3_12B_It_Output (line 6934) | type Ai_Cf_Google_Gemma_3_12B_It_Output = { type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Input (line 6974) | type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Input = type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Prompt (line 6978) | interface Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Prompt { type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_JSON_Mode (line 7029) | interface Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_JSON_Mode { type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Messages (line 7033) | interface Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Messages { type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Async_Batch (line 7215) | interface Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Async_Batch { type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Prompt_Inner (line 7221) | interface Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Prompt_Inner { type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Messages_Inner (line 7272) | interface Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Messages_Inner { type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Output (line 7454) | type Ai_Cf_Meta_Llama_4_Scout_17B_16E_Instruct_Output = { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Input (line 7507) | type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Input = type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Prompt (line 7511) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Prompt { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode (line 7562) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Messages (line 7566) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Messages { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode_1 (line 7716) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode_1 { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Async_Batch (line 7720) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Async_Batch { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Prompt_1 (line 7726) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Prompt_1 { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode_2 (line 7777) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode_2 { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Messages_1 (line 7781) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Messages_1 { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode_3 (line 7931) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_JSON_Mode_3 { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Output (line 7935) | type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Output = type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Chat_Completion_Response (line 7940) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Chat_Completion_Response { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Text_Completion_Response (line 8040) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_Text_Completion_Response { type Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_AsyncResponse (line 8104) | interface Ai_Cf_Qwen_Qwen3_30B_A3B_Fp8_AsyncResponse { type Ai_Cf_Deepgram_Nova_3_Input (line 8114) | interface Ai_Cf_Deepgram_Nova_3_Input { type Ai_Cf_Deepgram_Nova_3_Output (line 8268) | interface Ai_Cf_Deepgram_Nova_3_Output { type Ai_Cf_Qwen_Qwen3_Embedding_0_6B_Input (line 8305) | interface Ai_Cf_Qwen_Qwen3_Embedding_0_6B_Input { type Ai_Cf_Qwen_Qwen3_Embedding_0_6B_Output (line 8314) | interface Ai_Cf_Qwen_Qwen3_Embedding_0_6B_Output { type Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Input (line 8322) | type Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Input = type Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Output (line 8346) | interface Ai_Cf_Pipecat_Ai_Smart_Turn_V2_Output { type Ai_Cf_Leonardo_Phoenix_1_0_Input (line 8368) | interface Ai_Cf_Leonardo_Phoenix_1_0_Input { type Ai_Cf_Leonardo_Phoenix_1_0_Output (line 8401) | type Ai_Cf_Leonardo_Phoenix_1_0_Output = string type Ai_Cf_Leonardo_Lucid_Origin_Input (line 8406) | interface Ai_Cf_Leonardo_Lucid_Origin_Input { type Ai_Cf_Leonardo_Lucid_Origin_Output (line 8436) | interface Ai_Cf_Leonardo_Lucid_Origin_Output { type Ai_Cf_Deepgram_Aura_1_Input (line 8446) | interface Ai_Cf_Deepgram_Aura_1_Input { type Ai_Cf_Deepgram_Aura_1_Output (line 8487) | type Ai_Cf_Deepgram_Aura_1_Output = string type Ai_Cf_Ai4Bharat_Indictrans2_En_Indic_1B_Input (line 8492) | interface Ai_Cf_Ai4Bharat_Indictrans2_En_Indic_1B_Input { type Ai_Cf_Ai4Bharat_Indictrans2_En_Indic_1B_Output (line 8536) | interface Ai_Cf_Ai4Bharat_Indictrans2_En_Indic_1B_Output { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Input (line 8546) | type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Input = type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Prompt (line 8550) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Prompt { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode (line 8601) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Messages (line 8605) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Messages { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode_1 (line 8755) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode_1 { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Async_Batch (line 8759) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Async_Batch { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Prompt_1 (line 8765) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Prompt_1 { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode_2 (line 8816) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode_2 { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Messages_1 (line 8820) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Messages_1 { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode_3 (line 8970) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_JSON_Mode_3 { type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Output (line 8974) | type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Output = type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Chat_Completion_Response (line 8979) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Chat_Completion_Res... type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Text_Completion_Response (line 9079) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_Text_Completion_Res... type Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_AsyncResponse (line 9143) | interface Ai_Cf_Aisingapore_Gemma_Sea_Lion_V4_27B_It_AsyncResponse { type Ai_Cf_Pfnet_Plamo_Embedding_1B_Input (line 9153) | interface Ai_Cf_Pfnet_Plamo_Embedding_1B_Input { type Ai_Cf_Pfnet_Plamo_Embedding_1B_Output (line 9159) | interface Ai_Cf_Pfnet_Plamo_Embedding_1B_Output { type Ai_Cf_Deepgram_Flux_Input (line 9176) | interface Ai_Cf_Deepgram_Flux_Input { type Ai_Cf_Deepgram_Flux_Output (line 9213) | interface Ai_Cf_Deepgram_Flux_Output { type Ai_Cf_Deepgram_Aura_2_En_Input (line 9269) | interface Ai_Cf_Deepgram_Aura_2_En_Input { type Ai_Cf_Deepgram_Aura_2_En_Output (line 9338) | type Ai_Cf_Deepgram_Aura_2_En_Output = string type Ai_Cf_Deepgram_Aura_2_Es_Input (line 9343) | interface Ai_Cf_Deepgram_Aura_2_Es_Input { type Ai_Cf_Deepgram_Aura_2_Es_Output (line 9382) | type Ai_Cf_Deepgram_Aura_2_Es_Output = string type AiModels (line 9387) | interface AiModels { type AiOptions (line 9473) | type AiOptions = { type AiModelsSearchParams (line 9498) | type AiModelsSearchParams = { type AiModelsSearchObject (line 9507) | type AiModelsSearchObject = { type InferenceUpstreamError (line 9523) | interface InferenceUpstreamError extends Error {} type AiInternalError (line 9524) | interface AiInternalError extends Error {} type AiModelListType (line 9525) | type AiModelListType = Record type GatewayRetries (line 9606) | type GatewayRetries = { type GatewayOptions (line 9611) | type GatewayOptions = { type UniversalGatewayOptions (line 9622) | type UniversalGatewayOptions = Exclude & { type AiGatewayPatchLog (line 9628) | type AiGatewayPatchLog = { type AiGatewayLog (line 9633) | type AiGatewayLog = { type AIGatewayProviders (line 9660) | type AIGatewayProviders = type AIGatewayHeaders (line 9681) | type AIGatewayHeaders = { type AIGatewayUniversalRequest (line 9707) | type AIGatewayUniversalRequest = { type AiGatewayInternalError (line 9713) | interface AiGatewayInternalError extends Error {} type AiGatewayLogNotFound (line 9714) | interface AiGatewayLogNotFound extends Error {} type AutoRAGInternalError (line 9731) | interface AutoRAGInternalError extends Error {} type AutoRAGNotFoundError (line 9736) | interface AutoRAGNotFoundError extends Error {} type AutoRAGUnauthorizedError (line 9740) | interface AutoRAGUnauthorizedError extends Error {} type AutoRAGNameNotSetError (line 9745) | interface AutoRAGNameNotSetError extends Error {} type AutoRagSearchRequest (line 9751) | type AutoRagSearchRequest = { type AutoRagAiSearchRequest (line 9770) | type AutoRagAiSearchRequest = AutoRagSearchRequest & { type AutoRagAiSearchRequestStreaming (line 9779) | type AutoRagAiSearchRequestStreaming = Omit< type AutoRagSearchResponse (line 9790) | type AutoRagSearchResponse = { type AutoRagListResponse (line 9811) | type AutoRagListResponse = { type AutoRagAiSearchResponse (line 9824) | type AutoRagAiSearchResponse = AutoRagSearchResponse & { type BasicImageTransformations (line 9869) | interface BasicImageTransformations { type BasicImageTransformationsGravityCoordinates (line 9945) | interface BasicImageTransformationsGravityCoordinates { type RequestInitCfProperties (line 9959) | interface RequestInitCfProperties extends Record { type RequestInitCfPropertiesImageDraw (line 10010) | interface RequestInitCfPropertiesImageDraw extends BasicImageTransformat... type RequestInitCfPropertiesImage (line 10047) | interface RequestInitCfPropertiesImage extends BasicImageTransformations { type RequestInitCfPropertiesImageMinify (line 10212) | interface RequestInitCfPropertiesImageMinify { type RequestInitCfPropertiesR2 (line 10217) | interface RequestInitCfPropertiesR2 { type IncomingRequestCfProperties (line 10226) | type IncomingRequestCfProperties = type IncomingRequestCfPropertiesBase (line 10232) | interface IncomingRequestCfPropertiesBase extends Record { type IncomingRequestCfPropertiesBotManagementBase (line 10310) | interface IncomingRequestCfPropertiesBotManagementBase { type IncomingRequestCfPropertiesBotManagement (line 10337) | interface IncomingRequestCfPropertiesBotManagement { type IncomingRequestCfPropertiesBotManagementEnterprise (line 10349) | interface IncomingRequestCfPropertiesBotManagementEnterprise extends Inc... type IncomingRequestCfPropertiesCloudflareForSaaSEnterprise (line 10361) | interface IncomingRequestCfPropertiesCloudflareForSaaSEnterprise = type D1Meta (line 10892) | interface D1Meta { type D1Response (line 10924) | interface D1Response { type D1Result (line 10929) | type D1Result = D1Response & { type D1ExecResult (line 10932) | interface D1ExecResult { type D1SessionConstraint (line 10936) | type D1SessionConstraint = type D1SessionBookmark (line 10945) | type D1SessionBookmark = string type Disposable (line 10991) | interface Disposable {} type EmailSendResult (line 10995) | interface EmailSendResult { type EmailMessage (line 11004) | interface EmailMessage { type ForwardableEmailMessage (line 11017) | interface ForwardableEmailMessage extends EmailMessage { type EmailAttachment (line 11051) | type EmailAttachment = type EmailAddress (line 11067) | interface EmailAddress { type SendEmail (line 11074) | interface SendEmail { type EmailExportedHandler (line 11092) | type EmailExportedHandler = ( type HelloWorldBinding (line 11107) | interface HelloWorldBinding { type Hyperdrive (line 11120) | interface Hyperdrive { type ImageInfoResponse (line 11170) | type ImageInfoResponse = type ImageTransform (line 11180) | type ImageTransform = { type ImageDrawOptions (line 11237) | type ImageDrawOptions = { type ImageInputOptions (line 11245) | type ImageInputOptions = { type ImageOutputOptions (line 11248) | type ImageOutputOptions = { type ImagesBinding (line 11261) | interface ImagesBinding { type ImageTransformer (line 11281) | interface ImageTransformer { type ImageTransformationOutputOptions (line 11305) | type ImageTransformationOutputOptions = { type ImageTransformationResult (line 11308) | interface ImageTransformationResult { type ImagesError (line 11322) | interface ImagesError extends Error { type MediaBinding (line 11331) | interface MediaBinding { type MediaTransformer (line 11343) | interface MediaTransformer { type MediaTransformationGenerator (line 11363) | interface MediaTransformationGenerator { type MediaTransformationResult (line 11375) | interface MediaTransformationResult { type MediaTransformationInputOptions (line 11396) | type MediaTransformationInputOptions = { type MediaTransformationOutputOptions (line 11408) | type MediaTransformationOutputOptions = { type MediaError (line 11436) | interface MediaError extends Error { type NodeStyleServer (line 11442) | interface NodeStyleServer { type Params (line 11452) | type Params

= Record type EventContext (line 11453) | type EventContext = { type PagesFunction (line 11467) | type PagesFunction< type EventPluginContext (line 11472) | type EventPluginContext = { type PagesPluginFunction (line 11487) | type PagesPluginFunction< type PipelineRecord (line 11519) | type PipelineRecord = Record type PipelineBatchMetadata (line 11520) | type PipelineBatchMetadata = { type Pipeline (line 11524) | interface Pipeline { type PubSubMessage (line 11537) | interface PubSubMessage { type JsonWebKeyWithKid (line 11563) | interface JsonWebKeyWithKid extends JsonWebKey { type RateLimitOptions (line 11567) | interface RateLimitOptions { type RateLimitOutcome (line 11570) | interface RateLimitOutcome { type RateLimit (line 11573) | interface RateLimit { type RpcTargetBranded (line 11594) | interface RpcTargetBranded { type WorkerEntrypointBranded (line 11597) | interface WorkerEntrypointBranded { type DurableObjectBranded (line 11600) | interface DurableObjectBranded { type WorkflowEntrypointBranded (line 11603) | interface WorkflowEntrypointBranded { type EntrypointBranded (line 11606) | type EntrypointBranded = type Stubable (line 11611) | type Stubable = RpcTargetBranded | ((...args: any[]) => any) type Serializable (line 11616) | type Serializable = type StubBase (line 11635) | interface StubBase extends Disposable { type Stub (line 11639) | type Stub = Provider & StubBase type BaseType (line 11641) | type BaseType = type Stubify (line 11662) | type Stubify = T extends Stubable ? Stub : T extends Map = T extends StubBase ? V : T extends Map = { type MaybeProvider (line 11681) | type MaybeProvider = T extends object ? Provider : unknown type MaybeDisposable (line 11682) | type MaybeDisposable = T extends object ? Disposable : unknown type Result (line 11691) | type Result = R extends Stubable ? Promise> & Provider : R... type MethodOrProperty (line 11697) | type MethodOrProperty = V extends (...args: infer P) => infer R type MaybeCallableProvider (line 11702) | type MaybeCallableProvider = T extends (...args: any[]) => any type Provider (line 11708) | type Provider< type Env (line 11726) | interface Env {} type GlobalProps (line 11745) | interface GlobalProps {} type GlobalProp (line 11748) | type GlobalProp = K extends keyof GlobalProps type MainModule (line 11753) | type MainModule = GlobalProp<'mainModule', {}> type Exports (line 11755) | type Exports = { type RpcStub (line 11769) | type RpcStub = Rpc.Stub type WorkflowDurationLabel (line 11818) | type WorkflowDurationLabel = type WorkflowSleepDuration (line 11826) | type WorkflowSleepDuration = type WorkflowDelayDuration (line 11829) | type WorkflowDelayDuration = WorkflowSleepDuration type WorkflowTimeoutDuration (line 11830) | type WorkflowTimeoutDuration = WorkflowSleepDuration type WorkflowRetentionDuration (line 11831) | type WorkflowRetentionDuration = WorkflowSleepDuration type WorkflowBackoff (line 11832) | type WorkflowBackoff = 'constant' | 'linear' | 'exponential' type WorkflowStepConfig (line 11833) | type WorkflowStepConfig = { type WorkflowEvent (line 11841) | type WorkflowEvent = { type WorkflowStepEvent (line 11846) | type WorkflowStepEvent = { type WorkflowInstanceStatus (line 11871) | type WorkflowInstanceStatus = type SecretsStoreSecret (line 11907) | interface SecretsStoreSecret { type MarkdownDocument (line 11921) | type MarkdownDocument = { type ConversionResponse (line 11925) | type ConversionResponse = type ImageConversionOptions (line 11941) | type ImageConversionOptions = { type EmbeddedImageConversionOptions (line 11944) | type EmbeddedImageConversionOptions = ImageConversionOptions & { type ConversionOptions (line 11948) | type ConversionOptions = { type ConversionRequestOptions (line 11964) | type ConversionRequestOptions = { type SupportedFileFormat (line 11969) | type SupportedFileFormat = { type Header (line 11985) | interface Header { type FetchEventInfo (line 11989) | interface FetchEventInfo { type JsRpcEventInfo (line 11996) | interface JsRpcEventInfo { type ScheduledEventInfo (line 11999) | interface ScheduledEventInfo { type AlarmEventInfo (line 12004) | interface AlarmEventInfo { type QueueEventInfo (line 12008) | interface QueueEventInfo { type EmailEventInfo (line 12013) | interface EmailEventInfo { type TraceEventInfo (line 12019) | interface TraceEventInfo { type HibernatableWebSocketEventInfoMessage (line 12023) | interface HibernatableWebSocketEventInfoMessage { type HibernatableWebSocketEventInfoError (line 12026) | interface HibernatableWebSocketEventInfoError { type HibernatableWebSocketEventInfoClose (line 12029) | interface HibernatableWebSocketEventInfoClose { type HibernatableWebSocketEventInfo (line 12034) | interface HibernatableWebSocketEventInfo { type CustomEventInfo (line 12041) | interface CustomEventInfo { type FetchResponseInfo (line 12044) | interface FetchResponseInfo { type EventOutcome (line 12048) | type EventOutcome = type ScriptVersion (line 12060) | interface ScriptVersion { type Onset (line 12065) | interface Onset { type Outcome (line 12087) | interface Outcome { type SpanOpen (line 12093) | interface SpanOpen { type SpanClose (line 12100) | interface SpanClose { type DiagnosticChannelEvent (line 12104) | interface DiagnosticChannelEvent { type Exception (line 12109) | interface Exception { type Log (line 12115) | interface Log { type DroppedEventsDiagnostic (line 12120) | interface DroppedEventsDiagnostic { type StreamDiagnostic (line 12124) | interface StreamDiagnostic { type Return (line 12133) | interface Return { type Attribute (line 12137) | interface Attribute { type Attributes (line 12149) | interface Attributes { type EventType (line 12153) | type EventType = type SpanContext (line 12165) | interface SpanContext { type TailEvent (line 12180) | interface TailEvent { type TailEventHandler (line 12190) | type TailEventHandler = ( type TailEventHandlerObject (line 12193) | type TailEventHandlerObject = { type TailEventHandlerType (line 12203) | type TailEventHandlerType = TailEventHandler | TailEventHandlerObject type VectorizeVectorMetadataValue (line 12211) | type VectorizeVectorMetadataValue = string | number | boolean | string[] type VectorizeVectorMetadata (line 12215) | type VectorizeVectorMetadata = type VectorFloatArray (line 12218) | type VectorFloatArray = Float32Array | Float64Array type VectorizeError (line 12219) | interface VectorizeError { type VectorizeVectorMetadataFilterOp (line 12228) | type VectorizeVectorMetadataFilterOp = type VectorizeVectorMetadataFilterCollectionOp (line 12235) | type VectorizeVectorMetadataFilterCollectionOp = '$in' | '$nin' type VectorizeVectorMetadataFilter (line 12239) | type VectorizeVectorMetadataFilter = { type VectorizeDistanceMetric (line 12260) | type VectorizeDistanceMetric = 'euclidean' | 'cosine' | 'dot-product' type VectorizeMetadataRetrievalLevel (line 12270) | type VectorizeMetadataRetrievalLevel = 'all' | 'indexed' | 'none' type VectorizeQueryOptions (line 12271) | interface VectorizeQueryOptions { type VectorizeIndexConfig (line 12281) | type VectorizeIndexConfig = type VectorizeIndexDetails (line 12295) | interface VectorizeIndexDetails { type VectorizeIndexInfo (line 12310) | interface VectorizeIndexInfo { type VectorizeVector (line 12323) | interface VectorizeVector { type VectorizeMatch (line 12336) | type VectorizeMatch = Pick, 'values'> & type VectorizeMatches (line 12344) | interface VectorizeMatches { type VectorizeVectorMutation (line 12355) | interface VectorizeVectorMutation { type VectorizeAsyncMutation (line 12365) | interface VectorizeAsyncMutation { type WorkerVersionMetadata (line 12476) | type WorkerVersionMetadata = { type DynamicDispatchLimits (line 12484) | interface DynamicDispatchLimits { type DynamicDispatchOptions (line 12494) | interface DynamicDispatchOptions { type DispatchNamespace (line 12506) | interface DispatchNamespace { class NonRetryableError (line 12527) | class NonRetryableError extends Error { type WorkflowDurationLabel (line 12556) | type WorkflowDurationLabel = type WorkflowSleepDuration (line 12564) | type WorkflowSleepDuration = type WorkflowRetentionDuration (line 12567) | type WorkflowRetentionDuration = WorkflowSleepDuration type WorkflowInstanceCreateOptions (line 12568) | interface WorkflowInstanceCreateOptions { type InstanceStatus (line 12586) | type InstanceStatus = { type WorkflowError (line 12603) | interface WorkflowError { FILE: apps/mobile/app.config.ts constant IS_DEV (line 9) | const IS_DEV = process.env.APP_VARIANT === 'development' constant IS_PREVIEW (line 10) | const IS_PREVIEW = process.env.APP_VARIANT === 'preview' FILE: apps/mobile/babel.config.js method logEvent (line 17) | logEvent(filename, event) { FILE: apps/mobile/drizzle/0000_productive_joystick.sql type `artists` (line 1) | CREATE TABLE `artists` ( type `playlist_tracks` (line 9) | CREATE TABLE `playlist_tracks` ( type `playlists` (line 18) | CREATE TABLE `playlists` ( type `search_history` (line 31) | CREATE TABLE `search_history` ( type `query_unq` (line 37) | CREATE UNIQUE INDEX `query_unq` ON `search_history` (`query`) type `tracks` (line 38) | CREATE TABLE `tracks` ( FILE: apps/mobile/drizzle/0002_groovy_maximus.sql type `bilibili_metadata` (line 1) | CREATE TABLE `bilibili_metadata` ( type `local_metadata` (line 10) | CREATE TABLE `local_metadata` ( type `__new_artists` (line 18) | CREATE TABLE `__new_artists` ( type `source_remote_id_unq` (line 32) | CREATE UNIQUE INDEX `source_remote_id_unq` ON `artists` (`source`,`remot... type `__new_playlists` (line 33) | CREATE TABLE `__new_playlists` ( FILE: apps/mobile/drizzle/0004_smiling_beast.sql type `bilibili_metadata_bvid_cid_idx` (line 1) | CREATE INDEX `bilibili_metadata_bvid_cid_idx` ON `bilibili_metadata` (`b... FILE: apps/mobile/drizzle/0005_spotty_exiles.sql type `__new_playlist_tracks` (line 2) | CREATE TABLE `__new_playlist_tracks` ( type `playlist_tracks_playlist_idx` (line 16) | CREATE INDEX `playlist_tracks_playlist_idx` ON `playlist_tracks` (`playl... type `playlist_tracks_track_idx` (line 17) | CREATE INDEX `playlist_tracks_track_idx` ON `playlist_tracks` (`track_id`) type `__new_tracks` (line 18) | CREATE TABLE `__new_tracks` ( type `tracks_unique_key_unique` (line 34) | CREATE UNIQUE INDEX `tracks_unique_key_unique` ON `tracks` (`unique_key`) type `tracks_artist_idx` (line 35) | CREATE INDEX `tracks_artist_idx` ON `tracks` (`artist_id`) type `tracks_title_idx` (line 36) | CREATE INDEX `tracks_title_idx` ON `tracks` (`title`) type `tracks_source_idx` (line 37) | CREATE INDEX `tracks_source_idx` ON `tracks` (`source`) type `artists_name_idx` (line 38) | CREATE INDEX `artists_name_idx` ON `artists` (`name`) type `playlists_title_idx` (line 39) | CREATE INDEX `playlists_title_idx` ON `playlists` (`title`) type `playlists_type_idx` (line 40) | CREATE INDEX `playlists_type_idx` ON `playlists` (`type`) type `playlists_author_idx` (line 41) | CREATE INDEX `playlists_author_idx` ON `playlists` (`author_id`) FILE: apps/mobile/drizzle/0009_lethal_marten_broadcloak.sql type `__new_artists` (line 2) | CREATE TABLE `__new_artists` ( type `source_remote_id_unq` (line 22) | CREATE UNIQUE INDEX `source_remote_id_unq` ON `artists` (`source`,`remot... type `local_artist_unq` (line 23) | CREATE UNIQUE INDEX `local_artist_unq` ON `artists` (`name`) WHERE sourc... type `artists_name_idx` (line 24) | CREATE INDEX `artists_name_idx` ON `artists` (`name`) FILE: apps/mobile/drizzle/0011_grey_echo.sql type `track_downloads` (line 1) | CREATE TABLE `track_downloads` ( type `track_downloads_track_idx` (line 9) | CREATE INDEX `track_downloads_track_idx` ON `track_downloads` (`track_id`) FILE: apps/mobile/drizzle/0013_jittery_randall.sql type `playlist_tracks_sort_key_idx` (line 2) | CREATE INDEX `playlist_tracks_sort_key_idx` ON `playlist_tracks` (`playl... FILE: apps/mobile/drizzle/0015_flippant_skaar.sql type `playlist_sync_queue` (line 1) | CREATE TABLE `playlist_sync_queue` ( FILE: apps/mobile/drizzle/0017_rare_lifeguard.sql type `playlist_sync_queue_status_idx` (line 1) | CREATE INDEX `playlist_sync_queue_status_idx` ON `playlist_sync_queue` (... type `playlist_sync_queue_playlist_id_idx` (line 2) | CREATE INDEX `playlist_sync_queue_playlist_id_idx` ON `playlist_sync_que... type `playlists_share_id_idx` (line 3) | CREATE INDEX `playlists_share_id_idx` ON `playlists` (`share_id`) FILE: apps/mobile/drizzle/0018_green_dracula.sql type `play_history` (line 1) | CREATE TABLE `play_history` ( type `play_history_track_idx` (line 11) | CREATE INDEX `play_history_track_idx` ON `play_history` (`track_id`) type `play_history_start_time_idx` (line 12) | CREATE INDEX `play_history_start_time_idx` ON `play_history` (`start_time`) FILE: apps/mobile/drizzle/0019_icy_mandarin.sql type `dynamic_playlist_sources` (line 1) | CREATE TABLE `dynamic_playlist_sources` ( type `dynamic_playlist_sources_playlist_idx` (line 11) | CREATE INDEX `dynamic_playlist_sources_playlist_idx` ON `dynamic_playlis... type `dynamic_playlist_sources_source_idx` (line 12) | CREATE INDEX `dynamic_playlist_sources_source_idx` ON `dynamic_playlist_... FILE: apps/mobile/drizzle/0020_ambitious_sheva_callister.sql type `dynamic_playlist_sources_playlist_position_idx` (line 1) | CREATE INDEX `dynamic_playlist_sources_playlist_position_idx` ON `dynami... FILE: apps/mobile/expo-plugins/withAndroidGradleProperties.js constant GRADLE_XMX (line 3) | const GRADLE_XMX = process.env.GRADLE_XMX || '4g' constant KOTLIN_XMX (line 4) | const KOTLIN_XMX = process.env.KOTLIN_XMX || '2g' constant WORKERS_MAX (line 5) | const WORKERS_MAX = FILE: apps/mobile/src/app/(tabs)/_layout.tsx type nonNullableIcon (line 23) | interface nonNullableIcon { function TabLayout (line 32) | function TabLayout() { FILE: apps/mobile/src/app/(tabs)/index.tsx constant SEARCH_HISTORY_KEY (line 59) | const SEARCH_HISTORY_KEY = 'bilibili_search_history' constant MAX_SEARCH_HISTORY (line 60) | const MAX_SEARCH_HISTORY = 10 function HomePage (line 71) | function HomePage() { FILE: apps/mobile/src/app/(tabs)/library/[tab].tsx type Tabs (line 30) | enum Tabs { function Library (line 37) | function Library() { FILE: apps/mobile/src/app/(tabs)/settings/index.tsx function SettingsPage (line 19) | function SettingsPage() { FILE: apps/mobile/src/app/+native-intent.ts function redirectSystemPath (line 3) | function redirectSystemPath({ FILE: apps/mobile/src/app/_layout.tsx function onAppStateChange (line 50) | function onAppStateChange(status: AppStateStatus) { FILE: apps/mobile/src/app/comments/[bvid].tsx function CommentsPage (line 30) | function CommentsPage() { FILE: apps/mobile/src/app/comments/reply.tsx function ReplyCommentsPage (line 26) | function ReplyCommentsPage() { FILE: apps/mobile/src/app/download.tsx function DownloadPage (line 24) | function DownloadPage() { FILE: apps/mobile/src/app/downloaded.tsx constant PUBLIC_MUSIC_EXPORT_URI (line 53) | const PUBLIC_MUSIC_EXPORT_URI = 'orpheus://public-music' type DownloadedItemExtraData (line 55) | interface DownloadedItemExtraData { function renderDownloadedItem (line 64) | function renderDownloadedItem({ function DownloadedItem (line 87) | function DownloadedItem({ function DownloadedPage (line 224) | function DownloadedPage() { FILE: apps/mobile/src/app/history/[date].tsx type HistoryItemData (line 21) | interface HistoryItemData { function DateHistoryPage (line 55) | function DateHistoryPage() { FILE: apps/mobile/src/app/history/overall.tsx type HistoryItemData (line 23) | interface HistoryItemData { function OverallHistoryPage (line 57) | function OverallHistoryPage() { FILE: apps/mobile/src/app/modal.tsx function ModalHost (line 10) | function ModalHost() { FILE: apps/mobile/src/app/player.tsx type PageScrollEvent (line 48) | interface PageScrollEvent { function usePageScrollHandler (line 53) | function usePageScrollHandler( function PlayerPage (line 77) | function PlayerPage() { FILE: apps/mobile/src/app/playlist/external-sync.tsx function ExternalPlaylistSyncPage (line 577) | function ExternalPlaylistSyncPage() { FILE: apps/mobile/src/app/playlist/local/[id].tsx constant SEARCHBAR_HEIGHT (line 67) | const SEARCHBAR_HEIGHT = 72 constant SCOPE (line 68) | const SCOPE = 'UI.Playlist.Local' constant SELECT_MODE_ITEM_HEIGHT (line 70) | const SELECT_MODE_ITEM_HEIGHT = 69 constant EDGE_ZONE (line 73) | const EDGE_ZONE = 80 constant SCROLL_SPEED (line 75) | const SCROLL_SPEED = 8 function LocalPlaylistPage (line 115) | function LocalPlaylistPage() { FILE: apps/mobile/src/app/playlist/recently/index.tsx function RecentlyPlayedPage (line 19) | function RecentlyPlayedPage() { FILE: apps/mobile/src/app/playlist/remote/collection/[id].tsx function CollectionPage (line 55) | function CollectionPage() { FILE: apps/mobile/src/app/playlist/remote/favorite/[id].tsx function FavoritePage (line 55) | function FavoritePage() { FILE: apps/mobile/src/app/playlist/remote/multipage/[bvid].tsx function MultipagePage (line 68) | function MultipagePage() { FILE: apps/mobile/src/app/playlist/remote/search-result/fav/[query].tsx function SearchResultsPage (line 53) | function SearchResultsPage() { FILE: apps/mobile/src/app/playlist/remote/search-result/global/[query].tsx function SearchResultsPage (line 49) | function SearchResultsPage() { FILE: apps/mobile/src/app/playlist/remote/toview.tsx function ToViewPage (line 72) | function ToViewPage() { FILE: apps/mobile/src/app/playlist/remote/uploader/[mid].tsx constant SEARCHBAR_HEIGHT (line 39) | const SEARCHBAR_HEIGHT = 72 function UploaderPage (line 72) | function UploaderPage() { FILE: apps/mobile/src/app/settings/appearance.tsx function AppearanceSettingsPage (line 20) | function AppearanceSettingsPage() { FILE: apps/mobile/src/app/settings/donate.tsx function DonateSettingsPage (line 10) | function DonateSettingsPage() { FILE: apps/mobile/src/app/settings/download.tsx constant DOWNLOAD_PARALLEL_OPTIONS (line 13) | const DOWNLOAD_PARALLEL_OPTIONS = [ function DownloadSettingsPage (line 20) | function DownloadSettingsPage() { FILE: apps/mobile/src/app/settings/general.tsx function GeneralSettingsPage (line 19) | function GeneralSettingsPage() { function performShareLog (line 197) | async function performShareLog( FILE: apps/mobile/src/app/settings/lyrics.tsx function LyricsSettingsPage (line 19) | function LyricsSettingsPage() { FILE: apps/mobile/src/app/settings/playback.tsx function PlaybackSettingsPage (line 14) | function PlaybackSettingsPage() { FILE: apps/mobile/src/app/share/playlist.tsx function SharedPlaylistPreviewPage (line 78) | function SharedPlaylistPreviewPage() { FILE: apps/mobile/src/app/test.tsx function TestPage (line 30) | function TestPage() { FILE: apps/mobile/src/components/ErrorBoundary.tsx function GlobalErrorFallback (line 6) | function GlobalErrorFallback({ FILE: apps/mobile/src/components/ModalRegistry.tsx type ModalComponent (line 78) | type ModalComponent = ComponentType[0]> FILE: apps/mobile/src/components/common/IconButton.tsx type IconButtonMode (line 9) | type IconButtonMode = 'outlined' | 'contained' | 'contained-tonal' type IconButtonProps (line 11) | interface IconButtonProps { FILE: apps/mobile/src/components/modals/AlertModal.tsx type AlertButton (line 7) | interface AlertButton { type AlertOptions (line 12) | interface AlertOptions { type AlertModalProps (line 16) | interface AlertModalProps { function AlertModal (line 23) | function AlertModal({ function alert (line 79) | function alert( FILE: apps/mobile/src/components/modals/PlayerQueueModal.tsx type PlayerQueueModalProps (line 105) | interface PlayerQueueModalProps extends TrueSheetProps { function PlayerQueueModal (line 110) | function PlayerQueueModal({ FILE: apps/mobile/src/components/modals/app/DonationQRModal.tsx constant WECHAT_QR (line 15) | const WECHAT_QR = require('../../../../assets/images/wechat.png') constant ALIPAY_QR (line 17) | const ALIPAY_QR = require('../../../../assets/images/alipay.jpg') type DonationType (line 19) | type DonationType = 'wechat' | 'alipay' function DonationQRModal (line 21) | function DonationQRModal({ FILE: apps/mobile/src/components/modals/app/UpdateAppModal.tsx type UpdateModalProps (line 19) | interface UpdateModalProps { function UpdateAppModal (line 28) | function UpdateAppModal({ FILE: apps/mobile/src/components/modals/app/WelcomeModal.tsx function Step0 (line 25) | function Step0() { function Step1 (line 43) | function Step1({ function WelcomeModal (line 99) | function WelcomeModal() { FILE: apps/mobile/src/components/modals/edit-metadata/editPlaylistMetadataModal.tsx function EditPlaylistMetadataModal (line 19) | function EditPlaylistMetadataModal({ FILE: apps/mobile/src/components/modals/edit-metadata/editTrackMetadataModal.tsx function EditTrackMetadataModal (line 11) | function EditTrackMetadataModal({ track }: { track: Track }) { FILE: apps/mobile/src/components/modals/login/CookieLoginModal.tsx function CookieLoginModal (line 14) | function CookieLoginModal() { FILE: apps/mobile/src/components/modals/login/PhoneLoginModal.tsx function PhoneLoginModal (line 8) | function PhoneLoginModal() { FILE: apps/mobile/src/components/modals/login/QRCodeLoginModal.tsx type Status (line 20) | type Status = type State (line 28) | interface State { type Action (line 35) | type Action = function reducer (line 53) | function reducer(state: State, action: Action): State { FILE: apps/mobile/src/components/modals/login/steps/GeetestVerifyStep.tsx type Props (line 9) | interface Props { function buildGeetestHtml (line 16) | function buildGeetestHtml(gt: string, challenge: string): string { function GeetestVerifyStep (line 75) | function GeetestVerifyStep({ FILE: apps/mobile/src/components/modals/login/steps/InputCodeStep.tsx type Props (line 6) | interface Props { function InputCodeStep (line 17) | function InputCodeStep({ FILE: apps/mobile/src/components/modals/login/steps/InputPhoneStep.tsx type Props (line 6) | interface Props { function InputPhoneStep (line 16) | function InputPhoneStep({ FILE: apps/mobile/src/components/modals/login/steps/SuccessStep.tsx function SuccessStep (line 4) | function SuccessStep() { FILE: apps/mobile/src/components/modals/lyrics/EditLyrics.tsx function EditLyricsModal (line 18) | function EditLyricsModal({ FILE: apps/mobile/src/components/modals/lyrics/ManualSearchLyrics.tsx constant SOURCE_MAP (line 20) | const SOURCE_MAP = { FILE: apps/mobile/src/components/modals/player/LyricsSelectionModal.tsx function performShare (line 82) | async function performShare( FILE: apps/mobile/src/components/modals/player/PlaybackSpeedModal.tsx constant PRESET_SPEEDS (line 11) | const PRESET_SPEEDS = [0.5, 0.75, 1.0, 1.25, 1.5, 2.0] FILE: apps/mobile/src/components/modals/player/SleepTimerModal.tsx constant PRESET_DURATIONS (line 13) | const PRESET_DURATIONS = [15, 30, 45, 60] // in minutes FILE: apps/mobile/src/components/modals/player/SongShareModal.tsx function performShare (line 21) | async function performShare( FILE: apps/mobile/src/components/modals/playlist/CreatePlaylistModal.tsx function CreatePlaylistModal (line 14) | function CreatePlaylistModal({ FILE: apps/mobile/src/components/modals/playlist/DuplicateLocalPlaylistModal.tsx function DuplicateLocalPlaylistModal (line 10) | function DuplicateLocalPlaylistModal({ FILE: apps/mobile/src/components/modals/playlist/EnableSharingModal.tsx constant SHARE_BASE_URL (line 17) | const SHARE_BASE_URL = 'https://bbplayer.roitium.com/share/playlist' function EnableSharingModal (line 19) | function EnableSharingModal({ FILE: apps/mobile/src/components/modals/playlist/ManualMatchExternalSync.tsx function ManualMatchExternalSync (line 88) | function ManualMatchExternalSync({ FILE: apps/mobile/src/components/modals/playlist/MergePlaylistsModal.tsx type RenderExtraData (line 55) | type RenderExtraData = { function MergePlaylistsModal (line 74) | function MergePlaylistsModal() { FILE: apps/mobile/src/components/modals/playlist/SaveQueueToPlaylistModal.tsx function SaveQueueToPlaylistModal (line 17) | function SaveQueueToPlaylistModal({ FILE: apps/mobile/src/components/modals/playlist/SubscribeToSharedPlaylistModal.tsx constant UUID_RE (line 9) | const UUID_RE = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f... function parseShareLink (line 12) | function parseShareLink(input: string): { function SubscribeToSharedPlaylistModal (line 35) | function SubscribeToSharedPlaylistModal() { FILE: apps/mobile/src/components/modals/playlist/SyncLocalToBilibiliModal.tsx type SyncLocalToBilibiliModalProps (line 19) | interface SyncLocalToBilibiliModalProps { type Step (line 23) | type Step = type RemoteFolder (line 32) | interface RemoteFolder { type DiffResult (line 37) | interface DiffResult { type State (line 42) | interface State { type Action (line 52) | type Action = function reducer (line 72) | function reducer(state: State, action: Action): State { function SyncLocalToBilibiliModal (line 95) | function SyncLocalToBilibiliModal({ FILE: apps/mobile/src/components/modals/settings/CoverDownloadProgressModal.tsx type ProgressState (line 10) | interface ProgressState { FILE: apps/mobile/src/components/modals/settings/ExportDownloadsProgressModal.tsx type Stage (line 22) | type Stage = 'config' | 'exporting' | 'completed' | 'error' type ProgressState (line 24) | interface ProgressState { type ExportDownloadsProgressModalProps (line 32) | interface ExportDownloadsProgressModalProps { constant PREVIEW_VALUES (line 38) | const PREVIEW_VALUES: Record = { constant VARIABLE_KEYS (line 46) | const VARIABLE_KEYS = Object.keys(PREVIEW_VALUES) function buildPreviewFilename (line 48) | function buildPreviewFilename(pattern: string): string { function patternHasVariable (line 58) | function patternHasVariable(pattern: string): boolean { function startExport (line 109) | function startExport() { function dismiss (line 173) | function dismiss() { FILE: apps/mobile/src/components/providers.tsx function AppProviders (line 21) | function AppProviders({ children }: { children: ReactNode }) { FILE: apps/mobile/src/features/comments/components/CommentItem.tsx type CommentItemProps (line 15) | interface CommentItemProps { function CommentItem (line 21) | function CommentItem({ item, onReplyPress, bvid }: CommentItemProps) { FILE: apps/mobile/src/features/downloads/DownloadHeader.tsx type DownloadHeaderProps (line 6) | interface DownloadHeaderProps { function DownloadHeader (line 16) | function DownloadHeader({ FILE: apps/mobile/src/features/history/HistoryListItem.tsx type HistoryListItemProps (line 14) | interface HistoryListItemProps { FILE: apps/mobile/src/features/home/SearchSuggestions.tsx type SearchSuggestionsProps (line 29) | interface SearchSuggestionsProps { type SearchHistoryItem (line 39) | interface SearchHistoryItem { function parseEmTags (line 50) | function parseEmTags(text: string | undefined) { constant MARGIN_HORIZONTAL (line 74) | const MARGIN_HORIZONTAL = 16 constant MARGIN_TOP (line 75) | const MARGIN_TOP = 12 constant MARGIN_BOTTOM (line 76) | const MARGIN_BOTTOM = 12 function SearchSuggestions (line 78) | function SearchSuggestions({ FILE: apps/mobile/src/features/library/shared/DataFetchingError.tsx type DataFetchingErrorProps (line 6) | interface DataFetchingErrorProps { function DataFetchingError (line 11) | function DataFetchingError({ FILE: apps/mobile/src/features/library/shared/TabDisabled.tsx function TabDisable (line 7) | function TabDisable() { FILE: apps/mobile/src/features/library/skeletons/LibraryTabSkeleton.tsx function LibraryListItemSkeleton (line 10) | function LibraryListItemSkeleton() { function LocalPlaylistListSkeleton (line 60) | function LocalPlaylistListSkeleton() { function FavoriteFolderListSkeleton (line 101) | function FavoriteFolderListSkeleton() { function CollectionListSkeleton (line 141) | function CollectionListSkeleton() { function LibraryTabSkeleton (line 175) | function LibraryTabSkeleton() { FILE: apps/mobile/src/features/player/components/BGStreamerShader.ts constant GLSL_SHADER_SOURCE (line 8) | const GLSL_SHADER_SOURCE = ` FILE: apps/mobile/src/features/player/components/LyricsControlOverlay.tsx constant OVERLAY_HEIGHT (line 24) | const OVERLAY_HEIGHT = windowHeight * 0.4 constant AUTO_HIDE_DELAY (line 25) | const AUTO_HIDE_DELAY = 3000 type LyricsControlOverlayProps (line 27) | interface LyricsControlOverlayProps { FILE: apps/mobile/src/features/player/components/PlayerControls.tsx type MainPlaybackControlsProps (line 30) | interface MainPlaybackControlsProps { function MainPlaybackControls (line 39) | function MainPlaybackControls({ function PlayerControls (line 241) | function PlayerControls({ onOpenQueue }: { onOpenQueue: () => void }) { FILE: apps/mobile/src/features/player/components/PlayerFunctionalMenu.tsx function HighFreqButton (line 25) | function HighFreqButton({ function PlayerFunctionalMenu (line 75) | function PlayerFunctionalMenu({ FILE: apps/mobile/src/features/player/components/PlayerHeader.tsx function PlayerHeader (line 12) | function PlayerHeader({ FILE: apps/mobile/src/features/player/components/PlayerLyrics.tsx constant SCROLL_DIRECTION_THRESHOLD (line 38) | const SCROLL_DIRECTION_THRESHOLD = 8 FILE: apps/mobile/src/features/player/components/PlayerMainTab.tsx type PlayerMainTabProps (line 16) | interface PlayerMainTabProps { FILE: apps/mobile/src/features/player/components/PlayerSlider.tsx constant THUMB_SIZE (line 21) | const THUMB_SIZE = 12 function TextWithAnimation (line 23) | function TextWithAnimation({ type PlayerSliderProps (line 89) | interface PlayerSliderProps { function PlayerSlider (line 93) | function PlayerSlider({ onInteraction }: PlayerSliderProps = {}) { FILE: apps/mobile/src/features/player/components/PlayerTrackInfo.tsx constant COVER_SIZE_RECT (line 30) | const COVER_SIZE_RECT = screenWidth - 80 constant COVER_SIZE_CIRCLE (line 31) | const COVER_SIZE_CIRCLE = screenWidth - 120 function TrackInfo (line 33) | function TrackInfo({ FILE: apps/mobile/src/features/player/components/SpectrumVisualizer.tsx type SpectrumVisualizerProps (line 10) | interface SpectrumVisualizerProps { constant BAR_COUNT (line 16) | const BAR_COUNT = 60 constant MAX_BAR_HEIGHT (line 17) | const MAX_BAR_HEIGHT = 36 constant SMOOTHING_FACTOR (line 18) | const SMOOTHING_FACTOR = 0.3 constant GAP (line 19) | const GAP = 4 FILE: apps/mobile/src/features/player/components/danmaku/DanmakuView.tsx type DanmakuViewProps (line 16) | interface DanmakuViewProps { FILE: apps/mobile/src/features/player/components/lyrics/KaraokeWord.tsx type KaraokeWordProps (line 17) | interface KaraokeWordProps { FILE: apps/mobile/src/features/player/components/lyrics/LyricActionSheet.tsx type Props (line 5) | interface Props { function LyricActionSheet (line 16) | function LyricActionSheet({ FILE: apps/mobile/src/features/player/components/lyrics/LyricLineItem.tsx type LyricLineItemProps (line 19) | interface LyricLineItemProps { FILE: apps/mobile/src/features/player/components/lyrics/LyricsOffsetControl.tsx type LyricsOffsetControlProps (line 6) | interface LyricsOffsetControlProps { FILE: apps/mobile/src/features/player/components/sharing/LyricsShareCard.tsx type LyricsShareCardProps (line 10) | interface LyricsShareCardProps { FILE: apps/mobile/src/features/player/components/sharing/SongShareCard.tsx type SongShareCardProps (line 9) | interface SongShareCardProps { FILE: apps/mobile/src/features/player/hooks/danmaku/constants.ts constant CONFIG (line 1) | const CONFIG = { FILE: apps/mobile/src/features/player/hooks/danmaku/useDanmakuLoader.ts constant PRELOAD_DISTANCE_MS (line 17) | const PRELOAD_DISTANCE_MS = 1000 * 60 constant SEGMENT_DURATION_MS (line 18) | const SEGMENT_DURATION_MS = 1000 * 60 * 6 constant BASE_RETRY_DELAY (line 19) | const BASE_RETRY_DELAY = 1000 constant MAX_RETRY_DELAY (line 20) | const MAX_RETRY_DELAY = 1000 * 60 * 5 function useDanmakuLoader (line 24) | function useDanmakuLoader( FILE: apps/mobile/src/features/player/hooks/danmaku/useDanmakuRender.ts type ActiveBullet (line 21) | interface ActiveBullet { function binarySearch (line 31) | function binarySearch(data: BilibiliDanmakuItem[], targetTime: number): ... function findBestScrollTrack (line 59) | function findBestScrollTrack(tracks: number[], width: number) { FILE: apps/mobile/src/features/player/hooks/useLyricSync.ts function useLyricSync (line 8) | function useLyricSync( FILE: apps/mobile/src/features/player/hooks/usePlayerHeaderAnimation.ts function usePlayerHeaderAnimation (line 8) | function usePlayerHeaderAnimation( FILE: apps/mobile/src/features/playlist/local/components/LocalPlaylistHeader.tsx type PlaylistHeaderProps (line 29) | interface PlaylistHeaderProps { type SubtitlePieces (line 42) | interface SubtitlePieces { function buildSubtitlePieces (line 51) | function buildSubtitlePieces( FILE: apps/mobile/src/features/playlist/local/components/LocalPlaylistItem.tsx type TrackMenuItem (line 22) | interface TrackMenuItem { type TrackListItemProps (line 30) | interface TrackListItemProps { FILE: apps/mobile/src/features/playlist/local/components/LocalTrackList.tsx type LocalTrackListProps (line 34) | interface LocalTrackListProps extends Omit< function LocalTrackList (line 230) | function LocalTrackList({ FILE: apps/mobile/src/features/playlist/local/components/PlaylistError.tsx type PlaylistErrorProps (line 6) | interface PlaylistErrorProps { function PlaylistError (line 11) | function PlaylistError({ FILE: apps/mobile/src/features/playlist/local/components/SharedPlaylistMembersSheet.tsx type Props (line 11) | interface Props { FILE: apps/mobile/src/features/playlist/local/components/SyncFailuresSheet.tsx constant SCOPE (line 19) | const SCOPE = 'SyncFailuresSheet' constant OPERATION_INFO (line 21) | const OPERATION_INFO = { constant DEV_MOCK_ROWS (line 44) | const DEV_MOCK_ROWS: (typeof schema.playlistSyncQueue.$inferSelect)[] = ... type Props (line 55) | interface Props { FILE: apps/mobile/src/features/playlist/local/hooks/useLocalPlaylistMenu.ts constant SCOPE (line 14) | const SCOPE = 'UI.Playlist.Local.Menu' type LocalPlaylistMenuProps (line 16) | interface LocalPlaylistMenuProps { function useLocalPlaylistMenu (line 24) | function useLocalPlaylistMenu({ FILE: apps/mobile/src/features/playlist/local/hooks/useLocalPlaylistPlayer.ts constant SCOPE (line 16) | const SCOPE = 'UI.Playlist.Local.Player' function useLocalPlaylistPlayer (line 18) | function useLocalPlaylistPlayer( FILE: apps/mobile/src/features/playlist/local/hooks/useTrackSelection.ts function useTrackSelection (line 5) | function useTrackSelection() { FILE: apps/mobile/src/features/playlist/remote/components/FlashingTrackListItem.tsx type TrackListItemProps (line 14) | type TrackListItemProps = ComponentProps type FlashingTrackListItemProps (line 16) | interface FlashingTrackListItemProps extends TrackListItemProps { function FlashingTrackListItem (line 20) | function FlashingTrackListItem({ FILE: apps/mobile/src/features/playlist/remote/components/PlaylistError.tsx type PlaylistErrorProps (line 6) | interface PlaylistErrorProps { function PlaylistError (line 11) | function PlaylistError({ FILE: apps/mobile/src/features/playlist/remote/components/PlaylistHeader.tsx type PlaylistHeaderProps (line 14) | interface PlaylistHeaderProps { FILE: apps/mobile/src/features/playlist/remote/components/PlaylistItem.tsx type TrackMenuItem (line 15) | interface TrackMenuItem { type TrackNecessaryData (line 27) | interface TrackNecessaryData { type TrackListItemProps (line 38) | interface TrackListItemProps { FILE: apps/mobile/src/features/playlist/remote/components/RemoteTrackList.tsx type TrackListProps (line 30) | interface TrackListProps extends Omit< type ExtraData (line 76) | interface ExtraData { function TrackList (line 132) | function TrackList({ FILE: apps/mobile/src/features/playlist/remote/hooks/useCheckLinkedToLocalPlaylist.ts function useCheckLinkedToPlaylist (line 13) | function useCheckLinkedToPlaylist( FILE: apps/mobile/src/features/playlist/remote/hooks/usePlaylistMenu.ts function usePlaylistMenu (line 8) | function usePlaylistMenu( FILE: apps/mobile/src/features/playlist/remote/hooks/useRemotePlaylist.ts function useRemotePlaylist (line 9) | function useRemotePlaylist() { FILE: apps/mobile/src/features/playlist/remote/hooks/useTrackSelection.ts function useTrackSelection (line 5) | function useTrackSelection() { FILE: apps/mobile/src/features/playlist/remote/search-result/constants.ts constant MULTIPAGE_VIDEO_KEYWORDS (line 1) | const MULTIPAGE_VIDEO_KEYWORDS = [ FILE: apps/mobile/src/features/playlist/remote/search-result/hooks/useSearchInteractions.ts function useSearchInteractions (line 13) | function useSearchInteractions() { FILE: apps/mobile/src/features/playlist/remote/toview/components/Item.tsx type TrackMenuItem (line 20) | interface TrackMenuItem { type TrackNecessaryData (line 32) | interface TrackNecessaryData { type TrackListItemProps (line 42) | interface TrackListItemProps { FILE: apps/mobile/src/features/playlist/remote/toview/components/ProgressRing.tsx type TrackNecessaryData (line 6) | interface TrackNecessaryData { constant RING_RADIUS (line 17) | const RING_RADIUS = 10 constant RING_STROKE (line 18) | const RING_STROKE = 2.5 constant RING_SIZE (line 19) | const RING_SIZE = (RING_RADIUS + RING_STROKE) * 2 constant RING_CENTER (line 20) | const RING_CENTER = RING_RADIUS + RING_STROKE constant RING_CIRCUMFERENCE (line 21) | const RING_CIRCUMFERENCE = 2 * Math.PI * RING_RADIUS type ProgressRingProps (line 23) | interface ProgressRingProps { FILE: apps/mobile/src/features/playlist/skeletons/PlaylistSkeleton.tsx function PlaylistPageSkeleton (line 8) | function PlaylistPageSkeleton() { function PlaylistTrackListSkeleton (line 34) | function PlaylistTrackListSkeleton() { function PlaylistHeaderSkeleton (line 59) | function PlaylistHeaderSkeleton() { function TrackListItemSkeleton (line 147) | function TrackListItemSkeleton() { FILE: apps/mobile/src/hooks/analytics/useFeatureTracking.ts function useFeatureTracking (line 11) | function useFeatureTracking() { FILE: apps/mobile/src/hooks/app/useCheckUpdate.tsx function useCheckUpdate (line 7) | function useCheckUpdate() { FILE: apps/mobile/src/hooks/app/useFastMigrations.ts constant SCHEMA_VERSION_KEY (line 11) | const SCHEMA_VERSION_KEY = 'db_schema_version' constant SORT_KEY_MIGRATED_V2_KEY (line 13) | const SORT_KEY_MIGRATED_V2_KEY = 'sort_key_migrated_v2' // gitleaks:allow constant SORT_KEY_MIGRATED_V3_KEY (line 14) | const SORT_KEY_MIGRATED_V3_KEY = 'sort_key_migrated_v3' // gitleaks:allow constant PLAY_HISTORY_MIGRATED_V1_KEY (line 15) | const PLAY_HISTORY_MIGRATED_V1_KEY = 'play_history_migrated_v1' // gitle... type MigrationConfig (line 17) | interface MigrationConfig { type State (line 24) | interface State { type Action (line 29) | type Action = function migrateSortKeysV2 (line 34) | function migrateSortKeysV2(): void { function migrateSortKeysV3 (line 111) | function migrateSortKeysV3(): void { function migratePlayHistory (line 165) | function migratePlayHistory(): void { FILE: apps/mobile/src/hooks/auth/useGeetest.ts type CaptchaParams (line 8) | interface CaptchaParams { type UseGeetestProps (line 16) | interface UseGeetestProps { function useGeetest (line 23) | function useGeetest({ FILE: apps/mobile/src/hooks/auth/usePhoneLogin.ts type Step (line 16) | type Step = 'input_phone' | 'geetest_verify' | 'input_code' | 'success' type CaptchaParams (line 18) | interface CaptchaParams { constant COUNTRY_CODE (line 26) | const COUNTRY_CODE = '86' method validate (line 30) | validate(v: string): string { method validate (line 38) | validate(v: string): string { type LoginStatus (line 47) | type LoginStatus = 'idle' | 'loading' | 'success' type LoginState (line 49) | interface LoginState { type LoginAction (line 60) | type LoginAction = function loginReducer (line 84) | function loginReducer(state: LoginState, action: LoginAction): LoginState { function usePhoneLogin (line 136) | function usePhoneLogin() { FILE: apps/mobile/src/hooks/mutations/db/playlist.ts function ensureBBPlayerToken (line 22) | async function ensureBBPlayerToken(): Promise { constant SCOPE (line 45) | const SCOPE = 'Mutation.DB.Playlist' FILE: apps/mobile/src/hooks/mutations/orpheus/index.ts function useRemoveDownloadsMutation (line 12) | function useRemoveDownloadsMutation() { FILE: apps/mobile/src/hooks/player/useCurrentTrack.ts function useCurrentTrack (line 5) | function useCurrentTrack() { FILE: apps/mobile/src/hooks/player/useCurrentTrackId.ts function useCurrentTrackId (line 3) | function useCurrentTrackId() { FILE: apps/mobile/src/hooks/player/useIsCurrentTrack.ts function useIsCurrentTrack (line 5) | function useIsCurrentTrack(trackUniqueKey: string) { FILE: apps/mobile/src/hooks/player/useLocalCover.ts function resolveTrackCover (line 8) | function resolveTrackCover( FILE: apps/mobile/src/hooks/player/useSmoothProgress.ts function useSmoothProgress (line 13) | function useSmoothProgress(background = false) { FILE: apps/mobile/src/hooks/player/useTrackProgress.ts type Progress (line 7) | interface Progress { constant INITIAL (line 13) | const INITIAL: Progress = { position: 0, duration: 0, buffered: 0 } function useTrackProgress (line 19) | function useTrackProgress(background = false) { FILE: apps/mobile/src/hooks/queries/bilibili/comments.ts function useComments (line 14) | function useComments(bvid: string, mode = 3) { function useReplyComments (line 31) | function useReplyComments(bvid: string, rpid: number) { FILE: apps/mobile/src/hooks/queries/bilibili/danmaku.ts function fetchDanmakuSegmentQuery (line 11) | async function fetchDanmakuSegmentQuery( FILE: apps/mobile/src/hooks/queries/db/track.ts function usePlayCountHistoryPaginated (line 32) | function usePlayCountHistoryPaginated( function useTotalPlaybackDuration (line 64) | function useTotalPlaybackDuration(onlyCompleted = true) { FILE: apps/mobile/src/hooks/queries/orpheus/index.ts function useBatchDownloadStatus (line 25) | function useBatchDownloadStatus(ids: string[]) { function useShuffleMode (line 37) | function useShuffleMode() { function useDownloadTasks (line 46) | function useDownloadTasks() { function useAllDownloads (line 56) | function useAllDownloads() { function usePlayerQueue (line 66) | function usePlayerQueue(enabled: boolean = true) { function useSleepTimerEndTime (line 79) | function useSleepTimerEndTime() { FILE: apps/mobile/src/hooks/queries/sharedPlaylistAllMembers.ts type SharedPlaylistAllMember (line 5) | type SharedPlaylistAllMember = { function useSharedPlaylistAllMembers (line 13) | function useSharedPlaylistAllMembers(shareId?: string | null) { FILE: apps/mobile/src/hooks/queries/sharedPlaylistMembers.ts function useSharedPlaylistMembers (line 8) | function useSharedPlaylistMembers( FILE: apps/mobile/src/hooks/queries/useRecentPlaylists.ts function useRecentPlaylists (line 7) | function useRecentPlaylists() { FILE: apps/mobile/src/hooks/router/useBottomTabBarHeight.ts function useBottomTabBarHeight (line 4) | function useBottomTabBarHeight() { FILE: apps/mobile/src/hooks/router/usePreventRemove.ts function usePreventRemove (line 5) | function usePreventRemove( FILE: apps/mobile/src/hooks/stores/useAppStore.ts constant OLD_KEYS (line 83) | const OLD_KEYS: Record = { FILE: apps/mobile/src/hooks/stores/useDownloadManagerStore.ts type ProgressEvent (line 6) | type ProgressEvent = Record< FILE: apps/mobile/src/hooks/stores/useExternalPlaylistSyncStore.tsx type SyncState (line 6) | interface SyncState { type SyncStore (line 16) | type SyncStore = ReturnType function useExternalPlaylistSyncStoreApi (line 51) | function useExternalPlaylistSyncStoreApi() { function useExternalPlaylistSyncStore (line 61) | function useExternalPlaylistSyncStore( FILE: apps/mobile/src/hooks/stores/useModalStore.ts type ModalState (line 10) | interface ModalState { FILE: apps/mobile/src/hooks/stores/usePlayerStore.ts type PlayerState (line 11) | interface PlayerState { FILE: apps/mobile/src/hooks/stores/useSharedPlaylistMembersStore.ts type SharedPlaylistMember (line 7) | type SharedPlaylistMember = { constant EMPTY (line 14) | const EMPTY: SharedPlaylistMember[] = [] type SharedPlaylistMembersState (line 16) | interface SharedPlaylistMembersState { FILE: apps/mobile/src/hooks/ui/useDoubleTapScrollToTop.ts function useDoubleTapScrollToTop (line 6) | function useDoubleTapScrollToTop( FILE: apps/mobile/src/hooks/ui/usePlaylistBackgroundColor.ts function getDominantColor (line 10) | function getDominantColor( function computeLightenedColor (line 22) | function computeLightenedColor( type PlaylistBackgroundColorResult (line 33) | interface PlaylistBackgroundColorResult { function usePlaylistBackgroundColor (line 41) | function usePlaylistBackgroundColor( FILE: apps/mobile/src/hooks/ui/useScreenDimensions.ts function useScreenDimensions (line 4) | function useScreenDimensions() { FILE: apps/mobile/src/hooks/utils/useDebouncedValue.ts function useDebouncedValue (line 3) | function useDebouncedValue(value: T, delay = 300) { FILE: apps/mobile/src/hooks/utils/usePreviousState.ts function usePreviousState (line 3) | function usePreviousState(value: T) { FILE: apps/mobile/src/hooks/utils/useRefreshOnFocus.ts function useRefreshOnFocus (line 4) | function useRefreshOnFocus(refetch: () => Promise) { FILE: apps/mobile/src/lib/api/bbplayer/client.ts constant BASE_URL (line 6) | const BASE_URL = FILE: apps/mobile/src/lib/api/bilibili/api.ts constant PASSPORT_UA (line 47) | const PASSPORT_UA = class BilibiliApi (line 53) | class BilibiliApi { method getHistory (line 57) | getHistory(): ResultAsync { method getPopularVideos (line 67) | getPopularVideos( method getFavoritePlaylists (line 80) | getFavoritePlaylists( method createFavoriteFolder (line 96) | createFavoriteFolder( method getSegDanmaku (line 124) | getSegDanmaku( method searchVideos (line 187) | searchVideos( method getHotSearches (line 224) | getHotSearches(): ResultAsync { method getSearchSuggestions (line 237) | getSearchSuggestions( method getAudioStream (line 308) | getAudioStream( method getPageList (line 440) | getPageList( method getUserInfo (line 454) | getUserInfo(): ResultAsync { method getOtherUserInfo (line 461) | getOtherUserInfo(mid: number) { method getFavoriteListContents (line 477) | getFavoriteListContents( method searchFavoriteListContents (line 495) | searchFavoriteListContents( method getFavoriteListAllContents (line 519) | getFavoriteListAllContents( method getVideoDetails (line 532) | getVideoDetails( method batchDeleteFavoriteListContents (line 546) | batchDeleteFavoriteListContents( method getCollectionsList (line 561) | getCollectionsList( method getCollectionAllContents (line 589) | getCollectionAllContents( method dealFavoriteForOneVideo (line 605) | dealFavoriteForOneVideo( method getTargetVideoFavoriteStatus (line 629) | getTargetVideoFavoriteStatus( method reportPlaybackHistory (line 654) | reportPlaybackHistory( method getUserUploadedVideos (line 673) | getUserUploadedVideos( method getComments (line 698) | getComments( method getReplyComments (line 719) | getReplyComments( method likeComment (line 743) | likeComment( method getLoginQrCode (line 760) | getLoginQrCode(): ResultAsync< method pollQrCodeLoginStatus (line 774) | pollQrCodeLoginStatus( method getB23ResolvedUrl (line 848) | getB23ResolvedUrl(b23Url: string): ResultAsync { method getPhoneLoginCaptchaToken (line 1023) | getPhoneLoginCaptchaToken(): ResultAsync< method sendPhoneLoginSms (line 1083) | sendPhoneLoginSms( method loginWithPhoneSmsCode (line 1159) | loginWithPhoneSmsCode( FILE: apps/mobile/src/lib/api/bilibili/client.ts type ReqResponse (line 8) | interface ReqResponse { class ApiClient (line 14) | class ApiClient { method get (line 111) | get( method getBuffer (line 140) | getBuffer( method post (line 214) | post( method postWithCsrf (line 242) | public postWithCsrf( FILE: apps/mobile/src/lib/api/bilibili/proto/dm.d.ts class DM (line 19) | class DM extends $protobuf.rpc.Service { type DmSegMobileCallback (line 130) | type DmSegMobileCallback = (error: (Error|null), response?: bilibili.com... type DmViewCallback (line 137) | type DmViewCallback = (error: (Error|null), response?: bilibili.communit... type DmPlayerConfigCallback (line 144) | type DmPlayerConfigCallback = (error: (Error|null), response?: bilibili.... type DmSegOttCallback (line 151) | type DmSegOttCallback = (error: (Error|null), response?: bilibili.commun... type DmSegSDKCallback (line 158) | type DmSegSDKCallback = (error: (Error|null), response?: bilibili.commun... type DmExpoReportCallback (line 165) | type DmExpoReportCallback = (error: (Error|null), response?: bilibili.co... type IAvatar (line 169) | interface IAvatar { class Avatar (line 182) | class Avatar implements IAvatar { type AvatarType (line 278) | enum AvatarType { type IBubble (line 284) | interface IBubble { class Bubble (line 294) | class Bubble implements IBubble { type BubbleType (line 387) | enum BubbleType { type IBubbleV2 (line 394) | interface IBubbleV2 { class BubbleV2 (line 413) | class BubbleV2 implements IBubbleV2 { type IButton (line 515) | interface IButton { class Button (line 525) | class Button implements IButton { type IBuzzwordConfig (line 618) | interface IBuzzwordConfig { class BuzzwordConfig (line 625) | class BuzzwordConfig implements IBuzzwordConfig { type IBuzzwordShowConfig (line 715) | interface IBuzzwordShowConfig { class BuzzwordShowConfig (line 737) | class BuzzwordShowConfig implements IBuzzwordShowConfig { type ICheckBox (line 842) | interface ICheckBox { class CheckBox (line 858) | class CheckBox implements ICheckBox { type CheckboxType (line 957) | enum CheckboxType { type ICheckBoxV2 (line 964) | interface ICheckBoxV2 { class CheckBoxV2 (line 977) | class CheckBoxV2 implements ICheckBoxV2 { type IClickButton (line 1073) | interface IClickButton { class ClickButton (line 1098) | class ClickButton implements IClickButton { type IClickButtonV2 (line 1206) | interface IClickButtonV2 { class ClickButtonV2 (line 1234) | class ClickButtonV2 implements IClickButtonV2 { type ICommandDm (line 1345) | interface ICommandDm { class CommandDm (line 1379) | class CommandDm implements ICommandDm { type IDanmakuAIFlag (line 1496) | interface IDanmakuAIFlag { class DanmakuAIFlag (line 1503) | class DanmakuAIFlag implements IDanmakuAIFlag { type IDanmakuElem (line 1593) | interface IDanmakuElem { class DanmakuElem (line 1642) | class DanmakuElem implements IDanmakuElem { type IDanmakuFlag (line 1774) | interface IDanmakuFlag { class DanmakuFlag (line 1784) | class DanmakuFlag implements IDanmakuFlag { type IDanmakuFlagConfig (line 1877) | interface IDanmakuFlagConfig { class DanmakuFlagConfig (line 1890) | class DanmakuFlagConfig implements IDanmakuFlagConfig { type IDanmuDefaultPlayerConfig (line 1986) | interface IDanmuDefaultPlayerConfig { class DanmuDefaultPlayerConfig (line 2041) | class DanmuDefaultPlayerConfig implements IDanmuDefaultPlayerConfig { type IDanmuPlayerConfig (line 2179) | interface IDanmuPlayerConfig { class DanmuPlayerConfig (line 2249) | class DanmuPlayerConfig implements IDanmuPlayerConfig { type IDanmuPlayerConfigPanel (line 2402) | interface IDanmuPlayerConfigPanel { class DanmuPlayerConfigPanel (line 2409) | class DanmuPlayerConfigPanel implements IDanmuPlayerConfigPanel { type IDanmuPlayerDynamicConfig (line 2499) | interface IDanmuPlayerDynamicConfig { class DanmuPlayerDynamicConfig (line 2509) | class DanmuPlayerDynamicConfig implements IDanmuPlayerDynamicConfig { type IDanmuPlayerViewConfig (line 2602) | interface IDanmuPlayerViewConfig { class DanmuPlayerViewConfig (line 2618) | class DanmuPlayerViewConfig implements IDanmuPlayerViewConfig { type IDanmuWebPlayerConfig (line 2717) | interface IDanmuWebPlayerConfig { class DanmuWebPlayerConfig (line 2790) | class DanmuWebPlayerConfig implements IDanmuWebPlayerConfig { type DMAttrBit (line 2946) | enum DMAttrBit { type IDmColorful (line 2953) | interface IDmColorful { class DmColorful (line 2963) | class DmColorful implements IDmColorful { type DmColorfulType (line 3056) | enum DmColorfulType { type IDmExpoReportReq (line 3062) | interface IDmExpoReportReq { class DmExpoReportReq (line 3075) | class DmExpoReportReq implements IDmExpoReportReq { type IDmExpoReportRes (line 3171) | interface IDmExpoReportRes { class DmExpoReportRes (line 3175) | class DmExpoReportRes implements IDmExpoReportRes { type IDmPlayerConfigReq (line 3262) | interface IDmPlayerConfigReq { class DmPlayerConfigReq (line 3326) | class DmPlayerConfigReq implements IDmPlayerConfigReq { type IDmSegConfig (line 3473) | interface IDmSegConfig { class DmSegConfig (line 3483) | class DmSegConfig implements IDmSegConfig { type IDmSegMobileReply (line 3576) | interface IDmSegMobileReply { class DmSegMobileReply (line 3592) | class DmSegMobileReply implements IDmSegMobileReply { type IDmSegMobileReq (line 3691) | interface IDmSegMobileReq { class DmSegMobileReq (line 3722) | class DmSegMobileReq implements IDmSegMobileReq { type IDmSegOttReply (line 3836) | interface IDmSegOttReply { class DmSegOttReply (line 3846) | class DmSegOttReply implements IDmSegOttReply { type IDmSegOttReq (line 3939) | interface IDmSegOttReq { class DmSegOttReq (line 3955) | class DmSegOttReq implements IDmSegOttReq { type IDmSegSDKReply (line 4054) | interface IDmSegSDKReply { class DmSegSDKReply (line 4064) | class DmSegSDKReply implements IDmSegSDKReply { type IDmSegSDKReq (line 4157) | interface IDmSegSDKReq { class DmSegSDKReq (line 4173) | class DmSegSDKReq implements IDmSegSDKReq { type IDmViewReply (line 4272) | interface IDmViewReply { class DmViewReply (line 4333) | class DmViewReply implements IDmViewReply { type IDmViewReq (line 4477) | interface IDmViewReq { class DmViewReq (line 4496) | class DmViewReq implements IDmViewReq { type IDmWebViewReply (line 4598) | interface IDmWebViewReply { class DmWebViewReply (line 4644) | class DmWebViewReply implements IDmWebViewReply { type IExpoReport (line 4773) | interface IExpoReport { class ExpoReport (line 4780) | class ExpoReport implements IExpoReport { type ExposureType (line 4870) | enum ExposureType { type IExpression (line 4876) | interface IExpression { class Expression (line 4889) | class Expression implements IExpression { type IExpressions (line 4985) | interface IExpressions { class Expressions (line 4992) | class Expressions implements IExpressions { type IInlinePlayerDanmakuSwitch (line 5082) | interface IInlinePlayerDanmakuSwitch { class InlinePlayerDanmakuSwitch (line 5089) | class InlinePlayerDanmakuSwitch implements IInlinePlayerDanmakuSwitch { type ILabel (line 5179) | interface ILabel { class Label (line 5189) | class Label implements ILabel { type ILabelV2 (line 5282) | interface ILabelV2 { class LabelV2 (line 5298) | class LabelV2 implements ILabelV2 { type IPeriod (line 5397) | interface IPeriod { class Period (line 5407) | class Period implements IPeriod { type IPlayerDanmakuAiRecommendedLevel (line 5500) | interface IPlayerDanmakuAiRecommendedLevel { class PlayerDanmakuAiRecommendedLevel (line 5507) | class PlayerDanmakuAiRecommendedLevel implements IPlayerDanmakuAiRecomme... type IPlayerDanmakuAiRecommendedLevelV2 (line 5597) | interface IPlayerDanmakuAiRecommendedLevelV2 { class PlayerDanmakuAiRecommendedLevelV2 (line 5604) | class PlayerDanmakuAiRecommendedLevelV2 implements IPlayerDanmakuAiRecom... type IPlayerDanmakuAiRecommendedSwitch (line 5694) | interface IPlayerDanmakuAiRecommendedSwitch { class PlayerDanmakuAiRecommendedSwitch (line 5701) | class PlayerDanmakuAiRecommendedSwitch implements IPlayerDanmakuAiRecomm... type IPlayerDanmakuBlockbottom (line 5791) | interface IPlayerDanmakuBlockbottom { class PlayerDanmakuBlockbottom (line 5798) | class PlayerDanmakuBlockbottom implements IPlayerDanmakuBlockbottom { type IPlayerDanmakuBlockcolorful (line 5888) | interface IPlayerDanmakuBlockcolorful { class PlayerDanmakuBlockcolorful (line 5895) | class PlayerDanmakuBlockcolorful implements IPlayerDanmakuBlockcolorful { type IPlayerDanmakuBlockrepeat (line 5985) | interface IPlayerDanmakuBlockrepeat { class PlayerDanmakuBlockrepeat (line 5992) | class PlayerDanmakuBlockrepeat implements IPlayerDanmakuBlockrepeat { type IPlayerDanmakuBlockscroll (line 6082) | interface IPlayerDanmakuBlockscroll { class PlayerDanmakuBlockscroll (line 6089) | class PlayerDanmakuBlockscroll implements IPlayerDanmakuBlockscroll { type IPlayerDanmakuBlockspecial (line 6179) | interface IPlayerDanmakuBlockspecial { class PlayerDanmakuBlockspecial (line 6186) | class PlayerDanmakuBlockspecial implements IPlayerDanmakuBlockspecial { type IPlayerDanmakuBlocktop (line 6276) | interface IPlayerDanmakuBlocktop { class PlayerDanmakuBlocktop (line 6283) | class PlayerDanmakuBlocktop implements IPlayerDanmakuBlocktop { type IPlayerDanmakuDomain (line 6373) | interface IPlayerDanmakuDomain { class PlayerDanmakuDomain (line 6380) | class PlayerDanmakuDomain implements IPlayerDanmakuDomain { type IPlayerDanmakuEnableblocklist (line 6470) | interface IPlayerDanmakuEnableblocklist { class PlayerDanmakuEnableblocklist (line 6477) | class PlayerDanmakuEnableblocklist implements IPlayerDanmakuEnableblockl... type IPlayerDanmakuOpacity (line 6567) | interface IPlayerDanmakuOpacity { class PlayerDanmakuOpacity (line 6574) | class PlayerDanmakuOpacity implements IPlayerDanmakuOpacity { type IPlayerDanmakuScalingfactor (line 6664) | interface IPlayerDanmakuScalingfactor { class PlayerDanmakuScalingfactor (line 6671) | class PlayerDanmakuScalingfactor implements IPlayerDanmakuScalingfactor { type IPlayerDanmakuSeniorModeSwitch (line 6761) | interface IPlayerDanmakuSeniorModeSwitch { class PlayerDanmakuSeniorModeSwitch (line 6768) | class PlayerDanmakuSeniorModeSwitch implements IPlayerDanmakuSeniorModeS... type IPlayerDanmakuSpeed (line 6858) | interface IPlayerDanmakuSpeed { class PlayerDanmakuSpeed (line 6865) | class PlayerDanmakuSpeed implements IPlayerDanmakuSpeed { type IPlayerDanmakuSwitch (line 6955) | interface IPlayerDanmakuSwitch { class PlayerDanmakuSwitch (line 6965) | class PlayerDanmakuSwitch implements IPlayerDanmakuSwitch { type IPlayerDanmakuSwitchSave (line 7058) | interface IPlayerDanmakuSwitchSave { class PlayerDanmakuSwitchSave (line 7065) | class PlayerDanmakuSwitchSave implements IPlayerDanmakuSwitchSave { type IPlayerDanmakuUseDefaultConfig (line 7155) | interface IPlayerDanmakuUseDefaultConfig { class PlayerDanmakuUseDefaultConfig (line 7162) | class PlayerDanmakuUseDefaultConfig implements IPlayerDanmakuUseDefaultC... type IPostPanel (line 7252) | interface IPostPanel { class PostPanel (line 7283) | class PostPanel implements IPostPanel { type PostPanelBizType (line 7397) | enum PostPanelBizType { type IPostPanelV2 (line 7407) | interface IPostPanelV2 { class PostPanelV2 (line 7441) | class PostPanelV2 implements IPostPanelV2 { type PostStatus (line 7558) | enum PostStatus { type RenderType (line 7564) | enum RenderType { type IResponse (line 7571) | interface IResponse { class Response (line 7581) | class Response implements IResponse { type SubtitleAiStatus (line 7674) | enum SubtitleAiStatus { type SubtitleAiType (line 7681) | enum SubtitleAiType { type ISubtitleItem (line 7687) | interface ISubtitleItem { class SubtitleItem (line 7721) | class SubtitleItem implements ISubtitleItem { type SubtitleType (line 7838) | enum SubtitleType { type ITextInput (line 7844) | interface ITextInput { class TextInput (line 7872) | class TextInput implements ITextInput { type ITextInputV2 (line 7983) | interface ITextInputV2 { class TextInputV2 (line 8005) | class TextInputV2 implements ITextInputV2 { type IToast (line 8110) | interface IToast { class Toast (line 8126) | class Toast implements IToast { type IToastButtonV2 (line 8225) | interface IToastButtonV2 { class ToastButtonV2 (line 8235) | class ToastButtonV2 implements IToastButtonV2 { type ToastFunctionType (line 8328) | enum ToastFunctionType { type IToastV2 (line 8334) | interface IToastV2 { class ToastV2 (line 8347) | class ToastV2 implements IToastV2 { type IUserInfo (line 8443) | interface IUserInfo { class UserInfo (line 8465) | class UserInfo implements IUserInfo { type IVideoMask (line 8570) | interface IVideoMask { class VideoMask (line 8589) | class VideoMask implements IVideoMask { type IVideoSubtitle (line 8691) | interface IVideoSubtitle { class VideoSubtitle (line 8704) | class VideoSubtitle implements IVideoSubtitle { FILE: apps/mobile/src/lib/api/bilibili/proto/dm.js function DM (line 69) | function DM(rpcImpl, requestDelimited, responseDelimited) { function Avatar (line 309) | function Avatar(properties) { function Bubble (line 593) | function Bubble(properties) { function BubbleV2 (line 841) | function BubbleV2(properties) { function Button (line 1179) | function Button(properties) { function BuzzwordConfig (line 1407) | function BuzzwordConfig(properties) { function BuzzwordShowConfig (line 1638) | function BuzzwordShowConfig(properties) { function CheckBox (line 1985) | function CheckBox(properties) { function CheckBoxV2 (line 2299) | function CheckBoxV2(properties) { function ClickButton (line 2555) | function ClickButton(properties) { function ClickButtonV2 (line 2995) | function ClickButtonV2(properties) { function CommandDm (line 3430) | function CommandDm(properties) { function DanmakuAIFlag (line 3862) | function DanmakuAIFlag(properties) { function DanmakuElem (line 4102) | function DanmakuElem(properties) { function DanmakuFlag (line 4664) | function DanmakuFlag(properties) { function DanmakuFlagConfig (line 4908) | function DanmakuFlagConfig(properties) { function DanmuDefaultPlayerConfig (line 5174) | function DanmuDefaultPlayerConfig(properties) { function DanmuPlayerConfig (line 5792) | function DanmuPlayerConfig(properties) { function DanmuPlayerConfigPanel (line 6499) | function DanmuPlayerConfigPanel(properties) { function DanmuPlayerDynamicConfig (line 6705) | function DanmuPlayerDynamicConfig(properties) { function DanmuPlayerViewConfig (line 6936) | function DanmuPlayerViewConfig(properties) { function DanmuWebPlayerConfig (line 7267) | function DanmuWebPlayerConfig(properties) { function DmColorful (line 8013) | function DmColorful(properties) { function DmExpoReportReq (line 8276) | function DmExpoReportReq(properties) { function DmExpoReportRes (line 8539) | function DmExpoReportRes(properties) { function DmPlayerConfigReq (line 8736) | function DmPlayerConfigReq(properties) { function DmSegConfig (line 9470) | function DmSegConfig(properties) { function DmSegMobileReply (line 9729) | function DmSegMobileReply(properties) { function DmSegMobileReq (line 10058) | function DmSegMobileReq(properties) { function DmSegOttReply (line 10511) | function DmSegOttReply(properties) { function DmSegOttReq (line 10763) | function DmSegOttReq(properties) { function DmSegSDKReply (line 11078) | function DmSegSDKReply(properties) { function DmSegSDKReq (line 11330) | function DmSegSDKReq(properties) { function DmViewReply (line 11662) | function DmViewReply(properties) { function DmViewReq (line 12411) | function DmViewReq(properties) { function DmWebViewReply (line 12746) | function DmWebViewReply(properties) { function ExpoReport (line 13380) | function ExpoReport(properties) { function Expression (line 13601) | function Expression(properties) { function Expressions (line 13889) | function Expressions(properties) { function InlinePlayerDanmakuSwitch (line 14115) | function InlinePlayerDanmakuSwitch(properties) { function Label (line 14321) | function Label(properties) { function LabelV2 (line 14568) | function LabelV2(properties) { function Period (line 14858) | function Period(properties) { function PlayerDanmakuAiRecommendedLevel (line 15114) | function PlayerDanmakuAiRecommendedLevel(properties) { function PlayerDanmakuAiRecommendedLevelV2 (line 15319) | function PlayerDanmakuAiRecommendedLevelV2(properties) { function PlayerDanmakuAiRecommendedSwitch (line 15524) | function PlayerDanmakuAiRecommendedSwitch(properties) { function PlayerDanmakuBlockbottom (line 15729) | function PlayerDanmakuBlockbottom(properties) { function PlayerDanmakuBlockcolorful (line 15934) | function PlayerDanmakuBlockcolorful(properties) { function PlayerDanmakuBlockrepeat (line 16139) | function PlayerDanmakuBlockrepeat(properties) { function PlayerDanmakuBlockscroll (line 16344) | function PlayerDanmakuBlockscroll(properties) { function PlayerDanmakuBlockspecial (line 16549) | function PlayerDanmakuBlockspecial(properties) { function PlayerDanmakuBlocktop (line 16754) | function PlayerDanmakuBlocktop(properties) { function PlayerDanmakuDomain (line 16959) | function PlayerDanmakuDomain(properties) { function PlayerDanmakuEnableblocklist (line 17164) | function PlayerDanmakuEnableblocklist(properties) { function PlayerDanmakuOpacity (line 17369) | function PlayerDanmakuOpacity(properties) { function PlayerDanmakuScalingfactor (line 17574) | function PlayerDanmakuScalingfactor(properties) { function PlayerDanmakuSeniorModeSwitch (line 17779) | function PlayerDanmakuSeniorModeSwitch(properties) { function PlayerDanmakuSpeed (line 17984) | function PlayerDanmakuSpeed(properties) { function PlayerDanmakuSwitch (line 18190) | function PlayerDanmakuSwitch(properties) { function PlayerDanmakuSwitchSave (line 18418) | function PlayerDanmakuSwitchSave(properties) { function PlayerDanmakuUseDefaultConfig (line 18623) | function PlayerDanmakuUseDefaultConfig(properties) { function PostPanel (line 18836) | function PostPanel(properties) { function PostPanelV2 (line 19364) | function PostPanelV2(properties) { function Response (line 19857) | function Response(properties) { function SubtitleItem (line 20124) | function SubtitleItem(properties) { function TextInput (line 20630) | function TextInput(properties) { function TextInputV2 (line 21098) | function TextInputV2(properties) { function Toast (line 21496) | function Toast(properties) { function ToastButtonV2 (line 21774) | function ToastButtonV2(properties) { function ToastV2 (line 22018) | function ToastV2(properties) { function UserInfo (line 22278) | function UserInfo(properties) { function VideoMask (line 22612) | function VideoMask(properties) { function VideoSubtitle (line 22936) | function VideoSubtitle(properties) { FILE: apps/mobile/src/lib/api/bilibili/utils.ts function bv2av (line 11) | function bv2av(bvid: string): number { function av2bv (line 33) | function av2bv(avid: number | bigint): string { function getCsrfToken (line 54) | function getCsrfToken(): Result { FILE: apps/mobile/src/lib/api/bilibili/wbi.ts function encWbi (line 27) | function encWbi( function isSameDayAsToday (line 53) | function isSameDayAsToday(timestamp: number) { type WbiKeys (line 70) | interface WbiKeys { function getWbiKeysFromStorage (line 76) | function getWbiKeysFromStorage() { function getWbiKeys (line 90) | function getWbiKeys(): ResultAsync< function getWbiEncodedParams (line 125) | function getWbiEncodedParams( FILE: apps/mobile/src/lib/api/kugou/api.ts class KugouApi (line 17) | class KugouApi { method getHeaders (line 18) | private getHeaders() { method search (line 25) | search( method getLyrics (line 68) | getLyrics(id: string, signal?: AbortSignal): ResultAsync { method parseLyrics (line 117) | parseLyrics(content: string): LyricProviderResponseData { method searchBestMatchedLyrics (line 125) | searchBestMatchedLyrics( FILE: apps/mobile/src/lib/api/netease/api.ts type SearchParams (line 19) | interface SearchParams { class NeteaseApi (line 26) | class NeteaseApi { method getLyrics (line 27) | getLyrics( method search (line 63) | search( method parseLyrics (line 100) | public parseLyrics( method searchBestMatchedLyrics (line 121) | public searchBestMatchedLyrics( method getPlaylist (line 151) | getPlaylist( FILE: apps/mobile/src/lib/api/netease/request.ts type AppConfig (line 14) | interface AppConfig { constant APP_CONF (line 20) | const APP_CONF: AppConfig = { type RequestOptions (line 36) | interface RequestOptions { type RequestPayload (line 45) | interface RequestPayload { type FetchResult (line 118) | interface FetchResult { FILE: apps/mobile/src/lib/api/netease/utils.ts function cookieToJson (line 2) | function cookieToJson(cookie: string): Record { function cookieObjToString (line 12) | function cookieObjToString( function toBoolean (line 21) | function toBoolean(value: unknown): boolean { type Query (line 25) | interface Query { function createOption (line 34) | function createOption( FILE: apps/mobile/src/lib/api/qqmusic/api.ts class QQMusicApi (line 17) | class QQMusicApi { method search (line 24) | public search( method getLyrics (line 87) | public getLyrics( method parseLyrics (line 114) | public parseLyrics( method searchBestMatchedLyrics (line 132) | public searchBestMatchedLyrics( method getPlaylist (line 176) | public getPlaylist(id: string): ResultAsync[0]>[0] type SharedPlaylistPreview (line 36) | interface SharedPlaylistPreview { class SharedPlaylistFacade (line 65) | class SharedPlaylistFacade { method constructor (line 66) | constructor( method enableSharing (line 82) | public enableSharing( method subscribeToPlaylist (line 203) | public subscribeToPlaylist(params: { method getPreview (line 311) | public getPreview( method restoreFromCloud (line 389) | public restoreFromCloud(): ResultAsync< method pullChanges (line 514) | public pullChanges( method unsubscribeFromPlaylist (line 620) | public unsubscribeFromPlaylist( method rotateEditorInviteCode (line 681) | public rotateEditorInviteCode( method getEditorInviteCode (line 710) | public getEditorInviteCode( method _applyPullResponse (line 740) | private async _applyPullResponse( FILE: apps/mobile/src/lib/facades/syncBilibiliPlaylist.ts type FavoriteSyncProgress (line 32) | interface FavoriteSyncProgress { class SyncBilibiliPlaylistFacade (line 48) | class SyncBilibiliPlaylistFacade { method constructor (line 50) | constructor( method addTrackFromBilibiliApi (line 64) | public addTrackFromBilibiliApi( method addTrackToLocal (line 104) | public addTrackToLocal(track: Track) { method syncCollection (line 127) | public syncCollection( method syncMultiPageVideo (line 269) | public syncMultiPageVideo( method syncFavorite (line 381) | public async syncFavorite( method sync (line 766) | public sync( method dbInstance (line 790) | public get dbInstance() { FILE: apps/mobile/src/lib/facades/syncExternalPlaylist.ts class SyncExternalPlaylistFacade (line 23) | class SyncExternalPlaylistFacade { method constructor (line 24) | constructor( method saveMatchedPlaylist (line 36) | public saveMatchedPlaylist( FILE: apps/mobile/src/lib/player/PlayerSideEffects.ts class PlayerSideEffects (line 18) | class PlayerSideEffects { method initialize (line 21) | public initialize() { method registerHeadlessTask (line 44) | private registerHeadlessTask() { method getPlayerErrorInfo (line 69) | private async getPlayerErrorInfo( method toSentryError (line 180) | private toSentryError(event: PlaybackErrorEvent): Error { method setupErrorHandler (line 195) | private setupErrorHandler() { FILE: apps/mobile/src/lib/player/progressListener.ts type Events (line 5) | interface Events { FILE: apps/mobile/src/lib/services/analyticsService.ts type PlayerAction (line 13) | type PlayerAction = type PlayerQueueAction (line 20) | type PlayerQueueAction = 'open_queue' | 'play_item' type PlaylistSyncAction (line 21) | type PlaylistSyncAction = 'sync_bilibili' | 'sync_external' class AnalyticsService (line 23) | class AnalyticsService { method safeLogEvent (line 24) | private async safeLogEvent(name: string, params?: Record[0]>[0] type DBLike (line 24) | type DBLike = ExpoSQLiteDatabase | Tx class ArtistService (line 26) | class ArtistService { method constructor (line 27) | constructor( method withDB (line 37) | public withDB(conn: DBLike) { method createArtist (line 46) | public createArtist( method findOrCreateArtist (line 74) | public findOrCreateArtist( method updateArtist (line 136) | public updateArtist( method deleteArtist (line 188) | public deleteArtist( method getArtistTracks (line 231) | public getArtistTracks( method getAllArtists (line 270) | public getAllArtists(): ResultAsync< method getArtistById (line 287) | public getArtistById( method findOrCreateManyRemoteArtists (line 312) | public findOrCreateManyRemoteArtists( FILE: apps/mobile/src/lib/services/externalPlaylistService.ts constant MIN_DELAY (line 16) | const MIN_DELAY = 1200 // 防封号延迟 (ms) constant BLACKLIST_ZONES (line 17) | const BLACKLIST_ZONES = new Set([26, 29, 31, 201, 238]) // 黑名单分区 (音MAD, ... constant PRIORITY_ZONES (line 18) | const PRIORITY_ZONES = new Set([193, 130, 267]) // 优先分区 (MV, 音乐综合, 电台) type MatchCandidate (line 22) | interface MatchCandidate { type MatchResult (line 27) | interface MatchResult { class ExternalPlaylistService (line 32) | class ExternalPlaylistService { method fetchExternalPlaylist (line 33) | public fetchExternalPlaylist( method matchExternalPlaylist (line 123) | public matchExternalPlaylist( method findBestMatchSimple (line 214) | private findBestMatchSimple( method findBestMatch (line 241) | private findBestMatch( method rankScore (line 260) | private rankScore( FILE: apps/mobile/src/lib/services/genKey.ts function generateUniqueTrackKey (line 11) | function generateUniqueTrackKey( FILE: apps/mobile/src/lib/services/lyricService.ts type oldLyricFileType (line 28) | type oldLyricFileType = class LyricService (line 34) | class LyricService { method constructor (line 35) | constructor( method cleanKeyword (line 45) | private cleanKeyword(keyword: string): string { method getBestMatchedLyrics (line 71) | public getBestMatchedLyrics( method smartFetchLyrics (line 173) | public smartFetchLyrics( method skipLyric (line 271) | public skipLyric( method processAndSaveLyrics (line 284) | private processAndSaveLyrics( method saveLyricsToFile (line 297) | public saveLyricsToFile( method fetchLyrics (line 331) | public fetchLyrics( method migrateFromOldFormat (line 387) | public async migrateFromOldFormat() { method getPreciseMusicNameOnBilibiliVideo (line 476) | public async getPreciseMusicNameOnBilibiliVideo( method clearAllLyrics (line 505) | public clearAllLyrics(): Result { method pushLyricsToOverlays (line 529) | public pushLyricsToOverlays(trackId: string) { method preloadNextTrackLyrics (line 628) | public async preloadNextTrackLyrics() { FILE: apps/mobile/src/lib/services/playlistService.ts type Tx (line 28) | type Tx = Parameters[0]>[0] type DBLike (line 29) | type DBLike = ExpoSQLiteDatabase | Tx type PlaylistTrackRow (line 30) | type PlaylistTrackRow = typeof schema.playlistTracks.$inferSelect & { type DynamicPlaylistTrackSqlRow (line 37) | type DynamicPlaylistTrackSqlRow = { type DynamicPlaylistStats (line 68) | type DynamicPlaylistStats = { class PlaylistService (line 77) | class PlaylistService { method constructor (line 78) | constructor( method withDB (line 88) | withDB(conn: DBLike) { method parseDynamicCursor (line 92) | private parseDynamicCursor(cursor?: { method mapDynamicPlaylistTrackRow (line 114) | private mapDynamicPlaylistTrackRow( method dynamicPlaylistRowsCte (line 167) | private dynamicPlaylistRowsCte(playlistId: number) { method queryDynamicPlaylistTrackRows (line 193) | private async queryDynamicPlaylistTrackRows({ method getDynamicPlaylistStats (line 287) | private async getDynamicPlaylistStats( method getDynamicPlaylistCounts (line 319) | private async getDynamicPlaylistCounts(playlistIds: number[]) { method createPlaylist (line 361) | public createPlaylist( method updatePlaylistMetadata (line 408) | public updatePlaylistMetadata( method deletePlaylist (line 487) | public deletePlaylist( method addManyTracksToLocalPlaylist (line 529) | public addManyTracksToLocalPlaylist( method batchRemoveTracksFromLocalPlaylist (line 626) | public batchRemoveTracksFromLocalPlaylist( method reorderSingleLocalPlaylistTrack (line 712) | public reorderSingleLocalPlaylistTrack( method getPlaylistTracks (line 779) | public getPlaylistTracks( method getAllPlaylists (line 842) | public getAllPlaylists(): ResultAsync< method getPlaylistMetadata (line 885) | public getPlaylistMetadata(playlistId: number): ResultAsync< method findOrCreateRemotePlaylist (line 957) | public findOrCreateRemotePlaylist( method replacePlaylistAllTracks (line 1021) | public replacePlaylistAllTracks( method findPlaylistByTypeAndRemoteId (line 1080) | public findPlaylistByTypeAndRemoteId( method getPlaylistById (line 1110) | public getPlaylistById(playlistId: number) { method getLocalPlaylistsContainingTrackByUniqueKey (line 1129) | public getLocalPlaylistsContainingTrackByUniqueKey( method getLocalPlaylistsContainingTrackById (line 1172) | public getLocalPlaylistsContainingTrackById( method searchPlaylists (line 1205) | public searchPlaylists(query: string): ResultAsync< method searchTrackInPlaylist (line 1252) | public searchTrackInPlaylist( method getPlaylistTracksPaginated (line 1346) | public getPlaylistTracksPaginated(options: { method findPlaylistByShareId (line 1496) | public findPlaylistByShareId( method getSharedPlaylists (line 1515) | public getSharedPlaylists(): ResultAsync< FILE: apps/mobile/src/lib/services/syncLocalToBilibiliService.ts class SyncLocalToBilibiliService (line 12) | class SyncLocalToBilibiliService { method findRemotePlaylistByName (line 16) | findRemotePlaylistByName( method createRemotePlaylist (line 34) | createRemotePlaylist( method calculateSyncDiff (line 48) | async calculateSyncDiff( method executeBatchAdd (line 95) | async executeBatchAdd( method executeBatchRemove (line 153) | async executeBatchRemove( FILE: apps/mobile/src/lib/services/trackService.ts type Tx (line 35) | type Tx = Parameters[0]>[0] type DBLike (line 36) | type DBLike = ExpoSQLiteDatabase | Tx type SelectTrackBase (line 37) | type SelectTrackBase = typeof schema.tracks.$inferSelect type SelectTrackWithMetadata (line 38) | type SelectTrackWithMetadata = SelectTrackBase & { class TrackService (line 44) | class TrackService { method constructor (line 45) | constructor(private readonly db: DBLike) {} method withDB (line 52) | withDB(conn: DBLike) { method formatTrack (line 61) | public formatTrack( method _createTrack (line 103) | private _createTrack( method updateTrack (line 193) | public updateTrack( method getTrackById (line 228) | public getTrackById( method deleteTrack (line 260) | public deleteTrack( method addPlayRecordFromTrackId (line 289) | public addPlayRecordFromTrackId( method addPlayRecordFromUniqueKey (line 317) | public addPlayRecordFromUniqueKey( method getTrackByBilibiliMetadata (line 350) | public getTrackByBilibiliMetadata( method findOrCreateTrack (line 401) | public findOrCreateTrack( method findOrCreateManyTracks (line 457) | public findOrCreateManyTracks( method findTrackIdsByUniqueKeys (line 603) | public findTrackIdsByUniqueKeys( method getPlayCountHistoryPaginated (line 645) | public getPlayCountHistoryPaginated(options: { method getTotalPlaybackDuration (line 775) | public getTotalPlaybackDuration(options?: { method getTrackByUniqueKey (line 834) | public getTrackByUniqueKey( method getMostPlayedTracksInLastDays (line 869) | public getMostPlayedTracksInLastDays(options: { FILE: apps/mobile/src/lib/services/updateService.ts type ReleaseInfo (line 6) | interface ReleaseInfo { type UpdateDownloads (line 15) | interface UpdateDownloads { type UpdateManifest (line 19) | interface UpdateManifest { function fetchLatestRelease (line 59) | async function fetchLatestRelease(): Promise< function checkForAppUpdate (line 113) | async function checkForAppUpdate(): Promise< FILE: apps/mobile/src/lib/theme/material3Colors.ts function buildMaterial3PaperColors (line 9) | function buildMaterial3PaperColors( FILE: apps/mobile/src/lib/workers/PlaylistSyncWorker.ts type QueueRow (line 11) | type QueueRow = typeof schema.playlistSyncQueue.$inferSelect type TrackMeta (line 13) | type TrackMeta = { class PlaylistSyncWorker (line 29) | class PlaylistSyncWorker { method triggerSync (line 33) | triggerSync() { method recoverStuckRows (line 43) | async recoverStuckRows(): Promise { method syncAllPlaylists (line 66) | private async syncAllPlaylists(): Promise { method syncSinglePlaylist (line 96) | private async syncSinglePlaylist(playlistId: number): Promise { method pushTrackChanges (line 155) | private async pushTrackChanges( method collectTrackIds (line 224) | private collectTrackIds(rows: QueueRow[]): Set { method mapTrackChangesToApi (line 243) | private mapTrackChangesToApi( method pushMetadataChanges (line 350) | private async pushMetadataChanges( method fetchTrackMetadata (line 388) | private async fetchTrackMetadata( method parsePayload (line 451) | private parsePayload(payload: unknown): Record { method toMillis (line 465) | private toMillis(value: unknown): number { method markRows (line 475) | private async markRows( method deleteRows (line 487) | private async deleteRows(ids: number[]): Promise { FILE: apps/mobile/src/theme/dimensions.ts constant LIST_ITEM_COVER_SIZE (line 1) | const LIST_ITEM_COVER_SIZE = 48 constant LIST_ITEM_BORDER_RADIUS (line 2) | const LIST_ITEM_BORDER_RADIUS = 12 constant SQUIRCLE_RADIUS_RATIO (line 4) | const SQUIRCLE_RADIUS_RATIO = 0.22 constant SQUIRCLE_CORNER_SMOOTHING (line 6) | const SQUIRCLE_CORNER_SMOOTHING = 0.6 constant LIST_ITEM_HEIGHT (line 8) | const LIST_ITEM_HEIGHT = 64 FILE: apps/mobile/src/types/apis/baidu.ts type BaiduSearchResponse (line 1) | interface BaiduSearchResponse { type BaiduLyricResponse (line 19) | interface BaiduLyricResponse { FILE: apps/mobile/src/types/apis/bilibili.ts type BilibiliAudioStreamParams (line 4) | interface BilibiliAudioStreamParams { type BilibiliAudioStreamResponse (line 15) | interface BilibiliAudioStreamResponse { type BilibiliHistoryVideo (line 66) | interface BilibiliHistoryVideo { type BilibiliVideoDetails (line 83) | interface BilibiliVideoDetails { type BilibiliVideoDetailsPage (line 103) | interface BilibiliVideoDetailsPage { type BilibiliPlaylist (line 112) | interface BilibiliPlaylist { type BilibiliSearchVideo (line 122) | interface BilibiliSearchVideo { type BilibiliHotSearch (line 137) | interface BilibiliHotSearch { type BilibiliUserInfo (line 145) | interface BilibiliUserInfo { type BilibiliFavoriteListContent (line 155) | interface BilibiliFavoriteListContent { type BilibiliFavoriteListContents (line 175) | interface BilibiliFavoriteListContents { type BilibiliFavoriteListAllContents (line 196) | type BilibiliFavoriteListAllContents = { type BilibiliCollection (line 205) | interface BilibiliCollection { type BilibiliCollectionContent (line 224) | interface BilibiliCollectionContent { type BilibiliCollectionInfo (line 255) | interface BilibiliCollectionInfo { type BilibiliMediaItemInCollection (line 276) | interface BilibiliMediaItemInCollection { type BilibiliCollectionAllContents (line 298) | interface BilibiliCollectionAllContents { type BilibiliMultipageVideo (line 306) | interface BilibiliMultipageVideo { type BilibiliDealFavoriteForOneVideoResponse (line 317) | interface BilibiliDealFavoriteForOneVideoResponse { type BilibiliUserUploadedVideosResponse (line 327) | interface BilibiliUserUploadedVideosResponse { type BilibiliQrCodeLoginStatus (line 346) | enum BilibiliQrCodeLoginStatus { type BilibiliCaptchaTokenData (line 356) | interface BilibiliCaptchaTokenData { type BilibiliSmsSendData (line 370) | interface BilibiliSmsSendData { type BilibiliSmsLoginData (line 377) | interface BilibiliSmsLoginData { type BilibiliSearchSuggestionItem (line 396) | interface BilibiliSearchSuggestionItem { type BilibiliWebPlayerInfo (line 405) | interface BilibiliWebPlayerInfo { type BilibiliToViewVideoList (line 413) | interface BilibiliToViewVideoList { type BilibiliCommentMember (line 436) | interface BilibiliCommentMember { type BilibiliCommentContent (line 451) | interface BilibiliCommentContent { type BilibiliCommentItem (line 469) | interface BilibiliCommentItem { type BilibiliCommentsResponse (line 503) | interface BilibiliCommentsResponse { type BilibiliReplyCommentsResponse (line 525) | interface BilibiliReplyCommentsResponse { type BilibiliDanmakuItem (line 538) | interface BilibiliDanmakuItem { FILE: apps/mobile/src/types/apis/kugou.ts type KugouSearchResponse (line 1) | interface KugouSearchResponse { type KugouLyricSearchResponse (line 16) | interface KugouLyricSearchResponse { type KugouLyricDownloadResponse (line 28) | interface KugouLyricDownloadResponse { FILE: apps/mobile/src/types/apis/kuwo.ts type KuwoSearchResponse (line 1) | interface KuwoSearchResponse { type KuwoLyricResponse (line 23) | interface KuwoLyricResponse { FILE: apps/mobile/src/types/apis/netease.ts type NeteasePlaylistResponse (line 1) | interface NeteasePlaylistResponse { type NeteasePlaylist (line 6) | interface NeteasePlaylist { type NeteaseCreator (line 24) | interface NeteaseCreator { type NeteaseSong (line 33) | interface NeteaseSong { type NeteaseArtist (line 43) | interface NeteaseArtist { type NeteaseAlbum (line 50) | interface NeteaseAlbum { type NeteaseLyricResponse (line 57) | interface NeteaseLyricResponse { type NeteaseSearchResponse (line 90) | interface NeteaseSearchResponse { FILE: apps/mobile/src/types/apis/qqmusic.ts type QQMusicSearchResponse (line 1) | interface QQMusicSearchResponse { type QQMusicSong (line 31) | interface QQMusicSong { type QQMusicLyricResponse (line 65) | interface QQMusicLyricResponse { type QQMusicPlaylistResponse (line 73) | interface QQMusicPlaylistResponse { type QQMusicPlaylist (line 80) | interface QQMusicPlaylist { FILE: apps/mobile/src/types/core/appStore.ts type Settings (line 3) | interface Settings { type BilibiliUserSummary (line 18) | interface BilibiliUserSummary { type AppState (line 25) | interface AppState { FILE: apps/mobile/src/types/core/downloadManagerStore.ts type DownloadTask (line 1) | interface DownloadTask { type DownloadState (line 9) | interface DownloadState { type DownloadActions (line 14) | interface DownloadActions { FILE: apps/mobile/src/types/core/media.ts type Artist (line 1) | interface Artist { type PlayRecord (line 12) | interface PlayRecord { type BaseTrack (line 18) | interface BaseTrack { type BilibiliTrack (line 30) | interface BilibiliTrack extends BaseTrack { type LocalTrack (line 58) | interface LocalTrack extends BaseTrack { type Track (line 65) | type Track = BilibiliTrack | LocalTrack type Playlist (line 67) | interface Playlist { FILE: apps/mobile/src/types/core/scope.ts type ProjectScope (line 4) | enum ProjectScope { FILE: apps/mobile/src/types/external_playlist.ts type GenericTrack (line 1) | interface GenericTrack { type GenericPlaylist (line 10) | interface GenericPlaylist { FILE: apps/mobile/src/types/flashlist.ts type ListRenderItemInfoWithExtraData (line 3) | type ListRenderItemInfoWithExtraData = Omit< type SelectionState (line 13) | interface SelectionState { FILE: apps/mobile/src/types/navigation.ts type ModalPropsMap (line 9) | interface ModalPropsMap { type ModalKey (line 55) | type ModalKey = keyof ModalPropsMap type ModalInstance (line 56) | interface ModalInstance { FILE: apps/mobile/src/types/player/lyrics.ts type Tags (line 1) | type Tags = Record type OldLyricLine (line 3) | interface OldLyricLine { type ParsedLrc (line 18) | interface ParsedLrc { type LyricSearchResult (line 26) | type LyricSearchResult = ( type LyricFileData (line 50) | interface LyricFileData { type LyricProviderResponseData (line 77) | type LyricProviderResponseData = Omit< FILE: apps/mobile/src/types/services/artist.ts type CreateArtistPayload (line 1) | interface CreateArtistPayload { type UpdateArtistPayload (line 9) | interface UpdateArtistPayload { FILE: apps/mobile/src/types/services/playlist.ts type SharedPlaylistRole (line 1) | type SharedPlaylistRole = 'owner' | 'editor' | 'subscriber' type CreatePlaylistPayload (line 3) | interface CreatePlaylistPayload { type UpdatePlaylistPayload (line 15) | interface UpdatePlaylistPayload { type ReorderLocalPlaylistTrackPayload (line 25) | interface ReorderLocalPlaylistTrackPayload { FILE: apps/mobile/src/types/services/track.ts type BilibiliMetadataPayload (line 1) | interface BilibiliMetadataPayload { type LocalMetadataPayload (line 9) | interface LocalMetadataPayload { type CreateTrackPayloadBase (line 13) | interface CreateTrackPayloadBase { type CreateBilibiliTrackPayload (line 20) | interface CreateBilibiliTrackPayload extends CreateTrackPayloadBase { type CreateLocalTrackPayload (line 25) | interface CreateLocalTrackPayload extends CreateTrackPayloadBase { type CreateTrackPayload (line 30) | type CreateTrackPayload = type UpdateTrackPayloadBase (line 45) | interface UpdateTrackPayloadBase { type UpdateBilibiliTrackPayload (line 53) | interface UpdateBilibiliTrackPayload extends UpdateTrackPayloadBase { type UpdateLocalTrackPayload (line 58) | interface UpdateLocalTrackPayload extends UpdateTrackPayloadBase { type UpdateTrackPayload (line 63) | type UpdateTrackPayload = type TrackSourceData (line 67) | type TrackSourceData = FILE: apps/mobile/src/types/storage.ts type AppStorageSchema (line 1) | interface AppStorageSchema { type StorageKey (line 27) | type StorageKey = keyof AppStorageSchema type KeysForType (line 29) | type KeysForType = { type BooleanKeys (line 33) | type BooleanKeys = KeysForType type StringKeys (line 34) | type StringKeys = KeysForType type NumberKeys (line 35) | type NumberKeys = KeysForType type BufferKeys (line 36) | type BufferKeys = KeysForType { type Listener (line 121) | interface Listener { type TypedMMKVInterface (line 125) | interface TypedMMKVInterface extends TypedNativeMMKV { FILE: apps/mobile/src/utils/__tests__/sticky-mitt.test.ts type Events (line 5) | interface Events { FILE: apps/mobile/src/utils/color.ts type RGBColor (line 1) | interface RGBColor { function hslToRgb (line 23) | function hslToRgb(h: number, s: number, l: number): RGBColor { function stringToHashCode (line 48) | function stringToHashCode(str: string): number { type GradientColors (line 62) | interface GradientColors { function getGradientColors (line 73) | function getGradientColors(name: string, isDarkMode: boolean) { function hexToHsl (line 99) | function hexToHsl(hex: string): { h: number; s: number; l: number } { function hslToString (line 137) | function hslToString(h: number, s: number, l: number): string { FILE: apps/mobile/src/utils/danmaku.ts function cleanDanmaku (line 10) | function cleanDanmaku( FILE: apps/mobile/src/utils/error-handling.ts function toastAndLogError (line 12) | function toastAndLogError( FILE: apps/mobile/src/utils/log.ts function cleanOldLogFiles (line 53) | function cleanOldLogFiles(keepDays = 7): Result { function flatErrorMessage (line 108) | function flatErrorMessage( function reportErrorToSentry (line 147) | function reportErrorToSentry( FILE: apps/mobile/src/utils/lottie.ts function tintLottieSource (line 6) | function tintLottieSource( FILE: apps/mobile/src/utils/matching.ts function gaussian (line 7) | function gaussian(x: number, sigma: number): number { function lcs (line 17) | function lcs(s1: string, s2: string): number { function lcsScore (line 43) | function lcsScore(s1: string, s2: string): number { function cleanString (line 55) | function cleanString(str: string): string { FILE: apps/mobile/src/utils/neverthrow-utils.ts function returnOrThrowAsync (line 8) | async function returnOrThrowAsync( function wrapResultAsyncFunction (line 30) | function wrapResultAsyncFunction( FILE: apps/mobile/src/utils/player.ts function convertToOrpheusTrack (line 25) | function convertToOrpheusTrack( function reportPlaybackHistory (line 65) | async function reportPlaybackHistory( function addToQueue (line 136) | async function addToQueue({ function getInternalPlayUri (line 204) | function getInternalPlayUri(track: Track) { function finalizeAndRecordCurrentTrack (line 216) | async function finalizeAndRecordCurrentTrack( FILE: apps/mobile/src/utils/search.ts constant BV_REGEX (line 12) | const BV_REGEX = /(?( FILE: apps/mobile/src/utils/sticky-mitt.ts function createStickyEmitter (line 13) | function createStickyEmitter>() { FILE: apps/mobile/src/utils/time.ts function formatRelativeTime (line 15) | function formatRelativeTime(date: Date | string | number): string { function parseDurationString (line 51) | function parseDurationString(durationStr: string): number { FILE: apps/mobile/src/utils/toast.ts type Options (line 5) | interface Options { FILE: apps/update-publisher/src/index.ts type GitHubAsset (line 19) | interface GitHubAsset { type GitHubRelease (line 24) | interface GitHubRelease { type UpdateManifest (line 35) | interface UpdateManifest { constant REPO_ROOT (line 46) | const REPO_ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '../.... constant DEFAULT_REPO (line 47) | const DEFAULT_REPO = 'bbplayer-app/BBPlayer' constant UPDATE_KEY (line 48) | const UPDATE_KEY = 'update_json' constant ANDROID_ABIS (line 49) | const ANDROID_ABIS = ['arm64-v8a', 'armeabi-v7a', 'x86_64', 'x86'] as const function main (line 51) | async function main() { function fetchRecentReleases (line 88) | async function fetchRecentReleases(repo: string): Promise { function readManifest (line 257) | async function readManifest(path: string): Promise { function validateManifest (line 264) | function validateManifest(value: unknown): asserts value is UpdateManife... function printManifestSummary (line 290) | function printManifestSummary(manifest: UpdateManifest) { function publishToWorkersKv (line 306) | async function publishToWorkersKv(path: string) { function run (line 328) | async function run( FILE: packages/eslint-plugin/rules/no-navigate-after-modal-close.js method create (line 39) | create(context) { FILE: packages/heatmap/src/components/HeatMapCell.tsx type HeatMapCellProps (line 4) | interface HeatMapCellProps { FILE: packages/heatmap/src/constants/theme.ts constant DEFAULT_LIGHT_THEME (line 3) | const DEFAULT_LIGHT_THEME: Required = { constant DEFAULT_DARK_THEME (line 16) | const DEFAULT_DARK_THEME: Required = { FILE: packages/heatmap/src/types.ts type Day (line 3) | type Day = 0 | 1 | 2 | 3 | 4 | 5 | 6 type HeatMapDailyProps (line 5) | type HeatMapDailyProps = { type HeatMapWeeklyProps (line 9) | type HeatMapWeeklyProps = { type HeatMapScheme (line 14) | type HeatMapScheme = 'light' | 'dark' type HeatMapColor (line 16) | type HeatMapColor = { type HeatMapThemeProps (line 24) | type HeatMapThemeProps = HeatMapColor & { type HeatMapDimensionsProps (line 30) | type HeatMapDimensionsProps = { type HeatMapStyle (line 40) | type HeatMapStyle = { type HeatMapControllerProps (line 45) | type HeatMapControllerProps = { type HeatMapFormatterProps (line 56) | type HeatMapFormatterProps = { type HeatMapDatetimeProps (line 63) | type HeatMapDatetimeProps = { type HeatMapActionsProps (line 69) | type HeatMapActionsProps = { type HeatMapProps (line 80) | type HeatMapProps = HeatMapDailyProps & FILE: packages/heatmap/src/utils/calendar.ts function getDaysInRange (line 10) | function getDaysInRange(startDate: Date, endDate: Date): Date[] { function getMonthlyData (line 24) | function getMonthlyData(startDate: Date, endDate: Date) { function getWeeklyData (line 49) | function getWeeklyData( function countData (line 72) | function countData( function getLevel (line 88) | function getLevel( function getColor (line 104) | function getColor( FILE: packages/image-theme-colors/example/App.tsx function App (line 13) | function App() { FILE: packages/image-theme-colors/src/ExpoImageThemeColors.types.ts type ColorInfo (line 4) | interface ColorInfo { type SwatchName (line 18) | type SwatchName = type PaletteSwatches (line 27) | type PaletteSwatches = Record type ExtractedPalette (line 29) | type ExtractedPalette = { FILE: packages/image-theme-colors/src/ExpoImageThemeColorsModule.ts class ExpoImageThemeColorsModule (line 6) | class ExpoImageThemeColorsModule extends NativeModule { FILE: packages/image-theme-colors/src/ImageRef.ts class ImageRef (line 6) | class ImageRef extends SharedRef<'image'> { FILE: packages/logs/src/index.ts type transportFunctionType (line 88) | type transportFunctionType = (props: { type levelsType (line 96) | type levelsType = { [key: string]: number } type logMethodType (line 98) | type logMethodType = ( type levelLogMethodType (line 103) | type levelLogMethodType = (...msgs: any[]) => boolean type extendedLogType (line 105) | type extendedLogType = { [key: string]: levelLogMethodType | any } type ExtractOptions (line 107) | type ExtractOptions = T extends transportFunctionType ? U : ... type MergeTransportOptions (line 109) | type MergeTransportOptions = T extends (infer U)[] type UnionToIntersection (line 113) | type UnionToIntersection = (U extends any ? (k: U) => void : never) e... type configLoggerType (line 119) | type configLoggerType< type OptionsWithConsoleFunc (line 178) | type OptionsWithConsoleFunc = { class logs (line 183) | class logs< method constructor (line 212) | constructor(config: Required>) { type defLvlType (line 586) | type defLvlType = 'debug' | 'info' | 'warn' | 'error' type levelMethods (line 601) | type levelMethods = { type loggerType (line 605) | type loggerType = levelMethods type extendMethods (line 607) | type extendMethods = { FILE: packages/logs/src/transports/consoleTransport.ts type Color (line 25) | type Color = keyof typeof availableColors type ConsoleTransportOptions (line 27) | type ConsoleTransportOptions = { FILE: packages/logs/src/transports/crashlyticsTransport.ts type CrashlyticsTransportOption (line 3) | type CrashlyticsTransportOption = { FILE: packages/logs/src/transports/fileAsyncTransport.ts type RNFS (line 3) | type RNFS = { type EXPOFS (line 13) | type EXPOFS = { type EXPONEXTFS (line 28) | type EXPONEXTFS = { type EXPOqueueitem (line 44) | interface EXPOqueueitem { type EXPONEXTFSqueueitem (line 53) | interface EXPONEXTFSqueueitem { type FileAsyncTransportOptions (line 203) | interface FileAsyncTransportOptions { FILE: packages/logs/src/transports/mapConsoleTransport.ts type ConsoleMethod (line 3) | type ConsoleMethod = 'log' | 'warn' | 'error' | 'info' | (string & {}) type LogLevel (line 4) | type LogLevel = string type MapConsoleTransportOptions (line 6) | type MapConsoleTransportOptions = { FILE: packages/logs/src/transports/sentryTransport.ts type SentryTransportOptions (line 3) | type SentryTransportOptions = { FILE: packages/logs/test/consoleTransport.test.js function testFunc (line 25) | function testFunc() { FILE: packages/native/src/BBPlayerNative.types.ts type AppUpdateDownloadOptions (line 1) | interface AppUpdateDownloadOptions { type AppUpdateInstallResult (line 8) | interface AppUpdateInstallResult { FILE: packages/native/src/BBPlayerNativeModule.ts class BBPlayerNativeModule (line 9) | class BBPlayerNativeModule extends NativeModule { FILE: packages/orpheus/example/App.tsx function OrpheusTestScreen (line 15) | function OrpheusTestScreen() { FILE: packages/orpheus/example/src/components/Buttons.tsx type ControlButtonProps (line 4) | interface ControlButtonProps { type ButtonProps (line 18) | interface ButtonProps { FILE: packages/orpheus/example/src/components/DebugSection.tsx type DebugSectionProps (line 9) | interface DebugSectionProps { FILE: packages/orpheus/example/src/components/PlayerControls.tsx type PlayerControlsProps (line 12) | interface PlayerControlsProps { FILE: packages/orpheus/example/src/components/SpectrumVisualizer.tsx constant BAR_COUNT (line 5) | const BAR_COUNT = 32 constant FFT_SIZE (line 6) | const FFT_SIZE = 1024 // Buffer size we might pull, but we only show 32 ... FILE: packages/orpheus/example/src/constants.ts constant TEST_TRACKS (line 3) | const TEST_TRACKS: Track[] = [ FILE: packages/orpheus/src/ExpoOrpheusModule.ts type PlaybackState (line 3) | enum PlaybackState { type RepeatMode (line 10) | enum RepeatMode { type TransitionReason (line 16) | enum TransitionReason { type Track (line 23) | interface Track { type LyricSpan (line 32) | interface LyricSpan { type LyricLine (line 39) | interface LyricLine { type LyricsData (line 48) | interface LyricsData { type LyricConsumer (line 53) | type LyricConsumer = 'desktop' | 'statusBar' | 'car' type AndroidPlaybackErrorEvent (line 55) | interface AndroidPlaybackErrorEvent { type IosPlaybackErrorEvent (line 66) | interface IosPlaybackErrorEvent { type PlaybackErrorEvent (line 71) | type PlaybackErrorEvent = type OrpheusEvents (line 75) | type OrpheusEvents = { type OrpheusHeadlessTrackStartedEvent (line 109) | interface OrpheusHeadlessTrackStartedEvent { type OrpheusHeadlessTrackFinishedEvent (line 115) | interface OrpheusHeadlessTrackFinishedEvent { type OrpheusHeadlessTrackPausedEvent (line 122) | interface OrpheusHeadlessTrackPausedEvent { type OrpheusHeadlessTrackResumedEvent (line 126) | interface OrpheusHeadlessTrackResumedEvent { type OrpheusHeadlessRequestClearLyricsEvent (line 130) | interface OrpheusHeadlessRequestClearLyricsEvent { type OrpheusHeadlessEvent (line 135) | type OrpheusHeadlessEvent = class NativeOrpheusModule (line 143) | class NativeOrpheusModule extends NativeModule { type PublicOrpheusModule (line 227) | type PublicOrpheusModule = Omit function useProgress (line 8) | function useProgress() { FILE: packages/splash/src/converter/netease.ts type YrcLine (line 1) | interface YrcLine { function formatSplTime (line 6) | function formatSplTime(ms: number): string { function parseYrc (line 22) | function parseYrc(yrcContent: string): string { FILE: packages/splash/src/parser/index.ts function parseSpl (line 14) | function parseSpl(lrcContent: string): SplLyricData { function verify (line 140) | function verify( FILE: packages/splash/src/parser/merge.ts type MultiLyricsInput (line 5) | interface MultiLyricsInput { function isMatch (line 14) | function isMatch(mainLines: LyricLine[], secondaryLines: LyricLine[]): b... function parseAndMergeLyrics (line 28) | function parseAndMergeLyrics(input: MultiLyricsInput): LyricLine[] { FILE: packages/splash/src/parser/spans.ts function parseSpans (line 12) | function parseSpans( FILE: packages/splash/src/types.ts type LyricSpan (line 4) | interface LyricSpan { type LyricLine (line 18) | interface LyricLine { type SplLyricData (line 40) | interface SplLyricData { type RawLine (line 50) | interface RawLine { class SplParseError (line 59) | class SplParseError extends Error { method constructor (line 60) | constructor( FILE: packages/splash/src/utils/time.ts function parseTimeTag (line 13) | function parseTimeTag(timeStr: string): number {