@martini-film/cli 0.3.0 → 0.4.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.
- package/README.md +169 -44
- package/dist/api.js +71 -23
- package/dist/api.js.map +1 -1
- package/dist/approve.js +16 -1
- package/dist/approve.js.map +1 -1
- package/dist/cli.js +487 -142
- package/dist/cli.js.map +1 -1
- package/dist/commands/assets.js +165 -29
- package/dist/commands/assets.js.map +1 -1
- package/dist/commands/call.js +131 -0
- package/dist/commands/call.js.map +1 -0
- package/dist/commands/context.js +11 -2
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/files.js +117 -9
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/guide.js +71 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/commands/init.js +213 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.js +37 -6
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/tools.js +88 -80
- package/dist/commands/tools.js.map +1 -1
- package/dist/commands/use.js +148 -0
- package/dist/commands/use.js.map +1 -0
- package/dist/config.js +87 -6
- package/dist/config.js.map +1 -1
- package/dist/generated/guide.json +104 -0
- package/dist/generated/manifest.json +73 -24
- package/dist/guideCache.js +204 -0
- package/dist/guideCache.js.map +1 -0
- package/dist/help.js +391 -34
- package/dist/help.js.map +1 -1
- package/dist/manifest.js +27 -0
- package/dist/manifest.js.map +1 -1
- package/dist/manifestCache.js +196 -0
- package/dist/manifestCache.js.map +1 -0
- package/dist/output.js +289 -30
- package/dist/output.js.map +1 -1
- package/dist/schema.js +281 -16
- package/dist/schema.js.map +1 -1
- package/dist/wait.js +33 -2
- package/dist/wait.js.map +1 -1
- package/package.json +2 -2
package/dist/output.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { writeFileSync } from 'node:fs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { extname } from 'node:path';
|
|
3
|
+
import { CliApiError, isMediaBlock as isMediaContentBlock } from './api.js';
|
|
4
|
+
import { ArgumentError, likelyKeys } from './schema.js';
|
|
4
5
|
import { WaitTimeoutError } from './wait.js';
|
|
5
6
|
export const EXIT = {
|
|
6
7
|
ok: 0,
|
|
@@ -19,11 +20,17 @@ function writeError(options, text) {
|
|
|
19
20
|
(options.stderr ?? (line => process.stderr.write(line)))(text);
|
|
20
21
|
}
|
|
21
22
|
export function printResult(value, options = {}) {
|
|
23
|
+
if (options.out && isMediaOutPath(options.out)) {
|
|
24
|
+
const { out, ...rest } = options;
|
|
25
|
+
printWarning('OUT_NOT_MEDIA', `This result is JSON, not media, so nothing was written to ${out}; it is printed here.`, rest);
|
|
26
|
+
printResult(value, rest);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
22
29
|
if (options.out) {
|
|
23
30
|
const text = typeof value === 'string' ? value : JSON.stringify(value, null, 2) + '\n';
|
|
24
31
|
writeFileSync(options.out, text);
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
const { out: _out, ...receiptOptions } = options;
|
|
33
|
+
printResult({ path: options.out, bytes: Buffer.byteLength(text), summary: summarize(value) }, receiptOptions);
|
|
27
34
|
return;
|
|
28
35
|
}
|
|
29
36
|
if (options.quiet)
|
|
@@ -36,7 +43,43 @@ export function printResult(value, options = {}) {
|
|
|
36
43
|
const printable = withoutMediaBytes(value);
|
|
37
44
|
write(options, (tty ? JSON.stringify(printable, null, 2) : JSON.stringify(printable)) + '\n');
|
|
38
45
|
}
|
|
39
|
-
export const MEDIA_BYTES_HINT = 'The bytes are not printed.
|
|
46
|
+
export const MEDIA_BYTES_HINT = 'The bytes are not printed. Save them with --out <file.jpg|.png|.webp|.mp3|.wav> (a result with one media block; --raw does the same for any file name) or --out-dir <dir> (every block, read-only tools); --out <file.json> writes this JSON with the base64 kept.';
|
|
47
|
+
export const MEDIA_EXTENSIONS = {
|
|
48
|
+
'image/jpeg': 'jpg',
|
|
49
|
+
'image/png': 'png',
|
|
50
|
+
'image/webp': 'webp',
|
|
51
|
+
'audio/mpeg': 'mp3',
|
|
52
|
+
'audio/wav': 'wav',
|
|
53
|
+
};
|
|
54
|
+
const MEDIA_OUT_EXTENSIONS = new Set([
|
|
55
|
+
'jpg',
|
|
56
|
+
'jpeg',
|
|
57
|
+
'png',
|
|
58
|
+
'webp',
|
|
59
|
+
'gif',
|
|
60
|
+
'mp3',
|
|
61
|
+
'wav',
|
|
62
|
+
'm4a',
|
|
63
|
+
'aac',
|
|
64
|
+
'flac',
|
|
65
|
+
'ogg',
|
|
66
|
+
'mp4',
|
|
67
|
+
'mov',
|
|
68
|
+
'webm',
|
|
69
|
+
]);
|
|
70
|
+
function extensionOf(path) {
|
|
71
|
+
return extname(path).slice(1).toLowerCase();
|
|
72
|
+
}
|
|
73
|
+
export function isMediaOutPath(path) {
|
|
74
|
+
return MEDIA_OUT_EXTENSIONS.has(extensionOf(path));
|
|
75
|
+
}
|
|
76
|
+
export function mismatchedExtension(path, contentType) {
|
|
77
|
+
const expected = MEDIA_EXTENSIONS[contentType.split(';')[0].trim().toLowerCase()];
|
|
78
|
+
const actual = extensionOf(path);
|
|
79
|
+
if (!expected || !MEDIA_OUT_EXTENSIONS.has(actual))
|
|
80
|
+
return null;
|
|
81
|
+
return actual === expected || (expected === 'jpg' && actual === 'jpeg') ? null : expected;
|
|
82
|
+
}
|
|
40
83
|
function isMediaBlock(block) {
|
|
41
84
|
return block !== null && typeof block === 'object' && typeof block.data === 'string';
|
|
42
85
|
}
|
|
@@ -61,6 +104,11 @@ function withoutMediaBytes(value) {
|
|
|
61
104
|
: block),
|
|
62
105
|
};
|
|
63
106
|
}
|
|
107
|
+
export function noteMediaStubs(blocks, options = {}) {
|
|
108
|
+
if (blocks.some(block => isMediaContentBlock(block) && !('data' in block))) {
|
|
109
|
+
printWarning('MEDIA_NOT_PRINTED', MEDIA_BYTES_HINT, options);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
64
112
|
export function assertRawDestination(options) {
|
|
65
113
|
if (options.out)
|
|
66
114
|
return;
|
|
@@ -70,9 +118,24 @@ export function assertRawDestination(options) {
|
|
|
70
118
|
}
|
|
71
119
|
export function printBytes(bytes, options) {
|
|
72
120
|
if (options.out) {
|
|
73
|
-
|
|
74
|
-
if (!options.
|
|
75
|
-
|
|
121
|
+
const expected = options.contentType ? mismatchedExtension(options.out, options.contentType) : null;
|
|
122
|
+
if (expected && !options.wrote) {
|
|
123
|
+
throw new ArgumentError(`--out ${options.out} names another media type than the bytes, which are ${options.contentType}; nothing was written. Name the file .${expected} and run the command again.`);
|
|
124
|
+
}
|
|
125
|
+
const path = options.out;
|
|
126
|
+
writeFileSync(path, bytes);
|
|
127
|
+
if (expected) {
|
|
128
|
+
printWarning('EXTENSION_MISMATCH', `${path} holds ${options.contentType} bytes; a reader that trusts the extension may refuse it. It was written as named because the tool already did its work: rename it .${expected}.`, options);
|
|
129
|
+
}
|
|
130
|
+
const { out: _out, contentType, meta, fields, wrote: _wrote, ...receiptOptions } = options;
|
|
131
|
+
const receipt = {
|
|
132
|
+
path,
|
|
133
|
+
bytes: bytes.byteLength,
|
|
134
|
+
...(contentType ? { contentType } : {}),
|
|
135
|
+
...(meta !== null && meta !== undefined ? { result: meta } : {}),
|
|
136
|
+
};
|
|
137
|
+
const trimmed = fields?.length ? selectFields(receipt, fields) : receipt;
|
|
138
|
+
printResult(fields?.length && isEmptyProjection(trimmed) ? receipt : trimmed, receiptOptions);
|
|
76
139
|
return;
|
|
77
140
|
}
|
|
78
141
|
assertRawDestination(options);
|
|
@@ -83,21 +146,194 @@ export function printWarning(code, message, options = {}) {
|
|
|
83
146
|
return;
|
|
84
147
|
writeError(options, JSON.stringify({ warning: { code, message } }) + '\n');
|
|
85
148
|
}
|
|
86
|
-
export function
|
|
87
|
-
if (
|
|
88
|
-
return;
|
|
89
|
-
const empty = result !== null && typeof result === 'object' && Object.keys(result).length === 0;
|
|
90
|
-
if (!empty)
|
|
149
|
+
export function printNotice(code, message, options = {}, detail = {}) {
|
|
150
|
+
if (options.quiet)
|
|
91
151
|
return;
|
|
152
|
+
writeError(options, JSON.stringify({ notice: { code, message, ...detail } }) + '\n');
|
|
153
|
+
}
|
|
154
|
+
export function isEmptyProjection(result) {
|
|
155
|
+
if (result === null || typeof result !== 'object')
|
|
156
|
+
return false;
|
|
157
|
+
return Object.keys(result).length === 0 || !holdsValue(result);
|
|
158
|
+
}
|
|
159
|
+
export function unmatchedFields(result, fields) {
|
|
160
|
+
return fields.filter(path => !holdsValue(project(result, path.split('.'))));
|
|
161
|
+
}
|
|
162
|
+
function holdsValue(value) {
|
|
163
|
+
if (value === undefined)
|
|
164
|
+
return false;
|
|
165
|
+
if (Array.isArray(value))
|
|
166
|
+
return value.length === 0 || value.some(item => item !== null && holdsValue(item));
|
|
167
|
+
if (value !== null && typeof value === 'object') {
|
|
168
|
+
const values = Object.values(value);
|
|
169
|
+
return values.length === 0 || values.some(holdsValue);
|
|
170
|
+
}
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
export function noFieldsMatchedMessage(fields, knownFields = [], result, schema) {
|
|
92
174
|
const shape = knownFields.length
|
|
93
|
-
? `The result's top-level fields are: ${knownFields.join(', ')} (
|
|
175
|
+
? `The result's top-level fields are: ${knownFields.join(', ')} (--help on this command lists the nested ones).`
|
|
94
176
|
: 'Run once without --fields to see the shape.';
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
177
|
+
const meant = didYouMean(result, fields, schema);
|
|
178
|
+
return `--fields ${fields.join(',')} matched nothing in the result.${meant} Paths are dotted and case-sensitive (asset.imageUrl, nodes.nodeId); a map keyed by id is stepped into by its records' field (assets.status), or by a * step quoted for the shell ('assets.*.status'). ${shape}`;
|
|
179
|
+
}
|
|
180
|
+
export function didYouMean(result, fields, schema) {
|
|
181
|
+
const suggestions = [
|
|
182
|
+
...new Set(fields.flatMap(path => [...suggestPaths(result, path), ...(schema ? schemaSuggestions(schema, path) : [])])),
|
|
183
|
+
].slice(0, 4);
|
|
184
|
+
if (suggestions.length === 0)
|
|
185
|
+
return '';
|
|
186
|
+
const last = suggestions.length > 1 ? ` or ${suggestions.at(-1)}` : '';
|
|
187
|
+
return ` Did you mean ${suggestions.slice(0, -1).join(', ') || suggestions[0]}${suggestions.length > 1 ? last : ''}?`;
|
|
188
|
+
}
|
|
189
|
+
function suggestPaths(result, path) {
|
|
190
|
+
const segments = path.split('.');
|
|
191
|
+
let level = [result];
|
|
192
|
+
const prefix = [];
|
|
193
|
+
for (const segment of segments) {
|
|
194
|
+
const objects = level.flatMap(recordsOf);
|
|
195
|
+
const keys = [...new Set(objects.flatMap(object => Object.keys(object)))];
|
|
196
|
+
if (segment !== '*' && !keys.includes(segment)) {
|
|
197
|
+
const mapKeys = objects.length === 1 && keys.length > 0 && keys.every(isIdLike);
|
|
198
|
+
if (mapKeys) {
|
|
199
|
+
const records = objects.flatMap(object => Object.values(object)).flatMap(recordsOf);
|
|
200
|
+
const fields = [...new Set(records.flatMap(record => Object.keys(record)))];
|
|
201
|
+
return likelyKeys(segment, fields).map(key => [...prefix, '*', key].join('.'));
|
|
202
|
+
}
|
|
203
|
+
return likelyKeys(segment, keys).map(key => [...prefix, key].join('.'));
|
|
204
|
+
}
|
|
205
|
+
level = segment === '*' ? objects.flatMap(object => Object.values(object)) : objects.map(object => object[segment]);
|
|
206
|
+
prefix.push(segment);
|
|
207
|
+
}
|
|
208
|
+
return [];
|
|
209
|
+
}
|
|
210
|
+
function schemaSuggestions(root, path) {
|
|
211
|
+
let current = root;
|
|
212
|
+
const prefix = [];
|
|
213
|
+
for (const segment of path.split('.')) {
|
|
214
|
+
if (!current)
|
|
215
|
+
return [];
|
|
216
|
+
while (current.items && !current.properties)
|
|
217
|
+
current = current.items;
|
|
218
|
+
const map = !current.properties && current.additionalProperties && typeof current.additionalProperties === 'object'
|
|
219
|
+
? current.additionalProperties
|
|
220
|
+
: undefined;
|
|
221
|
+
if (segment === '*') {
|
|
222
|
+
current = map ?? current.items;
|
|
223
|
+
prefix.push(segment);
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
const record = map ?? current;
|
|
227
|
+
const next = record.properties?.[segment];
|
|
228
|
+
if (!next) {
|
|
229
|
+
const keys = Object.keys(record.properties ?? {});
|
|
230
|
+
return likelyKeys(segment, keys).map(key => [...prefix, ...(map ? ['*'] : []), key].join('.'));
|
|
231
|
+
}
|
|
232
|
+
if (map)
|
|
233
|
+
prefix.push('*');
|
|
234
|
+
prefix.push(segment);
|
|
235
|
+
current = next;
|
|
236
|
+
}
|
|
237
|
+
return [];
|
|
238
|
+
}
|
|
239
|
+
function recordsOf(value) {
|
|
240
|
+
if (Array.isArray(value))
|
|
241
|
+
return value.slice(0, 50).flatMap(recordsOf);
|
|
242
|
+
return value !== null && typeof value === 'object' ? [value] : [];
|
|
243
|
+
}
|
|
244
|
+
function isIdLike(key) {
|
|
245
|
+
return /^(?:asset-)?[0-9a-f]{8}-[0-9a-f-]{27,}$/i.test(key) || /^[A-Za-z0-9_-]{16,}$/.test(key);
|
|
246
|
+
}
|
|
247
|
+
export function warnUnmatchedFields(result, fields, options = {}, schema) {
|
|
248
|
+
if (fields.length < 2)
|
|
249
|
+
return;
|
|
250
|
+
const unmatched = unmatchedFields(result, fields);
|
|
251
|
+
const missing = unmatched.filter(path => !isDeclaredPath(path, schema));
|
|
252
|
+
if (missing.length === 0 || unmatched.length === fields.length)
|
|
253
|
+
return;
|
|
254
|
+
printWarning('FIELDS_NOT_FOUND', `--fields ${missing.join(',')} matched nothing in the result; the other paths are printed.${didYouMean(result, missing, schema)} Check the spelling; --help on this command lists the result fields it declares.`, options);
|
|
255
|
+
}
|
|
256
|
+
function walkMapPath(path, schema) {
|
|
257
|
+
const out = [];
|
|
258
|
+
const everyRecord = [];
|
|
259
|
+
let undeclaredMapStep = false;
|
|
260
|
+
let node = schema;
|
|
261
|
+
for (const segment of path.split('.')) {
|
|
262
|
+
while (node && node.type === 'array' && node.items)
|
|
263
|
+
node = node.items;
|
|
264
|
+
if (node && segment !== '*' && isIdKeyedMap(node)) {
|
|
265
|
+
let values = node.additionalProperties;
|
|
266
|
+
while (values && values.type === 'array' && values.items)
|
|
267
|
+
values = values.items;
|
|
268
|
+
everyRecord.push('*');
|
|
269
|
+
if (values?.properties?.[segment] === undefined) {
|
|
270
|
+
undeclaredMapStep = true;
|
|
271
|
+
out.push(segment);
|
|
272
|
+
everyRecord.push(segment);
|
|
273
|
+
node = values;
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
out.push('*');
|
|
277
|
+
node = values;
|
|
278
|
+
}
|
|
279
|
+
out.push(segment);
|
|
280
|
+
everyRecord.push(segment);
|
|
281
|
+
if (!node)
|
|
282
|
+
continue;
|
|
283
|
+
node =
|
|
284
|
+
segment === '*'
|
|
285
|
+
? typeof node.additionalProperties === 'object'
|
|
286
|
+
? node.additionalProperties
|
|
287
|
+
: undefined
|
|
288
|
+
: node.properties?.[segment];
|
|
289
|
+
}
|
|
290
|
+
return { path: out.join('.'), everyRecord: everyRecord.join('.'), undeclaredMapStep };
|
|
291
|
+
}
|
|
292
|
+
export function expandMapPaths(paths, schema) {
|
|
293
|
+
if (!schema)
|
|
294
|
+
return [...paths];
|
|
295
|
+
return paths.map(path => walkMapPath(path, schema).path);
|
|
296
|
+
}
|
|
297
|
+
export function hasUndeclaredMapStep(paths, schema) {
|
|
298
|
+
return schema !== undefined && paths.some(path => walkMapPath(path, schema).undeclaredMapStep);
|
|
299
|
+
}
|
|
300
|
+
export function resolveMapPaths(result, paths, schema) {
|
|
301
|
+
if (!schema)
|
|
302
|
+
return [...paths];
|
|
303
|
+
return paths.map(path => {
|
|
304
|
+
const walked = walkMapPath(path, schema);
|
|
305
|
+
if (!walked.undeclaredMapStep)
|
|
306
|
+
return walked.path;
|
|
307
|
+
return isEmptyProjection(selectFields(result, [walked.path])) ? walked.everyRecord : walked.path;
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
export function isDeclaredPath(path, schema) {
|
|
311
|
+
let node = schema;
|
|
312
|
+
for (const segment of path.split('.')) {
|
|
313
|
+
while (node && node.type === 'array' && node.items)
|
|
314
|
+
node = node.items;
|
|
315
|
+
if (!node)
|
|
316
|
+
return false;
|
|
317
|
+
const variants = node.anyOf ?? node.oneOf ?? [node];
|
|
318
|
+
const next = variants
|
|
319
|
+
.map((variant) => {
|
|
320
|
+
if (segment === '*')
|
|
321
|
+
return typeof variant.additionalProperties === 'object' ? variant.additionalProperties : undefined;
|
|
322
|
+
return variant.properties?.[segment];
|
|
323
|
+
})
|
|
324
|
+
.find(found => found !== undefined);
|
|
325
|
+
if (next === undefined)
|
|
326
|
+
return false;
|
|
327
|
+
node = next;
|
|
328
|
+
}
|
|
329
|
+
return true;
|
|
330
|
+
}
|
|
331
|
+
function isIdKeyedMap(schema) {
|
|
332
|
+
const values = schema.additionalProperties;
|
|
333
|
+
return (Object.keys(schema.properties ?? {}).length === 0 &&
|
|
334
|
+
values !== null &&
|
|
335
|
+
typeof values === 'object' &&
|
|
336
|
+
Object.keys(values.properties ?? {}).length > 0);
|
|
101
337
|
}
|
|
102
338
|
export function selectFields(value, paths) {
|
|
103
339
|
if (paths.length === 0)
|
|
@@ -128,13 +364,20 @@ function project(value, segments) {
|
|
|
128
364
|
}
|
|
129
365
|
return Object.keys(out).length ? out : undefined;
|
|
130
366
|
}
|
|
131
|
-
if (!Object.prototype.hasOwnProperty.call(value, head))
|
|
132
|
-
return undefined;
|
|
367
|
+
if (!Object.prototype.hasOwnProperty.call(value, head)) {
|
|
368
|
+
return isIdKeyedData(value) ? project(value, ['*', ...segments]) : undefined;
|
|
369
|
+
}
|
|
133
370
|
const inner = project(value[head], rest);
|
|
134
371
|
return inner === undefined ? undefined : { [head]: inner };
|
|
135
372
|
}
|
|
136
373
|
return undefined;
|
|
137
374
|
}
|
|
375
|
+
const ID_KEY = /^(?:[a-z]+-)?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/i;
|
|
376
|
+
function isIdKeyedData(value) {
|
|
377
|
+
const entries = Object.entries(value);
|
|
378
|
+
return (entries.length > 0 &&
|
|
379
|
+
entries.every(([key, item]) => ID_KEY.test(key) && item !== null && typeof item === 'object' && !Array.isArray(item)));
|
|
380
|
+
}
|
|
138
381
|
function merge(a, b) {
|
|
139
382
|
if (a === undefined)
|
|
140
383
|
return b;
|
|
@@ -179,7 +422,11 @@ export function exitCodeFor(error) {
|
|
|
179
422
|
/^(INVALID_API_KEY|API_KEY_REVOKED|API_KEY_EXPIRED|API_KEY_DEFAULTS_MISSING)$/.test(error.code)) {
|
|
180
423
|
return EXIT.auth;
|
|
181
424
|
}
|
|
182
|
-
if (error.code === 'INSUFFICIENT_CREDITS' ||
|
|
425
|
+
if (error.code === 'INSUFFICIENT_CREDITS' ||
|
|
426
|
+
error.code === 'INSUFFICIENT_OLIVES' ||
|
|
427
|
+
error.status === 402 ||
|
|
428
|
+
error.code === 'PLAN_OVER_BUDGET' ||
|
|
429
|
+
error.code === 'PLAN_UNPRICED') {
|
|
183
430
|
return EXIT.insufficientCredits;
|
|
184
431
|
}
|
|
185
432
|
if (/_NOT_READY$/.test(error.code) ||
|
|
@@ -187,7 +434,10 @@ export function exitCodeFor(error) {
|
|
|
187
434
|
error.code === 'RUN_NOT_ACTIVE' ||
|
|
188
435
|
error.code === 'LOGIN_PENDING')
|
|
189
436
|
return EXIT.notReady;
|
|
190
|
-
if (error.code === 'INVALID_ARGUMENTS' ||
|
|
437
|
+
if (error.code === 'INVALID_ARGUMENTS' ||
|
|
438
|
+
error.code === 'INVALID_REQUEST' ||
|
|
439
|
+
error.code === 'TOOL_NOT_FOUND' ||
|
|
440
|
+
error.code === 'NO_FIELDS_MATCHED') {
|
|
191
441
|
return EXIT.usage;
|
|
192
442
|
}
|
|
193
443
|
return EXIT.toolError;
|
|
@@ -196,6 +446,8 @@ export function exitCodeFor(error) {
|
|
|
196
446
|
}
|
|
197
447
|
const RUN_CREDENTIAL_GONE_HINT = 'This execution’s run credential is expired or revoked. Stop and report it; do not run martini login. Retrying or resuming the run provisions a new one.';
|
|
198
448
|
export function hintFor(error, context = {}) {
|
|
449
|
+
if (error instanceof CliApiError && error.hint)
|
|
450
|
+
return error.hint;
|
|
199
451
|
if (error instanceof WaitTimeoutError) {
|
|
200
452
|
return `Still running; nothing was lost. Resume with: ${error.resumeCommand()} — give --timeout the seconds your shell step allows (a video generation takes minutes).`;
|
|
201
453
|
}
|
|
@@ -204,7 +456,7 @@ export function hintFor(error, context = {}) {
|
|
|
204
456
|
case 'NO_API_KEY':
|
|
205
457
|
return context.inRun
|
|
206
458
|
? 'This execution’s credential is not selected: MARTINI_CONFIG_FILE and MARTINI_PROFILE must be set by the run. Stop and report it; do not run martini login.'
|
|
207
|
-
: 'Run martini login (laptops) or set MARTINI_API_KEY (scripts). Inside a Martini workflow run the CLI is already signed in; do not run martini login there.';
|
|
459
|
+
: 'Run martini login (laptops; an agent runs martini login --no-wait, tells the person the code, and runs it again once they approved; --api-url <url> for an API other than the default) or set MARTINI_API_KEY with MARTINI_API_URL (scripts). Inside a Martini workflow run the CLI is already signed in; do not run martini login there.';
|
|
208
460
|
case 'API_KEY_EXPIRED':
|
|
209
461
|
case 'API_KEY_REVOKED':
|
|
210
462
|
return context.inRun ? RUN_CREDENTIAL_GONE_HINT : 'Run martini login again to mint a fresh key.';
|
|
@@ -224,6 +476,10 @@ export function hintFor(error, context = {}) {
|
|
|
224
476
|
: 'Run keys work only while their workflow run is executing.';
|
|
225
477
|
case 'INSUFFICIENT_CREDITS':
|
|
226
478
|
return 'Top up olives in Martini, or lower the batch.';
|
|
479
|
+
case 'PLAN_OVER_BUDGET':
|
|
480
|
+
return 'The quote is on stdout. Ask the person before raising --max-olives, or make the batch smaller.';
|
|
481
|
+
case 'NO_FIELDS_MATCHED':
|
|
482
|
+
return 'Nothing was changed; run the command again with paths the result has.';
|
|
227
483
|
case 'FFPROBE_MISSING':
|
|
228
484
|
return 'Install ffmpeg (it ships ffprobe) and make sure it is on PATH.';
|
|
229
485
|
default:
|
|
@@ -232,12 +488,17 @@ export function hintFor(error, context = {}) {
|
|
|
232
488
|
return undefined;
|
|
233
489
|
}
|
|
234
490
|
}
|
|
235
|
-
if (error instanceof ArgumentError)
|
|
236
|
-
return
|
|
491
|
+
if (error instanceof ArgumentError) {
|
|
492
|
+
return error.hint ?? (context.command ? `Run martini ${context.command} --help.` : 'Run martini --help.');
|
|
493
|
+
}
|
|
237
494
|
return undefined;
|
|
238
495
|
}
|
|
239
496
|
export function printError(error, options = {}) {
|
|
240
497
|
const code = exitCodeFor(error);
|
|
498
|
+
const hint = hintFor(error, {
|
|
499
|
+
inRun: options.inRun ?? false,
|
|
500
|
+
...(options.command ? { command: options.command } : {}),
|
|
501
|
+
});
|
|
241
502
|
const payload = {
|
|
242
503
|
error: {
|
|
243
504
|
code: error instanceof CliApiError ? error.code : error instanceof ArgumentError ? 'USAGE' : 'CLI_ERROR',
|
|
@@ -245,9 +506,7 @@ export function printError(error, options = {}) {
|
|
|
245
506
|
...(error instanceof CliApiError && error.tool ? { tool: error.tool } : {}),
|
|
246
507
|
...(error instanceof WaitTimeoutError ? { pending: error.pending } : {}),
|
|
247
508
|
...(error instanceof WaitTimeoutError && error.settled.length ? { settled: error.settled } : {}),
|
|
248
|
-
...(
|
|
249
|
-
? { hint: hintFor(error, { inRun: options.inRun ?? false }) }
|
|
250
|
-
: {}),
|
|
509
|
+
...(hint ? { hint } : {}),
|
|
251
510
|
exitCode: code,
|
|
252
511
|
},
|
|
253
512
|
};
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|