@vibeframe/cli 0.55.0 → 0.55.2
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/index.js +63450 -233
- package/package.json +11 -6
- package/dist/agent/adapters/claude.d.ts +0 -15
- package/dist/agent/adapters/claude.d.ts.map +0 -1
- package/dist/agent/adapters/claude.js +0 -119
- package/dist/agent/adapters/claude.js.map +0 -1
- package/dist/agent/adapters/gemini.d.ts +0 -15
- package/dist/agent/adapters/gemini.d.ts.map +0 -1
- package/dist/agent/adapters/gemini.js +0 -132
- package/dist/agent/adapters/gemini.js.map +0 -1
- package/dist/agent/adapters/index.d.ts +0 -28
- package/dist/agent/adapters/index.d.ts.map +0 -1
- package/dist/agent/adapters/index.js +0 -43
- package/dist/agent/adapters/index.js.map +0 -1
- package/dist/agent/adapters/ollama.d.ts +0 -20
- package/dist/agent/adapters/ollama.d.ts.map +0 -1
- package/dist/agent/adapters/ollama.js +0 -186
- package/dist/agent/adapters/ollama.js.map +0 -1
- package/dist/agent/adapters/openai.d.ts +0 -15
- package/dist/agent/adapters/openai.d.ts.map +0 -1
- package/dist/agent/adapters/openai.js +0 -92
- package/dist/agent/adapters/openai.js.map +0 -1
- package/dist/agent/adapters/openrouter.d.ts +0 -16
- package/dist/agent/adapters/openrouter.d.ts.map +0 -1
- package/dist/agent/adapters/openrouter.js +0 -100
- package/dist/agent/adapters/openrouter.js.map +0 -1
- package/dist/agent/adapters/openrouter.test.d.ts +0 -5
- package/dist/agent/adapters/openrouter.test.d.ts.map +0 -1
- package/dist/agent/adapters/openrouter.test.js +0 -73
- package/dist/agent/adapters/openrouter.test.js.map +0 -1
- package/dist/agent/adapters/xai.d.ts +0 -15
- package/dist/agent/adapters/xai.d.ts.map +0 -1
- package/dist/agent/adapters/xai.js +0 -95
- package/dist/agent/adapters/xai.js.map +0 -1
- package/dist/agent/index.d.ts +0 -69
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/index.js +0 -180
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/memory/index.d.ts +0 -70
- package/dist/agent/memory/index.d.ts.map +0 -1
- package/dist/agent/memory/index.js +0 -132
- package/dist/agent/memory/index.js.map +0 -1
- package/dist/agent/prompts/system.d.ts +0 -6
- package/dist/agent/prompts/system.d.ts.map +0 -1
- package/dist/agent/prompts/system.js +0 -103
- package/dist/agent/prompts/system.js.map +0 -1
- package/dist/agent/tools/ai-editing.d.ts +0 -15
- package/dist/agent/tools/ai-editing.d.ts.map +0 -1
- package/dist/agent/tools/ai-editing.js +0 -763
- package/dist/agent/tools/ai-editing.js.map +0 -1
- package/dist/agent/tools/ai-generation.d.ts +0 -13
- package/dist/agent/tools/ai-generation.d.ts.map +0 -1
- package/dist/agent/tools/ai-generation.js +0 -973
- package/dist/agent/tools/ai-generation.js.map +0 -1
- package/dist/agent/tools/ai-pipeline.d.ts +0 -14
- package/dist/agent/tools/ai-pipeline.d.ts.map +0 -1
- package/dist/agent/tools/ai-pipeline.js +0 -961
- package/dist/agent/tools/ai-pipeline.js.map +0 -1
- package/dist/agent/tools/ai.d.ts +0 -13
- package/dist/agent/tools/ai.d.ts.map +0 -1
- package/dist/agent/tools/ai.js +0 -19
- package/dist/agent/tools/ai.js.map +0 -1
- package/dist/agent/tools/batch.d.ts +0 -6
- package/dist/agent/tools/batch.d.ts.map +0 -1
- package/dist/agent/tools/batch.js +0 -383
- package/dist/agent/tools/batch.js.map +0 -1
- package/dist/agent/tools/e2e.test.d.ts +0 -26
- package/dist/agent/tools/e2e.test.d.ts.map +0 -1
- package/dist/agent/tools/e2e.test.js +0 -397
- package/dist/agent/tools/e2e.test.js.map +0 -1
- package/dist/agent/tools/export.d.ts +0 -6
- package/dist/agent/tools/export.d.ts.map +0 -1
- package/dist/agent/tools/export.js +0 -171
- package/dist/agent/tools/export.js.map +0 -1
- package/dist/agent/tools/filesystem.d.ts +0 -6
- package/dist/agent/tools/filesystem.d.ts.map +0 -1
- package/dist/agent/tools/filesystem.js +0 -212
- package/dist/agent/tools/filesystem.js.map +0 -1
- package/dist/agent/tools/index.d.ts +0 -66
- package/dist/agent/tools/index.d.ts.map +0 -1
- package/dist/agent/tools/index.js +0 -123
- package/dist/agent/tools/index.js.map +0 -1
- package/dist/agent/tools/integration.test.d.ts +0 -11
- package/dist/agent/tools/integration.test.d.ts.map +0 -1
- package/dist/agent/tools/integration.test.js +0 -659
- package/dist/agent/tools/integration.test.js.map +0 -1
- package/dist/agent/tools/media.d.ts +0 -6
- package/dist/agent/tools/media.d.ts.map +0 -1
- package/dist/agent/tools/media.js +0 -616
- package/dist/agent/tools/media.js.map +0 -1
- package/dist/agent/tools/project.d.ts +0 -6
- package/dist/agent/tools/project.d.ts.map +0 -1
- package/dist/agent/tools/project.js +0 -284
- package/dist/agent/tools/project.js.map +0 -1
- package/dist/agent/tools/scene.d.ts +0 -17
- package/dist/agent/tools/scene.d.ts.map +0 -1
- package/dist/agent/tools/scene.js +0 -263
- package/dist/agent/tools/scene.js.map +0 -1
- package/dist/agent/tools/scene.test.d.ts +0 -2
- package/dist/agent/tools/scene.test.d.ts.map +0 -1
- package/dist/agent/tools/scene.test.js +0 -139
- package/dist/agent/tools/scene.test.js.map +0 -1
- package/dist/agent/tools/timeline.d.ts +0 -6
- package/dist/agent/tools/timeline.d.ts.map +0 -1
- package/dist/agent/tools/timeline.js +0 -875
- package/dist/agent/tools/timeline.js.map +0 -1
- package/dist/agent/types.d.ts +0 -59
- package/dist/agent/types.d.ts.map +0 -1
- package/dist/agent/types.js +0 -5
- package/dist/agent/types.js.map +0 -1
- package/dist/commands/_shared/scene-audio-mux.d.ts +0 -75
- package/dist/commands/_shared/scene-audio-mux.d.ts.map +0 -1
- package/dist/commands/_shared/scene-audio-mux.js +0 -159
- package/dist/commands/_shared/scene-audio-mux.js.map +0 -1
- package/dist/commands/_shared/scene-audio-mux.test.d.ts +0 -7
- package/dist/commands/_shared/scene-audio-mux.test.d.ts.map +0 -1
- package/dist/commands/_shared/scene-audio-mux.test.js +0 -94
- package/dist/commands/_shared/scene-audio-mux.test.js.map +0 -1
- package/dist/commands/_shared/scene-audio-scan.d.ts +0 -94
- package/dist/commands/_shared/scene-audio-scan.d.ts.map +0 -1
- package/dist/commands/_shared/scene-audio-scan.js +0 -144
- package/dist/commands/_shared/scene-audio-scan.js.map +0 -1
- package/dist/commands/_shared/scene-audio-scan.test.d.ts +0 -6
- package/dist/commands/_shared/scene-audio-scan.test.d.ts.map +0 -1
- package/dist/commands/_shared/scene-audio-scan.test.js +0 -190
- package/dist/commands/_shared/scene-audio-scan.test.js.map +0 -1
- package/dist/commands/_shared/scene-html-emit.d.ts +0 -120
- package/dist/commands/_shared/scene-html-emit.d.ts.map +0 -1
- package/dist/commands/_shared/scene-html-emit.js +0 -422
- package/dist/commands/_shared/scene-html-emit.js.map +0 -1
- package/dist/commands/_shared/scene-html-emit.test.d.ts +0 -2
- package/dist/commands/_shared/scene-html-emit.test.d.ts.map +0 -1
- package/dist/commands/_shared/scene-html-emit.test.js +0 -396
- package/dist/commands/_shared/scene-html-emit.test.js.map +0 -1
- package/dist/commands/_shared/scene-lint.d.ts +0 -110
- package/dist/commands/_shared/scene-lint.d.ts.map +0 -1
- package/dist/commands/_shared/scene-lint.js +0 -207
- package/dist/commands/_shared/scene-lint.js.map +0 -1
- package/dist/commands/_shared/scene-lint.test.d.ts +0 -2
- package/dist/commands/_shared/scene-lint.test.d.ts.map +0 -1
- package/dist/commands/_shared/scene-lint.test.js +0 -208
- package/dist/commands/_shared/scene-lint.test.js.map +0 -1
- package/dist/commands/_shared/scene-project.d.ts +0 -101
- package/dist/commands/_shared/scene-project.d.ts.map +0 -1
- package/dist/commands/_shared/scene-project.js +0 -281
- package/dist/commands/_shared/scene-project.js.map +0 -1
- package/dist/commands/_shared/scene-project.test.d.ts +0 -2
- package/dist/commands/_shared/scene-project.test.d.ts.map +0 -1
- package/dist/commands/_shared/scene-project.test.js +0 -203
- package/dist/commands/_shared/scene-project.test.js.map +0 -1
- package/dist/commands/_shared/scene-render.d.ts +0 -85
- package/dist/commands/_shared/scene-render.d.ts.map +0 -1
- package/dist/commands/_shared/scene-render.js +0 -178
- package/dist/commands/_shared/scene-render.js.map +0 -1
- package/dist/commands/_shared/scene-render.test.d.ts +0 -2
- package/dist/commands/_shared/scene-render.test.d.ts.map +0 -1
- package/dist/commands/_shared/scene-render.test.js +0 -145
- package/dist/commands/_shared/scene-render.test.js.map +0 -1
- package/dist/commands/_shared/segments-to-scenes.d.ts +0 -85
- package/dist/commands/_shared/segments-to-scenes.d.ts.map +0 -1
- package/dist/commands/_shared/segments-to-scenes.js +0 -202
- package/dist/commands/_shared/segments-to-scenes.js.map +0 -1
- package/dist/commands/_shared/segments-to-scenes.test.d.ts +0 -2
- package/dist/commands/_shared/segments-to-scenes.test.d.ts.map +0 -1
- package/dist/commands/_shared/segments-to-scenes.test.js +0 -219
- package/dist/commands/_shared/segments-to-scenes.test.js.map +0 -1
- package/dist/commands/_shared/tts-resolve.d.ts +0 -75
- package/dist/commands/_shared/tts-resolve.d.ts.map +0 -1
- package/dist/commands/_shared/tts-resolve.js +0 -89
- package/dist/commands/_shared/tts-resolve.js.map +0 -1
- package/dist/commands/_shared/tts-resolve.test.d.ts +0 -6
- package/dist/commands/_shared/tts-resolve.test.d.ts.map +0 -1
- package/dist/commands/_shared/tts-resolve.test.js +0 -147
- package/dist/commands/_shared/tts-resolve.test.js.map +0 -1
- package/dist/commands/agent.d.ts +0 -21
- package/dist/commands/agent.d.ts.map +0 -1
- package/dist/commands/agent.js +0 -285
- package/dist/commands/agent.js.map +0 -1
- package/dist/commands/ai-analyze.d.ts +0 -106
- package/dist/commands/ai-analyze.d.ts.map +0 -1
- package/dist/commands/ai-analyze.js +0 -320
- package/dist/commands/ai-analyze.js.map +0 -1
- package/dist/commands/ai-animated-caption.d.ts +0 -64
- package/dist/commands/ai-animated-caption.d.ts.map +0 -1
- package/dist/commands/ai-animated-caption.js +0 -272
- package/dist/commands/ai-animated-caption.js.map +0 -1
- package/dist/commands/ai-audio.d.ts +0 -98
- package/dist/commands/ai-audio.d.ts.map +0 -1
- package/dist/commands/ai-audio.js +0 -1059
- package/dist/commands/ai-audio.js.map +0 -1
- package/dist/commands/ai-broll.d.ts +0 -15
- package/dist/commands/ai-broll.d.ts.map +0 -1
- package/dist/commands/ai-broll.js +0 -421
- package/dist/commands/ai-broll.js.map +0 -1
- package/dist/commands/ai-edit-cli.d.ts +0 -14
- package/dist/commands/ai-edit-cli.d.ts.map +0 -1
- package/dist/commands/ai-edit-cli.js +0 -585
- package/dist/commands/ai-edit-cli.js.map +0 -1
- package/dist/commands/ai-edit.d.ts +0 -398
- package/dist/commands/ai-edit.d.ts.map +0 -1
- package/dist/commands/ai-edit.js +0 -1060
- package/dist/commands/ai-edit.js.map +0 -1
- package/dist/commands/ai-fill-gaps.d.ts +0 -14
- package/dist/commands/ai-fill-gaps.d.ts.map +0 -1
- package/dist/commands/ai-fill-gaps.js +0 -447
- package/dist/commands/ai-fill-gaps.js.map +0 -1
- package/dist/commands/ai-helpers.d.ts +0 -20
- package/dist/commands/ai-helpers.d.ts.map +0 -1
- package/dist/commands/ai-helpers.js +0 -59
- package/dist/commands/ai-helpers.js.map +0 -1
- package/dist/commands/ai-highlights.d.ts +0 -127
- package/dist/commands/ai-highlights.d.ts.map +0 -1
- package/dist/commands/ai-highlights.js +0 -1053
- package/dist/commands/ai-highlights.js.map +0 -1
- package/dist/commands/ai-image.d.ts +0 -76
- package/dist/commands/ai-image.d.ts.map +0 -1
- package/dist/commands/ai-image.js +0 -858
- package/dist/commands/ai-image.js.map +0 -1
- package/dist/commands/ai-motion.d.ts +0 -50
- package/dist/commands/ai-motion.d.ts.map +0 -1
- package/dist/commands/ai-motion.js +0 -297
- package/dist/commands/ai-motion.js.map +0 -1
- package/dist/commands/ai-narrate.d.ts +0 -66
- package/dist/commands/ai-narrate.d.ts.map +0 -1
- package/dist/commands/ai-narrate.js +0 -332
- package/dist/commands/ai-narrate.js.map +0 -1
- package/dist/commands/ai-review.d.ts +0 -57
- package/dist/commands/ai-review.d.ts.map +0 -1
- package/dist/commands/ai-review.js +0 -270
- package/dist/commands/ai-review.js.map +0 -1
- package/dist/commands/ai-script-pipeline-cli.d.ts +0 -9
- package/dist/commands/ai-script-pipeline-cli.d.ts.map +0 -1
- package/dist/commands/ai-script-pipeline-cli.js +0 -502
- package/dist/commands/ai-script-pipeline-cli.js.map +0 -1
- package/dist/commands/ai-script-pipeline.d.ts +0 -305
- package/dist/commands/ai-script-pipeline.d.ts.map +0 -1
- package/dist/commands/ai-script-pipeline.js +0 -1546
- package/dist/commands/ai-script-pipeline.js.map +0 -1
- package/dist/commands/ai-suggest-edit.d.ts +0 -14
- package/dist/commands/ai-suggest-edit.d.ts.map +0 -1
- package/dist/commands/ai-suggest-edit.js +0 -215
- package/dist/commands/ai-suggest-edit.js.map +0 -1
- package/dist/commands/ai-video-fx.d.ts +0 -14
- package/dist/commands/ai-video-fx.d.ts.map +0 -1
- package/dist/commands/ai-video-fx.js +0 -396
- package/dist/commands/ai-video-fx.js.map +0 -1
- package/dist/commands/ai-video.d.ts +0 -91
- package/dist/commands/ai-video.d.ts.map +0 -1
- package/dist/commands/ai-video.js +0 -1055
- package/dist/commands/ai-video.js.map +0 -1
- package/dist/commands/ai-viral.d.ts +0 -15
- package/dist/commands/ai-viral.d.ts.map +0 -1
- package/dist/commands/ai-viral.js +0 -507
- package/dist/commands/ai-viral.js.map +0 -1
- package/dist/commands/ai-visual-fx.d.ts +0 -14
- package/dist/commands/ai-visual-fx.d.ts.map +0 -1
- package/dist/commands/ai-visual-fx.js +0 -521
- package/dist/commands/ai-visual-fx.js.map +0 -1
- package/dist/commands/ai.d.ts +0 -38
- package/dist/commands/ai.d.ts.map +0 -1
- package/dist/commands/ai.js +0 -225
- package/dist/commands/ai.js.map +0 -1
- package/dist/commands/ai.test.d.ts +0 -2
- package/dist/commands/ai.test.d.ts.map +0 -1
- package/dist/commands/ai.test.js +0 -557
- package/dist/commands/ai.test.js.map +0 -1
- package/dist/commands/analyze.d.ts +0 -16
- package/dist/commands/analyze.d.ts.map +0 -1
- package/dist/commands/analyze.js +0 -247
- package/dist/commands/analyze.js.map +0 -1
- package/dist/commands/audio.d.ts +0 -18
- package/dist/commands/audio.d.ts.map +0 -1
- package/dist/commands/audio.js +0 -539
- package/dist/commands/audio.js.map +0 -1
- package/dist/commands/batch.d.ts +0 -3
- package/dist/commands/batch.d.ts.map +0 -1
- package/dist/commands/batch.js +0 -419
- package/dist/commands/batch.js.map +0 -1
- package/dist/commands/batch.test.d.ts +0 -2
- package/dist/commands/batch.test.d.ts.map +0 -1
- package/dist/commands/batch.test.js +0 -203
- package/dist/commands/batch.test.js.map +0 -1
- package/dist/commands/context.d.ts +0 -7
- package/dist/commands/context.d.ts.map +0 -1
- package/dist/commands/context.js +0 -66
- package/dist/commands/context.js.map +0 -1
- package/dist/commands/demo.d.ts +0 -7
- package/dist/commands/demo.d.ts.map +0 -1
- package/dist/commands/demo.js +0 -192
- package/dist/commands/demo.js.map +0 -1
- package/dist/commands/detect.d.ts +0 -56
- package/dist/commands/detect.d.ts.map +0 -1
- package/dist/commands/detect.js +0 -464
- package/dist/commands/detect.js.map +0 -1
- package/dist/commands/doctor.d.ts +0 -6
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js +0 -322
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/edit-cmd.d.ts +0 -112
- package/dist/commands/edit-cmd.d.ts.map +0 -1
- package/dist/commands/edit-cmd.js +0 -1041
- package/dist/commands/edit-cmd.js.map +0 -1
- package/dist/commands/export.d.ts +0 -61
- package/dist/commands/export.d.ts.map +0 -1
- package/dist/commands/export.js +0 -980
- package/dist/commands/export.js.map +0 -1
- package/dist/commands/export.test.d.ts +0 -2
- package/dist/commands/export.test.d.ts.map +0 -1
- package/dist/commands/export.test.js +0 -107
- package/dist/commands/export.test.js.map +0 -1
- package/dist/commands/generate.d.ts +0 -84
- package/dist/commands/generate.d.ts.map +0 -1
- package/dist/commands/generate.js +0 -2030
- package/dist/commands/generate.js.map +0 -1
- package/dist/commands/media.d.ts +0 -3
- package/dist/commands/media.d.ts.map +0 -1
- package/dist/commands/media.js +0 -163
- package/dist/commands/media.js.map +0 -1
- package/dist/commands/output.d.ts +0 -51
- package/dist/commands/output.d.ts.map +0 -1
- package/dist/commands/output.js +0 -219
- package/dist/commands/output.js.map +0 -1
- package/dist/commands/output.test.d.ts +0 -2
- package/dist/commands/output.test.d.ts.map +0 -1
- package/dist/commands/output.test.js +0 -151
- package/dist/commands/output.test.js.map +0 -1
- package/dist/commands/pipeline.d.ts +0 -19
- package/dist/commands/pipeline.d.ts.map +0 -1
- package/dist/commands/pipeline.js +0 -345
- package/dist/commands/pipeline.js.map +0 -1
- package/dist/commands/project.d.ts +0 -3
- package/dist/commands/project.d.ts.map +0 -1
- package/dist/commands/project.js +0 -181
- package/dist/commands/project.js.map +0 -1
- package/dist/commands/project.test.d.ts +0 -2
- package/dist/commands/project.test.d.ts.map +0 -1
- package/dist/commands/project.test.js +0 -105
- package/dist/commands/project.test.js.map +0 -1
- package/dist/commands/run.d.ts +0 -15
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -204
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/sanitize.d.ts +0 -21
- package/dist/commands/sanitize.d.ts.map +0 -1
- package/dist/commands/sanitize.js +0 -56
- package/dist/commands/sanitize.js.map +0 -1
- package/dist/commands/scene.d.ts +0 -86
- package/dist/commands/scene.d.ts.map +0 -1
- package/dist/commands/scene.js +0 -728
- package/dist/commands/scene.js.map +0 -1
- package/dist/commands/scene.test.d.ts +0 -2
- package/dist/commands/scene.test.d.ts.map +0 -1
- package/dist/commands/scene.test.js +0 -219
- package/dist/commands/scene.test.js.map +0 -1
- package/dist/commands/schema.d.ts +0 -13
- package/dist/commands/schema.d.ts.map +0 -1
- package/dist/commands/schema.js +0 -218
- package/dist/commands/schema.js.map +0 -1
- package/dist/commands/setup.d.ts +0 -6
- package/dist/commands/setup.d.ts.map +0 -1
- package/dist/commands/setup.js +0 -461
- package/dist/commands/setup.js.map +0 -1
- package/dist/commands/timeline.d.ts +0 -3
- package/dist/commands/timeline.d.ts.map +0 -1
- package/dist/commands/timeline.js +0 -609
- package/dist/commands/timeline.js.map +0 -1
- package/dist/commands/timeline.test.d.ts +0 -2
- package/dist/commands/timeline.test.d.ts.map +0 -1
- package/dist/commands/timeline.test.js +0 -334
- package/dist/commands/timeline.test.js.map +0 -1
- package/dist/commands/validate.d.ts +0 -34
- package/dist/commands/validate.d.ts.map +0 -1
- package/dist/commands/validate.js +0 -70
- package/dist/commands/validate.js.map +0 -1
- package/dist/config/config.test.d.ts +0 -2
- package/dist/config/config.test.d.ts.map +0 -1
- package/dist/config/config.test.js +0 -164
- package/dist/config/config.test.js.map +0 -1
- package/dist/config/index.d.ts +0 -35
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -101
- package/dist/config/index.js.map +0 -1
- package/dist/config/schema.d.ts +0 -52
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -44
- package/dist/config/schema.js.map +0 -1
- package/dist/engine/index.d.ts +0 -3
- package/dist/engine/index.d.ts.map +0 -1
- package/dist/engine/index.js +0 -2
- package/dist/engine/index.js.map +0 -1
- package/dist/engine/project.d.ts +0 -84
- package/dist/engine/project.d.ts.map +0 -1
- package/dist/engine/project.js +0 -355
- package/dist/engine/project.js.map +0 -1
- package/dist/engine/project.test.d.ts +0 -2
- package/dist/engine/project.test.d.ts.map +0 -1
- package/dist/engine/project.test.js +0 -599
- package/dist/engine/project.test.js.map +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/pipeline/executor.d.ts +0 -19
- package/dist/pipeline/executor.d.ts.map +0 -1
- package/dist/pipeline/executor.js +0 -397
- package/dist/pipeline/executor.js.map +0 -1
- package/dist/pipeline/index.d.ts +0 -4
- package/dist/pipeline/index.d.ts.map +0 -1
- package/dist/pipeline/index.js +0 -2
- package/dist/pipeline/index.js.map +0 -1
- package/dist/pipeline/renderers/__tests__/html-template.test.d.ts +0 -2
- package/dist/pipeline/renderers/__tests__/html-template.test.d.ts.map +0 -1
- package/dist/pipeline/renderers/__tests__/html-template.test.js +0 -170
- package/dist/pipeline/renderers/__tests__/html-template.test.js.map +0 -1
- package/dist/pipeline/renderers/__tests__/integration.test.d.ts +0 -2
- package/dist/pipeline/renderers/__tests__/integration.test.d.ts.map +0 -1
- package/dist/pipeline/renderers/__tests__/integration.test.js +0 -175
- package/dist/pipeline/renderers/__tests__/integration.test.js.map +0 -1
- package/dist/pipeline/renderers/chrome.d.ts +0 -26
- package/dist/pipeline/renderers/chrome.d.ts.map +0 -1
- package/dist/pipeline/renderers/chrome.js +0 -48
- package/dist/pipeline/renderers/chrome.js.map +0 -1
- package/dist/pipeline/renderers/html-clips.d.ts +0 -20
- package/dist/pipeline/renderers/html-clips.d.ts.map +0 -1
- package/dist/pipeline/renderers/html-clips.js +0 -50
- package/dist/pipeline/renderers/html-clips.js.map +0 -1
- package/dist/pipeline/renderers/html-runtime.d.ts +0 -7
- package/dist/pipeline/renderers/html-runtime.d.ts.map +0 -1
- package/dist/pipeline/renderers/html-runtime.js +0 -80
- package/dist/pipeline/renderers/html-runtime.js.map +0 -1
- package/dist/pipeline/renderers/html-template.d.ts +0 -3
- package/dist/pipeline/renderers/html-template.d.ts.map +0 -1
- package/dist/pipeline/renderers/html-template.js +0 -36
- package/dist/pipeline/renderers/html-template.js.map +0 -1
- package/dist/pipeline/renderers/hyperframes.d.ts +0 -8
- package/dist/pipeline/renderers/hyperframes.d.ts.map +0 -1
- package/dist/pipeline/renderers/hyperframes.js +0 -63
- package/dist/pipeline/renderers/hyperframes.js.map +0 -1
- package/dist/pipeline/renderers/project-builder.d.ts +0 -8
- package/dist/pipeline/renderers/project-builder.d.ts.map +0 -1
- package/dist/pipeline/renderers/project-builder.js +0 -65
- package/dist/pipeline/renderers/project-builder.js.map +0 -1
- package/dist/pipeline/renderers/types.d.ts +0 -41
- package/dist/pipeline/renderers/types.d.ts.map +0 -1
- package/dist/pipeline/renderers/types.js +0 -11
- package/dist/pipeline/renderers/types.js.map +0 -1
- package/dist/pipeline/resolver.d.ts +0 -20
- package/dist/pipeline/resolver.d.ts.map +0 -1
- package/dist/pipeline/resolver.js +0 -74
- package/dist/pipeline/resolver.js.map +0 -1
- package/dist/pipeline/types.d.ts +0 -82
- package/dist/pipeline/types.d.ts.map +0 -1
- package/dist/pipeline/types.js +0 -8
- package/dist/pipeline/types.js.map +0 -1
- package/dist/utils/api-key.d.ts +0 -33
- package/dist/utils/api-key.d.ts.map +0 -1
- package/dist/utils/api-key.js +0 -228
- package/dist/utils/api-key.js.map +0 -1
- package/dist/utils/api-key.test.d.ts +0 -2
- package/dist/utils/api-key.test.d.ts.map +0 -1
- package/dist/utils/api-key.test.js +0 -35
- package/dist/utils/api-key.test.js.map +0 -1
- package/dist/utils/audio.d.ts +0 -23
- package/dist/utils/audio.d.ts.map +0 -1
- package/dist/utils/audio.js +0 -79
- package/dist/utils/audio.js.map +0 -1
- package/dist/utils/exec-safe.d.ts +0 -22
- package/dist/utils/exec-safe.d.ts.map +0 -1
- package/dist/utils/exec-safe.js +0 -62
- package/dist/utils/exec-safe.js.map +0 -1
- package/dist/utils/first-run.d.ts +0 -17
- package/dist/utils/first-run.d.ts.map +0 -1
- package/dist/utils/first-run.js +0 -73
- package/dist/utils/first-run.js.map +0 -1
- package/dist/utils/input-validation.d.ts +0 -27
- package/dist/utils/input-validation.d.ts.map +0 -1
- package/dist/utils/input-validation.js +0 -67
- package/dist/utils/input-validation.js.map +0 -1
- package/dist/utils/provider-resolver.d.ts +0 -19
- package/dist/utils/provider-resolver.d.ts.map +0 -1
- package/dist/utils/provider-resolver.js +0 -75
- package/dist/utils/provider-resolver.js.map +0 -1
- package/dist/utils/remotion.d.ts +0 -231
- package/dist/utils/remotion.d.ts.map +0 -1
- package/dist/utils/remotion.js +0 -879
- package/dist/utils/remotion.js.map +0 -1
- package/dist/utils/subtitle.d.ts +0 -65
- package/dist/utils/subtitle.d.ts.map +0 -1
- package/dist/utils/subtitle.js +0 -135
- package/dist/utils/subtitle.js.map +0 -1
- package/dist/utils/subtitle.test.d.ts +0 -2
- package/dist/utils/subtitle.test.d.ts.map +0 -1
- package/dist/utils/subtitle.test.js +0 -175
- package/dist/utils/subtitle.test.js.map +0 -1
- package/dist/utils/tty.d.ts +0 -45
- package/dist/utils/tty.d.ts.map +0 -1
- package/dist/utils/tty.js +0 -231
- package/dist/utils/tty.js.map +0 -1
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Browser-side runtime script embedded into the generated HTML.
|
|
3
|
-
* Implements window.__hf.seek(t) and effect application.
|
|
4
|
-
* Kept as a string template so it can be embedded inline without a bundler.
|
|
5
|
-
*/
|
|
6
|
-
export const RUNTIME_SCRIPT = `
|
|
7
|
-
(function () {
|
|
8
|
-
var CLIPS = /*CLIPS_JSON*/[];
|
|
9
|
-
|
|
10
|
-
function interpolate(kfs, t) {
|
|
11
|
-
if (!kfs || kfs.length === 0) return null;
|
|
12
|
-
if (kfs.length === 1) return kfs[0].values;
|
|
13
|
-
var prev = kfs[0], next = kfs[kfs.length - 1];
|
|
14
|
-
for (var i = 0; i < kfs.length - 1; i++) {
|
|
15
|
-
if (t >= kfs[i].time && t <= kfs[i + 1].time) { prev = kfs[i]; next = kfs[i + 1]; break; }
|
|
16
|
-
}
|
|
17
|
-
if (t <= prev.time) return prev.values;
|
|
18
|
-
if (t >= next.time) return next.values;
|
|
19
|
-
var raw = (t - prev.time) / (next.time - prev.time);
|
|
20
|
-
var e = prev.easing || 'linear';
|
|
21
|
-
var p = e === 'easeIn' ? raw * raw
|
|
22
|
-
: e === 'easeOut' ? raw * (2 - raw)
|
|
23
|
-
: e === 'easeInOut' ? (raw < 0.5 ? 2 * raw * raw : -1 + (4 - 2 * raw) * raw)
|
|
24
|
-
: raw;
|
|
25
|
-
var out = {};
|
|
26
|
-
for (var k in prev.values) {
|
|
27
|
-
var a = +prev.values[k], b = +next.values[k];
|
|
28
|
-
out[k] = isNaN(a) || isNaN(b) ? prev.values[k] : a + (b - a) * p;
|
|
29
|
-
}
|
|
30
|
-
return out;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function applyEffects(el, effects, clipTime) {
|
|
34
|
-
var opacity = 1;
|
|
35
|
-
var filters = [];
|
|
36
|
-
for (var i = 0; i < effects.length; i++) {
|
|
37
|
-
var fx = effects[i];
|
|
38
|
-
var t = clipTime - fx.startTime;
|
|
39
|
-
if (t < 0 || t > fx.duration) continue;
|
|
40
|
-
var vals = (fx.keyframes && fx.keyframes.length > 0)
|
|
41
|
-
? interpolate(fx.keyframes, t)
|
|
42
|
-
: fx.params;
|
|
43
|
-
if (!vals) continue;
|
|
44
|
-
switch (fx.type) {
|
|
45
|
-
case 'fadeIn':
|
|
46
|
-
opacity = Math.min(opacity, t / fx.duration * (+(vals.intensity || 1))); break;
|
|
47
|
-
case 'fadeOut':
|
|
48
|
-
opacity = Math.min(opacity, (1 - t / fx.duration) * (+(vals.intensity || 1))); break;
|
|
49
|
-
case 'blur':
|
|
50
|
-
filters.push('blur(' + (+vals.radius || 0) + 'px)'); break;
|
|
51
|
-
case 'brightness':
|
|
52
|
-
filters.push('brightness(' + (+vals.value || 1) + ')'); break;
|
|
53
|
-
case 'contrast':
|
|
54
|
-
filters.push('contrast(' + (+vals.value || 1) + ')'); break;
|
|
55
|
-
case 'saturation':
|
|
56
|
-
filters.push('saturate(' + (+vals.value || 1) + ')'); break;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
el.style.opacity = String(opacity);
|
|
60
|
-
if (filters.length > 0) el.style.filter = filters.join(' ');
|
|
61
|
-
else el.style.filter = '';
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
window.__hf = {
|
|
65
|
-
duration: /*DURATION*/0,
|
|
66
|
-
media: /*MEDIA_JSON*/[],
|
|
67
|
-
seek: function (t) {
|
|
68
|
-
for (var i = 0; i < CLIPS.length; i++) {
|
|
69
|
-
var c = CLIPS[i];
|
|
70
|
-
var el = document.getElementById(c.id);
|
|
71
|
-
if (!el) continue;
|
|
72
|
-
var active = t >= c.startTime && t < c.startTime + c.duration;
|
|
73
|
-
el.style.display = active ? 'block' : 'none';
|
|
74
|
-
if (active) applyEffects(el, c.effects, t - c.startTime);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
})();
|
|
79
|
-
`;
|
|
80
|
-
//# sourceMappingURL=html-runtime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-runtime.js","sourceRoot":"","sources":["../../../src/pipeline/renderers/html-runtime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyE7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-template.d.ts","sourceRoot":"","sources":["../../../src/pipeline/renderers/html-template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AASrD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAkCpE"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { aspectToResolution } from "./hyperframes.js";
|
|
2
|
-
import { buildClipElements, buildClipRuntimeData, buildMediaDeclarations, } from "./html-clips.js";
|
|
3
|
-
import { RUNTIME_SCRIPT } from "./html-runtime.js";
|
|
4
|
-
export function generateCompositionHtml(state) {
|
|
5
|
-
const { width, height } = aspectToResolution(state.project.aspectRatio);
|
|
6
|
-
const clipMarkup = buildClipElements(state);
|
|
7
|
-
const mediaDecls = buildMediaDeclarations(state);
|
|
8
|
-
const clipData = buildClipRuntimeData(state);
|
|
9
|
-
const duration = state.project.duration;
|
|
10
|
-
const hasLottie = state.sources.some((s) => s.type === "lottie");
|
|
11
|
-
const script = RUNTIME_SCRIPT
|
|
12
|
-
.replace("/*CLIPS_JSON*/[]", JSON.stringify(clipData))
|
|
13
|
-
.replace("/*DURATION*/0", String(duration))
|
|
14
|
-
.replace("/*MEDIA_JSON*/[]", JSON.stringify(mediaDecls));
|
|
15
|
-
const lottieRuntime = hasLottie
|
|
16
|
-
? `<script type="module">
|
|
17
|
-
import { setWasmUrl } from "/vendor/dotlottie-wc/index.js";
|
|
18
|
-
setWasmUrl("/vendor/dotlottie-player.wasm");
|
|
19
|
-
</script>
|
|
20
|
-
`
|
|
21
|
-
: "";
|
|
22
|
-
return `<!DOCTYPE html>
|
|
23
|
-
<html><head>
|
|
24
|
-
<meta charset="utf-8">
|
|
25
|
-
<style>
|
|
26
|
-
html, body { margin: 0; width: ${width}px; height: ${height}px; overflow: hidden; background: #000; }
|
|
27
|
-
.clip { position: absolute; inset: 0; display: none; }
|
|
28
|
-
</style>
|
|
29
|
-
${lottieRuntime}</head><body>
|
|
30
|
-
${clipMarkup}
|
|
31
|
-
<script>
|
|
32
|
-
${script}
|
|
33
|
-
</script>
|
|
34
|
-
</body></html>`;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=html-template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"html-template.js","sourceRoot":"","sources":["../../../src/pipeline/renderers/html-template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;IACxC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,cAAc;SAC1B,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SACrD,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC1C,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAE3D,MAAM,aAAa,GAAG,SAAS;QAC7B,CAAC,CAAC;;;;CAIL;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;mCAI0B,KAAK,eAAe,MAAM;;;EAG3D,aAAa;IACX,UAAU;;EAEZ,MAAM;;eAEO,CAAC;AAChB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { RenderBackend } from "./types.js";
|
|
2
|
-
export declare function createHyperframesBackend(): RenderBackend;
|
|
3
|
-
export declare function aspectToResolution(ratio: string): {
|
|
4
|
-
width: number;
|
|
5
|
-
height: number;
|
|
6
|
-
};
|
|
7
|
-
export declare function qualityToCrf(quality?: "draft" | "standard" | "high"): number;
|
|
8
|
-
//# sourceMappingURL=hyperframes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hyperframes.d.ts","sourceRoot":"","sources":["../../../src/pipeline/renderers/hyperframes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAA+B,MAAM,YAAY,CAAC;AAG7E,wBAAgB,wBAAwB,IAAI,aAAa,CA0DxD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQnF;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,OAAO,GAAG,UAAU,GAAG,MAAmB,GAAG,MAAM,CAExF"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { preflightChrome } from "./chrome.js";
|
|
2
|
-
export function createHyperframesBackend() {
|
|
3
|
-
return {
|
|
4
|
-
name: "hyperframes",
|
|
5
|
-
async preflight() {
|
|
6
|
-
return preflightChrome();
|
|
7
|
-
},
|
|
8
|
-
async render(options) {
|
|
9
|
-
const pre = await this.preflight();
|
|
10
|
-
if (!pre.ok)
|
|
11
|
-
return { success: false, error: pre.reason };
|
|
12
|
-
const { buildTempProject } = await import("./project-builder.js");
|
|
13
|
-
const { createRenderJob, executeRenderJob } = await import("@hyperframes/producer");
|
|
14
|
-
let project;
|
|
15
|
-
const start = Date.now();
|
|
16
|
-
try {
|
|
17
|
-
project = await buildTempProject(options.projectState);
|
|
18
|
-
}
|
|
19
|
-
catch (err) {
|
|
20
|
-
return {
|
|
21
|
-
success: false,
|
|
22
|
-
error: `Failed to build temp project: ${err instanceof Error ? err.message : String(err)}`,
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
const config = {
|
|
26
|
-
fps: options.fps ?? 30,
|
|
27
|
-
quality: options.quality ?? "standard",
|
|
28
|
-
format: options.format ?? "mp4",
|
|
29
|
-
entryFile: "index.html",
|
|
30
|
-
crf: qualityToCrf(options.quality),
|
|
31
|
-
workers: options.workers ?? 1,
|
|
32
|
-
};
|
|
33
|
-
const job = createRenderJob(config);
|
|
34
|
-
try {
|
|
35
|
-
await executeRenderJob(job, project.dir, options.outputPath, (j, msg) => { options.onProgress?.(j.progress, j.currentStage ?? msg); }, options.signal);
|
|
36
|
-
await project.cleanup();
|
|
37
|
-
return {
|
|
38
|
-
success: true,
|
|
39
|
-
outputPath: options.outputPath,
|
|
40
|
-
durationMs: Date.now() - start,
|
|
41
|
-
framesRendered: job.framesRendered,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
catch (err) {
|
|
45
|
-
console.error(`[hyperframes] render failed. Temp dir preserved: ${project?.dir}`);
|
|
46
|
-
return { success: false, error: err instanceof Error ? err.message : String(err) };
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
export function aspectToResolution(ratio) {
|
|
52
|
-
switch (ratio) {
|
|
53
|
-
case "16:9": return { width: 1920, height: 1080 };
|
|
54
|
-
case "9:16": return { width: 1080, height: 1920 };
|
|
55
|
-
case "1:1": return { width: 1080, height: 1080 };
|
|
56
|
-
case "4:5": return { width: 1080, height: 1350 };
|
|
57
|
-
default: return { width: 1920, height: 1080 };
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
export function qualityToCrf(quality = "standard") {
|
|
61
|
-
return quality === "draft" ? 28 : quality === "high" ? 18 : 23;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=hyperframes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hyperframes.js","sourceRoot":"","sources":["../../../src/pipeline/renderers/hyperframes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { TimelineState } from "@vibeframe/core";
|
|
2
|
-
export interface TempProject {
|
|
3
|
-
dir: string;
|
|
4
|
-
cleanup: () => Promise<void>;
|
|
5
|
-
}
|
|
6
|
-
export declare function buildTempProject(state: TimelineState, projectFileDir?: string): Promise<TempProject>;
|
|
7
|
-
export declare function resolveSourceUrl(url: string, baseDir?: string): string;
|
|
8
|
-
//# sourceMappingURL=project-builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-builder.d.ts","sourceRoot":"","sources":["../../../src/pipeline/renderers/project-builder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,aAAa,EACpB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,WAAW,CAAC,CA4BtB;AA2BD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAKtE"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { mkdtemp, mkdir, copyFile, writeFile, rm, readdir } from "node:fs/promises";
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
3
|
-
import { tmpdir } from "node:os";
|
|
4
|
-
import { createRequire } from "node:module";
|
|
5
|
-
import * as path from "node:path";
|
|
6
|
-
import { generateCompositionHtml } from "./html-template.js";
|
|
7
|
-
export async function buildTempProject(state, projectFileDir) {
|
|
8
|
-
const dir = await mkdtemp(path.join(tmpdir(), "vibeframe-hf-"));
|
|
9
|
-
const assetsDir = path.join(dir, "assets");
|
|
10
|
-
await mkdir(assetsDir, { recursive: true });
|
|
11
|
-
const copied = new Map();
|
|
12
|
-
for (const source of state.sources) {
|
|
13
|
-
if (copied.has(source.id))
|
|
14
|
-
continue;
|
|
15
|
-
const resolved = resolveSourceUrl(source.url, projectFileDir);
|
|
16
|
-
if (!existsSync(resolved)) {
|
|
17
|
-
throw new Error(`Source file not found: ${resolved} (from source id=${source.id})`);
|
|
18
|
-
}
|
|
19
|
-
const dest = path.join(assetsDir, path.basename(resolved));
|
|
20
|
-
await copyFile(resolved, dest);
|
|
21
|
-
copied.set(source.id, dest);
|
|
22
|
-
}
|
|
23
|
-
if (state.sources.some((s) => s.type === "lottie")) {
|
|
24
|
-
await copyLottieRuntime(dir);
|
|
25
|
-
}
|
|
26
|
-
const html = generateCompositionHtml(state);
|
|
27
|
-
await writeFile(path.join(dir, "index.html"), html, "utf-8");
|
|
28
|
-
return {
|
|
29
|
-
dir,
|
|
30
|
-
cleanup: () => rm(dir, { recursive: true, force: true }),
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Vendor the `@lottiefiles/dotlottie-wc` runtime into `<tempDir>/vendor/` so
|
|
35
|
-
* the composition HTML can load it via `<script type="module">` over the
|
|
36
|
-
* hyperframes local HTTP server without reaching the public CDN.
|
|
37
|
-
*/
|
|
38
|
-
async function copyLottieRuntime(tempDir) {
|
|
39
|
-
const require = createRequire(import.meta.url);
|
|
40
|
-
// dotlottie-wc has no `exports` restriction on package.json
|
|
41
|
-
const wcPkgPath = require.resolve("@lottiefiles/dotlottie-wc/package.json");
|
|
42
|
-
const wcDistDir = path.join(path.dirname(wcPkgPath), "dist");
|
|
43
|
-
// dotlottie-web restricts via `exports`; resolve the main entry and walk up to dist/
|
|
44
|
-
const webEntry = require.resolve("@lottiefiles/dotlottie-web");
|
|
45
|
-
const wasmSrc = path.join(path.dirname(webEntry), "dotlottie-player.wasm");
|
|
46
|
-
const vendorDir = path.join(tempDir, "vendor");
|
|
47
|
-
const wcDest = path.join(vendorDir, "dotlottie-wc");
|
|
48
|
-
await mkdir(wcDest, { recursive: true });
|
|
49
|
-
for (const file of await readdir(wcDistDir)) {
|
|
50
|
-
if (file.endsWith(".map") || file.endsWith(".d.ts"))
|
|
51
|
-
continue;
|
|
52
|
-
await copyFile(path.join(wcDistDir, file), path.join(wcDest, file));
|
|
53
|
-
}
|
|
54
|
-
await copyFile(wasmSrc, path.join(vendorDir, "dotlottie-player.wasm"));
|
|
55
|
-
}
|
|
56
|
-
export function resolveSourceUrl(url, baseDir) {
|
|
57
|
-
if (url.startsWith("file://"))
|
|
58
|
-
return url.slice(7);
|
|
59
|
-
if (path.isAbsolute(url))
|
|
60
|
-
return url;
|
|
61
|
-
if (baseDir)
|
|
62
|
-
return path.resolve(baseDir, url);
|
|
63
|
-
return path.resolve(process.cwd(), url);
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=project-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-builder.js","sourceRoot":"","sources":["../../../src/pipeline/renderers/project-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Render backend abstraction for the VibeFrame export pipeline.
|
|
3
|
-
*
|
|
4
|
-
* Existing FFmpeg-filter-graph path lives in packages/cli/src/commands/export.ts.
|
|
5
|
-
* New backends (hyperframes, future Remotion bridge) implement RenderBackend
|
|
6
|
-
* to slot in via `vibe export --backend` or YAML `render.backend`.
|
|
7
|
-
*
|
|
8
|
-
* See docs/design/hyperframes-adapter.md for the Hyperframes wiring plan.
|
|
9
|
-
*/
|
|
10
|
-
import type { TimelineState } from "@vibeframe/core";
|
|
11
|
-
export type BackendName = "ffmpeg" | "hyperframes";
|
|
12
|
-
export interface RenderOptions {
|
|
13
|
-
projectState: TimelineState;
|
|
14
|
-
outputPath: string;
|
|
15
|
-
fps?: 24 | 30 | 60;
|
|
16
|
-
quality?: "draft" | "standard" | "high";
|
|
17
|
-
format?: "mp4" | "webm" | "mov";
|
|
18
|
-
/** Hyperframes capture worker count. Defaults to 1 (sequential) — auto-worker mode times out on small comps. */
|
|
19
|
-
workers?: number;
|
|
20
|
-
onProgress?: (pct: number, stage: string) => void;
|
|
21
|
-
signal?: AbortSignal;
|
|
22
|
-
}
|
|
23
|
-
export interface RenderResult {
|
|
24
|
-
success: boolean;
|
|
25
|
-
outputPath?: string;
|
|
26
|
-
durationMs?: number;
|
|
27
|
-
framesRendered?: number;
|
|
28
|
-
error?: string;
|
|
29
|
-
}
|
|
30
|
-
export interface RenderBackend {
|
|
31
|
-
name: BackendName;
|
|
32
|
-
/** Human-readable check before invocation (e.g. Chrome present, FFmpeg version). */
|
|
33
|
-
preflight?(): Promise<{
|
|
34
|
-
ok: true;
|
|
35
|
-
} | {
|
|
36
|
-
ok: false;
|
|
37
|
-
reason: string;
|
|
38
|
-
}>;
|
|
39
|
-
render(options: RenderOptions): Promise<RenderResult>;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pipeline/renderers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IACxC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;IAChC,gHAAgH;IAChH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,oFAAoF;IACpF,SAAS,CAAC,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACvD"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Render backend abstraction for the VibeFrame export pipeline.
|
|
3
|
-
*
|
|
4
|
-
* Existing FFmpeg-filter-graph path lives in packages/cli/src/commands/export.ts.
|
|
5
|
-
* New backends (hyperframes, future Remotion bridge) implement RenderBackend
|
|
6
|
-
* to slot in via `vibe export --backend` or YAML `render.backend`.
|
|
7
|
-
*
|
|
8
|
-
* See docs/design/hyperframes-adapter.md for the Hyperframes wiring plan.
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/pipeline/renderers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Variable resolver for pipeline steps.
|
|
3
|
-
*
|
|
4
|
-
* Resolves:
|
|
5
|
-
* - $step_id.output → output path from a previous step
|
|
6
|
-
* - $step_id.data.X → arbitrary data from a previous step result
|
|
7
|
-
* - ${ENV_VAR} → environment variable
|
|
8
|
-
*/
|
|
9
|
-
import type { StepResult } from "./types.js";
|
|
10
|
-
/**
|
|
11
|
-
* Resolve all variable references in a step's parameters.
|
|
12
|
-
* Returns a new object with all $refs replaced by actual values.
|
|
13
|
-
*/
|
|
14
|
-
export declare function resolveStepParams(params: Record<string, unknown>, completedSteps: Map<string, StepResult>): Record<string, unknown>;
|
|
15
|
-
/**
|
|
16
|
-
* Validate that all $refs in a step can be resolved.
|
|
17
|
-
* Returns list of unresolvable references.
|
|
18
|
-
*/
|
|
19
|
-
export declare function findUnresolvedRefs(params: Record<string, unknown>, availableStepIds: Set<string>): string[];
|
|
20
|
-
//# sourceMappingURL=resolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/pipeline/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAiDD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,MAAM,EAAE,CAYV"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Variable resolver for pipeline steps.
|
|
3
|
-
*
|
|
4
|
-
* Resolves:
|
|
5
|
-
* - $step_id.output → output path from a previous step
|
|
6
|
-
* - $step_id.data.X → arbitrary data from a previous step result
|
|
7
|
-
* - ${ENV_VAR} → environment variable
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Resolve all variable references in a step's parameters.
|
|
11
|
-
* Returns a new object with all $refs replaced by actual values.
|
|
12
|
-
*/
|
|
13
|
-
export function resolveStepParams(params, completedSteps) {
|
|
14
|
-
const resolved = {};
|
|
15
|
-
for (const [key, value] of Object.entries(params)) {
|
|
16
|
-
if (key === "id" || key === "action")
|
|
17
|
-
continue; // skip meta fields
|
|
18
|
-
resolved[key] = resolveValue(value, completedSteps);
|
|
19
|
-
}
|
|
20
|
-
return resolved;
|
|
21
|
-
}
|
|
22
|
-
function resolveValue(value, completedSteps) {
|
|
23
|
-
if (typeof value === "string") {
|
|
24
|
-
return resolveString(value, completedSteps);
|
|
25
|
-
}
|
|
26
|
-
if (Array.isArray(value)) {
|
|
27
|
-
return value.map(v => resolveValue(v, completedSteps));
|
|
28
|
-
}
|
|
29
|
-
if (value && typeof value === "object") {
|
|
30
|
-
const resolved = {};
|
|
31
|
-
for (const [k, v] of Object.entries(value)) {
|
|
32
|
-
resolved[k] = resolveValue(v, completedSteps);
|
|
33
|
-
}
|
|
34
|
-
return resolved;
|
|
35
|
-
}
|
|
36
|
-
return value;
|
|
37
|
-
}
|
|
38
|
-
function resolveString(str, completedSteps) {
|
|
39
|
-
// Replace ${ENV_VAR} with environment variables
|
|
40
|
-
let result = str.replace(/\$\{([A-Z_][A-Z0-9_]*)\}/g, (_match, envVar) => {
|
|
41
|
-
return process.env[envVar] || "";
|
|
42
|
-
});
|
|
43
|
-
// Replace $step_id.output or $step_id.data.field
|
|
44
|
-
result = result.replace(/\$([a-z][a-z0-9_-]*)\.(output|data\.[a-z_]+)/gi, (_match, stepId, field) => {
|
|
45
|
-
const step = completedSteps.get(stepId);
|
|
46
|
-
if (!step)
|
|
47
|
-
return _match; // leave unresolved if step not found
|
|
48
|
-
if (field === "output") {
|
|
49
|
-
return step.output || "";
|
|
50
|
-
}
|
|
51
|
-
if (field.startsWith("data.")) {
|
|
52
|
-
const dataKey = field.slice(5);
|
|
53
|
-
return String(step.data?.[dataKey] ?? "");
|
|
54
|
-
}
|
|
55
|
-
return _match;
|
|
56
|
-
});
|
|
57
|
-
return result;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Validate that all $refs in a step can be resolved.
|
|
61
|
-
* Returns list of unresolvable references.
|
|
62
|
-
*/
|
|
63
|
-
export function findUnresolvedRefs(params, availableStepIds) {
|
|
64
|
-
const unresolved = [];
|
|
65
|
-
const json = JSON.stringify(params);
|
|
66
|
-
const refs = json.matchAll(/\$([a-z][a-z0-9_-]*)\.(output|data\.[a-z_]+)/gi);
|
|
67
|
-
for (const ref of refs) {
|
|
68
|
-
if (!availableStepIds.has(ref[1])) {
|
|
69
|
-
unresolved.push(ref[0]);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return unresolved;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/pipeline/resolver.ts"],"names":[],"mappings":"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"}
|
package/dist/pipeline/types.d.ts
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Video as Code — Pipeline type definitions
|
|
3
|
-
*
|
|
4
|
-
* A pipeline is a declarative YAML file that defines a sequence of steps.
|
|
5
|
-
* Each step maps to an existing execute function in the CLI.
|
|
6
|
-
*/
|
|
7
|
-
/** Supported pipeline actions (maps to execute functions) */
|
|
8
|
-
export type PipelineAction = "generate-image" | "generate-video" | "generate-tts" | "generate-sfx" | "generate-music" | "generate-storyboard" | "generate-motion" | "edit-silence-cut" | "edit-jump-cut" | "edit-caption" | "edit-noise-reduce" | "edit-fade" | "edit-translate-srt" | "edit-text-overlay" | "edit-grade" | "edit-speed-ramp" | "edit-reframe" | "edit-interpolate" | "edit-upscale" | "edit-image" | "audio-transcribe" | "audio-isolate" | "audio-dub" | "audio-duck" | "detect-scenes" | "detect-silence" | "detect-beats" | "analyze-video" | "analyze-media" | "review-video" | "export";
|
|
9
|
-
/** A single step in the pipeline */
|
|
10
|
-
export interface PipelineStep {
|
|
11
|
-
/** Unique step identifier (used for variable references) */
|
|
12
|
-
id: string;
|
|
13
|
-
/** Action to execute */
|
|
14
|
-
action: PipelineAction;
|
|
15
|
-
/** Step parameters (action-specific, may contain $refs) */
|
|
16
|
-
[key: string]: unknown;
|
|
17
|
-
}
|
|
18
|
-
/** Effort level passed to LLM providers (maps to Anthropic Opus 4.7 effort) */
|
|
19
|
-
export type EffortLevel = "low" | "medium" | "high" | "xhigh";
|
|
20
|
-
/** Pipeline budget — aborts execution when any ceiling is hit */
|
|
21
|
-
export interface PipelineBudget {
|
|
22
|
-
/** Max estimated USD (uses COST_ESTIMATES.max per action) */
|
|
23
|
-
costUsd?: number;
|
|
24
|
-
/** Max total token budget (tracked when provider returns usage) */
|
|
25
|
-
tokens?: number;
|
|
26
|
-
/** Max number of failed steps before aborting */
|
|
27
|
-
maxToolErrors?: number;
|
|
28
|
-
}
|
|
29
|
-
/** Pipeline manifest (parsed from YAML) */
|
|
30
|
-
export interface PipelineManifest {
|
|
31
|
-
/** Pipeline name */
|
|
32
|
-
name: string;
|
|
33
|
-
/** Optional description */
|
|
34
|
-
description?: string;
|
|
35
|
-
/** Pipeline version */
|
|
36
|
-
version?: number;
|
|
37
|
-
/** Steps to execute */
|
|
38
|
-
steps: PipelineStep[];
|
|
39
|
-
/** Cost / error ceilings enforced by the executor */
|
|
40
|
-
budget?: PipelineBudget;
|
|
41
|
-
/** Default effort level for LLM-backed steps (Opus 4.7 Task Budgets) */
|
|
42
|
-
effort?: EffortLevel;
|
|
43
|
-
}
|
|
44
|
-
/** Result of a single step execution */
|
|
45
|
-
export interface StepResult {
|
|
46
|
-
id: string;
|
|
47
|
-
action: PipelineAction;
|
|
48
|
-
success: boolean;
|
|
49
|
-
/** Primary output path */
|
|
50
|
-
output?: string;
|
|
51
|
-
/** All result data (action-specific) */
|
|
52
|
-
data?: Record<string, unknown>;
|
|
53
|
-
/** Error message if failed */
|
|
54
|
-
error?: string;
|
|
55
|
-
/** Execution time in ms */
|
|
56
|
-
duration?: number;
|
|
57
|
-
}
|
|
58
|
-
/** Running budget usage after execution */
|
|
59
|
-
export interface BudgetUsage {
|
|
60
|
-
/** Upper-bound estimated USD used (sum of max cost per completed step) */
|
|
61
|
-
estimatedCostUsd: number;
|
|
62
|
-
/** Total tokens consumed (when providers report usage) */
|
|
63
|
-
tokensUsed: number;
|
|
64
|
-
/** Failed steps count */
|
|
65
|
-
toolErrors: number;
|
|
66
|
-
/** Set if execution aborted due to a budget ceiling */
|
|
67
|
-
abortedBy?: "costUsd" | "tokens" | "maxToolErrors";
|
|
68
|
-
}
|
|
69
|
-
/** Result of full pipeline execution */
|
|
70
|
-
export interface PipelineResult {
|
|
71
|
-
success: boolean;
|
|
72
|
-
name: string;
|
|
73
|
-
steps: StepResult[];
|
|
74
|
-
completedSteps: number;
|
|
75
|
-
totalSteps: number;
|
|
76
|
-
totalDuration?: number;
|
|
77
|
-
outputDir?: string;
|
|
78
|
-
error?: string;
|
|
79
|
-
/** Budget usage when a budget was configured */
|
|
80
|
-
budget?: BudgetUsage;
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,6DAA6D;AAC7D,MAAM,MAAM,cAAc,GAEtB,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,qBAAqB,GACrB,iBAAiB,GAEjB,kBAAkB,GAClB,eAAe,GACf,cAAc,GACd,mBAAmB,GACnB,WAAW,GACX,oBAAoB,GACpB,mBAAmB,GACnB,YAAY,GACZ,iBAAiB,GACjB,cAAc,GACd,kBAAkB,GAClB,cAAc,GACd,YAAY,GAEZ,kBAAkB,GAClB,eAAe,GACf,WAAW,GACX,YAAY,GAEZ,eAAe,GACf,gBAAgB,GAChB,cAAc,GAEd,eAAe,GACf,eAAe,GAEf,cAAc,GAEd,QAAQ,CAAC;AAEb,oCAAoC;AACpC,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IACX,wBAAwB;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,2DAA2D;IAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+EAA+E;AAC/E,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9D,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,qDAAqD;IACrD,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2CAA2C;AAC3C,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;CACpD;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB"}
|
package/dist/pipeline/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/utils/api-key.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Load environment variables from .env files.
|
|
3
|
-
* Priority: CWD .env (project-scoped) > monorepo root .env (development)
|
|
4
|
-
* Later loads don't override earlier values, so CWD takes precedence.
|
|
5
|
-
*/
|
|
6
|
-
export declare function loadEnv(): void;
|
|
7
|
-
/**
|
|
8
|
-
* Get API key from config, environment, or prompt
|
|
9
|
-
*/
|
|
10
|
-
export declare function getApiKey(envVar: string, providerName: string, optionValue?: string): Promise<string | null>;
|
|
11
|
-
export declare class ApiKeyError extends Error {
|
|
12
|
-
envVar: string;
|
|
13
|
-
providerName: string;
|
|
14
|
-
constructor(envVar: string, providerName: string);
|
|
15
|
-
toStructured(): {
|
|
16
|
-
success: false;
|
|
17
|
-
error: string;
|
|
18
|
-
code: string;
|
|
19
|
-
exitCode: number;
|
|
20
|
-
suggestion: string;
|
|
21
|
-
retryable: false;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Check if an API key is available without prompting or side effects.
|
|
26
|
-
*/
|
|
27
|
-
export declare function hasApiKey(envVar: string): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* Get API key or throw ApiKeyError if not found.
|
|
30
|
-
* Use this instead of getApiKey() + manual null check.
|
|
31
|
-
*/
|
|
32
|
-
export declare function requireApiKey(envVar: string, providerName: string, cliOverride?: string): Promise<string>;
|
|
33
|
-
//# sourceMappingURL=api-key.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.d.ts","sourceRoot":"","sources":["../../src/utils/api-key.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAS9B;AAkED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6DxB;AAiBD,qBAAa,WAAY,SAAQ,KAAK;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;gBAEhB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAYhD,YAAY,IAAI;QACd,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,KAAK,CAAC;KAClB;CAYF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAKjD;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|