@thunderkiller/video-clipper 1.7.0 → 1.9.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/README.md +8 -8
- package/dist/{cli.d.ts → app/cli/args.d.ts} +2 -2
- package/dist/app/cli/args.d.ts.map +1 -0
- package/dist/{cli.js → app/cli/args.js} +16 -16
- package/dist/app/cli/args.js.map +1 -0
- package/dist/{index.d.ts.map → app/cli/index.d.ts.map} +1 -1
- package/dist/app/cli/index.js +38 -0
- package/dist/app/cli/index.js.map +1 -0
- package/dist/{pipeline → app/cli/pipeline}/dumper.d.ts +1 -1
- package/dist/app/cli/pipeline/dumper.d.ts.map +1 -0
- package/dist/{pipeline → app/cli/pipeline}/dumper.js +6 -6
- package/dist/app/cli/pipeline/dumper.js.map +1 -0
- package/dist/{pipeline → app/cli/pipeline}/runner.d.ts +2 -2
- package/dist/app/cli/pipeline/runner.d.ts.map +1 -0
- package/dist/app/cli/pipeline/runner.js +249 -0
- package/dist/app/cli/pipeline/runner.js.map +1 -0
- package/dist/app/cli/pipeline/stages/audioProcessor.d.ts +4 -0
- package/dist/app/cli/pipeline/stages/audioProcessor.d.ts.map +1 -0
- package/dist/app/cli/pipeline/stages/audioProcessor.js +59 -0
- package/dist/app/cli/pipeline/stages/audioProcessor.js.map +1 -0
- package/dist/app/cli/pipeline/stages/videoResolver.d.ts +4 -0
- package/dist/app/cli/pipeline/stages/videoResolver.d.ts.map +1 -0
- package/dist/app/cli/pipeline/stages/videoResolver.js +24 -0
- package/dist/app/cli/pipeline/stages/videoResolver.js.map +1 -0
- package/dist/app/web/lib/activity/analysisActivity.d.ts +18 -0
- package/dist/app/web/lib/activity/analysisActivity.d.ts.map +1 -0
- package/dist/app/web/lib/activity/analysisActivity.js +194 -0
- package/dist/app/web/lib/activity/analysisActivity.js.map +1 -0
- package/dist/app/web/lib/activity/analysisLogging.d.ts +3 -0
- package/dist/app/web/lib/activity/analysisLogging.d.ts.map +1 -0
- package/dist/app/web/lib/activity/analysisLogging.js +17 -0
- package/dist/app/web/lib/activity/analysisLogging.js.map +1 -0
- package/dist/app/web/lib/analysisStream.d.ts +5 -0
- package/dist/app/web/lib/analysisStream.d.ts.map +1 -0
- package/dist/app/web/lib/analysisStream.js +106 -0
- package/dist/app/web/lib/analysisStream.js.map +1 -0
- package/dist/app/web/lib/api.d.ts +3 -0
- package/dist/app/web/lib/api.d.ts.map +1 -0
- package/dist/app/web/lib/api.js +21 -0
- package/dist/app/web/lib/api.js.map +1 -0
- package/dist/app/web/lib/configStore.d.ts +8 -0
- package/dist/app/web/lib/configStore.d.ts.map +1 -0
- package/dist/app/web/lib/configStore.js +67 -0
- package/dist/app/web/lib/configStore.js.map +1 -0
- package/dist/app/web/lib/format.d.ts +3 -0
- package/dist/app/web/lib/format.d.ts.map +1 -0
- package/dist/app/web/lib/format.js +17 -0
- package/dist/app/web/lib/format.js.map +1 -0
- package/dist/app/web/lib/index.d.ts +2 -0
- package/dist/app/web/lib/index.d.ts.map +1 -0
- package/dist/app/web/lib/index.js +2 -0
- package/dist/app/web/lib/index.js.map +1 -0
- package/dist/app/web/lib/services/analysis/analysisService.d.ts +5 -0
- package/dist/app/web/lib/services/analysis/analysisService.d.ts.map +1 -0
- package/dist/app/web/lib/services/analysis/analysisService.js +147 -0
- package/dist/app/web/lib/services/analysis/analysisService.js.map +1 -0
- package/dist/app/web/lib/services/analysis/streamEvents.d.ts +5 -0
- package/dist/app/web/lib/services/analysis/streamEvents.d.ts.map +1 -0
- package/dist/app/web/lib/services/analysis/streamEvents.js +69 -0
- package/dist/app/web/lib/services/analysis/streamEvents.js.map +1 -0
- package/dist/app/web/lib/services/analysis/transcriptService.d.ts +4 -0
- package/dist/app/web/lib/services/analysis/transcriptService.d.ts.map +1 -0
- package/dist/app/web/lib/services/analysis/transcriptService.js +33 -0
- package/dist/app/web/lib/services/analysis/transcriptService.js.map +1 -0
- package/dist/app/web/lib/services/artifacts/artifactStore.d.ts +14 -0
- package/dist/app/web/lib/services/artifacts/artifactStore.d.ts.map +1 -0
- package/dist/app/web/lib/services/artifacts/artifactStore.js +109 -0
- package/dist/app/web/lib/services/artifacts/artifactStore.js.map +1 -0
- package/dist/app/web/lib/services/clipping/clipService.d.ts +4 -0
- package/dist/app/web/lib/services/clipping/clipService.d.ts.map +1 -0
- package/dist/app/web/lib/services/clipping/clipService.js +73 -0
- package/dist/app/web/lib/services/clipping/clipService.js.map +1 -0
- package/dist/app/web/lib/services/config/webConfig.d.ts +4 -0
- package/dist/app/web/lib/services/config/webConfig.d.ts.map +1 -0
- package/dist/app/web/lib/services/config/webConfig.js +12 -0
- package/dist/app/web/lib/services/config/webConfig.js.map +1 -0
- package/dist/app/web/lib/services/http/responses.d.ts +8 -0
- package/dist/app/web/lib/services/http/responses.d.ts.map +1 -0
- package/dist/app/web/lib/services/http/responses.js +23 -0
- package/dist/app/web/lib/services/http/responses.js.map +1 -0
- package/dist/app/web/lib/services/publishing/draftService.d.ts +5 -0
- package/dist/app/web/lib/services/publishing/draftService.d.ts.map +1 -0
- package/dist/app/web/lib/services/publishing/draftService.js +70 -0
- package/dist/app/web/lib/services/publishing/draftService.js.map +1 -0
- package/dist/app/web/lib/services/publishing/metadataCache.d.ts +4 -0
- package/dist/app/web/lib/services/publishing/metadataCache.d.ts.map +1 -0
- package/dist/app/web/lib/services/publishing/metadataCache.js +38 -0
- package/dist/app/web/lib/services/publishing/metadataCache.js.map +1 -0
- package/dist/app/web/lib/services/publishing/metadataService.d.ts +5 -0
- package/dist/app/web/lib/services/publishing/metadataService.d.ts.map +1 -0
- package/dist/app/web/lib/services/publishing/metadataService.js +125 -0
- package/dist/app/web/lib/services/publishing/metadataService.js.map +1 -0
- package/dist/app/web/lib/services/publishing/uploadService.d.ts +6 -0
- package/dist/app/web/lib/services/publishing/uploadService.d.ts.map +1 -0
- package/dist/app/web/lib/services/publishing/uploadService.js +303 -0
- package/dist/app/web/lib/services/publishing/uploadService.js.map +1 -0
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.d.ts +5 -0
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.d.ts.map +1 -0
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.js +45 -0
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.js.map +1 -0
- package/dist/app/web/lib/services/youtube/authStore.d.ts +5 -0
- package/dist/app/web/lib/services/youtube/authStore.d.ts.map +1 -0
- package/dist/app/web/lib/services/youtube/authStore.js +46 -0
- package/dist/app/web/lib/services/youtube/authStore.js.map +1 -0
- package/dist/app/web/lib/services/youtube/catalogFactory.d.ts +3 -0
- package/dist/app/web/lib/services/youtube/catalogFactory.d.ts.map +1 -0
- package/dist/app/web/lib/services/youtube/catalogFactory.js +10 -0
- package/dist/app/web/lib/services/youtube/catalogFactory.js.map +1 -0
- package/dist/app/web/lib/services/youtube/uploadAuth.d.ts +9 -0
- package/dist/app/web/lib/services/youtube/uploadAuth.d.ts.map +1 -0
- package/dist/app/web/lib/services/youtube/uploadAuth.js +221 -0
- package/dist/app/web/lib/services/youtube/uploadAuth.js.map +1 -0
- package/dist/app/web/lib/stores/theme.d.ts +2 -0
- package/dist/app/web/lib/stores/theme.d.ts.map +1 -0
- package/dist/app/web/lib/stores/theme.js +12 -0
- package/dist/app/web/lib/stores/theme.js.map +1 -0
- package/dist/app/web/lib/toastStore.d.ts +6 -0
- package/dist/app/web/lib/toastStore.d.ts.map +1 -0
- package/dist/app/web/lib/toastStore.js +14 -0
- package/dist/app/web/lib/toastStore.js.map +1 -0
- package/dist/app/web/lib/uploadStream.d.ts +6 -0
- package/dist/app/web/lib/uploadStream.d.ts.map +1 -0
- package/dist/app/web/lib/uploadStream.js +68 -0
- package/dist/app/web/lib/uploadStream.js.map +1 -0
- package/dist/app/web/lib/videoWorkflow.d.ts +4 -0
- package/dist/app/web/lib/videoWorkflow.d.ts.map +1 -0
- package/dist/app/web/lib/videoWorkflow.js +39 -0
- package/dist/app/web/lib/videoWorkflow.js.map +1 -0
- package/dist/app/web/routes/api/analysis/transcript/+server.d.ts +3 -0
- package/dist/app/web/routes/api/analysis/transcript/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/analysis/transcript/+server.js +97 -0
- package/dist/app/web/routes/api/analysis/transcript/+server.js.map +1 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.d.ts +3 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.js +21 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/analysis/+server.js.map +1 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.d.ts +3 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.js +21 -0
- package/dist/app/web/routes/api/cache/videos/[videoId]/transcript/+server.js.map +1 -0
- package/dist/app/web/routes/api/clips/+server.d.ts +3 -0
- package/dist/app/web/routes/api/clips/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/clips/+server.js +32 -0
- package/dist/app/web/routes/api/clips/+server.js.map +1 -0
- package/dist/app/web/routes/api/config/+server.d.ts +4 -0
- package/dist/app/web/routes/api/config/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/config/+server.js +37 -0
- package/dist/app/web/routes/api/config/+server.js.map +1 -0
- package/dist/app/web/routes/api/library/analyses/+server.d.ts +3 -0
- package/dist/app/web/routes/api/library/analyses/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/library/analyses/+server.js +16 -0
- package/dist/app/web/routes/api/library/analyses/+server.js.map +1 -0
- package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.d.ts +3 -0
- package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.js +28 -0
- package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.js.map +1 -0
- package/dist/app/web/routes/api/library/clips/+server.d.ts +3 -0
- package/dist/app/web/routes/api/library/clips/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/library/clips/+server.js +26 -0
- package/dist/app/web/routes/api/library/clips/+server.js.map +1 -0
- package/dist/app/web/routes/api/publish/drafts/+server.d.ts +3 -0
- package/dist/app/web/routes/api/publish/drafts/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/publish/drafts/+server.js +23 -0
- package/dist/app/web/routes/api/publish/drafts/+server.js.map +1 -0
- package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.d.ts +3 -0
- package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.js +31 -0
- package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.js.map +1 -0
- package/dist/app/web/routes/api/publish/drafts/generate/+server.d.ts +3 -0
- package/dist/app/web/routes/api/publish/drafts/generate/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/publish/drafts/generate/+server.js +37 -0
- package/dist/app/web/routes/api/publish/drafts/generate/+server.js.map +1 -0
- package/dist/app/web/routes/api/publish/thumbnails/+server.d.ts +3 -0
- package/dist/app/web/routes/api/publish/thumbnails/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/publish/thumbnails/+server.js +57 -0
- package/dist/app/web/routes/api/publish/thumbnails/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/callback/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/auth/callback/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/callback/+server.js +49 -0
- package/dist/app/web/routes/api/youtube/auth/callback/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/disconnect/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/auth/disconnect/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/disconnect/+server.js +16 -0
- package/dist/app/web/routes/api/youtube/auth/disconnect/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/manual/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/auth/manual/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/manual/+server.js +23 -0
- package/dist/app/web/routes/api/youtube/auth/manual/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/start/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/auth/start/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/start/+server.js +43 -0
- package/dist/app/web/routes/api/youtube/auth/start/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/status/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/auth/status/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/auth/status/+server.js +16 -0
- package/dist/app/web/routes/api/youtube/auth/status/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.js +28 -0
- package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/channels/resolve/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/channels/resolve/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/channels/resolve/+server.js +24 -0
- package/dist/app/web/routes/api/youtube/channels/resolve/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/uploads/+server.d.ts +5 -0
- package/dist/app/web/routes/api/youtube/uploads/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/uploads/+server.js +113 -0
- package/dist/app/web/routes/api/youtube/uploads/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.js +25 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.js.map +1 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.d.ts +3 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.js +24 -0
- package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.js.map +1 -0
- package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.d.ts +13 -0
- package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.d.ts.map +1 -0
- package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.js +50 -0
- package/dist/app/web/routes/videos/[videoId]/analysis/[analysisId]/+layout.server.js.map +1 -0
- package/dist/app/web/types/activity.d.ts +24 -0
- package/dist/app/web/types/activity.d.ts.map +1 -0
- package/dist/app/web/types/activity.js +2 -0
- package/dist/app/web/types/activity.js.map +1 -0
- package/dist/app/web/types/analysis.d.ts +175 -0
- package/dist/app/web/types/analysis.d.ts.map +1 -0
- package/dist/app/web/types/analysis.js +84 -0
- package/dist/app/web/types/analysis.js.map +1 -0
- package/dist/app/web/types/componentProps.d.ts +225 -0
- package/dist/app/web/types/componentProps.d.ts.map +1 -0
- package/dist/app/web/types/componentProps.js +2 -0
- package/dist/app/web/types/componentProps.js.map +1 -0
- package/dist/app/web/types/publish.d.ts +295 -0
- package/dist/app/web/types/publish.d.ts.map +1 -0
- package/dist/app/web/types/publish.js +145 -0
- package/dist/app/web/types/publish.js.map +1 -0
- package/dist/app/web/types/upload.d.ts +23 -0
- package/dist/app/web/types/upload.d.ts.map +1 -0
- package/dist/app/web/types/upload.js +2 -0
- package/dist/app/web/types/upload.js.map +1 -0
- package/dist/app/web/types/web.d.ts +47 -0
- package/dist/app/web/types/web.d.ts.map +1 -0
- package/dist/app/web/types/web.js +9 -0
- package/dist/app/web/types/web.js.map +1 -0
- package/dist/app/web/types/workflow.d.ts +9 -0
- package/dist/app/web/types/workflow.d.ts.map +1 -0
- package/dist/app/web/types/workflow.js +2 -0
- package/dist/app/web/types/workflow.js.map +1 -0
- package/dist/app/web/types/youtube.d.ts +15 -0
- package/dist/app/web/types/youtube.d.ts.map +1 -0
- package/dist/app/web/types/youtube.js +12 -0
- package/dist/app/web/types/youtube.js.map +1 -0
- package/dist/app/web/widgets/settings/groupConfig.d.ts +4 -0
- package/dist/app/web/widgets/settings/groupConfig.d.ts.map +1 -0
- package/dist/app/web/widgets/settings/groupConfig.js +219 -0
- package/dist/app/web/widgets/settings/groupConfig.js.map +1 -0
- package/dist/hooks.server.d.ts +3 -0
- package/dist/hooks.server.d.ts.map +1 -0
- package/dist/hooks.server.js +11 -0
- package/dist/hooks.server.js.map +1 -0
- package/dist/lib/config/env.d.ts +7 -0
- package/dist/lib/config/env.d.ts.map +1 -0
- package/dist/lib/config/env.js +81 -0
- package/dist/lib/config/env.js.map +1 -0
- package/dist/lib/config/fileStore.d.ts +5 -0
- package/dist/lib/config/fileStore.d.ts.map +1 -0
- package/dist/lib/config/fileStore.js +34 -0
- package/dist/lib/config/fileStore.js.map +1 -0
- package/dist/lib/config/index.d.ts +4 -0
- package/dist/lib/config/index.d.ts.map +1 -0
- package/dist/lib/config/index.js +3 -0
- package/dist/lib/config/index.js.map +1 -0
- package/dist/lib/config/registry.d.ts +4 -0
- package/dist/lib/config/registry.d.ts.map +1 -0
- package/dist/lib/config/registry.js +148 -0
- package/dist/lib/config/registry.js.map +1 -0
- package/dist/lib/index.d.ts +58 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +52 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/pipeline/stages/clipExporter.d.ts +5 -0
- package/dist/lib/pipeline/stages/clipExporter.d.ts.map +1 -0
- package/dist/lib/pipeline/stages/clipExporter.js +30 -0
- package/dist/lib/pipeline/stages/clipExporter.js.map +1 -0
- package/dist/lib/pipeline/stages/segmentAnalyzer.d.ts +5 -0
- package/dist/lib/pipeline/stages/segmentAnalyzer.d.ts.map +1 -0
- package/dist/lib/pipeline/stages/segmentAnalyzer.js +44 -0
- package/dist/lib/pipeline/stages/segmentAnalyzer.js.map +1 -0
- package/dist/lib/pipeline/stages/segmentSelector.d.ts.map +1 -0
- package/dist/{pipeline → lib/pipeline}/stages/segmentSelector.js +4 -4
- package/dist/lib/pipeline/stages/segmentSelector.js.map +1 -0
- package/dist/lib/services/analysis/index.d.ts +9 -0
- package/dist/lib/services/analysis/index.d.ts.map +1 -0
- package/dist/lib/services/analysis/index.js +7 -0
- package/dist/lib/services/analysis/index.js.map +1 -0
- package/dist/lib/services/analysis/llm/LLMAnalyzer.d.ts +18 -0
- package/dist/lib/services/analysis/llm/LLMAnalyzer.d.ts.map +1 -0
- package/dist/lib/services/analysis/llm/LLMAnalyzer.js +68 -0
- package/dist/lib/services/analysis/llm/LLMAnalyzer.js.map +1 -0
- package/dist/lib/services/analysis/llm/index.d.ts +5 -0
- package/dist/lib/services/analysis/llm/index.d.ts.map +1 -0
- package/dist/lib/services/analysis/llm/index.js +197 -0
- package/dist/lib/services/analysis/llm/index.js.map +1 -0
- package/dist/{services/segmentRanker → lib/services/analysis/ranker}/index.d.ts +2 -2
- package/dist/lib/services/analysis/ranker/index.d.ts.map +1 -0
- package/dist/{services/segmentRanker → lib/services/analysis/ranker}/index.js +4 -5
- package/dist/lib/services/analysis/ranker/index.js.map +1 -0
- package/dist/lib/services/analysis/refiner/index.d.ts +5 -0
- package/dist/lib/services/analysis/refiner/index.d.ts.map +1 -0
- package/dist/lib/services/analysis/refiner/index.js +113 -0
- package/dist/lib/services/analysis/refiner/index.js.map +1 -0
- package/dist/{services/chunkBuilder → lib/services/analysis/transcript/chunker}/index.d.ts +1 -1
- package/dist/lib/services/analysis/transcript/chunker/index.d.ts.map +1 -0
- package/dist/lib/services/analysis/transcript/chunker/index.js.map +1 -0
- package/dist/{services/transcriptDetector/index.d.ts → lib/services/analysis/transcript/detector.d.ts} +8 -5
- package/dist/lib/services/analysis/transcript/detector.d.ts.map +1 -0
- package/dist/{services/transcriptDetector/index.js → lib/services/analysis/transcript/detector.js} +16 -11
- package/dist/lib/services/analysis/transcript/detector.js.map +1 -0
- package/dist/lib/services/analysis/transcript/index.d.ts +5 -0
- package/dist/lib/services/analysis/transcript/index.d.ts.map +1 -0
- package/dist/lib/services/analysis/transcript/index.js +4 -0
- package/dist/lib/services/analysis/transcript/index.js.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/base.d.ts +2 -2
- package/dist/lib/services/audio/analyzer/base.d.ts.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/base.js +1 -1
- package/dist/lib/services/audio/analyzer/base.js.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/factory.d.ts +3 -2
- package/dist/lib/services/audio/analyzer/factory.d.ts.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/factory.js +6 -6
- package/dist/lib/services/audio/analyzer/factory.js.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/gemini.d.ts +4 -1
- package/dist/lib/services/audio/analyzer/gemini.d.ts.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/gemini.js +12 -19
- package/dist/lib/services/audio/analyzer/gemini.js.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/index.d.ts +1 -0
- package/dist/lib/services/audio/analyzer/index.d.ts.map +1 -0
- package/dist/lib/services/audio/analyzer/index.js.map +1 -0
- package/dist/lib/services/audio/analyzer/whisper.d.ts +10 -0
- package/dist/lib/services/audio/analyzer/whisper.d.ts.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/whisper.js +11 -11
- package/dist/lib/services/audio/analyzer/whisper.js.map +1 -0
- package/dist/lib/services/audio/analyzer/yamnet.d.ts +9 -0
- package/dist/lib/services/audio/analyzer/yamnet.d.ts.map +1 -0
- package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/yamnet.js +8 -10
- package/dist/lib/services/audio/analyzer/yamnet.js.map +1 -0
- package/dist/lib/services/audio/index.d.ts +9 -0
- package/dist/lib/services/audio/index.d.ts.map +1 -0
- package/dist/lib/services/audio/index.js +7 -0
- package/dist/lib/services/audio/index.js.map +1 -0
- package/dist/{services/eventDetector/index.d.ts → lib/services/audio/processor/detector.d.ts} +3 -3
- package/dist/lib/services/audio/processor/detector.d.ts.map +1 -0
- package/dist/{services/eventDetector/index.js → lib/services/audio/processor/detector.js} +15 -5
- package/dist/lib/services/audio/processor/detector.js.map +1 -0
- package/dist/lib/services/audio/processor/slicer.d.ts +4 -0
- package/dist/lib/services/audio/processor/slicer.d.ts.map +1 -0
- package/dist/{services/audioDownloader/sliceAudio.js → lib/services/audio/processor/slicer.js} +8 -9
- package/dist/lib/services/audio/processor/slicer.js.map +1 -0
- package/dist/lib/services/audio/source/index.d.ts +3 -0
- package/dist/lib/services/audio/source/index.d.ts.map +1 -0
- package/dist/lib/services/audio/source/index.js +2 -0
- package/dist/lib/services/audio/source/index.js.map +1 -0
- package/dist/lib/services/audio/source/youtube.d.ts +4 -0
- package/dist/lib/services/audio/source/youtube.d.ts.map +1 -0
- package/dist/{services/audioDownloader/index.js → lib/services/audio/source/youtube.js} +39 -35
- package/dist/lib/services/audio/source/youtube.js.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/base.d.ts +2 -2
- package/dist/lib/services/audio/transcriber/base.d.ts.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/base.js +1 -1
- package/dist/lib/services/audio/transcriber/base.js.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/factory.d.ts +4 -2
- package/dist/lib/services/audio/transcriber/factory.d.ts.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/factory.js +6 -7
- package/dist/lib/services/audio/transcriber/factory.js.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/gemini.d.ts +1 -1
- package/dist/lib/services/audio/transcriber/gemini.d.ts.map +1 -0
- package/dist/lib/services/audio/transcriber/gemini.js.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/index.d.ts +1 -0
- package/dist/lib/services/audio/transcriber/index.d.ts.map +1 -0
- package/dist/lib/services/audio/transcriber/index.js.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/whisper.d.ts +3 -1
- package/dist/lib/services/audio/transcriber/whisper.d.ts.map +1 -0
- package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/whisper.js +9 -10
- package/dist/lib/services/audio/transcriber/whisper.js.map +1 -0
- package/dist/lib/services/cache/backends/disabled.d.ts +20 -0
- package/dist/lib/services/cache/backends/disabled.d.ts.map +1 -0
- package/dist/{utils/cacheBackend.js → lib/services/cache/backends/disabled.js} +1 -1
- package/dist/lib/services/cache/backends/disabled.js.map +1 -0
- package/dist/{utils/fileCacheBackend.d.ts → lib/services/cache/backends/file.d.ts} +7 -4
- package/dist/lib/services/cache/backends/file.d.ts.map +1 -0
- package/dist/{utils/fileCacheBackend.js → lib/services/cache/backends/file.js} +18 -9
- package/dist/lib/services/cache/backends/file.js.map +1 -0
- package/dist/{utils/mongoCacheBackend.d.ts → lib/services/cache/backends/mongo.d.ts} +3 -3
- package/dist/lib/services/cache/backends/mongo.d.ts.map +1 -0
- package/dist/{utils/mongoCacheBackend.js → lib/services/cache/backends/mongo.js} +8 -8
- package/dist/lib/services/cache/backends/mongo.js.map +1 -0
- package/dist/{utils → lib/services/cache}/cache.d.ts +6 -5
- package/dist/lib/services/cache/cache.d.ts.map +1 -0
- package/dist/{utils → lib/services/cache}/cache.js +25 -4
- package/dist/lib/services/cache/cache.js.map +1 -0
- package/dist/{utils/cacheFactory.d.ts → lib/services/cache/factory.d.ts} +3 -3
- package/dist/lib/services/cache/factory.d.ts.map +1 -0
- package/dist/{utils/cacheFactory.js → lib/services/cache/factory.js} +6 -6
- package/dist/lib/services/cache/factory.js.map +1 -0
- package/dist/lib/services/cache/index.d.ts +4 -0
- package/dist/lib/services/cache/index.d.ts.map +1 -0
- package/dist/lib/services/cache/index.js +3 -0
- package/dist/lib/services/cache/index.js.map +1 -0
- package/dist/lib/services/cache/manifest.d.ts +6 -0
- package/dist/lib/services/cache/manifest.d.ts.map +1 -0
- package/dist/lib/services/cache/manifest.js +101 -0
- package/dist/lib/services/cache/manifest.js.map +1 -0
- package/dist/{services/clipGenerator → lib/services/video/clipper}/index.d.ts +16 -3
- package/dist/lib/services/video/clipper/index.d.ts.map +1 -0
- package/dist/lib/services/video/clipper/index.js +215 -0
- package/dist/lib/services/video/clipper/index.js.map +1 -0
- package/dist/lib/services/video/index.d.ts +13 -0
- package/dist/lib/services/video/index.d.ts.map +1 -0
- package/dist/lib/services/video/index.js +9 -0
- package/dist/lib/services/video/index.js.map +1 -0
- package/dist/lib/services/video/source/index.d.ts +8 -0
- package/dist/lib/services/video/source/index.d.ts.map +1 -0
- package/dist/lib/services/video/source/index.js +6 -0
- package/dist/lib/services/video/source/index.js.map +1 -0
- package/dist/lib/services/video/source/youtube/catalog.d.ts +12 -0
- package/dist/lib/services/video/source/youtube/catalog.d.ts.map +1 -0
- package/dist/lib/services/video/source/youtube/catalog.js +177 -0
- package/dist/lib/services/video/source/youtube/catalog.js.map +1 -0
- package/dist/{services/videoDownloader/index.d.ts → lib/services/video/source/youtube/downloader.d.ts} +6 -4
- package/dist/lib/services/video/source/youtube/downloader.d.ts.map +1 -0
- package/dist/lib/services/video/source/youtube/downloader.js +250 -0
- package/dist/lib/services/video/source/youtube/downloader.js.map +1 -0
- package/dist/lib/services/video/source/youtube/metadata.d.ts +14 -0
- package/dist/lib/services/video/source/youtube/metadata.d.ts.map +1 -0
- package/dist/{services/metadataExtractor/index.js → lib/services/video/source/youtube/metadata.js} +14 -18
- package/dist/lib/services/video/source/youtube/metadata.js.map +1 -0
- package/dist/{services/urlParser/index.d.ts → lib/services/video/source/youtube/parser.d.ts} +1 -1
- package/dist/lib/services/video/source/youtube/parser.d.ts.map +1 -0
- package/dist/{services/urlParser/index.js → lib/services/video/source/youtube/parser.js} +1 -1
- package/dist/lib/services/video/source/youtube/parser.js.map +1 -0
- package/dist/lib/services/video/source/youtube/subtitles.d.ts +32 -0
- package/dist/lib/services/video/source/youtube/subtitles.d.ts.map +1 -0
- package/dist/lib/services/video/source/youtube/subtitles.js +340 -0
- package/dist/lib/services/video/source/youtube/subtitles.js.map +1 -0
- package/dist/lib/types/analyzer.d.ts +55 -0
- package/dist/lib/types/analyzer.d.ts.map +1 -0
- package/dist/lib/types/analyzer.js +6 -0
- package/dist/lib/types/analyzer.js.map +1 -0
- package/dist/lib/types/audio.d.ts +54 -0
- package/dist/lib/types/audio.d.ts.map +1 -0
- package/dist/{types → lib/types}/audio.js +10 -0
- package/dist/lib/types/audio.js.map +1 -0
- package/dist/lib/types/cache.d.ts +41 -0
- package/dist/lib/types/cache.d.ts.map +1 -0
- package/dist/lib/types/cache.js.map +1 -0
- package/dist/lib/types/cli.d.ts.map +1 -0
- package/dist/lib/types/cli.js.map +1 -0
- package/dist/lib/types/config.d.ts +206 -0
- package/dist/lib/types/config.d.ts.map +1 -0
- package/dist/lib/types/config.js +487 -0
- package/dist/lib/types/config.js.map +1 -0
- package/dist/lib/types/downloader.d.ts +32 -0
- package/dist/lib/types/downloader.d.ts.map +1 -0
- package/dist/{types → lib/types}/downloader.js.map +1 -1
- package/dist/lib/types/factory.d.ts.map +1 -0
- package/dist/{types → lib/types}/factory.js.map +1 -1
- package/dist/lib/types/index.d.ts +22 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/{types → lib/types}/index.js +4 -2
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/pipeline.d.ts +83 -0
- package/dist/lib/types/pipeline.d.ts.map +1 -0
- package/dist/{types → lib/types}/pipeline.js.map +1 -1
- package/dist/{types → lib/types}/segment.d.ts +1 -1
- package/dist/lib/types/segment.d.ts.map +1 -0
- package/dist/lib/types/segment.js.map +1 -0
- package/dist/lib/types/transcript.d.ts.map +1 -0
- package/dist/lib/types/transcript.js.map +1 -0
- package/dist/{types → lib/types}/video.d.ts +28 -1
- package/dist/lib/types/video.d.ts.map +1 -0
- package/dist/lib/types/video.js.map +1 -0
- package/dist/lib/types/youtube.d.ts +140 -0
- package/dist/lib/types/youtube.d.ts.map +1 -0
- package/dist/lib/types/youtube.js +43 -0
- package/dist/lib/types/youtube.js.map +1 -0
- package/dist/lib/utils/chunker.d.ts.map +1 -0
- package/dist/lib/utils/chunker.js.map +1 -0
- package/dist/lib/utils/format.d.ts.map +1 -0
- package/dist/lib/utils/format.js.map +1 -0
- package/dist/lib/utils/logger.d.ts +24 -0
- package/dist/lib/utils/logger.d.ts.map +1 -0
- package/dist/lib/utils/logger.js +83 -0
- package/dist/lib/utils/logger.js.map +1 -0
- package/dist/lib/utils/modelFactory.d.ts +4 -0
- package/dist/lib/utils/modelFactory.d.ts.map +1 -0
- package/dist/lib/utils/modelFactory.js +45 -0
- package/dist/lib/utils/modelFactory.js.map +1 -0
- package/dist/lib/utils/paths.d.ts.map +1 -0
- package/dist/lib/utils/paths.js.map +1 -0
- package/dist/lib/utils/pythonBin.d.ts.map +1 -0
- package/dist/{utils → lib/utils}/pythonBin.js +1 -1
- package/dist/lib/utils/pythonBin.js.map +1 -0
- package/dist/lib/utils/retryAsync.d.ts +19 -0
- package/dist/lib/utils/retryAsync.d.ts.map +1 -0
- package/dist/lib/utils/retryAsync.js +37 -0
- package/dist/lib/utils/retryAsync.js.map +1 -0
- package/package.json +36 -15
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config/env.d.ts +0 -53
- package/dist/config/env.d.ts.map +0 -1
- package/dist/config/env.js +0 -15
- package/dist/config/env.js.map +0 -1
- package/dist/config/index.d.ts +0 -2
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -2
- package/dist/config/index.js.map +0 -1
- package/dist/index.js +0 -37
- package/dist/index.js.map +0 -1
- package/dist/lib.d.ts +0 -17
- package/dist/lib.d.ts.map +0 -1
- package/dist/lib.js +0 -17
- package/dist/lib.js.map +0 -1
- package/dist/pipeline/dumper.d.ts.map +0 -1
- package/dist/pipeline/dumper.js.map +0 -1
- package/dist/pipeline/runner.d.ts.map +0 -1
- package/dist/pipeline/runner.js +0 -132
- package/dist/pipeline/runner.js.map +0 -1
- package/dist/pipeline/stages/audioProcessor.d.ts +0 -19
- package/dist/pipeline/stages/audioProcessor.d.ts.map +0 -1
- package/dist/pipeline/stages/audioProcessor.js +0 -74
- package/dist/pipeline/stages/audioProcessor.js.map +0 -1
- package/dist/pipeline/stages/clipExporter.d.ts +0 -14
- package/dist/pipeline/stages/clipExporter.d.ts.map +0 -1
- package/dist/pipeline/stages/clipExporter.js +0 -41
- package/dist/pipeline/stages/clipExporter.js.map +0 -1
- package/dist/pipeline/stages/segmentAnalyzer.d.ts +0 -26
- package/dist/pipeline/stages/segmentAnalyzer.d.ts.map +0 -1
- package/dist/pipeline/stages/segmentAnalyzer.js +0 -47
- package/dist/pipeline/stages/segmentAnalyzer.js.map +0 -1
- package/dist/pipeline/stages/segmentSelector.d.ts.map +0 -1
- package/dist/pipeline/stages/segmentSelector.js.map +0 -1
- package/dist/pipeline/stages/videoResolver.d.ts +0 -11
- package/dist/pipeline/stages/videoResolver.d.ts.map +0 -1
- package/dist/pipeline/stages/videoResolver.js +0 -32
- package/dist/pipeline/stages/videoResolver.js.map +0 -1
- package/dist/services/audioAnalyzers/base.d.ts.map +0 -1
- package/dist/services/audioAnalyzers/base.js.map +0 -1
- package/dist/services/audioAnalyzers/factory.d.ts.map +0 -1
- package/dist/services/audioAnalyzers/factory.js.map +0 -1
- package/dist/services/audioAnalyzers/gemini.d.ts.map +0 -1
- package/dist/services/audioAnalyzers/gemini.js.map +0 -1
- package/dist/services/audioAnalyzers/index.d.ts.map +0 -1
- package/dist/services/audioAnalyzers/index.js.map +0 -1
- package/dist/services/audioAnalyzers/whisper.d.ts +0 -13
- package/dist/services/audioAnalyzers/whisper.d.ts.map +0 -1
- package/dist/services/audioAnalyzers/whisper.js.map +0 -1
- package/dist/services/audioAnalyzers/yamnet.d.ts +0 -13
- package/dist/services/audioAnalyzers/yamnet.d.ts.map +0 -1
- package/dist/services/audioAnalyzers/yamnet.js.map +0 -1
- package/dist/services/audioDownloader/index.d.ts +0 -2
- package/dist/services/audioDownloader/index.d.ts.map +0 -1
- package/dist/services/audioDownloader/index.js.map +0 -1
- package/dist/services/audioDownloader/sliceAudio.d.ts +0 -2
- package/dist/services/audioDownloader/sliceAudio.d.ts.map +0 -1
- package/dist/services/audioDownloader/sliceAudio.js.map +0 -1
- package/dist/services/chunkBuilder/index.d.ts.map +0 -1
- package/dist/services/chunkBuilder/index.js.map +0 -1
- package/dist/services/clipGenerator/index.d.ts.map +0 -1
- package/dist/services/clipGenerator/index.js +0 -141
- package/dist/services/clipGenerator/index.js.map +0 -1
- package/dist/services/clipRefiner/index.d.ts +0 -10
- package/dist/services/clipRefiner/index.d.ts.map +0 -1
- package/dist/services/clipRefiner/index.js +0 -102
- package/dist/services/clipRefiner/index.js.map +0 -1
- package/dist/services/eventDetector/index.d.ts.map +0 -1
- package/dist/services/eventDetector/index.js.map +0 -1
- package/dist/services/llmAnalyzer/LLMAnalyzer.d.ts +0 -41
- package/dist/services/llmAnalyzer/LLMAnalyzer.d.ts.map +0 -1
- package/dist/services/llmAnalyzer/LLMAnalyzer.js +0 -62
- package/dist/services/llmAnalyzer/LLMAnalyzer.js.map +0 -1
- package/dist/services/llmAnalyzer/index.d.ts +0 -9
- package/dist/services/llmAnalyzer/index.d.ts.map +0 -1
- package/dist/services/llmAnalyzer/index.js +0 -172
- package/dist/services/llmAnalyzer/index.js.map +0 -1
- package/dist/services/metadataExtractor/index.d.ts +0 -12
- package/dist/services/metadataExtractor/index.d.ts.map +0 -1
- package/dist/services/metadataExtractor/index.js.map +0 -1
- package/dist/services/segmentRanker/index.d.ts.map +0 -1
- package/dist/services/segmentRanker/index.js.map +0 -1
- package/dist/services/transcriptAnalyzers/base.d.ts.map +0 -1
- package/dist/services/transcriptAnalyzers/base.js.map +0 -1
- package/dist/services/transcriptAnalyzers/factory.d.ts.map +0 -1
- package/dist/services/transcriptAnalyzers/factory.js.map +0 -1
- package/dist/services/transcriptAnalyzers/gemini.d.ts.map +0 -1
- package/dist/services/transcriptAnalyzers/gemini.js.map +0 -1
- package/dist/services/transcriptAnalyzers/index.d.ts.map +0 -1
- package/dist/services/transcriptAnalyzers/index.js.map +0 -1
- package/dist/services/transcriptAnalyzers/whisper.d.ts.map +0 -1
- package/dist/services/transcriptAnalyzers/whisper.js.map +0 -1
- package/dist/services/transcriptAnalyzers/ytdlp.d.ts +0 -26
- package/dist/services/transcriptAnalyzers/ytdlp.d.ts.map +0 -1
- package/dist/services/transcriptAnalyzers/ytdlp.js +0 -136
- package/dist/services/transcriptAnalyzers/ytdlp.js.map +0 -1
- package/dist/services/transcriptDetector/index.d.ts.map +0 -1
- package/dist/services/transcriptDetector/index.js.map +0 -1
- package/dist/services/urlParser/index.d.ts.map +0 -1
- package/dist/services/urlParser/index.js.map +0 -1
- package/dist/services/videoDownloader/index.d.ts.map +0 -1
- package/dist/services/videoDownloader/index.js +0 -198
- package/dist/services/videoDownloader/index.js.map +0 -1
- package/dist/types/analyzer.d.ts +0 -22
- package/dist/types/analyzer.d.ts.map +0 -1
- package/dist/types/analyzer.js +0 -2
- package/dist/types/analyzer.js.map +0 -1
- package/dist/types/audio.d.ts +0 -26
- package/dist/types/audio.d.ts.map +0 -1
- package/dist/types/audio.js.map +0 -1
- package/dist/types/cache.d.ts +0 -7
- package/dist/types/cache.d.ts.map +0 -1
- package/dist/types/cache.js.map +0 -1
- package/dist/types/cli.d.ts.map +0 -1
- package/dist/types/cli.js.map +0 -1
- package/dist/types/config.d.ts +0 -94
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js +0 -140
- package/dist/types/config.js.map +0 -1
- package/dist/types/downloader.d.ts +0 -11
- package/dist/types/downloader.d.ts.map +0 -1
- package/dist/types/factory.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -18
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js.map +0 -1
- package/dist/types/pipeline.d.ts +0 -50
- package/dist/types/pipeline.d.ts.map +0 -1
- package/dist/types/segment.d.ts.map +0 -1
- package/dist/types/segment.js.map +0 -1
- package/dist/types/transcript.d.ts.map +0 -1
- package/dist/types/transcript.js.map +0 -1
- package/dist/types/video.d.ts.map +0 -1
- package/dist/types/video.js.map +0 -1
- package/dist/utils/cache.d.ts.map +0 -1
- package/dist/utils/cache.js.map +0 -1
- package/dist/utils/cacheBackend.d.ts +0 -40
- package/dist/utils/cacheBackend.d.ts.map +0 -1
- package/dist/utils/cacheBackend.js.map +0 -1
- package/dist/utils/cacheFactory.d.ts.map +0 -1
- package/dist/utils/cacheFactory.js.map +0 -1
- package/dist/utils/chunker.d.ts.map +0 -1
- package/dist/utils/chunker.js.map +0 -1
- package/dist/utils/fileCacheBackend.d.ts.map +0 -1
- package/dist/utils/fileCacheBackend.js.map +0 -1
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -7
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -27
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/modelFactory.d.ts +0 -14
- package/dist/utils/modelFactory.d.ts.map +0 -1
- package/dist/utils/modelFactory.js +0 -61
- package/dist/utils/modelFactory.js.map +0 -1
- package/dist/utils/mongoCacheBackend.d.ts.map +0 -1
- package/dist/utils/mongoCacheBackend.js.map +0 -1
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/paths.js.map +0 -1
- package/dist/utils/pythonBin.d.ts.map +0 -1
- package/dist/utils/pythonBin.js.map +0 -1
- /package/dist/{index.d.ts → app/cli/index.d.ts} +0 -0
- /package/dist/{pipeline → lib/pipeline}/stages/segmentSelector.d.ts +0 -0
- /package/dist/{services/chunkBuilder → lib/services/analysis/transcript/chunker}/index.js +0 -0
- /package/dist/{services/audioAnalyzers → lib/services/audio/analyzer}/index.js +0 -0
- /package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/gemini.js +0 -0
- /package/dist/{services/transcriptAnalyzers → lib/services/audio/transcriber}/index.js +0 -0
- /package/dist/{types → lib/types}/cache.js +0 -0
- /package/dist/{types → lib/types}/cli.d.ts +0 -0
- /package/dist/{types → lib/types}/cli.js +0 -0
- /package/dist/{types → lib/types}/downloader.js +0 -0
- /package/dist/{types → lib/types}/factory.d.ts +0 -0
- /package/dist/{types → lib/types}/factory.js +0 -0
- /package/dist/{types → lib/types}/pipeline.js +0 -0
- /package/dist/{types → lib/types}/segment.js +0 -0
- /package/dist/{types → lib/types}/transcript.d.ts +0 -0
- /package/dist/{types → lib/types}/transcript.js +0 -0
- /package/dist/{types → lib/types}/video.js +0 -0
- /package/dist/{utils → lib/utils}/chunker.d.ts +0 -0
- /package/dist/{utils → lib/utils}/chunker.js +0 -0
- /package/dist/{utils → lib/utils}/format.d.ts +0 -0
- /package/dist/{utils → lib/utils}/format.js +0 -0
- /package/dist/{utils → lib/utils}/paths.d.ts +0 -0
- /package/dist/{utils → lib/utils}/paths.js +0 -0
- /package/dist/{utils → lib/utils}/pythonBin.d.ts +0 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { VideoMetadata } from './video.js';
|
|
2
|
+
import type { LLMAnalyzerResult, StreamCallbacks } from './analyzer.js';
|
|
3
|
+
import type { LanguageModel } from 'ai';
|
|
4
|
+
import type { TranscriptChainConfig, DownloaderConfig, AudioDownloadConfig } from './downloader.js';
|
|
5
|
+
import type { ClipperConfig } from './video.js';
|
|
6
|
+
import type { AnalyzerChainConfig, SlicerConfig } from './audio.js';
|
|
7
|
+
/** A half-open time window [start, end) in seconds. Returned by `buildWindows`. */
|
|
8
|
+
export interface ChunkWindow {
|
|
9
|
+
/** Start of the window in seconds (inclusive). */
|
|
10
|
+
start: number;
|
|
11
|
+
/** End of the window in seconds (exclusive upper bound). */
|
|
12
|
+
end: number;
|
|
13
|
+
}
|
|
14
|
+
export interface VideoResolverResult {
|
|
15
|
+
videoId: string;
|
|
16
|
+
metadata: VideoMetadata;
|
|
17
|
+
}
|
|
18
|
+
export interface AudioProcessorOpts {
|
|
19
|
+
noAudio: boolean;
|
|
20
|
+
gameProfile: string;
|
|
21
|
+
maxParallel: number;
|
|
22
|
+
/** Pre-downloaded audio WAV path. When provided, skips the downloadAudio call. */
|
|
23
|
+
audioPath?: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface SegmentAnalyzerOpts {
|
|
26
|
+
maxChunks?: number;
|
|
27
|
+
maxParallel: number;
|
|
28
|
+
noCache: boolean;
|
|
29
|
+
requestId?: string;
|
|
30
|
+
transcriptProvider: string;
|
|
31
|
+
transcriptChainConfig: TranscriptChainConfig;
|
|
32
|
+
microBlockSec: number;
|
|
33
|
+
chunkLengthSec: number;
|
|
34
|
+
chunkOverlapSec: number;
|
|
35
|
+
model: LanguageModel;
|
|
36
|
+
maxRetries: number;
|
|
37
|
+
systemPrompt: string;
|
|
38
|
+
llmModel: string;
|
|
39
|
+
callbacks?: StreamCallbacks;
|
|
40
|
+
/** Optional video title, threaded to the refiner prompt for boundary context. */
|
|
41
|
+
videoTitle?: string;
|
|
42
|
+
/** Optional AbortSignal threaded down to the underlying LLM streamText calls. */
|
|
43
|
+
signal?: AbortSignal;
|
|
44
|
+
}
|
|
45
|
+
export type SegmentAnalyzerResult = LLMAnalyzerResult;
|
|
46
|
+
export interface SegmentSelectorOpts {
|
|
47
|
+
threshold: number;
|
|
48
|
+
topN: number;
|
|
49
|
+
boostWindow: number;
|
|
50
|
+
scoreBoost: number;
|
|
51
|
+
preRoll: number;
|
|
52
|
+
postRoll: number;
|
|
53
|
+
}
|
|
54
|
+
export interface ClipExporterOpts {
|
|
55
|
+
/** Path to a pre-existing local video file. Skips yt-dlp download entirely. */
|
|
56
|
+
localVideo?: string;
|
|
57
|
+
/**
|
|
58
|
+
* yt-dlp download strategy.
|
|
59
|
+
* - `'all'` — download the full video, then cut clips with ffmpeg
|
|
60
|
+
* - number — download only the top-N segments via --download-sections
|
|
61
|
+
* - undefined — same as `'all'`
|
|
62
|
+
*/
|
|
63
|
+
downloadSections: 'all' | number | undefined;
|
|
64
|
+
/** Custom output/download directory (overrides config.DOWNLOAD_DIR / config.OUTPUT_DIR). */
|
|
65
|
+
videoPath?: string;
|
|
66
|
+
clipConcurrency: number;
|
|
67
|
+
}
|
|
68
|
+
export interface ClipExporterConfig {
|
|
69
|
+
downloader: DownloaderConfig;
|
|
70
|
+
clipper: ClipperConfig;
|
|
71
|
+
downloadSectionsMode: 'all' | number | undefined;
|
|
72
|
+
}
|
|
73
|
+
export interface AudioProcessorConfig {
|
|
74
|
+
audioEnabled: boolean;
|
|
75
|
+
audioProvider: string;
|
|
76
|
+
chunkLengthSec: number;
|
|
77
|
+
chunkOverlapSec: number;
|
|
78
|
+
outputDir: string;
|
|
79
|
+
audioDownloadConfig: AudioDownloadConfig;
|
|
80
|
+
slicerConfig: SlicerConfig;
|
|
81
|
+
analyzerChainConfig: AnalyzerChainConfig;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/lib/types/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpE,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iFAAiF;IACjF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,gBAAgB,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC;IACvB,oBAAoB,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,YAAY,EAAE,YAAY,CAAC;IAC3B,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/lib/types/pipeline.ts"],"names":[],"mappings":""}
|
|
@@ -14,9 +14,9 @@ export declare const RankedSegmentSchema: z.ZodObject<{
|
|
|
14
14
|
score: z.ZodNumber;
|
|
15
15
|
reason: z.ZodString;
|
|
16
16
|
source: z.ZodEnum<{
|
|
17
|
-
both: "both";
|
|
18
17
|
transcript: "transcript";
|
|
19
18
|
audio: "audio";
|
|
19
|
+
both: "both";
|
|
20
20
|
}>;
|
|
21
21
|
audio_event: z.ZodOptional<z.ZodString>;
|
|
22
22
|
}, z.core.$strip>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment.d.ts","sourceRoot":"","sources":["../../../src/lib/types/segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;iBAQ9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAQhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;6BAahC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segment.js","sourceRoot":"","sources":["../../../src/lib/types/segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IAClE,yBAAyB,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5B,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;QACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;KACrB,CAAC;IACF,yBAAyB,CAAC,MAAM,CAAC;QAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../../src/lib/types/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../../src/lib/types/transcript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import type { TranscriptLine } from './transcript.js';
|
|
2
3
|
export declare const VideoMetadataSchema: z.ZodObject<{
|
|
3
4
|
videoId: z.ZodString;
|
|
4
5
|
title: z.ZodString;
|
|
@@ -33,12 +34,38 @@ export declare const PipelineResultSchema: z.ZodObject<{
|
|
|
33
34
|
score: z.ZodNumber;
|
|
34
35
|
reason: z.ZodString;
|
|
35
36
|
source: z.ZodEnum<{
|
|
36
|
-
both: "both";
|
|
37
37
|
transcript: "transcript";
|
|
38
38
|
audio: "audio";
|
|
39
|
+
both: "both";
|
|
39
40
|
}>;
|
|
40
41
|
audio_event: z.ZodOptional<z.ZodString>;
|
|
41
42
|
}, z.core.$strip>>;
|
|
42
43
|
}, z.core.$strip>;
|
|
43
44
|
export type PipelineResult = z.infer<typeof PipelineResultSchema>;
|
|
45
|
+
export type DownloadMode = 'all' | 'segments';
|
|
46
|
+
export interface DownloadResultAll {
|
|
47
|
+
mode: 'all';
|
|
48
|
+
path: string;
|
|
49
|
+
}
|
|
50
|
+
export interface DownloadResultSegments {
|
|
51
|
+
mode: 'segments';
|
|
52
|
+
paths: string[];
|
|
53
|
+
}
|
|
54
|
+
export type DownloadResult = DownloadResultAll | DownloadResultSegments;
|
|
55
|
+
export interface VideoSource {
|
|
56
|
+
readonly name: string;
|
|
57
|
+
resolve(input: string): Promise<{
|
|
58
|
+
videoId: string;
|
|
59
|
+
metadata: VideoMetadata;
|
|
60
|
+
}>;
|
|
61
|
+
downloadVideo(videoId: string, mode: 'all' | number, segments?: unknown[], customPath?: string): Promise<DownloadResult>;
|
|
62
|
+
getSubtitles(videoId: string): Promise<TranscriptLine[]>;
|
|
63
|
+
}
|
|
64
|
+
export interface ClipperConfig {
|
|
65
|
+
ffmpegPath?: string;
|
|
66
|
+
ffprobePath?: string;
|
|
67
|
+
timestampOffset: number;
|
|
68
|
+
ffmpegPreset: string;
|
|
69
|
+
outputDir: string;
|
|
70
|
+
}
|
|
44
71
|
//# sourceMappingURL=video.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../../src/lib/types/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAExE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAE9E,aAAa,CACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,GAAG,MAAM,EACpB,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,CAAC,CAAC;IAE3B,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAC1D;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/lib/types/video.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAI1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU;CACjC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,UAAU;IAChC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC;CACvC,CAAC,CAAC"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const YouTubeThumbnailSchema: z.ZodObject<{
|
|
3
|
+
url: z.ZodString;
|
|
4
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export type YouTubeThumbnail = z.infer<typeof YouTubeThumbnailSchema>;
|
|
8
|
+
export declare const ChannelSummarySchema: z.ZodObject<{
|
|
9
|
+
id: z.ZodString;
|
|
10
|
+
title: z.ZodString;
|
|
11
|
+
description: z.ZodString;
|
|
12
|
+
handle: z.ZodOptional<z.ZodString>;
|
|
13
|
+
customUrl: z.ZodOptional<z.ZodString>;
|
|
14
|
+
thumbnail: z.ZodOptional<z.ZodObject<{
|
|
15
|
+
url: z.ZodString;
|
|
16
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
uploadsPlaylistId: z.ZodString;
|
|
20
|
+
subscriberCount: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
videoCount: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
viewCount: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export type ChannelSummary = z.infer<typeof ChannelSummarySchema>;
|
|
25
|
+
export declare const VideoSummarySchema: z.ZodObject<{
|
|
26
|
+
id: z.ZodString;
|
|
27
|
+
channelId: z.ZodString;
|
|
28
|
+
channelTitle: z.ZodString;
|
|
29
|
+
title: z.ZodString;
|
|
30
|
+
description: z.ZodString;
|
|
31
|
+
publishedAt: z.ZodString;
|
|
32
|
+
thumbnail: z.ZodOptional<z.ZodObject<{
|
|
33
|
+
url: z.ZodString;
|
|
34
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
36
|
+
}, z.core.$strip>>;
|
|
37
|
+
durationSec: z.ZodNumber;
|
|
38
|
+
viewCount: z.ZodOptional<z.ZodNumber>;
|
|
39
|
+
likeCount: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
commentCount: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
privacyStatus: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
export type VideoSummary = z.infer<typeof VideoSummarySchema>;
|
|
44
|
+
export declare const VideoDetailsSchema: z.ZodObject<{
|
|
45
|
+
id: z.ZodString;
|
|
46
|
+
channelId: z.ZodString;
|
|
47
|
+
channelTitle: z.ZodString;
|
|
48
|
+
title: z.ZodString;
|
|
49
|
+
description: z.ZodString;
|
|
50
|
+
publishedAt: z.ZodString;
|
|
51
|
+
thumbnail: z.ZodOptional<z.ZodObject<{
|
|
52
|
+
url: z.ZodString;
|
|
53
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
durationSec: z.ZodNumber;
|
|
57
|
+
viewCount: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
likeCount: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
commentCount: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
privacyStatus: z.ZodOptional<z.ZodString>;
|
|
61
|
+
tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
62
|
+
embedHtml: z.ZodOptional<z.ZodString>;
|
|
63
|
+
}, z.core.$strip>;
|
|
64
|
+
export type VideoDetails = z.infer<typeof VideoDetailsSchema>;
|
|
65
|
+
export declare const VideoPageSchema: z.ZodObject<{
|
|
66
|
+
channelId: z.ZodString;
|
|
67
|
+
videos: z.ZodArray<z.ZodObject<{
|
|
68
|
+
id: z.ZodString;
|
|
69
|
+
channelId: z.ZodString;
|
|
70
|
+
channelTitle: z.ZodString;
|
|
71
|
+
title: z.ZodString;
|
|
72
|
+
description: z.ZodString;
|
|
73
|
+
publishedAt: z.ZodString;
|
|
74
|
+
thumbnail: z.ZodOptional<z.ZodObject<{
|
|
75
|
+
url: z.ZodString;
|
|
76
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
77
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
78
|
+
}, z.core.$strip>>;
|
|
79
|
+
durationSec: z.ZodNumber;
|
|
80
|
+
viewCount: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
likeCount: z.ZodOptional<z.ZodNumber>;
|
|
82
|
+
commentCount: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
privacyStatus: z.ZodOptional<z.ZodString>;
|
|
84
|
+
}, z.core.$strip>>;
|
|
85
|
+
nextPageToken: z.ZodOptional<z.ZodString>;
|
|
86
|
+
prevPageToken: z.ZodOptional<z.ZodString>;
|
|
87
|
+
}, z.core.$strip>;
|
|
88
|
+
export type VideoPage = z.infer<typeof VideoPageSchema>;
|
|
89
|
+
export interface YouTubeCatalogService {
|
|
90
|
+
resolveChannel(input: string): Promise<ChannelSummary>;
|
|
91
|
+
listChannelVideos(channelId: string, pageToken?: string): Promise<VideoPage>;
|
|
92
|
+
getVideoDetails(videoId: string): Promise<VideoDetails>;
|
|
93
|
+
}
|
|
94
|
+
export type ChannelLookup = {
|
|
95
|
+
kind: 'id';
|
|
96
|
+
value: string;
|
|
97
|
+
} | {
|
|
98
|
+
kind: 'handle';
|
|
99
|
+
value: string;
|
|
100
|
+
} | {
|
|
101
|
+
kind: 'username';
|
|
102
|
+
value: string;
|
|
103
|
+
};
|
|
104
|
+
export interface YtDlpJson {
|
|
105
|
+
title: string;
|
|
106
|
+
duration: number;
|
|
107
|
+
}
|
|
108
|
+
export interface OEmbedResponse {
|
|
109
|
+
title: string;
|
|
110
|
+
}
|
|
111
|
+
export interface YouTubeCaptionTrack {
|
|
112
|
+
baseUrl: string;
|
|
113
|
+
kind?: string;
|
|
114
|
+
languageCode: string;
|
|
115
|
+
}
|
|
116
|
+
export interface YouTubePlayerResponse {
|
|
117
|
+
playabilityStatus?: {
|
|
118
|
+
status?: string;
|
|
119
|
+
reason?: string;
|
|
120
|
+
errorScreen?: {
|
|
121
|
+
playerErrorMessageRenderer?: {
|
|
122
|
+
reason?: {
|
|
123
|
+
simpleText?: string;
|
|
124
|
+
};
|
|
125
|
+
subreason?: {
|
|
126
|
+
simpleText?: string;
|
|
127
|
+
runs?: Array<{
|
|
128
|
+
text?: string;
|
|
129
|
+
}>;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
captions?: {
|
|
135
|
+
playerCaptionsTracklistRenderer?: {
|
|
136
|
+
captionTracks?: YouTubeCaptionTrack[];
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=youtube.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../../src/lib/types/youtube.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;iBAW/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAa7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;iBAG7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;iBAK1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACvD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7E,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACzD;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE;YACZ,0BAA0B,CAAC,EAAE;gBAC3B,MAAM,CAAC,EAAE;oBACP,UAAU,CAAC,EAAE,MAAM,CAAC;iBACrB,CAAC;gBACF,SAAS,CAAC,EAAE;oBACV,UAAU,CAAC,EAAE,MAAM,CAAC;oBACpB,IAAI,CAAC,EAAE,KAAK,CAAC;wBACX,IAAI,CAAC,EAAE,MAAM,CAAC;qBACf,CAAC,CAAC;iBACJ,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,+BAA+B,CAAC,EAAE;YAChC,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;SACvC,CAAC;KACH,CAAC;CACH"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const YouTubeThumbnailSchema = z.object({
|
|
3
|
+
url: z.string().url(),
|
|
4
|
+
width: z.number().int().positive().optional(),
|
|
5
|
+
height: z.number().int().positive().optional(),
|
|
6
|
+
});
|
|
7
|
+
export const ChannelSummarySchema = z.object({
|
|
8
|
+
id: z.string(),
|
|
9
|
+
title: z.string(),
|
|
10
|
+
description: z.string(),
|
|
11
|
+
handle: z.string().optional(),
|
|
12
|
+
customUrl: z.string().optional(),
|
|
13
|
+
thumbnail: YouTubeThumbnailSchema.optional(),
|
|
14
|
+
uploadsPlaylistId: z.string(),
|
|
15
|
+
subscriberCount: z.number().int().nonnegative().optional(),
|
|
16
|
+
videoCount: z.number().int().nonnegative().optional(),
|
|
17
|
+
viewCount: z.number().int().nonnegative().optional(),
|
|
18
|
+
});
|
|
19
|
+
export const VideoSummarySchema = z.object({
|
|
20
|
+
id: z.string(),
|
|
21
|
+
channelId: z.string(),
|
|
22
|
+
channelTitle: z.string(),
|
|
23
|
+
title: z.string(),
|
|
24
|
+
description: z.string(),
|
|
25
|
+
publishedAt: z.string(),
|
|
26
|
+
thumbnail: YouTubeThumbnailSchema.optional(),
|
|
27
|
+
durationSec: z.number().nonnegative(),
|
|
28
|
+
viewCount: z.number().int().nonnegative().optional(),
|
|
29
|
+
likeCount: z.number().int().nonnegative().optional(),
|
|
30
|
+
commentCount: z.number().int().nonnegative().optional(),
|
|
31
|
+
privacyStatus: z.string().optional(),
|
|
32
|
+
});
|
|
33
|
+
export const VideoDetailsSchema = VideoSummarySchema.extend({
|
|
34
|
+
tags: z.array(z.string()).default([]),
|
|
35
|
+
embedHtml: z.string().optional(),
|
|
36
|
+
});
|
|
37
|
+
export const VideoPageSchema = z.object({
|
|
38
|
+
channelId: z.string(),
|
|
39
|
+
videos: z.array(VideoSummarySchema),
|
|
40
|
+
nextPageToken: z.string().optional(),
|
|
41
|
+
prevPageToken: z.string().optional(),
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=youtube.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"youtube.js","sourceRoot":"","sources":["../../../src/lib/types/youtube.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAU,GACrB,WAAW,EAAE,CAgBf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunker.js","sourceRoot":"","sources":["../../../src/lib/utils/chunker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,YAAY,CAC1B,aAAqB,EACrB,SAAiB,EACjB,aAAqB,CAAC;IAEtB,IAAI,aAAa,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACpD,IAAI,UAAU,GAAG,CAAC;QAAE,UAAU,GAAG,CAAC,CAAC;IACnC,IAAI,UAAU,IAAI,SAAS;QAAE,UAAU,GAAG,CAAC,CAAC,CAAC,8BAA8B;IAE3E,MAAM,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC;IACpC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK;YACL,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,EAAE,aAAa,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAYnD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../src/lib/utils/format.ts"],"names":[],"mappings":"AAEA,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,gBAAgB;IAChB,mBAAmB;IACnB,8BAA8B;IAC9B,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,aAAa;CACd,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAQ,MAAM,CAAC,OAAO,CAAC,GAAG,CAAyB;SAChD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SAClC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare function generateRequestId(): string;
|
|
2
|
+
export declare const log: {
|
|
3
|
+
info: (fn: string, msg: string, requestId?: string, meta?: Record<string, unknown>) => void;
|
|
4
|
+
warn: (fn: string, msg: string, requestId?: string, meta?: Record<string, unknown>) => void;
|
|
5
|
+
error: (fn: string, msg: string, requestId?: string, meta?: Record<string, unknown>) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Logs a yt-dlp / ffmpeg progress stream chunk.
|
|
8
|
+
* Splits on \r and \n so yt-dlp in-place progress lines become separate log lines.
|
|
9
|
+
*/
|
|
10
|
+
progress: (fn: string, data: Buffer | string, requestId?: string) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Logs function entry (fn→) and returns a done-callback that logs exit (fn←)
|
|
13
|
+
* with elapsed time merged into the result object.
|
|
14
|
+
*
|
|
15
|
+
* Signature change from old logger: requestId is now the 2nd argument (not 3rd).
|
|
16
|
+
*/
|
|
17
|
+
fnCalled: (fn: string, requestId?: string, meta?: Record<string, unknown>) => ((result?: Record<string, unknown>) => void);
|
|
18
|
+
/**
|
|
19
|
+
* Logs HTTP request entry (req→) and returns a done-callback that logs
|
|
20
|
+
* exit (req←) with status and elapsed time.
|
|
21
|
+
*/
|
|
22
|
+
request: (method: string, path: string, requestId?: string, meta?: Record<string, unknown>) => ((status: number) => void);
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"AA0CA,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,eAAO,MAAM,GAAG;eACH,MAAM,OAAO,MAAM,cAAc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAAI;eAI9E,MAAM,OAAO,MAAM,cAAc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAAI;gBAI7E,MAAM,OAAO,MAAM,cAAc,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAAI;IAI1F;;;OAGG;mBACY,MAAM,QAAQ,MAAM,GAAG,MAAM,cAAc,MAAM,KAAG,IAAI;IAQvE;;;;;OAKG;mBAEG,MAAM,cACE,MAAM,SACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAU/C;;;OAGG;sBAEO,MAAM,QACR,MAAM,cACA,MAAM,SACX,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAS9B,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { nanoid } from 'nanoid';
|
|
2
|
+
// Read directly from process.env — avoids circular import with config module.
|
|
3
|
+
const COLOR_ENABLED = process.env['LOG_COLOR'] !== 'false';
|
|
4
|
+
const C = {
|
|
5
|
+
reset: COLOR_ENABLED ? '\x1b[0m' : '',
|
|
6
|
+
dim: COLOR_ENABLED ? '\x1b[2m' : '',
|
|
7
|
+
cyan: COLOR_ENABLED ? '\x1b[36m' : '',
|
|
8
|
+
blue: COLOR_ENABLED ? '\x1b[34m' : '',
|
|
9
|
+
green: COLOR_ENABLED ? '\x1b[32m' : '',
|
|
10
|
+
yellow: COLOR_ENABLED ? '\x1b[33m' : '',
|
|
11
|
+
red: COLOR_ENABLED ? '\x1b[31m' : '',
|
|
12
|
+
magenta: COLOR_ENABLED ? '\x1b[35m' : '',
|
|
13
|
+
};
|
|
14
|
+
function getTimestamp() {
|
|
15
|
+
const now = new Date();
|
|
16
|
+
const h = String(now.getHours()).padStart(2, '0');
|
|
17
|
+
const m = String(now.getMinutes()).padStart(2, '0');
|
|
18
|
+
const s = String(now.getSeconds()).padStart(2, '0');
|
|
19
|
+
const ms = String(now.getMilliseconds()).padStart(3, '0');
|
|
20
|
+
return `[${h}:${m}:${s}.${ms}]`;
|
|
21
|
+
}
|
|
22
|
+
function buildLine(fn, levelColor, levelLabel, msg, requestId, meta) {
|
|
23
|
+
const ts = `${C.dim}${getTimestamp()}${C.reset}`;
|
|
24
|
+
const rid = `${C.cyan}${requestId ?? '-'}${C.reset}`;
|
|
25
|
+
const fnPart = `${C.blue}${fn}${C.reset}`;
|
|
26
|
+
const label = `${levelColor}${levelLabel}${C.reset}`;
|
|
27
|
+
const metaPart = meta && Object.keys(meta).length > 0 ? ` ${C.dim}${JSON.stringify(meta)}${C.reset}` : '';
|
|
28
|
+
return `${ts} | ${rid} | ${fnPart} | ${label} ${msg}${metaPart}`;
|
|
29
|
+
}
|
|
30
|
+
export function generateRequestId() {
|
|
31
|
+
return nanoid(24);
|
|
32
|
+
}
|
|
33
|
+
export const log = {
|
|
34
|
+
info: (fn, msg, requestId, meta) => {
|
|
35
|
+
console.log(buildLine(fn, C.green, 'info', msg, requestId, meta));
|
|
36
|
+
},
|
|
37
|
+
warn: (fn, msg, requestId, meta) => {
|
|
38
|
+
console.warn(buildLine(fn, C.yellow, 'warn', msg, requestId, meta));
|
|
39
|
+
},
|
|
40
|
+
error: (fn, msg, requestId, meta) => {
|
|
41
|
+
console.error(buildLine(fn, C.red, 'error', msg, requestId, meta));
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* Logs a yt-dlp / ffmpeg progress stream chunk.
|
|
45
|
+
* Splits on \r and \n so yt-dlp in-place progress lines become separate log lines.
|
|
46
|
+
*/
|
|
47
|
+
progress: (fn, data, requestId) => {
|
|
48
|
+
const text = String(data);
|
|
49
|
+
const lines = text.split(/[\r\n]+/).filter((l) => l.trim());
|
|
50
|
+
for (const l of lines) {
|
|
51
|
+
console.log(buildLine(fn, C.dim, 'prog', l, requestId));
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
/**
|
|
55
|
+
* Logs function entry (fn→) and returns a done-callback that logs exit (fn←)
|
|
56
|
+
* with elapsed time merged into the result object.
|
|
57
|
+
*
|
|
58
|
+
* Signature change from old logger: requestId is now the 2nd argument (not 3rd).
|
|
59
|
+
*/
|
|
60
|
+
fnCalled: (fn, requestId, meta) => {
|
|
61
|
+
const start = Date.now();
|
|
62
|
+
console.log(buildLine(fn, C.magenta, 'fn\u2192', '', requestId, meta));
|
|
63
|
+
return (result) => {
|
|
64
|
+
const elapsedMs = Date.now() - start;
|
|
65
|
+
const resultWithElapsed = { ...(result ?? {}), elapsedMs };
|
|
66
|
+
console.log(buildLine(fn, C.magenta, 'fn\u2190', '', requestId, resultWithElapsed));
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
/**
|
|
70
|
+
* Logs HTTP request entry (req→) and returns a done-callback that logs
|
|
71
|
+
* exit (req←) with status and elapsed time.
|
|
72
|
+
*/
|
|
73
|
+
request: (method, path, requestId, meta) => {
|
|
74
|
+
const start = Date.now();
|
|
75
|
+
const fn = `${method} ${path}`;
|
|
76
|
+
console.log(buildLine(fn, C.magenta, 'req\u2192', '', requestId, meta));
|
|
77
|
+
return (status) => {
|
|
78
|
+
const elapsedMs = Date.now() - start;
|
|
79
|
+
console.log(buildLine(fn, C.magenta, 'req\u2190', '', requestId, { status, elapsedMs }));
|
|
80
|
+
};
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/lib/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelFactory.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/modelFactory.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,mBAAmB,GAC3B,aAAa,CA6Cf"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createOpenAI, openai } from '@ai-sdk/openai';
|
|
2
|
+
import { anthropic } from '@ai-sdk/anthropic';
|
|
3
|
+
import { google } from '@ai-sdk/google';
|
|
4
|
+
import { xai } from '@ai-sdk/xai';
|
|
5
|
+
import { mistral } from '@ai-sdk/mistral';
|
|
6
|
+
import { groq } from '@ai-sdk/groq';
|
|
7
|
+
import { createOpenAICompatible } from '@ai-sdk/openai-compatible';
|
|
8
|
+
export function getModel(provider, model, apiKeys) {
|
|
9
|
+
switch (provider) {
|
|
10
|
+
case 'openai':
|
|
11
|
+
return openai.languageModel(model);
|
|
12
|
+
case 'anthropic':
|
|
13
|
+
return anthropic.languageModel(model);
|
|
14
|
+
case 'google':
|
|
15
|
+
return google.languageModel(model);
|
|
16
|
+
case 'xai':
|
|
17
|
+
return xai.languageModel(model);
|
|
18
|
+
case 'mistral':
|
|
19
|
+
return mistral.languageModel(model);
|
|
20
|
+
case 'groq':
|
|
21
|
+
return groq.languageModel(model);
|
|
22
|
+
case 'zai':
|
|
23
|
+
return createOpenAICompatible({
|
|
24
|
+
name: 'zai',
|
|
25
|
+
baseURL: 'https://api.z.ai/api/coding/paas/v4',
|
|
26
|
+
apiKey: apiKeys.ZAI_API_KEY,
|
|
27
|
+
supportsStructuredOutputs: true,
|
|
28
|
+
}).languageModel(model);
|
|
29
|
+
case 'openrouter':
|
|
30
|
+
return createOpenAI({
|
|
31
|
+
baseURL: 'https://openrouter.ai/api/v1',
|
|
32
|
+
apiKey: apiKeys.OPENROUTER_API_KEY,
|
|
33
|
+
}).languageModel(model);
|
|
34
|
+
case 'custom':
|
|
35
|
+
return createOpenAICompatible({
|
|
36
|
+
name: 'custom',
|
|
37
|
+
baseURL: apiKeys.CUSTOM_OPENAI_BASE_URL,
|
|
38
|
+
apiKey: apiKeys.CUSTOM_OPENAI_API_KEY,
|
|
39
|
+
supportsStructuredOutputs: true,
|
|
40
|
+
}).languageModel(model);
|
|
41
|
+
default:
|
|
42
|
+
throw new Error(`Unknown LLM provider: ${provider}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=modelFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelFactory.js","sourceRoot":"","sources":["../../../src/lib/utils/modelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,UAAU,QAAQ,CACtB,QAAgB,EAChB,KAAa,EACb,OAA4B;IAE5B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAErC,KAAK,WAAW;YACd,OAAO,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAExC,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAErC,KAAK,KAAK;YACR,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAElC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEtC,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEnC,KAAK,KAAK;YACR,OAAO,sBAAsB,CAAC;gBAC5B,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,qCAAqC;gBAC9C,MAAM,EAAE,OAAO,CAAC,WAAY;gBAC5B,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;gBAClB,OAAO,EAAE,8BAA8B;gBACvC,MAAM,EAAE,OAAO,CAAC,kBAAkB;aACnC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B,KAAK,QAAQ;YACX,OAAO,sBAAsB,CAAC;gBAC5B,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,OAAO,CAAC,sBAAuB;gBACxC,MAAM,EAAE,OAAO,CAAC,qBAAqB;gBACrC,yBAAyB,EAAE,IAAI;aAChC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE1B;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/paths.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,MAAqE,CAAC;AAEjG;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/lib/utils/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAW,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pythonBin.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/pythonBin.ts"],"names":[],"mappings":"AAUA,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAgBpD"}
|
|
@@ -16,7 +16,7 @@ export async function getPythonBin() {
|
|
|
16
16
|
return bin;
|
|
17
17
|
}
|
|
18
18
|
catch {
|
|
19
|
-
log.warn(`${bin} not found, trying next binary...`);
|
|
19
|
+
log.warn('getPythonBin', `${bin} not found, trying next binary...`);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
throw new Error('No Python interpreter found (tried python3, python). Install Python 3 to use YAMNet or Whisper.');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pythonBin.js","sourceRoot":"","sources":["../../../src/lib/utils/pythonBin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;;;GAIG;AACH,IAAI,UAAU,GAAkB,IAAI,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YAChC,UAAU,GAAG,GAAG,CAAC;YACjB,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,GAAG,mCAAmC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retries an async function up to `retries` times on any thrown error.
|
|
3
|
+
*
|
|
4
|
+
* Backoff schedule: delay = baseDelayMs × 2^attempt
|
|
5
|
+
* attempt 0 fails → wait baseDelayMs (e.g. 2000ms)
|
|
6
|
+
* attempt 1 fails → wait baseDelayMs×2 (e.g. 4000ms)
|
|
7
|
+
* attempt 2 fails → wait baseDelayMs×4 (e.g. 8000ms)
|
|
8
|
+
* …
|
|
9
|
+
*
|
|
10
|
+
* When retries = 0 the function is called exactly once with no retry.
|
|
11
|
+
* The final error (after all attempts) is re-thrown to the caller.
|
|
12
|
+
*
|
|
13
|
+
* @param fn - Async function to execute
|
|
14
|
+
* @param retries - Maximum number of additional attempts after the first failure
|
|
15
|
+
* @param baseDelayMs - Base delay in milliseconds for the first retry
|
|
16
|
+
* @param label - Optional label included in warn logs (e.g. "yt-dlp:videoId")
|
|
17
|
+
*/
|
|
18
|
+
export declare function retryAsync<T>(fn: () => Promise<T>, retries: number, baseDelayMs: number, label?: string): Promise<T>;
|
|
19
|
+
//# sourceMappingURL=retryAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retryAsync.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/retryAsync.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,CAuBZ"}
|