@vibeframe/cli 0.54.0 → 0.55.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.
Files changed (481) hide show
  1. package/dist/index.js +63452 -233
  2. package/package.json +11 -6
  3. package/dist/agent/adapters/claude.d.ts +0 -15
  4. package/dist/agent/adapters/claude.d.ts.map +0 -1
  5. package/dist/agent/adapters/claude.js +0 -119
  6. package/dist/agent/adapters/claude.js.map +0 -1
  7. package/dist/agent/adapters/gemini.d.ts +0 -15
  8. package/dist/agent/adapters/gemini.d.ts.map +0 -1
  9. package/dist/agent/adapters/gemini.js +0 -132
  10. package/dist/agent/adapters/gemini.js.map +0 -1
  11. package/dist/agent/adapters/index.d.ts +0 -28
  12. package/dist/agent/adapters/index.d.ts.map +0 -1
  13. package/dist/agent/adapters/index.js +0 -43
  14. package/dist/agent/adapters/index.js.map +0 -1
  15. package/dist/agent/adapters/ollama.d.ts +0 -20
  16. package/dist/agent/adapters/ollama.d.ts.map +0 -1
  17. package/dist/agent/adapters/ollama.js +0 -186
  18. package/dist/agent/adapters/ollama.js.map +0 -1
  19. package/dist/agent/adapters/openai.d.ts +0 -15
  20. package/dist/agent/adapters/openai.d.ts.map +0 -1
  21. package/dist/agent/adapters/openai.js +0 -92
  22. package/dist/agent/adapters/openai.js.map +0 -1
  23. package/dist/agent/adapters/openrouter.d.ts +0 -16
  24. package/dist/agent/adapters/openrouter.d.ts.map +0 -1
  25. package/dist/agent/adapters/openrouter.js +0 -100
  26. package/dist/agent/adapters/openrouter.js.map +0 -1
  27. package/dist/agent/adapters/openrouter.test.d.ts +0 -5
  28. package/dist/agent/adapters/openrouter.test.d.ts.map +0 -1
  29. package/dist/agent/adapters/openrouter.test.js +0 -73
  30. package/dist/agent/adapters/openrouter.test.js.map +0 -1
  31. package/dist/agent/adapters/xai.d.ts +0 -15
  32. package/dist/agent/adapters/xai.d.ts.map +0 -1
  33. package/dist/agent/adapters/xai.js +0 -95
  34. package/dist/agent/adapters/xai.js.map +0 -1
  35. package/dist/agent/index.d.ts +0 -69
  36. package/dist/agent/index.d.ts.map +0 -1
  37. package/dist/agent/index.js +0 -180
  38. package/dist/agent/index.js.map +0 -1
  39. package/dist/agent/memory/index.d.ts +0 -70
  40. package/dist/agent/memory/index.d.ts.map +0 -1
  41. package/dist/agent/memory/index.js +0 -132
  42. package/dist/agent/memory/index.js.map +0 -1
  43. package/dist/agent/prompts/system.d.ts +0 -6
  44. package/dist/agent/prompts/system.d.ts.map +0 -1
  45. package/dist/agent/prompts/system.js +0 -103
  46. package/dist/agent/prompts/system.js.map +0 -1
  47. package/dist/agent/tools/ai-editing.d.ts +0 -15
  48. package/dist/agent/tools/ai-editing.d.ts.map +0 -1
  49. package/dist/agent/tools/ai-editing.js +0 -763
  50. package/dist/agent/tools/ai-editing.js.map +0 -1
  51. package/dist/agent/tools/ai-generation.d.ts +0 -13
  52. package/dist/agent/tools/ai-generation.d.ts.map +0 -1
  53. package/dist/agent/tools/ai-generation.js +0 -973
  54. package/dist/agent/tools/ai-generation.js.map +0 -1
  55. package/dist/agent/tools/ai-pipeline.d.ts +0 -14
  56. package/dist/agent/tools/ai-pipeline.d.ts.map +0 -1
  57. package/dist/agent/tools/ai-pipeline.js +0 -961
  58. package/dist/agent/tools/ai-pipeline.js.map +0 -1
  59. package/dist/agent/tools/ai.d.ts +0 -13
  60. package/dist/agent/tools/ai.d.ts.map +0 -1
  61. package/dist/agent/tools/ai.js +0 -19
  62. package/dist/agent/tools/ai.js.map +0 -1
  63. package/dist/agent/tools/batch.d.ts +0 -6
  64. package/dist/agent/tools/batch.d.ts.map +0 -1
  65. package/dist/agent/tools/batch.js +0 -383
  66. package/dist/agent/tools/batch.js.map +0 -1
  67. package/dist/agent/tools/e2e.test.d.ts +0 -26
  68. package/dist/agent/tools/e2e.test.d.ts.map +0 -1
  69. package/dist/agent/tools/e2e.test.js +0 -397
  70. package/dist/agent/tools/e2e.test.js.map +0 -1
  71. package/dist/agent/tools/export.d.ts +0 -6
  72. package/dist/agent/tools/export.d.ts.map +0 -1
  73. package/dist/agent/tools/export.js +0 -171
  74. package/dist/agent/tools/export.js.map +0 -1
  75. package/dist/agent/tools/filesystem.d.ts +0 -6
  76. package/dist/agent/tools/filesystem.d.ts.map +0 -1
  77. package/dist/agent/tools/filesystem.js +0 -212
  78. package/dist/agent/tools/filesystem.js.map +0 -1
  79. package/dist/agent/tools/index.d.ts +0 -66
  80. package/dist/agent/tools/index.d.ts.map +0 -1
  81. package/dist/agent/tools/index.js +0 -123
  82. package/dist/agent/tools/index.js.map +0 -1
  83. package/dist/agent/tools/integration.test.d.ts +0 -11
  84. package/dist/agent/tools/integration.test.d.ts.map +0 -1
  85. package/dist/agent/tools/integration.test.js +0 -659
  86. package/dist/agent/tools/integration.test.js.map +0 -1
  87. package/dist/agent/tools/media.d.ts +0 -6
  88. package/dist/agent/tools/media.d.ts.map +0 -1
  89. package/dist/agent/tools/media.js +0 -616
  90. package/dist/agent/tools/media.js.map +0 -1
  91. package/dist/agent/tools/project.d.ts +0 -6
  92. package/dist/agent/tools/project.d.ts.map +0 -1
  93. package/dist/agent/tools/project.js +0 -284
  94. package/dist/agent/tools/project.js.map +0 -1
  95. package/dist/agent/tools/scene.d.ts +0 -17
  96. package/dist/agent/tools/scene.d.ts.map +0 -1
  97. package/dist/agent/tools/scene.js +0 -263
  98. package/dist/agent/tools/scene.js.map +0 -1
  99. package/dist/agent/tools/scene.test.d.ts +0 -2
  100. package/dist/agent/tools/scene.test.d.ts.map +0 -1
  101. package/dist/agent/tools/scene.test.js +0 -139
  102. package/dist/agent/tools/scene.test.js.map +0 -1
  103. package/dist/agent/tools/timeline.d.ts +0 -6
  104. package/dist/agent/tools/timeline.d.ts.map +0 -1
  105. package/dist/agent/tools/timeline.js +0 -875
  106. package/dist/agent/tools/timeline.js.map +0 -1
  107. package/dist/agent/types.d.ts +0 -59
  108. package/dist/agent/types.d.ts.map +0 -1
  109. package/dist/agent/types.js +0 -5
  110. package/dist/agent/types.js.map +0 -1
  111. package/dist/commands/_shared/scene-html-emit.d.ts +0 -120
  112. package/dist/commands/_shared/scene-html-emit.d.ts.map +0 -1
  113. package/dist/commands/_shared/scene-html-emit.js +0 -422
  114. package/dist/commands/_shared/scene-html-emit.js.map +0 -1
  115. package/dist/commands/_shared/scene-html-emit.test.d.ts +0 -2
  116. package/dist/commands/_shared/scene-html-emit.test.d.ts.map +0 -1
  117. package/dist/commands/_shared/scene-html-emit.test.js +0 -396
  118. package/dist/commands/_shared/scene-html-emit.test.js.map +0 -1
  119. package/dist/commands/_shared/scene-lint.d.ts +0 -110
  120. package/dist/commands/_shared/scene-lint.d.ts.map +0 -1
  121. package/dist/commands/_shared/scene-lint.js +0 -207
  122. package/dist/commands/_shared/scene-lint.js.map +0 -1
  123. package/dist/commands/_shared/scene-lint.test.d.ts +0 -2
  124. package/dist/commands/_shared/scene-lint.test.d.ts.map +0 -1
  125. package/dist/commands/_shared/scene-lint.test.js +0 -208
  126. package/dist/commands/_shared/scene-lint.test.js.map +0 -1
  127. package/dist/commands/_shared/scene-project.d.ts +0 -101
  128. package/dist/commands/_shared/scene-project.d.ts.map +0 -1
  129. package/dist/commands/_shared/scene-project.js +0 -281
  130. package/dist/commands/_shared/scene-project.js.map +0 -1
  131. package/dist/commands/_shared/scene-project.test.d.ts +0 -2
  132. package/dist/commands/_shared/scene-project.test.d.ts.map +0 -1
  133. package/dist/commands/_shared/scene-project.test.js +0 -203
  134. package/dist/commands/_shared/scene-project.test.js.map +0 -1
  135. package/dist/commands/_shared/scene-render.d.ts +0 -79
  136. package/dist/commands/_shared/scene-render.d.ts.map +0 -1
  137. package/dist/commands/_shared/scene-render.js +0 -138
  138. package/dist/commands/_shared/scene-render.js.map +0 -1
  139. package/dist/commands/_shared/scene-render.test.d.ts +0 -2
  140. package/dist/commands/_shared/scene-render.test.d.ts.map +0 -1
  141. package/dist/commands/_shared/scene-render.test.js +0 -145
  142. package/dist/commands/_shared/scene-render.test.js.map +0 -1
  143. package/dist/commands/_shared/segments-to-scenes.d.ts +0 -85
  144. package/dist/commands/_shared/segments-to-scenes.d.ts.map +0 -1
  145. package/dist/commands/_shared/segments-to-scenes.js +0 -202
  146. package/dist/commands/_shared/segments-to-scenes.js.map +0 -1
  147. package/dist/commands/_shared/segments-to-scenes.test.d.ts +0 -2
  148. package/dist/commands/_shared/segments-to-scenes.test.d.ts.map +0 -1
  149. package/dist/commands/_shared/segments-to-scenes.test.js +0 -219
  150. package/dist/commands/_shared/segments-to-scenes.test.js.map +0 -1
  151. package/dist/commands/_shared/tts-resolve.d.ts +0 -75
  152. package/dist/commands/_shared/tts-resolve.d.ts.map +0 -1
  153. package/dist/commands/_shared/tts-resolve.js +0 -89
  154. package/dist/commands/_shared/tts-resolve.js.map +0 -1
  155. package/dist/commands/_shared/tts-resolve.test.d.ts +0 -6
  156. package/dist/commands/_shared/tts-resolve.test.d.ts.map +0 -1
  157. package/dist/commands/_shared/tts-resolve.test.js +0 -147
  158. package/dist/commands/_shared/tts-resolve.test.js.map +0 -1
  159. package/dist/commands/agent.d.ts +0 -21
  160. package/dist/commands/agent.d.ts.map +0 -1
  161. package/dist/commands/agent.js +0 -285
  162. package/dist/commands/agent.js.map +0 -1
  163. package/dist/commands/ai-analyze.d.ts +0 -106
  164. package/dist/commands/ai-analyze.d.ts.map +0 -1
  165. package/dist/commands/ai-analyze.js +0 -320
  166. package/dist/commands/ai-analyze.js.map +0 -1
  167. package/dist/commands/ai-animated-caption.d.ts +0 -64
  168. package/dist/commands/ai-animated-caption.d.ts.map +0 -1
  169. package/dist/commands/ai-animated-caption.js +0 -272
  170. package/dist/commands/ai-animated-caption.js.map +0 -1
  171. package/dist/commands/ai-audio.d.ts +0 -98
  172. package/dist/commands/ai-audio.d.ts.map +0 -1
  173. package/dist/commands/ai-audio.js +0 -1059
  174. package/dist/commands/ai-audio.js.map +0 -1
  175. package/dist/commands/ai-broll.d.ts +0 -15
  176. package/dist/commands/ai-broll.d.ts.map +0 -1
  177. package/dist/commands/ai-broll.js +0 -421
  178. package/dist/commands/ai-broll.js.map +0 -1
  179. package/dist/commands/ai-edit-cli.d.ts +0 -14
  180. package/dist/commands/ai-edit-cli.d.ts.map +0 -1
  181. package/dist/commands/ai-edit-cli.js +0 -585
  182. package/dist/commands/ai-edit-cli.js.map +0 -1
  183. package/dist/commands/ai-edit.d.ts +0 -398
  184. package/dist/commands/ai-edit.d.ts.map +0 -1
  185. package/dist/commands/ai-edit.js +0 -1060
  186. package/dist/commands/ai-edit.js.map +0 -1
  187. package/dist/commands/ai-fill-gaps.d.ts +0 -14
  188. package/dist/commands/ai-fill-gaps.d.ts.map +0 -1
  189. package/dist/commands/ai-fill-gaps.js +0 -447
  190. package/dist/commands/ai-fill-gaps.js.map +0 -1
  191. package/dist/commands/ai-helpers.d.ts +0 -20
  192. package/dist/commands/ai-helpers.d.ts.map +0 -1
  193. package/dist/commands/ai-helpers.js +0 -59
  194. package/dist/commands/ai-helpers.js.map +0 -1
  195. package/dist/commands/ai-highlights.d.ts +0 -127
  196. package/dist/commands/ai-highlights.d.ts.map +0 -1
  197. package/dist/commands/ai-highlights.js +0 -1053
  198. package/dist/commands/ai-highlights.js.map +0 -1
  199. package/dist/commands/ai-image.d.ts +0 -76
  200. package/dist/commands/ai-image.d.ts.map +0 -1
  201. package/dist/commands/ai-image.js +0 -858
  202. package/dist/commands/ai-image.js.map +0 -1
  203. package/dist/commands/ai-motion.d.ts +0 -50
  204. package/dist/commands/ai-motion.d.ts.map +0 -1
  205. package/dist/commands/ai-motion.js +0 -297
  206. package/dist/commands/ai-motion.js.map +0 -1
  207. package/dist/commands/ai-narrate.d.ts +0 -66
  208. package/dist/commands/ai-narrate.d.ts.map +0 -1
  209. package/dist/commands/ai-narrate.js +0 -332
  210. package/dist/commands/ai-narrate.js.map +0 -1
  211. package/dist/commands/ai-review.d.ts +0 -57
  212. package/dist/commands/ai-review.d.ts.map +0 -1
  213. package/dist/commands/ai-review.js +0 -270
  214. package/dist/commands/ai-review.js.map +0 -1
  215. package/dist/commands/ai-script-pipeline-cli.d.ts +0 -9
  216. package/dist/commands/ai-script-pipeline-cli.d.ts.map +0 -1
  217. package/dist/commands/ai-script-pipeline-cli.js +0 -502
  218. package/dist/commands/ai-script-pipeline-cli.js.map +0 -1
  219. package/dist/commands/ai-script-pipeline.d.ts +0 -305
  220. package/dist/commands/ai-script-pipeline.d.ts.map +0 -1
  221. package/dist/commands/ai-script-pipeline.js +0 -1546
  222. package/dist/commands/ai-script-pipeline.js.map +0 -1
  223. package/dist/commands/ai-suggest-edit.d.ts +0 -14
  224. package/dist/commands/ai-suggest-edit.d.ts.map +0 -1
  225. package/dist/commands/ai-suggest-edit.js +0 -215
  226. package/dist/commands/ai-suggest-edit.js.map +0 -1
  227. package/dist/commands/ai-video-fx.d.ts +0 -14
  228. package/dist/commands/ai-video-fx.d.ts.map +0 -1
  229. package/dist/commands/ai-video-fx.js +0 -396
  230. package/dist/commands/ai-video-fx.js.map +0 -1
  231. package/dist/commands/ai-video.d.ts +0 -91
  232. package/dist/commands/ai-video.d.ts.map +0 -1
  233. package/dist/commands/ai-video.js +0 -1055
  234. package/dist/commands/ai-video.js.map +0 -1
  235. package/dist/commands/ai-viral.d.ts +0 -15
  236. package/dist/commands/ai-viral.d.ts.map +0 -1
  237. package/dist/commands/ai-viral.js +0 -507
  238. package/dist/commands/ai-viral.js.map +0 -1
  239. package/dist/commands/ai-visual-fx.d.ts +0 -14
  240. package/dist/commands/ai-visual-fx.d.ts.map +0 -1
  241. package/dist/commands/ai-visual-fx.js +0 -521
  242. package/dist/commands/ai-visual-fx.js.map +0 -1
  243. package/dist/commands/ai.d.ts +0 -38
  244. package/dist/commands/ai.d.ts.map +0 -1
  245. package/dist/commands/ai.js +0 -225
  246. package/dist/commands/ai.js.map +0 -1
  247. package/dist/commands/ai.test.d.ts +0 -2
  248. package/dist/commands/ai.test.d.ts.map +0 -1
  249. package/dist/commands/ai.test.js +0 -557
  250. package/dist/commands/ai.test.js.map +0 -1
  251. package/dist/commands/analyze.d.ts +0 -16
  252. package/dist/commands/analyze.d.ts.map +0 -1
  253. package/dist/commands/analyze.js +0 -247
  254. package/dist/commands/analyze.js.map +0 -1
  255. package/dist/commands/audio.d.ts +0 -18
  256. package/dist/commands/audio.d.ts.map +0 -1
  257. package/dist/commands/audio.js +0 -539
  258. package/dist/commands/audio.js.map +0 -1
  259. package/dist/commands/batch.d.ts +0 -3
  260. package/dist/commands/batch.d.ts.map +0 -1
  261. package/dist/commands/batch.js +0 -419
  262. package/dist/commands/batch.js.map +0 -1
  263. package/dist/commands/batch.test.d.ts +0 -2
  264. package/dist/commands/batch.test.d.ts.map +0 -1
  265. package/dist/commands/batch.test.js +0 -203
  266. package/dist/commands/batch.test.js.map +0 -1
  267. package/dist/commands/context.d.ts +0 -7
  268. package/dist/commands/context.d.ts.map +0 -1
  269. package/dist/commands/context.js +0 -66
  270. package/dist/commands/context.js.map +0 -1
  271. package/dist/commands/demo.d.ts +0 -7
  272. package/dist/commands/demo.d.ts.map +0 -1
  273. package/dist/commands/demo.js +0 -192
  274. package/dist/commands/demo.js.map +0 -1
  275. package/dist/commands/detect.d.ts +0 -56
  276. package/dist/commands/detect.d.ts.map +0 -1
  277. package/dist/commands/detect.js +0 -464
  278. package/dist/commands/detect.js.map +0 -1
  279. package/dist/commands/doctor.d.ts +0 -6
  280. package/dist/commands/doctor.d.ts.map +0 -1
  281. package/dist/commands/doctor.js +0 -322
  282. package/dist/commands/doctor.js.map +0 -1
  283. package/dist/commands/edit-cmd.d.ts +0 -112
  284. package/dist/commands/edit-cmd.d.ts.map +0 -1
  285. package/dist/commands/edit-cmd.js +0 -1041
  286. package/dist/commands/edit-cmd.js.map +0 -1
  287. package/dist/commands/export.d.ts +0 -61
  288. package/dist/commands/export.d.ts.map +0 -1
  289. package/dist/commands/export.js +0 -980
  290. package/dist/commands/export.js.map +0 -1
  291. package/dist/commands/export.test.d.ts +0 -2
  292. package/dist/commands/export.test.d.ts.map +0 -1
  293. package/dist/commands/export.test.js +0 -107
  294. package/dist/commands/export.test.js.map +0 -1
  295. package/dist/commands/generate.d.ts +0 -84
  296. package/dist/commands/generate.d.ts.map +0 -1
  297. package/dist/commands/generate.js +0 -2030
  298. package/dist/commands/generate.js.map +0 -1
  299. package/dist/commands/media.d.ts +0 -3
  300. package/dist/commands/media.d.ts.map +0 -1
  301. package/dist/commands/media.js +0 -163
  302. package/dist/commands/media.js.map +0 -1
  303. package/dist/commands/output.d.ts +0 -51
  304. package/dist/commands/output.d.ts.map +0 -1
  305. package/dist/commands/output.js +0 -219
  306. package/dist/commands/output.js.map +0 -1
  307. package/dist/commands/output.test.d.ts +0 -2
  308. package/dist/commands/output.test.d.ts.map +0 -1
  309. package/dist/commands/output.test.js +0 -151
  310. package/dist/commands/output.test.js.map +0 -1
  311. package/dist/commands/pipeline.d.ts +0 -19
  312. package/dist/commands/pipeline.d.ts.map +0 -1
  313. package/dist/commands/pipeline.js +0 -345
  314. package/dist/commands/pipeline.js.map +0 -1
  315. package/dist/commands/project.d.ts +0 -3
  316. package/dist/commands/project.d.ts.map +0 -1
  317. package/dist/commands/project.js +0 -181
  318. package/dist/commands/project.js.map +0 -1
  319. package/dist/commands/project.test.d.ts +0 -2
  320. package/dist/commands/project.test.d.ts.map +0 -1
  321. package/dist/commands/project.test.js +0 -105
  322. package/dist/commands/project.test.js.map +0 -1
  323. package/dist/commands/run.d.ts +0 -15
  324. package/dist/commands/run.d.ts.map +0 -1
  325. package/dist/commands/run.js +0 -204
  326. package/dist/commands/run.js.map +0 -1
  327. package/dist/commands/sanitize.d.ts +0 -21
  328. package/dist/commands/sanitize.d.ts.map +0 -1
  329. package/dist/commands/sanitize.js +0 -56
  330. package/dist/commands/sanitize.js.map +0 -1
  331. package/dist/commands/scene.d.ts +0 -86
  332. package/dist/commands/scene.d.ts.map +0 -1
  333. package/dist/commands/scene.js +0 -719
  334. package/dist/commands/scene.js.map +0 -1
  335. package/dist/commands/scene.test.d.ts +0 -2
  336. package/dist/commands/scene.test.d.ts.map +0 -1
  337. package/dist/commands/scene.test.js +0 -219
  338. package/dist/commands/scene.test.js.map +0 -1
  339. package/dist/commands/schema.d.ts +0 -13
  340. package/dist/commands/schema.d.ts.map +0 -1
  341. package/dist/commands/schema.js +0 -218
  342. package/dist/commands/schema.js.map +0 -1
  343. package/dist/commands/setup.d.ts +0 -6
  344. package/dist/commands/setup.d.ts.map +0 -1
  345. package/dist/commands/setup.js +0 -461
  346. package/dist/commands/setup.js.map +0 -1
  347. package/dist/commands/timeline.d.ts +0 -3
  348. package/dist/commands/timeline.d.ts.map +0 -1
  349. package/dist/commands/timeline.js +0 -609
  350. package/dist/commands/timeline.js.map +0 -1
  351. package/dist/commands/timeline.test.d.ts +0 -2
  352. package/dist/commands/timeline.test.d.ts.map +0 -1
  353. package/dist/commands/timeline.test.js +0 -334
  354. package/dist/commands/timeline.test.js.map +0 -1
  355. package/dist/commands/validate.d.ts +0 -34
  356. package/dist/commands/validate.d.ts.map +0 -1
  357. package/dist/commands/validate.js +0 -70
  358. package/dist/commands/validate.js.map +0 -1
  359. package/dist/config/config.test.d.ts +0 -2
  360. package/dist/config/config.test.d.ts.map +0 -1
  361. package/dist/config/config.test.js +0 -164
  362. package/dist/config/config.test.js.map +0 -1
  363. package/dist/config/index.d.ts +0 -35
  364. package/dist/config/index.d.ts.map +0 -1
  365. package/dist/config/index.js +0 -101
  366. package/dist/config/index.js.map +0 -1
  367. package/dist/config/schema.d.ts +0 -52
  368. package/dist/config/schema.d.ts.map +0 -1
  369. package/dist/config/schema.js +0 -44
  370. package/dist/config/schema.js.map +0 -1
  371. package/dist/engine/index.d.ts +0 -3
  372. package/dist/engine/index.d.ts.map +0 -1
  373. package/dist/engine/index.js +0 -2
  374. package/dist/engine/index.js.map +0 -1
  375. package/dist/engine/project.d.ts +0 -84
  376. package/dist/engine/project.d.ts.map +0 -1
  377. package/dist/engine/project.js +0 -355
  378. package/dist/engine/project.js.map +0 -1
  379. package/dist/engine/project.test.d.ts +0 -2
  380. package/dist/engine/project.test.d.ts.map +0 -1
  381. package/dist/engine/project.test.js +0 -599
  382. package/dist/engine/project.test.js.map +0 -1
  383. package/dist/index.d.ts +0 -7
  384. package/dist/index.d.ts.map +0 -1
  385. package/dist/index.js.map +0 -1
  386. package/dist/pipeline/executor.d.ts +0 -19
  387. package/dist/pipeline/executor.d.ts.map +0 -1
  388. package/dist/pipeline/executor.js +0 -397
  389. package/dist/pipeline/executor.js.map +0 -1
  390. package/dist/pipeline/index.d.ts +0 -4
  391. package/dist/pipeline/index.d.ts.map +0 -1
  392. package/dist/pipeline/index.js +0 -2
  393. package/dist/pipeline/index.js.map +0 -1
  394. package/dist/pipeline/renderers/__tests__/html-template.test.d.ts +0 -2
  395. package/dist/pipeline/renderers/__tests__/html-template.test.d.ts.map +0 -1
  396. package/dist/pipeline/renderers/__tests__/html-template.test.js +0 -170
  397. package/dist/pipeline/renderers/__tests__/html-template.test.js.map +0 -1
  398. package/dist/pipeline/renderers/__tests__/integration.test.d.ts +0 -2
  399. package/dist/pipeline/renderers/__tests__/integration.test.d.ts.map +0 -1
  400. package/dist/pipeline/renderers/__tests__/integration.test.js +0 -175
  401. package/dist/pipeline/renderers/__tests__/integration.test.js.map +0 -1
  402. package/dist/pipeline/renderers/chrome.d.ts +0 -26
  403. package/dist/pipeline/renderers/chrome.d.ts.map +0 -1
  404. package/dist/pipeline/renderers/chrome.js +0 -48
  405. package/dist/pipeline/renderers/chrome.js.map +0 -1
  406. package/dist/pipeline/renderers/html-clips.d.ts +0 -20
  407. package/dist/pipeline/renderers/html-clips.d.ts.map +0 -1
  408. package/dist/pipeline/renderers/html-clips.js +0 -50
  409. package/dist/pipeline/renderers/html-clips.js.map +0 -1
  410. package/dist/pipeline/renderers/html-runtime.d.ts +0 -7
  411. package/dist/pipeline/renderers/html-runtime.d.ts.map +0 -1
  412. package/dist/pipeline/renderers/html-runtime.js +0 -80
  413. package/dist/pipeline/renderers/html-runtime.js.map +0 -1
  414. package/dist/pipeline/renderers/html-template.d.ts +0 -3
  415. package/dist/pipeline/renderers/html-template.d.ts.map +0 -1
  416. package/dist/pipeline/renderers/html-template.js +0 -36
  417. package/dist/pipeline/renderers/html-template.js.map +0 -1
  418. package/dist/pipeline/renderers/hyperframes.d.ts +0 -8
  419. package/dist/pipeline/renderers/hyperframes.d.ts.map +0 -1
  420. package/dist/pipeline/renderers/hyperframes.js +0 -63
  421. package/dist/pipeline/renderers/hyperframes.js.map +0 -1
  422. package/dist/pipeline/renderers/project-builder.d.ts +0 -8
  423. package/dist/pipeline/renderers/project-builder.d.ts.map +0 -1
  424. package/dist/pipeline/renderers/project-builder.js +0 -65
  425. package/dist/pipeline/renderers/project-builder.js.map +0 -1
  426. package/dist/pipeline/renderers/types.d.ts +0 -41
  427. package/dist/pipeline/renderers/types.d.ts.map +0 -1
  428. package/dist/pipeline/renderers/types.js +0 -11
  429. package/dist/pipeline/renderers/types.js.map +0 -1
  430. package/dist/pipeline/resolver.d.ts +0 -20
  431. package/dist/pipeline/resolver.d.ts.map +0 -1
  432. package/dist/pipeline/resolver.js +0 -74
  433. package/dist/pipeline/resolver.js.map +0 -1
  434. package/dist/pipeline/types.d.ts +0 -82
  435. package/dist/pipeline/types.d.ts.map +0 -1
  436. package/dist/pipeline/types.js +0 -8
  437. package/dist/pipeline/types.js.map +0 -1
  438. package/dist/utils/api-key.d.ts +0 -33
  439. package/dist/utils/api-key.d.ts.map +0 -1
  440. package/dist/utils/api-key.js +0 -228
  441. package/dist/utils/api-key.js.map +0 -1
  442. package/dist/utils/api-key.test.d.ts +0 -2
  443. package/dist/utils/api-key.test.d.ts.map +0 -1
  444. package/dist/utils/api-key.test.js +0 -35
  445. package/dist/utils/api-key.test.js.map +0 -1
  446. package/dist/utils/audio.d.ts +0 -23
  447. package/dist/utils/audio.d.ts.map +0 -1
  448. package/dist/utils/audio.js +0 -79
  449. package/dist/utils/audio.js.map +0 -1
  450. package/dist/utils/exec-safe.d.ts +0 -22
  451. package/dist/utils/exec-safe.d.ts.map +0 -1
  452. package/dist/utils/exec-safe.js +0 -62
  453. package/dist/utils/exec-safe.js.map +0 -1
  454. package/dist/utils/first-run.d.ts +0 -17
  455. package/dist/utils/first-run.d.ts.map +0 -1
  456. package/dist/utils/first-run.js +0 -73
  457. package/dist/utils/first-run.js.map +0 -1
  458. package/dist/utils/input-validation.d.ts +0 -27
  459. package/dist/utils/input-validation.d.ts.map +0 -1
  460. package/dist/utils/input-validation.js +0 -67
  461. package/dist/utils/input-validation.js.map +0 -1
  462. package/dist/utils/provider-resolver.d.ts +0 -19
  463. package/dist/utils/provider-resolver.d.ts.map +0 -1
  464. package/dist/utils/provider-resolver.js +0 -75
  465. package/dist/utils/provider-resolver.js.map +0 -1
  466. package/dist/utils/remotion.d.ts +0 -231
  467. package/dist/utils/remotion.d.ts.map +0 -1
  468. package/dist/utils/remotion.js +0 -879
  469. package/dist/utils/remotion.js.map +0 -1
  470. package/dist/utils/subtitle.d.ts +0 -65
  471. package/dist/utils/subtitle.d.ts.map +0 -1
  472. package/dist/utils/subtitle.js +0 -135
  473. package/dist/utils/subtitle.js.map +0 -1
  474. package/dist/utils/subtitle.test.d.ts +0 -2
  475. package/dist/utils/subtitle.test.d.ts.map +0 -1
  476. package/dist/utils/subtitle.test.js +0 -175
  477. package/dist/utils/subtitle.test.js.map +0 -1
  478. package/dist/utils/tty.d.ts +0 -45
  479. package/dist/utils/tty.d.ts.map +0 -1
  480. package/dist/utils/tty.js +0 -231
  481. 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,3 +0,0 @@
1
- import type { TimelineState } from "@vibeframe/core";
2
- export declare function generateCompositionHtml(state: TimelineState): string;
3
- //# sourceMappingURL=html-template.d.ts.map
@@ -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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"}
@@ -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"}
@@ -1,8 +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
- export {};
8
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -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"}