larkup 0.1.40 → 0.1.41
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/diagnostics/route-bundle-stats.json +8 -8
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +16 -16
- package/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
- package/.next/server/app/analytics.html +1 -1
- package/.next/server/app/analytics.rsc +17 -17
- package/.next/server/app/analytics.segments/_full.segment.rsc +17 -17
- package/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
- package/.next/server/app/analytics.segments/_index.segment.rsc +11 -11
- package/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/analytics.segments/analytics.segment.rsc +3 -3
- package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/chat.html +1 -1
- package/.next/server/app/chat.rsc +17 -17
- package/.next/server/app/chat.segments/_full.segment.rsc +17 -17
- package/.next/server/app/chat.segments/_head.segment.rsc +4 -4
- package/.next/server/app/chat.segments/_index.segment.rsc +11 -11
- package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/chat.segments/chat.segment.rsc +3 -3
- package/.next/server/app/data/page_client-reference-manifest.js +1 -1
- package/.next/server/app/data.html +1 -1
- package/.next/server/app/data.rsc +17 -17
- package/.next/server/app/data.segments/_full.segment.rsc +17 -17
- package/.next/server/app/data.segments/_head.segment.rsc +4 -4
- package/.next/server/app/data.segments/_index.segment.rsc +11 -11
- package/.next/server/app/data.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/data.segments/data/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/data.segments/data.segment.rsc +3 -3
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +16 -16
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +18 -18
- package/.next/server/app/settings.segments/_full.segment.rsc +18 -18
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +11 -11
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_0kbcuk-.js +8 -7
- package/.next/server/chunks/[root-of-the-server]__0j2l54r._.js +1 -1
- package/.next/server/chunks/packages_scraper_src_0kkcv_v._.js +1 -1
- package/.next/server/chunks/ssr/_169pdlf._.js +5 -5
- package/.next/server/chunks/ssr/_1yqlx1m._.js +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/required-server-files.json +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +16 -16
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +11 -11
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/analytics.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/analytics.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_full.segment.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_index.segment.rsc +11 -11
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/analytics/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/analytics.segments/analytics.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/chat/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/chat.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/chat.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_full.segment.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_index.segment.rsc +11 -11
- package/.next/standalone/apps/web/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/chat.segments/chat.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/data/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/data.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/data.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/data.segments/_full.segment.rsc +17 -17
- package/.next/standalone/apps/web/.next/server/app/data.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/data.segments/_index.segment.rsc +11 -11
- package/.next/standalone/apps/web/.next/server/app/data.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/data.segments/data/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/data.segments/data.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.rsc +16 -16
- package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +16 -16
- package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +11 -11
- package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.rsc +18 -18
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +18 -18
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +11 -11
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/standalone/apps/web/.next/server/chunks/0598_next_dist_esm_build_templates_app-route_0kbcuk-.js +8 -7
- package/.next/standalone/apps/web/.next/server/chunks/[root-of-the-server]__0j2l54r._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/packages_scraper_src_0kkcv_v._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_169pdlf._.js +5 -5
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_1yqlx1m._.js +1 -1
- package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
- package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{2_qbhu4zxkm7j.js → 2dvtyg2k2op4x.js} +5 -5
- package/.next/{static/chunks/1b9srvyupwcjz.js → standalone/apps/web/.next/static/chunks/2x1t8sqst0ipu.js} +1 -1
- package/.next/standalone/apps/web/CHANGELOG.md +9 -0
- package/.next/standalone/apps/web/app/api/chat/route.ts +9 -2
- package/.next/standalone/apps/web/app/api/chat/tools.ts +10 -1
- package/.next/standalone/apps/web/components/data/firecrawl-notice.tsx +3 -3
- package/.next/standalone/apps/web/components/data/media-panel.tsx +3 -8
- package/.next/standalone/apps/web/components/data/scrape-panel.tsx +3 -11
- package/.next/standalone/apps/web/components/index/index-workspace.tsx +1 -1
- package/.next/standalone/apps/web/package.json +1 -1
- package/.next/standalone/apps/web/server.js +1 -1
- package/.next/standalone/packages/tools/video-audio/CHANGELOG.md +6 -0
- package/.next/standalone/packages/tools/video-audio/dist/url-importer.js +37 -5
- package/.next/standalone/packages/tools/video-audio/package.json +1 -1
- package/.next/standalone/packages/tools/video-audio/src/url-importer.ts +61 -25
- package/.next/static/chunks/{2_qbhu4zxkm7j.js → 2dvtyg2k2op4x.js} +5 -5
- package/.next/{standalone/apps/web/.next/static/chunks/1b9srvyupwcjz.js → static/chunks/2x1t8sqst0ipu.js} +1 -1
- package/CHANGELOG.md +9 -0
- package/app/api/chat/route.ts +9 -2
- package/app/api/chat/tools.ts +10 -1
- package/components/data/firecrawl-notice.tsx +3 -3
- package/components/data/media-panel.tsx +3 -8
- package/components/data/scrape-panel.tsx +3 -11
- package/components/index/index-workspace.tsx +1 -1
- package/package.json +6 -6
- /package/.next/standalone/apps/web/.next/static/{7yuxi3XYqMr4kxUl6T-qk → whR5PvI0kapiCtaze5Lb0}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{7yuxi3XYqMr4kxUl6T-qk → whR5PvI0kapiCtaze5Lb0}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{7yuxi3XYqMr4kxUl6T-qk → whR5PvI0kapiCtaze5Lb0}/_ssgManifest.js +0 -0
- /package/.next/static/{7yuxi3XYqMr4kxUl6T-qk → whR5PvI0kapiCtaze5Lb0}/_buildManifest.js +0 -0
- /package/.next/static/{7yuxi3XYqMr4kxUl6T-qk → whR5PvI0kapiCtaze5Lb0}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{7yuxi3XYqMr4kxUl6T-qk → whR5PvI0kapiCtaze5Lb0}/_ssgManifest.js +0 -0
|
@@ -99,31 +99,53 @@ export async function importMediaUrl(
|
|
|
99
99
|
const template = path.join(options.outputDir, '%(title).120B [%(id)s].%(ext)s');
|
|
100
100
|
const print =
|
|
101
101
|
'{"path":%(filepath)j,"title":%(title)j,"originalUrl":%(webpage_url)j,"ext":%(ext)j}';
|
|
102
|
-
const
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
102
|
+
const commonArgs = [
|
|
103
|
+
'--no-playlist',
|
|
104
|
+
'--playlist-end',
|
|
105
|
+
String(options.playlistMax ?? 10),
|
|
106
|
+
'--socket-timeout',
|
|
107
|
+
'20',
|
|
108
|
+
'--retries',
|
|
109
|
+
'2',
|
|
110
|
+
'--fragment-retries',
|
|
111
|
+
'2',
|
|
112
|
+
'--format',
|
|
113
|
+
'best[height<=360]/bestvideo[height<=360]+bestaudio/best',
|
|
114
|
+
'--merge-output-format',
|
|
115
|
+
'mp4',
|
|
116
|
+
'-o',
|
|
117
|
+
template,
|
|
118
|
+
'--print',
|
|
119
|
+
`after_move:${print}`,
|
|
120
|
+
];
|
|
121
|
+
let output: string;
|
|
122
|
+
try {
|
|
123
|
+
output = await runYtDlp(
|
|
124
|
+
[...commonArgs, '--concurrent-fragments', '4', url],
|
|
125
|
+
options.onProgress,
|
|
126
|
+
);
|
|
127
|
+
} catch (error) {
|
|
128
|
+
if (!isVideoHostForbidden(error)) throw error;
|
|
129
|
+
// Video hosts occasionally reject a freshly-issued media URL. Re-extract
|
|
130
|
+
// it with a conservative one-fragment retry before failing the asset.
|
|
131
|
+
options.onProgress?.({ message: 'Source rejected the download; refreshing the video link…' });
|
|
132
|
+
try {
|
|
133
|
+
output = await runYtDlp(
|
|
134
|
+
[
|
|
135
|
+
...commonArgs,
|
|
136
|
+
'--force-ipv4',
|
|
137
|
+
'--extractor-retries',
|
|
138
|
+
'3',
|
|
139
|
+
'--concurrent-fragments',
|
|
140
|
+
'1',
|
|
141
|
+
url,
|
|
142
|
+
],
|
|
143
|
+
options.onProgress,
|
|
144
|
+
);
|
|
145
|
+
} catch (retryError) {
|
|
146
|
+
throw friendlyVideoDownloadError(retryError);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
127
149
|
const imported = output
|
|
128
150
|
.split('\n')
|
|
129
151
|
.filter(Boolean)
|
|
@@ -186,6 +208,20 @@ export async function importMediaUrl(
|
|
|
186
208
|
];
|
|
187
209
|
}
|
|
188
210
|
|
|
211
|
+
function isVideoHostForbidden(error: unknown): boolean {
|
|
212
|
+
return error instanceof Error && /\b(?:403|forbidden)\b/i.test(error.message);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/** Keep upstream yt-dlp output out of the end-user status while retaining a useful cause. */
|
|
216
|
+
function friendlyVideoDownloadError(error: unknown): Error {
|
|
217
|
+
if (isVideoHostForbidden(error)) {
|
|
218
|
+
return new Error(
|
|
219
|
+
'The video host refused this download (HTTP 403) after a safe retry. This is a temporary source restriction, not a problem with your existing index. Try again later, or upload the original video file directly.',
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
return error instanceof Error ? error : new Error('Video download failed. Please try again.');
|
|
223
|
+
}
|
|
224
|
+
|
|
189
225
|
/**
|
|
190
226
|
* Read the video's own manual or automatic captions through yt-dlp. This is
|
|
191
227
|
* both faster and usually more accurate than transcribing compressed audio,
|