@kimsungwhee/apple-docs-mcp
Version:
MCP server for Apple Developer Documentation - Search iOS/macOS/SwiftUI/UIKit docs, WWDC videos, Swift/Objective-C APIs & code examples in Claude, Cursor & AI assistants
200 lines • 3.7 kB
TypeScript
/**
* WWDC视频数据类型定义
*/
/**
* Transcript段落
*/
export interface TranscriptSegment {
timestamp: string;
text: string;
}
/**
* Transcript数据
*/
export interface TranscriptData {
fullText: string;
segments: TranscriptSegment[];
}
/**
* 代码示例
*/
export interface CodeExample {
timestamp?: string;
title?: string;
language: string;
code: string;
context?: string;
}
/**
* 资源链接
*/
export interface ResourceLink {
title: string;
url: string;
}
/**
* 视频资源
*/
export interface VideoResources {
hdVideo?: string;
sdVideo?: string;
sampleProject?: string;
slides?: string;
resourceLinks?: ResourceLink[];
}
/**
* 相关视频
*/
export interface RelatedVideo {
id: string;
year: string;
title: string;
url: string;
}
/**
* WWDC视频数据
*/
export interface WWDCVideo {
id: string;
year: string;
url: string;
title: string;
speakers?: string[];
duration: string;
topics: string[];
hasTranscript: boolean;
hasCode: boolean;
transcript?: TranscriptData;
codeExamples?: CodeExample[];
chapters?: Chapter[];
resources: VideoResources;
relatedVideos?: RelatedVideo[];
extractedAt?: string;
}
/**
* 视频章节
*/
export interface Chapter {
title: string;
timestamp: string;
duration?: string;
}
/**
* 年份元数据
*/
export interface YearMetadata {
year: string;
totalVideos: number;
hasCodeTab: boolean;
extractedAt: string;
lastUpdated?: string;
}
/**
* WWDC年份数据
*/
export interface WWDCYearData {
metadata: YearMetadata;
videos: WWDCVideo[];
}
/**
* 全局元数据
*/
export interface GlobalMetadata {
version: string;
lastUpdated: string;
totalVideos: number;
topics: Array<{
id: string;
name: string;
url: string;
}>;
years: string[];
statistics: {
byTopic: Record<string, number>;
byYear: Record<string, number>;
videosWithCode: number;
videosWithTranscript: number;
videosWithResources: number;
};
}
/**
* 主题索引
*/
export interface TopicIndex {
id: string;
name: string;
videoCount: number;
years: string[];
videos: Array<{
id: string;
year: string;
title: string;
topics: string[];
duration: string;
hasCode: boolean;
hasTranscript: boolean;
url: string;
dataFile: string;
}>;
}
/**
* 年份索引
*/
export interface YearIndex {
year: string;
videoCount: number;
topics: string[];
videos: Array<{
id: string;
year: string;
title: string;
topics: string[];
duration: string;
hasCode: boolean;
hasTranscript: boolean;
url: string;
dataFile: string;
}>;
}
/**
* 完整的WWDC数据集
*/
export interface WWDCDataset {
wwdc: Record<string, WWDCYearData>;
globalMetadata: GlobalMetadata;
}
/**
* 视频列表项(用于列表页提取)
*/
export interface VideoListItem {
id: string;
url: string;
title: string;
duration?: string;
thumbnail?: string;
}
/**
* 提取配置
*/
export interface ExtractorConfig {
year: string;
concurrency?: number;
retryAttempts?: number;
timeout?: number;
skipExisting?: boolean;
}
/**
* 提取进度
*/
export interface ExtractProgress {
total: number;
completed: number;
failed: number;
skipped: number;
currentVideo?: string;
errors: Array<{
videoId: string;
error: string;
}>;
}
//# sourceMappingURL=wwdc.d.ts.map