@martini-film/cli 0.2.0 → 0.4.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/README.md +173 -56
- package/dist/api.js +69 -2
- package/dist/api.js.map +1 -1
- package/dist/approve.js +2 -1
- package/dist/approve.js.map +1 -1
- package/dist/args.js +31 -6
- package/dist/args.js.map +1 -1
- package/dist/cli.js +457 -110
- package/dist/cli.js.map +1 -1
- package/dist/commands/assets.js +297 -45
- package/dist/commands/assets.js.map +1 -1
- package/dist/commands/call.js +99 -0
- package/dist/commands/call.js.map +1 -0
- package/dist/commands/context.js +16 -3
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/files.js +208 -83
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/guide.js +67 -0
- package/dist/commands/guide.js.map +1 -0
- package/dist/commands/init.js +196 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.js +69 -15
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/tools.js +63 -78
- package/dist/commands/tools.js.map +1 -1
- package/dist/commands/use.js +143 -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 +3885 -241
- 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 +34 -3
- package/dist/manifest.js.map +1 -1
- package/dist/manifestCache.js +196 -0
- package/dist/manifestCache.js.map +1 -0
- package/dist/output.js +251 -28
- package/dist/output.js.map +1 -1
- package/dist/schema.js +132 -15
- package/dist/schema.js.map +1 -1
- package/dist/wait.js +181 -8
- package/dist/wait.js.map +1 -1
- package/package.json +2 -2
package/dist/output.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { writeFileSync } from 'node:fs';
|
|
2
|
-
import {
|
|
2
|
+
import { extname } from 'node:path';
|
|
3
|
+
import { CliApiError, isMediaBlock as isMediaContentBlock } from './api.js';
|
|
3
4
|
import { ArgumentError } from './schema.js';
|
|
4
5
|
import { WaitTimeoutError } from './wait.js';
|
|
5
6
|
export const EXIT = {
|
|
@@ -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)
|
|
@@ -33,32 +40,223 @@ export function printResult(value, options = {}) {
|
|
|
33
40
|
return;
|
|
34
41
|
}
|
|
35
42
|
const tty = options.isTTY ?? Boolean(process.stdout.isTTY);
|
|
36
|
-
|
|
43
|
+
const printable = withoutMediaBytes(value);
|
|
44
|
+
write(options, (tty ? JSON.stringify(printable, null, 2) : JSON.stringify(printable)) + '\n');
|
|
45
|
+
}
|
|
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
|
+
}
|
|
83
|
+
function isMediaBlock(block) {
|
|
84
|
+
return block !== null && typeof block === 'object' && typeof block.data === 'string';
|
|
85
|
+
}
|
|
86
|
+
function withoutMediaBytes(value) {
|
|
87
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
88
|
+
return value;
|
|
89
|
+
const media = value.media;
|
|
90
|
+
if (!Array.isArray(media) || !media.some(isMediaBlock))
|
|
91
|
+
return value;
|
|
92
|
+
return {
|
|
93
|
+
...value,
|
|
94
|
+
media: media.map(block => isMediaBlock(block)
|
|
95
|
+
? {
|
|
96
|
+
...block,
|
|
97
|
+
data: {
|
|
98
|
+
omitted: true,
|
|
99
|
+
mimeType: typeof block.mimeType === 'string' ? block.mimeType : null,
|
|
100
|
+
bytes: Buffer.from(block.data, 'base64').byteLength,
|
|
101
|
+
hint: MEDIA_BYTES_HINT,
|
|
102
|
+
},
|
|
103
|
+
}
|
|
104
|
+
: block),
|
|
105
|
+
};
|
|
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
|
+
}
|
|
112
|
+
export function assertRawDestination(options) {
|
|
113
|
+
if (options.out)
|
|
114
|
+
return;
|
|
115
|
+
if (options.isTTY ?? Boolean(process.stdout.isTTY)) {
|
|
116
|
+
throw new ArgumentError('--raw writes binary media bytes and stdout is a terminal. Add --out <path>, or pipe stdout to a file or program.');
|
|
117
|
+
}
|
|
37
118
|
}
|
|
38
119
|
export function printBytes(bytes, options) {
|
|
39
120
|
if (options.out) {
|
|
40
121
|
writeFileSync(options.out, bytes);
|
|
41
|
-
|
|
42
|
-
|
|
122
|
+
const expected = options.contentType ? mismatchedExtension(options.out, options.contentType) : null;
|
|
123
|
+
if (expected) {
|
|
124
|
+
printWarning('EXTENSION_MISMATCH', `${options.out} holds ${options.contentType} bytes; a viewer that trusts the extension may refuse it. Name the file .${expected}.`, options);
|
|
125
|
+
}
|
|
126
|
+
const { out: _out, contentType, meta, fields, ...receiptOptions } = options;
|
|
127
|
+
const receipt = {
|
|
128
|
+
path: options.out,
|
|
129
|
+
bytes: bytes.byteLength,
|
|
130
|
+
...(contentType ? { contentType } : {}),
|
|
131
|
+
...(meta !== null && meta !== undefined ? { result: meta } : {}),
|
|
132
|
+
};
|
|
133
|
+
const trimmed = fields?.length ? selectFields(receipt, fields) : receipt;
|
|
134
|
+
printResult(fields?.length && isEmptyProjection(trimmed) ? receipt : trimmed, receiptOptions);
|
|
43
135
|
return;
|
|
44
136
|
}
|
|
137
|
+
assertRawDestination(options);
|
|
45
138
|
process.stdout.write(bytes);
|
|
46
139
|
}
|
|
47
|
-
export function
|
|
48
|
-
if (
|
|
49
|
-
return;
|
|
50
|
-
const empty = result !== null && typeof result === 'object' && Object.keys(result).length === 0;
|
|
51
|
-
if (!empty)
|
|
140
|
+
export function printWarning(code, message, options = {}) {
|
|
141
|
+
if (options.quiet)
|
|
52
142
|
return;
|
|
143
|
+
writeError(options, JSON.stringify({ warning: { code, message } }) + '\n');
|
|
144
|
+
}
|
|
145
|
+
export function isEmptyProjection(result) {
|
|
146
|
+
if (result === null || typeof result !== 'object')
|
|
147
|
+
return false;
|
|
148
|
+
return Object.keys(result).length === 0 || !holdsValue(result);
|
|
149
|
+
}
|
|
150
|
+
export function unmatchedFields(result, fields) {
|
|
151
|
+
return fields.filter(path => !holdsValue(project(result, path.split('.'))));
|
|
152
|
+
}
|
|
153
|
+
function holdsValue(value) {
|
|
154
|
+
if (value === undefined)
|
|
155
|
+
return false;
|
|
156
|
+
if (Array.isArray(value))
|
|
157
|
+
return value.length === 0 || value.some(item => item !== null && holdsValue(item));
|
|
158
|
+
if (value !== null && typeof value === 'object') {
|
|
159
|
+
const values = Object.values(value);
|
|
160
|
+
return values.length === 0 || values.some(holdsValue);
|
|
161
|
+
}
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
export function noFieldsMatchedMessage(fields, knownFields = []) {
|
|
53
165
|
const shape = knownFields.length
|
|
54
|
-
? `The result's top-level fields are: ${knownFields.join(', ')} (
|
|
166
|
+
? `The result's top-level fields are: ${knownFields.join(', ')} (--help on this command lists the nested ones).`
|
|
55
167
|
: 'Run once without --fields to see the shape.';
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
168
|
+
return `--fields ${fields.join(',')} matched nothing in the result. Paths are dotted and case-sensitive (asset.imageUrl, nodes.nodeId); a field that is a map keyed by id takes a * step, quoted for the shell ('assets.*.status'). ${shape}`;
|
|
169
|
+
}
|
|
170
|
+
export function warnUnmatchedFields(result, fields, options = {}, schema) {
|
|
171
|
+
if (fields.length < 2)
|
|
172
|
+
return;
|
|
173
|
+
const unmatched = unmatchedFields(result, fields);
|
|
174
|
+
const missing = unmatched.filter(path => !isDeclaredPath(path, schema));
|
|
175
|
+
if (missing.length === 0 || unmatched.length === fields.length)
|
|
176
|
+
return;
|
|
177
|
+
printWarning('FIELDS_NOT_FOUND', `--fields ${missing.join(',')} matched nothing in the result; the other paths are printed. Check the spelling; --help on this command lists the result fields it declares.`, options);
|
|
178
|
+
}
|
|
179
|
+
function walkMapPath(path, schema) {
|
|
180
|
+
const out = [];
|
|
181
|
+
const everyRecord = [];
|
|
182
|
+
let undeclaredMapStep = false;
|
|
183
|
+
let node = schema;
|
|
184
|
+
for (const segment of path.split('.')) {
|
|
185
|
+
while (node && node.type === 'array' && node.items)
|
|
186
|
+
node = node.items;
|
|
187
|
+
if (node && segment !== '*' && isIdKeyedMap(node)) {
|
|
188
|
+
let values = node.additionalProperties;
|
|
189
|
+
while (values && values.type === 'array' && values.items)
|
|
190
|
+
values = values.items;
|
|
191
|
+
everyRecord.push('*');
|
|
192
|
+
if (values?.properties?.[segment] === undefined) {
|
|
193
|
+
undeclaredMapStep = true;
|
|
194
|
+
out.push(segment);
|
|
195
|
+
everyRecord.push(segment);
|
|
196
|
+
node = values;
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
out.push('*');
|
|
200
|
+
node = values;
|
|
201
|
+
}
|
|
202
|
+
out.push(segment);
|
|
203
|
+
everyRecord.push(segment);
|
|
204
|
+
if (!node)
|
|
205
|
+
continue;
|
|
206
|
+
node =
|
|
207
|
+
segment === '*'
|
|
208
|
+
? typeof node.additionalProperties === 'object'
|
|
209
|
+
? node.additionalProperties
|
|
210
|
+
: undefined
|
|
211
|
+
: node.properties?.[segment];
|
|
212
|
+
}
|
|
213
|
+
return { path: out.join('.'), everyRecord: everyRecord.join('.'), undeclaredMapStep };
|
|
214
|
+
}
|
|
215
|
+
export function expandMapPaths(paths, schema) {
|
|
216
|
+
if (!schema)
|
|
217
|
+
return [...paths];
|
|
218
|
+
return paths.map(path => walkMapPath(path, schema).path);
|
|
219
|
+
}
|
|
220
|
+
export function hasUndeclaredMapStep(paths, schema) {
|
|
221
|
+
return schema !== undefined && paths.some(path => walkMapPath(path, schema).undeclaredMapStep);
|
|
222
|
+
}
|
|
223
|
+
export function resolveMapPaths(result, paths, schema) {
|
|
224
|
+
if (!schema)
|
|
225
|
+
return [...paths];
|
|
226
|
+
return paths.map(path => {
|
|
227
|
+
const walked = walkMapPath(path, schema);
|
|
228
|
+
if (!walked.undeclaredMapStep)
|
|
229
|
+
return walked.path;
|
|
230
|
+
return isEmptyProjection(selectFields(result, [walked.path])) ? walked.everyRecord : walked.path;
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
export function isDeclaredPath(path, schema) {
|
|
234
|
+
let node = schema;
|
|
235
|
+
for (const segment of path.split('.')) {
|
|
236
|
+
while (node && node.type === 'array' && node.items)
|
|
237
|
+
node = node.items;
|
|
238
|
+
if (!node)
|
|
239
|
+
return false;
|
|
240
|
+
const variants = node.anyOf ?? node.oneOf ?? [node];
|
|
241
|
+
const next = variants
|
|
242
|
+
.map((variant) => {
|
|
243
|
+
if (segment === '*')
|
|
244
|
+
return typeof variant.additionalProperties === 'object' ? variant.additionalProperties : undefined;
|
|
245
|
+
return variant.properties?.[segment];
|
|
246
|
+
})
|
|
247
|
+
.find(found => found !== undefined);
|
|
248
|
+
if (next === undefined)
|
|
249
|
+
return false;
|
|
250
|
+
node = next;
|
|
251
|
+
}
|
|
252
|
+
return true;
|
|
253
|
+
}
|
|
254
|
+
function isIdKeyedMap(schema) {
|
|
255
|
+
const values = schema.additionalProperties;
|
|
256
|
+
return (Object.keys(schema.properties ?? {}).length === 0 &&
|
|
257
|
+
values !== null &&
|
|
258
|
+
typeof values === 'object' &&
|
|
259
|
+
Object.keys(values.properties ?? {}).length > 0);
|
|
62
260
|
}
|
|
63
261
|
export function selectFields(value, paths) {
|
|
64
262
|
if (paths.length === 0)
|
|
@@ -89,13 +287,20 @@ function project(value, segments) {
|
|
|
89
287
|
}
|
|
90
288
|
return Object.keys(out).length ? out : undefined;
|
|
91
289
|
}
|
|
92
|
-
if (!Object.prototype.hasOwnProperty.call(value, head))
|
|
93
|
-
return undefined;
|
|
290
|
+
if (!Object.prototype.hasOwnProperty.call(value, head)) {
|
|
291
|
+
return isIdKeyedData(value) ? project(value, ['*', ...segments]) : undefined;
|
|
292
|
+
}
|
|
94
293
|
const inner = project(value[head], rest);
|
|
95
294
|
return inner === undefined ? undefined : { [head]: inner };
|
|
96
295
|
}
|
|
97
296
|
return undefined;
|
|
98
297
|
}
|
|
298
|
+
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;
|
|
299
|
+
function isIdKeyedData(value) {
|
|
300
|
+
const entries = Object.entries(value);
|
|
301
|
+
return (entries.length > 0 &&
|
|
302
|
+
entries.every(([key, item]) => ID_KEY.test(key) && item !== null && typeof item === 'object' && !Array.isArray(item)));
|
|
303
|
+
}
|
|
99
304
|
function merge(a, b) {
|
|
100
305
|
if (a === undefined)
|
|
101
306
|
return b;
|
|
@@ -140,7 +345,11 @@ export function exitCodeFor(error) {
|
|
|
140
345
|
/^(INVALID_API_KEY|API_KEY_REVOKED|API_KEY_EXPIRED|API_KEY_DEFAULTS_MISSING)$/.test(error.code)) {
|
|
141
346
|
return EXIT.auth;
|
|
142
347
|
}
|
|
143
|
-
if (error.code === 'INSUFFICIENT_CREDITS' ||
|
|
348
|
+
if (error.code === 'INSUFFICIENT_CREDITS' ||
|
|
349
|
+
error.code === 'INSUFFICIENT_OLIVES' ||
|
|
350
|
+
error.status === 402 ||
|
|
351
|
+
error.code === 'PLAN_OVER_BUDGET' ||
|
|
352
|
+
error.code === 'PLAN_UNPRICED') {
|
|
144
353
|
return EXIT.insufficientCredits;
|
|
145
354
|
}
|
|
146
355
|
if (/_NOT_READY$/.test(error.code) ||
|
|
@@ -148,7 +357,10 @@ export function exitCodeFor(error) {
|
|
|
148
357
|
error.code === 'RUN_NOT_ACTIVE' ||
|
|
149
358
|
error.code === 'LOGIN_PENDING')
|
|
150
359
|
return EXIT.notReady;
|
|
151
|
-
if (error.code === 'INVALID_ARGUMENTS' ||
|
|
360
|
+
if (error.code === 'INVALID_ARGUMENTS' ||
|
|
361
|
+
error.code === 'INVALID_REQUEST' ||
|
|
362
|
+
error.code === 'TOOL_NOT_FOUND' ||
|
|
363
|
+
error.code === 'NO_FIELDS_MATCHED') {
|
|
152
364
|
return EXIT.usage;
|
|
153
365
|
}
|
|
154
366
|
return EXIT.toolError;
|
|
@@ -157,6 +369,8 @@ export function exitCodeFor(error) {
|
|
|
157
369
|
}
|
|
158
370
|
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.';
|
|
159
371
|
export function hintFor(error, context = {}) {
|
|
372
|
+
if (error instanceof CliApiError && error.hint)
|
|
373
|
+
return error.hint;
|
|
160
374
|
if (error instanceof WaitTimeoutError) {
|
|
161
375
|
return `Still running; nothing was lost. Resume with: ${error.resumeCommand()} — give --timeout the seconds your shell step allows (a video generation takes minutes).`;
|
|
162
376
|
}
|
|
@@ -165,7 +379,7 @@ export function hintFor(error, context = {}) {
|
|
|
165
379
|
case 'NO_API_KEY':
|
|
166
380
|
return context.inRun
|
|
167
381
|
? '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.'
|
|
168
|
-
: 'Run martini login (laptops) or set MARTINI_API_KEY (scripts). Inside a workflow run the
|
|
382
|
+
: '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.';
|
|
169
383
|
case 'API_KEY_EXPIRED':
|
|
170
384
|
case 'API_KEY_REVOKED':
|
|
171
385
|
return context.inRun ? RUN_CREDENTIAL_GONE_HINT : 'Run martini login again to mint a fresh key.';
|
|
@@ -173,6 +387,8 @@ export function hintFor(error, context = {}) {
|
|
|
173
387
|
return 'Run keys reach Martini only through the tool commands; this route is not available inside a workflow run.';
|
|
174
388
|
case 'LOGIN_PENDING':
|
|
175
389
|
return 'Approve the code in the browser, then run martini login again; the pairing is kept until it expires.';
|
|
390
|
+
case 'CLI_UPDATE_REQUIRED':
|
|
391
|
+
return 'Update the CLI (npm i -g @martini-film/cli@latest), then run martini login again; the approval is kept until it expires.';
|
|
176
392
|
case 'INVALID_ARGUMENTS':
|
|
177
393
|
return error.tool ? `Run martini ${error.tool} --help for the flags and their types.` : undefined;
|
|
178
394
|
case 'TOOL_NOT_FOUND':
|
|
@@ -183,6 +399,10 @@ export function hintFor(error, context = {}) {
|
|
|
183
399
|
: 'Run keys work only while their workflow run is executing.';
|
|
184
400
|
case 'INSUFFICIENT_CREDITS':
|
|
185
401
|
return 'Top up olives in Martini, or lower the batch.';
|
|
402
|
+
case 'PLAN_OVER_BUDGET':
|
|
403
|
+
return 'The quote is on stdout. Ask the person before raising --max-olives, or make the batch smaller.';
|
|
404
|
+
case 'NO_FIELDS_MATCHED':
|
|
405
|
+
return 'Nothing was changed; run the command again with paths the result has.';
|
|
186
406
|
case 'FFPROBE_MISSING':
|
|
187
407
|
return 'Install ffmpeg (it ships ffprobe) and make sure it is on PATH.';
|
|
188
408
|
default:
|
|
@@ -191,12 +411,17 @@ export function hintFor(error, context = {}) {
|
|
|
191
411
|
return undefined;
|
|
192
412
|
}
|
|
193
413
|
}
|
|
194
|
-
if (error instanceof ArgumentError)
|
|
195
|
-
return
|
|
414
|
+
if (error instanceof ArgumentError) {
|
|
415
|
+
return error.hint ?? (context.command ? `Run martini ${context.command} --help.` : 'Run martini --help.');
|
|
416
|
+
}
|
|
196
417
|
return undefined;
|
|
197
418
|
}
|
|
198
419
|
export function printError(error, options = {}) {
|
|
199
420
|
const code = exitCodeFor(error);
|
|
421
|
+
const hint = hintFor(error, {
|
|
422
|
+
inRun: options.inRun ?? false,
|
|
423
|
+
...(options.command ? { command: options.command } : {}),
|
|
424
|
+
});
|
|
200
425
|
const payload = {
|
|
201
426
|
error: {
|
|
202
427
|
code: error instanceof CliApiError ? error.code : error instanceof ArgumentError ? 'USAGE' : 'CLI_ERROR',
|
|
@@ -204,9 +429,7 @@ export function printError(error, options = {}) {
|
|
|
204
429
|
...(error instanceof CliApiError && error.tool ? { tool: error.tool } : {}),
|
|
205
430
|
...(error instanceof WaitTimeoutError ? { pending: error.pending } : {}),
|
|
206
431
|
...(error instanceof WaitTimeoutError && error.settled.length ? { settled: error.settled } : {}),
|
|
207
|
-
...(
|
|
208
|
-
? { hint: hintFor(error, { inRun: options.inRun ?? false }) }
|
|
209
|
-
: {}),
|
|
432
|
+
...(hint ? { hint } : {}),
|
|
210
433
|
exitCode: code,
|
|
211
434
|
},
|
|
212
435
|
};
|
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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"}
|