@vibeframe/cli 0.104.3 → 0.105.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/agent/adapters/claude.d.ts +14 -0
  2. package/dist/agent/adapters/gemini.d.ts +14 -0
  3. package/dist/agent/adapters/index.d.ts +27 -0
  4. package/dist/agent/adapters/ollama.d.ts +19 -0
  5. package/dist/agent/adapters/openai.d.ts +14 -0
  6. package/dist/agent/adapters/openrouter.d.ts +15 -0
  7. package/dist/agent/adapters/openrouter.test.d.ts +4 -0
  8. package/dist/agent/adapters/xai.d.ts +14 -0
  9. package/dist/agent/index.d.ts +109 -0
  10. package/dist/agent/memory/index.d.ts +69 -0
  11. package/dist/agent/prompts/system.d.ts +5 -0
  12. package/dist/agent/tools/e2e.test.d.ts +25 -0
  13. package/dist/agent/tools/index.d.ts +59 -0
  14. package/dist/agent/tools/integration.test.d.ts +10 -0
  15. package/dist/agent/tools/scene.test.d.ts +1 -0
  16. package/dist/agent/types.d.ts +72 -0
  17. package/dist/commands/_shared/build-asset-metadata.d.ts +43 -0
  18. package/dist/commands/_shared/build-asset-reference.d.ts +18 -0
  19. package/dist/commands/_shared/build-backdrop-prompt.d.ts +8 -0
  20. package/dist/commands/_shared/build-backdrop-prompt.test.d.ts +1 -0
  21. package/dist/commands/_shared/build-cache.d.ts +37 -0
  22. package/dist/commands/_shared/build-plan.d.ts +107 -0
  23. package/dist/commands/_shared/build-plan.test.d.ts +1 -0
  24. package/dist/commands/_shared/compose-prompts.d.ts +97 -0
  25. package/dist/commands/_shared/compose-prompts.test.d.ts +1 -0
  26. package/dist/commands/_shared/compose-scenes-skills.d.ts +282 -0
  27. package/dist/commands/_shared/compose-scenes-skills.test.d.ts +1 -0
  28. package/dist/commands/_shared/composer-resolve.d.ts +47 -0
  29. package/dist/commands/_shared/composer-resolve.test.d.ts +1 -0
  30. package/dist/commands/_shared/cost-tier.d.ts +58 -0
  31. package/dist/commands/_shared/edit/_helpers.d.ts +12 -0
  32. package/dist/commands/_shared/edit/caption.d.ts +47 -0
  33. package/dist/commands/_shared/edit/fade.d.ts +38 -0
  34. package/dist/commands/_shared/edit/jump-cut.d.ts +80 -0
  35. package/dist/commands/_shared/edit/noise-reduce.d.ts +33 -0
  36. package/dist/commands/_shared/edit/silence-cut.d.ts +63 -0
  37. package/dist/commands/_shared/edit/text-overlay.d.ts +50 -0
  38. package/dist/commands/_shared/edit/translate-srt.d.ts +40 -0
  39. package/dist/commands/_shared/edit/video-review.d.ts +62 -0
  40. package/dist/commands/_shared/execute-fill-gaps.d.ts +97 -0
  41. package/dist/commands/_shared/hf-skill-bundle/bundle-content.d.ts +16 -0
  42. package/dist/commands/_shared/hf-skill-bundle/bundle.d.ts +57 -0
  43. package/dist/commands/_shared/hf-skill-bundle/bundle.test.d.ts +1 -0
  44. package/dist/commands/_shared/init-templates.d.ts +58 -0
  45. package/dist/commands/_shared/init-templates.test.d.ts +1 -0
  46. package/dist/commands/_shared/install-skill.d.ts +76 -0
  47. package/dist/commands/_shared/install-skill.test.d.ts +1 -0
  48. package/dist/commands/_shared/openai-image.d.ts +49 -0
  49. package/dist/commands/_shared/openai-image.test.d.ts +1 -0
  50. package/dist/commands/_shared/product-surface.d.ts +11 -0
  51. package/dist/commands/_shared/product-surface.test.d.ts +1 -0
  52. package/dist/commands/_shared/project-config.d.ts +60 -0
  53. package/dist/commands/_shared/render-inspect.d.ts +104 -0
  54. package/dist/commands/_shared/render-inspect.test.d.ts +1 -0
  55. package/dist/commands/_shared/review-report.d.ts +65 -0
  56. package/dist/commands/_shared/root-sync.d.ts +39 -0
  57. package/dist/commands/_shared/scene-audio-mux.d.ts +74 -0
  58. package/dist/commands/_shared/scene-audio-mux.test.d.ts +6 -0
  59. package/dist/commands/_shared/scene-audio-scan.d.ts +93 -0
  60. package/dist/commands/_shared/scene-audio-scan.test.d.ts +5 -0
  61. package/dist/commands/_shared/scene-build-mode.d.ts +4 -0
  62. package/dist/commands/_shared/scene-build-mode.test.d.ts +1 -0
  63. package/dist/commands/_shared/scene-build.d.ts +452 -0
  64. package/dist/commands/_shared/scene-build.test.d.ts +1 -0
  65. package/dist/commands/_shared/scene-html-emit.d.ts +139 -0
  66. package/dist/commands/_shared/scene-html-emit.test.d.ts +1 -0
  67. package/dist/commands/_shared/scene-inspect.d.ts +56 -0
  68. package/dist/commands/_shared/scene-inspect.test.d.ts +1 -0
  69. package/dist/commands/_shared/scene-lint.d.ts +109 -0
  70. package/dist/commands/_shared/scene-lint.test.d.ts +1 -0
  71. package/dist/commands/_shared/scene-project.d.ts +147 -0
  72. package/dist/commands/_shared/scene-project.test.d.ts +1 -0
  73. package/dist/commands/_shared/scene-render.d.ts +109 -0
  74. package/dist/commands/_shared/scene-render.test.d.ts +1 -0
  75. package/dist/commands/_shared/scene-repair.d.ts +22 -0
  76. package/dist/commands/_shared/scene-repair.test.d.ts +1 -0
  77. package/dist/commands/_shared/status-jobs.d.ts +197 -0
  78. package/dist/commands/_shared/status-jobs.test.d.ts +1 -0
  79. package/dist/commands/_shared/storyboard-draft.d.ts +13 -0
  80. package/dist/commands/_shared/storyboard-draft.test.d.ts +1 -0
  81. package/dist/commands/_shared/storyboard-edit.d.ts +26 -0
  82. package/dist/commands/_shared/storyboard-edit.test.d.ts +1 -0
  83. package/dist/commands/_shared/storyboard-parse.d.ts +159 -0
  84. package/dist/commands/_shared/storyboard-parse.test.d.ts +1 -0
  85. package/dist/commands/_shared/storyboard-revise.d.ts +32 -0
  86. package/dist/commands/_shared/storyboard-revise.test.d.ts +1 -0
  87. package/dist/commands/_shared/timeline-project.d.ts +32 -0
  88. package/dist/commands/_shared/tts-resolve.d.ts +75 -0
  89. package/dist/commands/_shared/tts-resolve.test.d.ts +5 -0
  90. package/dist/commands/_shared/video-providers.d.ts +44 -0
  91. package/dist/commands/_shared/video-utils.d.ts +71 -0
  92. package/dist/commands/_shared/visual-styles.d.ts +55 -0
  93. package/dist/commands/_shared/visual-styles.test.d.ts +1 -0
  94. package/dist/commands/_shared/walkthroughs/walkthroughs.d.ts +47 -0
  95. package/dist/commands/_shared/walkthroughs/walkthroughs.test.d.ts +1 -0
  96. package/dist/commands/agent.d.ts +24 -0
  97. package/dist/commands/ai-analyze.d.ts +105 -0
  98. package/dist/commands/ai-animated-caption.d.ts +63 -0
  99. package/dist/commands/ai-audio.d.ts +92 -0
  100. package/dist/commands/ai-edit-cli.d.ts +13 -0
  101. package/dist/commands/ai-edit.d.ts +29 -0
  102. package/dist/commands/ai-fill-gaps.d.ts +15 -0
  103. package/dist/commands/ai-helpers.d.ts +26 -0
  104. package/dist/commands/ai-highlights.d.ts +126 -0
  105. package/dist/commands/ai-image.d.ts +71 -0
  106. package/dist/commands/ai-motion.d.ts +53 -0
  107. package/dist/commands/ai-review.d.ts +58 -0
  108. package/dist/commands/ai-script-pipeline-cli.d.ts +10 -0
  109. package/dist/commands/ai-script-pipeline.d.ts +74 -0
  110. package/dist/commands/ai-suggest-edit.d.ts +32 -0
  111. package/dist/commands/ai-video.d.ts +95 -0
  112. package/dist/commands/ai.test.d.ts +1 -0
  113. package/dist/commands/audio.d.ts +17 -0
  114. package/dist/commands/batch.d.ts +2 -0
  115. package/dist/commands/batch.test.d.ts +1 -0
  116. package/dist/commands/build.d.ts +2 -0
  117. package/dist/commands/completion.d.ts +20 -0
  118. package/dist/commands/completion.test.d.ts +1 -0
  119. package/dist/commands/context.d.ts +7 -0
  120. package/dist/commands/context.test.d.ts +1 -0
  121. package/dist/commands/demo.d.ts +6 -0
  122. package/dist/commands/detect.d.ts +55 -0
  123. package/dist/commands/doctor.d.ts +5 -0
  124. package/dist/commands/doctor.test.d.ts +1 -0
  125. package/dist/commands/edit/motion-overlay.d.ts +30 -0
  126. package/dist/commands/edit-cmd.d.ts +112 -0
  127. package/dist/commands/envelope-snapshots.test.d.ts +32 -0
  128. package/dist/commands/export.d.ts +60 -0
  129. package/dist/commands/export.test.d.ts +1 -0
  130. package/dist/commands/generate/background.d.ts +22 -0
  131. package/dist/commands/generate/image.d.ts +8 -0
  132. package/dist/commands/generate/music-status.d.ts +20 -0
  133. package/dist/commands/generate/music.d.ts +27 -0
  134. package/dist/commands/generate/sound-effect.d.ts +19 -0
  135. package/dist/commands/generate/speech.d.ts +21 -0
  136. package/dist/commands/generate/storyboard.d.ts +27 -0
  137. package/dist/commands/generate/thumbnail.d.ts +8 -0
  138. package/dist/commands/generate/video-cancel.d.ts +8 -0
  139. package/dist/commands/generate/video-extend.d.ts +8 -0
  140. package/dist/commands/generate/video-status.d.ts +8 -0
  141. package/dist/commands/generate/video.d.ts +8 -0
  142. package/dist/commands/generate.d.ts +36 -0
  143. package/dist/commands/init.d.ts +24 -0
  144. package/dist/commands/init.test.d.ts +1 -0
  145. package/dist/commands/inspect.d.ts +20 -0
  146. package/dist/commands/media.d.ts +2 -0
  147. package/dist/commands/output.d.ts +80 -0
  148. package/dist/commands/output.test.d.ts +1 -0
  149. package/dist/commands/plan.d.ts +2 -0
  150. package/dist/commands/project.d.ts +2 -0
  151. package/dist/commands/project.test.d.ts +1 -0
  152. package/dist/commands/provider-config-cli.test.d.ts +1 -0
  153. package/dist/commands/q-flag-collision.test.d.ts +1 -0
  154. package/dist/commands/remix.d.ts +20 -0
  155. package/dist/commands/render.d.ts +2 -0
  156. package/dist/commands/run.d.ts +14 -0
  157. package/dist/commands/sanitize.d.ts +20 -0
  158. package/dist/commands/scene.d.ts +92 -0
  159. package/dist/commands/scene.test.d.ts +1 -0
  160. package/dist/commands/schema.d.ts +12 -0
  161. package/dist/commands/setup.d.ts +5 -0
  162. package/dist/commands/setup.test.d.ts +1 -0
  163. package/dist/commands/status.d.ts +2 -0
  164. package/dist/commands/storyboard.d.ts +2 -0
  165. package/dist/commands/timeline.d.ts +2 -0
  166. package/dist/commands/timeline.test.d.ts +1 -0
  167. package/dist/commands/validate.d.ts +33 -0
  168. package/dist/commands/walkthrough.d.ts +21 -0
  169. package/dist/config/config.test.d.ts +1 -0
  170. package/dist/config/index.d.ts +110 -0
  171. package/dist/config/schema.d.ts +64 -0
  172. package/dist/config/scope.test.d.ts +1 -0
  173. package/dist/engine/index.d.ts +2 -0
  174. package/dist/engine/index.js +345 -0
  175. package/dist/engine/project.d.ts +93 -0
  176. package/dist/engine/project.test.d.ts +1 -0
  177. package/dist/index.d.ts +6 -0
  178. package/dist/index.js +483 -291
  179. package/dist/pipeline/executor.d.ts +27 -0
  180. package/dist/pipeline/generate-actions.test.d.ts +1 -0
  181. package/dist/pipeline/index.d.ts +3 -0
  182. package/dist/pipeline/renderers/__tests__/html-template.test.d.ts +1 -0
  183. package/dist/pipeline/renderers/__tests__/integration.test.d.ts +1 -0
  184. package/dist/pipeline/renderers/chrome.d.ts +25 -0
  185. package/dist/pipeline/renderers/html-clips.d.ts +19 -0
  186. package/dist/pipeline/renderers/html-runtime.d.ts +6 -0
  187. package/dist/pipeline/renderers/html-template.d.ts +2 -0
  188. package/dist/pipeline/renderers/hyperframes.d.ts +7 -0
  189. package/dist/pipeline/renderers/project-builder.d.ts +7 -0
  190. package/dist/pipeline/renderers/types.d.ts +39 -0
  191. package/dist/pipeline/resolver.d.ts +19 -0
  192. package/dist/pipeline/scene-actions.test.d.ts +1 -0
  193. package/dist/pipeline/types.d.ts +81 -0
  194. package/dist/tools/adapters/agent.d.ts +9 -0
  195. package/dist/tools/adapters/agent.js +188 -0
  196. package/dist/tools/adapters/mcp.d.ts +34 -0
  197. package/dist/tools/adapters/mcp.js +173 -0
  198. package/dist/tools/define-tool.d.ts +82 -0
  199. package/dist/tools/define-tool.js +214 -0
  200. package/dist/tools/manifest/_project-io.d.ts +13 -0
  201. package/dist/tools/manifest/agent-only.d.ts +236 -0
  202. package/dist/tools/manifest/audio.d.ts +93 -0
  203. package/dist/tools/manifest/detect.d.ts +47 -0
  204. package/dist/tools/manifest/edit.d.ts +398 -0
  205. package/dist/tools/manifest/export.d.ts +27 -0
  206. package/dist/tools/manifest/generate.d.ts +307 -0
  207. package/dist/tools/manifest/index.d.ts +22 -0
  208. package/dist/tools/manifest/index.js +60628 -0
  209. package/dist/tools/manifest/inspect.d.ts +139 -0
  210. package/dist/tools/manifest/project.d.ts +33 -0
  211. package/dist/tools/manifest/remix.d.ts +154 -0
  212. package/dist/tools/manifest/scene.d.ts +221 -0
  213. package/dist/tools/manifest/status.d.ts +36 -0
  214. package/dist/tools/manifest/storyboard.d.ts +136 -0
  215. package/dist/tools/manifest/timeline.d.ts +173 -0
  216. package/dist/tools/manifest/walkthrough.d.ts +22 -0
  217. package/dist/tools/manifest.test.d.ts +13 -0
  218. package/dist/tools/zod-to-json-schema.d.ts +47 -0
  219. package/dist/utils/agent-host-detect.d.ts +61 -0
  220. package/dist/utils/agent-host-detect.test.d.ts +1 -0
  221. package/dist/utils/api-key.d.ts +58 -0
  222. package/dist/utils/api-key.test.d.ts +1 -0
  223. package/dist/utils/audio.d.ts +22 -0
  224. package/dist/utils/clipboard.d.ts +27 -0
  225. package/dist/utils/clipboard.test.d.ts +1 -0
  226. package/dist/utils/exec-safe.d.ts +21 -0
  227. package/dist/utils/first-run.d.ts +16 -0
  228. package/dist/utils/input-validation.d.ts +26 -0
  229. package/dist/utils/key-format.d.ts +15 -0
  230. package/dist/utils/key-live-test.d.ts +29 -0
  231. package/dist/utils/key-live-test.test.d.ts +1 -0
  232. package/dist/utils/open-url.d.ts +26 -0
  233. package/dist/utils/open-url.test.d.ts +1 -0
  234. package/dist/utils/project-resolver.d.ts +30 -0
  235. package/dist/utils/project-resolver.test.d.ts +8 -0
  236. package/dist/utils/provider-resolver.d.ts +32 -0
  237. package/dist/utils/provider-resolver.test.d.ts +13 -0
  238. package/dist/utils/remotion.d.ts +201 -0
  239. package/dist/utils/subtitle.d.ts +64 -0
  240. package/dist/utils/subtitle.test.d.ts +1 -0
  241. package/dist/utils/tty.d.ts +86 -0
  242. package/dist/utils/tty.test.d.ts +1 -0
  243. package/dist/utils/upload-host.d.ts +15 -0
  244. package/dist/utils/upload-host.test.d.ts +1 -0
  245. package/package.json +15 -115
@@ -0,0 +1,136 @@
1
+ import { z } from "zod";
2
+ import { type AnyTool } from "../define-tool.js";
3
+ export declare const storyboardListTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
4
+ projectDir: z.ZodOptional<z.ZodString>;
5
+ }, "strip", z.ZodTypeAny, {
6
+ projectDir?: string | undefined;
7
+ }, {
8
+ projectDir?: string | undefined;
9
+ }>>;
10
+ export declare const storyboardValidateTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
11
+ projectDir: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ projectDir?: string | undefined;
14
+ }, {
15
+ projectDir?: string | undefined;
16
+ }>>;
17
+ export declare const storyboardGetTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
18
+ projectDir: z.ZodOptional<z.ZodString>;
19
+ beat: z.ZodString;
20
+ }, "strip", z.ZodTypeAny, {
21
+ beat: string;
22
+ projectDir?: string | undefined;
23
+ }, {
24
+ beat: string;
25
+ projectDir?: string | undefined;
26
+ }>>;
27
+ export declare const storyboardSetTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
28
+ projectDir: z.ZodOptional<z.ZodString>;
29
+ beat: z.ZodString;
30
+ key: z.ZodString;
31
+ value: z.ZodOptional<z.ZodString>;
32
+ jsonValue: z.ZodOptional<z.ZodBoolean>;
33
+ unset: z.ZodOptional<z.ZodBoolean>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ beat: string;
36
+ key: string;
37
+ projectDir?: string | undefined;
38
+ value?: string | undefined;
39
+ unset?: boolean | undefined;
40
+ jsonValue?: boolean | undefined;
41
+ }, {
42
+ beat: string;
43
+ key: string;
44
+ projectDir?: string | undefined;
45
+ value?: string | undefined;
46
+ unset?: boolean | undefined;
47
+ jsonValue?: boolean | undefined;
48
+ }>>;
49
+ export declare const storyboardMoveTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
50
+ projectDir: z.ZodOptional<z.ZodString>;
51
+ beat: z.ZodString;
52
+ after: z.ZodString;
53
+ }, "strip", z.ZodTypeAny, {
54
+ after: string;
55
+ beat: string;
56
+ projectDir?: string | undefined;
57
+ }, {
58
+ after: string;
59
+ beat: string;
60
+ projectDir?: string | undefined;
61
+ }>>;
62
+ export declare const storyboardReviseTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
63
+ projectDir: z.ZodOptional<z.ZodString>;
64
+ request: z.ZodString;
65
+ durationSec: z.ZodOptional<z.ZodNumber>;
66
+ composer: z.ZodOptional<z.ZodEnum<["claude", "openai", "gemini"]>>;
67
+ dryRun: z.ZodOptional<z.ZodBoolean>;
68
+ }, "strip", z.ZodTypeAny, {
69
+ request: string;
70
+ dryRun?: boolean | undefined;
71
+ projectDir?: string | undefined;
72
+ durationSec?: number | undefined;
73
+ composer?: "claude" | "openai" | "gemini" | undefined;
74
+ }, {
75
+ request: string;
76
+ dryRun?: boolean | undefined;
77
+ projectDir?: string | undefined;
78
+ durationSec?: number | undefined;
79
+ composer?: "claude" | "openai" | "gemini" | undefined;
80
+ }>>;
81
+ export declare const planTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
82
+ projectDir: z.ZodOptional<z.ZodString>;
83
+ stage: z.ZodOptional<z.ZodEnum<["assets", "compose", "sync", "render", "all"]>>;
84
+ beat: z.ZodOptional<z.ZodString>;
85
+ mode: z.ZodOptional<z.ZodEnum<["agent", "batch", "auto"]>>;
86
+ skipNarration: z.ZodOptional<z.ZodBoolean>;
87
+ skipBackdrop: z.ZodOptional<z.ZodBoolean>;
88
+ skipVideo: z.ZodOptional<z.ZodBoolean>;
89
+ skipMusic: z.ZodOptional<z.ZodBoolean>;
90
+ ttsProvider: z.ZodOptional<z.ZodEnum<["auto", "elevenlabs", "kokoro"]>>;
91
+ voice: z.ZodOptional<z.ZodString>;
92
+ imageProvider: z.ZodOptional<z.ZodString>;
93
+ imageQuality: z.ZodOptional<z.ZodEnum<["standard", "hd"]>>;
94
+ imageSize: z.ZodOptional<z.ZodString>;
95
+ videoProvider: z.ZodOptional<z.ZodEnum<["seedance", "grok", "kling", "runway", "veo"]>>;
96
+ musicProvider: z.ZodOptional<z.ZodEnum<["elevenlabs", "replicate"]>>;
97
+ composer: z.ZodOptional<z.ZodEnum<["claude", "openai", "gemini"]>>;
98
+ force: z.ZodOptional<z.ZodBoolean>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ voice?: string | undefined;
101
+ force?: boolean | undefined;
102
+ projectDir?: string | undefined;
103
+ beat?: string | undefined;
104
+ mode?: "auto" | "agent" | "batch" | undefined;
105
+ composer?: "claude" | "openai" | "gemini" | undefined;
106
+ stage?: "all" | "assets" | "compose" | "sync" | "render" | undefined;
107
+ skipNarration?: boolean | undefined;
108
+ skipBackdrop?: boolean | undefined;
109
+ imageProvider?: string | undefined;
110
+ skipVideo?: boolean | undefined;
111
+ skipMusic?: boolean | undefined;
112
+ ttsProvider?: "elevenlabs" | "auto" | "kokoro" | undefined;
113
+ videoProvider?: "grok" | "seedance" | "kling" | "runway" | "veo" | undefined;
114
+ musicProvider?: "elevenlabs" | "replicate" | undefined;
115
+ imageQuality?: "standard" | "hd" | undefined;
116
+ imageSize?: string | undefined;
117
+ }, {
118
+ voice?: string | undefined;
119
+ force?: boolean | undefined;
120
+ projectDir?: string | undefined;
121
+ beat?: string | undefined;
122
+ mode?: "auto" | "agent" | "batch" | undefined;
123
+ composer?: "claude" | "openai" | "gemini" | undefined;
124
+ stage?: "all" | "assets" | "compose" | "sync" | "render" | undefined;
125
+ skipNarration?: boolean | undefined;
126
+ skipBackdrop?: boolean | undefined;
127
+ imageProvider?: string | undefined;
128
+ skipVideo?: boolean | undefined;
129
+ skipMusic?: boolean | undefined;
130
+ ttsProvider?: "elevenlabs" | "auto" | "kokoro" | undefined;
131
+ videoProvider?: "grok" | "seedance" | "kling" | "runway" | "veo" | undefined;
132
+ musicProvider?: "elevenlabs" | "replicate" | undefined;
133
+ imageQuality?: "standard" | "hd" | undefined;
134
+ imageSize?: string | undefined;
135
+ }>>;
136
+ export declare const storyboardTools: readonly AnyTool[];
@@ -0,0 +1,173 @@
1
+ /**
2
+ * @module manifest/timeline
3
+ * @description Timeline editing tools — wraps the engine's Project methods
4
+ * with auto load/save bookends.
5
+ */
6
+ import { z } from "zod";
7
+ import { type AnyTool } from "../define-tool.js";
8
+ export declare const timelineCreateTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
9
+ name: z.ZodString;
10
+ outputPath: z.ZodOptional<z.ZodString>;
11
+ fps: z.ZodOptional<z.ZodNumber>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ name: string;
14
+ outputPath?: string | undefined;
15
+ fps?: number | undefined;
16
+ }, {
17
+ name: string;
18
+ outputPath?: string | undefined;
19
+ fps?: number | undefined;
20
+ }>>;
21
+ export declare const timelineInfoTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
22
+ projectPath: z.ZodString;
23
+ }, "strip", z.ZodTypeAny, {
24
+ projectPath: string;
25
+ }, {
26
+ projectPath: string;
27
+ }>>;
28
+ export declare const timelineAddSourceTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
29
+ projectPath: z.ZodString;
30
+ mediaPath: z.ZodString;
31
+ name: z.ZodOptional<z.ZodString>;
32
+ duration: z.ZodOptional<z.ZodNumber>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ projectPath: string;
35
+ mediaPath: string;
36
+ name?: string | undefined;
37
+ duration?: number | undefined;
38
+ }, {
39
+ projectPath: string;
40
+ mediaPath: string;
41
+ name?: string | undefined;
42
+ duration?: number | undefined;
43
+ }>>;
44
+ export declare const timelineAddClipTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
45
+ projectPath: z.ZodString;
46
+ sourceId: z.ZodString;
47
+ trackId: z.ZodOptional<z.ZodString>;
48
+ startTime: z.ZodOptional<z.ZodNumber>;
49
+ duration: z.ZodOptional<z.ZodNumber>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ sourceId: string;
52
+ projectPath: string;
53
+ duration?: number | undefined;
54
+ trackId?: string | undefined;
55
+ startTime?: number | undefined;
56
+ }, {
57
+ sourceId: string;
58
+ projectPath: string;
59
+ duration?: number | undefined;
60
+ trackId?: string | undefined;
61
+ startTime?: number | undefined;
62
+ }>>;
63
+ export declare const timelineSplitClipTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
64
+ projectPath: z.ZodString;
65
+ clipId: z.ZodString;
66
+ splitTime: z.ZodNumber;
67
+ }, "strip", z.ZodTypeAny, {
68
+ clipId: string;
69
+ projectPath: string;
70
+ splitTime: number;
71
+ }, {
72
+ clipId: string;
73
+ projectPath: string;
74
+ splitTime: number;
75
+ }>>;
76
+ export declare const timelineTrimClipTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
77
+ projectPath: z.ZodString;
78
+ clipId: z.ZodString;
79
+ trimStart: z.ZodOptional<z.ZodNumber>;
80
+ trimEnd: z.ZodOptional<z.ZodNumber>;
81
+ }, "strip", z.ZodTypeAny, {
82
+ clipId: string;
83
+ projectPath: string;
84
+ trimEnd?: number | undefined;
85
+ trimStart?: number | undefined;
86
+ }, {
87
+ clipId: string;
88
+ projectPath: string;
89
+ trimEnd?: number | undefined;
90
+ trimStart?: number | undefined;
91
+ }>>;
92
+ export declare const timelineMoveClipTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
93
+ projectPath: z.ZodString;
94
+ clipId: z.ZodString;
95
+ newStartTime: z.ZodOptional<z.ZodNumber>;
96
+ newTrackId: z.ZodOptional<z.ZodString>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ clipId: string;
99
+ projectPath: string;
100
+ newStartTime?: number | undefined;
101
+ newTrackId?: string | undefined;
102
+ }, {
103
+ clipId: string;
104
+ projectPath: string;
105
+ newStartTime?: number | undefined;
106
+ newTrackId?: string | undefined;
107
+ }>>;
108
+ export declare const timelineDeleteClipTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
109
+ projectPath: z.ZodString;
110
+ clipId: z.ZodString;
111
+ }, "strip", z.ZodTypeAny, {
112
+ clipId: string;
113
+ projectPath: string;
114
+ }, {
115
+ clipId: string;
116
+ projectPath: string;
117
+ }>>;
118
+ export declare const timelineDuplicateClipTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
119
+ projectPath: z.ZodString;
120
+ clipId: z.ZodString;
121
+ newStartTime: z.ZodOptional<z.ZodNumber>;
122
+ }, "strip", z.ZodTypeAny, {
123
+ clipId: string;
124
+ projectPath: string;
125
+ newStartTime?: number | undefined;
126
+ }, {
127
+ clipId: string;
128
+ projectPath: string;
129
+ newStartTime?: number | undefined;
130
+ }>>;
131
+ export declare const timelineAddEffectTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
132
+ projectPath: z.ZodString;
133
+ clipId: z.ZodString;
134
+ effectType: z.ZodString;
135
+ startTime: z.ZodOptional<z.ZodNumber>;
136
+ duration: z.ZodOptional<z.ZodNumber>;
137
+ intensity: z.ZodOptional<z.ZodNumber>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ clipId: string;
140
+ effectType: string;
141
+ projectPath: string;
142
+ duration?: number | undefined;
143
+ startTime?: number | undefined;
144
+ intensity?: number | undefined;
145
+ }, {
146
+ clipId: string;
147
+ effectType: string;
148
+ projectPath: string;
149
+ duration?: number | undefined;
150
+ startTime?: number | undefined;
151
+ intensity?: number | undefined;
152
+ }>>;
153
+ export declare const timelineAddTrackTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
154
+ projectPath: z.ZodString;
155
+ trackType: z.ZodString;
156
+ name: z.ZodOptional<z.ZodString>;
157
+ }, "strip", z.ZodTypeAny, {
158
+ projectPath: string;
159
+ trackType: string;
160
+ name?: string | undefined;
161
+ }, {
162
+ projectPath: string;
163
+ trackType: string;
164
+ name?: string | undefined;
165
+ }>>;
166
+ export declare const timelineListTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
167
+ projectPath: z.ZodString;
168
+ }, "strip", z.ZodTypeAny, {
169
+ projectPath: string;
170
+ }, {
171
+ projectPath: string;
172
+ }>>;
173
+ export declare const timelineTools: readonly AnyTool[];
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @module manifest/walkthrough
3
+ * @description Universal guide primitive — host-agnostic equivalent of
4
+ * Claude Code's `/vibe-scene` and `/vibe-pipeline` slash commands.
5
+ *
6
+ * Any agent host (Claude Code, Codex, Cursor, Aider, Gemini CLI, OpenCode)
7
+ * can invoke `guide` to load the same step-by-step authoring guide
8
+ * the slash commands deliver. Source content is vendored as TS template
9
+ * literals (see `commands/_shared/walkthroughs/`) so the bundle has zero
10
+ * filesystem dependencies.
11
+ */
12
+ import { z } from "zod";
13
+ import { type AnyTool } from "../define-tool.js";
14
+ import { type WalkthroughTopic } from "../../commands/_shared/walkthroughs/walkthroughs.js";
15
+ export declare const guideTool: import("../define-tool.js").ToolDefinition<z.ZodObject<{
16
+ topic: z.ZodOptional<z.ZodEnum<[WalkthroughTopic, ...WalkthroughTopic[]]>>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ topic?: WalkthroughTopic | undefined;
19
+ }, {
20
+ topic?: WalkthroughTopic | undefined;
21
+ }>>;
22
+ export declare const guideTools: readonly AnyTool[];
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Manifest invariants — fails CI on shape drift.
3
+ *
4
+ * Runs against the live manifest (no mocks). Each invariant catches a
5
+ * different class of regression:
6
+ *
7
+ * - Name uniqueness + snake_case form
8
+ * - Schema is a ZodObject (so adapters can derive properties/required)
9
+ * - MCP adapter round-trip: every entry tagged `mcp` produces a valid
10
+ * inputSchema
11
+ * - Agent adapter round-trip: every entry tagged `agent` registers cleanly
12
+ */
13
+ export {};
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @module zod-to-json-schema
3
+ * @description Vendored Zod → JSON Schema converter. Supports the subset of
4
+ * Zod the VibeFrame manifest uses (object, string, number, boolean, enum,
5
+ * optional, default, array, literal).
6
+ *
7
+ * Why vendored instead of npm `zod-to-json-schema`:
8
+ * - We don't need refs/$ref/nested defs. All manifest schemas are flat.
9
+ * - The MCP SDK's `inputSchema` field expects a specific JSON Schema subset
10
+ * (`{ type: "object", properties, required }`); the npm package emits
11
+ * $schema/dialect URLs that some MCP hosts mishandle.
12
+ * - The Agent's `parameters` field is structurally identical to MCP's
13
+ * `inputSchema` (see `packages/cli/src/agent/types.ts`); one converter
14
+ * serves both adapters.
15
+ * - 150 lines we can debug.
16
+ *
17
+ * Coverage gaps (intentional):
18
+ * - z.union, z.discriminatedUnion: not used by any current tool.
19
+ * - z.record, z.map, z.tuple, z.intersection: not used.
20
+ * - z.nullable: not used (we use .optional() everywhere).
21
+ * - z.transform/preprocess: pre-applied by Zod parse; output schema is the
22
+ * "input" view, which is what MCP/Agent need.
23
+ *
24
+ * If a manifest entry needs an unsupported feature, this converter throws
25
+ * loudly so the gap is visible at registration time, not at runtime.
26
+ */
27
+ import type { ZodTypeAny } from "zod";
28
+ export interface JsonSchema {
29
+ type: "object" | "string" | "number" | "boolean" | "array";
30
+ description?: string;
31
+ enum?: readonly (string | number)[];
32
+ default?: unknown;
33
+ properties?: Record<string, JsonSchema>;
34
+ required?: string[];
35
+ items?: JsonSchema;
36
+ additionalProperties?: JsonSchema | boolean;
37
+ }
38
+ /**
39
+ * Convert a ZodObject schema to a JSON Schema suitable for MCP `inputSchema`.
40
+ * Throws on unsupported Zod variants.
41
+ */
42
+ export declare function zodToJsonSchema(schema: ZodTypeAny): JsonSchema;
43
+ /**
44
+ * The Agent surface uses a `parameters` field that's structurally identical
45
+ * to MCP's `inputSchema`. This is just an alias to make adapter code clearer.
46
+ */
47
+ export declare const zodToAgentParameters: typeof zodToJsonSchema;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * @module utils/agent-host-detect
3
+ *
4
+ * Detect which agent hosts the user has installed so the v0.61 setup
5
+ * wizard (`vibe setup`) and project scaffolder (`vibe init`) can tailor
6
+ * what to write where.
7
+ *
8
+ * Detection is best-effort and *informational* — it never blocks setup,
9
+ * never shells out beyond `which`, and never reads the contents of the
10
+ * config dirs (just whether they exist).
11
+ *
12
+ * Two signals per host:
13
+ * - **binary** — found via `which`/`PATH` lookup (fast, exact)
14
+ * - **configDir** — known config directory exists in `$HOME` (catches
15
+ * installs where the binary isn't on PATH for the current shell)
16
+ *
17
+ * A host is "detected" if either signal fires. The caller decides how to
18
+ * use that — typically `vibe setup` shows them in a summary, `vibe init`
19
+ * uses them to pick which agent files to scaffold.
20
+ */
21
+ /** Agent hosts VibeFrame knows how to scaffold for. */
22
+ export type AgentHostId = "claude-code" | "codex" | "cursor" | "aider" | "gemini-cli" | "opencode";
23
+ export interface AgentHostInfo {
24
+ id: AgentHostId;
25
+ /** Human-friendly name for prompts and UI. */
26
+ label: string;
27
+ /** True when at least one signal fired. */
28
+ detected: boolean;
29
+ /** Signals that fired (empty array when `detected` is false). */
30
+ signals: AgentHostSignal[];
31
+ /**
32
+ * Files this host expects in a project. Used by `vibe init` to know
33
+ * what to scaffold; informational here.
34
+ */
35
+ projectFiles: string[];
36
+ }
37
+ export type AgentHostSignal = {
38
+ kind: "binary";
39
+ name: string;
40
+ } | {
41
+ kind: "configDir";
42
+ path: string;
43
+ };
44
+ /**
45
+ * Scan the current environment for known agent hosts. Synchronous because
46
+ * every check is cheap (`existsSync` + `process.env.PATH` walk).
47
+ */
48
+ export declare function detectAgentHosts(env?: NodeJS.ProcessEnv): AgentHostInfo[];
49
+ /**
50
+ * Return only detected hosts, ordered by VibeFrame's recommendation:
51
+ * Claude Code first (we ship slash commands for it), then alphabetical.
52
+ */
53
+ export declare function detectedAgentHosts(env?: NodeJS.ProcessEnv): AgentHostInfo[];
54
+ /**
55
+ * One-line status summary suitable for spinners / setup wizards.
56
+ *
57
+ * Examples:
58
+ * "Claude Code (binary + config), Codex (config)"
59
+ * "(none — install Claude Code, Codex, or Cursor for agent integration)"
60
+ */
61
+ export declare function summariseAgentHosts(hosts: AgentHostInfo[]): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,58 @@
1
+ export declare function providerKeyForEnvVar(envVar: string): string | undefined;
2
+ /**
3
+ * Load environment variables from .env files.
4
+ * Priority: CWD .env (project-scoped) > monorepo root .env (development)
5
+ * Later loads don't override earlier values, so CWD takes precedence.
6
+ */
7
+ export declare function loadEnv(): void;
8
+ /**
9
+ * Get API key from config, environment, or prompt
10
+ */
11
+ export declare function getApiKey(envVar: string, providerName: string, optionValue?: string): Promise<string | null>;
12
+ /**
13
+ * Resolve an API key without prompting.
14
+ *
15
+ * This is for library-style execution paths that should respect
16
+ * `vibe setup --scope project` but must not stop for interactive input
17
+ * when no key exists. Precedence matches `getApiKey()` up to the prompt:
18
+ * CLI override > nearest project/user config.yaml > .env/process env.
19
+ */
20
+ export declare function getConfiguredApiKey(envVar: string, optionValue?: string, options?: {
21
+ cwd?: string;
22
+ }): Promise<string | undefined>;
23
+ /** True when a key exists in CLI override, config.yaml, .env, or env. */
24
+ export declare function hasConfiguredApiKey(envVar: string, optionValue?: string, options?: {
25
+ cwd?: string;
26
+ }): Promise<boolean>;
27
+ export declare class ApiKeyError extends Error {
28
+ envVar: string;
29
+ providerName: string;
30
+ constructor(envVar: string, providerName: string);
31
+ toStructured(): {
32
+ success: false;
33
+ error: string;
34
+ code: string;
35
+ exitCode: number;
36
+ suggestion: string;
37
+ retryable: false;
38
+ };
39
+ }
40
+ /**
41
+ * Check if an API key is available without prompting or side effects.
42
+ *
43
+ * Sync env-only check — for the config-file fallback (set via `vibe setup`),
44
+ * use the async {@link getApiKey} instead. Two bugs in the previous
45
+ * implementation made this lie: (1) `getApiKeyFromConfig` is async and
46
+ * was called without `await`, so `!!Promise` always returned `true`,
47
+ * and (2) the function expects a provider key (`"elevenlabs"`) but was
48
+ * being passed the env-var name (`"ELEVENLABS_API_KEY"`). The result
49
+ * was that `vibe scene add --tts auto` always took the ElevenLabs path
50
+ * and crashed with "API key required" even though we were supposed to
51
+ * fall back to local Kokoro. Caught during pre-HN error-message audit.
52
+ */
53
+ export declare function hasApiKey(envVar: string): boolean;
54
+ /**
55
+ * Get API key or throw ApiKeyError if not found.
56
+ * Use this instead of getApiKey() + manual null check.
57
+ */
58
+ export declare function requireApiKey(envVar: string, providerName: string, cliOverride?: string): Promise<string>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Get the duration of an audio file using ffprobe
3
+ * @param filePath - Path to the audio file
4
+ * @returns Duration in seconds
5
+ */
6
+ export declare function getAudioDuration(filePath: string): Promise<number>;
7
+ /**
8
+ * Get the duration of a video file using ffprobe
9
+ * @param filePath - Path to the video file
10
+ * @returns Duration in seconds
11
+ */
12
+ export declare function getVideoDuration(filePath: string): Promise<number>;
13
+ /**
14
+ * Extend a video naturally to match target duration using progressive techniques.
15
+ * Uses slowdown, frame interpolation, and freeze frames based on extension ratio.
16
+ *
17
+ * @param videoPath - Path to the source video
18
+ * @param targetDuration - Target duration in seconds
19
+ * @param outputPath - Path for the extended video output
20
+ * @returns Promise that resolves when extension is complete
21
+ */
22
+ export declare function extendVideoNaturally(videoPath: string, targetDuration: number, outputPath: string): Promise<void>;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Cross-platform clipboard writer. Pipes the text into the OS-native
3
+ * helper:
4
+ * - macOS: `pbcopy`
5
+ * - Linux/BSD: `xclip -selection clipboard` (X11) or `wl-copy` (Wayland)
6
+ * - Windows: `clip`
7
+ *
8
+ * Returns whether the copy succeeded so callers can decide whether to
9
+ * surface a "✓ Copied to clipboard" hint. Failures are silent — copying
10
+ * is convenience, never the user's critical path.
11
+ */
12
+ interface Copier {
13
+ command: string;
14
+ args: string[];
15
+ }
16
+ /**
17
+ * Pick the OS-appropriate copier command. Exported so unit tests can
18
+ * verify the args without invoking spawn.
19
+ */
20
+ export declare function resolveCopier(): Copier | null;
21
+ /**
22
+ * Write `text` to the system clipboard. Resolves to `true` if the
23
+ * helper exited cleanly, `false` otherwise (missing binary, write
24
+ * error, unsupported platform).
25
+ */
26
+ export declare function copyToClipboard(text: string): Promise<boolean>;
27
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ /** Safe async exec — no shell, args as array */
2
+ export declare function execSafe(cmd: string, args: string[], options?: {
3
+ timeout?: number;
4
+ maxBuffer?: number;
5
+ }): Promise<{
6
+ stdout: string;
7
+ stderr: string;
8
+ }>;
9
+ /** Safe sync exec — no shell, args as array */
10
+ export declare function execSafeSync(cmd: string, args: string[], options?: {
11
+ stdio?: "pipe" | "ignore";
12
+ }): string;
13
+ /** Shorthand: ffprobe duration query */
14
+ export declare function ffprobeDuration(filePath: string): Promise<number>;
15
+ /** Shorthand: ffprobe video dimensions */
16
+ export declare function ffprobeVideoSize(filePath: string): Promise<{
17
+ width: number;
18
+ height: number;
19
+ }>;
20
+ /** Shorthand: check if a command exists */
21
+ export declare function commandExists(cmd: string): boolean;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * First-run detection for VibeFrame CLI
3
+ * Shows a welcome banner when user has never configured the tool
4
+ */
5
+ /**
6
+ * Check if this is the user's first run (no config and no env vars set)
7
+ */
8
+ export declare function isFirstRun(): Promise<boolean>;
9
+ /**
10
+ * Mark that the first-run banner has been shown (won't show again)
11
+ */
12
+ export declare function markBannerShown(): Promise<void>;
13
+ /**
14
+ * Show a friendly welcome banner for first-time users
15
+ */
16
+ export declare function showFirstRunBanner(): void;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Input validation utilities for agent-safety (agentic CLI hardening).
3
+ *
4
+ * Defends against: path traversal, control character injection,
5
+ * and overly long inputs that agents may hallucinate.
6
+ */
7
+ /**
8
+ * Reject strings containing control characters (below ASCII 0x20,
9
+ * excluding tab, newline, CR which are sometimes intentional).
10
+ */
11
+ export declare function rejectControlChars(value: string, fieldName?: string): string;
12
+ /**
13
+ * Validate that a file path does not escape the sandbox directory.
14
+ * Returns the resolved absolute path.
15
+ */
16
+ export declare function validateSafePath(inputPath: string, sandbox?: string): string;
17
+ /**
18
+ * Validate output path — must not traverse outside cwd unless absolute.
19
+ * Allows absolute paths (user-specified like /tmp/output.mp4).
20
+ */
21
+ export declare function validateOutputPath(outputPath: string): string;
22
+ /**
23
+ * Validate a user-provided string (prompt text, etc.) for sanity.
24
+ * Rejects control chars and caps length to prevent context abuse.
25
+ */
26
+ export declare function validateTextInput(value: string, fieldName?: string, maxLength?: number): string;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Soft-validation for API keys pasted into the setup wizard or imported from
3
+ * .env. Returns whether the value matches the registered prefix and, if not,
4
+ * the human-readable example so the wizard can show one ⚠ line and continue.
5
+ *
6
+ * "Soft" by design: providers occasionally rotate key formats, and a wrong
7
+ * pattern in our registry should never block a working key. Callers always
8
+ * persist the value regardless of `ok`.
9
+ */
10
+ export interface KeyFormatResult {
11
+ ok: boolean;
12
+ /** Example string (e.g. "sk-ant-...") — present when `ok === false`. */
13
+ expected?: string;
14
+ }
15
+ export declare function validateKeyFormat(configKey: string, value: string): KeyFormatResult;