@tapline/client 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +48 -0
- package/dist/base.d.ts +16 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.js +151 -0
- package/dist/base.js.map +1 -0
- package/dist/cjs/base.d.ts +16 -0
- package/dist/cjs/base.d.ts.map +1 -0
- package/dist/cjs/base.js +158 -0
- package/dist/cjs/base.js.map +1 -0
- package/dist/cjs/client.d.ts +11 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +21 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/errors.d.ts +13 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +28 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/index.d.ts +11 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/services/airbnb/client.d.ts +19 -0
- package/dist/cjs/services/airbnb/client.d.ts.map +1 -0
- package/dist/cjs/services/airbnb/client.js +36 -0
- package/dist/cjs/services/airbnb/client.js.map +1 -0
- package/dist/cjs/services/airbnb/index.d.ts +3 -0
- package/dist/cjs/services/airbnb/index.d.ts.map +1 -0
- package/dist/cjs/services/airbnb/index.js +22 -0
- package/dist/cjs/services/airbnb/index.js.map +1 -0
- package/dist/cjs/services/airbnb/types.d.ts +359 -0
- package/dist/cjs/services/airbnb/types.d.ts.map +1 -0
- package/dist/cjs/services/airbnb/types.js +4 -0
- package/dist/cjs/services/airbnb/types.js.map +1 -0
- package/dist/cjs/services/gmgn/client.d.ts +129 -0
- package/dist/cjs/services/gmgn/client.d.ts.map +1 -0
- package/dist/cjs/services/gmgn/client.js +312 -0
- package/dist/cjs/services/gmgn/client.js.map +1 -0
- package/dist/cjs/services/gmgn/index.d.ts +3 -0
- package/dist/cjs/services/gmgn/index.d.ts.map +1 -0
- package/dist/cjs/services/gmgn/index.js +22 -0
- package/dist/cjs/services/gmgn/index.js.map +1 -0
- package/dist/cjs/services/gmgn/types.d.ts +3051 -0
- package/dist/cjs/services/gmgn/types.d.ts.map +1 -0
- package/dist/cjs/services/gmgn/types.js +4 -0
- package/dist/cjs/services/gmgn/types.js.map +1 -0
- package/dist/cjs/services/youtube/client.d.ts +29 -0
- package/dist/cjs/services/youtube/client.d.ts.map +1 -0
- package/dist/cjs/services/youtube/client.js +66 -0
- package/dist/cjs/services/youtube/client.js.map +1 -0
- package/dist/cjs/services/youtube/index.d.ts +3 -0
- package/dist/cjs/services/youtube/index.d.ts.map +1 -0
- package/dist/cjs/services/youtube/index.js +22 -0
- package/dist/cjs/services/youtube/index.js.map +1 -0
- package/dist/cjs/services/youtube/types.d.ts +381 -0
- package/dist/cjs/services/youtube/types.d.ts.map +1 -0
- package/dist/cjs/services/youtube/types.js +4 -0
- package/dist/cjs/services/youtube/types.js.map +1 -0
- package/dist/cjs/types.d.ts +28 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/client.d.ts +11 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +17 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +13 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +23 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/services/airbnb/client.d.ts +19 -0
- package/dist/services/airbnb/client.d.ts.map +1 -0
- package/dist/services/airbnb/client.js +32 -0
- package/dist/services/airbnb/client.js.map +1 -0
- package/dist/services/airbnb/index.d.ts +3 -0
- package/dist/services/airbnb/index.d.ts.map +1 -0
- package/dist/services/airbnb/index.js +4 -0
- package/dist/services/airbnb/index.js.map +1 -0
- package/dist/services/airbnb/types.d.ts +359 -0
- package/dist/services/airbnb/types.d.ts.map +1 -0
- package/dist/services/airbnb/types.js +3 -0
- package/dist/services/airbnb/types.js.map +1 -0
- package/dist/services/gmgn/client.d.ts +129 -0
- package/dist/services/gmgn/client.d.ts.map +1 -0
- package/dist/services/gmgn/client.js +308 -0
- package/dist/services/gmgn/client.js.map +1 -0
- package/dist/services/gmgn/index.d.ts +3 -0
- package/dist/services/gmgn/index.d.ts.map +1 -0
- package/dist/services/gmgn/index.js +4 -0
- package/dist/services/gmgn/index.js.map +1 -0
- package/dist/services/gmgn/types.d.ts +3051 -0
- package/dist/services/gmgn/types.d.ts.map +1 -0
- package/dist/services/gmgn/types.js +3 -0
- package/dist/services/gmgn/types.js.map +1 -0
- package/dist/services/youtube/client.d.ts +29 -0
- package/dist/services/youtube/client.d.ts.map +1 -0
- package/dist/services/youtube/client.js +62 -0
- package/dist/services/youtube/client.js.map +1 -0
- package/dist/services/youtube/index.d.ts +3 -0
- package/dist/services/youtube/index.d.ts.map +1 -0
- package/dist/services/youtube/index.js +4 -0
- package/dist/services/youtube/index.js.map +1 -0
- package/dist/services/youtube/types.d.ts +381 -0
- package/dist/services/youtube/types.d.ts.map +1 -0
- package/dist/services/youtube/types.js +3 -0
- package/dist/services/youtube/types.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
export type AudioExt = "m4a" | "webm" | "none";
|
|
2
|
+
export type Availability = "public" | "unlisted" | "needs_auth" | "premium_only" | "subscriber_only" | "private";
|
|
3
|
+
export type ChannelContentType = "videos" | "shorts" | "streams";
|
|
4
|
+
export interface ChannelResponse {
|
|
5
|
+
/** Content tabs available on the channel: Videos, Shorts, and Streams. Null when the yt-dlp fallback cannot identify individual tabs. */
|
|
6
|
+
available_content_types: ChannelContentType[] | null;
|
|
7
|
+
channel: string | null;
|
|
8
|
+
channel_follower_count: number | null;
|
|
9
|
+
channel_id: string;
|
|
10
|
+
channel_url: string | null;
|
|
11
|
+
/** Number of available Videos, Shorts, and Streams content tabs. */
|
|
12
|
+
content_tab_count: number | null;
|
|
13
|
+
description: string | null;
|
|
14
|
+
handle: string | null;
|
|
15
|
+
handle_url: string | null;
|
|
16
|
+
/** Deprecated alias for content_tab_count. This counts content tabs, not user-created playlists. */
|
|
17
|
+
playlist_count: number | null;
|
|
18
|
+
tags: string[];
|
|
19
|
+
thumbnail: string | null;
|
|
20
|
+
thumbnails: ThumbnailItem[];
|
|
21
|
+
}
|
|
22
|
+
export interface ChannelVideosResponse {
|
|
23
|
+
channel_id: string;
|
|
24
|
+
pagination: CursorPagination;
|
|
25
|
+
returned_count: number;
|
|
26
|
+
videos: VideoListItem[];
|
|
27
|
+
}
|
|
28
|
+
export interface ChapterItem {
|
|
29
|
+
end_time: number;
|
|
30
|
+
start_time: number;
|
|
31
|
+
title: string;
|
|
32
|
+
}
|
|
33
|
+
export interface CommentItem {
|
|
34
|
+
author: string | null;
|
|
35
|
+
author_id: string | null;
|
|
36
|
+
author_is_uploader: boolean | null;
|
|
37
|
+
author_is_verified: boolean | null;
|
|
38
|
+
author_thumbnail: string | null;
|
|
39
|
+
author_url: string | null;
|
|
40
|
+
comment_id: string | null;
|
|
41
|
+
dislike_count: number | null;
|
|
42
|
+
html: string | null;
|
|
43
|
+
is_favorited: boolean | null;
|
|
44
|
+
is_pinned: boolean | null;
|
|
45
|
+
like_count: number | null;
|
|
46
|
+
published_at: string | null;
|
|
47
|
+
text: string | null;
|
|
48
|
+
timestamp: number | null;
|
|
49
|
+
}
|
|
50
|
+
export type CommentSortOrder = "top" | "new";
|
|
51
|
+
export interface CommentThread {
|
|
52
|
+
comment: CommentItem;
|
|
53
|
+
replies_cursor: string | null;
|
|
54
|
+
}
|
|
55
|
+
export interface CommentsResponse {
|
|
56
|
+
pagination: CursorPagination;
|
|
57
|
+
returned_count: number;
|
|
58
|
+
threads: CommentThread[];
|
|
59
|
+
video_id: string;
|
|
60
|
+
}
|
|
61
|
+
export type Container = "m4a_dash" | "mp4_dash" | "webm_dash";
|
|
62
|
+
export interface CursorPagination {
|
|
63
|
+
completion: CursorPaginationCompletion | null;
|
|
64
|
+
next_cursor: string | null;
|
|
65
|
+
}
|
|
66
|
+
export type CursorPaginationCompletion = "exhausted" | "depth_limit";
|
|
67
|
+
export type DynamicRange = "SDR" | "HDR10" | "HDR10+" | "HDR12" | "HLG" | "DV";
|
|
68
|
+
export interface ErrorDetail {
|
|
69
|
+
ctx?: Record<string, unknown> | null;
|
|
70
|
+
input?: unknown | null;
|
|
71
|
+
loc?: (string | number)[] | null;
|
|
72
|
+
msg?: string | null;
|
|
73
|
+
type?: string | null;
|
|
74
|
+
}
|
|
75
|
+
export interface ErrorResponse {
|
|
76
|
+
code: PublicError;
|
|
77
|
+
details?: ErrorDetail[] | null;
|
|
78
|
+
domain?: string | null;
|
|
79
|
+
message: string;
|
|
80
|
+
request_id: string;
|
|
81
|
+
}
|
|
82
|
+
export type Ext = "mp4" | "m4a" | "webm" | "mhtml";
|
|
83
|
+
export type Feature = "live" | "4k" | "hd" | "subtitles" | "creative_commons" | "360" | "vr180" | "3d" | "hdr" | "location" | "purchased";
|
|
84
|
+
export interface FormatItem {
|
|
85
|
+
abr?: number | null;
|
|
86
|
+
acodec?: string;
|
|
87
|
+
aspect_ratio?: number | null;
|
|
88
|
+
asr?: number | null;
|
|
89
|
+
audio_channels?: number | null;
|
|
90
|
+
audio_ext?: AudioExt;
|
|
91
|
+
container?: Container | null;
|
|
92
|
+
dynamic_range?: DynamicRange | null;
|
|
93
|
+
ext?: Ext;
|
|
94
|
+
filesize?: number | null;
|
|
95
|
+
filesize_approx?: number | null;
|
|
96
|
+
format?: string;
|
|
97
|
+
format_id?: string;
|
|
98
|
+
format_note?: string;
|
|
99
|
+
fps?: number | null;
|
|
100
|
+
has_drm?: boolean | null;
|
|
101
|
+
height?: number | null;
|
|
102
|
+
language?: string | null;
|
|
103
|
+
language_preference?: number | null;
|
|
104
|
+
preference?: number | null;
|
|
105
|
+
protocol?: Protocol;
|
|
106
|
+
quality?: number | null;
|
|
107
|
+
resolution?: string;
|
|
108
|
+
source_preference?: number | null;
|
|
109
|
+
tbr?: number | null;
|
|
110
|
+
url?: string;
|
|
111
|
+
vbr?: number | null;
|
|
112
|
+
vcodec?: string;
|
|
113
|
+
video_ext?: VideoExt;
|
|
114
|
+
width?: number | null;
|
|
115
|
+
}
|
|
116
|
+
export interface FormatsResponse {
|
|
117
|
+
format_count: number;
|
|
118
|
+
formats: FormatItem[];
|
|
119
|
+
video_id: string;
|
|
120
|
+
}
|
|
121
|
+
export interface GetChannelParams {
|
|
122
|
+
/** YouTube channel ID, @handle, or full allowed channel URL. Full URLs may use /channel/, /@, /c/, or /user/ and cannot include a content tab or query string. */
|
|
123
|
+
channel_id: string;
|
|
124
|
+
}
|
|
125
|
+
export interface GetChannelVideosParams {
|
|
126
|
+
/** YouTube channel ID, @handle, or full allowed channel URL. Full URLs may use /channel/, /@, /c/, or /user/ and cannot include a content tab or query string. */
|
|
127
|
+
channel_id: string;
|
|
128
|
+
/** Channel tab: videos, shorts, or streams. Ignored when cursor is supplied because the cursor preserves the walk's tab. */
|
|
129
|
+
content_type?: ChannelContentType;
|
|
130
|
+
/** Send the `pagination.next_cursor` from the last page to get the next one. Leave it empty for the first page. The cursor remembers its content type, so `content_type` is ignored. Each request returns one complete upstream page, usually 30 items. Use the same channel reference every time. Long runs stop once the cursor passes 8,000 characters, marked `completion=depth_limit`. Cursors can expire; bad or expired ones return `invalid_cursor` (400). */
|
|
131
|
+
cursor?: string;
|
|
132
|
+
}
|
|
133
|
+
export interface GetCommentRepliesParams {
|
|
134
|
+
/** YouTube top-level comment ID (5–150 URL-safe characters). */
|
|
135
|
+
comment_id: string;
|
|
136
|
+
/** Required. Send the `replies_cursor` from a comment, or the `pagination.next_cursor` from the last replies page. A cursor only works on one video and comment and can expire; bad or expired ones return `invalid_cursor` (400). */
|
|
137
|
+
cursor: string;
|
|
138
|
+
/** YouTube video ID or a supported video URL, normalized to the eleven-character video ID. URLs may use watch?v=, youtu.be/, shorts/, embed/, or live/ forms. */
|
|
139
|
+
video_id: string;
|
|
140
|
+
}
|
|
141
|
+
export interface GetCommentsParams {
|
|
142
|
+
/** Send the `pagination.next_cursor` from the last page to get the next one. Leave it empty for the first page. The cursor remembers its sort, so `sort` is ignored. Each request returns one complete upstream page, usually 20 threads. Sorting by top stops at about 1,200 comments, marked `completion=depth_limit`. A cursor only works on one video and can expire; bad or expired ones return `invalid_cursor` (400). */
|
|
143
|
+
cursor?: string;
|
|
144
|
+
/** Comment order: top-ranked or newest first. Pinned threads surface first in either order. Ignored when cursor is supplied because the cursor preserves the walk's sort. */
|
|
145
|
+
sort?: CommentSortOrder;
|
|
146
|
+
/** YouTube video ID or a supported video URL, normalized to the eleven-character video ID. URLs may use watch?v=, youtu.be/, shorts/, embed/, or live/ forms. */
|
|
147
|
+
video_id: string;
|
|
148
|
+
}
|
|
149
|
+
export interface GetFormatsParams {
|
|
150
|
+
/** YouTube video ID or a supported video URL, normalized to the eleven-character video ID. URLs may use watch?v=, youtu.be/, shorts/, embed/, or live/ forms. */
|
|
151
|
+
video_id: string;
|
|
152
|
+
}
|
|
153
|
+
export interface GetHeatmapParams {
|
|
154
|
+
/** YouTube video ID or a supported video URL, normalized to the eleven-character video ID. URLs may use watch?v=, youtu.be/, shorts/, embed/, or live/ forms. */
|
|
155
|
+
video_id: string;
|
|
156
|
+
}
|
|
157
|
+
export interface GetMetadataParams {
|
|
158
|
+
/** Optional ISO 3166-1 alpha-2 country code, normalized uppercase. */
|
|
159
|
+
country?: string | null;
|
|
160
|
+
/** Optional comma-separated projection of metadata fields; video_id is always included, and an empty value is treated as omitted. Allowed fields: `age_limit`, `availability`, `categories`, `channel`, `channel_follower_count`, `channel_id`, `channel_is_verified`, `channel_url`, `chapters`, `comment_count`, `concurrent_view_count`, `description`, `duration`, `duration_string`, `fulltitle`, `handle`, `handle_url`, `heatmap`, `height`, `language`, `license`, `like_count`, `live_status`, `location`, `media_type`, `original_url`, `playable_in_embed`, `release_date`, `release_timestamp`, `tags`, `thumbnail`, `thumbnails`, `timestamp`, `title`, `upload_date`, `video_id`, `view_count`, `webpage_url`, `width`. */
|
|
161
|
+
fields?: string | null;
|
|
162
|
+
/** YouTube video ID or a supported video URL, normalized to the eleven-character video ID. URLs may use watch?v=, youtu.be/, shorts/, embed/, or live/ forms. */
|
|
163
|
+
video_id: string;
|
|
164
|
+
}
|
|
165
|
+
export interface GetPlaylistParams {
|
|
166
|
+
/** Maximum playlist entries to return (1–100). */
|
|
167
|
+
limit?: number;
|
|
168
|
+
/** YouTube playlist ID (2–150 URL-safe characters). */
|
|
169
|
+
playlist_id: string;
|
|
170
|
+
}
|
|
171
|
+
export interface GetSubtitleTracksParams {
|
|
172
|
+
/** Optional ISO 3166-1 alpha-2 country code, normalized uppercase. */
|
|
173
|
+
country?: string | null;
|
|
174
|
+
/** YouTube video ID or a supported video URL, normalized to the eleven-character video ID. URLs may use watch?v=, youtu.be/, shorts/, embed/, or live/ forms. */
|
|
175
|
+
video_id: string;
|
|
176
|
+
}
|
|
177
|
+
export interface GetSubtitlesParams {
|
|
178
|
+
/** Optional ISO 3166-1 alpha-2 country code, normalized uppercase. */
|
|
179
|
+
country?: string | null;
|
|
180
|
+
/** YouTube-compatible language tag with a registered two- or three-letter primary code and optional script/region, or orig (for example pt-BR, es-419, zh-Hans, en-orig). */
|
|
181
|
+
language?: string;
|
|
182
|
+
/** Caption track to return: manual (human-authored) or auto (machine-generated). Defaults to any, which prefers manual and falls back to auto. */
|
|
183
|
+
source?: SubtitleSource;
|
|
184
|
+
/** Subtitle document format: srt (default), vtt, json3, ttml, or txt (plain text extracted from the srt, one line per cue). */
|
|
185
|
+
subtitle_format?: SubtitleFormat;
|
|
186
|
+
/** YouTube video ID or a supported video URL, normalized to the eleven-character video ID. URLs may use watch?v=, youtu.be/, shorts/, embed/, or live/ forms. */
|
|
187
|
+
video_id: string;
|
|
188
|
+
}
|
|
189
|
+
export interface HeatmapItem {
|
|
190
|
+
end_time: number;
|
|
191
|
+
start_time: number;
|
|
192
|
+
value: number;
|
|
193
|
+
}
|
|
194
|
+
export interface HeatmapResponse {
|
|
195
|
+
heatmap: HeatmapItem[] | null;
|
|
196
|
+
video_id: string;
|
|
197
|
+
}
|
|
198
|
+
export interface Json3Event {
|
|
199
|
+
aAppend?: number;
|
|
200
|
+
dDurationMs?: number;
|
|
201
|
+
id?: number;
|
|
202
|
+
segs?: Json3Segment[];
|
|
203
|
+
tStartMs?: number;
|
|
204
|
+
wWinId?: number;
|
|
205
|
+
wpWinPosId?: number;
|
|
206
|
+
wsWinStyleId?: number;
|
|
207
|
+
}
|
|
208
|
+
export interface Json3Segment {
|
|
209
|
+
acAsrConf?: number;
|
|
210
|
+
tOffsetMs?: number;
|
|
211
|
+
utf8?: string;
|
|
212
|
+
}
|
|
213
|
+
export interface Json3Transcript {
|
|
214
|
+
events?: Json3Event[];
|
|
215
|
+
pens?: Record<string, number>[];
|
|
216
|
+
wireMagic?: string;
|
|
217
|
+
wpWinPositions?: Record<string, number>[];
|
|
218
|
+
wsWinStyles?: Record<string, number>[];
|
|
219
|
+
}
|
|
220
|
+
export type LiveStatus = "is_live" | "is_upcoming" | "was_live" | "post_live" | "not_live";
|
|
221
|
+
export type MediaType = "video" | "short" | "clip" | "livestream";
|
|
222
|
+
export interface PlaylistResponse {
|
|
223
|
+
channel: string | null;
|
|
224
|
+
channel_id: string | null;
|
|
225
|
+
channel_url: string | null;
|
|
226
|
+
description: string | null;
|
|
227
|
+
entries: VideoListItem[];
|
|
228
|
+
handle: string | null;
|
|
229
|
+
handle_url: string | null;
|
|
230
|
+
modified_date: string | null;
|
|
231
|
+
playlist_id: string;
|
|
232
|
+
returned_count: number;
|
|
233
|
+
thumbnail: string | null;
|
|
234
|
+
thumbnails: ThumbnailItem[];
|
|
235
|
+
title: string | null;
|
|
236
|
+
total_count: number | null;
|
|
237
|
+
view_count: number | null;
|
|
238
|
+
webpage_url: string | null;
|
|
239
|
+
}
|
|
240
|
+
export type Protocol = "https" | "mhtml" | "m3u8_native" | "http_dash_segments";
|
|
241
|
+
export type PublicError = "blocked" | "concurrency_exceeded" | "timeout" | "extraction_failed" | "upstream_blocked" | "upstream_unavailable" | "upstream_response_invalid" | "invalid_url_scheme" | "invalid_url_host" | "unauthenticated" | "forbidden" | "resource_forbidden" | "not_found" | "rate_limited" | "invalid_request" | "invalid_cursor" | "insufficient_credits" | "internal_error";
|
|
242
|
+
export interface RepliesResponse {
|
|
243
|
+
comment_id: string;
|
|
244
|
+
pagination: CursorPagination;
|
|
245
|
+
replies: CommentItem[];
|
|
246
|
+
returned_count: number;
|
|
247
|
+
video_id: string;
|
|
248
|
+
}
|
|
249
|
+
export interface SearchParams {
|
|
250
|
+
/** Optional ISO 3166-1 alpha-2 country code, normalized uppercase. */
|
|
251
|
+
country?: string | null;
|
|
252
|
+
/** Send the `pagination.next_cursor` from the last search page to continue. Leave it empty for the first page. The cursor is bound to the normalized query, country, and filters; changing any of them returns `invalid_cursor` (400). Each request returns one complete upstream page. Results are live rather than a durable snapshot, so cursors can expire. */
|
|
253
|
+
cursor?: string;
|
|
254
|
+
/** Restrict video results to a duration band (under 4 min, 4–20 min, over 20 min). */
|
|
255
|
+
duration?: VideoDuration | null;
|
|
256
|
+
/** Require one or more result features (repeatable): e.g. hd, 4k, subtitles, live. */
|
|
257
|
+
features?: Feature[] | null;
|
|
258
|
+
/** Search text; surrounding whitespace is removed (1–200 characters). */
|
|
259
|
+
query: string;
|
|
260
|
+
/** Restrict results to a single kind: video, channel, playlist, or movie. */
|
|
261
|
+
search_type?: SearchType | null;
|
|
262
|
+
/** Rank order for results: relevance, upload date, view count, or rating. */
|
|
263
|
+
sort?: SearchSort;
|
|
264
|
+
/** Restrict results to an upload-recency window (last hour through this year). */
|
|
265
|
+
upload_date?: UploadDate | null;
|
|
266
|
+
}
|
|
267
|
+
export interface SearchResponse {
|
|
268
|
+
pagination: CursorPagination;
|
|
269
|
+
query: string;
|
|
270
|
+
results: SearchResultItem[];
|
|
271
|
+
returned_count: number;
|
|
272
|
+
}
|
|
273
|
+
export interface SearchResultItem {
|
|
274
|
+
channel: string | null;
|
|
275
|
+
channel_id: string | null;
|
|
276
|
+
channel_is_verified: boolean | null;
|
|
277
|
+
channel_url: string | null;
|
|
278
|
+
description: string | null;
|
|
279
|
+
duration: number | null;
|
|
280
|
+
id: string | null;
|
|
281
|
+
live_status: LiveStatus | null;
|
|
282
|
+
result_type: SearchResultType;
|
|
283
|
+
thumbnail: string | null;
|
|
284
|
+
thumbnails: ThumbnailItem[] | null;
|
|
285
|
+
title: string | null;
|
|
286
|
+
url: string | null;
|
|
287
|
+
view_count: number | null;
|
|
288
|
+
}
|
|
289
|
+
export type SearchResultType = "video" | "channel" | "playlist" | "movie";
|
|
290
|
+
export type SearchSort = "relevance" | "upload_date" | "view_count" | "rating";
|
|
291
|
+
export type SearchType = "video" | "channel" | "playlist" | "movie";
|
|
292
|
+
export type SubtitleFormat = "srt" | "vtt" | "json3" | "ttml" | "txt";
|
|
293
|
+
export interface SubtitleMetadata {
|
|
294
|
+
channel: string | null;
|
|
295
|
+
channel_id: string | null;
|
|
296
|
+
duration: number | null;
|
|
297
|
+
title: string | null;
|
|
298
|
+
video_id: string;
|
|
299
|
+
}
|
|
300
|
+
export interface SubtitleResponse {
|
|
301
|
+
is_auto_generated: boolean;
|
|
302
|
+
metadata: SubtitleMetadata;
|
|
303
|
+
transcript: string | Json3Transcript;
|
|
304
|
+
}
|
|
305
|
+
export type SubtitleSource = "any" | "manual" | "auto";
|
|
306
|
+
export interface SubtitleTrackItem {
|
|
307
|
+
formats: string[];
|
|
308
|
+
language: string;
|
|
309
|
+
language_name: string | null;
|
|
310
|
+
}
|
|
311
|
+
export interface SubtitleTracksResponse {
|
|
312
|
+
auto: SubtitleTrackItem[];
|
|
313
|
+
auto_count: number;
|
|
314
|
+
manual: SubtitleTrackItem[];
|
|
315
|
+
manual_count: number;
|
|
316
|
+
video_id: string;
|
|
317
|
+
}
|
|
318
|
+
export interface ThumbnailItem {
|
|
319
|
+
height: number | null;
|
|
320
|
+
url: string;
|
|
321
|
+
width: number | null;
|
|
322
|
+
}
|
|
323
|
+
export type UploadDate = "last_hour" | "today" | "this_week" | "this_month" | "this_year";
|
|
324
|
+
export type VideoDuration = "under_4_min" | "4_to_20_min" | "over_20_min";
|
|
325
|
+
export type VideoExt = "mp4" | "webm" | "none";
|
|
326
|
+
export interface VideoListItem {
|
|
327
|
+
channel: string | null;
|
|
328
|
+
channel_id: string | null;
|
|
329
|
+
channel_is_verified: boolean | null;
|
|
330
|
+
channel_url: string | null;
|
|
331
|
+
duration?: number | null;
|
|
332
|
+
live_status: LiveStatus | null;
|
|
333
|
+
thumbnail: string | null;
|
|
334
|
+
thumbnails: ThumbnailItem[] | null;
|
|
335
|
+
title: string | null;
|
|
336
|
+
url: string | null;
|
|
337
|
+
video_id: string | null;
|
|
338
|
+
view_count: number | null;
|
|
339
|
+
}
|
|
340
|
+
export interface VideoMetadataResponse {
|
|
341
|
+
age_limit?: number | null;
|
|
342
|
+
availability?: Availability | null;
|
|
343
|
+
categories?: string[] | null;
|
|
344
|
+
channel?: string | null;
|
|
345
|
+
channel_follower_count?: number | null;
|
|
346
|
+
channel_id?: string | null;
|
|
347
|
+
channel_is_verified?: boolean | null;
|
|
348
|
+
channel_url?: string | null;
|
|
349
|
+
chapters?: ChapterItem[] | null;
|
|
350
|
+
comment_count?: number | null;
|
|
351
|
+
concurrent_view_count?: number | null;
|
|
352
|
+
description?: string | null;
|
|
353
|
+
duration?: number | null;
|
|
354
|
+
duration_string?: string | null;
|
|
355
|
+
fulltitle?: string | null;
|
|
356
|
+
handle?: string | null;
|
|
357
|
+
handle_url?: string | null;
|
|
358
|
+
heatmap?: HeatmapItem[] | null;
|
|
359
|
+
height?: number | null;
|
|
360
|
+
language?: string | null;
|
|
361
|
+
license?: string | null;
|
|
362
|
+
like_count?: number | null;
|
|
363
|
+
live_status?: LiveStatus | null;
|
|
364
|
+
location?: string | null;
|
|
365
|
+
media_type?: MediaType | null;
|
|
366
|
+
original_url?: string | null;
|
|
367
|
+
playable_in_embed?: boolean | null;
|
|
368
|
+
release_date?: string | null;
|
|
369
|
+
release_timestamp?: number | null;
|
|
370
|
+
tags?: string[];
|
|
371
|
+
thumbnail?: string | null;
|
|
372
|
+
thumbnails?: ThumbnailItem[];
|
|
373
|
+
timestamp?: number | null;
|
|
374
|
+
title?: string | null;
|
|
375
|
+
upload_date?: string | null;
|
|
376
|
+
video_id: string;
|
|
377
|
+
view_count?: number | null;
|
|
378
|
+
webpage_url?: string | null;
|
|
379
|
+
width?: number | null;
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/youtube/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/youtube/types.ts"],"names":[],"mappings":"AAAA,oEAAoE"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface RetryConfig {
|
|
2
|
+
maxRetries?: number;
|
|
3
|
+
initialDelayMs?: number;
|
|
4
|
+
maxDelayMs?: number;
|
|
5
|
+
retryStatusCodes?: number[];
|
|
6
|
+
onRetry?: (info: {
|
|
7
|
+
attempt: number;
|
|
8
|
+
delayMs: number;
|
|
9
|
+
status?: number;
|
|
10
|
+
error: unknown;
|
|
11
|
+
}) => void;
|
|
12
|
+
}
|
|
13
|
+
export interface TaplineClientConfig {
|
|
14
|
+
/** Your API key. Read from `TAPLINE_API_KEY` when omitted. */
|
|
15
|
+
apiKey?: string;
|
|
16
|
+
/** Overrides the API root. Read from `TAPLINE_BASE_URL` when omitted, else `https://api.tapline.sh`. */
|
|
17
|
+
baseUrl?: string;
|
|
18
|
+
headers?: Record<string, string>;
|
|
19
|
+
retry?: RetryConfig;
|
|
20
|
+
}
|
|
21
|
+
export interface ApiErrorBody {
|
|
22
|
+
code: string;
|
|
23
|
+
message: string;
|
|
24
|
+
request_id: string;
|
|
25
|
+
domain?: string;
|
|
26
|
+
details?: unknown;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACjG;AAED,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wGAAwG;IACxG,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tapline/client",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The official TypeScript client for the Tapline API",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/cjs/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/TaplineData/tapline-typescript.git"
|
|
12
|
+
},
|
|
13
|
+
"homepage": "https://tapline.sh",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"tapline",
|
|
16
|
+
"youtube",
|
|
17
|
+
"airbnb",
|
|
18
|
+
"gmgn",
|
|
19
|
+
"api",
|
|
20
|
+
"client",
|
|
21
|
+
"sdk",
|
|
22
|
+
"scraping"
|
|
23
|
+
],
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/index.js",
|
|
28
|
+
"require": "./dist/cjs/index.js"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "tsc && tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
|
|
33
|
+
"prepublishOnly": "npm run build",
|
|
34
|
+
"typecheck": "tsc --noEmit && tsc -p tsconfig.scripts.json",
|
|
35
|
+
"test": "tsx scripts/test-retry.ts && tsx scripts/test-bigint.ts",
|
|
36
|
+
"smoke": "tsx scripts/smoke.ts"
|
|
37
|
+
},
|
|
38
|
+
"files": [
|
|
39
|
+
"dist"
|
|
40
|
+
],
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@types/node": "^22.0.0",
|
|
43
|
+
"ajv": "^8.20.0",
|
|
44
|
+
"tsx": "^4.22.0",
|
|
45
|
+
"typescript": "^5.7.0"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"axios": "^1.16.0",
|
|
49
|
+
"lossless-json": "^4.3.0"
|
|
50
|
+
}
|
|
51
|
+
}
|