@remotion/cli 4.0.407 → 4.0.408

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/dist/benchmark.js CHANGED
@@ -22,7 +22,7 @@ const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-
22
22
  const show_compositions_picker_1 = require("./show-compositions-picker");
23
23
  const truthy_1 = require("./truthy");
24
24
  const DEFAULT_RUNS = 3;
25
- const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
25
+ const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
26
26
  const getValidConcurrency = (cliConcurrency) => {
27
27
  const { concurrencies } = parsed_cli_1.parsedCli;
28
28
  if (!concurrencies) {
@@ -119,7 +119,13 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
119
119
  const publicDir = publicDirOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
120
120
  const chromeMode = chromeModeOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
121
121
  const darkMode = darkModeOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
122
- const experimentalClientSideRenderingEnabled = config_1.ConfigInternals.getExperimentalClientSideRenderingEnabled();
122
+ const experimentalClientSideRenderingEnabled = experimentalClientSideRenderingOption.getValue({
123
+ commandLine: parsed_cli_1.parsedCli,
124
+ }).value;
125
+ const askAIEnabled = askAIOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
126
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
127
+ commandLine: parsed_cli_1.parsedCli,
128
+ }).value;
123
129
  if (experimentalClientSideRenderingEnabled) {
124
130
  log_1.Log.warn({ indent: false, logLevel }, 'Enabling WIP client-side rendering. Please see caveats on https://www.remotion.dev/docs/client-side-rendering/.');
125
131
  }
@@ -177,6 +183,8 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
177
183
  publicPath,
178
184
  audioLatencyHint: null,
179
185
  experimentalClientSideRenderingEnabled,
186
+ askAIEnabled,
187
+ keyboardShortcutsEnabled,
180
188
  });
181
189
  (0, cleanup_before_quit_1.registerCleanupJob)(`Deleting bundle`, () => cleanupBundle());
182
190
  const puppeteerInstance = await browserInstance;
package/dist/bundle.js CHANGED
@@ -10,7 +10,6 @@ const studio_server_1 = require("@remotion/studio-server");
10
10
  const fs_1 = require("fs");
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const chalk_1 = require("./chalk");
13
- const config_1 = require("./config");
14
13
  const entry_point_1 = require("./entry-point");
15
14
  const get_github_repository_1 = require("./get-github-repository");
16
15
  const log_1 = require("./log");
@@ -18,7 +17,7 @@ const parsed_cli_1 = require("./parsed-cli");
18
17
  const setup_cache_1 = require("./setup-cache");
19
18
  const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
20
19
  const yes_or_no_1 = require("./yes-or-no");
21
- const { publicPathOption, publicDirOption, disableGitSourceOption, audioLatencyHintOption, } = client_1.BrowserSafeApis.options;
20
+ const { publicPathOption, publicDirOption, disableGitSourceOption, audioLatencyHintOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
22
21
  const bundleCommand = async (remotionRoot, args, logLevel) => {
23
22
  const { file, reason } = (0, entry_point_1.findEntryPoint)({
24
23
  args,
@@ -41,7 +40,13 @@ const bundleCommand = async (remotionRoot, args, logLevel) => {
41
40
  log_1.Log.error({ indent: false, logLevel }, 'See: https://www.remotion.dev/docs/terminology/entry-point');
42
41
  process.exit(1);
43
42
  }
44
- const experimentalClientSideRenderingEnabled = config_1.ConfigInternals.getExperimentalClientSideRenderingEnabled();
43
+ const experimentalClientSideRenderingEnabled = experimentalClientSideRenderingOption.getValue({
44
+ commandLine: parsed_cli_1.parsedCli,
45
+ }).value;
46
+ const askAIEnabled = askAIOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
47
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
48
+ commandLine: parsed_cli_1.parsedCli,
49
+ }).value;
45
50
  if (experimentalClientSideRenderingEnabled) {
46
51
  log_1.Log.warn({ indent: false, logLevel }, 'Enabling WIP client-side rendering. Please see caveats on https://www.remotion.dev/docs/client-side-rendering/.');
47
52
  }
@@ -99,6 +104,8 @@ const bundleCommand = async (remotionRoot, args, logLevel) => {
99
104
  publicPath,
100
105
  audioLatencyHint,
101
106
  experimentalClientSideRenderingEnabled,
107
+ askAIEnabled,
108
+ keyboardShortcutsEnabled,
102
109
  });
103
110
  log_1.Log.info({ indent: false, logLevel }, chalk_1.chalk.blue(`${existed ? '○' : '+'} ${output}`));
104
111
  if (!gitignoreFolder) {
@@ -6,7 +6,6 @@ const client_1 = require("@remotion/renderer/client");
6
6
  const no_react_1 = require("remotion/no-react");
7
7
  const browser_download_bar_1 = require("./browser-download-bar");
8
8
  const cleanup_before_quit_1 = require("./cleanup-before-quit");
9
- const config_1 = require("./config");
10
9
  const preview_server_1 = require("./config/preview-server");
11
10
  const entry_point_1 = require("./entry-point");
12
11
  const get_cli_options_1 = require("./get-cli-options");
@@ -14,7 +13,7 @@ const log_1 = require("./log");
14
13
  const parsed_cli_1 = require("./parsed-cli");
15
14
  const print_compositions_1 = require("./print-compositions");
16
15
  const setup_cache_1 = require("./setup-cache");
17
- const { enableMultiprocessOnLinuxOption, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, glOption, headlessOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
16
+ const { enableMultiprocessOnLinuxOption, offthreadVideoCacheSizeInBytesOption, offthreadVideoThreadsOption, glOption, headlessOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
18
17
  const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
19
18
  const { file, reason } = (0, entry_point_1.findEntryPoint)({
20
19
  args,
@@ -58,6 +57,7 @@ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
58
57
  const mediaCacheSizeInBytes = mediaCacheSizeInBytesOption.getValue({
59
58
  commandLine: parsed_cli_1.parsedCli,
60
59
  }).value;
60
+ const askAIEnabled = askAIOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
61
61
  const chromiumOptions = {
62
62
  disableWebSecurity,
63
63
  enableMultiProcessOnLinux: enableMultiprocessOnLinuxOption.getValue({
@@ -69,7 +69,12 @@ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
69
69
  userAgent,
70
70
  darkMode,
71
71
  };
72
- const experimentalClientSideRenderingEnabled = config_1.ConfigInternals.getExperimentalClientSideRenderingEnabled();
72
+ const experimentalClientSideRenderingEnabled = experimentalClientSideRenderingOption.getValue({
73
+ commandLine: parsed_cli_1.parsedCli,
74
+ }).value;
75
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
76
+ commandLine: parsed_cli_1.parsedCli,
77
+ }).value;
73
78
  if (experimentalClientSideRenderingEnabled) {
74
79
  log_1.Log.warn({ indent: false, logLevel }, 'Enabling WIP client-side rendering. Please see caveats on https://www.remotion.dev/docs/client-side-rendering/.');
75
80
  }
@@ -93,6 +98,8 @@ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
93
98
  publicPath,
94
99
  audioLatencyHint,
95
100
  experimentalClientSideRenderingEnabled,
101
+ askAIEnabled,
102
+ keyboardShortcutsEnabled,
96
103
  });
97
104
  (0, cleanup_before_quit_1.registerCleanupJob)(`Cleanup bundle`, () => cleanupBundle());
98
105
  const compositions = await renderer_1.RenderInternals.internalGetCompositions({
@@ -290,6 +290,10 @@ declare global {
290
290
  * Default: false
291
291
  */
292
292
  readonly setDisallowParallelEncoding: (disallowParallelEncoding: boolean) => void;
293
+ /**
294
+ * Enables or disables the Ask AI Modal in Studio
295
+ */
296
+ readonly setAskAIEnabled: (askAIEnabled: boolean) => void;
293
297
  /**
294
298
  * Removes the --single-process flag that gets passed to
295
299
  Chromium on Linux by default. This will make the render faster because
@@ -418,8 +422,6 @@ export declare const ConfigInternals: {
418
422
  setStillFrame: (frame: number) => void;
419
423
  getMaxTimelineTracks: () => number;
420
424
  defaultOverrideFunction: WebpackOverrideFn;
421
- getKeyboardShortcutsEnabled: () => boolean;
422
- getExperimentalClientSideRenderingEnabled: () => boolean;
423
425
  getFfmpegOverrideFunction: () => import("@remotion/renderer").FfmpegOverrideFn;
424
426
  getHeight: () => number | null;
425
427
  getWidth: () => number | null;
@@ -25,12 +25,10 @@ const concurrency_2 = require("./concurrency");
25
25
  const entry_point_1 = require("./entry-point");
26
26
  const env_file_2 = require("./env-file");
27
27
  const every_nth_frame_1 = require("./every-nth-frame");
28
- const experimental_client_side_rendering_1 = require("./experimental-client-side-rendering");
29
28
  const ffmpeg_override_1 = require("./ffmpeg-override");
30
29
  const frame_range_2 = require("./frame-range");
31
30
  const height_1 = require("./height");
32
31
  const image_sequence_2 = require("./image-sequence");
33
- const keyboard_shortcuts_1 = require("./keyboard-shortcuts");
34
32
  const metadata_1 = require("./metadata");
35
33
  const number_of_shared_audio_tags_1 = require("./number-of-shared-audio-tags");
36
34
  const open_browser_1 = require("./open-browser");
@@ -43,7 +41,7 @@ const user_agent_1 = require("./user-agent");
43
41
  const webpack_caching_2 = require("./webpack-caching");
44
42
  const webpack_poll_1 = require("./webpack-poll");
45
43
  const width_1 = require("./width");
46
- const { offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, chromeModeOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, publicDirOption, binariesDirectoryOption, preferLosslessOption, forSeamlessAacConcatenationOption, audioCodecOption, publicPathOption, hardwareAccelerationOption, audioLatencyHintOption, enableCrossSiteIsolationOption, imageSequencePatternOption, darkModeOption, publicLicenseKeyOption, } = client_1.BrowserSafeApis.options;
44
+ const { offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, chromeModeOption, mutedOption, videoCodecOption, colorSpaceOption, disallowParallelEncodingOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, publicDirOption, binariesDirectoryOption, preferLosslessOption, forSeamlessAacConcatenationOption, audioCodecOption, publicPathOption, hardwareAccelerationOption, audioLatencyHintOption, enableCrossSiteIsolationOption, imageSequencePatternOption, darkModeOption, askAIOption, publicLicenseKeyOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
47
45
  exports.Config = {
48
46
  get Bundling() {
49
47
  throw new Error('The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.');
@@ -64,8 +62,8 @@ exports.Config = {
64
62
  throw new Error('The config format has changed. Change `Config.Puppeteer.*()` calls to `Config.*()` in your config file.');
65
63
  },
66
64
  setMaxTimelineTracks: studio_server_1.StudioServerInternals.setMaxTimelineTracks,
67
- setKeyboardShortcutsEnabled: keyboard_shortcuts_1.setKeyboardShortcutsEnabled,
68
- setExperimentalClientSideRenderingEnabled: experimental_client_side_rendering_1.setExperimentalClientSideRenderingEnabled,
65
+ setKeyboardShortcutsEnabled: keyboardShortcutsOption.setConfig,
66
+ setExperimentalClientSideRenderingEnabled: experimentalClientSideRenderingOption.setConfig,
69
67
  setNumberOfSharedAudioTags: number_of_shared_audio_tags_1.setNumberOfSharedAudioTags,
70
68
  setWebpackPollingInMilliseconds: webpack_poll_1.setWebpackPollingInMilliseconds,
71
69
  setShouldOpenBrowser: open_browser_1.setShouldOpenBrowser,
@@ -141,6 +139,7 @@ exports.Config = {
141
139
  setImageSequencePattern: imageSequencePatternOption.setConfig,
142
140
  setHardwareAcceleration: hardwareAccelerationOption.setConfig,
143
141
  setEnableCrossSiteIsolation: enableCrossSiteIsolationOption.setConfig,
142
+ setAskAIEnabled: askAIOption.setConfig,
144
143
  setPublicLicenseKey: publicLicenseKeyOption.setConfig,
145
144
  };
146
145
  exports.ConfigInternals = {
@@ -168,8 +167,6 @@ exports.ConfigInternals = {
168
167
  setStillFrame: still_frame_1.setStillFrame,
169
168
  getMaxTimelineTracks: studio_server_1.StudioServerInternals.getMaxTimelineTracks,
170
169
  defaultOverrideFunction: override_webpack_1.defaultOverrideFunction,
171
- getKeyboardShortcutsEnabled: keyboard_shortcuts_1.getKeyboardShortcutsEnabled,
172
- getExperimentalClientSideRenderingEnabled: experimental_client_side_rendering_1.getExperimentalClientSideRenderingEnabled,
173
170
  getFfmpegOverrideFunction: ffmpeg_override_1.getFfmpegOverrideFunction,
174
171
  getHeight: height_1.getHeight,
175
172
  getWidth: width_1.getWidth,
@@ -61,6 +61,7 @@ exports.listOfRemotionPackages = [
61
61
  '@remotion/rive',
62
62
  '@remotion/shapes',
63
63
  '@remotion/skia',
64
+ '@remotion/skills',
64
65
  '@remotion/promo-pages',
65
66
  '@remotion/streaming',
66
67
  '@remotion/serverless',
@@ -249,7 +249,7 @@ const getGuiProgressSubtitle = (progress) => {
249
249
  return `Copying public dir ${studio_server_1.StudioServerInternals.formatBytes(progress.copyingState.bytes)}`;
250
250
  }
251
251
  if (!progress.rendering) {
252
- return `Getting compositions`;
252
+ return `Getting composition`;
253
253
  }
254
254
  // Get render estimated time value and extract hours, minutes, and seconds
255
255
  const { timeRemainingInMilliseconds } = progress.rendering;
@@ -2,7 +2,7 @@ import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromeMode,
2
2
  import type { HardwareAccelerationOption } from '@remotion/renderer/client';
3
3
  import type { JobProgressCallback } from '@remotion/studio-server';
4
4
  import type { _InternalTypes } from 'remotion';
5
- export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, }: {
5
+ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, askAIEnabled, experimentalClientSideRenderingEnabled, keyboardShortcutsEnabled, }: {
6
6
  remotionRoot: string;
7
7
  fullEntryPoint: string;
8
8
  entryPointReason: string;
@@ -62,4 +62,7 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
62
62
  audioLatencyHint: AudioContextLatencyCategory | null;
63
63
  imageSequencePattern: string | null;
64
64
  mediaCacheSizeInBytes: number | null;
65
+ askAIEnabled: boolean;
66
+ experimentalClientSideRenderingEnabled: boolean;
67
+ keyboardShortcutsEnabled: boolean;
65
68
  }) => Promise<void>;
@@ -62,7 +62,7 @@ const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying
62
62
  const truthy_1 = require("../truthy");
63
63
  const user_passed_output_location_1 = require("../user-passed-output-location");
64
64
  const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
65
- const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, }) => {
65
+ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, askAIEnabled, experimentalClientSideRenderingEnabled, keyboardShortcutsEnabled, }) => {
66
66
  var _a;
67
67
  let bundlingProgress = null;
68
68
  let renderingProgress = null;
@@ -182,7 +182,9 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
182
182
  maxTimelineTracks: null,
183
183
  publicPath,
184
184
  audioLatencyHint,
185
- experimentalClientSideRenderingEnabled: false,
185
+ experimentalClientSideRenderingEnabled,
186
+ askAIEnabled,
187
+ keyboardShortcutsEnabled,
186
188
  });
187
189
  addCleanupCallback(`Cleanup bundle`, () => cleanupBundle());
188
190
  const onDownload = (0, make_on_download_1.makeOnDownload)({
@@ -1,6 +1,6 @@
1
1
  import type { Browser, BrowserExecutable, CancelSignal, ChromeMode, ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
2
2
  import type { JobProgressCallback } from '@remotion/studio-server';
3
- export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, }: {
3
+ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, askAIEnabled, experimentalClientSideRenderingEnabled, keyboardShortcutsEnabled, }: {
4
4
  remotionRoot: string;
5
5
  fullEntryPoint: string;
6
6
  entryPointReason: string;
@@ -34,4 +34,7 @@ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPoin
34
34
  chromeMode: ChromeMode;
35
35
  audioLatencyHint: AudioContextLatencyCategory | null;
36
36
  mediaCacheSizeInBytes: number | null;
37
+ askAIEnabled: boolean;
38
+ experimentalClientSideRenderingEnabled: boolean;
39
+ keyboardShortcutsEnabled: boolean;
37
40
  }) => Promise<void>;
@@ -28,7 +28,7 @@ const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying
28
28
  const truthy_1 = require("../truthy");
29
29
  const user_passed_output_location_1 = require("../user-passed-output-location");
30
30
  const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
31
- const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, }) => {
31
+ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, askAIEnabled, experimentalClientSideRenderingEnabled, keyboardShortcutsEnabled, }) => {
32
32
  var _a, _b;
33
33
  const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
34
34
  log_1.Log.verbose({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
@@ -110,7 +110,9 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
110
110
  maxTimelineTracks: null,
111
111
  publicPath,
112
112
  audioLatencyHint,
113
- experimentalClientSideRenderingEnabled: false,
113
+ experimentalClientSideRenderingEnabled,
114
+ askAIEnabled,
115
+ keyboardShortcutsEnabled,
114
116
  });
115
117
  const server = await renderer_1.RenderInternals.prepareServer({
116
118
  offthreadVideoThreads: offthreadVideoThreads !== null && offthreadVideoThreads !== void 0 ? offthreadVideoThreads : renderer_1.RenderInternals.DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS,
@@ -7,7 +7,7 @@ const convert_entry_point_to_serve_url_1 = require("../convert-entry-point-to-se
7
7
  const get_cli_options_1 = require("../get-cli-options");
8
8
  const parsed_cli_1 = require("../parsed-cli");
9
9
  const still_1 = require("../render-flows/still");
10
- const { publicDirOption } = client_1.BrowserSafeApis.options;
10
+ const { publicDirOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
11
11
  const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, }) => {
12
12
  if (job.type !== 'still') {
13
13
  throw new Error('Expected still job');
@@ -20,6 +20,13 @@ const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addClea
20
20
  const publicDir = publicDirOption.getValue({
21
21
  commandLine: parsed_cli_1.parsedCli,
22
22
  }).value;
23
+ const askAIEnabled = askAIOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
24
+ const experimentalClientSideRenderingEnabled = experimentalClientSideRenderingOption.getValue({
25
+ commandLine: parsed_cli_1.parsedCli,
26
+ }).value;
27
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
28
+ commandLine: parsed_cli_1.parsedCli,
29
+ }).value;
23
30
  const fullEntryPoint = (0, convert_entry_point_to_serve_url_1.convertEntryPointToServeUrl)(entryPoint);
24
31
  await (0, still_1.renderStillFlow)({
25
32
  remotionRoot,
@@ -55,6 +62,9 @@ const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addClea
55
62
  chromeMode: job.chromeMode,
56
63
  audioLatencyHint: null,
57
64
  mediaCacheSizeInBytes: job.mediaCacheSizeInBytes,
65
+ askAIEnabled,
66
+ experimentalClientSideRenderingEnabled,
67
+ keyboardShortcutsEnabled,
58
68
  });
59
69
  };
60
70
  exports.processStill = processStill;
@@ -7,7 +7,7 @@ const convert_entry_point_to_serve_url_1 = require("../convert-entry-point-to-se
7
7
  const get_cli_options_1 = require("../get-cli-options");
8
8
  const parsed_cli_1 = require("../parsed-cli");
9
9
  const render_1 = require("../render-flows/render");
10
- const { publicDirOption } = client_1.BrowserSafeApis.options;
10
+ const { publicDirOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
11
11
  const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addCleanupCallback, logLevel, }) => {
12
12
  var _a, _b, _c;
13
13
  if (job.type !== 'video' && job.type !== 'sequence') {
@@ -16,6 +16,10 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
16
16
  const publicDir = publicDirOption.getValue({
17
17
  commandLine: parsed_cli_1.parsedCli,
18
18
  }).value;
19
+ const askAIEnabled = askAIOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
20
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
21
+ commandLine: parsed_cli_1.parsedCli,
22
+ }).value;
19
23
  const { browserExecutable, ffmpegOverride } = (0, get_cli_options_1.getCliOptions)({
20
24
  isStill: true,
21
25
  logLevel,
@@ -82,6 +86,10 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
82
86
  mediaCacheSizeInBytes: job.mediaCacheSizeInBytes,
83
87
  audioLatencyHint: null,
84
88
  imageSequencePattern: null,
89
+ askAIEnabled,
90
+ experimentalClientSideRenderingEnabled: experimentalClientSideRenderingOption.getValue({ commandLine: parsed_cli_1.parsedCli })
91
+ .value,
92
+ keyboardShortcutsEnabled,
85
93
  });
86
94
  };
87
95
  exports.processVideoJob = processVideoJob;
package/dist/render.js CHANGED
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
11
11
  const log_1 = require("./log");
12
12
  const parsed_cli_1 = require("./parsed-cli");
13
13
  const render_1 = require("./render-flows/render");
14
- const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
14
+ const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
15
15
  const render = async (remotionRoot, args, logLevel) => {
16
16
  const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
17
17
  if (!file) {
@@ -96,6 +96,10 @@ const render = async (remotionRoot, args, logLevel) => {
96
96
  const publicPath = publicPathOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
97
97
  const chromeMode = chromeModeOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
98
98
  const darkMode = darkModeOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
99
+ const askAIEnabled = askAIOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
100
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
101
+ commandLine: parsed_cli_1.parsedCli,
102
+ }).value;
99
103
  const chromiumOptions = {
100
104
  disableWebSecurity,
101
105
  enableMultiProcessOnLinux,
@@ -185,6 +189,10 @@ const render = async (remotionRoot, args, logLevel) => {
185
189
  offthreadVideoThreads,
186
190
  audioLatencyHint,
187
191
  imageSequencePattern,
192
+ askAIEnabled,
193
+ experimentalClientSideRenderingEnabled: experimentalClientSideRenderingOption.getValue({ commandLine: parsed_cli_1.parsedCli })
194
+ .value,
195
+ keyboardShortcutsEnabled,
188
196
  });
189
197
  };
190
198
  exports.render = render;
@@ -1,7 +1,7 @@
1
1
  import type { LogLevel } from '@remotion/renderer';
2
2
  import type { BundlingState, CopyingState } from '@remotion/studio-server';
3
3
  import type { GitSource } from '@remotion/studio-shared';
4
- export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, }: {
4
+ export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, askAIEnabled, keyboardShortcutsEnabled, }: {
5
5
  fullPath: string;
6
6
  remotionRoot: string;
7
7
  publicDir: string | null;
@@ -21,11 +21,13 @@ export declare const bundleOnCliOrTakeServeUrl: ({ fullPath, remotionRoot, publi
21
21
  publicPath: string | null;
22
22
  audioLatencyHint: AudioContextLatencyCategory | null;
23
23
  experimentalClientSideRenderingEnabled: boolean;
24
+ askAIEnabled: boolean;
25
+ keyboardShortcutsEnabled: boolean;
24
26
  }) => Promise<{
25
27
  urlOrBundle: string;
26
28
  cleanup: () => void;
27
29
  }>;
28
- export declare const bundleOnCli: ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, }: {
30
+ export declare const bundleOnCli: ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, askAIEnabled, keyboardShortcutsEnabled, }: {
29
31
  fullPath: string;
30
32
  remotionRoot: string;
31
33
  publicDir: string | null;
@@ -45,4 +47,6 @@ export declare const bundleOnCli: ({ fullPath, remotionRoot, publicDir, onProgre
45
47
  publicPath: string | null;
46
48
  audioLatencyHint: AudioContextLatencyCategory | null;
47
49
  experimentalClientSideRenderingEnabled: boolean;
50
+ keyboardShortcutsEnabled: boolean;
51
+ askAIEnabled: boolean;
48
52
  }) => Promise<string>;
@@ -13,7 +13,7 @@ const get_render_defaults_1 = require("./get-render-defaults");
13
13
  const log_1 = require("./log");
14
14
  const progress_bar_1 = require("./progress-bar");
15
15
  const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-logger");
16
- const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, }) => {
16
+ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, onProgress, indentOutput, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, bufferStateDelayInMilliseconds, maxTimelineTracks, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, askAIEnabled, keyboardShortcutsEnabled, }) => {
17
17
  const isServeUrl = renderer_1.RenderInternals.isServeUrl(fullPath);
18
18
  const isBundle = (0, fs_1.existsSync)(fullPath) && (0, fs_1.existsSync)(path_1.default.join(fullPath, 'index.html'));
19
19
  if (isServeUrl || isBundle) {
@@ -49,6 +49,8 @@ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, on
49
49
  publicPath,
50
50
  audioLatencyHint,
51
51
  experimentalClientSideRenderingEnabled,
52
+ askAIEnabled,
53
+ keyboardShortcutsEnabled,
52
54
  });
53
55
  return {
54
56
  urlOrBundle: bundled,
@@ -56,7 +58,7 @@ const bundleOnCliOrTakeServeUrl = async ({ fullPath, remotionRoot, publicDir, on
56
58
  };
57
59
  };
58
60
  exports.bundleOnCliOrTakeServeUrl = bundleOnCliOrTakeServeUrl;
59
- const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, }) => {
61
+ const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallback, indent, logLevel, onDirectoryCreated, quietProgress, quietFlag, outDir, gitSource, maxTimelineTracks, bufferStateDelayInMilliseconds, publicPath, audioLatencyHint, experimentalClientSideRenderingEnabled, askAIEnabled, keyboardShortcutsEnabled, }) => {
60
62
  var _a;
61
63
  const shouldCache = config_1.ConfigInternals.getWebpackCaching();
62
64
  const symlinkState = {
@@ -108,6 +110,8 @@ const bundleOnCli = async ({ fullPath, remotionRoot, publicDir, onProgressCallba
108
110
  onSymlinkDetected,
109
111
  outDir: outDir !== null && outDir !== void 0 ? outDir : null,
110
112
  publicPath,
113
+ askAIEnabled,
114
+ keyboardShortcutsEnabled,
111
115
  };
112
116
  const [hash] = await bundler_1.BundlerInternals.getConfig({
113
117
  outDir: '',
package/dist/still.js CHANGED
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
11
11
  const log_1 = require("./log");
12
12
  const parsed_cli_1 = require("./parsed-cli");
13
13
  const still_1 = require("./render-flows/still");
14
- const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, } = client_1.BrowserSafeApis.options;
14
+ const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
15
15
  const still = async (remotionRoot, args, logLevel) => {
16
16
  const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
17
17
  if (!file) {
@@ -72,6 +72,10 @@ const still = async (remotionRoot, args, logLevel) => {
72
72
  commandLine: parsed_cli_1.parsedCli,
73
73
  }).value;
74
74
  const darkMode = darkModeOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
75
+ const askAIEnabled = askAIOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
76
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
77
+ commandLine: parsed_cli_1.parsedCli,
78
+ }).value;
75
79
  const chromiumOptions = {
76
80
  disableWebSecurity,
77
81
  enableMultiProcessOnLinux,
@@ -121,6 +125,10 @@ const still = async (remotionRoot, args, logLevel) => {
121
125
  chromeMode,
122
126
  audioLatencyHint,
123
127
  mediaCacheSizeInBytes,
128
+ askAIEnabled,
129
+ experimentalClientSideRenderingEnabled: experimentalClientSideRenderingOption.getValue({ commandLine: parsed_cli_1.parsedCli })
130
+ .value,
131
+ keyboardShortcutsEnabled,
124
132
  });
125
133
  };
126
134
  exports.still = still;
package/dist/studio.js CHANGED
@@ -24,7 +24,7 @@ const getPort = () => {
24
24
  }
25
25
  return null;
26
26
  };
27
- const { binariesDirectoryOption, publicDirOption, disableGitSourceOption, enableCrossSiteIsolationOption, } = client_1.BrowserSafeApis.options;
27
+ const { binariesDirectoryOption, publicDirOption, disableGitSourceOption, enableCrossSiteIsolationOption, askAIOption, experimentalClientSideRenderingOption, keyboardShortcutsOption, } = client_1.BrowserSafeApis.options;
28
28
  const studioCommand = async (remotionRoot, args, logLevel) => {
29
29
  var _a;
30
30
  const { file, reason } = (0, entry_point_1.findEntryPoint)({
@@ -60,8 +60,12 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
60
60
  });
61
61
  });
62
62
  }, logLevel, false);
63
- const keyboardShortcutsEnabled = config_1.ConfigInternals.getKeyboardShortcutsEnabled();
64
- const experimentalClientSideRenderingEnabled = config_1.ConfigInternals.getExperimentalClientSideRenderingEnabled();
63
+ const keyboardShortcutsEnabled = keyboardShortcutsOption.getValue({
64
+ commandLine: parsed_cli_1.parsedCli,
65
+ }).value;
66
+ const experimentalClientSideRenderingEnabled = experimentalClientSideRenderingOption.getValue({
67
+ commandLine: parsed_cli_1.parsedCli,
68
+ }).value;
65
69
  if (experimentalClientSideRenderingEnabled) {
66
70
  log_1.Log.warn({ indent: false, logLevel }, 'Enabling WIP client-side rendering. Please see caveats on https://www.remotion.dev/docs/client-side-rendering/.');
67
71
  }
@@ -77,6 +81,9 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
77
81
  const enableCrossSiteIsolation = enableCrossSiteIsolationOption.getValue({
78
82
  commandLine: parsed_cli_1.parsedCli,
79
83
  }).value;
84
+ const askAIEnabled = askAIOption.getValue({
85
+ commandLine: parsed_cli_1.parsedCli,
86
+ }).value;
80
87
  const gitSource = (0, get_github_repository_1.getGitSource)({ remotionRoot, disableGitSource, logLevel });
81
88
  await studio_server_1.StudioServerInternals.startStudio({
82
89
  previewEntry: require.resolve('@remotion/studio/previewEntry'),
@@ -112,6 +119,7 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
112
119
  forceIPv4: parsed_cli_1.parsedCli.ipv4,
113
120
  audioLatencyHint: parsed_cli_1.parsedCli['audio-latency-hint'],
114
121
  enableCrossSiteIsolation,
122
+ askAIEnabled,
115
123
  });
116
124
  // If the server is restarted through the UI, let's do the whole thing again.
117
125
  await (0, exports.studioCommand)(remotionRoot, args, logLevel);
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/cli"
4
4
  },
5
5
  "name": "@remotion/cli",
6
- "version": "4.0.407",
6
+ "version": "4.0.408",
7
7
  "description": "Control Remotion features using the `npx remotion` command",
8
8
  "main": "dist/index.js",
9
9
  "sideEffects": false,
@@ -36,17 +36,17 @@
36
36
  "author": "Jonny Burger <jonny@remotion.dev>",
37
37
  "license": "SEE LICENSE IN LICENSE.md",
38
38
  "dependencies": {
39
- "@remotion/bundler": "4.0.407",
40
- "@remotion/media-utils": "4.0.407",
41
- "@remotion/player": "4.0.407",
42
- "@remotion/renderer": "4.0.407",
43
- "@remotion/studio-shared": "4.0.407",
44
- "@remotion/studio-server": "4.0.407",
45
- "@remotion/studio": "4.0.407",
39
+ "@remotion/bundler": "4.0.408",
40
+ "@remotion/media-utils": "4.0.408",
41
+ "@remotion/player": "4.0.408",
42
+ "@remotion/renderer": "4.0.408",
43
+ "@remotion/studio-shared": "4.0.408",
44
+ "@remotion/studio-server": "4.0.408",
45
+ "@remotion/studio": "4.0.408",
46
46
  "dotenv": "9.0.2",
47
47
  "minimist": "1.2.6",
48
48
  "prompts": "2.4.2",
49
- "remotion": "4.0.407"
49
+ "remotion": "4.0.408"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "react": ">=16.8.0",
@@ -57,14 +57,14 @@
57
57
  "@types/prompts": "^2.4.1",
58
58
  "@types/prettier": "^2.7.2",
59
59
  "@types/node": "20.12.14",
60
- "@remotion/zod-types": "4.0.407",
61
- "@remotion/tailwind-v4": "4.0.407",
62
- "@remotion/enable-scss": "4.0.407",
63
- "@remotion/skia": "4.0.407",
60
+ "@remotion/zod-types": "4.0.408",
61
+ "@remotion/tailwind-v4": "4.0.408",
62
+ "@remotion/enable-scss": "4.0.408",
63
+ "@remotion/skia": "4.0.408",
64
64
  "react": "19.2.3",
65
65
  "react-dom": "19.2.3",
66
66
  "zod": "3.22.3",
67
- "@remotion/eslint-config-internal": "4.0.407",
67
+ "@remotion/eslint-config-internal": "4.0.408",
68
68
  "eslint": "9.19.0"
69
69
  },
70
70
  "keywords": [