@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,345 +0,0 @@
1
- /**
2
- * @module pipeline
3
- *
4
- * Top-level `vibe pipeline` command group for AI video pipelines.
5
- *
6
- * Commands:
7
- * pipeline script-to-video - Full script-to-video pipeline
8
- * pipeline regenerate-scene - Regenerate specific scene(s)
9
- * pipeline highlights - Extract highlights from long-form content
10
- * pipeline auto-shorts - Generate short-form clips from long-form video
11
- * pipeline viral - Viral optimizer for multi-platform export
12
- * pipeline b-roll - B-roll matching using Whisper + Claude Vision
13
- * pipeline narrate - Auto-narration (Gemini + Claude/OpenAI + ElevenLabs)
14
- *
15
- * @dependencies Whisper, Claude, Gemini, ElevenLabs, Kling, Runway, FFmpeg
16
- */
17
- import { Command } from "commander";
18
- import { resolve, dirname, basename } from "node:path";
19
- import { readFile, writeFile } from "node:fs/promises";
20
- import { existsSync } from "node:fs";
21
- import chalk from "chalk";
22
- import ora from "ora";
23
- import { Project } from "../engine/index.js";
24
- import { ffprobeDuration } from "../utils/exec-safe.js";
25
- import { getAudioDuration } from "../utils/audio.js";
26
- import { formatTime } from "./ai-helpers.js";
27
- import { validateOutputPath } from "./validate.js";
28
- import { autoNarrate } from "./ai-narrate.js";
29
- import { registerScriptPipelineCommands } from "./ai-script-pipeline-cli.js";
30
- import { registerHighlightsCommands } from "./ai-highlights.js";
31
- import { registerViralCommand } from "./ai-viral.js";
32
- import { registerBrollCommand } from "./ai-broll.js";
33
- import { executeAnimatedCaption } from "./ai-animated-caption.js";
34
- import { isJsonMode, outputResult, exitWithError, notFoundError, usageError, apiError, generalError } from "./output.js";
35
- export const pipelineCommand = new Command("pipeline")
36
- .alias("pipe")
37
- .description("AI video pipelines (script-to-video, highlights, shorts, animated-caption)")
38
- .addHelpText("after", `
39
- Examples:
40
- $ vibe pipeline script-to-video "A day in the life..." -o ./output/ -g kling
41
- $ vibe pipeline script-to-video "..." -o ./output/ --images-only
42
- $ vibe pipeline highlights long-video.mp4 -o highlights.json -d 60
43
- $ vibe pipeline auto-shorts long-video.mp4 -o shorts/ -n 3 --add-captions
44
- $ vibe pipeline animated-caption video.mp4 -o captioned.mp4 -s highlight
45
- $ vibe pipeline animated-caption video.mp4 -o out.mp4 -s karaoke-sweep --fast
46
-
47
- Required API Keys (pipelines use multiple providers):
48
- script-to-video: ANTHROPIC_API_KEY + GOOGLE_API_KEY + ELEVENLABS_API_KEY
49
- + video provider key (KLING_API_KEY / RUNWAY_API_SECRET / GOOGLE_API_KEY)
50
- highlights: GOOGLE_API_KEY (Gemini analysis)
51
- auto-shorts: GOOGLE_API_KEY + OPENAI_API_KEY (optional captions)
52
- animated-caption: OPENAI_API_KEY (Whisper transcription)
53
-
54
- Cost tiers:
55
- script-to-video: $$$ Very High (~$5-$50+ per video)
56
- highlights: $ Low (~$0.05)
57
- auto-shorts: $$ Medium (~$0.10-$1)
58
- animated-caption: $ Low (~$0.01)
59
-
60
- Use '--dry-run' to preview parameters before execution.
61
- Run 'vibe schema pipeline.<command>' for structured parameter info.
62
- `);
63
- // ── pipeline script-to-video & regenerate-scene ────────────────────────
64
- registerScriptPipelineCommands(pipelineCommand);
65
- // ── pipeline highlights & auto-shorts ──────────────────────────────────
66
- registerHighlightsCommands(pipelineCommand);
67
- // ── pipeline viral ─────────────────────────────────────────────────────
68
- registerViralCommand(pipelineCommand);
69
- // ── pipeline b-roll ────────────────────────────────────────────────────
70
- registerBrollCommand(pipelineCommand);
71
- // ── pipeline narrate ───────────────────────────────────────────────────
72
- pipelineCommand
73
- .command("narrate")
74
- .description("Generate AI narration for a video file or project (deprecated)")
75
- .argument("<input>", "Video file or project file (.vibe.json)")
76
- .option("-o, --output <dir>", "Output directory for generated files", ".")
77
- .option("-v, --voice <name>", "ElevenLabs voice name (rachel, adam, josh, etc.)", "rachel")
78
- .option("-s, --style <style>", "Narration style: informative, energetic, calm, dramatic", "informative")
79
- .option("-l, --language <lang>", "Language code (e.g., en, ko)", "en")
80
- .option("-p, --provider <name>", "LLM for script generation: claude (default), openai", "claude")
81
- .option("--add-to-project", "Add narration to project (only for .vibe.json input)")
82
- .option("--dry-run", "Preview pipeline parameters without executing")
83
- .action(async (inputPath, options) => {
84
- try {
85
- console.warn(chalk.yellow("Warning: 'pipeline narrate' is deprecated. Use individual commands instead:"));
86
- console.warn(chalk.dim(" vibe analyze video <video> 'describe scenes' → vibe generate speech '<script>'"));
87
- console.warn();
88
- if (options.output) {
89
- validateOutputPath(options.output);
90
- }
91
- const absPath = resolve(process.cwd(), inputPath);
92
- if (!existsSync(absPath)) {
93
- exitWithError(notFoundError(absPath));
94
- }
95
- if (options.dryRun) {
96
- outputResult({ dryRun: true, command: "pipeline narrate", params: { inputPath, voice: options.voice, style: options.style, language: options.language, provider: options.provider } });
97
- return;
98
- }
99
- console.log();
100
- console.log(chalk.bold.cyan("Auto-Narrate Pipeline"));
101
- console.log(chalk.dim("─".repeat(60)));
102
- console.log();
103
- const isProject = inputPath.endsWith(".vibe.json");
104
- let videoPath;
105
- let project = null;
106
- let outputDir = resolve(process.cwd(), options.output);
107
- if (isProject) {
108
- // Load project to find video source
109
- const content = await readFile(absPath, "utf-8");
110
- const data = JSON.parse(content);
111
- project = Project.fromJSON(data);
112
- const sources = project.getSources();
113
- const videoSource = sources.find((s) => s.type === "video");
114
- if (!videoSource) {
115
- exitWithError(usageError("No video source found in project"));
116
- }
117
- videoPath = resolve(dirname(absPath), videoSource.url);
118
- if (!existsSync(videoPath)) {
119
- exitWithError(notFoundError(videoPath));
120
- }
121
- // Use project directory as output if not specified
122
- if (options.output === ".") {
123
- outputDir = dirname(absPath);
124
- }
125
- console.log(`Project: ${chalk.bold(project.getMeta().name)}`);
126
- }
127
- else {
128
- videoPath = absPath;
129
- console.log(`Video: ${chalk.bold(basename(videoPath))}`);
130
- }
131
- // Get video duration
132
- const durationSpinner = ora("Analyzing video...").start();
133
- let duration;
134
- try {
135
- duration = await ffprobeDuration(videoPath);
136
- durationSpinner.succeed(chalk.green(`Duration: ${formatTime(duration)}`));
137
- }
138
- catch {
139
- durationSpinner.fail("Failed to get video duration");
140
- exitWithError(generalError("Failed to get video duration", "Ensure the file is a valid video and FFmpeg is installed."));
141
- }
142
- // Validate style option
143
- const validStyles = ["informative", "energetic", "calm", "dramatic"];
144
- if (!validStyles.includes(options.style)) {
145
- exitWithError(usageError(`Invalid style: ${options.style}`, `Valid styles: ${validStyles.join(", ")}`));
146
- }
147
- // Generate narration
148
- const generateSpinner = ora("Generating narration...").start();
149
- generateSpinner.text = "Analyzing video with Gemini...";
150
- const result = await autoNarrate({
151
- videoPath,
152
- duration,
153
- outputDir,
154
- voice: options.voice,
155
- style: options.style,
156
- language: options.language,
157
- scriptProvider: options.provider,
158
- });
159
- if (!result.success) {
160
- generateSpinner.fail(`Failed: ${result.error}`);
161
- exitWithError(apiError(`Narration failed: ${result.error}`, true));
162
- }
163
- generateSpinner.succeed(chalk.green("Narration generated successfully"));
164
- if (isJsonMode()) {
165
- outputResult({ success: true, audioPath: result.audioPath, segments: result.segments?.map(s => ({ startTime: s.startTime, endTime: s.endTime, text: s.text })) });
166
- return;
167
- }
168
- // Display result
169
- console.log();
170
- console.log(chalk.bold.cyan("Generated Files"));
171
- console.log(chalk.dim("─".repeat(60)));
172
- console.log(` Audio: ${chalk.green(result.audioPath)}`);
173
- console.log(` Script: ${chalk.green(resolve(outputDir, "narration-script.txt"))}`);
174
- if (result.segments && result.segments.length > 0) {
175
- console.log();
176
- console.log(chalk.bold.cyan("Narration Segments"));
177
- console.log(chalk.dim("─".repeat(60)));
178
- for (const seg of result.segments.slice(0, 5)) {
179
- console.log(` [${formatTime(seg.startTime)} - ${formatTime(seg.endTime)}] ${chalk.dim(seg.text.substring(0, 50))}${seg.text.length > 50 ? "..." : ""}`);
180
- }
181
- if (result.segments.length > 5) {
182
- console.log(chalk.dim(` ... and ${result.segments.length - 5} more segments`));
183
- }
184
- }
185
- // Add to project if requested
186
- if (options.addToProject && project && isProject) {
187
- const addSpinner = ora("Adding narration to project...").start();
188
- // Get audio duration
189
- let audioDuration;
190
- try {
191
- audioDuration = await getAudioDuration(result.audioPath);
192
- }
193
- catch {
194
- audioDuration = duration; // Fallback to video duration
195
- }
196
- // Add audio source
197
- const audioSource = project.addSource({
198
- name: "Auto-generated narration",
199
- url: basename(result.audioPath),
200
- type: "audio",
201
- duration: audioDuration,
202
- });
203
- // Add audio clip to audio track
204
- const audioTrack = project.getTracks().find((t) => t.type === "audio");
205
- if (audioTrack) {
206
- project.addClip({
207
- sourceId: audioSource.id,
208
- trackId: audioTrack.id,
209
- startTime: 0,
210
- duration: Math.min(audioDuration, duration),
211
- sourceStartOffset: 0,
212
- sourceEndOffset: Math.min(audioDuration, duration),
213
- });
214
- }
215
- // Save updated project
216
- await writeFile(absPath, JSON.stringify(project.toJSON(), null, 2), "utf-8");
217
- addSpinner.succeed(chalk.green("Narration added to project"));
218
- }
219
- console.log();
220
- console.log(chalk.bold.green("Auto-narrate complete!"));
221
- if (!options.addToProject && isProject) {
222
- console.log();
223
- console.log(chalk.dim("Tip: Use --add-to-project to automatically add the narration to your project"));
224
- }
225
- console.log();
226
- }
227
- catch (error) {
228
- const msg = error instanceof Error ? error.message : String(error);
229
- exitWithError(generalError(`Auto-narrate failed: ${msg}`));
230
- }
231
- });
232
- // ── pipeline animated-caption ────────────────────────────────────────────
233
- const ANIMATED_CAPTION_STYLES = ["highlight", "bounce", "pop-in", "neon", "karaoke-sweep", "typewriter"];
234
- pipelineCommand
235
- .command("animated-caption")
236
- .description("Add animated captions with word-by-word effects (Whisper + Remotion/ASS)")
237
- .argument("<video>", "Video file path")
238
- .option("-s, --style <preset>", "Style preset (default: highlight)", "highlight")
239
- .option("--highlight-color <color>", "Active word highlight color", "#FFFF00")
240
- .option("--font-size <px>", "Font size (default: auto based on resolution)")
241
- .option("--position <pos>", "Caption position: top, center, bottom", "bottom")
242
- .option("--words-per-group <n>", "Words shown at once (default: auto 3-5)")
243
- .option("--max-chars <n>", "Max characters per group")
244
- .option("-l, --language <lang>", "Whisper language hint")
245
- .option("--fast", "Use ASS/FFmpeg only (no Remotion, forces ASS tier styles)")
246
- .option("-o, --output <path>", "Output file path")
247
- .option("--dry-run", "Preview parameters without executing")
248
- .addHelpText("after", `
249
- Examples:
250
- $ vibe pipeline animated-caption video.mp4 -o captioned.mp4
251
- $ vibe pipeline animated-caption video.mp4 -o out.mp4 -s bounce
252
- $ vibe pipeline animated-caption video.mp4 -o out.mp4 -s karaoke-sweep --fast
253
-
254
- Styles:
255
- highlight (default) TikTok-style background highlight on active word (Remotion)
256
- bounce Words spring-animate in (Remotion)
257
- pop-in Words scale-up on entry (Remotion)
258
- neon Glowing neon effect on active word (Remotion)
259
- karaoke-sweep Color sweep across active word (ASS/FFmpeg, fast)
260
- typewriter Words appear one by one (ASS/FFmpeg, fast)
261
-
262
- Required API Key: OPENAI_API_KEY (Whisper transcription)
263
- `)
264
- .action(async (videoPath, options) => {
265
- try {
266
- const absVideoPath = resolve(process.cwd(), videoPath);
267
- if (!existsSync(absVideoPath)) {
268
- exitWithError(notFoundError(absVideoPath));
269
- }
270
- // Validate style
271
- if (!ANIMATED_CAPTION_STYLES.includes(options.style)) {
272
- exitWithError(usageError(`Invalid style: ${options.style}`, `Valid styles: ${ANIMATED_CAPTION_STYLES.join(", ")}`));
273
- }
274
- const outputFile = options.output || videoPath.replace(/(\.\w+)$/, "-captioned$1");
275
- if (options.dryRun) {
276
- outputResult({
277
- dryRun: true,
278
- command: "pipeline animated-caption",
279
- params: {
280
- videoPath: absVideoPath,
281
- outputPath: outputFile,
282
- style: options.style,
283
- highlightColor: options.highlightColor,
284
- fontSize: options.fontSize ? parseInt(options.fontSize) : "auto",
285
- position: options.position,
286
- wordsPerGroup: options.wordsPerGroup ? parseInt(options.wordsPerGroup) : "auto",
287
- maxChars: options.maxChars ? parseInt(options.maxChars) : "auto",
288
- language: options.language || "auto",
289
- fast: !!options.fast,
290
- },
291
- });
292
- return;
293
- }
294
- console.log();
295
- console.log(chalk.bold.cyan("Animated Caption Pipeline"));
296
- console.log(chalk.dim("─".repeat(60)));
297
- console.log(` Video: ${chalk.bold(basename(absVideoPath))}`);
298
- console.log(` Style: ${chalk.bold(options.style)}`);
299
- console.log(` Mode: ${chalk.bold(options.fast ? "ASS (fast)" : "Remotion")}`);
300
- console.log();
301
- const spinner = ora("Processing animated captions...").start();
302
- const result = await executeAnimatedCaption({
303
- videoPath: absVideoPath,
304
- outputPath: outputFile,
305
- style: options.style,
306
- highlightColor: options.highlightColor,
307
- fontSize: options.fontSize ? parseInt(options.fontSize) : undefined,
308
- position: options.position,
309
- wordsPerGroup: options.wordsPerGroup ? parseInt(options.wordsPerGroup) : undefined,
310
- maxChars: options.maxChars ? parseInt(options.maxChars) : undefined,
311
- language: options.language,
312
- fast: options.fast,
313
- });
314
- if (!result.success) {
315
- spinner.fail(result.error || "Animated caption failed");
316
- exitWithError(apiError(result.error || "Animated caption failed", true));
317
- }
318
- spinner.succeed(chalk.green("Animated captions applied successfully"));
319
- if (isJsonMode()) {
320
- outputResult({
321
- success: true,
322
- outputPath: result.outputPath,
323
- wordCount: result.wordCount,
324
- groupCount: result.groupCount,
325
- style: result.style,
326
- tier: result.tier,
327
- });
328
- return;
329
- }
330
- console.log();
331
- console.log(chalk.bold.cyan("Result"));
332
- console.log(chalk.dim("─".repeat(60)));
333
- console.log(` Output: ${chalk.green(result.outputPath)}`);
334
- console.log(` Words: ${result.wordCount}`);
335
- console.log(` Groups: ${result.groupCount}`);
336
- console.log(` Style: ${result.style}`);
337
- console.log(` Tier: ${result.tier}`);
338
- console.log();
339
- }
340
- catch (error) {
341
- const msg = error instanceof Error ? error.message : String(error);
342
- exitWithError(generalError(`Animated caption failed: ${msg}`));
343
- }
344
- });
345
- //# sourceMappingURL=pipeline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/commands/pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from "commander";
2
- export declare const projectCommand: Command;
3
- //# sourceMappingURL=project.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BpC,eAAO,MAAM,cAAc,SAUyC,CAAC"}
@@ -1,181 +0,0 @@
1
- import { Command } from "commander";
2
- import { readFile, writeFile, stat } from "node:fs/promises";
3
- import { resolve } from "node:path";
4
- import chalk from "chalk";
5
- import ora from "ora";
6
- import { Project } from "../engine/index.js";
7
- import { exitWithError, generalError, outputResult } from "./output.js";
8
- import { validateOutputPath } from "./validate.js";
9
- /**
10
- * Resolve project file path - handles both file paths and directory paths
11
- * If path is a directory, looks for project.vibe.json inside
12
- */
13
- async function resolveProjectPath(inputPath) {
14
- const filePath = resolve(process.cwd(), inputPath);
15
- try {
16
- const stats = await stat(filePath);
17
- if (stats.isDirectory()) {
18
- return resolve(filePath, "project.vibe.json");
19
- }
20
- }
21
- catch {
22
- // Path doesn't exist or other error - let readFile handle it
23
- }
24
- return filePath;
25
- }
26
- export const projectCommand = new Command("project")
27
- .description("Project management commands")
28
- .addHelpText("after", `
29
- Examples:
30
- $ vibe project create "my-video" -o project.vibe.json
31
- $ vibe project create "shorts" -r 9:16 -o vertical.vibe.json
32
- $ vibe project info project.vibe.json
33
- $ vibe project set project.vibe.json --fps 60
34
-
35
- Cost: Free (no API keys needed). Projects are saved as .vibe.json files.
36
- Run 'vibe schema project.<command>' for structured parameter info.`);
37
- projectCommand
38
- .command("create")
39
- .description("Create a new project")
40
- .argument("<name>", "Project name or path (e.g., 'my-project' or 'output/my-project')")
41
- .option("-o, --output <path>", "Output file path (overrides name-based path)")
42
- .option("-r, --ratio <ratio>", "Aspect ratio (16:9, 9:16, 1:1, 4:5)", "16:9")
43
- .option("-f, --fps <fps>", "Frame rate", "30")
44
- .option("--dry-run", "Preview parameters without executing")
45
- .action(async (name, options) => {
46
- const spinner = ora("Creating project...").start();
47
- try {
48
- if (options.output) {
49
- validateOutputPath(options.output);
50
- }
51
- if (options.dryRun) {
52
- outputResult({
53
- dryRun: true,
54
- command: "project create",
55
- params: {
56
- name,
57
- output: options.output || null,
58
- aspectRatio: options.ratio,
59
- frameRate: options.fps,
60
- },
61
- });
62
- return;
63
- }
64
- // If name contains a path separator, treat it as a directory path
65
- const projectName = name.includes("/") ? name.split("/").pop() : name;
66
- const project = new Project(projectName);
67
- project.setAspectRatio(options.ratio);
68
- project.setFrameRate(parseInt(options.fps, 10));
69
- let outputPath;
70
- if (options.output) {
71
- outputPath = resolve(process.cwd(), options.output);
72
- }
73
- else if (name.includes("/")) {
74
- // Name contains path — create directory and put project.vibe.json inside
75
- const dirPath = resolve(process.cwd(), name);
76
- const { mkdir } = await import("node:fs/promises");
77
- await mkdir(dirPath, { recursive: true });
78
- outputPath = resolve(dirPath, "project.vibe.json");
79
- }
80
- else {
81
- outputPath = resolve(process.cwd(), "project.vibe.json");
82
- }
83
- const data = JSON.stringify(project.toJSON(), null, 2);
84
- await writeFile(outputPath, data, "utf-8");
85
- spinner.succeed(chalk.green(`Project created: ${outputPath}`));
86
- console.log();
87
- console.log(chalk.dim(" Name:"), projectName);
88
- console.log(chalk.dim(" Aspect Ratio:"), options.ratio);
89
- console.log(chalk.dim(" Frame Rate:"), options.fps, "fps");
90
- }
91
- catch (error) {
92
- spinner.fail("Failed to create project");
93
- const msg = error instanceof Error ? error.message : String(error);
94
- exitWithError(generalError(`Failed to create project: ${msg}`));
95
- }
96
- });
97
- projectCommand
98
- .command("info")
99
- .description("Show project information")
100
- .argument("<file>", "Project file path")
101
- .action(async (file) => {
102
- const spinner = ora("Loading project...").start();
103
- try {
104
- const filePath = await resolveProjectPath(file);
105
- const content = await readFile(filePath, "utf-8");
106
- const data = JSON.parse(content);
107
- const project = Project.fromJSON(data);
108
- spinner.stop();
109
- const summary = project.getSummary();
110
- const meta = project.getMeta();
111
- console.log();
112
- console.log(chalk.bold.cyan("Project Info"));
113
- console.log(chalk.dim("─".repeat(40)));
114
- console.log(chalk.dim(" Name:"), summary.name);
115
- console.log(chalk.dim(" Duration:"), formatDuration(summary.duration));
116
- console.log(chalk.dim(" Aspect Ratio:"), summary.aspectRatio);
117
- console.log(chalk.dim(" Frame Rate:"), summary.frameRate, "fps");
118
- console.log();
119
- console.log(chalk.dim(" Tracks:"), summary.trackCount);
120
- console.log(chalk.dim(" Clips:"), summary.clipCount);
121
- console.log(chalk.dim(" Sources:"), summary.sourceCount);
122
- console.log();
123
- console.log(chalk.dim(" Created:"), meta.createdAt.toLocaleString());
124
- console.log(chalk.dim(" Updated:"), meta.updatedAt.toLocaleString());
125
- console.log();
126
- }
127
- catch (error) {
128
- spinner.fail("Failed to load project");
129
- const msg = error instanceof Error ? error.message : String(error);
130
- exitWithError(generalError(`Failed to load project: ${msg}`));
131
- }
132
- });
133
- projectCommand
134
- .command("set")
135
- .description("Update project settings")
136
- .argument("<file>", "Project file path")
137
- .option("-n, --name <name>", "Project name")
138
- .option("-r, --ratio <ratio>", "Aspect ratio (16:9, 9:16, 1:1, 4:5)")
139
- .option("-f, --fps <fps>", "Frame rate")
140
- .option("--dry-run", "Preview parameters without executing")
141
- .action(async (file, options) => {
142
- const spinner = ora("Updating project...").start();
143
- try {
144
- if (options.dryRun) {
145
- outputResult({
146
- dryRun: true,
147
- command: "project set",
148
- params: {
149
- file,
150
- name: options.name || null,
151
- ratio: options.ratio || null,
152
- fps: options.fps || null,
153
- },
154
- });
155
- return;
156
- }
157
- const filePath = await resolveProjectPath(file);
158
- const content = await readFile(filePath, "utf-8");
159
- const data = JSON.parse(content);
160
- const project = Project.fromJSON(data);
161
- if (options.name)
162
- project.setName(options.name);
163
- if (options.ratio)
164
- project.setAspectRatio(options.ratio);
165
- if (options.fps)
166
- project.setFrameRate(parseInt(options.fps, 10));
167
- await writeFile(filePath, JSON.stringify(project.toJSON(), null, 2), "utf-8");
168
- spinner.succeed(chalk.green("Project updated"));
169
- }
170
- catch (error) {
171
- spinner.fail("Failed to update project");
172
- const msg = error instanceof Error ? error.message : String(error);
173
- exitWithError(generalError(`Failed to update project: ${msg}`));
174
- }
175
- });
176
- function formatDuration(seconds) {
177
- const mins = Math.floor(seconds / 60);
178
- const secs = (seconds % 60).toFixed(1);
179
- return `${mins}:${secs.padStart(4, "0")}`;
180
- }
181
- //# sourceMappingURL=project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/commands/project.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=project.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.test.d.ts","sourceRoot":"","sources":["../../src/commands/project.test.ts"],"names":[],"mappings":""}