@prestyj/editor 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/LICENSE +21 -0
- package/README.md +457 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +278 -0
- package/dist/cli.js.map +1 -0
- package/dist/core/ass.d.ts +75 -0
- package/dist/core/ass.d.ts.map +1 -0
- package/dist/core/ass.js +128 -0
- package/dist/core/ass.js.map +1 -0
- package/dist/core/ass.test.d.ts +2 -0
- package/dist/core/ass.test.d.ts.map +1 -0
- package/dist/core/ass.test.js +112 -0
- package/dist/core/ass.test.js.map +1 -0
- package/dist/core/audio-cleanup.d.ts +16 -0
- package/dist/core/audio-cleanup.d.ts.map +1 -0
- package/dist/core/audio-cleanup.js +79 -0
- package/dist/core/audio-cleanup.js.map +1 -0
- package/dist/core/audio-cleanup.test.d.ts +2 -0
- package/dist/core/audio-cleanup.test.d.ts.map +1 -0
- package/dist/core/audio-cleanup.test.js +41 -0
- package/dist/core/audio-cleanup.test.js.map +1 -0
- package/dist/core/audio-mix.d.ts +89 -0
- package/dist/core/audio-mix.d.ts.map +1 -0
- package/dist/core/audio-mix.js +163 -0
- package/dist/core/audio-mix.js.map +1 -0
- package/dist/core/audio-mix.test.d.ts +2 -0
- package/dist/core/audio-mix.test.d.ts.map +1 -0
- package/dist/core/audio-mix.test.js +91 -0
- package/dist/core/audio-mix.test.js.map +1 -0
- package/dist/core/auth/api-keys.d.ts +18 -0
- package/dist/core/auth/api-keys.d.ts.map +1 -0
- package/dist/core/auth/api-keys.js +73 -0
- package/dist/core/auth/api-keys.js.map +1 -0
- package/dist/core/auth/index.d.ts +20 -0
- package/dist/core/auth/index.d.ts.map +1 -0
- package/dist/core/auth/index.js +18 -0
- package/dist/core/auth/index.js.map +1 -0
- package/dist/core/auth/login.d.ts +13 -0
- package/dist/core/auth/login.d.ts.map +1 -0
- package/dist/core/auth/login.js +176 -0
- package/dist/core/auth/login.js.map +1 -0
- package/dist/core/auth/types.d.ts +22 -0
- package/dist/core/auth/types.d.ts.map +1 -0
- package/dist/core/auth/types.js +12 -0
- package/dist/core/auth/types.js.map +1 -0
- 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/cli-banner.d.ts +16 -0
- package/dist/core/cli-banner.d.ts.map +1 -0
- package/dist/core/cli-banner.js +75 -0
- package/dist/core/cli-banner.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/clustering.d.ts +52 -0
- package/dist/core/clustering.d.ts.map +1 -0
- package/dist/core/clustering.js +163 -0
- package/dist/core/clustering.js.map +1 -0
- package/dist/core/clustering.test.d.ts +2 -0
- package/dist/core/clustering.test.d.ts.map +1 -0
- package/dist/core/clustering.test.js +112 -0
- package/dist/core/clustering.test.js.map +1 -0
- package/dist/core/color-match.d.ts +19 -0
- package/dist/core/color-match.d.ts.map +1 -0
- package/dist/core/color-match.js +119 -0
- package/dist/core/color-match.js.map +1 -0
- package/dist/core/color-match.test.d.ts +2 -0
- package/dist/core/color-match.test.d.ts.map +1 -0
- package/dist/core/color-match.test.js +40 -0
- package/dist/core/color-match.test.js.map +1 -0
- package/dist/core/doctor-render.d.ts +9 -0
- package/dist/core/doctor-render.d.ts.map +1 -0
- package/dist/core/doctor-render.js +145 -0
- package/dist/core/doctor-render.js.map +1 -0
- package/dist/core/doctor-render.test.d.ts +2 -0
- package/dist/core/doctor-render.test.d.ts.map +1 -0
- package/dist/core/doctor-render.test.js +151 -0
- package/dist/core/doctor-render.test.js.map +1 -0
- package/dist/core/doctor-runner.d.ts +17 -0
- package/dist/core/doctor-runner.d.ts.map +1 -0
- package/dist/core/doctor-runner.js +419 -0
- package/dist/core/doctor-runner.js.map +1 -0
- package/dist/core/doctor.d.ts +120 -0
- package/dist/core/doctor.d.ts.map +1 -0
- package/dist/core/doctor.js +413 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/doctor.test.d.ts +2 -0
- package/dist/core/doctor.test.d.ts.map +1 -0
- package/dist/core/doctor.test.js +131 -0
- package/dist/core/doctor.test.js.map +1 -0
- package/dist/core/ducking.d.ts +37 -0
- package/dist/core/ducking.d.ts.map +1 -0
- package/dist/core/ducking.js +71 -0
- package/dist/core/ducking.js.map +1 -0
- package/dist/core/ducking.test.d.ts +2 -0
- package/dist/core/ducking.test.d.ts.map +1 -0
- package/dist/core/ducking.test.js +38 -0
- package/dist/core/ducking.test.js.map +1 -0
- package/dist/core/edl-roundtrip.test.d.ts +2 -0
- package/dist/core/edl-roundtrip.test.d.ts.map +1 -0
- package/dist/core/edl-roundtrip.test.js +171 -0
- package/dist/core/edl-roundtrip.test.js.map +1 -0
- package/dist/core/edl.d.ts +41 -0
- package/dist/core/edl.d.ts.map +1 -0
- package/dist/core/edl.js +56 -0
- package/dist/core/edl.js.map +1 -0
- package/dist/core/edl.test.d.ts +2 -0
- package/dist/core/edl.test.d.ts.map +1 -0
- package/dist/core/edl.test.js +62 -0
- package/dist/core/edl.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/envelope-sync.d.ts +52 -0
- package/dist/core/envelope-sync.d.ts.map +1 -0
- package/dist/core/envelope-sync.js +169 -0
- package/dist/core/envelope-sync.js.map +1 -0
- package/dist/core/envelope-sync.test.d.ts +2 -0
- package/dist/core/envelope-sync.test.d.ts.map +1 -0
- package/dist/core/envelope-sync.test.js +70 -0
- package/dist/core/envelope-sync.test.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/fcpxml-roundtrip.test.d.ts +2 -0
- package/dist/core/fcpxml-roundtrip.test.d.ts.map +1 -0
- package/dist/core/fcpxml-roundtrip.test.js +251 -0
- package/dist/core/fcpxml-roundtrip.test.js.map +1 -0
- package/dist/core/fcpxml.d.ts +172 -0
- package/dist/core/fcpxml.d.ts.map +1 -0
- package/dist/core/fcpxml.js +406 -0
- package/dist/core/fcpxml.js.map +1 -0
- package/dist/core/fcpxml.test.d.ts +2 -0
- package/dist/core/fcpxml.test.d.ts.map +1 -0
- package/dist/core/fcpxml.test.js +360 -0
- package/dist/core/fcpxml.test.js.map +1 -0
- package/dist/core/filler-words.d.ts +155 -0
- package/dist/core/filler-words.d.ts.map +1 -0
- package/dist/core/filler-words.js +273 -0
- package/dist/core/filler-words.js.map +1 -0
- package/dist/core/filler-words.test.d.ts +2 -0
- package/dist/core/filler-words.test.d.ts.map +1 -0
- package/dist/core/filler-words.test.js +251 -0
- package/dist/core/filler-words.test.js.map +1 -0
- package/dist/core/format.d.ts +36 -0
- package/dist/core/format.d.ts.map +1 -0
- package/dist/core/format.js +57 -0
- package/dist/core/format.js.map +1 -0
- package/dist/core/format.test.d.ts +2 -0
- package/dist/core/format.test.d.ts.map +1 -0
- package/dist/core/format.test.js +81 -0
- package/dist/core/format.test.js.map +1 -0
- package/dist/core/frames.d.ts +35 -0
- package/dist/core/frames.d.ts.map +1 -0
- package/dist/core/frames.js +64 -0
- package/dist/core/frames.js.map +1 -0
- package/dist/core/hook-analysis.d.ts +90 -0
- package/dist/core/hook-analysis.d.ts.map +1 -0
- package/dist/core/hook-analysis.js +223 -0
- package/dist/core/hook-analysis.js.map +1 -0
- package/dist/core/hook-analysis.test.d.ts +2 -0
- package/dist/core/hook-analysis.test.d.ts.map +1 -0
- package/dist/core/hook-analysis.test.js +130 -0
- package/dist/core/hook-analysis.test.js.map +1 -0
- 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/detect.d.ts +17 -0
- package/dist/core/hosts/detect.d.ts.map +1 -0
- package/dist/core/hosts/detect.js +64 -0
- package/dist/core/hosts/detect.js.map +1 -0
- package/dist/core/hosts/detect.test.d.ts +2 -0
- package/dist/core/hosts/detect.test.d.ts.map +1 -0
- package/dist/core/hosts/detect.test.js +17 -0
- package/dist/core/hosts/detect.test.js.map +1 -0
- package/dist/core/hosts/index.d.ts +13 -0
- package/dist/core/hosts/index.d.ts.map +1 -0
- package/dist/core/hosts/index.js +30 -0
- package/dist/core/hosts/index.js.map +1 -0
- package/dist/core/hosts/lazy.d.ts +53 -0
- package/dist/core/hosts/lazy.d.ts.map +1 -0
- package/dist/core/hosts/lazy.js +143 -0
- package/dist/core/hosts/lazy.js.map +1 -0
- package/dist/core/hosts/lazy.test.d.ts +2 -0
- package/dist/core/hosts/lazy.test.d.ts.map +1 -0
- package/dist/core/hosts/lazy.test.js +117 -0
- package/dist/core/hosts/lazy.test.js.map +1 -0
- package/dist/core/hosts/none/adapter.d.ts +74 -0
- package/dist/core/hosts/none/adapter.d.ts.map +1 -0
- package/dist/core/hosts/none/adapter.js +99 -0
- package/dist/core/hosts/none/adapter.js.map +1 -0
- package/dist/core/hosts/premiere/adapter.d.ts +91 -0
- package/dist/core/hosts/premiere/adapter.d.ts.map +1 -0
- package/dist/core/hosts/premiere/adapter.js +219 -0
- package/dist/core/hosts/premiere/adapter.js.map +1 -0
- package/dist/core/hosts/premiere/bridge-source.d.ts +26 -0
- package/dist/core/hosts/premiere/bridge-source.d.ts.map +1 -0
- package/dist/core/hosts/premiere/bridge-source.js +374 -0
- package/dist/core/hosts/premiere/bridge-source.js.map +1 -0
- package/dist/core/hosts/premiere/bridge-source.test.d.ts +2 -0
- package/dist/core/hosts/premiere/bridge-source.test.d.ts.map +1 -0
- package/dist/core/hosts/premiere/bridge-source.test.js +36 -0
- package/dist/core/hosts/premiere/bridge-source.test.js.map +1 -0
- package/dist/core/hosts/premiere/bridge.d.ts +38 -0
- package/dist/core/hosts/premiere/bridge.d.ts.map +1 -0
- package/dist/core/hosts/premiere/bridge.js +238 -0
- package/dist/core/hosts/premiere/bridge.js.map +1 -0
- package/dist/core/hosts/premiere/http-bridge.d.ts +47 -0
- package/dist/core/hosts/premiere/http-bridge.d.ts.map +1 -0
- package/dist/core/hosts/premiere/http-bridge.js +82 -0
- package/dist/core/hosts/premiere/http-bridge.js.map +1 -0
- package/dist/core/hosts/premiere/http-bridge.test.d.ts +2 -0
- package/dist/core/hosts/premiere/http-bridge.test.d.ts.map +1 -0
- package/dist/core/hosts/premiere/http-bridge.test.js +113 -0
- package/dist/core/hosts/premiere/http-bridge.test.js.map +1 -0
- package/dist/core/hosts/premiere/ws-bridge.d.ts +91 -0
- package/dist/core/hosts/premiere/ws-bridge.d.ts.map +1 -0
- package/dist/core/hosts/premiere/ws-bridge.js +303 -0
- package/dist/core/hosts/premiere/ws-bridge.js.map +1 -0
- package/dist/core/hosts/premiere/ws-bridge.test.d.ts +2 -0
- package/dist/core/hosts/premiere/ws-bridge.test.d.ts.map +1 -0
- package/dist/core/hosts/premiere/ws-bridge.test.js +146 -0
- package/dist/core/hosts/premiere/ws-bridge.test.js.map +1 -0
- package/dist/core/hosts/resolve/adapter.d.ts +104 -0
- package/dist/core/hosts/resolve/adapter.d.ts.map +1 -0
- package/dist/core/hosts/resolve/adapter.js +195 -0
- package/dist/core/hosts/resolve/adapter.js.map +1 -0
- package/dist/core/hosts/resolve/bridge-source.d.ts +17 -0
- package/dist/core/hosts/resolve/bridge-source.d.ts.map +1 -0
- package/dist/core/hosts/resolve/bridge-source.js +1061 -0
- package/dist/core/hosts/resolve/bridge-source.js.map +1 -0
- package/dist/core/hosts/resolve/bridge.d.ts +52 -0
- package/dist/core/hosts/resolve/bridge.d.ts.map +1 -0
- package/dist/core/hosts/resolve/bridge.integration.test.d.ts +2 -0
- package/dist/core/hosts/resolve/bridge.integration.test.d.ts.map +1 -0
- package/dist/core/hosts/resolve/bridge.integration.test.js +810 -0
- package/dist/core/hosts/resolve/bridge.integration.test.js.map +1 -0
- package/dist/core/hosts/resolve/bridge.js +349 -0
- package/dist/core/hosts/resolve/bridge.js.map +1 -0
- package/dist/core/hosts/resolve/bridge.test.d.ts +2 -0
- package/dist/core/hosts/resolve/bridge.test.d.ts.map +1 -0
- package/dist/core/hosts/resolve/bridge.test.js +240 -0
- package/dist/core/hosts/resolve/bridge.test.js.map +1 -0
- package/dist/core/hosts/types.d.ts +254 -0
- package/dist/core/hosts/types.d.ts.map +1 -0
- package/dist/core/hosts/types.js +27 -0
- package/dist/core/hosts/types.js.map +1 -0
- package/dist/core/keyframes.d.ts +35 -0
- package/dist/core/keyframes.d.ts.map +1 -0
- package/dist/core/keyframes.js +90 -0
- package/dist/core/keyframes.js.map +1 -0
- package/dist/core/keyframes.test.d.ts +2 -0
- package/dist/core/keyframes.test.d.ts.map +1 -0
- package/dist/core/keyframes.test.js +73 -0
- package/dist/core/keyframes.test.js.map +1 -0
- package/dist/core/keyword-captions.d.ts +75 -0
- package/dist/core/keyword-captions.d.ts.map +1 -0
- package/dist/core/keyword-captions.js +285 -0
- package/dist/core/keyword-captions.js.map +1 -0
- package/dist/core/keyword-captions.test.d.ts +2 -0
- package/dist/core/keyword-captions.test.d.ts.map +1 -0
- package/dist/core/keyword-captions.test.js +90 -0
- package/dist/core/keyword-captions.test.js.map +1 -0
- 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/loudness.d.ts +52 -0
- package/dist/core/loudness.d.ts.map +1 -0
- package/dist/core/loudness.js +120 -0
- package/dist/core/loudness.js.map +1 -0
- package/dist/core/loudness.test.d.ts +2 -0
- package/dist/core/loudness.test.d.ts.map +1 -0
- package/dist/core/loudness.test.js +34 -0
- package/dist/core/loudness.test.js.map +1 -0
- package/dist/core/marker-colors.d.ts +39 -0
- package/dist/core/marker-colors.d.ts.map +1 -0
- package/dist/core/marker-colors.js +83 -0
- package/dist/core/marker-colors.js.map +1 -0
- package/dist/core/marker-colors.test.d.ts +2 -0
- package/dist/core/marker-colors.test.d.ts.map +1 -0
- package/dist/core/marker-colors.test.js +116 -0
- package/dist/core/marker-colors.test.js.map +1 -0
- package/dist/core/media/ffmpeg.d.ts +27 -0
- package/dist/core/media/ffmpeg.d.ts.map +1 -0
- package/dist/core/media/ffmpeg.js +64 -0
- package/dist/core/media/ffmpeg.js.map +1 -0
- 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/multicam.d.ts +40 -0
- package/dist/core/multicam.d.ts.map +1 -0
- package/dist/core/multicam.js +77 -0
- package/dist/core/multicam.js.map +1 -0
- package/dist/core/multicam.test.d.ts +2 -0
- package/dist/core/multicam.test.d.ts.map +1 -0
- package/dist/core/multicam.test.js +56 -0
- package/dist/core/multicam.test.js.map +1 -0
- package/dist/core/punch-in.d.ts +72 -0
- package/dist/core/punch-in.d.ts.map +1 -0
- package/dist/core/punch-in.js +133 -0
- package/dist/core/punch-in.js.map +1 -0
- package/dist/core/punch-in.test.d.ts +2 -0
- package/dist/core/punch-in.test.d.ts.map +1 -0
- package/dist/core/punch-in.test.js +118 -0
- package/dist/core/punch-in.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/reformat.d.ts +26 -0
- package/dist/core/reformat.d.ts.map +1 -0
- package/dist/core/reformat.js +31 -0
- package/dist/core/reformat.js.map +1 -0
- package/dist/core/reformat.test.d.ts +2 -0
- package/dist/core/reformat.test.d.ts.map +1 -0
- package/dist/core/reformat.test.js +29 -0
- package/dist/core/reformat.test.js.map +1 -0
- package/dist/core/reorder.d.ts +42 -0
- package/dist/core/reorder.d.ts.map +1 -0
- package/dist/core/reorder.js +80 -0
- package/dist/core/reorder.js.map +1 -0
- package/dist/core/reorder.test.d.ts +2 -0
- package/dist/core/reorder.test.d.ts.map +1 -0
- package/dist/core/reorder.test.js +88 -0
- package/dist/core/reorder.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 +55 -0
- package/dist/core/review.d.ts.map +1 -0
- package/dist/core/review.js +124 -0
- package/dist/core/review.js.map +1 -0
- package/dist/core/review.test.d.ts +2 -0
- package/dist/core/review.test.d.ts.map +1 -0
- package/dist/core/review.test.js +76 -0
- package/dist/core/review.test.js.map +1 -0
- package/dist/core/safe-paths.d.ts +58 -0
- package/dist/core/safe-paths.d.ts.map +1 -0
- package/dist/core/safe-paths.js +118 -0
- package/dist/core/safe-paths.js.map +1 -0
- package/dist/core/safe-paths.test.d.ts +2 -0
- package/dist/core/safe-paths.test.d.ts.map +1 -0
- package/dist/core/safe-paths.test.js +92 -0
- package/dist/core/safe-paths.test.js.map +1 -0
- package/dist/core/sessions.d.ts +40 -0
- package/dist/core/sessions.d.ts.map +1 -0
- package/dist/core/sessions.js +61 -0
- package/dist/core/sessions.js.map +1 -0
- package/dist/core/sfx-on-cuts.d.ts +60 -0
- package/dist/core/sfx-on-cuts.d.ts.map +1 -0
- package/dist/core/sfx-on-cuts.js +90 -0
- package/dist/core/sfx-on-cuts.js.map +1 -0
- package/dist/core/sfx-on-cuts.test.d.ts +2 -0
- package/dist/core/sfx-on-cuts.test.d.ts.map +1 -0
- package/dist/core/sfx-on-cuts.test.js +53 -0
- package/dist/core/sfx-on-cuts.test.js.map +1 -0
- package/dist/core/silence.d.ts +41 -0
- package/dist/core/silence.d.ts.map +1 -0
- package/dist/core/silence.js +104 -0
- package/dist/core/silence.js.map +1 -0
- package/dist/core/silence.test.d.ts +2 -0
- package/dist/core/silence.test.d.ts.map +1 -0
- package/dist/core/silence.test.js +143 -0
- package/dist/core/silence.test.js.map +1 -0
- package/dist/core/skills-loader.d.ts +80 -0
- package/dist/core/skills-loader.d.ts.map +1 -0
- package/dist/core/skills-loader.js +161 -0
- package/dist/core/skills-loader.js.map +1 -0
- package/dist/core/skills-loader.test.d.ts +2 -0
- package/dist/core/skills-loader.test.d.ts.map +1 -0
- package/dist/core/skills-loader.test.js +130 -0
- package/dist/core/skills-loader.test.js.map +1 -0
- package/dist/core/skin-grade.d.ts +62 -0
- package/dist/core/skin-grade.d.ts.map +1 -0
- package/dist/core/skin-grade.js +271 -0
- package/dist/core/skin-grade.js.map +1 -0
- package/dist/core/skin-grade.test.d.ts +2 -0
- package/dist/core/skin-grade.test.d.ts.map +1 -0
- package/dist/core/skin-grade.test.js +182 -0
- package/dist/core/skin-grade.test.js.map +1 -0
- package/dist/core/speaker-changes.d.ts +30 -0
- package/dist/core/speaker-changes.d.ts.map +1 -0
- package/dist/core/speaker-changes.js +19 -0
- package/dist/core/speaker-changes.js.map +1 -0
- package/dist/core/speaker-changes.test.d.ts +2 -0
- package/dist/core/speaker-changes.test.d.ts.map +1 -0
- package/dist/core/speaker-changes.test.js +46 -0
- package/dist/core/speaker-changes.test.js.map +1 -0
- package/dist/core/speed-ramp.d.ts +60 -0
- package/dist/core/speed-ramp.d.ts.map +1 -0
- package/dist/core/speed-ramp.js +113 -0
- package/dist/core/speed-ramp.js.map +1 -0
- package/dist/core/speed-ramp.test.d.ts +2 -0
- package/dist/core/speed-ramp.test.d.ts.map +1 -0
- package/dist/core/speed-ramp.test.js +74 -0
- package/dist/core/speed-ramp.test.js.map +1 -0
- package/dist/core/srt.d.ts +91 -0
- package/dist/core/srt.d.ts.map +1 -0
- package/dist/core/srt.js +159 -0
- package/dist/core/srt.js.map +1 -0
- package/dist/core/srt.test.d.ts +2 -0
- package/dist/core/srt.test.d.ts.map +1 -0
- package/dist/core/srt.test.js +160 -0
- package/dist/core/srt.test.js.map +1 -0
- package/dist/core/stabilize.d.ts +15 -0
- package/dist/core/stabilize.d.ts.map +1 -0
- package/dist/core/stabilize.js +69 -0
- package/dist/core/stabilize.js.map +1 -0
- package/dist/core/styles-loader.d.ts +33 -0
- package/dist/core/styles-loader.d.ts.map +1 -0
- package/dist/core/styles-loader.js +67 -0
- package/dist/core/styles-loader.js.map +1 -0
- package/dist/core/styles-loader.test.d.ts +2 -0
- package/dist/core/styles-loader.test.d.ts.map +1 -0
- package/dist/core/styles-loader.test.js +72 -0
- package/dist/core/styles-loader.test.js.map +1 -0
- package/dist/core/text-overlay.d.ts +76 -0
- package/dist/core/text-overlay.d.ts.map +1 -0
- package/dist/core/text-overlay.js +233 -0
- package/dist/core/text-overlay.js.map +1 -0
- package/dist/core/text-overlay.test.d.ts +2 -0
- package/dist/core/text-overlay.test.d.ts.map +1 -0
- package/dist/core/text-overlay.test.js +103 -0
- package/dist/core/text-overlay.test.js.map +1 -0
- 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/version.d.ts +2 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +26 -0
- package/dist/core/version.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/vision.d.ts +53 -0
- package/dist/core/vision.d.ts.map +1 -0
- package/dist/core/vision.js +151 -0
- package/dist/core/vision.js.map +1 -0
- package/dist/core/vision.test.d.ts +2 -0
- package/dist/core/vision.test.d.ts.map +1 -0
- package/dist/core/vision.test.js +76 -0
- package/dist/core/vision.test.js.map +1 -0
- package/dist/core/whisper.d.ts +204 -0
- package/dist/core/whisper.d.ts.map +1 -0
- package/dist/core/whisper.js +448 -0
- package/dist/core/whisper.js.map +1 -0
- package/dist/core/whisper.test.d.ts +2 -0
- package/dist/core/whisper.test.d.ts.map +1 -0
- package/dist/core/whisper.test.js +372 -0
- package/dist/core/whisper.test.js.map +1 -0
- 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 +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- 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 +18 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +1780 -0
- package/dist/skills.js.map +1 -0
- package/dist/system-prompt.d.ts +35 -0
- package/dist/system-prompt.d.ts.map +1 -0
- package/dist/system-prompt.js +618 -0
- package/dist/system-prompt.js.map +1 -0
- package/dist/system-prompt.test.d.ts +2 -0
- package/dist/system-prompt.test.d.ts.map +1 -0
- package/dist/system-prompt.test.js +87 -0
- package/dist/system-prompt.test.js.map +1 -0
- package/dist/tools/add-fades.d.ts +13 -0
- package/dist/tools/add-fades.d.ts.map +1 -0
- package/dist/tools/add-fades.js +89 -0
- package/dist/tools/add-fades.js.map +1 -0
- package/dist/tools/add-marker.d.ts +31 -0
- package/dist/tools/add-marker.d.ts.map +1 -0
- package/dist/tools/add-marker.js +56 -0
- package/dist/tools/add-marker.js.map +1 -0
- package/dist/tools/add-sfx-at-cuts.d.ts +24 -0
- package/dist/tools/add-sfx-at-cuts.d.ts.map +1 -0
- package/dist/tools/add-sfx-at-cuts.js +145 -0
- package/dist/tools/add-sfx-at-cuts.js.map +1 -0
- 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/add-track.d.ts +13 -0
- package/dist/tools/add-track.d.ts.map +1 -0
- package/dist/tools/add-track.js +26 -0
- package/dist/tools/add-track.js.map +1 -0
- package/dist/tools/analyze-hook.d.ts +28 -0
- package/dist/tools/analyze-hook.d.ts.map +1 -0
- package/dist/tools/analyze-hook.js +126 -0
- package/dist/tools/analyze-hook.js.map +1 -0
- package/dist/tools/append-clip.d.ts +10 -0
- package/dist/tools/append-clip.d.ts.map +1 -0
- package/dist/tools/append-clip.js +27 -0
- package/dist/tools/append-clip.js.map +1 -0
- package/dist/tools/apply-lut.d.ts +11 -0
- package/dist/tools/apply-lut.d.ts.map +1 -0
- package/dist/tools/apply-lut.js +33 -0
- package/dist/tools/apply-lut.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 +28 -0
- package/dist/tools/burn-subtitles.d.ts.map +1 -0
- package/dist/tools/burn-subtitles.js +92 -0
- package/dist/tools/burn-subtitles.js.map +1 -0
- package/dist/tools/clean-audio.d.ts +18 -0
- package/dist/tools/clean-audio.d.ts.map +1 -0
- package/dist/tools/clean-audio.js +55 -0
- package/dist/tools/clean-audio.js.map +1 -0
- package/dist/tools/clone-timeline.d.ts +9 -0
- package/dist/tools/clone-timeline.d.ts.map +1 -0
- package/dist/tools/clone-timeline.js +28 -0
- package/dist/tools/clone-timeline.js.map +1 -0
- package/dist/tools/cluster-takes.d.ts +11 -0
- package/dist/tools/cluster-takes.d.ts.map +1 -0
- package/dist/tools/cluster-takes.js +72 -0
- package/dist/tools/cluster-takes.js.map +1 -0
- package/dist/tools/color-match.d.ts +16 -0
- package/dist/tools/color-match.d.ts.map +1 -0
- package/dist/tools/color-match.js +55 -0
- package/dist/tools/color-match.js.map +1 -0
- package/dist/tools/compose-layered.d.ts +47 -0
- package/dist/tools/compose-layered.d.ts.map +1 -0
- package/dist/tools/compose-layered.js +104 -0
- package/dist/tools/compose-layered.js.map +1 -0
- 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 +28 -0
- package/dist/tools/compose-thumbnail.d.ts.map +1 -0
- package/dist/tools/compose-thumbnail.js +101 -0
- package/dist/tools/compose-thumbnail.js.map +1 -0
- package/dist/tools/concat-videos.d.ts +18 -0
- package/dist/tools/concat-videos.d.ts.map +1 -0
- package/dist/tools/concat-videos.js +87 -0
- package/dist/tools/concat-videos.js.map +1 -0
- 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/copy-grade.d.ts +10 -0
- package/dist/tools/copy-grade.d.ts.map +1 -0
- package/dist/tools/copy-grade.js +29 -0
- package/dist/tools/copy-grade.js.map +1 -0
- package/dist/tools/create-timeline.d.ts +12 -0
- package/dist/tools/create-timeline.d.ts.map +1 -0
- package/dist/tools/create-timeline.js +35 -0
- package/dist/tools/create-timeline.js.map +1 -0
- package/dist/tools/crossfade-videos.d.ts +49 -0
- package/dist/tools/crossfade-videos.d.ts.map +1 -0
- package/dist/tools/crossfade-videos.js +122 -0
- package/dist/tools/crossfade-videos.js.map +1 -0
- package/dist/tools/cut-at.d.ts +10 -0
- package/dist/tools/cut-at.d.ts.map +1 -0
- package/dist/tools/cut-at.js +24 -0
- package/dist/tools/cut-at.js.map +1 -0
- package/dist/tools/cut-filler-words.d.ts +27 -0
- package/dist/tools/cut-filler-words.d.ts.map +1 -0
- package/dist/tools/cut-filler-words.js +182 -0
- package/dist/tools/cut-filler-words.js.map +1 -0
- package/dist/tools/detect-silence.d.ts +13 -0
- package/dist/tools/detect-silence.d.ts.map +1 -0
- package/dist/tools/detect-silence.js +98 -0
- package/dist/tools/detect-silence.js.map +1 -0
- package/dist/tools/detect-speaker-changes.d.ts +9 -0
- package/dist/tools/detect-speaker-changes.d.ts.map +1 -0
- package/dist/tools/detect-speaker-changes.js +43 -0
- package/dist/tools/detect-speaker-changes.js.map +1 -0
- package/dist/tools/duck-audio.d.ts +16 -0
- package/dist/tools/duck-audio.d.ts.map +1 -0
- package/dist/tools/duck-audio.js +73 -0
- package/dist/tools/duck-audio.js.map +1 -0
- package/dist/tools/extract-audio.d.ts +10 -0
- package/dist/tools/extract-audio.d.ts.map +1 -0
- package/dist/tools/extract-audio.js +36 -0
- package/dist/tools/extract-audio.js.map +1 -0
- package/dist/tools/extract-frame.d.ts +12 -0
- package/dist/tools/extract-frame.d.ts.map +1 -0
- package/dist/tools/extract-frame.js +70 -0
- package/dist/tools/extract-frame.js.map +1 -0
- 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/fusion-comp.d.ts +49 -0
- package/dist/tools/fusion-comp.d.ts.map +1 -0
- package/dist/tools/fusion-comp.js +129 -0
- package/dist/tools/fusion-comp.js.map +1 -0
- package/dist/tools/generate-gif.d.ts +13 -0
- package/dist/tools/generate-gif.d.ts.map +1 -0
- package/dist/tools/generate-gif.js +111 -0
- package/dist/tools/generate-gif.js.map +1 -0
- 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/get-markers.d.ts +13 -0
- package/dist/tools/get-markers.d.ts.map +1 -0
- package/dist/tools/get-markers.js +71 -0
- package/dist/tools/get-markers.js.map +1 -0
- package/dist/tools/get-timeline.d.ts +9 -0
- package/dist/tools/get-timeline.d.ts.map +1 -0
- package/dist/tools/get-timeline.js +43 -0
- package/dist/tools/get-timeline.js.map +1 -0
- package/dist/tools/grade-skin-tones.d.ts +31 -0
- package/dist/tools/grade-skin-tones.d.ts.map +1 -0
- package/dist/tools/grade-skin-tones.js +92 -0
- package/dist/tools/grade-skin-tones.js.map +1 -0
- package/dist/tools/host-eval.d.ts +35 -0
- package/dist/tools/host-eval.d.ts.map +1 -0
- package/dist/tools/host-eval.js +70 -0
- package/dist/tools/host-eval.js.map +1 -0
- package/dist/tools/host-info.d.ts +7 -0
- package/dist/tools/host-info.d.ts.map +1 -0
- package/dist/tools/host-info.js +33 -0
- package/dist/tools/host-info.js.map +1 -0
- package/dist/tools/host-tools.test.d.ts +2 -0
- package/dist/tools/host-tools.test.d.ts.map +1 -0
- package/dist/tools/host-tools.test.js +125 -0
- package/dist/tools/host-tools.test.js.map +1 -0
- package/dist/tools/import-edl.d.ts +9 -0
- package/dist/tools/import-edl.d.ts.map +1 -0
- package/dist/tools/import-edl.js +25 -0
- package/dist/tools/import-edl.js.map +1 -0
- package/dist/tools/import-subtitles.d.ts +9 -0
- package/dist/tools/import-subtitles.d.ts.map +1 -0
- package/dist/tools/import-subtitles.js +31 -0
- package/dist/tools/import-subtitles.js.map +1 -0
- package/dist/tools/import-to-media-pool.d.ts +10 -0
- package/dist/tools/import-to-media-pool.d.ts.map +1 -0
- package/dist/tools/import-to-media-pool.js +27 -0
- package/dist/tools/import-to-media-pool.js.map +1 -0
- package/dist/tools/index.d.ts +110 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +380 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/index.test.d.ts +2 -0
- package/dist/tools/index.test.d.ts.map +1 -0
- package/dist/tools/index.test.js +158 -0
- package/dist/tools/index.test.js.map +1 -0
- package/dist/tools/insert-broll.d.ts +13 -0
- package/dist/tools/insert-broll.d.ts.map +1 -0
- package/dist/tools/insert-broll.js +56 -0
- package/dist/tools/insert-broll.js.map +1 -0
- package/dist/tools/ken-burns.d.ts +26 -0
- package/dist/tools/ken-burns.d.ts.map +1 -0
- package/dist/tools/ken-burns.js +126 -0
- package/dist/tools/ken-burns.js.map +1 -0
- package/dist/tools/list-render-presets.d.ts +7 -0
- package/dist/tools/list-render-presets.d.ts.map +1 -0
- package/dist/tools/list-render-presets.js +30 -0
- package/dist/tools/list-render-presets.js.map +1 -0
- 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/match-clip-color.d.ts +29 -0
- package/dist/tools/match-clip-color.d.ts.map +1 -0
- package/dist/tools/match-clip-color.js +99 -0
- package/dist/tools/match-clip-color.js.map +1 -0
- package/dist/tools/measure-loudness.d.ts +8 -0
- package/dist/tools/measure-loudness.d.ts.map +1 -0
- package/dist/tools/measure-loudness.js +40 -0
- package/dist/tools/measure-loudness.js.map +1 -0
- package/dist/tools/mix-audio.d.ts +46 -0
- package/dist/tools/mix-audio.d.ts.map +1 -0
- package/dist/tools/mix-audio.js +102 -0
- package/dist/tools/mix-audio.js.map +1 -0
- package/dist/tools/multicam-sync.d.ts +14 -0
- package/dist/tools/multicam-sync.d.ts.map +1 -0
- package/dist/tools/multicam-sync.js +75 -0
- package/dist/tools/multicam-sync.js.map +1 -0
- package/dist/tools/new-tools.test.d.ts +2 -0
- package/dist/tools/new-tools.test.d.ts.map +1 -0
- package/dist/tools/new-tools.test.js +511 -0
- package/dist/tools/new-tools.test.js.map +1 -0
- package/dist/tools/normalize-loudness.d.ts +21 -0
- package/dist/tools/normalize-loudness.d.ts.map +1 -0
- package/dist/tools/normalize-loudness.js +95 -0
- package/dist/tools/normalize-loudness.js.map +1 -0
- package/dist/tools/open-page.d.ts +17 -0
- package/dist/tools/open-page.d.ts.map +1 -0
- package/dist/tools/open-page.js +27 -0
- package/dist/tools/open-page.js.map +1 -0
- package/dist/tools/overlay-watermark.d.ts +28 -0
- package/dist/tools/overlay-watermark.d.ts.map +1 -0
- package/dist/tools/overlay-watermark.js +99 -0
- package/dist/tools/overlay-watermark.js.map +1 -0
- 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.d.ts +20 -0
- package/dist/tools/pick-best-takes.d.ts.map +1 -0
- package/dist/tools/pick-best-takes.js +148 -0
- package/dist/tools/pick-best-takes.js.map +1 -0
- package/dist/tools/post-tools.test.d.ts +2 -0
- package/dist/tools/post-tools.test.d.ts.map +1 -0
- package/dist/tools/post-tools.test.js +83 -0
- package/dist/tools/post-tools.test.js.map +1 -0
- package/dist/tools/pre-render-check.d.ts +23 -0
- package/dist/tools/pre-render-check.d.ts.map +1 -0
- package/dist/tools/pre-render-check.js +134 -0
- package/dist/tools/pre-render-check.js.map +1 -0
- package/dist/tools/probe-media.d.ts +8 -0
- package/dist/tools/probe-media.d.ts.map +1 -0
- package/dist/tools/probe-media.js +32 -0
- package/dist/tools/probe-media.js.map +1 -0
- package/dist/tools/punch-in.d.ts +30 -0
- package/dist/tools/punch-in.d.ts.map +1 -0
- package/dist/tools/punch-in.js +131 -0
- package/dist/tools/punch-in.js.map +1 -0
- package/dist/tools/read-skill.d.ts +9 -0
- package/dist/tools/read-skill.d.ts.map +1 -0
- package/dist/tools/read-skill.js +24 -0
- package/dist/tools/read-skill.js.map +1 -0
- package/dist/tools/read-transcript.d.ts +14 -0
- package/dist/tools/read-transcript.d.ts.map +1 -0
- package/dist/tools/read-transcript.js +86 -0
- package/dist/tools/read-transcript.js.map +1 -0
- package/dist/tools/read-transcript.test.d.ts +2 -0
- package/dist/tools/read-transcript.test.d.ts.map +1 -0
- package/dist/tools/read-transcript.test.js +136 -0
- package/dist/tools/read-transcript.test.js.map +1 -0
- package/dist/tools/reformat-timeline.d.ts +25 -0
- package/dist/tools/reformat-timeline.d.ts.map +1 -0
- package/dist/tools/reformat-timeline.js +61 -0
- package/dist/tools/reformat-timeline.js.map +1 -0
- 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 +10 -0
- package/dist/tools/render.d.ts.map +1 -0
- package/dist/tools/render.js +26 -0
- package/dist/tools/render.js.map +1 -0
- package/dist/tools/reorder-timeline.d.ts +12 -0
- package/dist/tools/reorder-timeline.d.ts.map +1 -0
- package/dist/tools/reorder-timeline.js +66 -0
- package/dist/tools/reorder-timeline.js.map +1 -0
- package/dist/tools/replace-clip.d.ts +10 -0
- package/dist/tools/replace-clip.d.ts.map +1 -0
- package/dist/tools/replace-clip.js +28 -0
- package/dist/tools/replace-clip.js.map +1 -0
- package/dist/tools/review-edit.d.ts +23 -0
- package/dist/tools/review-edit.d.ts.map +1 -0
- package/dist/tools/review-edit.js +47 -0
- package/dist/tools/review-edit.js.map +1 -0
- 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/ripple-delete.d.ts +11 -0
- package/dist/tools/ripple-delete.d.ts.map +1 -0
- package/dist/tools/ripple-delete.js +27 -0
- package/dist/tools/ripple-delete.js.map +1 -0
- package/dist/tools/save-project.d.ts +7 -0
- package/dist/tools/save-project.d.ts.map +1 -0
- package/dist/tools/save-project.js +22 -0
- package/dist/tools/save-project.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/score-shot.d.ts +18 -0
- package/dist/tools/score-shot.d.ts.map +1 -0
- package/dist/tools/score-shot.js +127 -0
- package/dist/tools/score-shot.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/set-clip-speed.d.ts +10 -0
- package/dist/tools/set-clip-speed.d.ts.map +1 -0
- package/dist/tools/set-clip-speed.js +28 -0
- package/dist/tools/set-clip-speed.js.map +1 -0
- package/dist/tools/set-clip-volume.d.ts +10 -0
- package/dist/tools/set-clip-volume.d.ts.map +1 -0
- package/dist/tools/set-clip-volume.js +33 -0
- package/dist/tools/set-clip-volume.js.map +1 -0
- package/dist/tools/set-primary-correction.d.ts +14 -0
- package/dist/tools/set-primary-correction.d.ts.map +1 -0
- package/dist/tools/set-primary-correction.js +45 -0
- package/dist/tools/set-primary-correction.js.map +1 -0
- package/dist/tools/smart-reframe.d.ts +22 -0
- package/dist/tools/smart-reframe.d.ts.map +1 -0
- package/dist/tools/smart-reframe.js +39 -0
- package/dist/tools/smart-reframe.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 +14 -0
- package/dist/tools/speed-ramp.d.ts.map +1 -0
- package/dist/tools/speed-ramp.js +72 -0
- package/dist/tools/speed-ramp.js.map +1 -0
- package/dist/tools/stabilize-video.d.ts +12 -0
- package/dist/tools/stabilize-video.d.ts.map +1 -0
- package/dist/tools/stabilize-video.js +64 -0
- package/dist/tools/stabilize-video.js.map +1 -0
- 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 +29 -0
- package/dist/tools/transcribe.d.ts.map +1 -0
- package/dist/tools/transcribe.js +117 -0
- package/dist/tools/transcribe.js.map +1 -0
- package/dist/tools/transition-videos.d.ts +29 -0
- package/dist/tools/transition-videos.d.ts.map +1 -0
- package/dist/tools/transition-videos.js +130 -0
- package/dist/tools/transition-videos.js.map +1 -0
- 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-ass.d.ts +34 -0
- package/dist/tools/write-ass.d.ts.map +1 -0
- package/dist/tools/write-ass.js +102 -0
- package/dist/tools/write-ass.js.map +1 -0
- package/dist/tools/write-edl.d.ts +24 -0
- package/dist/tools/write-edl.d.ts.map +1 -0
- package/dist/tools/write-edl.js +60 -0
- package/dist/tools/write-edl.js.map +1 -0
- package/dist/tools/write-fcpxml.d.ts +20 -0
- package/dist/tools/write-fcpxml.d.ts.map +1 -0
- package/dist/tools/write-fcpxml.js +53 -0
- package/dist/tools/write-fcpxml.js.map +1 -0
- package/dist/tools/write-keyword-captions.d.ts +43 -0
- package/dist/tools/write-keyword-captions.d.ts.map +1 -0
- package/dist/tools/write-keyword-captions.js +215 -0
- package/dist/tools/write-keyword-captions.js.map +1 -0
- package/dist/tools/write-lower-third.d.ts +34 -0
- package/dist/tools/write-lower-third.d.ts.map +1 -0
- package/dist/tools/write-lower-third.js +53 -0
- package/dist/tools/write-lower-third.js.map +1 -0
- package/dist/tools/write-srt.d.ts +20 -0
- package/dist/tools/write-srt.d.ts.map +1 -0
- package/dist/tools/write-srt.js +73 -0
- package/dist/tools/write-srt.js.map +1 -0
- package/dist/tools/write-title-card.d.ts +25 -0
- package/dist/tools/write-title-card.d.ts.map +1 -0
- package/dist/tools/write-title-card.js +58 -0
- package/dist/tools/write-title-card.js.map +1 -0
- package/dist/types.d.ts +83 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/App.d.ts +56 -0
- package/dist/ui/App.d.ts.map +1 -0
- package/dist/ui/App.js +524 -0
- package/dist/ui/App.js.map +1 -0
- package/dist/ui/components/Banner.d.ts +13 -0
- package/dist/ui/components/Banner.d.ts.map +1 -0
- package/dist/ui/components/Banner.js +59 -0
- package/dist/ui/components/Banner.js.map +1 -0
- package/dist/ui/render.d.ts +9 -0
- package/dist/ui/render.d.ts.map +1 -0
- package/dist/ui/render.js +56 -0
- package/dist/ui/render.js.map +1 -0
- 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 +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.test.js","sourceRoot":"","sources":["../../../../src/core/hosts/resolve/bridge.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import type { ClipInfo, Frame, FrameRange, HostCapabilities, HostName, MarkerInfo, TimelineState } from "../../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Discriminated union of every fusion_comp action the bridge supports. Kept
|
|
4
|
+
* in lockstep with `m_fusion_comp` in bridge-source.ts.
|
|
5
|
+
*/
|
|
6
|
+
export type FusionCompArgs = {
|
|
7
|
+
action: "list_nodes";
|
|
8
|
+
clipId?: string;
|
|
9
|
+
} | {
|
|
10
|
+
action: "add_node";
|
|
11
|
+
toolId: string;
|
|
12
|
+
name?: string;
|
|
13
|
+
clipId?: string;
|
|
14
|
+
} | {
|
|
15
|
+
action: "delete_node";
|
|
16
|
+
name: string;
|
|
17
|
+
clipId?: string;
|
|
18
|
+
} | {
|
|
19
|
+
action: "connect";
|
|
20
|
+
fromNode: string;
|
|
21
|
+
toNode: string;
|
|
22
|
+
fromOutput?: string;
|
|
23
|
+
toInput?: string;
|
|
24
|
+
clipId?: string;
|
|
25
|
+
} | {
|
|
26
|
+
action: "set_input";
|
|
27
|
+
node: string;
|
|
28
|
+
input: string;
|
|
29
|
+
value: unknown;
|
|
30
|
+
clipId?: string;
|
|
31
|
+
} | {
|
|
32
|
+
action: "get_input";
|
|
33
|
+
node: string;
|
|
34
|
+
input: string;
|
|
35
|
+
clipId?: string;
|
|
36
|
+
} | {
|
|
37
|
+
action: "set_keyframe";
|
|
38
|
+
node: string;
|
|
39
|
+
input: string;
|
|
40
|
+
frame: number;
|
|
41
|
+
value: unknown;
|
|
42
|
+
clipId?: string;
|
|
43
|
+
} | {
|
|
44
|
+
action: "set_render_range";
|
|
45
|
+
start: number;
|
|
46
|
+
end: number;
|
|
47
|
+
clipId?: string;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* VideoHost — the NLE-agnostic interface every adapter implements.
|
|
51
|
+
*
|
|
52
|
+
* The agent only ever sees these methods. The adapter is responsible for
|
|
53
|
+
* picking the fastest tier (API → hotkey → GUI fallback) for each op,
|
|
54
|
+
* and surfacing capability differences via `capabilities`.
|
|
55
|
+
*/
|
|
56
|
+
export interface VideoHost {
|
|
57
|
+
readonly name: HostName;
|
|
58
|
+
readonly displayName: string;
|
|
59
|
+
/** Read host capabilities. Cached after first call. */
|
|
60
|
+
capabilities(): Promise<HostCapabilities>;
|
|
61
|
+
/** Read the current timeline state (clips, markers, framerate). */
|
|
62
|
+
getTimeline(): Promise<TimelineState>;
|
|
63
|
+
/** Add a marker on the timeline at a specific frame. */
|
|
64
|
+
addMarker(marker: MarkerInfo): Promise<void>;
|
|
65
|
+
/** Cut (razor) at the given frame on the given track. */
|
|
66
|
+
cutAt(track: number, frame: Frame): Promise<void>;
|
|
67
|
+
/** Ripple-delete a frame range (closes the gap). */
|
|
68
|
+
rippleDelete(track: number, range: FrameRange): Promise<void>;
|
|
69
|
+
/** Append a media clip to the end of a track. Returns the new clip info. */
|
|
70
|
+
appendClip(track: number, mediaPath: string): Promise<ClipInfo>;
|
|
71
|
+
/**
|
|
72
|
+
* Import an EDL/FCPXML/AAF file. Use this when bulk timeline mutation is
|
|
73
|
+
* faster than per-op calls (e.g. rebuilding from a 200-cut decision list).
|
|
74
|
+
*/
|
|
75
|
+
importTimeline(filePath: string): Promise<void>;
|
|
76
|
+
/** Render the current timeline. `preset` is a host-specific preset name. */
|
|
77
|
+
render(opts: {
|
|
78
|
+
preset: string;
|
|
79
|
+
output: string;
|
|
80
|
+
}): Promise<void>;
|
|
81
|
+
/** List available render presets the host knows about. */
|
|
82
|
+
listRenderPresets(): Promise<string[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Replace a clip's underlying media reference. Used to swap a draft asset
|
|
85
|
+
* for an updated render (lower-thirds, animations, B-roll renders) without
|
|
86
|
+
* destroying the in/out timing or any grade applied to the clip.
|
|
87
|
+
*/
|
|
88
|
+
replaceClip(clipId: string, mediaPath: string): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Duplicate the active timeline / sequence under a new name. Used as a
|
|
91
|
+
* safety net BEFORE destructive ops (import_edl, render). On success the
|
|
92
|
+
* cloned timeline becomes the active one (Resolve) or is opened alongside
|
|
93
|
+
* (Premiere best-effort).
|
|
94
|
+
*/
|
|
95
|
+
cloneTimeline(newName: string): Promise<{
|
|
96
|
+
name: string;
|
|
97
|
+
}>;
|
|
98
|
+
/** Save the current project. Resolve uses ProjectManager.SaveProject(); Premiere uses app.project.save(). */
|
|
99
|
+
saveProject(): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Add a new empty track to the active timeline. `kind` is the track type;
|
|
102
|
+
* adapters that don't support a kind throw HostUnsupportedError.
|
|
103
|
+
*/
|
|
104
|
+
addTrack(kind: "video" | "audio" | "subtitle"): Promise<{
|
|
105
|
+
track: number;
|
|
106
|
+
}>;
|
|
107
|
+
/**
|
|
108
|
+
* Set a clip's audio gain in dB. 0 = unchanged, -6 = quieter, +3 = louder.
|
|
109
|
+
* Resolve only — Premiere requires Lumetri-adjacent rigging that's not exposed
|
|
110
|
+
* to ExtendScript reliably.
|
|
111
|
+
*/
|
|
112
|
+
setClipVolume?(clipId: string, volumeDb: number): Promise<void>;
|
|
113
|
+
/**
|
|
114
|
+
* Insert a clip onto a specific track at a specific timeline frame range.
|
|
115
|
+
* Used for B-roll over A-roll — the agent places cutaways above the main
|
|
116
|
+
* video on a higher track without disturbing it.
|
|
117
|
+
*
|
|
118
|
+
* Resolve: uses MediaPool.AppendToTimeline with a clipInfo dict including
|
|
119
|
+
* recordFrame + trackIndex.
|
|
120
|
+
* Premiere: uses videoTracks[i].insertClip(item, recordSec).
|
|
121
|
+
*/
|
|
122
|
+
insertClipOnTrack(opts: {
|
|
123
|
+
mediaPath: string;
|
|
124
|
+
track: number;
|
|
125
|
+
recordFrame: number;
|
|
126
|
+
sourceInFrame?: number;
|
|
127
|
+
sourceOutFrame?: number;
|
|
128
|
+
/**
|
|
129
|
+
* Default "video" for back-compat. Pass "audio" to place a clip on an
|
|
130
|
+
* audio track instead — used by `add_sfx_to_timeline` to drop SFX wavs
|
|
131
|
+
* directly onto a free Fairlight/audio track without rendering.
|
|
132
|
+
*/
|
|
133
|
+
mediaKind?: "video" | "audio";
|
|
134
|
+
}): Promise<ClipInfo>;
|
|
135
|
+
/**
|
|
136
|
+
* Trigger Resolve Studio's Smart Reframe AI on a clip. Resolve only.
|
|
137
|
+
* Aspect: "9:16" / "1:1" / "4:5" / "16:9" / "4:3".
|
|
138
|
+
* Frame interest: "all" (every keyframe), "keyframes" (existing keyframes),
|
|
139
|
+
* or "reference-frame" (a specified frame).
|
|
140
|
+
*/
|
|
141
|
+
smartReframe?(clipId: string, opts: {
|
|
142
|
+
aspect: "9:16" | "1:1" | "4:5" | "16:9" | "4:3";
|
|
143
|
+
frameInterest?: "all" | "keyframes" | "reference-frame";
|
|
144
|
+
referenceFrame?: number;
|
|
145
|
+
}): Promise<void>;
|
|
146
|
+
/** Read existing markers from the active timeline. */
|
|
147
|
+
getMarkers(): Promise<MarkerInfo[]>;
|
|
148
|
+
/**
|
|
149
|
+
* Create a new (empty) timeline / sequence on the host.
|
|
150
|
+
* Resolve: media_pool.CreateEmptyTimeline + frame-rate / resolution settings.
|
|
151
|
+
* Premiere: app.project.createNewSequence using a preset (best-effort).
|
|
152
|
+
*/
|
|
153
|
+
createTimeline(opts: {
|
|
154
|
+
name: string;
|
|
155
|
+
fps: number;
|
|
156
|
+
width?: number;
|
|
157
|
+
height?: number;
|
|
158
|
+
}): Promise<void>;
|
|
159
|
+
/** Import media files into the project's media pool / project bins (no append). */
|
|
160
|
+
importToMediaPool(paths: string[], bin?: string): Promise<void>;
|
|
161
|
+
/** Retime a clip on the active timeline. `speed` is a multiplier (1 = 100%, 0.5 = slow-mo, 2 = fast). */
|
|
162
|
+
setClipSpeed(clipId: string, speed: number): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Apply a LUT to a clip's grading node. Resolve only — Premiere's Lumetri
|
|
165
|
+
* presets are not scriptable. nodeIndex is 1-based; node 1 always exists.
|
|
166
|
+
*/
|
|
167
|
+
applyLut(clipId: string, lutPath: string, nodeIndex?: number): Promise<void>;
|
|
168
|
+
/**
|
|
169
|
+
* Apply a primary CDL correction (slope/offset/power/saturation) to a clip.
|
|
170
|
+
* Resolve only. Cannot create nodes, touch wheels, curves, or qualifiers —
|
|
171
|
+
* what we expose is what's actually scriptable.
|
|
172
|
+
*/
|
|
173
|
+
setPrimaryCorrection(clipId: string, cdl: {
|
|
174
|
+
slope?: [number, number, number];
|
|
175
|
+
offset?: [number, number, number];
|
|
176
|
+
power?: [number, number, number];
|
|
177
|
+
saturation?: number;
|
|
178
|
+
nodeIndex?: number;
|
|
179
|
+
}): Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Copy the current grade from a source clip to one or more target clips.
|
|
182
|
+
* Resolve only. The Color page may need to be open for the copy to take
|
|
183
|
+
* effect — call openPage('color') first if it errors.
|
|
184
|
+
*/
|
|
185
|
+
copyGrade(sourceClipId: string, targetClipIds: string[]): Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* Import an SRT subtitle file and attach it to the active timeline.
|
|
188
|
+
* Returns a result describing whether the host auto-attached the SRT to a
|
|
189
|
+
* subtitle/captions track, plus an optional human-readable note for the
|
|
190
|
+
* agent to surface (e.g. Premiere requires manual drag-onto-track).
|
|
191
|
+
*/
|
|
192
|
+
importSubtitles(srtPath: string): Promise<{
|
|
193
|
+
imported: boolean;
|
|
194
|
+
attached: boolean;
|
|
195
|
+
note?: string;
|
|
196
|
+
}>;
|
|
197
|
+
/**
|
|
198
|
+
* Switch the host UI to a workspace page. Resolve only — Premiere does not
|
|
199
|
+
* have a page concept. Adapters that don't support it should omit this method.
|
|
200
|
+
*/
|
|
201
|
+
openPage?(name: "media" | "cut" | "edit" | "fusion" | "color" | "fairlight" | "deliver"): Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Drive a Fusion composition (motion-graphics graph) inside Resolve.
|
|
204
|
+
* Optional; Resolve-only — adapters without a Fusion equivalent omit it.
|
|
205
|
+
*
|
|
206
|
+
* `clipId` (optional): scope the call to that clip's first Fusion comp
|
|
207
|
+
* (or auto-create one). When omitted, operates on the active Fusion-page
|
|
208
|
+
* comp.
|
|
209
|
+
*
|
|
210
|
+
* Actions are dispatched server-side; see `bridge-source.ts:m_fusion_comp`
|
|
211
|
+
* for the canonical action set.
|
|
212
|
+
*/
|
|
213
|
+
executeFusionComp?(args: FusionCompArgs): Promise<unknown>;
|
|
214
|
+
/**
|
|
215
|
+
* Escape hatch — run a snippet of host-native scripting code with the live
|
|
216
|
+
* NLE objects pre-bound and return its result + captured stdout. Optional;
|
|
217
|
+
* only adapters with a real scripting bridge implement it (Resolve = Python,
|
|
218
|
+
* Premiere = ExtendScript). The `none` adapter omits it.
|
|
219
|
+
*
|
|
220
|
+
* Usage rule (enforced by the tool's system-prompt guidance, not the type):
|
|
221
|
+
* this is for things no named tool covers. Don't use it to do work the
|
|
222
|
+
* dedicated tools already do — those tools have validation, output shaping,
|
|
223
|
+
* and capability fallbacks this raw path skips.
|
|
224
|
+
*
|
|
225
|
+
* Resolve pre-bound globals: resolve, project, projectManager, mediaPool,
|
|
226
|
+
* mediaStorage, timeline, fusion, dvr; result via `set_result(value)` or
|
|
227
|
+
* top-level `result =`.
|
|
228
|
+
*
|
|
229
|
+
* Premiere pre-bound globals: app, project, sequence, qe; result via
|
|
230
|
+
* `setResult(value)` or top-level `result = `.
|
|
231
|
+
*/
|
|
232
|
+
executeCode?(code: string): Promise<{
|
|
233
|
+
result: unknown;
|
|
234
|
+
stdout?: string;
|
|
235
|
+
}>;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Thrown by adapters when an op is not supported by the live host API.
|
|
239
|
+
* The agent can catch this and fall back (e.g. emit an EDL instead).
|
|
240
|
+
*/
|
|
241
|
+
export declare class HostUnsupportedError extends Error {
|
|
242
|
+
readonly host: HostName;
|
|
243
|
+
readonly op: string;
|
|
244
|
+
constructor(host: HostName, op: string, message?: string);
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Thrown when the host is detected but its scripting bridge is unreachable
|
|
248
|
+
* (e.g. Resolve free version, Premiere with no panel installed).
|
|
249
|
+
*/
|
|
250
|
+
export declare class HostUnreachableError extends Error {
|
|
251
|
+
readonly host: HostName;
|
|
252
|
+
constructor(host: HostName, message: string);
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/hosts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Thrown by adapters when an op is not supported by the live host API.
|
|
3
|
+
* The agent can catch this and fall back (e.g. emit an EDL instead).
|
|
4
|
+
*/
|
|
5
|
+
export class HostUnsupportedError extends Error {
|
|
6
|
+
host;
|
|
7
|
+
op;
|
|
8
|
+
constructor(host, op, message) {
|
|
9
|
+
super(message ?? `Host '${host}' does not support op '${op}' via the live API.`);
|
|
10
|
+
this.host = host;
|
|
11
|
+
this.op = op;
|
|
12
|
+
this.name = "HostUnsupportedError";
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Thrown when the host is detected but its scripting bridge is unreachable
|
|
17
|
+
* (e.g. Resolve free version, Premiere with no panel installed).
|
|
18
|
+
*/
|
|
19
|
+
export class HostUnreachableError extends Error {
|
|
20
|
+
host;
|
|
21
|
+
constructor(host, message) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.host = host;
|
|
24
|
+
this.name = "HostUnreachableError";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/hosts/types.ts"],"names":[],"mappings":"AA4PA;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAE3B;IACA;IAFlB,YACkB,IAAc,EACd,EAAU,EAC1B,OAAgB;QAEhB,KAAK,CAAC,OAAO,IAAI,SAAS,IAAI,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;QAJjE,SAAI,GAAJ,IAAI,CAAU;QACd,OAAE,GAAF,EAAE,CAAQ;QAI1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAE3B;IADlB,YACkB,IAAc,EAC9B,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAU;QAI9B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyframe sampling + easing curve helpers.
|
|
3
|
+
*
|
|
4
|
+
* Used by file-only ffmpeg helpers (Ken-Burns zoompan, speed-ramp curves)
|
|
5
|
+
* and by tests that want to verify FCPXML emission lines up with the
|
|
6
|
+
* mathematical sampled trajectory.
|
|
7
|
+
*
|
|
8
|
+
* Convention: t is normalized 0..1. Curves are pure functions of t so they
|
|
9
|
+
* compose cleanly. easeIn / easeOut use simple quadratic curves; smooth is
|
|
10
|
+
* smoothstep (3t² − 2t³). Linear is the identity.
|
|
11
|
+
*/
|
|
12
|
+
import type { Keyframe } from "./fcpxml.js";
|
|
13
|
+
/** Linear interpolation. f(t) = t. */
|
|
14
|
+
export declare function linear(t: number): number;
|
|
15
|
+
/** Quadratic ease-in. f(t) = t². Slow start, fast finish. */
|
|
16
|
+
export declare function easeIn(t: number): number;
|
|
17
|
+
/** Quadratic ease-out. f(t) = 1 − (1−t)². Fast start, slow finish. */
|
|
18
|
+
export declare function easeOut(t: number): number;
|
|
19
|
+
/** Smoothstep. f(t) = 3t² − 2t³. Symmetric ease-in-out. */
|
|
20
|
+
export declare function smooth(t: number): number;
|
|
21
|
+
/** Resolve an "interp" string to its curve function. */
|
|
22
|
+
export declare function curveFor(interp: "linear" | "easeIn" | "easeOut" | "smooth" | undefined): (t: number) => number;
|
|
23
|
+
/**
|
|
24
|
+
* Sample a scalar keyframe sequence at a given clip-relative frame.
|
|
25
|
+
*
|
|
26
|
+
* Behaviour:
|
|
27
|
+
* - Empty list → throws (caller bug).
|
|
28
|
+
* - Single keyframe → returns its value (constant).
|
|
29
|
+
* - Frame before first kf → first value (clamp).
|
|
30
|
+
* - Frame after last kf → last value (clamp).
|
|
31
|
+
* - Otherwise → interpolate between the two surrounding kfs using the
|
|
32
|
+
* LEFT keyframe's `interp` setting.
|
|
33
|
+
*/
|
|
34
|
+
export declare function sampleCurve(kfs: Keyframe<number>[], frame: number, _fps: number): number;
|
|
35
|
+
//# sourceMappingURL=keyframes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyframes.d.ts","sourceRoot":"","sources":["../../src/core/keyframes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,sCAAsC;AACtC,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAED,6DAA6D;AAC7D,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxC;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGzC;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGxC;AAED,wDAAwD;AACxD,wBAAgB,QAAQ,CACtB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAC7D,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAYvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAmBxF"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyframe sampling + easing curve helpers.
|
|
3
|
+
*
|
|
4
|
+
* Used by file-only ffmpeg helpers (Ken-Burns zoompan, speed-ramp curves)
|
|
5
|
+
* and by tests that want to verify FCPXML emission lines up with the
|
|
6
|
+
* mathematical sampled trajectory.
|
|
7
|
+
*
|
|
8
|
+
* Convention: t is normalized 0..1. Curves are pure functions of t so they
|
|
9
|
+
* compose cleanly. easeIn / easeOut use simple quadratic curves; smooth is
|
|
10
|
+
* smoothstep (3t² − 2t³). Linear is the identity.
|
|
11
|
+
*/
|
|
12
|
+
/** Linear interpolation. f(t) = t. */
|
|
13
|
+
export function linear(t) {
|
|
14
|
+
return clamp01(t);
|
|
15
|
+
}
|
|
16
|
+
/** Quadratic ease-in. f(t) = t². Slow start, fast finish. */
|
|
17
|
+
export function easeIn(t) {
|
|
18
|
+
const c = clamp01(t);
|
|
19
|
+
return c * c;
|
|
20
|
+
}
|
|
21
|
+
/** Quadratic ease-out. f(t) = 1 − (1−t)². Fast start, slow finish. */
|
|
22
|
+
export function easeOut(t) {
|
|
23
|
+
const c = clamp01(t);
|
|
24
|
+
return 1 - (1 - c) * (1 - c);
|
|
25
|
+
}
|
|
26
|
+
/** Smoothstep. f(t) = 3t² − 2t³. Symmetric ease-in-out. */
|
|
27
|
+
export function smooth(t) {
|
|
28
|
+
const c = clamp01(t);
|
|
29
|
+
return c * c * (3 - 2 * c);
|
|
30
|
+
}
|
|
31
|
+
/** Resolve an "interp" string to its curve function. */
|
|
32
|
+
export function curveFor(interp) {
|
|
33
|
+
switch (interp) {
|
|
34
|
+
case "easeIn":
|
|
35
|
+
return easeIn;
|
|
36
|
+
case "easeOut":
|
|
37
|
+
return easeOut;
|
|
38
|
+
case "smooth":
|
|
39
|
+
return smooth;
|
|
40
|
+
case "linear":
|
|
41
|
+
case undefined:
|
|
42
|
+
return linear;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Sample a scalar keyframe sequence at a given clip-relative frame.
|
|
47
|
+
*
|
|
48
|
+
* Behaviour:
|
|
49
|
+
* - Empty list → throws (caller bug).
|
|
50
|
+
* - Single keyframe → returns its value (constant).
|
|
51
|
+
* - Frame before first kf → first value (clamp).
|
|
52
|
+
* - Frame after last kf → last value (clamp).
|
|
53
|
+
* - Otherwise → interpolate between the two surrounding kfs using the
|
|
54
|
+
* LEFT keyframe's `interp` setting.
|
|
55
|
+
*/
|
|
56
|
+
export function sampleCurve(kfs, frame, _fps) {
|
|
57
|
+
if (kfs.length === 0)
|
|
58
|
+
throw new Error("sampleCurve: empty keyframe list");
|
|
59
|
+
if (kfs.length === 1)
|
|
60
|
+
return kfs[0].value;
|
|
61
|
+
// Sorted-by-frame assumed; we don't sort here so the caller controls order.
|
|
62
|
+
if (frame <= kfs[0].frame)
|
|
63
|
+
return kfs[0].value;
|
|
64
|
+
if (frame >= kfs[kfs.length - 1].frame)
|
|
65
|
+
return kfs[kfs.length - 1].value;
|
|
66
|
+
for (let i = 0; i < kfs.length - 1; i++) {
|
|
67
|
+
const a = kfs[i];
|
|
68
|
+
const b = kfs[i + 1];
|
|
69
|
+
if (frame >= a.frame && frame <= b.frame) {
|
|
70
|
+
const span = b.frame - a.frame;
|
|
71
|
+
if (span <= 0)
|
|
72
|
+
return b.value;
|
|
73
|
+
const t = (frame - a.frame) / span;
|
|
74
|
+
const eased = curveFor(a.interp)(t);
|
|
75
|
+
return a.value + (b.value - a.value) * eased;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Unreachable given the early-exit clamps above.
|
|
79
|
+
return kfs[kfs.length - 1].value;
|
|
80
|
+
}
|
|
81
|
+
function clamp01(t) {
|
|
82
|
+
if (!Number.isFinite(t))
|
|
83
|
+
return 0;
|
|
84
|
+
if (t < 0)
|
|
85
|
+
return 0;
|
|
86
|
+
if (t > 1)
|
|
87
|
+
return 1;
|
|
88
|
+
return t;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=keyframes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyframes.js","sourceRoot":"","sources":["../../src/core/keyframes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyframes.test.d.ts","sourceRoot":"","sources":["../../src/core/keyframes.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { curveFor, easeIn, easeOut, linear, sampleCurve, smooth } from "./keyframes.js";
|
|
3
|
+
describe("curve helpers", () => {
|
|
4
|
+
it("linear is the identity, clamped to 0..1", () => {
|
|
5
|
+
expect(linear(0)).toBe(0);
|
|
6
|
+
expect(linear(0.5)).toBe(0.5);
|
|
7
|
+
expect(linear(1)).toBe(1);
|
|
8
|
+
expect(linear(-0.2)).toBe(0);
|
|
9
|
+
expect(linear(1.5)).toBe(1);
|
|
10
|
+
});
|
|
11
|
+
it("easeIn / easeOut are mirrored at t=0.5", () => {
|
|
12
|
+
expect(easeIn(0.5)).toBeCloseTo(0.25);
|
|
13
|
+
expect(easeOut(0.5)).toBeCloseTo(0.75);
|
|
14
|
+
expect(easeIn(0)).toBe(0);
|
|
15
|
+
expect(easeOut(1)).toBe(1);
|
|
16
|
+
});
|
|
17
|
+
it("smooth / smoothstep is symmetric: f(t) + f(1-t) = 1", () => {
|
|
18
|
+
for (const t of [0.1, 0.25, 0.4, 0.5, 0.75]) {
|
|
19
|
+
expect(smooth(t) + smooth(1 - t)).toBeCloseTo(1, 5);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
describe("curveFor", () => {
|
|
24
|
+
it("maps interp strings to their curve functions", () => {
|
|
25
|
+
expect(curveFor("linear")).toBe(linear);
|
|
26
|
+
expect(curveFor("easeIn")).toBe(easeIn);
|
|
27
|
+
expect(curveFor("easeOut")).toBe(easeOut);
|
|
28
|
+
expect(curveFor("smooth")).toBe(smooth);
|
|
29
|
+
expect(curveFor(undefined)).toBe(linear);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe("sampleCurve", () => {
|
|
33
|
+
it("returns single-keyframe value as constant", () => {
|
|
34
|
+
expect(sampleCurve([{ frame: 0, value: 42 }], 100, 30)).toBe(42);
|
|
35
|
+
});
|
|
36
|
+
it("clamps to first/last value outside the range", () => {
|
|
37
|
+
const kfs = [
|
|
38
|
+
{ frame: 10, value: 1 },
|
|
39
|
+
{ frame: 20, value: 2 },
|
|
40
|
+
];
|
|
41
|
+
expect(sampleCurve(kfs, 0, 30)).toBe(1);
|
|
42
|
+
expect(sampleCurve(kfs, 9, 30)).toBe(1);
|
|
43
|
+
expect(sampleCurve(kfs, 100, 30)).toBe(2);
|
|
44
|
+
});
|
|
45
|
+
it("linearly interpolates between two keyframes", () => {
|
|
46
|
+
const kfs = [
|
|
47
|
+
{ frame: 0, value: 0 },
|
|
48
|
+
{ frame: 30, value: 10 },
|
|
49
|
+
];
|
|
50
|
+
expect(sampleCurve(kfs, 15, 30)).toBeCloseTo(5);
|
|
51
|
+
});
|
|
52
|
+
it("uses the LEFT keyframe's interp for the segment", () => {
|
|
53
|
+
const kfs = [
|
|
54
|
+
{ frame: 0, value: 0, interp: "easeIn" },
|
|
55
|
+
{ frame: 30, value: 10 },
|
|
56
|
+
];
|
|
57
|
+
// At t=0.5 with easeIn: t² = 0.25 → value = 0 + 10 * 0.25 = 2.5.
|
|
58
|
+
expect(sampleCurve(kfs, 15, 30)).toBeCloseTo(2.5);
|
|
59
|
+
});
|
|
60
|
+
it("works with multiple segments and uses the right one", () => {
|
|
61
|
+
const kfs = [
|
|
62
|
+
{ frame: 0, value: 0 },
|
|
63
|
+
{ frame: 30, value: 100 },
|
|
64
|
+
{ frame: 60, value: 0 },
|
|
65
|
+
];
|
|
66
|
+
expect(sampleCurve(kfs, 15, 30)).toBeCloseTo(50);
|
|
67
|
+
expect(sampleCurve(kfs, 45, 30)).toBeCloseTo(50);
|
|
68
|
+
});
|
|
69
|
+
it("throws on empty keyframe list", () => {
|
|
70
|
+
expect(() => sampleCurve([], 0, 30)).toThrow();
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=keyframes.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyframes.test.js","sourceRoot":"","sources":["../../src/core/keyframes.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyword-highlighted captions — the CapCut "active word" style that
|
|
3
|
+
* defines viral short-form aesthetics in 2025-2026.
|
|
4
|
+
*
|
|
5
|
+
* Plain word-by-word burned captions show every word in the same
|
|
6
|
+
* style. Keyword highlighting picks the 1-2 most content-bearing words
|
|
7
|
+
* per phrase and renders them in a stronger color / scale, so the eye
|
|
8
|
+
* locks onto the meaning even when the viewer is half-scrolling.
|
|
9
|
+
*
|
|
10
|
+
* No POS tagger needed — a small heuristic gets us 90% of the way:
|
|
11
|
+
* - Numbers and ALL-CAPS tokens are always keywords.
|
|
12
|
+
* - Words ≥ minKeywordLen and NOT in the stoplist are keywords.
|
|
13
|
+
* - Words in the stoplist (articles / prepositions / fillers) are
|
|
14
|
+
* never keywords.
|
|
15
|
+
* - We cap to N keywords per phrase to keep emphasis meaningful.
|
|
16
|
+
*
|
|
17
|
+
* Output: AssCue list with two styles ("Default" + "Keyword"). The
|
|
18
|
+
* caller passes them straight into buildAss(); ffmpeg's `subtitles`
|
|
19
|
+
* filter renders the result.
|
|
20
|
+
*/
|
|
21
|
+
import type { AssCue, AssStyle } from "./ass.js";
|
|
22
|
+
import type { TranscriptWord } from "./whisper.js";
|
|
23
|
+
export interface KeywordCaptionOptions {
|
|
24
|
+
/** Words per cue. Default 3 — readable at fast speech rates. */
|
|
25
|
+
groupSize?: number;
|
|
26
|
+
/** Min gap (sec) at which we force a new cue. Default 0.4. */
|
|
27
|
+
gapSec?: number;
|
|
28
|
+
/** Min letters to consider a word a keyword by length. Default 5. */
|
|
29
|
+
minKeywordLen?: number;
|
|
30
|
+
/** Max keywords per cue. Default 1. Clamped to ≥0. */
|
|
31
|
+
maxKeywordsPerCue?: number;
|
|
32
|
+
/** Stoplist override (case-insensitive). Defaults to DEFAULT_STOPLIST. */
|
|
33
|
+
stoplist?: readonly string[];
|
|
34
|
+
/**
|
|
35
|
+
* Per-cue display duration cushion (sec) — extends each cue's end
|
|
36
|
+
* past the last word's end so the caption doesn't pop off mid-syllable.
|
|
37
|
+
* Default 0.08s.
|
|
38
|
+
*/
|
|
39
|
+
endPaddingSec?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The function-words / discourse markers we strip from keyword
|
|
43
|
+
* candidates. Lowercase, no punctuation.
|
|
44
|
+
*/
|
|
45
|
+
export declare const DEFAULT_STOPLIST: readonly ["a", "an", "the", "i", "me", "my", "mine", "you", "your", "yours", "he", "him", "his", "she", "her", "hers", "it", "its", "we", "us", "our", "ours", "they", "them", "their", "theirs", "this", "that", "these", "those", "is", "are", "was", "were", "be", "been", "being", "am", "do", "does", "did", "doing", "have", "has", "had", "having", "will", "would", "shall", "should", "may", "might", "must", "can", "could", "of", "in", "on", "at", "by", "to", "for", "with", "from", "as", "into", "onto", "out", "off", "up", "down", "over", "under", "and", "or", "but", "so", "if", "then", "than", "because", "while", "when", "where", "who", "which", "what", "why", "how", "not", "no", "yes", "okay", "ok", "well", "just", "really", "very", "much", "more", "most", "some", "any", "all", "each", "every", "um", "uh", "uhm", "like", "you know", "i mean"];
|
|
46
|
+
/**
|
|
47
|
+
* Build the cues + styles for a keyword-highlighted caption track.
|
|
48
|
+
*
|
|
49
|
+
* Returns:
|
|
50
|
+
* - styles: pass directly into AssOptions.styles (always 2 styles).
|
|
51
|
+
* - cues: one cue per N words OR per gap boundary. Cues with a
|
|
52
|
+
* keyword embed the keyword via an inline `{\rKeyword}` ...
|
|
53
|
+
* `{\rDefault}` reset so a single cue can mix both styles.
|
|
54
|
+
*
|
|
55
|
+
* The caller controls font/size/colors by overriding fields on the
|
|
56
|
+
* returned styles before passing them to buildAss.
|
|
57
|
+
*/
|
|
58
|
+
export declare function buildKeywordCaptions(words: TranscriptWord[], opts?: KeywordCaptionOptions): {
|
|
59
|
+
cues: AssCue[];
|
|
60
|
+
styles: AssStyle[];
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Decide whether a single token (already normalized) is a keyword.
|
|
64
|
+
* Exported for unit testing.
|
|
65
|
+
*/
|
|
66
|
+
export declare function isKeywordToken(raw: string, stoplist: Set<string>, minLen: number): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Sensible defaults that look right for vertical / 9:16 shorts:
|
|
69
|
+
* - Default style: large white sans-serif with thick outline.
|
|
70
|
+
* - Keyword style: punchy yellow, slightly larger, same font.
|
|
71
|
+
*
|
|
72
|
+
* Override via the returned array before passing into buildAss().
|
|
73
|
+
*/
|
|
74
|
+
export declare function defaultKeywordStyles(): AssStyle[];
|
|
75
|
+
//# sourceMappingURL=keyword-captions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword-captions.d.ts","sourceRoot":"","sources":["../../src/core/keyword-captions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,q1BAuHnB,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,cAAc,EAAE,EACvB,IAAI,GAAE,qBAA0B,GAC/B;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;CAAE,CAoCxC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAgB1F;AAgDD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,QAAQ,EAAE,CAyBjD"}
|