@kenkaiiii/gg-editor 0.6.7 → 0.7.1
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/cli.js +64 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/audio-mix.d.ts.map +1 -1
- package/dist/core/audio-mix.js +8 -1
- package/dist/core/audio-mix.js.map +1 -1
- package/dist/core/audio-mix.test.js +1 -1
- package/dist/core/audio-mix.test.js.map +1 -1
- package/dist/core/auth/api-keys.d.ts +1 -1
- package/dist/core/auth/api-keys.d.ts.map +1 -1
- package/dist/core/auth/api-keys.js +2 -1
- package/dist/core/auth/api-keys.js.map +1 -1
- package/dist/core/auth/index.d.ts +18 -5
- package/dist/core/auth/index.d.ts.map +1 -1
- package/dist/core/auth/index.js +16 -4
- package/dist/core/auth/index.js.map +1 -1
- package/dist/core/auth/login.d.ts.map +1 -1
- package/dist/core/auth/login.js +4 -31
- package/dist/core/auth/login.js.map +1 -1
- package/dist/core/beats.d.ts +59 -0
- package/dist/core/beats.d.ts.map +1 -0
- package/dist/core/beats.js +122 -0
- package/dist/core/beats.js.map +1 -0
- package/dist/core/beats.test.d.ts +2 -0
- package/dist/core/beats.test.d.ts.map +1 -0
- package/dist/core/beats.test.js +86 -0
- package/dist/core/beats.test.js.map +1 -0
- package/dist/core/brand-kit.d.ts +80 -0
- package/dist/core/brand-kit.d.ts.map +1 -0
- package/dist/core/brand-kit.js +96 -0
- package/dist/core/brand-kit.js.map +1 -0
- package/dist/core/brand-kit.test.d.ts +2 -0
- package/dist/core/brand-kit.test.d.ts.map +1 -0
- package/dist/core/brand-kit.test.js +76 -0
- package/dist/core/brand-kit.test.js.map +1 -0
- package/dist/core/bundled-sfx.d.ts +64 -0
- package/dist/core/bundled-sfx.d.ts.map +1 -0
- package/dist/core/bundled-sfx.js +218 -0
- package/dist/core/bundled-sfx.js.map +1 -0
- package/dist/core/bundled-sfx.test.d.ts +2 -0
- package/dist/core/bundled-sfx.test.d.ts.map +1 -0
- package/dist/core/bundled-sfx.test.js +81 -0
- package/dist/core/bundled-sfx.test.js.map +1 -0
- package/dist/core/child-abort.d.ts +57 -0
- package/dist/core/child-abort.d.ts.map +1 -0
- package/dist/core/child-abort.js +95 -0
- package/dist/core/child-abort.js.map +1 -0
- package/dist/core/child-abort.test.d.ts +2 -0
- package/dist/core/child-abort.test.d.ts.map +1 -0
- package/dist/core/child-abort.test.js +88 -0
- package/dist/core/child-abort.test.js.map +1 -0
- package/dist/core/clip-scoring.d.ts +44 -0
- package/dist/core/clip-scoring.d.ts.map +1 -0
- package/dist/core/clip-scoring.js +165 -0
- package/dist/core/clip-scoring.js.map +1 -0
- package/dist/core/clip-scoring.test.d.ts +2 -0
- package/dist/core/clip-scoring.test.d.ts.map +1 -0
- package/dist/core/clip-scoring.test.js +113 -0
- package/dist/core/clip-scoring.test.js.map +1 -0
- package/dist/core/emoji-captions.d.ts +45 -0
- package/dist/core/emoji-captions.d.ts.map +1 -0
- package/dist/core/emoji-captions.js +121 -0
- package/dist/core/emoji-captions.js.map +1 -0
- package/dist/core/face-reframe.d.ts +91 -0
- package/dist/core/face-reframe.d.ts.map +1 -0
- package/dist/core/face-reframe.js +141 -0
- package/dist/core/face-reframe.js.map +1 -0
- package/dist/core/face-reframe.test.d.ts +2 -0
- package/dist/core/face-reframe.test.d.ts.map +1 -0
- package/dist/core/face-reframe.test.js +171 -0
- package/dist/core/face-reframe.test.js.map +1 -0
- package/dist/core/filler-words.d.ts +57 -9
- package/dist/core/filler-words.d.ts.map +1 -1
- package/dist/core/filler-words.js +61 -9
- package/dist/core/filler-words.js.map +1 -1
- package/dist/core/filler-words.test.js +91 -17
- package/dist/core/filler-words.test.js.map +1 -1
- package/dist/core/hook-rewrite.d.ts +48 -0
- package/dist/core/hook-rewrite.d.ts.map +1 -0
- package/dist/core/hook-rewrite.js +151 -0
- package/dist/core/hook-rewrite.js.map +1 -0
- package/dist/core/hook-rewrite.test.d.ts +2 -0
- package/dist/core/hook-rewrite.test.d.ts.map +1 -0
- package/dist/core/hook-rewrite.test.js +58 -0
- package/dist/core/hook-rewrite.test.js.map +1 -0
- package/dist/core/hosts/lazy.d.ts.map +1 -1
- package/dist/core/hosts/lazy.js +2 -0
- package/dist/core/hosts/lazy.js.map +1 -1
- package/dist/core/hosts/premiere/adapter.d.ts +1 -0
- package/dist/core/hosts/premiere/adapter.d.ts.map +1 -1
- package/dist/core/hosts/premiere/adapter.js.map +1 -1
- package/dist/core/hosts/premiere/bridge-source.d.ts.map +1 -1
- package/dist/core/hosts/premiere/bridge-source.js +6 -3
- package/dist/core/hosts/premiere/bridge-source.js.map +1 -1
- package/dist/core/hosts/resolve/adapter.d.ts +1 -0
- package/dist/core/hosts/resolve/adapter.d.ts.map +1 -1
- package/dist/core/hosts/resolve/adapter.js.map +1 -1
- package/dist/core/hosts/resolve/bridge-source.d.ts.map +1 -1
- package/dist/core/hosts/resolve/bridge-source.js +31 -4
- package/dist/core/hosts/resolve/bridge-source.js.map +1 -1
- package/dist/core/hosts/resolve/bridge.d.ts +2 -19
- package/dist/core/hosts/resolve/bridge.d.ts.map +1 -1
- package/dist/core/hosts/resolve/bridge.js +70 -41
- package/dist/core/hosts/resolve/bridge.js.map +1 -1
- package/dist/core/hosts/resolve/bridge.test.js +130 -0
- package/dist/core/hosts/resolve/bridge.test.js.map +1 -1
- package/dist/core/hosts/types.d.ts +6 -0
- package/dist/core/hosts/types.d.ts.map +1 -1
- package/dist/core/hosts/types.js.map +1 -1
- package/dist/core/logger.d.ts +32 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +188 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/loop-match.d.ts +57 -0
- package/dist/core/loop-match.d.ts.map +1 -0
- package/dist/core/loop-match.js +91 -0
- package/dist/core/loop-match.js.map +1 -0
- package/dist/core/media/ffmpeg.d.ts.map +1 -1
- package/dist/core/media/ffmpeg.js +14 -3
- package/dist/core/media/ffmpeg.js.map +1 -1
- package/dist/core/multi-format.d.ts +67 -0
- package/dist/core/multi-format.d.ts.map +1 -0
- package/dist/core/multi-format.js +127 -0
- package/dist/core/multi-format.js.map +1 -0
- package/dist/core/multi-format.test.d.ts +2 -0
- package/dist/core/multi-format.test.d.ts.map +1 -0
- package/dist/core/multi-format.test.js +151 -0
- package/dist/core/multi-format.test.js.map +1 -0
- package/dist/core/python/beats.py +61 -0
- package/dist/core/python/face_reframe.py +163 -0
- package/dist/core/python/sidecar-path.d.ts +13 -0
- package/dist/core/python/sidecar-path.d.ts.map +1 -0
- package/dist/core/python/sidecar-path.js +24 -0
- package/dist/core/python/sidecar-path.js.map +1 -0
- package/dist/core/python.d.ts +57 -0
- package/dist/core/python.d.ts.map +1 -0
- package/dist/core/python.js +107 -0
- package/dist/core/python.js.map +1 -0
- package/dist/core/python.test.d.ts +2 -0
- package/dist/core/python.test.d.ts.map +1 -0
- package/dist/core/python.test.js +129 -0
- package/dist/core/python.test.js.map +1 -0
- package/dist/core/retention-structure.d.ts +81 -0
- package/dist/core/retention-structure.d.ts.map +1 -0
- package/dist/core/retention-structure.js +206 -0
- package/dist/core/retention-structure.js.map +1 -0
- package/dist/core/retention-structure.test.d.ts +2 -0
- package/dist/core/retention-structure.test.d.ts.map +1 -0
- package/dist/core/retention-structure.test.js +88 -0
- package/dist/core/retention-structure.test.js.map +1 -0
- package/dist/core/review.d.ts +17 -0
- package/dist/core/review.d.ts.map +1 -1
- package/dist/core/review.js +20 -24
- package/dist/core/review.js.map +1 -1
- package/dist/core/safe-paths.d.ts +11 -0
- package/dist/core/safe-paths.d.ts.map +1 -1
- package/dist/core/safe-paths.js +26 -10
- package/dist/core/safe-paths.js.map +1 -1
- package/dist/core/safe-paths.test.js +16 -0
- package/dist/core/safe-paths.test.js.map +1 -1
- package/dist/core/skills-loader.d.ts +48 -2
- package/dist/core/skills-loader.d.ts.map +1 -1
- package/dist/core/skills-loader.js +97 -19
- package/dist/core/skills-loader.js.map +1 -1
- package/dist/core/skills-loader.test.js +63 -1
- package/dist/core/skills-loader.test.js.map +1 -1
- package/dist/core/srt.d.ts +42 -7
- package/dist/core/srt.d.ts.map +1 -1
- package/dist/core/srt.js +101 -32
- package/dist/core/srt.js.map +1 -1
- package/dist/core/srt.test.js +54 -1
- package/dist/core/srt.test.js.map +1 -1
- package/dist/core/thumbnail-compose.d.ts +58 -0
- package/dist/core/thumbnail-compose.d.ts.map +1 -0
- package/dist/core/thumbnail-compose.js +101 -0
- package/dist/core/thumbnail-compose.js.map +1 -0
- package/dist/core/thumbnail-promise.d.ts +46 -0
- package/dist/core/thumbnail-promise.d.ts.map +1 -0
- package/dist/core/thumbnail-promise.js +133 -0
- package/dist/core/thumbnail-promise.js.map +1 -0
- package/dist/core/thumbnail-promise.test.d.ts +2 -0
- package/dist/core/thumbnail-promise.test.d.ts.map +1 -0
- package/dist/core/thumbnail-promise.test.js +52 -0
- package/dist/core/thumbnail-promise.test.js.map +1 -0
- package/dist/core/viral-moments.d.ts +70 -0
- package/dist/core/viral-moments.d.ts.map +1 -0
- package/dist/core/viral-moments.js +192 -0
- package/dist/core/viral-moments.js.map +1 -0
- package/dist/core/viral-moments.test.d.ts +2 -0
- package/dist/core/viral-moments.test.d.ts.map +1 -0
- package/dist/core/viral-moments.test.js +153 -0
- package/dist/core/viral-moments.test.js.map +1 -0
- package/dist/core/whisper.d.ts +16 -0
- package/dist/core/whisper.d.ts.map +1 -1
- package/dist/core/whisper.js +72 -5
- package/dist/core/whisper.js.map +1 -1
- package/dist/core/whisper.test.js +111 -1
- package/dist/core/whisper.test.js.map +1 -1
- package/dist/core/youtube-metadata.d.ts +44 -0
- package/dist/core/youtube-metadata.d.ts.map +1 -0
- package/dist/core/youtube-metadata.js +168 -0
- package/dist/core/youtube-metadata.js.map +1 -0
- package/dist/core/youtube-metadata.test.d.ts +2 -0
- package/dist/core/youtube-metadata.test.d.ts.map +1 -0
- package/dist/core/youtube-metadata.test.js +132 -0
- package/dist/core/youtube-metadata.test.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/prompt-commands.d.ts +24 -0
- package/dist/prompt-commands.d.ts.map +1 -0
- package/dist/prompt-commands.js +243 -0
- package/dist/prompt-commands.js.map +1 -0
- package/dist/prompt-commands.test.d.ts +2 -0
- package/dist/prompt-commands.test.d.ts.map +1 -0
- package/dist/prompt-commands.test.js +46 -0
- package/dist/prompt-commands.test.js.map +1 -0
- package/dist/skills.d.ts +6 -6
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +1426 -445
- package/dist/skills.js.map +1 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +108 -0
- package/dist/system-prompt.js.map +1 -1
- package/dist/tools/add-fades.d.ts.map +1 -1
- package/dist/tools/add-fades.js +2 -1
- package/dist/tools/add-fades.js.map +1 -1
- package/dist/tools/add-sfx-at-cuts.d.ts.map +1 -1
- package/dist/tools/add-sfx-at-cuts.js +36 -11
- package/dist/tools/add-sfx-at-cuts.js.map +1 -1
- package/dist/tools/add-sfx-to-timeline.d.ts +34 -0
- package/dist/tools/add-sfx-to-timeline.d.ts.map +1 -0
- package/dist/tools/add-sfx-to-timeline.js +169 -0
- package/dist/tools/add-sfx-to-timeline.js.map +1 -0
- package/dist/tools/add-sfx-to-timeline.test.d.ts +2 -0
- package/dist/tools/add-sfx-to-timeline.test.d.ts.map +1 -0
- package/dist/tools/add-sfx-to-timeline.test.js +181 -0
- package/dist/tools/add-sfx-to-timeline.test.js.map +1 -0
- package/dist/tools/audit-first-frame.d.ts +36 -0
- package/dist/tools/audit-first-frame.d.ts.map +1 -0
- package/dist/tools/audit-first-frame.js +181 -0
- package/dist/tools/audit-first-frame.js.map +1 -0
- package/dist/tools/audit-retention-structure.d.ts +20 -0
- package/dist/tools/audit-retention-structure.d.ts.map +1 -0
- package/dist/tools/audit-retention-structure.js +95 -0
- package/dist/tools/audit-retention-structure.js.map +1 -0
- package/dist/tools/audit-retention-structure.test.d.ts +2 -0
- package/dist/tools/audit-retention-structure.test.d.ts.map +1 -0
- package/dist/tools/audit-retention-structure.test.js +93 -0
- package/dist/tools/audit-retention-structure.test.js.map +1 -0
- package/dist/tools/bleep-words.d.ts +59 -0
- package/dist/tools/bleep-words.d.ts.map +1 -0
- package/dist/tools/bleep-words.js +211 -0
- package/dist/tools/bleep-words.js.map +1 -0
- package/dist/tools/bleep-words.test.d.ts +2 -0
- package/dist/tools/bleep-words.test.d.ts.map +1 -0
- package/dist/tools/bleep-words.test.js +96 -0
- package/dist/tools/bleep-words.test.js.map +1 -0
- package/dist/tools/burn-subtitles.d.ts.map +1 -1
- package/dist/tools/burn-subtitles.js +10 -5
- package/dist/tools/burn-subtitles.js.map +1 -1
- package/dist/tools/clean-audio.d.ts.map +1 -1
- package/dist/tools/clean-audio.js +2 -1
- package/dist/tools/clean-audio.js.map +1 -1
- package/dist/tools/cluster-takes.js +2 -1
- package/dist/tools/cluster-takes.js.map +1 -1
- package/dist/tools/compose-thumbnail-variants.d.ts +70 -0
- package/dist/tools/compose-thumbnail-variants.d.ts.map +1 -0
- package/dist/tools/compose-thumbnail-variants.js +274 -0
- package/dist/tools/compose-thumbnail-variants.js.map +1 -0
- package/dist/tools/compose-thumbnail.d.ts +6 -13
- package/dist/tools/compose-thumbnail.d.ts.map +1 -1
- package/dist/tools/compose-thumbnail.js +44 -81
- package/dist/tools/compose-thumbnail.js.map +1 -1
- package/dist/tools/concat-videos.d.ts.map +1 -1
- package/dist/tools/concat-videos.js +12 -5
- package/dist/tools/concat-videos.js.map +1 -1
- package/dist/tools/concat-videos.test.d.ts +2 -0
- package/dist/tools/concat-videos.test.d.ts.map +1 -0
- package/dist/tools/concat-videos.test.js +103 -0
- package/dist/tools/concat-videos.test.js.map +1 -0
- package/dist/tools/crossfade-videos.d.ts.map +1 -1
- package/dist/tools/crossfade-videos.js +2 -1
- package/dist/tools/crossfade-videos.js.map +1 -1
- package/dist/tools/cut-filler-words.d.ts.map +1 -1
- package/dist/tools/cut-filler-words.js +24 -8
- package/dist/tools/cut-filler-words.js.map +1 -1
- package/dist/tools/detect-speaker-changes.js +2 -1
- package/dist/tools/detect-speaker-changes.js.map +1 -1
- package/dist/tools/extract-audio.d.ts.map +1 -1
- package/dist/tools/extract-audio.js +13 -7
- package/dist/tools/extract-audio.js.map +1 -1
- package/dist/tools/face-reframe.d.ts +30 -0
- package/dist/tools/face-reframe.d.ts.map +1 -0
- package/dist/tools/face-reframe.js +143 -0
- package/dist/tools/face-reframe.js.map +1 -0
- package/dist/tools/face-reframe.test.d.ts +2 -0
- package/dist/tools/face-reframe.test.d.ts.map +1 -0
- package/dist/tools/face-reframe.test.js +139 -0
- package/dist/tools/face-reframe.test.js.map +1 -0
- package/dist/tools/find-viral-moments.d.ts +23 -0
- package/dist/tools/find-viral-moments.d.ts.map +1 -0
- package/dist/tools/find-viral-moments.js +176 -0
- package/dist/tools/find-viral-moments.js.map +1 -0
- package/dist/tools/find-viral-moments.test.d.ts +2 -0
- package/dist/tools/find-viral-moments.test.d.ts.map +1 -0
- package/dist/tools/find-viral-moments.test.js +144 -0
- package/dist/tools/find-viral-moments.test.js.map +1 -0
- package/dist/tools/generate-gif.d.ts.map +1 -1
- package/dist/tools/generate-gif.js +47 -40
- package/dist/tools/generate-gif.js.map +1 -1
- package/dist/tools/generate-gif.test.d.ts +2 -0
- package/dist/tools/generate-gif.test.d.ts.map +1 -0
- package/dist/tools/generate-gif.test.js +115 -0
- package/dist/tools/generate-gif.test.js.map +1 -0
- package/dist/tools/generate-outro.d.ts +18 -0
- package/dist/tools/generate-outro.d.ts.map +1 -0
- package/dist/tools/generate-outro.js +175 -0
- package/dist/tools/generate-outro.js.map +1 -0
- package/dist/tools/generate-youtube-metadata.d.ts +23 -0
- package/dist/tools/generate-youtube-metadata.d.ts.map +1 -0
- package/dist/tools/generate-youtube-metadata.js +103 -0
- package/dist/tools/generate-youtube-metadata.js.map +1 -0
- package/dist/tools/generate-youtube-metadata.test.d.ts +2 -0
- package/dist/tools/generate-youtube-metadata.test.d.ts.map +1 -0
- package/dist/tools/generate-youtube-metadata.test.js +118 -0
- package/dist/tools/generate-youtube-metadata.test.js.map +1 -0
- package/dist/tools/index.d.ts +14 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +130 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/index.test.js +27 -1
- package/dist/tools/index.test.js.map +1 -1
- package/dist/tools/ken-burns.d.ts.map +1 -1
- package/dist/tools/ken-burns.js +2 -1
- package/dist/tools/ken-burns.js.map +1 -1
- package/dist/tools/loop-match-short.d.ts +22 -0
- package/dist/tools/loop-match-short.d.ts.map +1 -0
- package/dist/tools/loop-match-short.js +107 -0
- package/dist/tools/loop-match-short.js.map +1 -0
- package/dist/tools/mix-audio.d.ts.map +1 -1
- package/dist/tools/mix-audio.js +2 -1
- package/dist/tools/mix-audio.js.map +1 -1
- package/dist/tools/normalize-loudness.d.ts.map +1 -1
- package/dist/tools/normalize-loudness.js +2 -1
- package/dist/tools/normalize-loudness.js.map +1 -1
- package/dist/tools/path-traversal.test.d.ts +15 -0
- package/dist/tools/path-traversal.test.d.ts.map +1 -0
- package/dist/tools/path-traversal.test.js +223 -0
- package/dist/tools/path-traversal.test.js.map +1 -0
- package/dist/tools/pick-best-takes.js +2 -1
- package/dist/tools/pick-best-takes.js.map +1 -1
- package/dist/tools/punch-in.d.ts.map +1 -1
- package/dist/tools/punch-in.js +2 -1
- package/dist/tools/punch-in.js.map +1 -1
- package/dist/tools/read-transcript.js +2 -1
- package/dist/tools/read-transcript.js.map +1 -1
- package/dist/tools/render-multi-format.d.ts +35 -0
- package/dist/tools/render-multi-format.d.ts.map +1 -0
- package/dist/tools/render-multi-format.js +206 -0
- package/dist/tools/render-multi-format.js.map +1 -0
- package/dist/tools/render-multi-format.test.d.ts +2 -0
- package/dist/tools/render-multi-format.test.d.ts.map +1 -0
- package/dist/tools/render-multi-format.test.js +312 -0
- package/dist/tools/render-multi-format.test.js.map +1 -0
- package/dist/tools/render.d.ts.map +1 -1
- package/dist/tools/render.js +2 -2
- package/dist/tools/render.js.map +1 -1
- package/dist/tools/rewrite-hook.d.ts +32 -0
- package/dist/tools/rewrite-hook.d.ts.map +1 -0
- package/dist/tools/rewrite-hook.js +65 -0
- package/dist/tools/rewrite-hook.js.map +1 -0
- package/dist/tools/score-clip.d.ts +30 -0
- package/dist/tools/score-clip.d.ts.map +1 -0
- package/dist/tools/score-clip.js +109 -0
- package/dist/tools/score-clip.js.map +1 -0
- package/dist/tools/score-clip.test.d.ts +2 -0
- package/dist/tools/score-clip.test.d.ts.map +1 -0
- package/dist/tools/score-clip.test.js +110 -0
- package/dist/tools/score-clip.test.js.map +1 -0
- package/dist/tools/search-tools.d.ts +34 -0
- package/dist/tools/search-tools.d.ts.map +1 -0
- package/dist/tools/search-tools.js +86 -0
- package/dist/tools/search-tools.js.map +1 -0
- package/dist/tools/search-tools.test.d.ts +2 -0
- package/dist/tools/search-tools.test.d.ts.map +1 -0
- package/dist/tools/search-tools.test.js +60 -0
- package/dist/tools/search-tools.test.js.map +1 -0
- package/dist/tools/snap-cuts-to-beats.d.ts +18 -0
- package/dist/tools/snap-cuts-to-beats.d.ts.map +1 -0
- package/dist/tools/snap-cuts-to-beats.js +110 -0
- package/dist/tools/snap-cuts-to-beats.js.map +1 -0
- package/dist/tools/snap-cuts-to-beats.test.d.ts +2 -0
- package/dist/tools/snap-cuts-to-beats.test.d.ts.map +1 -0
- package/dist/tools/snap-cuts-to-beats.test.js +99 -0
- package/dist/tools/snap-cuts-to-beats.test.js.map +1 -0
- package/dist/tools/speed-ramp.d.ts.map +1 -1
- package/dist/tools/speed-ramp.js +2 -1
- package/dist/tools/speed-ramp.js.map +1 -1
- package/dist/tools/stabilize-video.d.ts.map +1 -1
- package/dist/tools/stabilize-video.js +2 -1
- package/dist/tools/stabilize-video.js.map +1 -1
- package/dist/tools/suggest-broll.d.ts +34 -0
- package/dist/tools/suggest-broll.d.ts.map +1 -0
- package/dist/tools/suggest-broll.js +367 -0
- package/dist/tools/suggest-broll.js.map +1 -0
- package/dist/tools/suggest-broll.test.d.ts +2 -0
- package/dist/tools/suggest-broll.test.d.ts.map +1 -0
- package/dist/tools/suggest-broll.test.js +217 -0
- package/dist/tools/suggest-broll.test.js.map +1 -0
- package/dist/tools/text-based-cut.d.ts +33 -0
- package/dist/tools/text-based-cut.d.ts.map +1 -0
- package/dist/tools/text-based-cut.js +172 -0
- package/dist/tools/text-based-cut.js.map +1 -0
- package/dist/tools/text-based-cut.test.d.ts +2 -0
- package/dist/tools/text-based-cut.test.d.ts.map +1 -0
- package/dist/tools/text-based-cut.test.js +32 -0
- package/dist/tools/text-based-cut.test.js.map +1 -0
- package/dist/tools/transcribe.d.ts +1 -1
- package/dist/tools/transition-videos.d.ts +1 -1
- package/dist/tools/transition-videos.d.ts.map +1 -1
- package/dist/tools/transition-videos.js +2 -1
- package/dist/tools/transition-videos.js.map +1 -1
- package/dist/tools/trim-dead-air.d.ts +59 -0
- package/dist/tools/trim-dead-air.d.ts.map +1 -0
- package/dist/tools/trim-dead-air.js +215 -0
- package/dist/tools/trim-dead-air.js.map +1 -0
- package/dist/tools/trim-dead-air.test.d.ts +2 -0
- package/dist/tools/trim-dead-air.test.d.ts.map +1 -0
- package/dist/tools/trim-dead-air.test.js +75 -0
- package/dist/tools/trim-dead-air.test.js.map +1 -0
- package/dist/tools/verify-thumbnail-promise.d.ts +33 -0
- package/dist/tools/verify-thumbnail-promise.d.ts.map +1 -0
- package/dist/tools/verify-thumbnail-promise.js +112 -0
- package/dist/tools/verify-thumbnail-promise.js.map +1 -0
- package/dist/tools/verify-thumbnail-promise.test.d.ts +2 -0
- package/dist/tools/verify-thumbnail-promise.test.d.ts.map +1 -0
- package/dist/tools/verify-thumbnail-promise.test.js +38 -0
- package/dist/tools/verify-thumbnail-promise.test.js.map +1 -0
- package/dist/tools/write-keyword-captions.d.ts +7 -0
- package/dist/tools/write-keyword-captions.d.ts.map +1 -1
- package/dist/tools/write-keyword-captions.js +35 -4
- package/dist/tools/write-keyword-captions.js.map +1 -1
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +75 -11
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/tool-formatters.d.ts +30 -0
- package/dist/ui/tool-formatters.d.ts.map +1 -0
- package/dist/ui/tool-formatters.js +461 -0
- package/dist/ui/tool-formatters.js.map +1 -0
- package/dist/ui/tool-formatters.test.d.ts +2 -0
- package/dist/ui/tool-formatters.test.d.ts.map +1 -0
- package/dist/ui/tool-formatters.test.js +143 -0
- package/dist/ui/tool-formatters.test.js.map +1 -0
- package/package.json +10 -9
package/dist/tools/index.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export { createCleanAudioTool } from "./clean-audio.js";
|
|
|
28
28
|
export { createCloneTimelineTool } from "./clone-timeline.js";
|
|
29
29
|
export { createClusterTakesTool } from "./cluster-takes.js";
|
|
30
30
|
export { createComposeThumbnailTool } from "./compose-thumbnail.js";
|
|
31
|
+
export { createComposeThumbnailVariantsTool } from "./compose-thumbnail-variants.js";
|
|
31
32
|
export { createConcatVideosTool } from "./concat-videos.js";
|
|
32
33
|
export { createCrossfadeVideosTool } from "./crossfade-videos.js";
|
|
33
34
|
export { createColorMatchTool } from "./color-match.js";
|
|
@@ -36,8 +37,19 @@ export { createMatchClipColorTool } from "./match-clip-color.js";
|
|
|
36
37
|
export { createCutFillerWordsTool } from "./cut-filler-words.js";
|
|
37
38
|
export { createPunchInTool } from "./punch-in.js";
|
|
38
39
|
export { createAnalyzeHookTool } from "./analyze-hook.js";
|
|
40
|
+
export { createAuditFirstFrameTool } from "./audit-first-frame.js";
|
|
41
|
+
export { createAuditRetentionStructureTool } from "./audit-retention-structure.js";
|
|
42
|
+
export { createLoopMatchShortTool } from "./loop-match-short.js";
|
|
43
|
+
export { createRewriteHookTool } from "./rewrite-hook.js";
|
|
44
|
+
export { createVerifyThumbnailPromiseTool } from "./verify-thumbnail-promise.js";
|
|
45
|
+
export { createScoreClipTool } from "./score-clip.js";
|
|
46
|
+
export { createFindViralMomentsTool } from "./find-viral-moments.js";
|
|
47
|
+
export { createGenerateYouTubeMetadataTool } from "./generate-youtube-metadata.js";
|
|
39
48
|
export { createWriteKeywordCaptionsTool } from "./write-keyword-captions.js";
|
|
40
49
|
export { createAddSfxAtCutsTool } from "./add-sfx-at-cuts.js";
|
|
50
|
+
export { createAddSfxToTimelineTool } from "./add-sfx-to-timeline.js";
|
|
51
|
+
export { createSnapCutsToBeatsTool } from "./snap-cuts-to-beats.js";
|
|
52
|
+
export { createFaceReframeTool } from "./face-reframe.js";
|
|
41
53
|
export { createComposeLayeredTool } from "./compose-layered.js";
|
|
42
54
|
export { createCopyGradeTool } from "./copy-grade.js";
|
|
43
55
|
export { createDetectSpeakerChangesTool } from "./detect-speaker-changes.js";
|
|
@@ -64,6 +76,7 @@ export { createFusionCompTool } from "./fusion-comp.js";
|
|
|
64
76
|
export { createImportToMediaPoolTool } from "./import-to-media-pool.js";
|
|
65
77
|
export { createGenerateGifTool } from "./generate-gif.js";
|
|
66
78
|
export { createInsertBrollTool } from "./insert-broll.js";
|
|
79
|
+
export { createSuggestBrollTool } from "./suggest-broll.js";
|
|
67
80
|
export { createListRenderPresetsTool } from "./list-render-presets.js";
|
|
68
81
|
export { createOverlayWatermarkTool } from "./overlay-watermark.js";
|
|
69
82
|
export { createMeasureLoudnessTool } from "./measure-loudness.js";
|
|
@@ -80,6 +93,7 @@ export { createReadTranscriptTool } from "./read-transcript.js";
|
|
|
80
93
|
export { createReviewEditTool } from "./review-edit.js";
|
|
81
94
|
export type { ReviewEditConfig } from "./review-edit.js";
|
|
82
95
|
export { createReformatTimelineTool } from "./reformat-timeline.js";
|
|
96
|
+
export { createRenderMultiFormatTool } from "./render-multi-format.js";
|
|
83
97
|
export { createRenderTool } from "./render.js";
|
|
84
98
|
export { createRippleDeleteTool } from "./ripple-delete.js";
|
|
85
99
|
export { createScoreShotTool } from "./score-shot.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { logError, logInfo } from "../core/logger.js";
|
|
1
2
|
import { discoverSkills } from "../core/skills-loader.js";
|
|
2
3
|
import { SKILLS } from "../skills.js";
|
|
3
4
|
import { createAddFadesTool } from "./add-fades.js";
|
|
@@ -10,6 +11,7 @@ import { createCleanAudioTool } from "./clean-audio.js";
|
|
|
10
11
|
import { createCloneTimelineTool } from "./clone-timeline.js";
|
|
11
12
|
import { createClusterTakesTool } from "./cluster-takes.js";
|
|
12
13
|
import { createComposeThumbnailTool } from "./compose-thumbnail.js";
|
|
14
|
+
import { createComposeThumbnailVariantsTool } from "./compose-thumbnail-variants.js";
|
|
13
15
|
import { createConcatVideosTool } from "./concat-videos.js";
|
|
14
16
|
import { createColorMatchTool } from "./color-match.js";
|
|
15
17
|
import { createGradeSkinTonesTool } from "./grade-skin-tones.js";
|
|
@@ -17,8 +19,19 @@ import { createMatchClipColorTool } from "./match-clip-color.js";
|
|
|
17
19
|
import { createCutFillerWordsTool } from "./cut-filler-words.js";
|
|
18
20
|
import { createPunchInTool } from "./punch-in.js";
|
|
19
21
|
import { createAnalyzeHookTool } from "./analyze-hook.js";
|
|
22
|
+
import { createAuditFirstFrameTool } from "./audit-first-frame.js";
|
|
23
|
+
import { createAuditRetentionStructureTool } from "./audit-retention-structure.js";
|
|
24
|
+
import { createLoopMatchShortTool } from "./loop-match-short.js";
|
|
25
|
+
import { createRewriteHookTool } from "./rewrite-hook.js";
|
|
26
|
+
import { createVerifyThumbnailPromiseTool } from "./verify-thumbnail-promise.js";
|
|
27
|
+
import { createScoreClipTool } from "./score-clip.js";
|
|
28
|
+
import { createFindViralMomentsTool } from "./find-viral-moments.js";
|
|
29
|
+
import { createGenerateYouTubeMetadataTool } from "./generate-youtube-metadata.js";
|
|
20
30
|
import { createWriteKeywordCaptionsTool } from "./write-keyword-captions.js";
|
|
21
31
|
import { createAddSfxAtCutsTool } from "./add-sfx-at-cuts.js";
|
|
32
|
+
import { createAddSfxToTimelineTool } from "./add-sfx-to-timeline.js";
|
|
33
|
+
import { createSnapCutsToBeatsTool } from "./snap-cuts-to-beats.js";
|
|
34
|
+
import { createFaceReframeTool } from "./face-reframe.js";
|
|
22
35
|
import { createComposeLayeredTool } from "./compose-layered.js";
|
|
23
36
|
import { createCopyGradeTool } from "./copy-grade.js";
|
|
24
37
|
import { createDetectSpeakerChangesTool } from "./detect-speaker-changes.js";
|
|
@@ -44,6 +57,7 @@ import { createImportSubtitlesTool } from "./import-subtitles.js";
|
|
|
44
57
|
import { createImportToMediaPoolTool } from "./import-to-media-pool.js";
|
|
45
58
|
import { createGenerateGifTool } from "./generate-gif.js";
|
|
46
59
|
import { createInsertBrollTool } from "./insert-broll.js";
|
|
60
|
+
import { createSuggestBrollTool } from "./suggest-broll.js";
|
|
47
61
|
import { createListRenderPresetsTool } from "./list-render-presets.js";
|
|
48
62
|
import { createOverlayWatermarkTool } from "./overlay-watermark.js";
|
|
49
63
|
import { createMeasureLoudnessTool } from "./measure-loudness.js";
|
|
@@ -61,6 +75,7 @@ import { createReadSkillTool } from "./read-skill.js";
|
|
|
61
75
|
import { createReadTranscriptTool } from "./read-transcript.js";
|
|
62
76
|
import { createReviewEditTool } from "./review-edit.js";
|
|
63
77
|
import { createReformatTimelineTool } from "./reformat-timeline.js";
|
|
78
|
+
import { createRenderMultiFormatTool } from "./render-multi-format.js";
|
|
64
79
|
import { createRenderTool } from "./render.js";
|
|
65
80
|
import { createRippleDeleteTool } from "./ripple-delete.js";
|
|
66
81
|
import { createScoreShotTool } from "./score-shot.js";
|
|
@@ -74,6 +89,11 @@ import { createTranscribeTool } from "./transcribe.js";
|
|
|
74
89
|
import { createWriteEdlTool } from "./write-edl.js";
|
|
75
90
|
import { createWriteFcpxmlTool } from "./write-fcpxml.js";
|
|
76
91
|
import { createWriteSrtTool } from "./write-srt.js";
|
|
92
|
+
import { createTrimDeadAirTool } from "./trim-dead-air.js";
|
|
93
|
+
import { createBleepWordsTool } from "./bleep-words.js";
|
|
94
|
+
import { createTextBasedCutTool } from "./text-based-cut.js";
|
|
95
|
+
import { createGenerateOutroTool } from "./generate-outro.js";
|
|
96
|
+
import { createSearchToolsTool } from "./search-tools.js";
|
|
77
97
|
export function createEditorTools(opts) {
|
|
78
98
|
const { host, cwd, reviewConfig } = opts;
|
|
79
99
|
const skills = opts.skills ?? discoverSkills({ cwd, bundled: Object.values(SKILLS) });
|
|
@@ -92,6 +112,7 @@ export function createEditorTools(opts) {
|
|
|
92
112
|
createSetClipVolumeTool(host),
|
|
93
113
|
createReplaceClipTool(host, cwd),
|
|
94
114
|
createInsertBrollTool(host, cwd),
|
|
115
|
+
createSuggestBrollTool(cwd),
|
|
95
116
|
// Project / timeline / media-pool setup
|
|
96
117
|
createCreateTimelineTool(host),
|
|
97
118
|
createCloneTimelineTool(host),
|
|
@@ -105,8 +126,10 @@ export function createEditorTools(opts) {
|
|
|
105
126
|
createImportEdlTool(host, cwd),
|
|
106
127
|
createReformatTimelineTool(cwd),
|
|
107
128
|
createRenderTool(host, cwd),
|
|
129
|
+
createRenderMultiFormatTool(cwd),
|
|
108
130
|
createListRenderPresetsTool(host),
|
|
109
131
|
createSmartReframeTool(host),
|
|
132
|
+
createFaceReframeTool(cwd),
|
|
110
133
|
createPreRenderCheckTool(host, cwd),
|
|
111
134
|
createReorderTimelineTool(host, cwd),
|
|
112
135
|
createComposeLayeredTool(host, cwd),
|
|
@@ -135,6 +158,9 @@ export function createEditorTools(opts) {
|
|
|
135
158
|
createStabilizeVideoTool(cwd),
|
|
136
159
|
// Post-production / delivery (file-only)
|
|
137
160
|
createBurnSubtitlesTool(cwd),
|
|
161
|
+
createTrimDeadAirTool(cwd),
|
|
162
|
+
createBleepWordsTool(cwd),
|
|
163
|
+
createGenerateOutroTool(cwd),
|
|
138
164
|
createConcatVideosTool(cwd),
|
|
139
165
|
createAddFadesTool(cwd),
|
|
140
166
|
createCrossfadeVideosTool(cwd),
|
|
@@ -148,10 +174,23 @@ export function createEditorTools(opts) {
|
|
|
148
174
|
createWriteTitleCardTool(cwd),
|
|
149
175
|
// Retention-tuning ops (the YouTube / TikTok / Reels pipeline)
|
|
150
176
|
createCutFillerWordsTool(cwd),
|
|
177
|
+
createTextBasedCutTool(cwd),
|
|
151
178
|
createPunchInTool(cwd),
|
|
152
179
|
createAnalyzeHookTool(cwd),
|
|
180
|
+
createAuditFirstFrameTool(cwd),
|
|
181
|
+
createAuditRetentionStructureTool(cwd),
|
|
182
|
+
createRewriteHookTool(cwd),
|
|
183
|
+
createVerifyThumbnailPromiseTool(cwd),
|
|
153
184
|
createWriteKeywordCaptionsTool(cwd),
|
|
154
185
|
createAddSfxAtCutsTool(cwd),
|
|
186
|
+
createAddSfxToTimelineTool(host, cwd),
|
|
187
|
+
createSnapCutsToBeatsTool(cwd),
|
|
188
|
+
createLoopMatchShortTool(cwd),
|
|
189
|
+
// LLM-driven creator helpers
|
|
190
|
+
createScoreClipTool(cwd),
|
|
191
|
+
createFindViralMomentsTool(cwd),
|
|
192
|
+
createGenerateYouTubeMetadataTool(cwd),
|
|
193
|
+
createComposeThumbnailVariantsTool(cwd),
|
|
155
194
|
// Host-independent media ops
|
|
156
195
|
createProbeMediaTool(cwd),
|
|
157
196
|
createExtractAudioTool(cwd),
|
|
@@ -172,7 +211,83 @@ export function createEditorTools(opts) {
|
|
|
172
211
|
if (reviewConfig) {
|
|
173
212
|
tools.push(createReviewEditTool(host, cwd, reviewConfig));
|
|
174
213
|
}
|
|
175
|
-
|
|
214
|
+
// Meta-tool: needs to introspect the live registry. Built last so it sees
|
|
215
|
+
// every other tool. Snapshot of {name, description} avoids leaking the
|
|
216
|
+
// execute closures into the search index.
|
|
217
|
+
const snapshot = tools.map((t) => ({ name: t.name, description: t.description ?? "" }));
|
|
218
|
+
tools.push(createSearchToolsTool(() => snapshot));
|
|
219
|
+
return tools.map(withLogging);
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Wrap a tool's `execute` so every invocation is logged with name, args,
|
|
223
|
+
* duration, and ok/err. Single decorator applied uniformly so the agent
|
|
224
|
+
* loop can't get a tool call past us without leaving a log trail.
|
|
225
|
+
*
|
|
226
|
+
* Args are JSON-stringified and capped — long media paths and CDL arrays
|
|
227
|
+
* shouldn't drown the log. Same for the result preview.
|
|
228
|
+
*/
|
|
229
|
+
function withLogging(tool) {
|
|
230
|
+
const originalExecute = tool.execute.bind(tool);
|
|
231
|
+
const wrapped = {
|
|
232
|
+
...tool,
|
|
233
|
+
execute: async (args, context) => {
|
|
234
|
+
const startedAt = Date.now();
|
|
235
|
+
const argsPreview = previewJson(args);
|
|
236
|
+
try {
|
|
237
|
+
const result = await originalExecute(args, context);
|
|
238
|
+
const isError = typeof result === "object" && result !== null && "isError" in result
|
|
239
|
+
? Boolean(result.isError)
|
|
240
|
+
: false;
|
|
241
|
+
const resultText = typeof result === "object" && result !== null && "content" in result
|
|
242
|
+
? extractContentPreview(result.content)
|
|
243
|
+
: previewJson(result);
|
|
244
|
+
const meta = {
|
|
245
|
+
ms: Date.now() - startedAt,
|
|
246
|
+
args: argsPreview,
|
|
247
|
+
result: resultText,
|
|
248
|
+
};
|
|
249
|
+
if (isError)
|
|
250
|
+
logError("tool", tool.name, meta);
|
|
251
|
+
else
|
|
252
|
+
logInfo("tool", tool.name, meta);
|
|
253
|
+
return result;
|
|
254
|
+
}
|
|
255
|
+
catch (e) {
|
|
256
|
+
const err = e;
|
|
257
|
+
logError("tool", tool.name, {
|
|
258
|
+
ms: Date.now() - startedAt,
|
|
259
|
+
args: argsPreview,
|
|
260
|
+
throw: err.message,
|
|
261
|
+
});
|
|
262
|
+
throw e;
|
|
263
|
+
}
|
|
264
|
+
},
|
|
265
|
+
};
|
|
266
|
+
return wrapped;
|
|
267
|
+
}
|
|
268
|
+
// Field-cap is enforced inside logger.formatValue; we just produce raw
|
|
269
|
+
// strings here. No need to truncate twice (would distort the overflow count).
|
|
270
|
+
function previewJson(value) {
|
|
271
|
+
if (value === undefined)
|
|
272
|
+
return "";
|
|
273
|
+
try {
|
|
274
|
+
return JSON.stringify(value);
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
return String(value);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
function extractContentPreview(content) {
|
|
281
|
+
if (typeof content === "string")
|
|
282
|
+
return content;
|
|
283
|
+
if (Array.isArray(content)) {
|
|
284
|
+
return content
|
|
285
|
+
.map((c) => typeof c === "object" && c !== null && "text" in c
|
|
286
|
+
? String(c.text)
|
|
287
|
+
: previewJson(c))
|
|
288
|
+
.join(" | ");
|
|
289
|
+
}
|
|
290
|
+
return previewJson(content);
|
|
176
291
|
}
|
|
177
292
|
export { createAddFadesTool } from "./add-fades.js";
|
|
178
293
|
export { createAddMarkerTool } from "./add-marker.js";
|
|
@@ -184,6 +299,7 @@ export { createCleanAudioTool } from "./clean-audio.js";
|
|
|
184
299
|
export { createCloneTimelineTool } from "./clone-timeline.js";
|
|
185
300
|
export { createClusterTakesTool } from "./cluster-takes.js";
|
|
186
301
|
export { createComposeThumbnailTool } from "./compose-thumbnail.js";
|
|
302
|
+
export { createComposeThumbnailVariantsTool } from "./compose-thumbnail-variants.js";
|
|
187
303
|
export { createConcatVideosTool } from "./concat-videos.js";
|
|
188
304
|
export { createCrossfadeVideosTool } from "./crossfade-videos.js";
|
|
189
305
|
export { createColorMatchTool } from "./color-match.js";
|
|
@@ -192,8 +308,19 @@ export { createMatchClipColorTool } from "./match-clip-color.js";
|
|
|
192
308
|
export { createCutFillerWordsTool } from "./cut-filler-words.js";
|
|
193
309
|
export { createPunchInTool } from "./punch-in.js";
|
|
194
310
|
export { createAnalyzeHookTool } from "./analyze-hook.js";
|
|
311
|
+
export { createAuditFirstFrameTool } from "./audit-first-frame.js";
|
|
312
|
+
export { createAuditRetentionStructureTool } from "./audit-retention-structure.js";
|
|
313
|
+
export { createLoopMatchShortTool } from "./loop-match-short.js";
|
|
314
|
+
export { createRewriteHookTool } from "./rewrite-hook.js";
|
|
315
|
+
export { createVerifyThumbnailPromiseTool } from "./verify-thumbnail-promise.js";
|
|
316
|
+
export { createScoreClipTool } from "./score-clip.js";
|
|
317
|
+
export { createFindViralMomentsTool } from "./find-viral-moments.js";
|
|
318
|
+
export { createGenerateYouTubeMetadataTool } from "./generate-youtube-metadata.js";
|
|
195
319
|
export { createWriteKeywordCaptionsTool } from "./write-keyword-captions.js";
|
|
196
320
|
export { createAddSfxAtCutsTool } from "./add-sfx-at-cuts.js";
|
|
321
|
+
export { createAddSfxToTimelineTool } from "./add-sfx-to-timeline.js";
|
|
322
|
+
export { createSnapCutsToBeatsTool } from "./snap-cuts-to-beats.js";
|
|
323
|
+
export { createFaceReframeTool } from "./face-reframe.js";
|
|
197
324
|
export { createComposeLayeredTool } from "./compose-layered.js";
|
|
198
325
|
export { createCopyGradeTool } from "./copy-grade.js";
|
|
199
326
|
export { createDetectSpeakerChangesTool } from "./detect-speaker-changes.js";
|
|
@@ -220,6 +347,7 @@ export { createFusionCompTool } from "./fusion-comp.js";
|
|
|
220
347
|
export { createImportToMediaPoolTool } from "./import-to-media-pool.js";
|
|
221
348
|
export { createGenerateGifTool } from "./generate-gif.js";
|
|
222
349
|
export { createInsertBrollTool } from "./insert-broll.js";
|
|
350
|
+
export { createSuggestBrollTool } from "./suggest-broll.js";
|
|
223
351
|
export { createListRenderPresetsTool } from "./list-render-presets.js";
|
|
224
352
|
export { createOverlayWatermarkTool } from "./overlay-watermark.js";
|
|
225
353
|
export { createMeasureLoudnessTool } from "./measure-loudness.js";
|
|
@@ -235,6 +363,7 @@ export { createReadSkillTool } from "./read-skill.js";
|
|
|
235
363
|
export { createReadTranscriptTool } from "./read-transcript.js";
|
|
236
364
|
export { createReviewEditTool } from "./review-edit.js";
|
|
237
365
|
export { createReformatTimelineTool } from "./reformat-timeline.js";
|
|
366
|
+
export { createRenderMultiFormatTool } from "./render-multi-format.js";
|
|
238
367
|
export { createRenderTool } from "./render.js";
|
|
239
368
|
export { createRippleDeleteTool } from "./ripple-delete.js";
|
|
240
369
|
export { createScoreShotTool } from "./score-shot.js";
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.test.js
CHANGED
|
@@ -20,6 +20,7 @@ const EXPECTED_TOOLS = [
|
|
|
20
20
|
"set_clip_volume",
|
|
21
21
|
"replace_clip",
|
|
22
22
|
"insert_broll",
|
|
23
|
+
"suggest_broll",
|
|
23
24
|
// Project / timeline / media-pool setup
|
|
24
25
|
"create_timeline",
|
|
25
26
|
"clone_timeline",
|
|
@@ -33,8 +34,10 @@ const EXPECTED_TOOLS = [
|
|
|
33
34
|
"import_edl",
|
|
34
35
|
"reformat_timeline",
|
|
35
36
|
"render",
|
|
37
|
+
"render_multi_format",
|
|
36
38
|
"list_render_presets",
|
|
37
39
|
"smart_reframe",
|
|
40
|
+
"face_reframe",
|
|
38
41
|
"pre_render_check",
|
|
39
42
|
"reorder_timeline",
|
|
40
43
|
"compose_layered",
|
|
@@ -70,6 +73,9 @@ const EXPECTED_TOOLS = [
|
|
|
70
73
|
"generate_gif",
|
|
71
74
|
"overlay_watermark",
|
|
72
75
|
"compose_thumbnail",
|
|
76
|
+
"trim_dead_air",
|
|
77
|
+
"bleep_words",
|
|
78
|
+
"generate_outro",
|
|
73
79
|
"speed_ramp",
|
|
74
80
|
"ken_burns",
|
|
75
81
|
"write_lower_third",
|
|
@@ -87,14 +93,29 @@ const EXPECTED_TOOLS = [
|
|
|
87
93
|
"detect_speaker_changes",
|
|
88
94
|
// Retention-tuning ops (the YouTube / TikTok / Reels pipeline)
|
|
89
95
|
"cut_filler_words",
|
|
96
|
+
"text_based_cut",
|
|
90
97
|
"punch_in",
|
|
91
98
|
"analyze_hook",
|
|
99
|
+
"audit_first_frame",
|
|
100
|
+
"audit_retention_structure",
|
|
101
|
+
"rewrite_hook",
|
|
102
|
+
"verify_thumbnail_promise",
|
|
92
103
|
"write_keyword_captions",
|
|
93
104
|
"add_sfx_at_cuts",
|
|
105
|
+
"add_sfx_to_timeline",
|
|
106
|
+
"snap_cuts_to_beats",
|
|
107
|
+
"loop_match_short",
|
|
108
|
+
// LLM-driven creator helpers
|
|
109
|
+
"score_clip",
|
|
110
|
+
"find_viral_moments",
|
|
111
|
+
"generate_youtube_metadata",
|
|
112
|
+
"compose_thumbnail_variants",
|
|
94
113
|
// Skills
|
|
95
114
|
"read_skill",
|
|
96
115
|
// Escape hatch (always registered; rejects with not_supported on host=none)
|
|
97
116
|
"host_eval",
|
|
117
|
+
// Meta-tool — appended last so it sees the rest of the registry
|
|
118
|
+
"search_tools",
|
|
98
119
|
];
|
|
99
120
|
describe("createEditorTools", () => {
|
|
100
121
|
it("registers every expected tool exactly once", () => {
|
|
@@ -126,7 +147,12 @@ describe("createEditorTools", () => {
|
|
|
126
147
|
const ctx = { signal: new AbortController().signal, toolCallId: "t1" };
|
|
127
148
|
const r = await readSkill.execute({ name: "long-form-content-edit" }, ctx);
|
|
128
149
|
expect(typeof r).toBe("string");
|
|
129
|
-
|
|
150
|
+
// Skills now ship with YAML frontmatter (Anthropic skill spec); content
|
|
151
|
+
// starts with the frontmatter delimiter and contains the heading further
|
|
152
|
+
// down.
|
|
153
|
+
const text = r;
|
|
154
|
+
expect(text.startsWith("---")).toBe(true);
|
|
155
|
+
expect(text).toContain("# long-form-content-edit");
|
|
130
156
|
});
|
|
131
157
|
});
|
|
132
158
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/tools/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C;;;GAGG;AAEH,MAAM,cAAc,GAAG;IACrB,qBAAqB;IACrB,WAAW;IACX,iBAAiB;IACjB,cAAc;IACd,aAAa;IACb,oBAAoB;IACpB,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,wCAAwC;IACxC,iBAAiB;IACjB,gBAAgB;IAChB,cAAc;IACd,WAAW;IACX,sBAAsB;IACtB,WAAW;IACX,gBAAgB;IAChB,WAAW;IACX,cAAc;IACd,YAAY;IACZ,mBAAmB;IACnB,QAAQ;IACR,qBAAqB;IACrB,eAAe;IACf,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,uBAAuB;IACvB,WAAW;IACX,WAAW;IACX,kBAAkB;IAClB,QAAQ;IACR,WAAW;IACX,wBAAwB;IACxB,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,iCAAiC;IACjC,aAAa;IACb,2BAA2B;IAC3B,kBAAkB;IAClB,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,WAAW;IACX,mBAAmB;IACnB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,6BAA6B;IAC7B,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,YAAY;IACZ,WAAW;IACX,mBAAmB;IACnB,kBAAkB;IAClB,yBAAyB;IACzB,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,wBAAwB;IACxB,+DAA+D;IAC/D,kBAAkB;IAClB,UAAU;IACV,cAAc;IACd,wBAAwB;IACxB,iBAAiB;IACjB,SAAS;IACT,YAAY;IACZ,4EAA4E;IAC5E,WAAW;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/tools/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ken-burns.d.ts","sourceRoot":"","sources":["../../src/tools/ken-burns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ken-burns.d.ts","sourceRoot":"","sources":["../../src/tools/ken-burns.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKrD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;iBAclB,CAAC;AAEH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,cAAc,CAAC,CA6DhF"}
|
package/dist/tools/ken-burns.js
CHANGED
|
@@ -3,6 +3,7 @@ import { dirname, resolve as resolvePath } from "node:path";
|
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
import { compact, err } from "../core/format.js";
|
|
5
5
|
import { checkFfmpeg, runFfmpeg } from "../core/media/ffmpeg.js";
|
|
6
|
+
import { safeOutputPath } from "../core/safe-paths.js";
|
|
6
7
|
const KenBurnsParams = z.object({
|
|
7
8
|
input: z.string().describe("Source still image (.jpg / .png). Animated input also works."),
|
|
8
9
|
output: z.string(),
|
|
@@ -31,7 +32,7 @@ export function createKenBurnsTool(cwd) {
|
|
|
31
32
|
return err("ffmpeg not on PATH", "install ffmpeg");
|
|
32
33
|
try {
|
|
33
34
|
const inAbs = resolvePath(cwd, p.input);
|
|
34
|
-
const outAbs =
|
|
35
|
+
const outAbs = safeOutputPath(cwd, p.output);
|
|
35
36
|
if (inAbs === outAbs)
|
|
36
37
|
return err("input and output paths are identical");
|
|
37
38
|
const fps = p.fps ?? 30;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ken-burns.js","sourceRoot":"","sources":["../../src/tools/ken-burns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ken-burns.js","sourceRoot":"","sources":["../../src/tools/ken-burns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IAC1F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC9E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACrF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC/F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACrF,yCAAyC;IACzC,SAAS,EAAE,CAAC;SACT,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACvE,QAAQ,EAAE;SACV,QAAQ,CAAC,gDAAgD,CAAC;CAC9D,CAAC,CAAC;AAEH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,4EAA4E;YAC5E,uFAAuF;YACvF,oFAAoF;YACpF,4CAA4C;QAC9C,UAAU,EAAE,cAAc;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG;YAClB,IAAI,CAAC,WAAW,EAAE;gBAAE,OAAO,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YACvE,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC7C,IAAI,KAAK,KAAK,MAAM;oBAAE,OAAO,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACzE,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;gBAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC;gBAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;gBAChC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC;gBAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC;gBAC1C,uEAAuE;gBACvE,MAAM,KAAK,GAAG,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,QAAQ,WAAW,EAAE,CAAC;gBAChE,qEAAqE;gBACrE,kEAAkE;gBAClE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;gBACnD,MAAM,MAAM,GACV,SAAS,CAAC,GAAG,CAAC,kBAAkB,KAAK,QAAQ,KAAK,QAAQ,KAAK,IAAI;oBACnE,KAAK,WAAW,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChD,MAAM,IAAI,GAAG;oBACX,OAAO;oBACP,GAAG;oBACH,YAAY;oBACZ,MAAM,CAAC,GAAG,CAAC;oBACX,IAAI;oBACJ,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;oBACrB,IAAI;oBACJ,KAAK;oBACL,KAAK;oBACL,MAAM;oBACN,MAAM;oBACN,SAAS;oBACT,MAAM;oBACN,IAAI;oBACJ,SAAS;oBACT,UAAU;oBACV,UAAU;oBACV,SAAS;oBACT,KAAK;oBACL,MAAM;iBACP,CAAC;gBACF,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;oBAAE,OAAO,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACxD,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,GAAG,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IACjC,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,EAAE,GAAG,gBAAgB,CAAC;IAC5B,MAAM,EAAE,GAAG,gBAAgB,CAAC;IAC5B,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAClC,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC9D,KAAK,OAAO;YACV,OAAO,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC1D,KAAK,IAAI;YACP,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;QAC9D,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;QAC1D,KAAK,IAAI;YACP,OAAO;gBACL,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,8BAA8B;aACtC,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,KAAK,EAAE,8BAA8B;gBACrC,KAAK,EAAE,8BAA8B;aACtC,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,KAAK,EAAE,0BAA0B;gBACjC,KAAK,EAAE,0BAA0B;aAClC,CAAC;QACJ,KAAK,IAAI;YACP,OAAO;gBACL,KAAK,EAAE,8BAA8B;gBACrC,KAAK,EAAE,0BAA0B;aAClC,CAAC;QACJ;YACE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AgentTool } from "@kenkaiiii/gg-agent";
|
|
3
|
+
declare const LoopMatchShortParams: z.ZodObject<{
|
|
4
|
+
input: z.ZodString;
|
|
5
|
+
output: z.ZodString;
|
|
6
|
+
crossfadeSec: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
copyMethod: z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
crossfade: "crossfade";
|
|
9
|
+
jumpcut: "jumpcut";
|
|
10
|
+
}>>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
/**
|
|
13
|
+
* loop_match_short — make a Short re-loop seamlessly.
|
|
14
|
+
*
|
|
15
|
+
* YouTube Shorts auto-replay is a confirmed ranking signal — the more
|
|
16
|
+
* loops a clip racks up, the more it gets pushed. A 0.3s crossfade
|
|
17
|
+
* between the tail and the head erases the visible "snap" at the
|
|
18
|
+
* loop boundary.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createLoopMatchShortTool(cwd: string): AgentTool<typeof LoopMatchShortParams>;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=loop-match-short.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loop-match-short.d.ts","sourceRoot":"","sources":["../../src/tools/loop-match-short.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,QAAA,MAAM,oBAAoB;;;;;;;;iBAoBxB,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,oBAAoB,CAAC,CAwE5F"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { mkdirSync } from "node:fs";
|
|
2
|
+
import { dirname, resolve as resolvePath } from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { compact, err } from "../core/format.js";
|
|
5
|
+
import { buildLoopMatchFilter } from "../core/loop-match.js";
|
|
6
|
+
import { checkFfmpeg, probeMedia, runFfmpeg } from "../core/media/ffmpeg.js";
|
|
7
|
+
import { safeOutputPath } from "../core/safe-paths.js";
|
|
8
|
+
const LoopMatchShortParams = z.object({
|
|
9
|
+
input: z.string().describe("Source Short (.mp4). Relative resolves to cwd."),
|
|
10
|
+
output: z.string().describe("Output .mp4 path. Re-encoded; must differ from input."),
|
|
11
|
+
crossfadeSec: z
|
|
12
|
+
.number()
|
|
13
|
+
.positive()
|
|
14
|
+
.max(2)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("Crossfade duration. Default 0.3s — small enough to preserve content, large enough to " +
|
|
17
|
+
"smooth the loop boundary. Capped at clip duration / 2."),
|
|
18
|
+
copyMethod: z
|
|
19
|
+
.enum(["crossfade", "jumpcut"])
|
|
20
|
+
.optional()
|
|
21
|
+
.describe("'crossfade' (default) blends the last N ms into the first N ms; 'jumpcut' simply " +
|
|
22
|
+
"trims the last N ms so the loop hard-cuts to the head. Use jumpcut on very short " +
|
|
23
|
+
"clips where any crossfade would eat too much of the visible content."),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* loop_match_short — make a Short re-loop seamlessly.
|
|
27
|
+
*
|
|
28
|
+
* YouTube Shorts auto-replay is a confirmed ranking signal — the more
|
|
29
|
+
* loops a clip racks up, the more it gets pushed. A 0.3s crossfade
|
|
30
|
+
* between the tail and the head erases the visible "snap" at the
|
|
31
|
+
* loop boundary.
|
|
32
|
+
*/
|
|
33
|
+
export function createLoopMatchShortTool(cwd) {
|
|
34
|
+
return {
|
|
35
|
+
name: "loop_match_short",
|
|
36
|
+
description: "Crossfade the last N ms of a Short into the first N ms so YouTube's auto-replay " +
|
|
37
|
+
"re-loop feels seamless. Loop rate is a confirmed Shorts ranking signal (per " +
|
|
38
|
+
"`youtube-algorithm-primer` skill). Default 0.3s crossfade. Pair as the LAST step in " +
|
|
39
|
+
"the short-form pipeline before delivery: `find_viral_moments → face_reframe → " +
|
|
40
|
+
"write_keyword_captions → burn_subtitles → punch_in → add_sfx_at_cuts → " +
|
|
41
|
+
"normalize_loudness(platform=tiktok) → loop_match_short`. File-only ffmpeg pass — no " +
|
|
42
|
+
"LLM, no API key.",
|
|
43
|
+
parameters: LoopMatchShortParams,
|
|
44
|
+
async execute(args, ctx) {
|
|
45
|
+
if (!checkFfmpeg())
|
|
46
|
+
return err("ffmpeg not on PATH", "install ffmpeg");
|
|
47
|
+
try {
|
|
48
|
+
const inAbs = resolvePath(cwd, args.input);
|
|
49
|
+
const outAbs = safeOutputPath(cwd, args.output);
|
|
50
|
+
if (inAbs === outAbs) {
|
|
51
|
+
return err("output and input are identical", "use a different output path");
|
|
52
|
+
}
|
|
53
|
+
const probe = probeMedia(inAbs);
|
|
54
|
+
if (!probe)
|
|
55
|
+
return err(`probe failed for ${inAbs}`, "verify file exists and is media");
|
|
56
|
+
if (probe.durationSec <= 0)
|
|
57
|
+
return err("source has zero duration");
|
|
58
|
+
const cf = args.crossfadeSec ?? 0.3;
|
|
59
|
+
const method = args.copyMethod ?? "crossfade";
|
|
60
|
+
let plan;
|
|
61
|
+
try {
|
|
62
|
+
plan = buildLoopMatchFilter(probe.durationSec, cf, method);
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
return err(e.message);
|
|
66
|
+
}
|
|
67
|
+
mkdirSync(dirname(outAbs), { recursive: true });
|
|
68
|
+
const r = await runFfmpeg([
|
|
69
|
+
"-i",
|
|
70
|
+
inAbs,
|
|
71
|
+
"-filter_complex",
|
|
72
|
+
plan.filter,
|
|
73
|
+
"-map",
|
|
74
|
+
plan.maps[0],
|
|
75
|
+
"-map",
|
|
76
|
+
plan.maps[1],
|
|
77
|
+
"-c:v",
|
|
78
|
+
"libx264",
|
|
79
|
+
"-crf",
|
|
80
|
+
"20",
|
|
81
|
+
"-c:a",
|
|
82
|
+
"aac",
|
|
83
|
+
"-b:a",
|
|
84
|
+
"192k",
|
|
85
|
+
outAbs,
|
|
86
|
+
], { signal: ctx.signal });
|
|
87
|
+
if (r.code !== 0)
|
|
88
|
+
return err(`ffmpeg exited ${r.code}: ${tail(r.stderr)}`);
|
|
89
|
+
return compact({
|
|
90
|
+
ok: true,
|
|
91
|
+
path: outAbs,
|
|
92
|
+
crossfadeSec: +plan.crossfadeSec.toFixed(3),
|
|
93
|
+
outDurationSec: +plan.outDurationSec.toFixed(3),
|
|
94
|
+
method: plan.method,
|
|
95
|
+
inDurationSec: +probe.durationSec.toFixed(3),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
return err(e.message);
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function tail(s) {
|
|
105
|
+
return s.split("\n").filter(Boolean).slice(-3).join(" | ").slice(-300);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=loop-match-short.js.map
|