@vibeframe/cli 0.43.0 → 0.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/demo.d.ts.map +1 -1
- package/dist/commands/demo.js +12 -12
- package/dist/commands/demo.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +9 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/output.d.ts +6 -0
- package/dist/commands/output.d.ts.map +1 -1
- package/dist/commands/output.js +23 -8
- package/dist/commands/output.js.map +1 -1
- package/dist/commands/run.d.ts +15 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +196 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/pipeline/executor.d.ts +19 -0
- package/dist/pipeline/executor.d.ts.map +1 -0
- package/dist/pipeline/executor.js +392 -0
- package/dist/pipeline/executor.js.map +1 -0
- package/dist/pipeline/index.d.ts +4 -0
- package/dist/pipeline/index.d.ts.map +1 -0
- package/dist/pipeline/index.js +2 -0
- package/dist/pipeline/index.js.map +1 -0
- package/dist/pipeline/resolver.d.ts +20 -0
- package/dist/pipeline/resolver.d.ts.map +1 -0
- package/dist/pipeline/resolver.js +74 -0
- package/dist/pipeline/resolver.js.map +1 -0
- package/dist/pipeline/types.d.ts +82 -0
- package/dist/pipeline/types.d.ts.map +1 -0
- package/dist/pipeline/types.js +8 -0
- package/dist/pipeline/types.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,82 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibeframe/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "VibeFrame CLI - natural language video editing from the terminal",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"openai": "^4.77.0",
|
|
112
112
|
"ora": "^8.0.1",
|
|
113
113
|
"yaml": "^2.3.4",
|
|
114
|
-
"@vibeframe/
|
|
115
|
-
"@vibeframe/
|
|
114
|
+
"@vibeframe/core": "0.46.0",
|
|
115
|
+
"@vibeframe/ai-providers": "0.46.0"
|
|
116
116
|
},
|
|
117
117
|
"devDependencies": {
|
|
118
118
|
"@types/node": "^20.11.0",
|