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.
Files changed (142) hide show
  1. package/README.md +888 -5
  2. package/dist/Transloadit.d.ts +3 -3
  3. package/dist/Transloadit.d.ts.map +1 -1
  4. package/dist/Transloadit.js +2 -2
  5. package/dist/Transloadit.js.map +1 -1
  6. package/dist/alphalib/types/assembliesGet.d.ts +5 -0
  7. package/dist/alphalib/types/assembliesGet.d.ts.map +1 -1
  8. package/dist/alphalib/types/assemblyReplay.d.ts +5 -0
  9. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -1
  10. package/dist/alphalib/types/assemblyReplayNotification.d.ts +5 -0
  11. package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -1
  12. package/dist/alphalib/types/assemblyStatus.d.ts +25 -25
  13. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -1
  14. package/dist/alphalib/types/assemblyStatus.js +4 -1
  15. package/dist/alphalib/types/assemblyStatus.js.map +1 -1
  16. package/dist/alphalib/types/bill.d.ts +5 -0
  17. package/dist/alphalib/types/bill.d.ts.map +1 -1
  18. package/dist/alphalib/types/builtinTemplates.d.ts +83 -0
  19. package/dist/alphalib/types/builtinTemplates.d.ts.map +1 -0
  20. package/dist/alphalib/types/builtinTemplates.js +19 -0
  21. package/dist/alphalib/types/builtinTemplates.js.map +1 -0
  22. package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -1
  23. package/dist/alphalib/types/robots/ai-chat.js +1 -0
  24. package/dist/alphalib/types/robots/ai-chat.js.map +1 -1
  25. package/dist/alphalib/types/skillFrontmatter.d.ts +29 -0
  26. package/dist/alphalib/types/skillFrontmatter.d.ts.map +1 -0
  27. package/dist/alphalib/types/skillFrontmatter.js +19 -0
  28. package/dist/alphalib/types/skillFrontmatter.js.map +1 -0
  29. package/dist/alphalib/types/template.d.ts +36 -0
  30. package/dist/alphalib/types/template.d.ts.map +1 -1
  31. package/dist/alphalib/types/template.js +10 -0
  32. package/dist/alphalib/types/template.js.map +1 -1
  33. package/dist/alphalib/types/templateCredential.d.ts +10 -0
  34. package/dist/alphalib/types/templateCredential.d.ts.map +1 -1
  35. package/dist/cli/commands/assemblies.d.ts +8 -2
  36. package/dist/cli/commands/assemblies.d.ts.map +1 -1
  37. package/dist/cli/commands/assemblies.js +566 -411
  38. package/dist/cli/commands/assemblies.js.map +1 -1
  39. package/dist/cli/commands/index.d.ts.map +1 -1
  40. package/dist/cli/commands/index.js +5 -0
  41. package/dist/cli/commands/index.js.map +1 -1
  42. package/dist/cli/commands/templates.d.ts.map +1 -1
  43. package/dist/cli/commands/templates.js +4 -14
  44. package/dist/cli/commands/templates.js.map +1 -1
  45. package/dist/cli/fileProcessingOptions.d.ts +35 -0
  46. package/dist/cli/fileProcessingOptions.d.ts.map +1 -0
  47. package/dist/cli/fileProcessingOptions.js +182 -0
  48. package/dist/cli/fileProcessingOptions.js.map +1 -0
  49. package/dist/cli/generateIntentDocs.d.ts +2 -0
  50. package/dist/cli/generateIntentDocs.d.ts.map +1 -0
  51. package/dist/cli/generateIntentDocs.js +321 -0
  52. package/dist/cli/generateIntentDocs.js.map +1 -0
  53. package/dist/cli/intentCommandSpecs.d.ts +36 -0
  54. package/dist/cli/intentCommandSpecs.d.ts.map +1 -0
  55. package/dist/cli/intentCommandSpecs.js +181 -0
  56. package/dist/cli/intentCommandSpecs.js.map +1 -0
  57. package/dist/cli/intentCommands.d.ts +13 -0
  58. package/dist/cli/intentCommands.d.ts.map +1 -0
  59. package/dist/cli/intentCommands.js +368 -0
  60. package/dist/cli/intentCommands.js.map +1 -0
  61. package/dist/cli/intentFields.d.ts +25 -0
  62. package/dist/cli/intentFields.d.ts.map +1 -0
  63. package/dist/cli/intentFields.js +298 -0
  64. package/dist/cli/intentFields.js.map +1 -0
  65. package/dist/cli/intentInputPolicy.d.ts +10 -0
  66. package/dist/cli/intentInputPolicy.d.ts.map +1 -0
  67. package/dist/cli/intentInputPolicy.js +2 -0
  68. package/dist/cli/intentInputPolicy.js.map +1 -0
  69. package/dist/cli/intentRuntime.d.ts +114 -0
  70. package/dist/cli/intentRuntime.d.ts.map +1 -0
  71. package/dist/cli/intentRuntime.js +464 -0
  72. package/dist/cli/intentRuntime.js.map +1 -0
  73. package/dist/cli/resultFiles.d.ts +19 -0
  74. package/dist/cli/resultFiles.d.ts.map +1 -0
  75. package/dist/cli/resultFiles.js +66 -0
  76. package/dist/cli/resultFiles.js.map +1 -0
  77. package/dist/cli/resultUrls.d.ts +19 -0
  78. package/dist/cli/resultUrls.d.ts.map +1 -0
  79. package/dist/cli/resultUrls.js +36 -0
  80. package/dist/cli/resultUrls.js.map +1 -0
  81. package/dist/cli/semanticIntents/imageDescribe.d.ts +43 -0
  82. package/dist/cli/semanticIntents/imageDescribe.d.ts.map +1 -0
  83. package/dist/cli/semanticIntents/imageDescribe.js +188 -0
  84. package/dist/cli/semanticIntents/imageDescribe.js.map +1 -0
  85. package/dist/cli/semanticIntents/index.d.ts +18 -0
  86. package/dist/cli/semanticIntents/index.d.ts.map +1 -0
  87. package/dist/cli/semanticIntents/index.js +18 -0
  88. package/dist/cli/semanticIntents/index.js.map +1 -0
  89. package/dist/cli/semanticIntents/markdownPdf.d.ts +4 -0
  90. package/dist/cli/semanticIntents/markdownPdf.d.ts.map +1 -0
  91. package/dist/cli/semanticIntents/markdownPdf.js +93 -0
  92. package/dist/cli/semanticIntents/markdownPdf.js.map +1 -0
  93. package/dist/cli/semanticIntents/parsing.d.ts +11 -0
  94. package/dist/cli/semanticIntents/parsing.d.ts.map +1 -0
  95. package/dist/cli/semanticIntents/parsing.js +29 -0
  96. package/dist/cli/semanticIntents/parsing.js.map +1 -0
  97. package/dist/cli/stepsInput.d.ts +4 -0
  98. package/dist/cli/stepsInput.d.ts.map +1 -0
  99. package/dist/cli/stepsInput.js +23 -0
  100. package/dist/cli/stepsInput.js.map +1 -0
  101. package/dist/cli.d.ts +1 -1
  102. package/dist/cli.d.ts.map +1 -1
  103. package/dist/cli.js +5 -4
  104. package/dist/cli.js.map +1 -1
  105. package/dist/ensureUniqueCounter.d.ts +8 -0
  106. package/dist/ensureUniqueCounter.d.ts.map +1 -0
  107. package/dist/ensureUniqueCounter.js +48 -0
  108. package/dist/ensureUniqueCounter.js.map +1 -0
  109. package/dist/inputFiles.d.ts +9 -0
  110. package/dist/inputFiles.d.ts.map +1 -1
  111. package/dist/inputFiles.js +177 -26
  112. package/dist/inputFiles.js.map +1 -1
  113. package/dist/robots.js +1 -1
  114. package/dist/robots.js.map +1 -1
  115. package/package.json +9 -7
  116. package/src/Transloadit.ts +3 -3
  117. package/src/alphalib/types/assemblyStatus.ts +4 -1
  118. package/src/alphalib/types/builtinTemplates.ts +24 -0
  119. package/src/alphalib/types/robots/ai-chat.ts +1 -0
  120. package/src/alphalib/types/skillFrontmatter.ts +24 -0
  121. package/src/alphalib/types/template.ts +14 -0
  122. package/src/cli/commands/assemblies.ts +825 -505
  123. package/src/cli/commands/index.ts +6 -3
  124. package/src/cli/commands/templates.ts +6 -17
  125. package/src/cli/fileProcessingOptions.ts +294 -0
  126. package/src/cli/generateIntentDocs.ts +419 -0
  127. package/src/cli/intentCommandSpecs.ts +282 -0
  128. package/src/cli/intentCommands.ts +525 -0
  129. package/src/cli/intentFields.ts +403 -0
  130. package/src/cli/intentInputPolicy.ts +11 -0
  131. package/src/cli/intentRuntime.ts +734 -0
  132. package/src/cli/resultFiles.ts +105 -0
  133. package/src/cli/resultUrls.ts +72 -0
  134. package/src/cli/semanticIntents/imageDescribe.ts +254 -0
  135. package/src/cli/semanticIntents/index.ts +48 -0
  136. package/src/cli/semanticIntents/markdownPdf.ts +120 -0
  137. package/src/cli/semanticIntents/parsing.ts +56 -0
  138. package/src/cli/stepsInput.ts +32 -0
  139. package/src/cli.ts +5 -4
  140. package/src/ensureUniqueCounter.ts +75 -0
  141. package/src/inputFiles.ts +277 -26
  142. 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"}