@thunderkiller/video-clipper 1.8.0 → 1.10.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/dist/app/cli/args.d.ts.map +1 -1
- package/dist/app/cli/args.js +13 -13
- package/dist/app/cli/args.js.map +1 -1
- package/dist/app/cli/index.js +10 -9
- package/dist/app/cli/index.js.map +1 -1
- package/dist/app/cli/pipeline/dumper.d.ts.map +1 -1
- package/dist/app/cli/pipeline/dumper.js +4 -4
- package/dist/app/cli/pipeline/dumper.js.map +1 -1
- package/dist/app/cli/pipeline/runner.d.ts +1 -1
- package/dist/app/cli/pipeline/runner.d.ts.map +1 -1
- package/dist/app/cli/pipeline/runner.js +16 -15
- package/dist/app/cli/pipeline/runner.js.map +1 -1
- package/dist/app/cli/pipeline/stages/audioProcessor.d.ts +2 -15
- package/dist/app/cli/pipeline/stages/audioProcessor.d.ts.map +1 -1
- package/dist/app/cli/pipeline/stages/audioProcessor.js +7 -7
- package/dist/app/cli/pipeline/stages/audioProcessor.js.map +1 -1
- package/dist/app/cli/pipeline/stages/videoResolver.d.ts.map +1 -1
- package/dist/app/cli/pipeline/stages/videoResolver.js +2 -2
- package/dist/app/cli/pipeline/stages/videoResolver.js.map +1 -1
- package/dist/app/web/lib/activity/analysisActivity.d.ts +3 -5
- package/dist/app/web/lib/activity/analysisActivity.d.ts.map +1 -1
- package/dist/app/web/lib/activity/analysisActivity.js.map +1 -1
- package/dist/app/web/lib/analysisStream.d.ts +3 -11
- package/dist/app/web/lib/analysisStream.d.ts.map +1 -1
- package/dist/app/web/lib/analysisStream.js +26 -3
- package/dist/app/web/lib/analysisStream.js.map +1 -1
- package/dist/app/web/lib/captionTemplates.d.ts +3 -0
- package/dist/app/web/lib/captionTemplates.d.ts.map +1 -0
- package/dist/app/web/lib/captionTemplates.js +98 -0
- package/dist/app/web/lib/captionTemplates.js.map +1 -0
- package/dist/app/web/lib/format.d.ts +2 -0
- package/dist/app/web/lib/format.d.ts.map +1 -1
- package/dist/app/web/lib/format.js +20 -0
- package/dist/app/web/lib/format.js.map +1 -1
- package/dist/app/web/lib/services/analysis/analysisService.d.ts +1 -1
- package/dist/app/web/lib/services/analysis/analysisService.d.ts.map +1 -1
- package/dist/app/web/lib/services/analysis/analysisService.js +5 -4
- package/dist/app/web/lib/services/analysis/analysisService.js.map +1 -1
- package/dist/app/web/lib/services/analysis/streamEvents.d.ts +2 -1
- package/dist/app/web/lib/services/analysis/streamEvents.d.ts.map +1 -1
- package/dist/app/web/lib/services/analysis/streamEvents.js +1 -1
- package/dist/app/web/lib/services/analysis/streamEvents.js.map +1 -1
- package/dist/app/web/lib/services/analysis/transcriptService.d.ts.map +1 -1
- package/dist/app/web/lib/services/analysis/transcriptService.js +1 -2
- package/dist/app/web/lib/services/analysis/transcriptService.js.map +1 -1
- package/dist/app/web/lib/services/artifacts/artifactStore.d.ts +9 -0
- package/dist/app/web/lib/services/artifacts/artifactStore.d.ts.map +1 -1
- package/dist/app/web/lib/services/artifacts/artifactStore.js +45 -0
- package/dist/app/web/lib/services/artifacts/artifactStore.js.map +1 -1
- package/dist/app/web/lib/services/clipping/clipEditService.d.ts +12 -0
- package/dist/app/web/lib/services/clipping/clipEditService.d.ts.map +1 -0
- package/dist/app/web/lib/services/clipping/clipEditService.js +73 -0
- package/dist/app/web/lib/services/clipping/clipEditService.js.map +1 -0
- package/dist/app/web/lib/services/clipping/clipService.d.ts.map +1 -1
- package/dist/app/web/lib/services/clipping/clipService.js +27 -5
- package/dist/app/web/lib/services/clipping/clipService.js.map +1 -1
- package/dist/app/web/lib/services/config/webConfig.d.ts +2 -8
- package/dist/app/web/lib/services/config/webConfig.d.ts.map +1 -1
- package/dist/app/web/lib/services/config/webConfig.js.map +1 -1
- package/dist/app/web/lib/services/publishing/draftService.d.ts +1 -0
- package/dist/app/web/lib/services/publishing/draftService.d.ts.map +1 -1
- package/dist/app/web/lib/services/publishing/draftService.js +60 -9
- package/dist/app/web/lib/services/publishing/draftService.js.map +1 -1
- package/dist/app/web/lib/services/publishing/metadataCache.d.ts +1 -9
- package/dist/app/web/lib/services/publishing/metadataCache.d.ts.map +1 -1
- package/dist/app/web/lib/services/publishing/metadataCache.js +3 -9
- package/dist/app/web/lib/services/publishing/metadataCache.js.map +1 -1
- package/dist/app/web/lib/services/publishing/metadataService.d.ts.map +1 -1
- package/dist/app/web/lib/services/publishing/metadataService.js +10 -16
- package/dist/app/web/lib/services/publishing/metadataService.js.map +1 -1
- package/dist/app/web/lib/services/publishing/uploadService.d.ts +3 -6
- package/dist/app/web/lib/services/publishing/uploadService.d.ts.map +1 -1
- package/dist/app/web/lib/services/publishing/uploadService.js +107 -27
- package/dist/app/web/lib/services/publishing/uploadService.js.map +1 -1
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.d.ts +2 -1
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.d.ts.map +1 -1
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.js +1 -1
- package/dist/app/web/lib/services/publishing/uploadStreamEvents.js.map +1 -1
- package/dist/app/web/lib/services/subtitles/subtitlePlanService.d.ts +5 -0
- package/dist/app/web/lib/services/subtitles/subtitlePlanService.d.ts.map +1 -0
- package/dist/app/web/lib/services/subtitles/subtitlePlanService.js +113 -0
- package/dist/app/web/lib/services/subtitles/subtitlePlanService.js.map +1 -0
- package/dist/app/web/lib/services/youtube/catalogFactory.d.ts +1 -1
- package/dist/app/web/lib/services/youtube/catalogFactory.d.ts.map +1 -1
- package/dist/app/web/lib/services/youtube/uploadAuth.d.ts +1 -6
- package/dist/app/web/lib/services/youtube/uploadAuth.d.ts.map +1 -1
- package/dist/app/web/lib/services/youtube/uploadAuth.js +34 -7
- package/dist/app/web/lib/services/youtube/uploadAuth.js.map +1 -1
- package/dist/app/web/lib/{configStore.d.ts → stores/config.d.ts} +2 -2
- package/dist/app/web/lib/stores/config.d.ts.map +1 -0
- package/dist/app/web/lib/{configStore.js → stores/config.js} +3 -3
- package/dist/app/web/lib/stores/config.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 → stores/toast.d.ts} +3 -6
- package/dist/app/web/lib/stores/toast.d.ts.map +1 -0
- package/dist/app/web/lib/{toastStore.js → stores/toast.js} +1 -1
- package/dist/app/web/lib/{toastStore.js.map → stores/toast.js.map} +1 -1
- package/dist/app/web/lib/stores/video.d.ts +12 -0
- package/dist/app/web/lib/stores/video.d.ts.map +1 -0
- package/dist/app/web/lib/stores/video.js +65 -0
- package/dist/app/web/lib/stores/video.js.map +1 -0
- package/dist/app/web/lib/subtitleTiming.d.ts +5 -0
- package/dist/app/web/lib/subtitleTiming.d.ts.map +1 -0
- package/dist/app/web/lib/subtitleTiming.js +45 -0
- package/dist/app/web/lib/subtitleTiming.js.map +1 -0
- package/dist/app/web/lib/uploadStream.d.ts +4 -17
- package/dist/app/web/lib/uploadStream.d.ts.map +1 -1
- package/dist/app/web/lib/uploadStream.js.map +1 -1
- package/dist/app/web/lib/videoWorkflow.d.ts +2 -8
- package/dist/app/web/lib/videoWorkflow.d.ts.map +1 -1
- package/dist/app/web/lib/videoWorkflow.js.map +1 -1
- package/dist/app/web/routes/api/analysis/transcript/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/analysis/transcript/+server.js +32 -6
- package/dist/app/web/routes/api/analysis/transcript/+server.js.map +1 -1
- 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.map +1 -1
- package/dist/app/web/routes/api/clips/+server.js +9 -2
- package/dist/app/web/routes/api/clips/+server.js.map +1 -1
- package/dist/app/web/routes/api/clips/[clipId]/edits/+server.d.ts +4 -0
- package/dist/app/web/routes/api/clips/[clipId]/edits/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/clips/[clipId]/edits/+server.js +61 -0
- package/dist/app/web/routes/api/clips/[clipId]/edits/+server.js.map +1 -0
- package/dist/app/web/routes/api/clips/[clipId]/file/+server.d.ts +3 -0
- package/dist/app/web/routes/api/clips/[clipId]/file/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/clips/[clipId]/file/+server.js +99 -0
- package/dist/app/web/routes/api/clips/[clipId]/file/+server.js.map +1 -0
- package/dist/app/web/routes/api/clips/[clipId]/render/+server.d.ts +3 -0
- package/dist/app/web/routes/api/clips/[clipId]/render/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/clips/[clipId]/render/+server.js +31 -0
- package/dist/app/web/routes/api/clips/[clipId]/render/+server.js.map +1 -0
- package/dist/app/web/routes/api/clips/[clipId]/subtitles/plan/+server.d.ts +3 -0
- package/dist/app/web/routes/api/clips/[clipId]/subtitles/plan/+server.d.ts.map +1 -0
- package/dist/app/web/routes/api/clips/[clipId]/subtitles/plan/+server.js +25 -0
- package/dist/app/web/routes/api/clips/[clipId]/subtitles/plan/+server.js.map +1 -0
- package/dist/app/web/routes/api/config/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/config/+server.js +1 -1
- package/dist/app/web/routes/api/config/+server.js.map +1 -1
- package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.js +1 -4
- package/dist/app/web/routes/api/library/analyses/[analysisId]/+server.js.map +1 -1
- package/dist/app/web/routes/api/library/clips/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/library/clips/+server.js +1 -4
- package/dist/app/web/routes/api/library/clips/+server.js.map +1 -1
- package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.js +3 -9
- package/dist/app/web/routes/api/publish/drafts/[analysisId]/+server.js.map +1 -1
- package/dist/app/web/routes/api/publish/drafts/generate/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/publish/drafts/generate/+server.js +6 -2
- package/dist/app/web/routes/api/publish/drafts/generate/+server.js.map +1 -1
- package/dist/app/web/routes/api/publish/thumbnails/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/publish/thumbnails/+server.js +5 -1
- package/dist/app/web/routes/api/publish/thumbnails/+server.js.map +1 -1
- package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.js +1 -5
- package/dist/app/web/routes/api/youtube/channels/[channelId]/videos/+server.js.map +1 -1
- package/dist/app/web/routes/api/youtube/channels/resolve/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/youtube/channels/resolve/+server.js +1 -4
- package/dist/app/web/routes/api/youtube/channels/resolve/+server.js.map +1 -1
- package/dist/app/web/routes/api/youtube/uploads/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/youtube/uploads/+server.js +12 -6
- package/dist/app/web/routes/api/youtube/uploads/+server.js.map +1 -1
- package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.js +1 -4
- package/dist/app/web/routes/api/youtube/videos/[videoId]/+server.js.map +1 -1
- package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.d.ts.map +1 -1
- package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.js +1 -4
- package/dist/app/web/routes/api/youtube/videos/[videoId]/transcript/+server.js.map +1 -1
- package/dist/app/web/types/activity.d.ts +4 -0
- package/dist/app/web/types/activity.d.ts.map +1 -1
- package/dist/app/web/types/analysis.d.ts +36 -0
- package/dist/app/web/types/analysis.d.ts.map +1 -1
- package/dist/app/web/types/analysis.js +17 -0
- package/dist/app/web/types/analysis.js.map +1 -1
- package/dist/app/web/types/componentProps.d.ts +383 -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 +40 -3
- package/dist/app/web/types/publish.d.ts.map +1 -1
- package/dist/app/web/types/publish.js +21 -0
- package/dist/app/web/types/publish.js.map +1 -1
- package/dist/app/web/types/subtitlePlan.d.ts +46 -0
- package/dist/app/web/types/subtitlePlan.d.ts.map +1 -0
- package/dist/app/web/types/subtitlePlan.js +20 -0
- package/dist/app/web/types/subtitlePlan.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/videoStore.d.ts +13 -0
- package/dist/app/web/types/videoStore.d.ts.map +1 -0
- package/dist/app/web/types/videoStore.js +2 -0
- package/dist/app/web/types/videoStore.js.map +1 -0
- package/dist/app/web/types/web.d.ts +38 -0
- package/dist/app/web/types/web.d.ts.map +1 -1
- package/dist/app/web/types/web.js +1 -0
- package/dist/app/web/types/web.js.map +1 -1
- 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.js +1 -1
- package/dist/hooks.server.js.map +1 -1
- package/dist/lib/config/env.d.ts +1 -5
- package/dist/lib/config/env.d.ts.map +1 -1
- package/dist/lib/config/env.js +1 -1
- package/dist/lib/config/env.js.map +1 -1
- package/dist/lib/config/index.d.ts +1 -1
- package/dist/lib/config/index.d.ts.map +1 -1
- package/dist/lib/config/registry.d.ts +2 -23
- package/dist/lib/config/registry.d.ts.map +1 -1
- package/dist/lib/config/registry.js +1 -1
- package/dist/lib/config/registry.js.map +1 -1
- package/dist/lib/index.d.ts +3 -4
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/pipeline/stages/clipExporter.d.ts +2 -7
- package/dist/lib/pipeline/stages/clipExporter.d.ts.map +1 -1
- package/dist/lib/pipeline/stages/clipExporter.js +4 -4
- package/dist/lib/pipeline/stages/clipExporter.js.map +1 -1
- package/dist/lib/pipeline/stages/segmentAnalyzer.d.ts +2 -2
- package/dist/lib/pipeline/stages/segmentAnalyzer.d.ts.map +1 -1
- package/dist/lib/pipeline/stages/segmentAnalyzer.js +6 -2
- package/dist/lib/pipeline/stages/segmentAnalyzer.js.map +1 -1
- package/dist/lib/pipeline/stages/segmentSelector.d.ts.map +1 -1
- package/dist/lib/pipeline/stages/segmentSelector.js +2 -2
- package/dist/lib/pipeline/stages/segmentSelector.js.map +1 -1
- package/dist/lib/services/analysis/llm/LLMAnalyzer.d.ts +2 -2
- package/dist/lib/services/analysis/llm/LLMAnalyzer.d.ts.map +1 -1
- package/dist/lib/services/analysis/llm/LLMAnalyzer.js +5 -3
- package/dist/lib/services/analysis/llm/LLMAnalyzer.js.map +1 -1
- package/dist/lib/services/analysis/llm/index.d.ts +3 -10
- package/dist/lib/services/analysis/llm/index.d.ts.map +1 -1
- package/dist/lib/services/analysis/llm/index.js +12 -8
- package/dist/lib/services/analysis/llm/index.js.map +1 -1
- package/dist/lib/services/analysis/refiner/index.d.ts +3 -11
- package/dist/lib/services/analysis/refiner/index.d.ts.map +1 -1
- package/dist/lib/services/analysis/refiner/index.js +9 -8
- package/dist/lib/services/analysis/refiner/index.js.map +1 -1
- package/dist/lib/services/analysis/transcript/detector.d.ts +1 -1
- package/dist/lib/services/analysis/transcript/detector.d.ts.map +1 -1
- package/dist/lib/services/analysis/transcript/detector.js +4 -4
- package/dist/lib/services/analysis/transcript/detector.js.map +1 -1
- package/dist/lib/services/audio/analyzer/factory.d.ts +1 -6
- package/dist/lib/services/audio/analyzer/factory.d.ts.map +1 -1
- package/dist/lib/services/audio/analyzer/factory.js +1 -1
- package/dist/lib/services/audio/analyzer/factory.js.map +1 -1
- package/dist/lib/services/audio/analyzer/gemini.d.ts +1 -5
- package/dist/lib/services/audio/analyzer/gemini.d.ts.map +1 -1
- package/dist/lib/services/audio/analyzer/gemini.js +2 -13
- package/dist/lib/services/audio/analyzer/gemini.js.map +1 -1
- package/dist/lib/services/audio/analyzer/index.d.ts +1 -1
- package/dist/lib/services/audio/analyzer/index.d.ts.map +1 -1
- package/dist/lib/services/audio/index.d.ts +1 -1
- package/dist/lib/services/audio/index.d.ts.map +1 -1
- package/dist/lib/services/audio/processor/detector.d.ts.map +1 -1
- package/dist/lib/services/audio/processor/detector.js +13 -3
- package/dist/lib/services/audio/processor/detector.js.map +1 -1
- package/dist/lib/services/audio/processor/slicer.d.ts +2 -4
- package/dist/lib/services/audio/processor/slicer.d.ts.map +1 -1
- package/dist/lib/services/audio/processor/slicer.js.map +1 -1
- package/dist/lib/services/audio/source/index.d.ts +1 -1
- package/dist/lib/services/audio/source/index.d.ts.map +1 -1
- package/dist/lib/services/audio/source/youtube.d.ts.map +1 -1
- package/dist/lib/services/audio/source/youtube.js +6 -7
- package/dist/lib/services/audio/source/youtube.js.map +1 -1
- package/dist/lib/services/audio/transcriber/factory.js +1 -2
- package/dist/lib/services/audio/transcriber/factory.js.map +1 -1
- package/dist/lib/services/audio/transcriber/whisper.d.ts.map +1 -1
- package/dist/lib/services/audio/transcriber/whisper.js +1 -6
- package/dist/lib/services/audio/transcriber/whisper.js.map +1 -1
- 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/lib/{utils/cacheBackend.js → services/cache/backends/disabled.js} +1 -1
- package/dist/lib/services/cache/backends/disabled.js.map +1 -0
- package/dist/lib/{utils/fileCacheBackend.d.ts → services/cache/backends/file.d.ts} +7 -4
- package/dist/lib/services/cache/backends/file.d.ts.map +1 -0
- package/dist/lib/{utils/fileCacheBackend.js → services/cache/backends/file.js} +18 -9
- package/dist/lib/services/cache/backends/file.js.map +1 -0
- package/dist/lib/{utils/mongoCacheBackend.d.ts → services/cache/backends/mongo.d.ts} +3 -3
- package/dist/lib/services/cache/backends/mongo.d.ts.map +1 -0
- package/dist/lib/{utils/mongoCacheBackend.js → services/cache/backends/mongo.js} +8 -8
- package/dist/lib/services/cache/backends/mongo.js.map +1 -0
- package/dist/lib/{utils → services/cache}/cache.d.ts +6 -5
- package/dist/lib/services/cache/cache.d.ts.map +1 -0
- package/dist/lib/{utils → services/cache}/cache.js +25 -4
- package/dist/lib/services/cache/cache.js.map +1 -0
- package/dist/lib/{utils/cacheFactory.d.ts → services/cache/factory.d.ts} +3 -3
- package/dist/lib/services/cache/factory.d.ts.map +1 -0
- package/dist/lib/{utils/cacheFactory.js → 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/lib/services/video/clipper/editor/drawtextBuilder.d.ts +6 -0
- package/dist/lib/services/video/clipper/editor/drawtextBuilder.d.ts.map +1 -0
- package/dist/lib/services/video/clipper/editor/drawtextBuilder.js +42 -0
- package/dist/lib/services/video/clipper/editor/drawtextBuilder.js.map +1 -0
- package/dist/lib/services/video/clipper/editor/filterGraphBuilder.d.ts +7 -0
- package/dist/lib/services/video/clipper/editor/filterGraphBuilder.d.ts.map +1 -0
- package/dist/lib/services/video/clipper/editor/filterGraphBuilder.js +58 -0
- package/dist/lib/services/video/clipper/editor/filterGraphBuilder.js.map +1 -0
- package/dist/lib/services/video/clipper/editor/renderer.d.ts +4 -0
- package/dist/lib/services/video/clipper/editor/renderer.d.ts.map +1 -0
- package/dist/lib/services/video/clipper/editor/renderer.js +83 -0
- package/dist/lib/services/video/clipper/editor/renderer.js.map +1 -0
- package/dist/lib/services/video/clipper/editor/subtitleBuilder.d.ts +6 -0
- package/dist/lib/services/video/clipper/editor/subtitleBuilder.d.ts.map +1 -0
- package/dist/lib/services/video/clipper/editor/subtitleBuilder.js +155 -0
- package/dist/lib/services/video/clipper/editor/subtitleBuilder.js.map +1 -0
- package/dist/lib/services/video/clipper/editor/textEscape.d.ts +3 -0
- package/dist/lib/services/video/clipper/editor/textEscape.d.ts.map +1 -0
- package/dist/lib/services/video/clipper/editor/textEscape.js +11 -0
- package/dist/lib/services/video/clipper/editor/textEscape.js.map +1 -0
- package/dist/lib/services/video/clipper/index.d.ts +11 -7
- package/dist/lib/services/video/clipper/index.d.ts.map +1 -1
- package/dist/lib/services/video/clipper/index.js +38 -26
- package/dist/lib/services/video/clipper/index.js.map +1 -1
- package/dist/lib/services/video/index.d.ts +2 -2
- package/dist/lib/services/video/index.d.ts.map +1 -1
- package/dist/lib/services/video/source/index.d.ts +2 -2
- package/dist/lib/services/video/source/index.d.ts.map +1 -1
- package/dist/lib/services/video/source/youtube/catalog.d.ts +1 -17
- package/dist/lib/services/video/source/youtube/catalog.d.ts.map +1 -1
- package/dist/lib/services/video/source/youtube/catalog.js.map +1 -1
- package/dist/lib/services/video/source/youtube/downloader.d.ts.map +1 -1
- package/dist/lib/services/video/source/youtube/downloader.js +17 -19
- package/dist/lib/services/video/source/youtube/downloader.js.map +1 -1
- package/dist/lib/services/video/source/youtube/metadata.d.ts.map +1 -1
- package/dist/lib/services/video/source/youtube/metadata.js +3 -3
- package/dist/lib/services/video/source/youtube/metadata.js.map +1 -1
- package/dist/lib/services/video/source/youtube/subtitles.d.ts +1 -30
- package/dist/lib/services/video/source/youtube/subtitles.d.ts.map +1 -1
- package/dist/lib/services/video/source/youtube/subtitles.js +4 -4
- package/dist/lib/services/video/source/youtube/subtitles.js.map +1 -1
- package/dist/lib/types/analyzer.d.ts +23 -0
- package/dist/lib/types/analyzer.d.ts.map +1 -1
- package/dist/lib/types/analyzer.js +5 -1
- package/dist/lib/types/analyzer.js.map +1 -1
- package/dist/lib/types/audio.d.ts +28 -0
- package/dist/lib/types/audio.d.ts.map +1 -1
- package/dist/lib/types/audio.js +10 -0
- package/dist/lib/types/audio.js.map +1 -1
- package/dist/lib/types/cache.d.ts +34 -0
- package/dist/lib/types/cache.d.ts.map +1 -1
- package/dist/lib/types/cache.js.map +1 -1
- package/dist/lib/types/clipEdit.d.ts +232 -0
- package/dist/lib/types/clipEdit.d.ts.map +1 -0
- package/dist/lib/types/clipEdit.js +68 -0
- package/dist/lib/types/clipEdit.js.map +1 -0
- package/dist/lib/types/config.d.ts +39 -3
- package/dist/lib/types/config.d.ts.map +1 -1
- package/dist/lib/types/config.js +32 -1
- package/dist/lib/types/config.js.map +1 -1
- package/dist/lib/types/index.d.ts +11 -8
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js +3 -1
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/pipeline.d.ts +22 -10
- package/dist/lib/types/pipeline.d.ts.map +1 -1
- package/dist/lib/types/video.d.ts +17 -0
- package/dist/lib/types/video.d.ts.map +1 -1
- package/dist/lib/types/video.js.map +1 -1
- package/dist/lib/types/youtube.d.ts +51 -0
- package/dist/lib/types/youtube.d.ts.map +1 -1
- package/dist/lib/utils/logger.d.ts +20 -6
- package/dist/lib/utils/logger.d.ts.map +1 -1
- package/dist/lib/utils/logger.js +59 -30
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/modelFactory.d.ts +1 -6
- package/dist/lib/utils/modelFactory.d.ts.map +1 -1
- package/dist/lib/utils/modelFactory.js.map +1 -1
- package/dist/lib/utils/pythonBin.js +1 -1
- package/dist/lib/utils/pythonBin.js.map +1 -1
- package/dist/lib/utils/retryAsync.d.ts.map +1 -1
- package/dist/lib/utils/retryAsync.js +1 -2
- package/dist/lib/utils/retryAsync.js.map +1 -1
- package/dist/lib/utils/textScale.d.ts +14 -0
- package/dist/lib/utils/textScale.d.ts.map +1 -0
- package/dist/lib/utils/textScale.js +14 -0
- package/dist/lib/utils/textScale.js.map +1 -0
- package/package.json +3 -1
- package/dist/app/web/lib/configStore.d.ts.map +0 -1
- package/dist/app/web/lib/configStore.js.map +0 -1
- package/dist/app/web/lib/toastStore.d.ts.map +0 -1
- package/dist/lib/services/audio/source/types.d.ts +0 -5
- package/dist/lib/services/audio/source/types.d.ts.map +0 -1
- package/dist/lib/services/audio/source/types.js +0 -2
- package/dist/lib/services/audio/source/types.js.map +0 -1
- package/dist/lib/services/video/source/types.d.ts +0 -12
- package/dist/lib/services/video/source/types.d.ts.map +0 -1
- package/dist/lib/services/video/source/types.js +0 -2
- package/dist/lib/services/video/source/types.js.map +0 -1
- package/dist/lib/utils/cache.d.ts.map +0 -1
- package/dist/lib/utils/cache.js.map +0 -1
- package/dist/lib/utils/cacheBackend.d.ts +0 -40
- package/dist/lib/utils/cacheBackend.d.ts.map +0 -1
- package/dist/lib/utils/cacheBackend.js.map +0 -1
- package/dist/lib/utils/cacheFactory.d.ts.map +0 -1
- package/dist/lib/utils/cacheFactory.js.map +0 -1
- package/dist/lib/utils/fileCacheBackend.d.ts.map +0 -1
- package/dist/lib/utils/fileCacheBackend.js.map +0 -1
- package/dist/lib/utils/mongoCacheBackend.d.ts.map +0 -1
- package/dist/lib/utils/mongoCacheBackend.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { basename } from 'path';
|
|
2
2
|
import { exportClips } from '../../../../../lib/pipeline/stages/clipExporter.js';
|
|
3
|
-
import { saveClipArtifacts } from '../../../lib/services/artifacts/artifactStore.js';
|
|
3
|
+
import { deleteClipArtifact, deleteClipEdits, listClipArtifactsByAnalysisId, saveClipArtifacts, } from '../../../lib/services/artifacts/artifactStore.js';
|
|
4
4
|
import { log } from '../../../../../lib/utils/logger.js';
|
|
5
5
|
export async function generateWebClips(input, cfg, requestId) {
|
|
6
6
|
const downloadMode = cfg.PARTIAL_DOWNLOAD_ENABLED ? input.segments.length : 'all';
|
|
7
|
-
log.info(
|
|
7
|
+
log.info('generateWebClips', `[clips] [request] | analysisId=${input.analysisId} videoId=${input.videoId} segments=${input.segments.length} downloadSections=${downloadMode} concurrency=${cfg.CLIP_CONCURRENCY}`, requestId);
|
|
8
8
|
const cookies = {
|
|
9
9
|
cookiesFromBrowser: cfg.YT_DLP_COOKIES_FROM_BROWSER,
|
|
10
10
|
cookiesFile: cfg.YT_DLP_COOKIES_FILE,
|
|
@@ -33,6 +33,10 @@ export async function generateWebClips(input, cfg, requestId) {
|
|
|
33
33
|
},
|
|
34
34
|
downloadSectionsMode: cfg.DOWNLOAD_SECTIONS_MODE,
|
|
35
35
|
};
|
|
36
|
+
const existing = input.analysisId
|
|
37
|
+
? await listClipArtifactsByAnalysisId(cfg.OUTPUT_DIR, input.analysisId)
|
|
38
|
+
: [];
|
|
39
|
+
const existingById = new Map(existing.map((artifact) => [artifact.id, artifact]));
|
|
36
40
|
const segments = input.segments.map(toRankedSegment);
|
|
37
41
|
const paths = await exportClips(input.videoId, segments, {
|
|
38
42
|
downloadSections: cfg.PARTIAL_DOWNLOAD_ENABLED ? segments.length : 'all',
|
|
@@ -43,8 +47,10 @@ export async function generateWebClips(input, cfg, requestId) {
|
|
|
43
47
|
const source = input.segments[index];
|
|
44
48
|
const startSec = source.startSec;
|
|
45
49
|
const endSec = source.endSec;
|
|
50
|
+
const id = `clip-${input.videoId}-${source.id}`;
|
|
51
|
+
const prior = existingById.get(id);
|
|
46
52
|
return {
|
|
47
|
-
id
|
|
53
|
+
id,
|
|
48
54
|
videoId: input.videoId,
|
|
49
55
|
analysisId: input.analysisId,
|
|
50
56
|
segmentId: source.id,
|
|
@@ -54,10 +60,26 @@ export async function generateWebClips(input, cfg, requestId) {
|
|
|
54
60
|
endSec,
|
|
55
61
|
durationSec: Math.max(0.01, endSec - startSec),
|
|
56
62
|
createdAt,
|
|
63
|
+
...(prior?.editsPath !== undefined && { editsPath: prior.editsPath }),
|
|
64
|
+
...(prior?.editedPath !== undefined && { editedPath: prior.editedPath }),
|
|
65
|
+
...(prior?.currentEditsHash !== undefined && { currentEditsHash: prior.currentEditsHash }),
|
|
66
|
+
...(prior?.lastRenderedHash !== undefined && { lastRenderedHash: prior.lastRenderedHash }),
|
|
57
67
|
};
|
|
58
68
|
});
|
|
59
|
-
log.info(
|
|
60
|
-
|
|
69
|
+
log.info('generateWebClips', `[clips] [generated] | analysisId=${input.analysisId} requested=${input.segments.length} created=${artifacts.length}`, requestId);
|
|
70
|
+
const saved = await saveClipArtifacts(artifacts, cfg.OUTPUT_DIR);
|
|
71
|
+
const keepIds = new Set(saved.map((artifact) => artifact.id));
|
|
72
|
+
const staleIds = existing
|
|
73
|
+
.filter((artifact) => !keepIds.has(artifact.id))
|
|
74
|
+
.map((artifact) => artifact.id);
|
|
75
|
+
if (staleIds.length > 0) {
|
|
76
|
+
await Promise.all(staleIds.flatMap((id) => [
|
|
77
|
+
deleteClipArtifact(cfg.OUTPUT_DIR, id),
|
|
78
|
+
deleteClipEdits(cfg.OUTPUT_DIR, id),
|
|
79
|
+
]));
|
|
80
|
+
log.info('generateWebClips', `[clips] [pruned] | analysisId=${input.analysisId} stale=${staleIds.length}`, requestId);
|
|
81
|
+
}
|
|
82
|
+
return saved;
|
|
61
83
|
}
|
|
62
84
|
function toRankedSegment(segment) {
|
|
63
85
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clipService.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/clipping/clipService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAEnE,OAAO,
|
|
1
|
+
{"version":3,"file":"clipService.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/clipping/clipService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
outputDir: string;
|
|
4
|
-
cacheDir: string;
|
|
5
|
-
defaultThreshold: number;
|
|
6
|
-
defaultTopN: number;
|
|
7
|
-
defaultConcurrency: number;
|
|
8
|
-
}
|
|
1
|
+
import type { WebServerConfig } from '../../../types/web.js';
|
|
2
|
+
export type { WebServerConfig };
|
|
9
3
|
export declare function getWebServerConfig(): WebServerConfig;
|
|
10
4
|
//# sourceMappingURL=webConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/config/webConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/config/webConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,wBAAgB,kBAAkB,IAAI,eAAe,CASpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webConfig.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/config/webConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"webConfig.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/config/webConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAK9C,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,eAAe;QACrC,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,QAAQ,EAAE,MAAM,CAAC,SAAS;QAC1B,gBAAgB,EAAE,MAAM,CAAC,eAAe;QACxC,WAAW,EAAE,MAAM,CAAC,cAAc;QAClC,kBAAkB,EAAE,MAAM,CAAC,eAAe;KAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type PublishDraft, type SavePublishDraftRequest } from '../../../types/publish.js';
|
|
2
2
|
import type { Config } from '../../../../../lib/types/config.js';
|
|
3
3
|
export declare function buildPublishDraft(analysisId: string, cfg: Config, requestId?: string): Promise<PublishDraft | null>;
|
|
4
|
+
export declare function loadAndRefreshPublishDraft(analysisId: string, cfg: Config, requestId?: string): Promise<PublishDraft | null>;
|
|
4
5
|
export declare function savePublishDraftFromRequest(input: SavePublishDraftRequest, cfg: Config, requestId?: string): Promise<PublishDraft>;
|
|
5
6
|
//# sourceMappingURL=draftService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draftService.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/draftService.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAyB9B;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"draftService.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/draftService.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,uBAAuB,EAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAyB9B;AAED,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAwB9B;AAED,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CAmCvB"}
|
|
@@ -2,7 +2,7 @@ import { createArtifactId, getAnalysis, getPublishDraft, listClipArtifactsByAnal
|
|
|
2
2
|
import { PublishDraftSchema, } from '../../../types/publish.js';
|
|
3
3
|
import { log } from '../../../../../lib/utils/logger.js';
|
|
4
4
|
export async function buildPublishDraft(analysisId, cfg, requestId) {
|
|
5
|
-
const done = log.fnCalled('buildPublishDraft', { analysisId }
|
|
5
|
+
const done = log.fnCalled('buildPublishDraft', requestId, { analysisId });
|
|
6
6
|
const [analysis, clips] = await Promise.all([
|
|
7
7
|
getAnalysis(cfg.OUTPUT_DIR, analysisId),
|
|
8
8
|
listClipArtifactsByAnalysisId(cfg.OUTPUT_DIR, analysisId),
|
|
@@ -24,31 +24,82 @@ export async function buildPublishDraft(analysisId, cfg, requestId) {
|
|
|
24
24
|
done({ clips: clips.length });
|
|
25
25
|
return draft;
|
|
26
26
|
}
|
|
27
|
+
export async function loadAndRefreshPublishDraft(analysisId, cfg, requestId) {
|
|
28
|
+
const [existingDraft, freshDraft] = await Promise.all([
|
|
29
|
+
getPublishDraft(cfg.OUTPUT_DIR, analysisId),
|
|
30
|
+
buildPublishDraft(analysisId, cfg, requestId),
|
|
31
|
+
]);
|
|
32
|
+
if (!freshDraft)
|
|
33
|
+
return existingDraft;
|
|
34
|
+
if (!existingDraft)
|
|
35
|
+
return freshDraft;
|
|
36
|
+
const existingById = new Map(existingDraft.items.map((item) => [item.clipArtifactId, item]));
|
|
37
|
+
return PublishDraftSchema.parse({
|
|
38
|
+
...existingDraft,
|
|
39
|
+
items: freshDraft.items.map((freshItem) => {
|
|
40
|
+
const saved = existingById.get(freshItem.clipArtifactId);
|
|
41
|
+
if (!saved)
|
|
42
|
+
return freshItem;
|
|
43
|
+
return {
|
|
44
|
+
...saved,
|
|
45
|
+
path: freshItem.path,
|
|
46
|
+
editedPath: freshItem.editedPath,
|
|
47
|
+
isRenderRequired: freshItem.isRenderRequired,
|
|
48
|
+
};
|
|
49
|
+
}),
|
|
50
|
+
updatedAt: new Date().toISOString(),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
27
53
|
export async function savePublishDraftFromRequest(input, cfg, requestId) {
|
|
28
|
-
const done = log.fnCalled('savePublishDraft', { analysisId: input.analysisId }
|
|
29
|
-
const existing = await
|
|
30
|
-
|
|
31
|
-
|
|
54
|
+
const done = log.fnCalled('savePublishDraft', requestId, { analysisId: input.analysisId });
|
|
55
|
+
const [existing, fresh] = await Promise.all([
|
|
56
|
+
getPublishDraft(cfg.OUTPUT_DIR, input.analysisId),
|
|
57
|
+
buildPublishDraft(input.analysisId, cfg, requestId),
|
|
58
|
+
]);
|
|
59
|
+
const createdAt = existing?.createdAt ?? fresh?.createdAt ?? new Date().toISOString();
|
|
60
|
+
const freshById = new Map((fresh?.items ?? []).map((i) => [i.clipArtifactId, i]));
|
|
61
|
+
const items = input.items.map((item) => {
|
|
62
|
+
const f = freshById.get(item.clipArtifactId);
|
|
63
|
+
if (!f)
|
|
64
|
+
return item;
|
|
65
|
+
return {
|
|
66
|
+
...item,
|
|
67
|
+
path: f.path,
|
|
68
|
+
editedPath: f.editedPath,
|
|
69
|
+
isRenderRequired: f.isRenderRequired,
|
|
70
|
+
};
|
|
71
|
+
});
|
|
32
72
|
const saved = await savePublishDraft(PublishDraftSchema.parse({
|
|
33
|
-
id:
|
|
73
|
+
id: existing?.id ?? fresh?.id ?? createArtifactId(`publish-${input.videoId}`),
|
|
34
74
|
analysisId: input.analysisId,
|
|
35
75
|
videoId: input.videoId,
|
|
36
76
|
title: input.title,
|
|
37
77
|
createdAt,
|
|
38
78
|
updatedAt: new Date().toISOString(),
|
|
39
|
-
items
|
|
79
|
+
items,
|
|
40
80
|
}), cfg.OUTPUT_DIR);
|
|
41
|
-
done({ items:
|
|
81
|
+
done({ items: items.length });
|
|
42
82
|
return saved;
|
|
43
83
|
}
|
|
44
84
|
function buildDraftItem(clip, analysis, cfg) {
|
|
45
85
|
const candidate = analysis.candidates.find((item) => item.id === clip.segmentId);
|
|
46
86
|
const baseTitle = candidate?.reason?.trim() || `${analysis.title} clip`;
|
|
87
|
+
// Use the rendered edited path if available; fall back to the original clip.
|
|
88
|
+
const resolvedPath = clip.editedPath ?? clip.path;
|
|
89
|
+
// A render is required when edits exist but haven't been rendered yet, or when the
|
|
90
|
+
// edits have changed since the last render (stale).
|
|
91
|
+
const isRenderRequired = !!clip.editsPath &&
|
|
92
|
+
(!clip.editedPath ||
|
|
93
|
+
(!!clip.currentEditsHash &&
|
|
94
|
+
!!clip.lastRenderedHash &&
|
|
95
|
+
clip.currentEditsHash !== clip.lastRenderedHash));
|
|
47
96
|
return {
|
|
48
97
|
clipArtifactId: clip.id,
|
|
49
98
|
segmentId: clip.segmentId,
|
|
50
99
|
filename: clip.filename,
|
|
51
|
-
path:
|
|
100
|
+
path: resolvedPath,
|
|
101
|
+
editedPath: clip.editedPath,
|
|
102
|
+
isRenderRequired,
|
|
52
103
|
startSec: clip.startSec,
|
|
53
104
|
endSec: clip.endSec,
|
|
54
105
|
durationSec: clip.durationSec,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draftService.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/draftService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EACL,kBAAkB,GAInB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,GAAW,EACX,SAAkB;IAElB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"draftService.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/draftService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,kDAAkD,CAAC;AAE1D,OAAO,EACL,kBAAkB,GAInB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAkB,EAClB,GAAW,EACX,SAAkB;IAElB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAE1E,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC;QACvC,6BAA6B,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC;KAC1D,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;QACrC,EAAE,EAAE,gBAAgB,CAAC,WAAW,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnD,UAAU;QACV,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS;QACT,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;KAChE,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,UAAkB,EAClB,GAAW,EACX,SAAkB;IAElB,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpD,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC;QAC3C,iBAAiB,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU;QAAE,OAAO,aAAa,CAAC;IACtC,IAAI,CAAC,aAAa;QAAE,OAAO,UAAU,CAAC;IAEtC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7F,OAAO,kBAAkB,CAAC,KAAK,CAAC;QAC9B,GAAG,aAAa;QAChB,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAC7B,OAAO;gBACL,GAAG,KAAK;gBACR,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C,CAAC;QACJ,CAAC,CAAC;QACF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAA8B,EAC9B,GAAW,EACX,SAAkB;IAElB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3F,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC1C,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;QACjD,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC;KACpD,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,IAAI,KAAK,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAElF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO;YACL,GAAG,IAAI;YACP,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;SACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,kBAAkB,CAAC,KAAK,CAAC;QACvB,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,IAAI,gBAAgB,CAAC,WAAW,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7E,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS;QACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;KACN,CAAC,EACF,GAAG,CAAC,UAAU,CACf,CAAC;IACF,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAkB,EAAE,QAAkB,EAAE,GAAW;IACzE,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC,KAAK,OAAO,CAAC;IAExE,6EAA6E;IAC7E,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;IAElD,mFAAmF;IACnF,oDAAoD;IACpD,MAAM,gBAAgB,GACpB,CAAC,CAAC,IAAI,CAAC,SAAS;QAChB,CAAC,CAAC,IAAI,CAAC,UAAU;YACf,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB;gBACtB,CAAC,CAAC,IAAI,CAAC,gBAAgB;gBACvB,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAExD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,EAAE;QACvB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,gBAAgB;QAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,IAAI,EAAE;QACrD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC9B,WAAW,EAAE,SAAS,EAAE,iBAAiB,IAAI,EAAE;QAC/C,IAAI,EAAE,EAAE;QACR,aAAa,EAAE,GAAG,CAAC,kBAAkB;QACrC,UAAU,EAAE,GAAG,CAAC,sBAAsB;QACtC,OAAO,EAAE,GAAG,CAAC,kBAAkB;QAC/B,uBAAuB,EAAE,GAAG,CAAC,wBAAwB;QACrD,UAAU,EAAE,GAAG,CAAC,qBAAqB;QACrC,mBAAmB,EAAE,GAAG,CAAC,gCAAgC;QACzD,sBAAsB,EAAE,GAAG,CAAC,mCAAmC;QAC/D,OAAO,EAAE,GAAG,CAAC,mBAAmB;KACjC,CAAC;AACJ,CAAC"}
|
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
declare const CachedMetadataSchema: z.ZodObject<{
|
|
3
|
-
title: z.ZodString;
|
|
4
|
-
description: z.ZodString;
|
|
5
|
-
tags: z.ZodArray<z.ZodString>;
|
|
6
|
-
categoryId: z.ZodString;
|
|
7
|
-
}, z.core.$strip>;
|
|
8
|
-
export type CachedMetadata = z.infer<typeof CachedMetadataSchema>;
|
|
1
|
+
import type { CachedMetadata } from '../../../types/publish.js';
|
|
9
2
|
export declare function readMetadataCache(cacheDir: string, systemPrompt: string, prompt: string): Promise<CachedMetadata | null>;
|
|
10
3
|
export declare function writeMetadataCache(cacheDir: string, systemPrompt: string, prompt: string, metadata: CachedMetadata): Promise<void>;
|
|
11
|
-
export {};
|
|
12
4
|
//# sourceMappingURL=metadataCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataCache.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataCache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metadataCache.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataCache.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAUhE,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAiBhC;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { promises as fs } from 'fs';
|
|
3
3
|
import path from 'path';
|
|
4
|
-
import { z } from 'zod';
|
|
5
4
|
import { log } from '../../../../../lib/utils/logger.js';
|
|
6
|
-
|
|
7
|
-
title: z.string(),
|
|
8
|
-
description: z.string(),
|
|
9
|
-
tags: z.array(z.string()),
|
|
10
|
-
categoryId: z.string(),
|
|
11
|
-
});
|
|
5
|
+
import { CachedMetadataSchema } from '../../../types/publish.js';
|
|
12
6
|
function cacheKey(systemPrompt, prompt) {
|
|
13
7
|
return createHash('sha256').update(`${systemPrompt}\n---\n${prompt}`).digest('hex');
|
|
14
8
|
}
|
|
@@ -21,7 +15,7 @@ export async function readMetadataCache(cacheDir, systemPrompt, prompt) {
|
|
|
21
15
|
const raw = await fs.readFile(filePath, 'utf-8');
|
|
22
16
|
const parsed = CachedMetadataSchema.safeParse(JSON.parse(raw));
|
|
23
17
|
if (!parsed.success) {
|
|
24
|
-
log.warn(`[publish-metadata-cache] corrupt entry at ${filePath} — ignoring`);
|
|
18
|
+
log.warn('readMetadataCache', `[publish-metadata-cache] corrupt entry at ${filePath} — ignoring`);
|
|
25
19
|
return null;
|
|
26
20
|
}
|
|
27
21
|
return parsed.data;
|
|
@@ -38,7 +32,7 @@ export async function writeMetadataCache(cacheDir, systemPrompt, prompt, metadat
|
|
|
38
32
|
await fs.writeFile(filePath, JSON.stringify(metadata, null, 2), 'utf-8');
|
|
39
33
|
}
|
|
40
34
|
catch (err) {
|
|
41
|
-
log.warn(`[publish-metadata-cache] failed to write ${filePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
35
|
+
log.warn('writeMetadataCache', `[publish-metadata-cache] failed to write ${filePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
42
36
|
}
|
|
43
37
|
}
|
|
44
38
|
//# sourceMappingURL=metadataCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataCache.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"metadataCache.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,SAAS,QAAQ,CAAC,YAAoB,EAAE,MAAc;IACpD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,YAAY,UAAU,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,GAAW;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,YAAoB,EACpB,MAAc;IAEd,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CACN,mBAAmB,EACnB,6CAA6C,QAAQ,aAAa,CACnE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,YAAoB,EACpB,MAAc,EACd,QAAwB;IAExB,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,oBAAoB,EACpB,4CAA4C,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5G,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataService.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metadataService.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataService.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AA0B3E,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,gBAAgB,EAAE,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,yBAAyB,EACnC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAuHrC"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { generateText, tool } from 'ai';
|
|
2
2
|
import pLimit from 'p-limit';
|
|
3
|
-
import { z } from 'zod';
|
|
4
3
|
import { getModel } from '../../../../../lib/utils/modelFactory.js';
|
|
5
4
|
import { log } from '../../../../../lib/utils/logger.js';
|
|
6
5
|
import { YOUTUBE_CATEGORIES, GeneratedPublishMetadataSchema, } from '../../../types/publish.js';
|
|
7
6
|
import { readMetadataCache, writeMetadataCache } from './metadataCache.js';
|
|
8
|
-
|
|
9
|
-
title: z.string().min(1).max(100),
|
|
10
|
-
description: z.string().min(1).max(5000),
|
|
11
|
-
tags: z.array(z.string().min(1).max(30)).max(15),
|
|
12
|
-
categoryId: z.string().min(1).max(5),
|
|
13
|
-
});
|
|
7
|
+
import { PublishMetadataSchema } from '../../../types/publish.js';
|
|
14
8
|
const CATEGORY_LIST = Object.entries(YOUTUBE_CATEGORIES)
|
|
15
9
|
.map(([id, label]) => `${id}=${label}`)
|
|
16
10
|
.join(', ');
|
|
@@ -32,7 +26,7 @@ Rules:
|
|
|
32
26
|
- If Format is "YouTube Short": keep the title under 60 chars and the description under 300 chars; lead with the most compelling line first.
|
|
33
27
|
- If Format is "YouTube Video": standard YouTube title and description length rules apply.`;
|
|
34
28
|
export async function generatePublishMetadata(workflowTitle, items, cfg, context, requestId) {
|
|
35
|
-
const done = log.fnCalled('generatePublishMetadata', { items: items.length }
|
|
29
|
+
const done = log.fnCalled('generatePublishMetadata', requestId, { items: items.length });
|
|
36
30
|
const concurrency = Math.max(1, Math.min(cfg.LLM_CONCURRENCY, 2));
|
|
37
31
|
const model = getModel(cfg.LLM_PROVIDER, cfg.LLM_MODEL, {
|
|
38
32
|
ZAI_API_KEY: cfg.ZAI_API_KEY,
|
|
@@ -40,23 +34,23 @@ export async function generatePublishMetadata(workflowTitle, items, cfg, context
|
|
|
40
34
|
CUSTOM_OPENAI_BASE_URL: cfg.CUSTOM_OPENAI_BASE_URL,
|
|
41
35
|
CUSTOM_OPENAI_API_KEY: cfg.CUSTOM_OPENAI_API_KEY,
|
|
42
36
|
});
|
|
43
|
-
log.info(`[publish-metadata] model=${cfg.LLM_PROVIDER}/${cfg.LLM_MODEL} concurrency=${concurrency}
|
|
37
|
+
log.info('generatePublishMetadata', `[publish-metadata] model=${cfg.LLM_PROVIDER}/${cfg.LLM_MODEL} concurrency=${concurrency}`, requestId);
|
|
44
38
|
const limit = pLimit(concurrency);
|
|
45
39
|
const effectiveSystemPrompt = cfg.PUBLISH_METADATA_SYSTEM_PROMPT ?? DEFAULT_METADATA_SYSTEM_PROMPT;
|
|
46
40
|
const jobs = items.map((item, itemIndex) => limit(async () => {
|
|
47
41
|
const label = `clip ${itemIndex + 1}/${items.length} ${item.filename}`;
|
|
48
42
|
const t0 = Date.now();
|
|
49
|
-
log.info(`[publish-metadata] → ${label} (${item.startSec.toFixed(1)}s–${item.endSec.toFixed(1)}s)
|
|
43
|
+
log.info('generatePublishMetadata', `[publish-metadata] → ${label} (${item.startSec.toFixed(1)}s–${item.endSec.toFixed(1)}s)`, requestId);
|
|
50
44
|
const prompt = buildMetadataPrompt(workflowTitle, item, context);
|
|
51
45
|
const cached = await readMetadataCache(cfg.CACHE_DIR, effectiveSystemPrompt, prompt);
|
|
52
46
|
if (cached) {
|
|
53
|
-
log.info(`[publish-metadata] cache hit for ${label}
|
|
47
|
+
log.info('generatePublishMetadata', `[publish-metadata] cache hit for ${label}`, requestId);
|
|
54
48
|
return GeneratedPublishMetadataSchema.parse({
|
|
55
49
|
clipArtifactId: item.clipArtifactId,
|
|
56
50
|
...cached,
|
|
57
51
|
});
|
|
58
52
|
}
|
|
59
|
-
log.info(`[publish-metadata] cache miss for ${label} — calling LLM
|
|
53
|
+
log.info('generatePublishMetadata', `[publish-metadata] cache miss for ${label} — calling LLM`, requestId);
|
|
60
54
|
const result = await generateText({
|
|
61
55
|
model,
|
|
62
56
|
system: effectiveSystemPrompt,
|
|
@@ -70,18 +64,18 @@ export async function generatePublishMetadata(workflowTitle, items, cfg, context
|
|
|
70
64
|
toolChoice: { type: 'tool', toolName: 'register_metadata' },
|
|
71
65
|
maxRetries: cfg.LLM_MAX_RETRIES,
|
|
72
66
|
});
|
|
73
|
-
log.info(`[publish-metadata] ← ${label} toolCalls=${result.toolCalls.length} finishReason=${result.finishReason} (${Date.now() - t0}ms)
|
|
67
|
+
log.info('generatePublishMetadata', `[publish-metadata] ← ${label} toolCalls=${result.toolCalls.length} finishReason=${result.finishReason} (${Date.now() - t0}ms)`, requestId);
|
|
74
68
|
const toolCall = result.toolCalls.find((tc) => tc.toolName === 'register_metadata');
|
|
75
69
|
if (!toolCall) {
|
|
76
70
|
const names = result.toolCalls.map((tc) => tc.toolName).join(', ') || 'none';
|
|
77
|
-
log.error(`[publish-metadata] no register_metadata call for ${label} — toolCalls=[${names}] finishReason=${result.finishReason}
|
|
71
|
+
log.error('generatePublishMetadata', `[publish-metadata] no register_metadata call for ${label} — toolCalls=[${names}] finishReason=${result.finishReason}`, requestId);
|
|
78
72
|
throw new Error('No metadata registered: model did not call register_metadata');
|
|
79
73
|
}
|
|
80
74
|
const metadata = GeneratedPublishMetadataSchema.parse({
|
|
81
75
|
clipArtifactId: item.clipArtifactId,
|
|
82
76
|
...toolCall.input,
|
|
83
77
|
});
|
|
84
|
-
log.info(`[publish-metadata] ✓ ${label} title="${metadata.title}" category=${metadata.categoryId} tags=${metadata.tags.length}
|
|
78
|
+
log.info('generatePublishMetadata', `[publish-metadata] ✓ ${label} title="${metadata.title}" category=${metadata.categoryId} tags=${metadata.tags.length}`, requestId);
|
|
85
79
|
await writeMetadataCache(cfg.CACHE_DIR, effectiveSystemPrompt, prompt, {
|
|
86
80
|
title: metadata.title,
|
|
87
81
|
description: metadata.description,
|
|
@@ -100,7 +94,7 @@ export async function generatePublishMetadata(workflowTitle, items, cfg, context
|
|
|
100
94
|
continue;
|
|
101
95
|
}
|
|
102
96
|
const reason = result.reason instanceof Error ? result.reason.message : String(result.reason);
|
|
103
|
-
log.error(`[publish-metadata] ✗ clip ${index + 1}/${items.length} ${item.filename}: ${reason}
|
|
97
|
+
log.error('generatePublishMetadata', `[publish-metadata] ✗ clip ${index + 1}/${items.length} ${item.filename}: ${reason}`, requestId);
|
|
104
98
|
}
|
|
105
99
|
done({ generated: generated.length });
|
|
106
100
|
return generated;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataService.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"metadataService.js","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/metadataService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { type CreateUploadsRequest, type
|
|
1
|
+
import { type CreateUploadsRequest, type UploadArtifact } from '../../../types/publish.js';
|
|
2
2
|
import type { Config } from '../../../../../lib/types/config.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
onUploadFinished?: (upload: UploadArtifact) => void;
|
|
6
|
-
onUploadFailed?: (upload: UploadArtifact) => void;
|
|
7
|
-
}
|
|
3
|
+
import type { UploadDraftClipsCallbacks } from '../../../types/upload.js';
|
|
4
|
+
export type { UploadDraftClipsCallbacks };
|
|
8
5
|
export declare function uploadDraftClips(input: CreateUploadsRequest, cfg: Config, requestId?: string, callbacks?: UploadDraftClipsCallbacks): Promise<UploadArtifact[]>;
|
|
9
6
|
//# sourceMappingURL=uploadService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadService.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/uploadService.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"uploadService.d.ts","sourceRoot":"","sources":["../../../../../../src/app/web/lib/services/publishing/uploadService.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AASnD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1E,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAE1C,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,oBAAoB,EAC3B,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,cAAc,EAAE,CAAC,CAqE3B"}
|