@scenerok/cli 1.0.6 → 1.0.7
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/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +12 -0
- package/dist/lib/api.d.ts +31 -0
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +3 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2CpC,eAAO,MAAM,eAAe,SA+CxB,CAAC"}
|
|
@@ -22,6 +22,17 @@ function printAestheticWarnings(result) {
|
|
|
22
22
|
console.log(chalk.yellow(` • ${warning}`));
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
function formatUsd(value) {
|
|
26
|
+
return `$${value.toFixed(2)}`;
|
|
27
|
+
}
|
|
28
|
+
function printCostEstimate(costEstimate) {
|
|
29
|
+
if (!costEstimate)
|
|
30
|
+
return;
|
|
31
|
+
console.log('');
|
|
32
|
+
console.log(` Total Cost: ${formatUsd(costEstimate.totalCostUsd)}`);
|
|
33
|
+
console.log(` Savings through cache: ${formatUsd(costEstimate.cacheSavingsUsd)}`);
|
|
34
|
+
console.log(` Est. Spend: ${formatUsd(costEstimate.estimatedSpendUsd)}`);
|
|
35
|
+
}
|
|
25
36
|
export const validateCommand = new Command('validate')
|
|
26
37
|
.description('Validate a VidScript file')
|
|
27
38
|
.argument('<file>', 'Path to .vid or .vidscript file')
|
|
@@ -51,6 +62,7 @@ export const validateCommand = new Command('validate')
|
|
|
51
62
|
if (pluginCalls != null) {
|
|
52
63
|
console.log(` Plugin calls: ${pluginCalls}`);
|
|
53
64
|
}
|
|
65
|
+
printCostEstimate(result.costEstimate);
|
|
54
66
|
printAestheticWarnings(result);
|
|
55
67
|
}
|
|
56
68
|
else {
|
package/dist/lib/api.d.ts
CHANGED
|
@@ -3,6 +3,27 @@ declare class ApiError extends Error {
|
|
|
3
3
|
responseBody?: unknown | undefined;
|
|
4
4
|
constructor(message: string, status: number, responseBody?: unknown | undefined);
|
|
5
5
|
}
|
|
6
|
+
export interface RenderCostEstimate {
|
|
7
|
+
totalCostUsd: number;
|
|
8
|
+
cacheSavingsUsd: number;
|
|
9
|
+
estimatedSpendUsd: number;
|
|
10
|
+
renderCostUsd: number;
|
|
11
|
+
pluginCostUsd: number;
|
|
12
|
+
pluginCostAfterCacheUsd: number;
|
|
13
|
+
durationSeconds: number;
|
|
14
|
+
pluginMarkup: number;
|
|
15
|
+
renderTokensPerSecond: number;
|
|
16
|
+
lineItems: Array<{
|
|
17
|
+
name: string;
|
|
18
|
+
provider: string;
|
|
19
|
+
product: string;
|
|
20
|
+
rawCostUsd: number;
|
|
21
|
+
billedCostUsd: number;
|
|
22
|
+
cacheKey?: string;
|
|
23
|
+
cacheStatus: 'hit' | 'duplicate' | 'miss' | 'not_cacheable';
|
|
24
|
+
metadata?: unknown;
|
|
25
|
+
}>;
|
|
26
|
+
}
|
|
6
27
|
export declare function validateVidscript(vidscript: string): Promise<{
|
|
7
28
|
valid: boolean;
|
|
8
29
|
statements?: number;
|
|
@@ -20,6 +41,7 @@ export declare function validateVidscript(vidscript: string): Promise<{
|
|
|
20
41
|
end?: number;
|
|
21
42
|
}>;
|
|
22
43
|
aestheticScore?: number;
|
|
44
|
+
costEstimate?: RenderCostEstimate;
|
|
23
45
|
errors?: string[];
|
|
24
46
|
error?: string;
|
|
25
47
|
}>;
|
|
@@ -90,6 +112,15 @@ export declare function getAssetCache(options?: {
|
|
|
90
112
|
updatedAt: string;
|
|
91
113
|
}>;
|
|
92
114
|
}>;
|
|
115
|
+
export declare function checkAssetCache(cacheKeys: string[]): Promise<{
|
|
116
|
+
entries: Array<{
|
|
117
|
+
cacheKey: string;
|
|
118
|
+
r2Url: string;
|
|
119
|
+
pluginName: string | null;
|
|
120
|
+
metadata: unknown;
|
|
121
|
+
updatedAt: string;
|
|
122
|
+
}>;
|
|
123
|
+
}>;
|
|
93
124
|
export declare function initiateDeviceAuth(deviceName: string): Promise<{
|
|
94
125
|
device_code: string;
|
|
95
126
|
user_code: string;
|
package/dist/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAUA,cAAM,QAAS,SAAQ,KAAK;IAGjB,MAAM,EAAE,MAAM;IACd,YAAY,CAAC,EAAE,OAAO;gBAF7B,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,OAAO,YAAA;CAKhC;AAoGD,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM;WAE9C,OAAO;iBACD,MAAM;aACV,MAAM;eACJ,MAAM;eACN,MAAM,EAAE;wBACC,KAAK,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,SAAS,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;qBACe,MAAM;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.js
CHANGED
|
@@ -124,6 +124,9 @@ export async function getAssetCache(options = {}) {
|
|
|
124
124
|
const suffix = params.toString() ? `?${params.toString()}` : '';
|
|
125
125
|
return apiCall('GET', `/api/cli/asset-cache${suffix}`);
|
|
126
126
|
}
|
|
127
|
+
export async function checkAssetCache(cacheKeys) {
|
|
128
|
+
return apiCall('POST', '/api/cli/asset-cache/check', { cacheKeys });
|
|
129
|
+
}
|
|
127
130
|
export async function initiateDeviceAuth(deviceName) {
|
|
128
131
|
return apiCall('POST', '/api/cli/auth/device', { deviceName });
|
|
129
132
|
}
|