@remotion/serverless 4.0.244 → 4.0.246

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 (122) hide show
  1. package/.turbo/turbo-make.log +1 -1
  2. package/LICENSE.md +1 -1
  3. package/dist/best-frames-per-function-param.d.ts +1 -0
  4. package/dist/best-frames-per-function-param.js +17 -0
  5. package/dist/calculate-chunk-times.d.ts +5 -0
  6. package/dist/calculate-chunk-times.js +29 -0
  7. package/dist/can-concat-seamlessly.d.ts +3 -0
  8. package/dist/can-concat-seamlessly.js +17 -0
  9. package/dist/cleanup-props.d.ts +9 -0
  10. package/dist/cleanup-props.js +23 -0
  11. package/dist/cleanup-serialized-input-props.d.ts +15 -0
  12. package/dist/cleanup-serialized-input-props.js +34 -0
  13. package/dist/client.d.ts +9 -0
  14. package/dist/client.js +30 -12
  15. package/dist/compress-props.d.ts +6 -2
  16. package/dist/compress-props.js +5 -3
  17. package/dist/concat-videos.d.ts +25 -0
  18. package/dist/concat-videos.js +53 -0
  19. package/dist/constants.d.ts +39 -3
  20. package/dist/constants.js +8 -1
  21. package/dist/create-post-render-data.d.ts +20 -0
  22. package/dist/create-post-render-data.js +68 -0
  23. package/dist/docs-url.d.ts +1 -0
  24. package/dist/docs-url.js +4 -0
  25. package/dist/estimate-price-from-bucket.d.ts +15 -0
  26. package/dist/estimate-price-from-bucket.js +31 -0
  27. package/dist/expected-out-name.d.ts +1 -1
  28. package/dist/find-output-file-in-bucket.d.ts +16 -0
  29. package/dist/find-output-file-in-bucket.js +41 -0
  30. package/dist/format-costs-info.d.ts +2 -0
  31. package/dist/format-costs-info.js +23 -0
  32. package/dist/get-browser-instance.d.ts +5 -12
  33. package/dist/get-browser-instance.js +8 -7
  34. package/dist/get-custom-out-name.d.ts +1 -1
  35. package/dist/get-or-create-bucket.d.ts +1 -1
  36. package/dist/get-overall-progress-from-storage.d.ts +11 -0
  37. package/dist/get-overall-progress-from-storage.js +25 -0
  38. package/dist/get-overall-progress.d.ts +9 -0
  39. package/dist/get-overall-progress.js +23 -0
  40. package/dist/handlers/check-version-mismatch.d.ts +8 -0
  41. package/dist/handlers/check-version-mismatch.js +23 -0
  42. package/dist/handlers/compositions.d.ts +16 -0
  43. package/dist/handlers/compositions.js +81 -0
  44. package/dist/handlers/launch.d.ts +18 -0
  45. package/dist/handlers/launch.js +600 -0
  46. package/dist/handlers/progress.d.ts +16 -0
  47. package/dist/handlers/progress.js +54 -0
  48. package/dist/handlers/renderer.d.ts +24 -0
  49. package/dist/handlers/renderer.js +344 -0
  50. package/dist/handlers/start.d.ts +19 -0
  51. package/dist/handlers/start.js +104 -0
  52. package/dist/handlers/still.d.ts +21 -0
  53. package/dist/handlers/still.js +335 -0
  54. package/dist/index.d.ts +21 -5
  55. package/dist/index.js +54 -7
  56. package/dist/info.d.ts +1 -1
  57. package/dist/inner-routine.d.ts +22 -0
  58. package/dist/inner-routine.js +267 -0
  59. package/dist/inspect-error.d.ts +4 -0
  60. package/dist/inspect-error.js +39 -0
  61. package/dist/invoke-webhook.d.ts +42 -0
  62. package/dist/invoke-webhook.js +116 -0
  63. package/dist/is-warm.d.ts +2 -0
  64. package/dist/is-warm.js +10 -0
  65. package/dist/leak-detection.d.ts +4 -0
  66. package/dist/leak-detection.js +40 -0
  67. package/dist/make-bucket-name.d.ts +1 -1
  68. package/dist/make-timeout-error.d.ts +13 -0
  69. package/dist/make-timeout-error.js +32 -0
  70. package/dist/make-timeout-message.d.ts +12 -0
  71. package/dist/make-timeout-message.js +76 -0
  72. package/dist/merge-chunks.d.ts +38 -0
  73. package/dist/merge-chunks.js +92 -0
  74. package/dist/min-max.d.ts +2 -0
  75. package/dist/min-max.js +33 -0
  76. package/dist/most-expensive-chunks.d.ts +13 -0
  77. package/dist/most-expensive-chunks.js +28 -0
  78. package/dist/on-downloads-helpers.d.ts +2 -0
  79. package/dist/on-downloads-helpers.js +29 -0
  80. package/dist/overall-render-progress.d.ts +59 -0
  81. package/dist/overall-render-progress.js +180 -0
  82. package/dist/plan-frame-ranges.d.ts +7 -0
  83. package/dist/plan-frame-ranges.js +17 -0
  84. package/dist/print-logging-grep-helper.d.ts +4 -0
  85. package/dist/print-logging-grep-helper.js +12 -0
  86. package/dist/progress.d.ts +16 -0
  87. package/dist/progress.js +254 -0
  88. package/dist/provider-implementation.d.ts +152 -3
  89. package/dist/render-has-audio-video.d.ts +6 -0
  90. package/dist/render-has-audio-video.js +21 -0
  91. package/dist/render-metadata.d.ts +1 -1
  92. package/dist/render-progress.d.ts +51 -0
  93. package/dist/return-values.d.ts +38 -0
  94. package/dist/return-values.js +2 -0
  95. package/dist/stackback.d.ts +6 -0
  96. package/dist/stackback.js +59 -0
  97. package/dist/stream-renderer.d.ts +17 -0
  98. package/dist/stream-renderer.js +148 -0
  99. package/dist/streaming/streaming.d.ts +6 -6
  100. package/dist/streaming/streaming.js +3 -3
  101. package/dist/types.d.ts +55 -0
  102. package/dist/types.js +2 -0
  103. package/dist/validate-composition.d.ts +1 -1
  104. package/dist/validate-composition.js +11 -1
  105. package/dist/validate-download-behavior.d.ts +1 -0
  106. package/dist/validate-download-behavior.js +21 -0
  107. package/dist/validate-frames-per-function.d.ts +4 -0
  108. package/dist/validate-frames-per-function.js +29 -0
  109. package/dist/validate-privacy.d.ts +2 -0
  110. package/dist/validate-privacy.js +14 -0
  111. package/dist/validate.d.ts +4 -0
  112. package/dist/validate.js +8 -0
  113. package/dist/why-is-node-running.d.ts +15 -0
  114. package/dist/why-is-node-running.js +89 -0
  115. package/dist/{write-lambda-error.d.ts → write-error-to-storage.d.ts} +4 -4
  116. package/package.json +6 -5
  117. package/tsconfig.tsbuildinfo +1 -1
  118. package/dist/compositions.d.ts +0 -11
  119. package/dist/compositions.js +0 -82
  120. package/dist/still.d.ts +0 -28
  121. /package/dist/{still.js → render-progress.js} +0 -0
  122. /package/dist/{write-lambda-error.js → write-error-to-storage.js} +0 -0
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.stillHandler = void 0;
7
+ const renderer_1 = require("@remotion/renderer");
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const node_path_1 = __importDefault(require("node:path"));
10
+ const no_react_1 = require("remotion/no-react");
11
+ const version_1 = require("remotion/version");
12
+ const cleanup_serialized_input_props_1 = require("../cleanup-serialized-input-props");
13
+ const compress_props_1 = require("../compress-props");
14
+ const constants_1 = require("../constants");
15
+ const expected_out_name_1 = require("../expected-out-name");
16
+ const format_costs_info_1 = require("../format-costs-info");
17
+ const get_or_create_bucket_1 = require("../get-or-create-bucket");
18
+ const on_downloads_helpers_1 = require("../on-downloads-helpers");
19
+ const overall_render_progress_1 = require("../overall-render-progress");
20
+ const validate_composition_1 = require("../validate-composition");
21
+ const validate_download_behavior_1 = require("../validate-download-behavior");
22
+ const validate_outname_1 = require("../validate-outname");
23
+ const validate_privacy_1 = require("../validate-privacy");
24
+ const write_error_to_storage_1 = require("../write-error-to-storage");
25
+ const check_version_mismatch_1 = require("./check-version-mismatch");
26
+ const innerStillHandler = async ({ params, expectedBucketOwner, renderId, onStream, timeoutInMilliseconds, providerSpecifics, insideFunctionSpecifics, }, cleanup) => {
27
+ var _a, _b, _c, _d, _e, _f, _g;
28
+ if (params.type !== constants_1.ServerlessRoutines.still) {
29
+ throw new TypeError('Expected still type');
30
+ }
31
+ (0, check_version_mismatch_1.checkVersionMismatch)({
32
+ apiName: 'renderStillOnLambda()',
33
+ insideFunctionSpecifics,
34
+ params,
35
+ });
36
+ (0, validate_download_behavior_1.validateDownloadBehavior)(params.downloadBehavior);
37
+ (0, validate_privacy_1.validatePrivacy)(params.privacy, true);
38
+ (0, validate_outname_1.validateOutname)({
39
+ outName: params.outName,
40
+ codec: null,
41
+ audioCodecSetting: null,
42
+ separateAudioTo: null,
43
+ });
44
+ const start = Date.now();
45
+ const browserInstancePromise = insideFunctionSpecifics.getBrowserInstance({
46
+ logLevel: params.logLevel,
47
+ indent: false,
48
+ chromiumOptions: params.chromiumOptions,
49
+ providerSpecifics,
50
+ insideFunctionSpecifics,
51
+ });
52
+ const bucketNamePromise = (_a = params.bucketName) !== null && _a !== void 0 ? _a : (0, get_or_create_bucket_1.internalGetOrCreateBucket)({
53
+ region: providerSpecifics.getCurrentRegionInFunction(),
54
+ enableFolderExpiry: null,
55
+ customCredentials: null,
56
+ providerSpecifics,
57
+ forcePathStyle: params.forcePathStyle,
58
+ skipPutAcl: false,
59
+ }).then((b) => b.bucketName);
60
+ const outputDir = renderer_1.RenderInternals.tmpDir('remotion-render-');
61
+ const outputPath = node_path_1.default.join(outputDir, 'output');
62
+ const region = providerSpecifics.getCurrentRegionInFunction();
63
+ const bucketName = await bucketNamePromise;
64
+ const serializedInputPropsWithCustomSchema = await (0, compress_props_1.decompressInputProps)({
65
+ bucketName,
66
+ expectedBucketOwner,
67
+ region,
68
+ serialized: params.inputProps,
69
+ propsType: 'input-props',
70
+ providerSpecifics,
71
+ forcePathStyle: params.forcePathStyle,
72
+ });
73
+ const serveUrl = providerSpecifics.convertToServeUrl({
74
+ urlOrId: params.serveUrl,
75
+ region,
76
+ bucketName,
77
+ });
78
+ const { server, cleanupServer } = await renderer_1.RenderInternals.makeOrReuseServer(undefined, {
79
+ concurrency: 1,
80
+ indent: false,
81
+ port: null,
82
+ remotionRoot: process.cwd(),
83
+ logLevel: params.logLevel,
84
+ webpackConfigOrServeUrl: serveUrl,
85
+ offthreadVideoCacheSizeInBytes: params.offthreadVideoCacheSizeInBytes,
86
+ binariesDirectory: null,
87
+ forceIPv4: false,
88
+ }, {
89
+ onDownload: () => undefined,
90
+ });
91
+ cleanup.push(() => cleanupServer(true));
92
+ const browserInstance = await browserInstancePromise;
93
+ const composition = await (0, validate_composition_1.validateComposition)({
94
+ serveUrl,
95
+ browserInstance: browserInstance.instance,
96
+ composition: params.composition,
97
+ serializedInputPropsWithCustomSchema,
98
+ envVariables: (_b = params.envVariables) !== null && _b !== void 0 ? _b : {},
99
+ chromiumOptions: params.chromiumOptions,
100
+ timeoutInMilliseconds: params.timeoutInMilliseconds,
101
+ port: null,
102
+ forceHeight: params.forceHeight,
103
+ forceWidth: params.forceWidth,
104
+ logLevel: params.logLevel,
105
+ server,
106
+ offthreadVideoCacheSizeInBytes: params.offthreadVideoCacheSizeInBytes,
107
+ onBrowserDownload: () => {
108
+ throw new Error('Should not download a browser in Lambda');
109
+ },
110
+ onServeUrlVisited: () => undefined,
111
+ providerSpecifics,
112
+ });
113
+ const renderMetadata = {
114
+ startedDate: Date.now(),
115
+ codec: null,
116
+ compositionId: params.composition,
117
+ estimatedTotalLambdaInvokations: 1,
118
+ estimatedRenderLambdaInvokations: 1,
119
+ siteId: serveUrl,
120
+ totalChunks: 1,
121
+ type: 'still',
122
+ imageFormat: params.imageFormat,
123
+ inputProps: params.inputProps,
124
+ lambdaVersion: version_1.VERSION,
125
+ framesPerLambda: 1,
126
+ memorySizeInMb: insideFunctionSpecifics.getCurrentMemorySizeInMb(),
127
+ region: providerSpecifics.getCurrentRegionInFunction(),
128
+ renderId,
129
+ outName: (_c = params.outName) !== null && _c !== void 0 ? _c : undefined,
130
+ privacy: params.privacy,
131
+ audioCodec: null,
132
+ deleteAfter: params.deleteAfter,
133
+ numberOfGifLoops: null,
134
+ downloadBehavior: params.downloadBehavior,
135
+ audioBitrate: null,
136
+ metadata: null,
137
+ functionName: insideFunctionSpecifics.getCurrentFunctionName(),
138
+ dimensions: {
139
+ height: composition.height * ((_d = params.scale) !== null && _d !== void 0 ? _d : 1),
140
+ width: composition.width * ((_e = params.scale) !== null && _e !== void 0 ? _e : 1),
141
+ },
142
+ };
143
+ const still = (0, overall_render_progress_1.makeInitialOverallRenderProgress)(timeoutInMilliseconds);
144
+ still.renderMetadata = renderMetadata;
145
+ await providerSpecifics.writeFile({
146
+ bucketName,
147
+ key: (0, constants_1.overallProgressKey)(renderId),
148
+ body: JSON.stringify(still),
149
+ region: providerSpecifics.getCurrentRegionInFunction(),
150
+ privacy: 'private',
151
+ expectedBucketOwner,
152
+ downloadBehavior: null,
153
+ customCredentials: null,
154
+ forcePathStyle: params.forcePathStyle,
155
+ });
156
+ const onBrowserDownload = () => {
157
+ throw new Error('Should not download a browser in Lambda');
158
+ };
159
+ const receivedArtifact = [];
160
+ const { key, renderBucketName, customCredentials } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, (0, expected_out_name_1.getCredentialsFromOutName)(params.outName));
161
+ const onArtifact = (artifact) => {
162
+ if (receivedArtifact.find((a) => a.filename === artifact.filename)) {
163
+ return { alreadyExisted: true };
164
+ }
165
+ const storageKey = (0, constants_1.artifactName)(renderMetadata.renderId, artifact.filename);
166
+ receivedArtifact.push(providerSpecifics.makeArtifactWithDetails({
167
+ storageKey,
168
+ artifact,
169
+ region,
170
+ renderBucketName,
171
+ }));
172
+ const startTime = Date.now();
173
+ renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, 'Writing artifact ' + artifact.filename + ' to S3');
174
+ providerSpecifics
175
+ .writeFile({
176
+ bucketName: renderBucketName,
177
+ key: storageKey,
178
+ body: artifact.content,
179
+ region,
180
+ privacy: params.privacy,
181
+ expectedBucketOwner,
182
+ downloadBehavior: params.downloadBehavior,
183
+ customCredentials,
184
+ forcePathStyle: params.forcePathStyle,
185
+ })
186
+ .then(() => {
187
+ renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, `Wrote artifact to S3 in ${Date.now() - startTime}ms`);
188
+ })
189
+ .catch((err) => {
190
+ renderer_1.RenderInternals.Log.error({ indent: false, logLevel: params.logLevel }, 'Failed to write artifact to S3', err);
191
+ });
192
+ return { alreadyExisted: false };
193
+ };
194
+ await renderer_1.RenderInternals.internalRenderStill({
195
+ composition,
196
+ output: outputPath,
197
+ serveUrl,
198
+ envVariables: (_f = params.envVariables) !== null && _f !== void 0 ? _f : {},
199
+ frame: renderer_1.RenderInternals.convertToPositiveFrameIndex({
200
+ frame: params.frame,
201
+ durationInFrames: composition.durationInFrames,
202
+ }),
203
+ imageFormat: params.imageFormat,
204
+ serializedInputPropsWithCustomSchema,
205
+ overwrite: false,
206
+ puppeteerInstance: browserInstance.instance,
207
+ jpegQuality: (_g = params.jpegQuality) !== null && _g !== void 0 ? _g : renderer_1.RenderInternals.DEFAULT_JPEG_QUALITY,
208
+ chromiumOptions: params.chromiumOptions,
209
+ scale: params.scale,
210
+ timeoutInMilliseconds: params.timeoutInMilliseconds,
211
+ browserExecutable: providerSpecifics.getChromiumPath(),
212
+ cancelSignal: null,
213
+ indent: false,
214
+ onBrowserLog: null,
215
+ onDownload: (0, on_downloads_helpers_1.onDownloadsHelper)(params.logLevel),
216
+ port: null,
217
+ server,
218
+ logLevel: params.logLevel,
219
+ serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithDate({
220
+ indent: undefined,
221
+ staticBase: null,
222
+ data: composition.props,
223
+ }).serializedString,
224
+ offthreadVideoCacheSizeInBytes: params.offthreadVideoCacheSizeInBytes,
225
+ binariesDirectory: null,
226
+ onBrowserDownload,
227
+ onArtifact,
228
+ });
229
+ const { size } = await node_fs_1.default.promises.stat(outputPath);
230
+ await providerSpecifics.writeFile({
231
+ bucketName: renderBucketName,
232
+ key,
233
+ privacy: params.privacy,
234
+ body: node_fs_1.default.createReadStream(outputPath),
235
+ expectedBucketOwner,
236
+ region: providerSpecifics.getCurrentRegionInFunction(),
237
+ downloadBehavior: params.downloadBehavior,
238
+ customCredentials,
239
+ forcePathStyle: params.forcePathStyle,
240
+ });
241
+ await Promise.all([
242
+ node_fs_1.default.promises.rm(outputPath, { recursive: true }),
243
+ (0, cleanup_serialized_input_props_1.cleanupSerializedInputProps)({
244
+ region: providerSpecifics.getCurrentRegionInFunction(),
245
+ serialized: params.inputProps,
246
+ providerSpecifics,
247
+ forcePathStyle: params.forcePathStyle,
248
+ }),
249
+ server.closeServer(true),
250
+ ]);
251
+ const estimatedPrice = providerSpecifics.estimatePrice({
252
+ durationInMilliseconds: Date.now() - start + 100,
253
+ memorySizeInMb: insideFunctionSpecifics.getCurrentMemorySizeInMb(),
254
+ region: providerSpecifics.getCurrentRegionInFunction(),
255
+ lambdasInvoked: 1,
256
+ diskSizeInMb: providerSpecifics.getEphemeralStorageForPriceCalculation(),
257
+ });
258
+ const { key: outKey, url } = providerSpecifics.getOutputUrl({
259
+ renderMetadata,
260
+ bucketName,
261
+ customCredentials,
262
+ currentRegion: providerSpecifics.getCurrentRegionInFunction(),
263
+ });
264
+ const payload = {
265
+ type: 'success',
266
+ output: url,
267
+ size,
268
+ sizeInBytes: size,
269
+ bucketName,
270
+ estimatedPrice: (0, format_costs_info_1.formatCostsInfo)(estimatedPrice),
271
+ renderId,
272
+ outKey,
273
+ receivedArtifacts: receivedArtifact,
274
+ };
275
+ onStream({
276
+ type: 'still-rendered',
277
+ payload,
278
+ });
279
+ await server.closeServer(true);
280
+ };
281
+ const stillHandler = async (options) => {
282
+ const { params } = options;
283
+ const cleanUpFn = [];
284
+ if (params.type !== constants_1.ServerlessRoutines.still) {
285
+ throw new Error('Params must be renderer');
286
+ }
287
+ try {
288
+ await innerStillHandler(options, cleanUpFn);
289
+ return { type: 'success' };
290
+ }
291
+ catch (err) {
292
+ // If this error is encountered, we can just retry as it
293
+ // is a very rare error to occur
294
+ const isBrowserError = options.providerSpecifics.isFlakyError(err);
295
+ const willRetry = isBrowserError || params.maxRetries > 0;
296
+ renderer_1.RenderInternals.Log.error({
297
+ indent: false,
298
+ logLevel: params.logLevel,
299
+ }, 'Got error:', err.stack, `Will retry = ${willRetry}`);
300
+ if (params.streamed) {
301
+ await options.onStream({
302
+ type: 'error-occurred',
303
+ payload: {
304
+ error: err.stack,
305
+ shouldRetry: willRetry,
306
+ errorInfo: {
307
+ name: err.name,
308
+ message: err.message,
309
+ stack: err.stack,
310
+ chunk: null,
311
+ frame: params.frame,
312
+ type: 'renderer',
313
+ isFatal: false,
314
+ tmpDir: (0, write_error_to_storage_1.getTmpDirStateIfENoSp)(err.stack, options.providerSpecifics),
315
+ attempt: params.attempt,
316
+ totalAttempts: 1 + params.maxRetries,
317
+ willRetry,
318
+ },
319
+ },
320
+ });
321
+ }
322
+ return {
323
+ type: 'error',
324
+ message: err.message,
325
+ stack: err.stack,
326
+ };
327
+ }
328
+ finally {
329
+ options.insideFunctionSpecifics.forgetBrowserEventLoop(options.params.type === constants_1.ServerlessRoutines.still
330
+ ? options.params.logLevel
331
+ : 'error');
332
+ cleanUpFn.forEach((c) => c());
333
+ }
334
+ };
335
+ exports.stillHandler = stillHandler;
package/dist/index.d.ts CHANGED
@@ -1,14 +1,30 @@
1
- export { compositionsHandler } from './compositions';
1
+ export { PostRenderData, ServerlessRoutines } from './constants';
2
+ export { estimatePriceFromMetadata as estimatePriceFromBucket } from './estimate-price-from-bucket';
2
3
  export { getCredentialsFromOutName } from './expected-out-name';
3
- export { forgetBrowserEventLoop, getBrowserInstance, } from './get-browser-instance';
4
+ export { formatCostsInfo } from './format-costs-info';
5
+ export { forgetBrowserEventLoopImplementation, getBrowserInstanceImplementation, } from './get-browser-instance';
6
+ export { compositionsHandler } from './handlers/compositions';
7
+ export { launchHandler } from './handlers/launch';
8
+ export { progressHandler } from './handlers/progress';
9
+ export { RequestContext, rendererHandler } from './handlers/renderer';
10
+ export { startHandler } from './handlers/start';
11
+ export { stillHandler } from './handlers/still';
4
12
  export { infoHandler } from './info';
5
- export { MakeArtifactWithDetails, ProviderSpecifics, WriteFileInput, } from './provider-implementation';
13
+ export { innerHandler } from './inner-routine';
14
+ export { inspectErrors } from './inspect-error';
15
+ export { WebhookClient, WebhookErrorPayload, WebhookPayload, WebhookSuccessPayload, WebhookTimeoutPayload, invokeWebhook, } from './invoke-webhook';
16
+ export { setCurrentRequestId, stopLeakDetection } from './leak-detection';
17
+ export { OVERHEAD_TIME_PER_LAMBDA, getMostExpensiveChunks, } from './most-expensive-chunks';
18
+ export { OverallProgressHelper, OverallRenderProgress, makeInitialOverallRenderProgress, makeOverallRenderProgress, } from './overall-render-progress';
19
+ export * from './provider-implementation';
20
+ export type { CleanupInfo, GenericRenderProgress } from './render-progress';
21
+ export { OrError, ServerlessReturnValues } from './return-values';
6
22
  export { deserializeArtifact, serializeArtifact } from './serialize-artifact';
7
- export { CloudProvider, CostsInfo, ReceivedArtifact, RenderStillLambdaResponsePayload, } from './still';
8
23
  export { ResponseStream } from './streaming/response-stream';
9
24
  export { ResponseStreamWriter, streamWriter } from './streaming/stream-writer';
10
25
  export { type OnMessage, type OnStream, type StreamingMessage, type StreamingPayload, } from './streaming/streaming';
26
+ export * from './types';
11
27
  export { validateComposition } from './validate-composition';
12
28
  export { validateOutname } from './validate-outname';
13
29
  export { MAX_WEBHOOK_CUSTOM_DATA_SIZE, validateWebhook, } from './validate-webhook';
14
- export { EnhancedErrorInfo, LambdaErrorInfo, getTmpDirStateIfENoSp, } from './write-lambda-error';
30
+ export { EnhancedErrorInfo, FunctionErrorInfo as LambdaErrorInfo, getTmpDirStateIfENoSp, } from './write-error-to-storage';
package/dist/index.js CHANGED
@@ -1,15 +1,61 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTmpDirStateIfENoSp = exports.validateWebhook = exports.MAX_WEBHOOK_CUSTOM_DATA_SIZE = exports.validateOutname = exports.validateComposition = exports.streamWriter = exports.ResponseStream = exports.serializeArtifact = exports.deserializeArtifact = exports.infoHandler = exports.getBrowserInstance = exports.forgetBrowserEventLoop = exports.getCredentialsFromOutName = exports.compositionsHandler = void 0;
4
- var compositions_1 = require("./compositions");
5
- Object.defineProperty(exports, "compositionsHandler", { enumerable: true, get: function () { return compositions_1.compositionsHandler; } });
17
+ exports.getTmpDirStateIfENoSp = exports.validateWebhook = exports.MAX_WEBHOOK_CUSTOM_DATA_SIZE = exports.validateOutname = exports.validateComposition = exports.streamWriter = exports.ResponseStream = exports.serializeArtifact = exports.deserializeArtifact = exports.makeOverallRenderProgress = exports.makeInitialOverallRenderProgress = exports.getMostExpensiveChunks = exports.OVERHEAD_TIME_PER_LAMBDA = exports.stopLeakDetection = exports.setCurrentRequestId = exports.invokeWebhook = exports.inspectErrors = exports.innerHandler = exports.infoHandler = exports.stillHandler = exports.startHandler = exports.rendererHandler = exports.progressHandler = exports.launchHandler = exports.compositionsHandler = exports.getBrowserInstanceImplementation = exports.forgetBrowserEventLoopImplementation = exports.formatCostsInfo = exports.getCredentialsFromOutName = exports.estimatePriceFromBucket = exports.ServerlessRoutines = void 0;
18
+ var constants_1 = require("./constants");
19
+ Object.defineProperty(exports, "ServerlessRoutines", { enumerable: true, get: function () { return constants_1.ServerlessRoutines; } });
20
+ var estimate_price_from_bucket_1 = require("./estimate-price-from-bucket");
21
+ Object.defineProperty(exports, "estimatePriceFromBucket", { enumerable: true, get: function () { return estimate_price_from_bucket_1.estimatePriceFromMetadata; } });
6
22
  var expected_out_name_1 = require("./expected-out-name");
7
23
  Object.defineProperty(exports, "getCredentialsFromOutName", { enumerable: true, get: function () { return expected_out_name_1.getCredentialsFromOutName; } });
24
+ var format_costs_info_1 = require("./format-costs-info");
25
+ Object.defineProperty(exports, "formatCostsInfo", { enumerable: true, get: function () { return format_costs_info_1.formatCostsInfo; } });
8
26
  var get_browser_instance_1 = require("./get-browser-instance");
9
- Object.defineProperty(exports, "forgetBrowserEventLoop", { enumerable: true, get: function () { return get_browser_instance_1.forgetBrowserEventLoop; } });
10
- Object.defineProperty(exports, "getBrowserInstance", { enumerable: true, get: function () { return get_browser_instance_1.getBrowserInstance; } });
27
+ Object.defineProperty(exports, "forgetBrowserEventLoopImplementation", { enumerable: true, get: function () { return get_browser_instance_1.forgetBrowserEventLoopImplementation; } });
28
+ Object.defineProperty(exports, "getBrowserInstanceImplementation", { enumerable: true, get: function () { return get_browser_instance_1.getBrowserInstanceImplementation; } });
29
+ var compositions_1 = require("./handlers/compositions");
30
+ Object.defineProperty(exports, "compositionsHandler", { enumerable: true, get: function () { return compositions_1.compositionsHandler; } });
31
+ var launch_1 = require("./handlers/launch");
32
+ Object.defineProperty(exports, "launchHandler", { enumerable: true, get: function () { return launch_1.launchHandler; } });
33
+ var progress_1 = require("./handlers/progress");
34
+ Object.defineProperty(exports, "progressHandler", { enumerable: true, get: function () { return progress_1.progressHandler; } });
35
+ var renderer_1 = require("./handlers/renderer");
36
+ Object.defineProperty(exports, "rendererHandler", { enumerable: true, get: function () { return renderer_1.rendererHandler; } });
37
+ var start_1 = require("./handlers/start");
38
+ Object.defineProperty(exports, "startHandler", { enumerable: true, get: function () { return start_1.startHandler; } });
39
+ var still_1 = require("./handlers/still");
40
+ Object.defineProperty(exports, "stillHandler", { enumerable: true, get: function () { return still_1.stillHandler; } });
11
41
  var info_1 = require("./info");
12
42
  Object.defineProperty(exports, "infoHandler", { enumerable: true, get: function () { return info_1.infoHandler; } });
43
+ var inner_routine_1 = require("./inner-routine");
44
+ Object.defineProperty(exports, "innerHandler", { enumerable: true, get: function () { return inner_routine_1.innerHandler; } });
45
+ var inspect_error_1 = require("./inspect-error");
46
+ Object.defineProperty(exports, "inspectErrors", { enumerable: true, get: function () { return inspect_error_1.inspectErrors; } });
47
+ var invoke_webhook_1 = require("./invoke-webhook");
48
+ Object.defineProperty(exports, "invokeWebhook", { enumerable: true, get: function () { return invoke_webhook_1.invokeWebhook; } });
49
+ var leak_detection_1 = require("./leak-detection");
50
+ Object.defineProperty(exports, "setCurrentRequestId", { enumerable: true, get: function () { return leak_detection_1.setCurrentRequestId; } });
51
+ Object.defineProperty(exports, "stopLeakDetection", { enumerable: true, get: function () { return leak_detection_1.stopLeakDetection; } });
52
+ var most_expensive_chunks_1 = require("./most-expensive-chunks");
53
+ Object.defineProperty(exports, "OVERHEAD_TIME_PER_LAMBDA", { enumerable: true, get: function () { return most_expensive_chunks_1.OVERHEAD_TIME_PER_LAMBDA; } });
54
+ Object.defineProperty(exports, "getMostExpensiveChunks", { enumerable: true, get: function () { return most_expensive_chunks_1.getMostExpensiveChunks; } });
55
+ var overall_render_progress_1 = require("./overall-render-progress");
56
+ Object.defineProperty(exports, "makeInitialOverallRenderProgress", { enumerable: true, get: function () { return overall_render_progress_1.makeInitialOverallRenderProgress; } });
57
+ Object.defineProperty(exports, "makeOverallRenderProgress", { enumerable: true, get: function () { return overall_render_progress_1.makeOverallRenderProgress; } });
58
+ __exportStar(require("./provider-implementation"), exports);
13
59
  var serialize_artifact_1 = require("./serialize-artifact");
14
60
  Object.defineProperty(exports, "deserializeArtifact", { enumerable: true, get: function () { return serialize_artifact_1.deserializeArtifact; } });
15
61
  Object.defineProperty(exports, "serializeArtifact", { enumerable: true, get: function () { return serialize_artifact_1.serializeArtifact; } });
@@ -17,6 +63,7 @@ var response_stream_1 = require("./streaming/response-stream");
17
63
  Object.defineProperty(exports, "ResponseStream", { enumerable: true, get: function () { return response_stream_1.ResponseStream; } });
18
64
  var stream_writer_1 = require("./streaming/stream-writer");
19
65
  Object.defineProperty(exports, "streamWriter", { enumerable: true, get: function () { return stream_writer_1.streamWriter; } });
66
+ __exportStar(require("./types"), exports);
20
67
  var validate_composition_1 = require("./validate-composition");
21
68
  Object.defineProperty(exports, "validateComposition", { enumerable: true, get: function () { return validate_composition_1.validateComposition; } });
22
69
  var validate_outname_1 = require("./validate-outname");
@@ -24,5 +71,5 @@ Object.defineProperty(exports, "validateOutname", { enumerable: true, get: funct
24
71
  var validate_webhook_1 = require("./validate-webhook");
25
72
  Object.defineProperty(exports, "MAX_WEBHOOK_CUSTOM_DATA_SIZE", { enumerable: true, get: function () { return validate_webhook_1.MAX_WEBHOOK_CUSTOM_DATA_SIZE; } });
26
73
  Object.defineProperty(exports, "validateWebhook", { enumerable: true, get: function () { return validate_webhook_1.validateWebhook; } });
27
- var write_lambda_error_1 = require("./write-lambda-error");
28
- Object.defineProperty(exports, "getTmpDirStateIfENoSp", { enumerable: true, get: function () { return write_lambda_error_1.getTmpDirStateIfENoSp; } });
74
+ var write_error_to_storage_1 = require("./write-error-to-storage");
75
+ Object.defineProperty(exports, "getTmpDirStateIfENoSp", { enumerable: true, get: function () { return write_error_to_storage_1.getTmpDirStateIfENoSp; } });
package/dist/info.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { ServerlessPayload } from './constants';
2
- import type { CloudProvider } from './still';
2
+ import type { CloudProvider } from './types';
3
3
  export declare const infoHandler: <Provider extends CloudProvider>(serverlessParams: ServerlessPayload<Provider>) => Promise<{
4
4
  version: string;
5
5
  type: "success";
@@ -0,0 +1,22 @@
1
+ import type { ServerlessPayload } from './constants';
2
+ import type { RequestContext } from './handlers/renderer';
3
+ import type { WebhookClient } from './invoke-webhook';
4
+ import type { InsideFunctionSpecifics, ProviderSpecifics } from './provider-implementation';
5
+ import type { ResponseStreamWriter } from './streaming/stream-writer';
6
+ import type { CloudProvider } from './types';
7
+ export declare const innerHandler: <Provider extends CloudProvider>({ params, responseWriter, context, providerSpecifics, insideFunctionSpecifics, webhookClient, }: {
8
+ params: ServerlessPayload<Provider>;
9
+ responseWriter: ResponseStreamWriter;
10
+ context: RequestContext;
11
+ providerSpecifics: ProviderSpecifics<Provider>;
12
+ insideFunctionSpecifics: InsideFunctionSpecifics;
13
+ webhookClient: WebhookClient;
14
+ }) => Promise<void>;
15
+ export declare const innerRoutine: <Provider extends CloudProvider>({ params, responseWriter, context, providerSpecifics, insideFunctionSpecifics, webhookClient, }: {
16
+ params: ServerlessPayload<Provider>;
17
+ responseWriter: ResponseStreamWriter;
18
+ context: RequestContext;
19
+ providerSpecifics: ProviderSpecifics<Provider>;
20
+ insideFunctionSpecifics: InsideFunctionSpecifics;
21
+ webhookClient: WebhookClient;
22
+ }) => Promise<void>;