transloadit 4.7.4 → 4.7.6
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 +888 -5
- package/dist/Transloadit.d.ts +3 -3
- package/dist/Transloadit.d.ts.map +1 -1
- package/dist/Transloadit.js +2 -2
- package/dist/Transloadit.js.map +1 -1
- package/dist/alphalib/types/assembliesGet.d.ts +5 -0
- package/dist/alphalib/types/assembliesGet.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyReplay.d.ts +5 -0
- package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyReplayNotification.d.ts +5 -0
- package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.d.ts +25 -25
- package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
- package/dist/alphalib/types/assemblyStatus.js +4 -1
- package/dist/alphalib/types/assemblyStatus.js.map +1 -1
- package/dist/alphalib/types/bill.d.ts +5 -0
- package/dist/alphalib/types/bill.d.ts.map +1 -1
- package/dist/alphalib/types/builtinTemplates.d.ts +83 -0
- package/dist/alphalib/types/builtinTemplates.d.ts.map +1 -0
- package/dist/alphalib/types/builtinTemplates.js +19 -0
- package/dist/alphalib/types/builtinTemplates.js.map +1 -0
- package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
- package/dist/alphalib/types/robots/ai-chat.js +1 -0
- package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
- package/dist/alphalib/types/skillFrontmatter.d.ts +29 -0
- package/dist/alphalib/types/skillFrontmatter.d.ts.map +1 -0
- package/dist/alphalib/types/skillFrontmatter.js +19 -0
- package/dist/alphalib/types/skillFrontmatter.js.map +1 -0
- package/dist/alphalib/types/template.d.ts +36 -0
- package/dist/alphalib/types/template.d.ts.map +1 -1
- package/dist/alphalib/types/template.js +10 -0
- package/dist/alphalib/types/template.js.map +1 -1
- package/dist/alphalib/types/templateCredential.d.ts +10 -0
- package/dist/alphalib/types/templateCredential.d.ts.map +1 -1
- package/dist/cli/commands/assemblies.d.ts +8 -2
- package/dist/cli/commands/assemblies.d.ts.map +1 -1
- package/dist/cli/commands/assemblies.js +566 -411
- package/dist/cli/commands/assemblies.js.map +1 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +5 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/templates.d.ts.map +1 -1
- package/dist/cli/commands/templates.js +4 -14
- package/dist/cli/commands/templates.js.map +1 -1
- package/dist/cli/fileProcessingOptions.d.ts +35 -0
- package/dist/cli/fileProcessingOptions.d.ts.map +1 -0
- package/dist/cli/fileProcessingOptions.js +182 -0
- package/dist/cli/fileProcessingOptions.js.map +1 -0
- package/dist/cli/generateIntentDocs.d.ts +2 -0
- package/dist/cli/generateIntentDocs.d.ts.map +1 -0
- package/dist/cli/generateIntentDocs.js +321 -0
- package/dist/cli/generateIntentDocs.js.map +1 -0
- package/dist/cli/intentCommandSpecs.d.ts +36 -0
- package/dist/cli/intentCommandSpecs.d.ts.map +1 -0
- package/dist/cli/intentCommandSpecs.js +181 -0
- package/dist/cli/intentCommandSpecs.js.map +1 -0
- package/dist/cli/intentCommands.d.ts +13 -0
- package/dist/cli/intentCommands.d.ts.map +1 -0
- package/dist/cli/intentCommands.js +368 -0
- package/dist/cli/intentCommands.js.map +1 -0
- package/dist/cli/intentFields.d.ts +25 -0
- package/dist/cli/intentFields.d.ts.map +1 -0
- package/dist/cli/intentFields.js +298 -0
- package/dist/cli/intentFields.js.map +1 -0
- package/dist/cli/intentInputPolicy.d.ts +10 -0
- package/dist/cli/intentInputPolicy.d.ts.map +1 -0
- package/dist/cli/intentInputPolicy.js +2 -0
- package/dist/cli/intentInputPolicy.js.map +1 -0
- package/dist/cli/intentRuntime.d.ts +114 -0
- package/dist/cli/intentRuntime.d.ts.map +1 -0
- package/dist/cli/intentRuntime.js +464 -0
- package/dist/cli/intentRuntime.js.map +1 -0
- package/dist/cli/resultFiles.d.ts +19 -0
- package/dist/cli/resultFiles.d.ts.map +1 -0
- package/dist/cli/resultFiles.js +66 -0
- package/dist/cli/resultFiles.js.map +1 -0
- package/dist/cli/resultUrls.d.ts +19 -0
- package/dist/cli/resultUrls.d.ts.map +1 -0
- package/dist/cli/resultUrls.js +36 -0
- package/dist/cli/resultUrls.js.map +1 -0
- package/dist/cli/semanticIntents/imageDescribe.d.ts +43 -0
- package/dist/cli/semanticIntents/imageDescribe.d.ts.map +1 -0
- package/dist/cli/semanticIntents/imageDescribe.js +188 -0
- package/dist/cli/semanticIntents/imageDescribe.js.map +1 -0
- package/dist/cli/semanticIntents/index.d.ts +18 -0
- package/dist/cli/semanticIntents/index.d.ts.map +1 -0
- package/dist/cli/semanticIntents/index.js +18 -0
- package/dist/cli/semanticIntents/index.js.map +1 -0
- package/dist/cli/semanticIntents/markdownPdf.d.ts +4 -0
- package/dist/cli/semanticIntents/markdownPdf.d.ts.map +1 -0
- package/dist/cli/semanticIntents/markdownPdf.js +93 -0
- package/dist/cli/semanticIntents/markdownPdf.js.map +1 -0
- package/dist/cli/semanticIntents/parsing.d.ts +11 -0
- package/dist/cli/semanticIntents/parsing.d.ts.map +1 -0
- package/dist/cli/semanticIntents/parsing.js +29 -0
- package/dist/cli/semanticIntents/parsing.js.map +1 -0
- package/dist/cli/stepsInput.d.ts +4 -0
- package/dist/cli/stepsInput.d.ts.map +1 -0
- package/dist/cli/stepsInput.js +23 -0
- package/dist/cli/stepsInput.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +5 -4
- package/dist/cli.js.map +1 -1
- package/dist/ensureUniqueCounter.d.ts +8 -0
- package/dist/ensureUniqueCounter.d.ts.map +1 -0
- package/dist/ensureUniqueCounter.js +48 -0
- package/dist/ensureUniqueCounter.js.map +1 -0
- package/dist/inputFiles.d.ts +9 -0
- package/dist/inputFiles.d.ts.map +1 -1
- package/dist/inputFiles.js +177 -26
- package/dist/inputFiles.js.map +1 -1
- package/dist/robots.js +1 -1
- package/dist/robots.js.map +1 -1
- package/package.json +9 -7
- package/src/Transloadit.ts +3 -3
- package/src/alphalib/types/assemblyStatus.ts +4 -1
- package/src/alphalib/types/builtinTemplates.ts +24 -0
- package/src/alphalib/types/robots/ai-chat.ts +1 -0
- package/src/alphalib/types/skillFrontmatter.ts +24 -0
- package/src/alphalib/types/template.ts +14 -0
- package/src/cli/commands/assemblies.ts +825 -505
- package/src/cli/commands/index.ts +6 -3
- package/src/cli/commands/templates.ts +6 -17
- package/src/cli/fileProcessingOptions.ts +294 -0
- package/src/cli/generateIntentDocs.ts +419 -0
- package/src/cli/intentCommandSpecs.ts +282 -0
- package/src/cli/intentCommands.ts +525 -0
- package/src/cli/intentFields.ts +403 -0
- package/src/cli/intentInputPolicy.ts +11 -0
- package/src/cli/intentRuntime.ts +734 -0
- package/src/cli/resultFiles.ts +105 -0
- package/src/cli/resultUrls.ts +72 -0
- package/src/cli/semanticIntents/imageDescribe.ts +254 -0
- package/src/cli/semanticIntents/index.ts +48 -0
- package/src/cli/semanticIntents/markdownPdf.ts +120 -0
- package/src/cli/semanticIntents/parsing.ts +56 -0
- package/src/cli/stepsInput.ts +32 -0
- package/src/cli.ts +5 -4
- package/src/ensureUniqueCounter.ts +75 -0
- package/src/inputFiles.ts +277 -26
- package/src/robots.ts +1 -1
|
@@ -0,0 +1,464 @@
|
|
|
1
|
+
import { statSync } from 'node:fs';
|
|
2
|
+
import { basename } from 'node:path';
|
|
3
|
+
import { Option } from 'clipanion';
|
|
4
|
+
import { prepareInputFiles } from "../inputFiles.js";
|
|
5
|
+
import * as assembliesCommands from "./commands/assemblies.js";
|
|
6
|
+
import { AuthenticatedCommand } from "./commands/BaseCommand.js";
|
|
7
|
+
import { concurrencyOption, countProvidedInputs, deleteAfterProcessingOption, inputPathsOption, printUrlsOption, recursiveOption, reprocessStaleOption, singleAssemblyOption, validateSharedFileProcessingOptions, watchOption, } from "./fileProcessingOptions.js";
|
|
8
|
+
import { coerceIntentFieldValue } from "./intentFields.js";
|
|
9
|
+
import { printResultUrls } from "./resultUrls.js";
|
|
10
|
+
import { getSemanticIntentDescriptor } from "./semanticIntents/index.js";
|
|
11
|
+
const inputBase64OptionDocumentation = {
|
|
12
|
+
flags: '--input-base64',
|
|
13
|
+
type: 'base64 | data URL',
|
|
14
|
+
required: 'no',
|
|
15
|
+
example: 'data:text/plain;base64,SGVsbG8=',
|
|
16
|
+
description: 'Provide base64-encoded input content directly',
|
|
17
|
+
};
|
|
18
|
+
export function getInputBase64OptionDocumentation() {
|
|
19
|
+
return inputBase64OptionDocumentation;
|
|
20
|
+
}
|
|
21
|
+
function inputBase64Option() {
|
|
22
|
+
return Option.Array(inputBase64OptionDocumentation.flags, {
|
|
23
|
+
description: inputBase64OptionDocumentation.description,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function isHttpUrl(value) {
|
|
27
|
+
try {
|
|
28
|
+
const url = new URL(value);
|
|
29
|
+
return url.protocol === 'http:' || url.protocol === 'https:';
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function parseBase64DataUrl(value) {
|
|
36
|
+
const trimmed = value.trim();
|
|
37
|
+
const marker = ';base64,';
|
|
38
|
+
const markerIndex = trimmed.indexOf(marker);
|
|
39
|
+
if (!trimmed.startsWith('data:') || markerIndex === -1) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
trimmed,
|
|
44
|
+
mediaType: trimmed.slice('data:'.length, markerIndex).split(';')[0]?.toLowerCase() ?? null,
|
|
45
|
+
payload: trimmed.slice(markerIndex + marker.length),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function normalizeBase64Value(value) {
|
|
49
|
+
const parsed = parseBase64DataUrl(value);
|
|
50
|
+
return parsed?.payload ?? value.trim();
|
|
51
|
+
}
|
|
52
|
+
function inferFilenameFromBase64Value(value, index) {
|
|
53
|
+
const parsed = parseBase64DataUrl(value);
|
|
54
|
+
if (parsed == null) {
|
|
55
|
+
return `input-base64-${index}.bin`;
|
|
56
|
+
}
|
|
57
|
+
const extensionByMediaType = {
|
|
58
|
+
'text/plain': 'txt',
|
|
59
|
+
'text/markdown': 'md',
|
|
60
|
+
'application/pdf': 'pdf',
|
|
61
|
+
'image/png': 'png',
|
|
62
|
+
'image/jpeg': 'jpg',
|
|
63
|
+
'image/webp': 'webp',
|
|
64
|
+
'application/json': 'json',
|
|
65
|
+
};
|
|
66
|
+
const extension = extensionByMediaType[parsed.mediaType ?? ''] ?? 'bin';
|
|
67
|
+
return `input-base64-${index}.${extension}`;
|
|
68
|
+
}
|
|
69
|
+
export async function prepareIntentInputs({ inputBase64Values, inputValues, }) {
|
|
70
|
+
const preparedOrder = [];
|
|
71
|
+
const syntheticInputs = [];
|
|
72
|
+
for (const value of inputValues) {
|
|
73
|
+
if (!isHttpUrl(value)) {
|
|
74
|
+
preparedOrder.push(value);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const field = `input_url_${syntheticInputs.length + 1}`;
|
|
78
|
+
syntheticInputs.push({
|
|
79
|
+
kind: 'url',
|
|
80
|
+
field,
|
|
81
|
+
url: value,
|
|
82
|
+
});
|
|
83
|
+
preparedOrder.push(field);
|
|
84
|
+
}
|
|
85
|
+
for (const [index, value] of inputBase64Values.entries()) {
|
|
86
|
+
const field = `input_base64_${index + 1}`;
|
|
87
|
+
const filename = inferFilenameFromBase64Value(value, index + 1);
|
|
88
|
+
syntheticInputs.push({
|
|
89
|
+
kind: 'base64',
|
|
90
|
+
field,
|
|
91
|
+
filename,
|
|
92
|
+
base64: normalizeBase64Value(value),
|
|
93
|
+
});
|
|
94
|
+
preparedOrder.push(field);
|
|
95
|
+
}
|
|
96
|
+
if (syntheticInputs.length === 0) {
|
|
97
|
+
return {
|
|
98
|
+
cleanup: [],
|
|
99
|
+
hasTransientInputs: false,
|
|
100
|
+
inputs: preparedOrder,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
const prepared = await prepareInputFiles({
|
|
104
|
+
inputFiles: syntheticInputs.map((input) => {
|
|
105
|
+
if (input.kind === 'url') {
|
|
106
|
+
return {
|
|
107
|
+
kind: 'url',
|
|
108
|
+
field: input.field,
|
|
109
|
+
url: input.url,
|
|
110
|
+
filename: basename(new URL(input.url).pathname) || undefined,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
kind: 'base64',
|
|
115
|
+
field: input.field,
|
|
116
|
+
base64: input.base64,
|
|
117
|
+
filename: input.filename,
|
|
118
|
+
};
|
|
119
|
+
}),
|
|
120
|
+
base64Strategy: 'tempfile',
|
|
121
|
+
allowPrivateUrls: false,
|
|
122
|
+
urlStrategy: 'download',
|
|
123
|
+
});
|
|
124
|
+
const inputs = preparedOrder.map((value) => prepared.files[value] ?? value);
|
|
125
|
+
return {
|
|
126
|
+
cleanup: prepared.cleanup,
|
|
127
|
+
hasTransientInputs: true,
|
|
128
|
+
inputs,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function parseIntentStep({ fields, fixedValues, rawValues, schema, }) {
|
|
132
|
+
const input = { ...fixedValues };
|
|
133
|
+
for (const fieldSpec of fields) {
|
|
134
|
+
const rawValue = rawValues[fieldSpec.name];
|
|
135
|
+
if (rawValue == null)
|
|
136
|
+
continue;
|
|
137
|
+
const fieldSchema = schema.shape[fieldSpec.name];
|
|
138
|
+
input[fieldSpec.name] = coerceIntentFieldValue(fieldSpec.kind, rawValue, fieldSchema);
|
|
139
|
+
}
|
|
140
|
+
const parsed = schema.parse(input);
|
|
141
|
+
const normalizedInput = { ...fixedValues };
|
|
142
|
+
for (const fieldSpec of fields) {
|
|
143
|
+
const rawValue = rawValues[fieldSpec.name];
|
|
144
|
+
if (rawValue == null)
|
|
145
|
+
continue;
|
|
146
|
+
normalizedInput[fieldSpec.name] = parsed[fieldSpec.name];
|
|
147
|
+
}
|
|
148
|
+
return normalizedInput;
|
|
149
|
+
}
|
|
150
|
+
function resolveSingleStepFixedValues(execution, inputPolicy, hasInputs) {
|
|
151
|
+
if (!hasInputs) {
|
|
152
|
+
return execution.fixedValues;
|
|
153
|
+
}
|
|
154
|
+
if (inputPolicy.kind !== 'optional' || inputPolicy.attachUseWhenInputsProvided !== true) {
|
|
155
|
+
return execution.fixedValues;
|
|
156
|
+
}
|
|
157
|
+
return {
|
|
158
|
+
...execution.fixedValues,
|
|
159
|
+
use: ':original',
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
function createSingleStep(execution, inputPolicy, rawValues, hasInputs) {
|
|
163
|
+
return parseIntentStep({
|
|
164
|
+
schema: execution.schema,
|
|
165
|
+
fixedValues: resolveSingleStepFixedValues(execution, inputPolicy, hasInputs),
|
|
166
|
+
fields: execution.fields,
|
|
167
|
+
rawValues,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function createDynamicIntentStep(execution, rawValues) {
|
|
171
|
+
return getSemanticIntentDescriptor(execution.handler).createStep(rawValues);
|
|
172
|
+
}
|
|
173
|
+
function requiresLocalInput(inputPolicy, rawValues) {
|
|
174
|
+
if (inputPolicy.kind === 'required') {
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
return rawValues[inputPolicy.field] == null;
|
|
178
|
+
}
|
|
179
|
+
async function executeIntentCommand({ client, definition, output, outputPath, printUrls, rawValues, createOptions, }) {
|
|
180
|
+
const inputPolicy = 'inputPolicy' in definition ? definition.inputPolicy : { kind: 'required' };
|
|
181
|
+
const executionOptions = definition.execution.kind === 'template'
|
|
182
|
+
? {
|
|
183
|
+
template: definition.execution.templateId,
|
|
184
|
+
}
|
|
185
|
+
: {
|
|
186
|
+
stepsData: {
|
|
187
|
+
[definition.execution.resultStepName]: definition.execution.kind === 'single-step'
|
|
188
|
+
? createSingleStep(definition.execution, inputPolicy, rawValues, createOptions.inputs.length > 0)
|
|
189
|
+
: createDynamicIntentStep(definition.execution, rawValues),
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
const { hasFailures, resultUrls } = await assembliesCommands.create(output, client, {
|
|
193
|
+
...createOptions,
|
|
194
|
+
output: outputPath ?? null,
|
|
195
|
+
outputMode: definition.outputMode,
|
|
196
|
+
...executionOptions,
|
|
197
|
+
});
|
|
198
|
+
if (printUrls) {
|
|
199
|
+
printResultUrls(output, resultUrls);
|
|
200
|
+
}
|
|
201
|
+
return hasFailures ? 1 : undefined;
|
|
202
|
+
}
|
|
203
|
+
class GeneratedIntentCommandBase extends AuthenticatedCommand {
|
|
204
|
+
outputPath = Option.String('--out,-o', {
|
|
205
|
+
description: this.getOutputDescription(),
|
|
206
|
+
});
|
|
207
|
+
printUrls = printUrlsOption();
|
|
208
|
+
getIntentDefinition() {
|
|
209
|
+
const commandClass = this.constructor;
|
|
210
|
+
return commandClass.intentDefinition;
|
|
211
|
+
}
|
|
212
|
+
getIntentRawValues() {
|
|
213
|
+
return readIntentRawValues(this, getIntentOptionDefinitions(this.getIntentDefinition()));
|
|
214
|
+
}
|
|
215
|
+
getOutputDescription() {
|
|
216
|
+
return this.getIntentDefinition().outputDescription;
|
|
217
|
+
}
|
|
218
|
+
validateOutputChoice() {
|
|
219
|
+
if (this.outputPath == null && !this.printUrls) {
|
|
220
|
+
this.output.error('Specify at least one of --out or --print-urls');
|
|
221
|
+
return 1;
|
|
222
|
+
}
|
|
223
|
+
return undefined;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
export class GeneratedNoInputIntentCommand extends GeneratedIntentCommandBase {
|
|
227
|
+
async run() {
|
|
228
|
+
const outputValidationError = this.validateOutputChoice();
|
|
229
|
+
if (outputValidationError != null) {
|
|
230
|
+
return outputValidationError;
|
|
231
|
+
}
|
|
232
|
+
return await executeIntentCommand({
|
|
233
|
+
client: this.client,
|
|
234
|
+
createOptions: {
|
|
235
|
+
inputs: [],
|
|
236
|
+
},
|
|
237
|
+
definition: this.getIntentDefinition(),
|
|
238
|
+
output: this.output,
|
|
239
|
+
outputPath: this.outputPath,
|
|
240
|
+
printUrls: this.printUrls ?? false,
|
|
241
|
+
rawValues: this.getIntentRawValues(),
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
export function getIntentOptionDefinitions(definition) {
|
|
246
|
+
if (definition.execution.kind !== 'single-step' && definition.execution.kind !== 'dynamic-step') {
|
|
247
|
+
return [];
|
|
248
|
+
}
|
|
249
|
+
return definition.execution.fields;
|
|
250
|
+
}
|
|
251
|
+
function readIntentRawValues(command, fieldDefinitions) {
|
|
252
|
+
const rawValues = {};
|
|
253
|
+
for (const fieldDefinition of fieldDefinitions) {
|
|
254
|
+
rawValues[fieldDefinition.name] = command[fieldDefinition.propertyName];
|
|
255
|
+
}
|
|
256
|
+
return rawValues;
|
|
257
|
+
}
|
|
258
|
+
class GeneratedFileIntentCommandBase extends GeneratedIntentCommandBase {
|
|
259
|
+
inputs = inputPathsOption('Provide an input path, directory, URL, or - for stdin');
|
|
260
|
+
inputBase64 = inputBase64Option();
|
|
261
|
+
recursive = recursiveOption();
|
|
262
|
+
deleteAfterProcessing = deleteAfterProcessingOption();
|
|
263
|
+
reprocessStale = reprocessStaleOption();
|
|
264
|
+
getIntentDefinition() {
|
|
265
|
+
return super.getIntentDefinition();
|
|
266
|
+
}
|
|
267
|
+
async prepareInputs() {
|
|
268
|
+
return await prepareIntentInputs({
|
|
269
|
+
inputValues: this.inputs ?? [],
|
|
270
|
+
inputBase64Values: this.inputBase64 ?? [],
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
getCreateOptions(inputs) {
|
|
274
|
+
return {
|
|
275
|
+
del: this.deleteAfterProcessing,
|
|
276
|
+
inputs,
|
|
277
|
+
reprocessStale: this.reprocessStale,
|
|
278
|
+
recursive: this.recursive,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
getProvidedInputCount() {
|
|
282
|
+
return countProvidedInputs({
|
|
283
|
+
inputs: this.inputs,
|
|
284
|
+
inputBase64: this.inputBase64,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
hasTransientInputSources() {
|
|
288
|
+
return ((this.inputs?.some((input) => isHttpUrl(input)) ?? false) ||
|
|
289
|
+
(this.inputBase64?.length ?? 0) > 0);
|
|
290
|
+
}
|
|
291
|
+
resolveOutputMode() {
|
|
292
|
+
if (this.getIntentDefinition().outputMode != null) {
|
|
293
|
+
return this.getIntentDefinition().outputMode;
|
|
294
|
+
}
|
|
295
|
+
if (this.outputPath == null) {
|
|
296
|
+
return undefined;
|
|
297
|
+
}
|
|
298
|
+
try {
|
|
299
|
+
return statSync(this.outputPath).isDirectory() ? 'directory' : 'file';
|
|
300
|
+
}
|
|
301
|
+
catch {
|
|
302
|
+
return 'file';
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
isDirectoryOutputTarget() {
|
|
306
|
+
return this.resolveOutputMode() === 'directory';
|
|
307
|
+
}
|
|
308
|
+
validateInputPresence(rawValues) {
|
|
309
|
+
const intentDefinition = this.getIntentDefinition();
|
|
310
|
+
const inputCount = this.getProvidedInputCount();
|
|
311
|
+
if (inputCount !== 0) {
|
|
312
|
+
return undefined;
|
|
313
|
+
}
|
|
314
|
+
if (!requiresLocalInput(intentDefinition.inputPolicy, rawValues)) {
|
|
315
|
+
return undefined;
|
|
316
|
+
}
|
|
317
|
+
if (intentDefinition.inputPolicy.kind === 'required') {
|
|
318
|
+
this.output.error(`${intentDefinition.commandLabel} requires --input or --input-base64`);
|
|
319
|
+
return 1;
|
|
320
|
+
}
|
|
321
|
+
this.output.error(`${intentDefinition.commandLabel} requires --input or --${intentDefinition.inputPolicy.field.replaceAll('_', '-')}`);
|
|
322
|
+
return 1;
|
|
323
|
+
}
|
|
324
|
+
validateBeforePreparingInputs(rawValues) {
|
|
325
|
+
const outputValidationError = this.validateOutputChoice();
|
|
326
|
+
if (outputValidationError != null) {
|
|
327
|
+
return outputValidationError;
|
|
328
|
+
}
|
|
329
|
+
const validationError = this.validateInputPresence(rawValues);
|
|
330
|
+
if (validationError != null) {
|
|
331
|
+
return validationError;
|
|
332
|
+
}
|
|
333
|
+
const execution = this.getIntentDefinition().execution;
|
|
334
|
+
if (execution.kind === 'dynamic-step') {
|
|
335
|
+
createDynamicIntentStep(execution, rawValues);
|
|
336
|
+
}
|
|
337
|
+
return undefined;
|
|
338
|
+
}
|
|
339
|
+
validatePreparedInputs(_preparedInputs) {
|
|
340
|
+
return undefined;
|
|
341
|
+
}
|
|
342
|
+
async executePreparedInputs(rawValues, preparedInputs) {
|
|
343
|
+
let effectivePreparedInputs = preparedInputs;
|
|
344
|
+
const execution = this.getIntentDefinition().execution;
|
|
345
|
+
if (execution.kind === 'dynamic-step') {
|
|
346
|
+
const descriptor = getSemanticIntentDescriptor(execution.handler);
|
|
347
|
+
if (descriptor.prepareInputs != null) {
|
|
348
|
+
effectivePreparedInputs = await descriptor.prepareInputs(preparedInputs, rawValues);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
return await executeIntentCommand({
|
|
352
|
+
client: this.client,
|
|
353
|
+
createOptions: this.getCreateOptions(effectivePreparedInputs.inputs),
|
|
354
|
+
definition: this.getIntentDefinition(),
|
|
355
|
+
output: this.output,
|
|
356
|
+
outputPath: this.outputPath,
|
|
357
|
+
printUrls: this.printUrls ?? false,
|
|
358
|
+
rawValues,
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
async run() {
|
|
362
|
+
const rawValues = this.getIntentRawValues();
|
|
363
|
+
const validationError = this.validateBeforePreparingInputs(rawValues);
|
|
364
|
+
if (validationError != null) {
|
|
365
|
+
return validationError;
|
|
366
|
+
}
|
|
367
|
+
const preparedInputs = await this.prepareInputs();
|
|
368
|
+
try {
|
|
369
|
+
const preparedInputError = this.validatePreparedInputs(preparedInputs);
|
|
370
|
+
if (preparedInputError != null) {
|
|
371
|
+
return preparedInputError;
|
|
372
|
+
}
|
|
373
|
+
return await this.executePreparedInputs(rawValues, preparedInputs);
|
|
374
|
+
}
|
|
375
|
+
finally {
|
|
376
|
+
await Promise.all(preparedInputs.cleanup.map((cleanup) => cleanup()));
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
export class GeneratedWatchableFileIntentCommand extends GeneratedFileIntentCommandBase {
|
|
381
|
+
watch = watchOption();
|
|
382
|
+
concurrency = concurrencyOption();
|
|
383
|
+
getCreateOptions(inputs) {
|
|
384
|
+
return {
|
|
385
|
+
...super.getCreateOptions(inputs),
|
|
386
|
+
concurrency: this.concurrency,
|
|
387
|
+
watch: this.watch,
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
validateBeforePreparingInputs(rawValues) {
|
|
391
|
+
const validationError = super.validateBeforePreparingInputs(rawValues);
|
|
392
|
+
if (validationError != null) {
|
|
393
|
+
return validationError;
|
|
394
|
+
}
|
|
395
|
+
const sharedValidationError = validateSharedFileProcessingOptions({
|
|
396
|
+
explicitInputCount: this.getProvidedInputCount(),
|
|
397
|
+
singleAssembly: this.getSingleAssemblyEnabled(),
|
|
398
|
+
watch: this.watch,
|
|
399
|
+
watchRequiresInputsMessage: `${this.getIntentDefinition().commandLabel} --watch requires --input or --input-base64`,
|
|
400
|
+
});
|
|
401
|
+
if (sharedValidationError != null) {
|
|
402
|
+
this.output.error(sharedValidationError);
|
|
403
|
+
return 1;
|
|
404
|
+
}
|
|
405
|
+
if (this.watch && this.hasTransientInputSources()) {
|
|
406
|
+
this.output.error('--watch is only supported for filesystem inputs');
|
|
407
|
+
return 1;
|
|
408
|
+
}
|
|
409
|
+
return undefined;
|
|
410
|
+
}
|
|
411
|
+
getSingleAssemblyEnabled() {
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
validatePreparedInputs(preparedInputs) {
|
|
415
|
+
if (this.watch && preparedInputs.hasTransientInputs) {
|
|
416
|
+
this.output.error('--watch is only supported for filesystem inputs');
|
|
417
|
+
return 1;
|
|
418
|
+
}
|
|
419
|
+
return undefined;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
export class GeneratedStandardFileIntentCommand extends GeneratedWatchableFileIntentCommand {
|
|
423
|
+
singleAssembly = singleAssemblyOption();
|
|
424
|
+
getSingleAssemblyEnabled() {
|
|
425
|
+
return this.singleAssembly;
|
|
426
|
+
}
|
|
427
|
+
getCreateOptions(inputs) {
|
|
428
|
+
return {
|
|
429
|
+
...super.getCreateOptions(inputs),
|
|
430
|
+
singleAssembly: this.singleAssembly,
|
|
431
|
+
};
|
|
432
|
+
}
|
|
433
|
+
validateBeforePreparingInputs(rawValues) {
|
|
434
|
+
const validationError = super.validateBeforePreparingInputs(rawValues);
|
|
435
|
+
if (validationError != null) {
|
|
436
|
+
return validationError;
|
|
437
|
+
}
|
|
438
|
+
if (this.singleAssembly &&
|
|
439
|
+
(this.getProvidedInputCount() > 1 ||
|
|
440
|
+
this.inputs.some((inputPath) => {
|
|
441
|
+
try {
|
|
442
|
+
return statSync(inputPath).isDirectory();
|
|
443
|
+
}
|
|
444
|
+
catch {
|
|
445
|
+
return false;
|
|
446
|
+
}
|
|
447
|
+
})) &&
|
|
448
|
+
this.outputPath != null &&
|
|
449
|
+
!this.isDirectoryOutputTarget()) {
|
|
450
|
+
this.output.error('Output must be a directory when using --single-assembly with multiple inputs');
|
|
451
|
+
return 1;
|
|
452
|
+
}
|
|
453
|
+
return undefined;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
export class GeneratedBundledFileIntentCommand extends GeneratedFileIntentCommandBase {
|
|
457
|
+
getCreateOptions(inputs) {
|
|
458
|
+
return {
|
|
459
|
+
...super.getCreateOptions(inputs),
|
|
460
|
+
singleAssembly: true,
|
|
461
|
+
};
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
//# sourceMappingURL=intentRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intentRuntime.js","sourceRoot":"","sources":["../../src/cli/intentRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface AssemblyResultEntryLike {
|
|
2
|
+
basename?: unknown;
|
|
3
|
+
ext?: unknown;
|
|
4
|
+
name?: unknown;
|
|
5
|
+
ssl_url?: unknown;
|
|
6
|
+
url?: unknown;
|
|
7
|
+
}
|
|
8
|
+
export interface NormalizedAssemblyResultFile {
|
|
9
|
+
file: AssemblyResultEntryLike;
|
|
10
|
+
name: string;
|
|
11
|
+
stepName: string;
|
|
12
|
+
url: string;
|
|
13
|
+
}
|
|
14
|
+
export interface NormalizedAssemblyResults {
|
|
15
|
+
allFiles: NormalizedAssemblyResultFile[];
|
|
16
|
+
entries: Array<[string, Array<AssemblyResultEntryLike>]>;
|
|
17
|
+
}
|
|
18
|
+
export declare function normalizeAssemblyResults(results: unknown): NormalizedAssemblyResults;
|
|
19
|
+
//# sourceMappingURL=resultFiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultFiles.d.ts","sourceRoot":"","sources":["../../src/cli/resultFiles.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,uBAAuB,CAAA;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,4BAA4B,EAAE,CAAA;IACxC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAA;CACzD;AA2DD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,CA2BpF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
function isAssemblyResultEntryLike(value) {
|
|
2
|
+
return value != null && typeof value === 'object';
|
|
3
|
+
}
|
|
4
|
+
function normalizeAssemblyResultName(stepName, file) {
|
|
5
|
+
if (typeof file.name === 'string') {
|
|
6
|
+
return file.name;
|
|
7
|
+
}
|
|
8
|
+
if (typeof file.basename === 'string') {
|
|
9
|
+
if (typeof file.ext === 'string' && file.ext.length > 0) {
|
|
10
|
+
return `${file.basename}.${file.ext}`;
|
|
11
|
+
}
|
|
12
|
+
return file.basename;
|
|
13
|
+
}
|
|
14
|
+
return `${stepName}_result`;
|
|
15
|
+
}
|
|
16
|
+
function normalizeAssemblyResultUrl(file) {
|
|
17
|
+
if (typeof file.ssl_url === 'string') {
|
|
18
|
+
return file.ssl_url;
|
|
19
|
+
}
|
|
20
|
+
if (typeof file.url === 'string') {
|
|
21
|
+
return file.url;
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
function normalizeAssemblyResultFile(stepName, value) {
|
|
26
|
+
if (!isAssemblyResultEntryLike(value)) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const url = normalizeAssemblyResultUrl(value);
|
|
30
|
+
const name = normalizeAssemblyResultName(stepName, value);
|
|
31
|
+
if (url == null || name == null) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
file: value,
|
|
36
|
+
name,
|
|
37
|
+
stepName,
|
|
38
|
+
url,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function normalizeAssemblyResults(results) {
|
|
42
|
+
if (results == null || typeof results !== 'object' || Array.isArray(results)) {
|
|
43
|
+
return {
|
|
44
|
+
allFiles: [],
|
|
45
|
+
entries: [],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
const files = [];
|
|
49
|
+
const entries = Object.entries(results);
|
|
50
|
+
for (const [stepName, stepResults] of entries) {
|
|
51
|
+
if (!Array.isArray(stepResults)) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
for (const stepResult of stepResults) {
|
|
55
|
+
const normalized = normalizeAssemblyResultFile(stepName, stepResult);
|
|
56
|
+
if (normalized != null) {
|
|
57
|
+
files.push(normalized);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
allFiles: files,
|
|
63
|
+
entries,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=resultFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultFiles.js","sourceRoot":"","sources":["../../src/cli/resultFiles.ts"],"names":[],"mappings":"AAoBA,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAA;AACnD,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAgB,EAChB,IAA6B;IAE7B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,CAAA;QACvC,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,OAAO,GAAG,QAAQ,SAAS,CAAA;AAC7B,CAAC;AAED,SAAS,0BAA0B,CAAC,IAA6B;IAC/D,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAgB,EAChB,KAAc;IAEd,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,GAAG,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,2BAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACzD,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,IAAI,EAAE,KAAK;QACX,IAAI;QACJ,QAAQ;QACR,GAAG;KACJ,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAgB;IACvD,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE;SACZ,CAAA;IACH,CAAC;IAED,MAAM,KAAK,GAAmC,EAAE,CAAA;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,SAAQ;QACV,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,2BAA2B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YACpE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,OAAO;KACR,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { IOutputCtl } from './OutputCtl.ts';
|
|
2
|
+
import type { NormalizedAssemblyResults } from './resultFiles.ts';
|
|
3
|
+
export interface ResultUrlRow {
|
|
4
|
+
assemblyId: string;
|
|
5
|
+
name: string;
|
|
6
|
+
step: string;
|
|
7
|
+
url: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function collectResultUrlRows({ assemblyId, results, }: {
|
|
10
|
+
assemblyId: string;
|
|
11
|
+
results: unknown;
|
|
12
|
+
}): ResultUrlRow[];
|
|
13
|
+
export declare function collectNormalizedResultUrlRows({ assemblyId, normalizedResults, }: {
|
|
14
|
+
assemblyId: string;
|
|
15
|
+
normalizedResults: NormalizedAssemblyResults;
|
|
16
|
+
}): ResultUrlRow[];
|
|
17
|
+
export declare function formatResultUrlRows(rows: readonly ResultUrlRow[]): string;
|
|
18
|
+
export declare function printResultUrls(output: IOutputCtl, rows: readonly ResultUrlRow[]): void;
|
|
19
|
+
//# sourceMappingURL=resultUrls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultUrls.d.ts","sourceRoot":"","sources":["../../src/cli/resultUrls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAGjE,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,OAAO,GACR,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,GAAG,YAAY,EAAE,CAKjB;AAED,wBAAgB,8BAA8B,CAAC,EAC7C,UAAU,EACV,iBAAiB,GAClB,EAAE;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,yBAAyB,CAAA;CAC7C,GAAG,YAAY,EAAE,CAOjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,MAAM,CAwBzE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAMvF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { normalizeAssemblyResults } from "./resultFiles.js";
|
|
2
|
+
export function collectResultUrlRows({ assemblyId, results, }) {
|
|
3
|
+
return collectNormalizedResultUrlRows({
|
|
4
|
+
assemblyId,
|
|
5
|
+
normalizedResults: normalizeAssemblyResults(results),
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export function collectNormalizedResultUrlRows({ assemblyId, normalizedResults, }) {
|
|
9
|
+
return normalizedResults.allFiles.map((file) => ({
|
|
10
|
+
assemblyId,
|
|
11
|
+
step: file.stepName,
|
|
12
|
+
name: file.name,
|
|
13
|
+
url: file.url,
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
export function formatResultUrlRows(rows) {
|
|
17
|
+
if (rows.length === 0) {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
const includeAssembly = new Set(rows.map((row) => row.assemblyId)).size > 1;
|
|
21
|
+
const headers = includeAssembly ? ['ASSEMBLY', 'STEP', 'NAME', 'URL'] : ['STEP', 'NAME', 'URL'];
|
|
22
|
+
const tableRows = rows.map((row) => includeAssembly ? [row.assemblyId, row.step, row.name, row.url] : [row.step, row.name, row.url]);
|
|
23
|
+
const widths = headers.map((header, index) => Math.max(header.length, ...tableRows.map((row) => row[index]?.length ?? 0)));
|
|
24
|
+
return [headers, ...tableRows]
|
|
25
|
+
.map((row) => row
|
|
26
|
+
.map((value, index) => index === row.length - 1 ? value : value.padEnd(widths[index] ?? value.length))
|
|
27
|
+
.join(' '))
|
|
28
|
+
.join('\n');
|
|
29
|
+
}
|
|
30
|
+
export function printResultUrls(output, rows) {
|
|
31
|
+
if (rows.length === 0) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
output.print(formatResultUrlRows(rows), { urls: rows });
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=resultUrls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resultUrls.js","sourceRoot":"","sources":["../../src/cli/resultUrls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAS3D,MAAM,UAAU,oBAAoB,CAAC,EACnC,UAAU,EACV,OAAO,GAIR;IACC,OAAO,8BAA8B,CAAC;QACpC,UAAU;QACV,iBAAiB,EAAE,wBAAwB,CAAC,OAAO,CAAC;KACrD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,EAC7C,UAAU,EACV,iBAAiB,GAIlB;IACC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/C,UAAU;QACV,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;KACd,CAAC,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAA;IAC3E,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAC/F,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACjC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAChG,CAAA;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAC5E,CAAA;IAED,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACX,GAAG;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACpB,KAAK,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAC/E;SACA,IAAI,CAAC,IAAI,CAAC,CACd;SACA,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAkB,EAAE,IAA6B;IAC/E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAM;IACR,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AACzD,CAAC"}
|