@lvce-editor/extension-management-worker 4.51.0 → 4.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -546,7 +546,7 @@ const waitForWebSocketToBeOpen = webSocket => {
546
546
  open: Open
547
547
  });
548
548
  };
549
- const create$c = async ({
549
+ const create$d = async ({
550
550
  webSocket
551
551
  }) => {
552
552
  const firstWebSocketEvent = await waitForWebSocketToBeOpen(webSocket);
@@ -583,7 +583,7 @@ const wrap = webSocket => {
583
583
  };
584
584
  const IpcParentWithWebSocket$1 = {
585
585
  __proto__: null,
586
- create: create$c,
586
+ create: create$d,
587
587
  wrap
588
588
  };
589
589
 
@@ -863,7 +863,7 @@ const getErrorResponse = (id, error, preparePrettyError, logError) => {
863
863
  const errorProperty = getErrorProperty(error, prettyError);
864
864
  return create$1$1(id, errorProperty);
865
865
  };
866
- const create$b = (message, result) => {
866
+ const create$c = (message, result) => {
867
867
  return {
868
868
  id: message.id,
869
869
  jsonrpc: Two$1,
@@ -872,7 +872,7 @@ const create$b = (message, result) => {
872
872
  };
873
873
  const getSuccessResponse = (message, result) => {
874
874
  const resultProperty = result ?? null;
875
- return create$b(message, resultProperty);
875
+ return create$c(message, resultProperty);
876
876
  };
877
877
  const getErrorResponseSimple = (id, error) => {
878
878
  return {
@@ -966,7 +966,7 @@ const handleJsonRpcMessage = async (...args) => {
966
966
 
967
967
  const Two = '2.0';
968
968
 
969
- const create$a = (method, params) => {
969
+ const create$b = (method, params) => {
970
970
  return {
971
971
  jsonrpc: Two,
972
972
  method,
@@ -974,7 +974,7 @@ const create$a = (method, params) => {
974
974
  };
975
975
  };
976
976
 
977
- const create$9 = (id, method, params) => {
977
+ const create$a = (id, method, params) => {
978
978
  const message = {
979
979
  id,
980
980
  jsonrpc: Two,
@@ -985,12 +985,12 @@ const create$9 = (id, method, params) => {
985
985
  };
986
986
 
987
987
  let id = 0;
988
- const create$8 = () => {
988
+ const create$9 = () => {
989
989
  return ++id;
990
990
  };
991
991
 
992
992
  const registerPromise = map => {
993
- const id = create$8();
993
+ const id = create$9();
994
994
  const {
995
995
  promise,
996
996
  resolve
@@ -1007,7 +1007,7 @@ const invokeHelper = async (callbacks, ipc, method, params, useSendAndTransfer)
1007
1007
  id,
1008
1008
  promise
1009
1009
  } = registerPromise(callbacks);
1010
- const message = create$9(id, method, params);
1010
+ const message = create$a(id, method, params);
1011
1011
  if (useSendAndTransfer && ipc.sendAndTransfer) {
1012
1012
  ipc.sendAndTransfer(message);
1013
1013
  } else {
@@ -1043,7 +1043,7 @@ const createRpc = ipc => {
1043
1043
  * @deprecated
1044
1044
  */
1045
1045
  send(method, ...params) {
1046
- const message = create$a(method, params);
1046
+ const message = create$b(method, params);
1047
1047
  ipc.send(message);
1048
1048
  }
1049
1049
  };
@@ -1083,7 +1083,7 @@ const listen$1 = async (module, options) => {
1083
1083
  return ipc;
1084
1084
  };
1085
1085
 
1086
- const create$7 = async ({
1086
+ const create$8 = async ({
1087
1087
  commandMap,
1088
1088
  isMessagePortOpen = true,
1089
1089
  messagePort
@@ -1101,7 +1101,7 @@ const create$7 = async ({
1101
1101
  return rpc;
1102
1102
  };
1103
1103
 
1104
- const create$6 = async ({
1104
+ const create$7 = async ({
1105
1105
  commandMap,
1106
1106
  isMessagePortOpen,
1107
1107
  send
@@ -1111,7 +1111,7 @@ const create$6 = async ({
1111
1111
  port2
1112
1112
  } = new MessageChannel();
1113
1113
  await send(port1);
1114
- return create$7({
1114
+ return create$8({
1115
1115
  commandMap,
1116
1116
  isMessagePortOpen,
1117
1117
  messagePort: port2
@@ -1146,13 +1146,13 @@ const createSharedLazyRpc = factory => {
1146
1146
  };
1147
1147
  };
1148
1148
 
1149
- const create$5 = async ({
1149
+ const create$6 = async ({
1150
1150
  commandMap,
1151
1151
  isMessagePortOpen,
1152
1152
  send
1153
1153
  }) => {
1154
1154
  return createSharedLazyRpc(() => {
1155
- return create$6({
1155
+ return create$7({
1156
1156
  commandMap,
1157
1157
  isMessagePortOpen,
1158
1158
  send
@@ -1180,7 +1180,7 @@ const getProtocol = () => {
1180
1180
  return location.protocol;
1181
1181
  };
1182
1182
 
1183
- const create$4 = async ({
1183
+ const create$5 = async ({
1184
1184
  commandMap,
1185
1185
  webSocket
1186
1186
  }) => {
@@ -1212,7 +1212,7 @@ const connect = async ({
1212
1212
  }) => {
1213
1213
  const webSocket = new WebSocket(wsUrl);
1214
1214
  try {
1215
- const rpc = await create$4({
1215
+ const rpc = await create$5({
1216
1216
  commandMap,
1217
1217
  webSocket
1218
1218
  });
@@ -1225,7 +1225,7 @@ const connect = async ({
1225
1225
  throw error;
1226
1226
  }
1227
1227
  };
1228
- const create$3 = async ({
1228
+ const create$4 = async ({
1229
1229
  commandMap,
1230
1230
  onClose,
1231
1231
  type
@@ -1254,7 +1254,7 @@ const create$3 = async ({
1254
1254
  return connection.rpc;
1255
1255
  };
1256
1256
 
1257
- const create$2 = async ({
1257
+ const create$3 = async ({
1258
1258
  commandMap,
1259
1259
  isMessagePortOpen,
1260
1260
  messagePort
@@ -1271,7 +1271,7 @@ const create$2 = async ({
1271
1271
  return rpc;
1272
1272
  };
1273
1273
 
1274
- const create$1 = async ({
1274
+ const create$2 = async ({
1275
1275
  commandMap
1276
1276
  }) => {
1277
1277
  // TODO create a commandMap per rpc instance
@@ -1302,19 +1302,19 @@ const createMockRpc = ({
1302
1302
  return mockRpc;
1303
1303
  };
1304
1304
 
1305
- const rpcs$2 = Object.create(null);
1305
+ const rpcs$3 = Object.create(null);
1306
1306
  const set$a = (id, rpc) => {
1307
- rpcs$2[id] = rpc;
1307
+ rpcs$3[id] = rpc;
1308
1308
  };
1309
1309
  const get$6 = id => {
1310
- return rpcs$2[id];
1310
+ return rpcs$3[id];
1311
1311
  };
1312
1312
  const remove$2 = id => {
1313
- delete rpcs$2[id];
1313
+ delete rpcs$3[id];
1314
1314
  };
1315
1315
 
1316
1316
  /* eslint-disable @typescript-eslint/explicit-function-return-type */
1317
- const create = rpcId => {
1317
+ const create$1 = rpcId => {
1318
1318
  return {
1319
1319
  async dispose() {
1320
1320
  const rpc = get$6(rpcId);
@@ -1351,9 +1351,9 @@ const create = rpcId => {
1351
1351
  };
1352
1352
 
1353
1353
  const {
1354
- invoke: invoke$5,
1354
+ invoke: invoke$6,
1355
1355
  set: set$9
1356
- } = create(6010);
1356
+ } = create$1(6010);
1357
1357
 
1358
1358
  const Web = 1;
1359
1359
  const Electron = 2;
@@ -1366,32 +1366,32 @@ const RendererWorker = 1;
1366
1366
  const SharedProcess = 1492;
1367
1367
 
1368
1368
  const {
1369
- invoke: invoke$4,
1369
+ invoke: invoke$5,
1370
1370
  set: set$8
1371
- } = create(ErrorWorker);
1371
+ } = create$1(ErrorWorker);
1372
1372
 
1373
1373
  const {
1374
- invoke: invoke$3,
1374
+ invoke: invoke$4,
1375
1375
  set: set$7
1376
- } = create(FileSystemWorker);
1376
+ } = create$1(FileSystemWorker);
1377
1377
  const readFile$1 = async uri => {
1378
- return invoke$3('FileSystem.readFile', uri);
1378
+ return invoke$4('FileSystem.readFile', uri);
1379
1379
  };
1380
1380
  const writeFile = async (uri, content) => {
1381
- return invoke$3('FileSystem.writeFile', uri, content);
1381
+ return invoke$4('FileSystem.writeFile', uri, content);
1382
1382
  };
1383
1383
  const mkdir = async uri => {
1384
- return invoke$3('FileSystem.mkdir', uri);
1384
+ return invoke$4('FileSystem.mkdir', uri);
1385
1385
  };
1386
1386
  const exists = async uri => {
1387
- return invoke$3('FileSystem.exists', uri);
1387
+ return invoke$4('FileSystem.exists', uri);
1388
1388
  };
1389
1389
 
1390
1390
  const {
1391
- invoke: invoke$2,
1391
+ invoke: invoke$3,
1392
1392
  invokeAndTransfer: invokeAndTransfer$1,
1393
1393
  set: set$6
1394
- } = create(RendererWorker);
1394
+ } = create$1(RendererWorker);
1395
1395
  const sendMessagePortToAuthWorker = async (port, rpcId) => {
1396
1396
  const command = 'HandleMessagePort.handleMessagePort';
1397
1397
  await invokeAndTransfer$1('SendMessagePortToExtensionHostWorker.sendMessagePortToAuthWorker', port, command, rpcId);
@@ -1414,9 +1414,9 @@ const sendMessagePortToSharedProcess = async port => {
1414
1414
  };
1415
1415
 
1416
1416
  const {
1417
- invoke: invoke$1,
1417
+ invoke: invoke$2,
1418
1418
  set: set$5
1419
- } = create(SharedProcess);
1419
+ } = create$1(SharedProcess);
1420
1420
 
1421
1421
  const None = 0;
1422
1422
  const Activating = 2;
@@ -1450,18 +1450,18 @@ const createEmptyRuntimeStatus = id => {
1450
1450
  status: None
1451
1451
  };
1452
1452
  };
1453
- const state = {
1453
+ const state$1 = {
1454
1454
  extensionsState: createInitialState()
1455
1455
  };
1456
1456
  const get$5 = () => {
1457
- return state.extensionsState;
1457
+ return state$1.extensionsState;
1458
1458
  };
1459
1459
  const set$4 = newState => {
1460
- state.extensionsState = newState;
1460
+ state$1.extensionsState = newState;
1461
1461
  };
1462
1462
  const update = newState => {
1463
1463
  set$4({
1464
- ...state.extensionsState,
1464
+ ...state$1.extensionsState,
1465
1465
  ...newState
1466
1466
  });
1467
1467
  };
@@ -1471,11 +1471,11 @@ const setPlatform = platform => {
1471
1471
  });
1472
1472
  };
1473
1473
  const hasWebExtensionUri = uri => {
1474
- return state.extensionsState.webExtensions.some(extension => extension.uri === uri);
1474
+ return state$1.extensionsState.webExtensions.some(extension => extension.uri === uri);
1475
1475
  };
1476
1476
  const addExtension$1 = extension => {
1477
1477
  update({
1478
- webExtensions: [...state.extensionsState.webExtensions, extension]
1478
+ webExtensions: [...state$1.extensionsState.webExtensions, extension]
1479
1479
  });
1480
1480
  };
1481
1481
  const clearCachedExtensions = () => {
@@ -1486,7 +1486,7 @@ const clearCachedExtensions = () => {
1486
1486
  const setRuntimeStatus = status => {
1487
1487
  update({
1488
1488
  runtimeStatuses: {
1489
- ...state.extensionsState.runtimeStatuses,
1489
+ ...state$1.extensionsState.runtimeStatuses,
1490
1490
  [status.id]: {
1491
1491
  ...status
1492
1492
  }
@@ -1494,7 +1494,7 @@ const setRuntimeStatus = status => {
1494
1494
  });
1495
1495
  };
1496
1496
  const updateRuntimeStatus = (id, statusUpdate) => {
1497
- const previousStatus = state.extensionsState.runtimeStatuses[id] || createEmptyRuntimeStatus(id);
1497
+ const previousStatus = state$1.extensionsState.runtimeStatuses[id] || createEmptyRuntimeStatus(id);
1498
1498
  setRuntimeStatus({
1499
1499
  ...previousStatus,
1500
1500
  ...statusUpdate,
@@ -1502,7 +1502,7 @@ const updateRuntimeStatus = (id, statusUpdate) => {
1502
1502
  });
1503
1503
  };
1504
1504
  const getRuntimeStatus$1 = extensionId => {
1505
- return state.extensionsState.runtimeStatuses[extensionId];
1505
+ return state$1.extensionsState.runtimeStatuses[extensionId];
1506
1506
  };
1507
1507
  const omit = (record, id) => {
1508
1508
  const result = {
@@ -1513,9 +1513,9 @@ const omit = (record, id) => {
1513
1513
  };
1514
1514
  const resetExtensionRuntimeState = extensionId => {
1515
1515
  update({
1516
- activatedExtensions: omit(state.extensionsState.activatedExtensions, extensionId),
1517
- cachedActivationEvents: omit(state.extensionsState.cachedActivationEvents, extensionId),
1518
- runtimeStatuses: omit(state.extensionsState.runtimeStatuses, extensionId)
1516
+ activatedExtensions: omit(state$1.extensionsState.activatedExtensions, extensionId),
1517
+ cachedActivationEvents: omit(state$1.extensionsState.cachedActivationEvents, extensionId),
1518
+ runtimeStatuses: omit(state$1.extensionsState.runtimeStatuses, extensionId)
1519
1519
  });
1520
1520
  };
1521
1521
 
@@ -1528,17 +1528,6 @@ const getErrorMessage = error => {
1528
1528
 
1529
1529
  const commandMapRef = {};
1530
1530
 
1531
- const extensionIds = new Set();
1532
- const register = extensionId => {
1533
- extensionIds.add(extensionId);
1534
- };
1535
- const unregister = extensionId => {
1536
- extensionIds.delete(extensionId);
1537
- };
1538
- const getRegisteredExtensionIds = () => {
1539
- return [...extensionIds];
1540
- };
1541
-
1542
1531
  const extensions = Object.create(null);
1543
1532
  const get$4 = extensionId => {
1544
1533
  return extensions[extensionId];
@@ -1565,7 +1554,7 @@ const toFileSystemPath = path => {
1565
1554
  };
1566
1555
  const getExtensionRoot = async extension => {
1567
1556
  if (extension.builtin) {
1568
- const builtinExtensionsPath = await invoke$2('PlatformPaths.getBuiltinExtensionsPath');
1557
+ const builtinExtensionsPath = await invoke$3('PlatformPaths.getBuiltinExtensionsPath');
1569
1558
  if (typeof builtinExtensionsPath !== 'string') {
1570
1559
  throw new TypeError('builtin extensions path must be a string');
1571
1560
  }
@@ -1595,6 +1584,9 @@ const getNodeRpcInfo = async (extensionId, rpcId) => {
1595
1584
  if (!extension) {
1596
1585
  throw new Error(`Extension ${extensionId} has no declared rpcs`);
1597
1586
  }
1587
+ if (!extension.builtin) {
1588
+ throw new Error(`Node rpc ${rpcId} is only available to built-in extensions`);
1589
+ }
1598
1590
  const rpc = getDeclaredNodeRpc(extension, rpcId);
1599
1591
  const extensionRoot = await getExtensionRoot(extension);
1600
1592
  return {
@@ -1603,6 +1595,111 @@ const getNodeRpcInfo = async (extensionId, rpcId) => {
1603
1595
  };
1604
1596
  };
1605
1597
 
1598
+ const isMissingRendererCommand = (error, command) => {
1599
+ const moduleName = command.slice(0, command.indexOf('.'));
1600
+ return error instanceof Error && (error.message.includes(command) || error.message.includes(`module ${moduleName} not found`)) && /command not found|not found/i.test(error.message);
1601
+ };
1602
+ const createLegacyConnection = () => ({
1603
+ type: 'legacy-proxy'
1604
+ });
1605
+ const createNodeRpcConnection = async (extensionId, rpcId) => {
1606
+ const {
1607
+ path
1608
+ } = await getNodeRpcInfo(extensionId, rpcId);
1609
+ const {
1610
+ platform
1611
+ } = get$5();
1612
+ if (platform === Remote) {
1613
+ try {
1614
+ const connectionInfo = await invoke$3('ExtensionNodeRpc.createConnection', extensionId, rpcId, path);
1615
+ return {
1616
+ ...connectionInfo,
1617
+ type: 'websocket'
1618
+ };
1619
+ } catch (error) {
1620
+ if (isMissingRendererCommand(error, 'ExtensionNodeRpc.createConnection')) {
1621
+ return createLegacyConnection();
1622
+ }
1623
+ throw error;
1624
+ }
1625
+ }
1626
+ if (platform === Electron) {
1627
+ try {
1628
+ const supported = await invoke$3('ExtensionNodeRpc.supportsDirectConnection');
1629
+ return supported ? {
1630
+ type: 'message-port'
1631
+ } : createLegacyConnection();
1632
+ } catch (error) {
1633
+ if (isMissingRendererCommand(error, 'ExtensionNodeRpc.supportsDirectConnection')) {
1634
+ return createLegacyConnection();
1635
+ }
1636
+ throw error;
1637
+ }
1638
+ }
1639
+ throw new Error('Node rpc is not available on this platform');
1640
+ };
1641
+ const createNodeRpcMessagePort = async (extensionId, rpcId, port) => {
1642
+ const {
1643
+ platform
1644
+ } = get$5();
1645
+ if (platform !== Electron) {
1646
+ throw new Error('Node rpc message ports are only available in Electron');
1647
+ }
1648
+ const {
1649
+ path
1650
+ } = await getNodeRpcInfo(extensionId, rpcId);
1651
+ await invokeAndTransfer$1('ExtensionNodeRpc.createMessagePort', port, path);
1652
+ };
1653
+
1654
+ const extensionIds = new Set();
1655
+ const register = extensionId => {
1656
+ extensionIds.add(extensionId);
1657
+ };
1658
+ const unregister = extensionId => {
1659
+ extensionIds.delete(extensionId);
1660
+ };
1661
+ const getRegisteredExtensionIds = () => {
1662
+ return [...extensionIds];
1663
+ };
1664
+
1665
+ const rpcs$2 = new Map();
1666
+ const state = {
1667
+ nextId: 0
1668
+ };
1669
+ const getRpc$2 = (extensionId, id) => {
1670
+ const rpc = rpcs$2.get(id);
1671
+ if (!rpc || rpc.extensionId !== extensionId) {
1672
+ throw new Error(`Node rpc ${id} not found`);
1673
+ }
1674
+ return rpc;
1675
+ };
1676
+ const create = async (extensionId, rpcId) => {
1677
+ const {
1678
+ name,
1679
+ path
1680
+ } = await getNodeRpcInfo(extensionId, rpcId);
1681
+ const rendererRpcId = await invoke$3('ExtensionNodeRpc.create', name, path);
1682
+ const id = ++state.nextId;
1683
+ rpcs$2.set(id, {
1684
+ extensionId,
1685
+ rendererRpcId
1686
+ });
1687
+ return id;
1688
+ };
1689
+ const invoke$1 = async (extensionId, id, method, ...params) => {
1690
+ const {
1691
+ rendererRpcId
1692
+ } = getRpc$2(extensionId, id);
1693
+ return invoke$3('ExtensionNodeRpc.invoke', rendererRpcId, method, ...params);
1694
+ };
1695
+ const dispose = async (extensionId, id) => {
1696
+ const {
1697
+ rendererRpcId
1698
+ } = getRpc$2(extensionId, id);
1699
+ rpcs$2.delete(id);
1700
+ await invoke$3('ExtensionNodeRpc.dispose', rendererRpcId);
1701
+ };
1702
+
1606
1703
  const cacheName$1 = 'ExtensionSecrets';
1607
1704
  const getRequestUrl = (extensionId, key) => {
1608
1705
  return `https://secret-storage.invalid/${encodeURIComponent(extensionId)}/${encodeURIComponent(key)}`;
@@ -1614,7 +1711,7 @@ const deleteSecret = async (extensionId, key) => {
1614
1711
  string(extensionId);
1615
1712
  string(key);
1616
1713
  if (isElectron()) {
1617
- await invoke$1('SecretStorage.delete', extensionId, key);
1714
+ await invoke$2('SecretStorage.delete', extensionId, key);
1618
1715
  return;
1619
1716
  }
1620
1717
  const cache = await caches.open(cacheName$1);
@@ -1624,7 +1721,7 @@ const getSecret = async (extensionId, key) => {
1624
1721
  string(extensionId);
1625
1722
  string(key);
1626
1723
  if (isElectron()) {
1627
- return invoke$1('SecretStorage.get', extensionId, key);
1724
+ return invoke$2('SecretStorage.get', extensionId, key);
1628
1725
  }
1629
1726
  const cache = await caches.open(cacheName$1);
1630
1727
  const response = await cache.match(getRequestUrl(extensionId, key));
@@ -1635,7 +1732,7 @@ const storeSecret = async (extensionId, key, value) => {
1635
1732
  string(key);
1636
1733
  string(value);
1637
1734
  if (isElectron()) {
1638
- await invoke$1('SecretStorage.store', extensionId, key, value);
1735
+ await invoke$2('SecretStorage.store', extensionId, key, value);
1639
1736
  return;
1640
1737
  }
1641
1738
  const cache = await caches.open(cacheName$1);
@@ -1650,21 +1747,55 @@ class CommandNotFoundError extends Error {
1650
1747
  });
1651
1748
  }
1652
1749
  }
1750
+ const allowedElectronPortCommand = 'HandleMessagePortForEmbedsProcess.handleMessagePortForEmbedsProcess';
1751
+ const privilegedCommandPrefixes = ['ElectronNet.', 'ClipBoard.', 'DebugSharedProcess.', 'Developer.', 'Electron', 'Exec.', 'ExtensionNodeRpc.', 'FileSystem', 'FileWatcher.', 'IpcParent.', 'PlatformPaths.', 'PersistentFileHandle.', 'Process.', 'RebuildNodePty.', 'SearchProcess.', 'SendMessagePort', 'SharedProcess.', 'TerminalProcess.', 'Transferrable.', 'WebSocketCapability.', 'WebView.compat'];
1752
+ const invokeGlobalCommand = (method, ...params) => {
1753
+ const command = commandMapRef[method];
1754
+ if (!command) {
1755
+ throw new CommandNotFoundError(method);
1756
+ }
1757
+ return command(...params);
1758
+ };
1759
+ const executeCommand$1 = (id, ...args) => {
1760
+ if (privilegedCommandPrefixes.some(prefix => id.startsWith(prefix))) {
1761
+ throw new Error(`Isolated extensions cannot execute privileged command ${id}`);
1762
+ }
1763
+ return invokeGlobalCommand('Extensions.executeCommand', id, ...args);
1764
+ };
1653
1765
  const createExtensionCommandMap = extensionId => {
1654
1766
  return {
1655
1767
  ...commandMapRef,
1768
+ 'Extensions.createLegacyNodeRpc'(rpcId) {
1769
+ return create(extensionId, rpcId);
1770
+ },
1771
+ 'Extensions.createNodeRpcConnection'(rpcId) {
1772
+ return createNodeRpcConnection(extensionId, rpcId);
1773
+ },
1774
+ 'Extensions.createNodeRpcMessagePort'(rpcId, port) {
1775
+ return createNodeRpcMessagePort(extensionId, rpcId, port);
1776
+ },
1656
1777
  'Extensions.deleteSecret'(key) {
1657
1778
  return deleteSecret(extensionId, key);
1658
1779
  },
1659
- 'Extensions.getNodeRpcInfo'(rpcId) {
1660
- return getNodeRpcInfo(extensionId, rpcId);
1780
+ 'Extensions.disposeLegacyNodeRpc'(id) {
1781
+ return dispose(extensionId, id);
1661
1782
  },
1783
+ 'Extensions.executeCommand': executeCommand$1,
1662
1784
  'Extensions.getSecret'(key) {
1663
1785
  return getSecret(extensionId, key);
1664
1786
  },
1787
+ 'Extensions.invokeLegacyNodeRpc'(id, method, ...params) {
1788
+ return invoke$1(extensionId, id, method, ...params);
1789
+ },
1665
1790
  'Extensions.registerFileChangeHandler'() {
1666
1791
  register(extensionId);
1667
1792
  },
1793
+ 'Extensions.sendMessagePortToElectron'(port, initialCommand) {
1794
+ if (initialCommand !== allowedElectronPortCommand) {
1795
+ throw new Error(`Isolated extensions cannot send a port using ${initialCommand}`);
1796
+ }
1797
+ return invokeGlobalCommand('Extensions.sendMessagePortToElectron', port, initialCommand);
1798
+ },
1668
1799
  'Extensions.storeSecret'(key, value) {
1669
1800
  return storeSecret(extensionId, key, value);
1670
1801
  },
@@ -1701,7 +1832,7 @@ const remove$1 = extensionId => {
1701
1832
 
1702
1833
  /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
1703
1834
  const invoke = (method, ...params) => {
1704
- return invoke$2(method, ...params);
1835
+ return invoke$3(method, ...params);
1705
1836
  };
1706
1837
  const invokeAndTransfer = (method, ...params) => {
1707
1838
  return invokeAndTransfer$1(method, ...params);
@@ -1728,7 +1859,7 @@ const createIsolatedExtensionHostWorker = async (extensionId, absolutePath, work
1728
1859
  return bindCommandMap(rpc, commandMap);
1729
1860
  };
1730
1861
  const createWorker = (extensionId, absolutePath, workerName, contentSecurityPolicy) => {
1731
- return createIsolatedExtensionHostWorker(extensionId, absolutePath, workerName, contentSecurityPolicy, create$6, invokeAndTransfer);
1862
+ return createIsolatedExtensionHostWorker(extensionId, absolutePath, workerName, contentSecurityPolicy, create$7, invokeAndTransfer);
1732
1863
  };
1733
1864
  const createAndStoreRpc = async (extensionId, absolutePath, workerName, contentSecurityPolicy, create) => {
1734
1865
  const rpc = await create(extensionId, absolutePath, workerName, contentSecurityPolicy);
@@ -1777,14 +1908,119 @@ const activateIsolatedExtension = async (extensionId, absolutePath, workerName,
1777
1908
  }
1778
1909
  };
1779
1910
 
1780
- const addSemicolon = directive => {
1781
- return directive.endsWith(';') ? directive : `${directive};`;
1911
+ const getOrigin = () => {
1912
+ return globalThis.location?.origin || 'http://localhost';
1782
1913
  };
1783
- const getContentSecurityPolicy = directives => {
1784
- if (!directives) {
1785
- return '';
1914
+
1915
+ /* eslint-disable @typescript-eslint/prefer-readonly-parameter-types */
1916
+
1917
+ const allowedScriptSources = new Set([`'self'`, `'unsafe-eval'`]);
1918
+ const reservedDirectives = new Set(['child-src', 'connect-src', 'default-src', 'script-src', 'worker-src']);
1919
+ const parseDirective = directive => {
1920
+ if (directive.includes('\n') || directive.includes('\r')) {
1921
+ throw new Error('content security policy directives cannot contain newlines');
1922
+ }
1923
+ return directive.replace(/;$/, '').trim().split(/\s+/);
1924
+ };
1925
+ const getWorkerUrls = absolutePath => {
1926
+ const applicationUrl = new URL(getOrigin());
1927
+ const workerUrl = new URL(absolutePath, applicationUrl);
1928
+ if (workerUrl.protocol !== 'http:' && workerUrl.protocol !== 'https:') {
1929
+ return {
1930
+ origin: applicationUrl.origin
1931
+ };
1932
+ }
1933
+ const webSocketProtocol = applicationUrl.protocol === 'https:' ? 'wss:' : 'ws:';
1934
+ return {
1935
+ assetSource: new URL('./', workerUrl).href,
1936
+ capabilitySource: `${webSocketProtocol}//${applicationUrl.host}/websocket/capability`,
1937
+ origin: applicationUrl.origin
1938
+ };
1939
+ };
1940
+ const validateExternalConnectSource = (source, applicationOrigin) => {
1941
+ if (source.includes('*') || source === `'none'`) {
1942
+ throw new Error(`invalid isolated extension connect source ${source}`);
1943
+ }
1944
+ let url;
1945
+ try {
1946
+ url = new URL(source);
1947
+ } catch {
1948
+ throw new Error(`isolated extension connect source must be an absolute URL: ${source}`);
1949
+ }
1950
+ if (!['http:', 'https:', 'ws:', 'wss:'].includes(url.protocol) || !url.hostname || url.username || url.password) {
1951
+ throw new Error(`invalid isolated extension connect source ${source}`);
1952
+ }
1953
+ const applicationUrl = new URL(applicationOrigin);
1954
+ if (url.host === applicationUrl.host) {
1955
+ throw new Error(`isolated extensions cannot allow the application origin in connect-src`);
1956
+ }
1957
+ return source;
1958
+ };
1959
+ const addScriptSources = (scriptSources, sources) => {
1960
+ for (const source of sources) {
1961
+ if (!allowedScriptSources.has(source)) {
1962
+ throw new Error(`invalid isolated extension script source ${source}`);
1963
+ }
1964
+ scriptSources.add(source);
1965
+ }
1966
+ };
1967
+ const addConnectSources = (connectSources, sources, assetSource, origin) => {
1968
+ for (const source of sources) {
1969
+ if (source === `'self'`) {
1970
+ if (assetSource) {
1971
+ connectSources.add(assetSource);
1972
+ }
1973
+ } else {
1974
+ connectSources.add(validateExternalConnectSource(source, origin));
1975
+ }
1976
+ }
1977
+ };
1978
+ const validateDefaultSources = sources => {
1979
+ if (sources.length !== 1 || sources[0] !== `'none'`) {
1980
+ throw new Error(`isolated extension default-src must be 'none'`);
1981
+ }
1982
+ };
1983
+ const applyDirective = (directive, scriptSources, connectSources, assetSource, origin) => {
1984
+ const [name, ...sources] = parseDirective(directive);
1985
+ if (!name) {
1986
+ return;
1987
+ }
1988
+ if (name === 'default-src') {
1989
+ validateDefaultSources(sources);
1990
+ return;
1991
+ }
1992
+ if (name === 'script-src') {
1993
+ addScriptSources(scriptSources, sources);
1994
+ return;
1995
+ }
1996
+ if (name === 'connect-src') {
1997
+ addConnectSources(connectSources, sources, assetSource, origin);
1998
+ return;
1999
+ }
2000
+ if (reservedDirectives.has(name)) {
2001
+ throw new Error(`isolated extensions cannot override ${name}`);
1786
2002
  }
1787
- return directives.map(addSemicolon).join(' ');
2003
+ };
2004
+ const getContentSecurityPolicy = (directives, absolutePath) => {
2005
+ const {
2006
+ assetSource,
2007
+ capabilitySource,
2008
+ origin
2009
+ } = getWorkerUrls(absolutePath);
2010
+ const scriptSources = new Set([`'self'`]);
2011
+ const connectSources = new Set();
2012
+ if (capabilitySource) {
2013
+ connectSources.add(capabilitySource);
2014
+ }
2015
+ if (assetSource) {
2016
+ connectSources.add(assetSource);
2017
+ }
2018
+ const manifestDirectives = directives || [];
2019
+ for (const directive of manifestDirectives) {
2020
+ applyDirective(directive, scriptSources, connectSources, assetSource, origin);
2021
+ }
2022
+ const connectDirective = connectSources.size > 0 ? [...connectSources].join(' ') : `'none'`;
2023
+ return `default-src 'none'; script-src ${[...scriptSources].join(' ')}; worker-src 'none'; child-src 'none'; connect-src ${connectDirective};`;
1788
2024
  };
1789
2025
 
1790
2026
  const rpcs = Object.create(null);
@@ -1859,7 +2095,7 @@ const activateExtension3 = async (extension, absolutePath, activationEvent, plat
1859
2095
  throw new Error(`Extension ${extensionId} does not use the isolated extension API`);
1860
2096
  }
1861
2097
  handleRpcInfos(extension, platform);
1862
- const contentSecurityPolicy = getContentSecurityPolicy(extension.contentSecurityPolicy);
2098
+ const contentSecurityPolicy = getContentSecurityPolicy(extension.contentSecurityPolicy, absolutePath);
1863
2099
  await activateIsolatedExtension(extensionId, absolutePath, extension.workerName || '', contentSecurityPolicy, activationEvent);
1864
2100
  };
1865
2101
 
@@ -1942,7 +2178,7 @@ const getWebDisabledExtensionIds = async () => {
1942
2178
  };
1943
2179
  const getRemoteDisabledExtensionIds = async () => {
1944
2180
  try {
1945
- const uri = await invoke$2('WebView.compatSharedProcessInvoke', 'PlatformPaths.getDisabledExtensionsJsonUri');
2181
+ const uri = await invoke$3('WebView.compatSharedProcessInvoke', 'PlatformPaths.getDisabledExtensionsJsonUri');
1946
2182
  const exists$1 = await exists(uri);
1947
2183
  if (!exists$1) {
1948
2184
  return [];
@@ -1981,8 +2217,8 @@ const isHttpLocation = () => {
1981
2217
  };
1982
2218
  const getRuntimeContext = async (assetDir, platform) => {
1983
2219
  const shouldInferPlatform = isMissingPlatform(platform);
1984
- const resolvedAssetDir = isMissingAssetDir(assetDir) ? await invoke$2('Layout.getAssetDir') : assetDir;
1985
- const resolvedPlatform = shouldInferPlatform ? await invoke$2('Layout.getPlatform') : platform;
2220
+ const resolvedAssetDir = isMissingAssetDir(assetDir) ? await invoke$3('Layout.getAssetDir') : assetDir;
2221
+ const resolvedPlatform = shouldInferPlatform ? await invoke$3('Layout.getPlatform') : platform;
1986
2222
  if (shouldInferPlatform && isHttpLocation() && isStaticHttpAssetDir(resolvedAssetDir)) {
1987
2223
  return {
1988
2224
  assetDir: resolvedAssetDir,
@@ -2061,7 +2297,7 @@ const stringifyJson = data => {
2061
2297
  return JSON.stringify(data, null, 2) + '\n';
2062
2298
  };
2063
2299
  const getWorkspaceUri = async () => {
2064
- const workspacePath = await invoke$2('Workspace.getPath');
2300
+ const workspacePath = await invoke$3('Workspace.getPath');
2065
2301
  return toWorkspaceUri(workspacePath);
2066
2302
  };
2067
2303
  const getWorkspaceConfigDirUri = async () => {
@@ -2169,7 +2405,7 @@ const getAllExtensionsWithState = async (extensionsState, assetDir, platform) =>
2169
2405
  const compatibleExtensions = [...webExtensions, ...meta].filter(extension => isExtensionCompatible(extension, resolvedPlatform));
2170
2406
  return getExtensionsWithState(compatibleExtensions, extensionsState, resolvedPlatform);
2171
2407
  }
2172
- const local = await invoke$1('ExtensionManagement.getAllExtensions');
2408
+ const local = await invoke$2('ExtensionManagement.getAllExtensions');
2173
2409
  return getExtensionsWithState([...local, ...meta], extensionsState, resolvedPlatform);
2174
2410
  };
2175
2411
 
@@ -2194,7 +2430,7 @@ const getAbsolutePath$1 = (extension, assetDir, platform) => {
2194
2430
  };
2195
2431
  const notifyRunningExtensionsChanged = () => {
2196
2432
  setTimeout(() => {
2197
- void invoke$2('Layout.handleExtensionsChanged');
2433
+ void invoke$3('Layout.handleExtensionsChanged');
2198
2434
  }, 0);
2199
2435
  };
2200
2436
  const doActivateExtension = async (extension, absolutePath, event, platform) => {
@@ -2251,21 +2487,21 @@ const activateByEvent = async (event, assetDir, platform) => {
2251
2487
  const invalidateExtensionsCache = async (extensionId, disabled) => {
2252
2488
  try {
2253
2489
  if (extensionId) {
2254
- await invoke$2('ExtensionManagement.handleExtensionsCacheInvalidated', extensionId, disabled);
2490
+ await invoke$3('ExtensionManagement.handleExtensionsCacheInvalidated', extensionId, disabled);
2255
2491
  return;
2256
2492
  }
2257
- await invoke$2('ExtensionManagement.handleExtensionsCacheInvalidated');
2493
+ await invoke$3('ExtensionManagement.handleExtensionsCacheInvalidated');
2258
2494
  } catch {
2259
2495
  // Older renderer workers do not expose the cache invalidation notification.
2260
2496
  }
2261
2497
  };
2262
2498
 
2263
2499
  const handleChange = async _id => {
2264
- const statusBarVisible = await invoke$2('Layout.getStatusBarVisible');
2500
+ const statusBarVisible = await invoke$3('Layout.getStatusBarVisible');
2265
2501
  if (!statusBarVisible) {
2266
2502
  return;
2267
2503
  }
2268
- await invoke$2('StatusBar.handleItemsChanged');
2504
+ await invoke$3('StatusBar.handleItemsChanged');
2269
2505
  };
2270
2506
 
2271
2507
  const hasStatusBarItems = extension => {
@@ -2405,7 +2641,7 @@ const disableExtension2$1 = async (id, platform) => {
2405
2641
  };
2406
2642
  await setJson(disabledExtensionsCacheKey, newData);
2407
2643
  } else {
2408
- await invoke$1('ExtensionManagement.disable', id);
2644
+ await invoke$2('ExtensionManagement.disable', id);
2409
2645
  }
2410
2646
  };
2411
2647
  const enableExtension2$1 = async (id, platform) => {
@@ -2458,7 +2694,7 @@ const enableExtension2 = async (id, platform) => {
2458
2694
  string(id);
2459
2695
  number(platform);
2460
2696
  if (platform === Remote || platform === Electron) {
2461
- const disabledExtensionsJsonPath = await invoke$2('WebView.compatSharedProcessInvoke', 'PlatformPaths.getDisabledExtensionsJsonUri');
2697
+ const disabledExtensionsJsonPath = await invoke$3('WebView.compatSharedProcessInvoke', 'PlatformPaths.getDisabledExtensionsJsonUri');
2462
2698
  const exists$1 = await exists(disabledExtensionsJsonPath);
2463
2699
  if (!exists$1) {
2464
2700
  return undefined;
@@ -2514,7 +2750,7 @@ const getRpcForCommand = async (extensionsState, id, platform) => {
2514
2750
  return get$3(extensionId);
2515
2751
  };
2516
2752
  const executeRendererCommand = (id, args) => {
2517
- return invoke$2(id, ...args);
2753
+ return invoke$3(id, ...args);
2518
2754
  };
2519
2755
  const executeCommand = async (extensionsState, id, ...args) => {
2520
2756
  const {
@@ -2546,7 +2782,7 @@ const executeExtensionCommand = async (extensionsState, id, ...args) => {
2546
2782
 
2547
2783
  const getLanguageServerRootUri = async () => {
2548
2784
  try {
2549
- const workspacePath = await invoke$2('Workspace.getPath');
2785
+ const workspacePath = await invoke$3('Workspace.getPath');
2550
2786
  return typeof workspacePath === 'string' && workspacePath ? workspacePath : undefined;
2551
2787
  } catch {
2552
2788
  return undefined;
@@ -2622,7 +2858,7 @@ const executeLanguageServerCompletion = async (rpc, extension, textDocument, off
2622
2858
  let result;
2623
2859
  try {
2624
2860
  const rootUri = await getLanguageServerRootUri();
2625
- result = await invoke$1('LanguageServer.complete', {
2861
+ result = await invoke$2('LanguageServer.complete', {
2626
2862
  argv: languageServer.argv,
2627
2863
  id: languageServer.id,
2628
2864
  offset,
@@ -2640,10 +2876,6 @@ const executeLanguageServerCompletion = async (rpc, extension, textDocument, off
2640
2876
  return result.map(sanitizeCompletionItem).filter(item => item !== undefined);
2641
2877
  };
2642
2878
 
2643
- const getOrigin = () => {
2644
- return globalThis.location?.origin || 'http://localhost';
2645
- };
2646
-
2647
2879
  const getExtensionId$1 = extension => {
2648
2880
  return extension.id || interExtensionId(extension.uri || extension.path || '');
2649
2881
  };
@@ -2658,7 +2890,7 @@ const getRpc$1 = async (extension, assetDir, platform) => {
2658
2890
  }
2659
2891
  handleRpcInfos(extension, platform);
2660
2892
  const absolutePath = getAbsolutePath(extension, assetDir, platform);
2661
- const contentSecurityPolicy = getContentSecurityPolicy(extension.contentSecurityPolicy);
2893
+ const contentSecurityPolicy = getContentSecurityPolicy(extension.contentSecurityPolicy, absolutePath);
2662
2894
  return getOrCreateIsolatedExtensionHostWorker(extensionId, absolutePath, extension.workerName || '', contentSecurityPolicy);
2663
2895
  };
2664
2896
 
@@ -2736,7 +2968,7 @@ const executeLanguageServerDiagnostic = async (rpc, extension, textDocument) =>
2736
2968
  return [];
2737
2969
  }
2738
2970
  const rootUri = await getLanguageServerRootUri();
2739
- const result = await invoke$1('LanguageServer.diagnostic', {
2971
+ const result = await invoke$2('LanguageServer.diagnostic', {
2740
2972
  argv: languageServer.argv,
2741
2973
  id: languageServer.id,
2742
2974
  ...(rootUri && {
@@ -3263,10 +3495,10 @@ const getViewActionsDom = async (viewId, uid, assetDir, platform) => {
3263
3495
  }
3264
3496
  };
3265
3497
  const requestViewRerender = async uid => {
3266
- await invoke$2('Viewlet.executeViewletCommand', uid, 'rerender');
3498
+ await invoke$3('Viewlet.executeViewletCommand', uid, 'rerender');
3267
3499
  };
3268
3500
  const showViewContextMenu = async (uid, viewId, menuId, x, y) => {
3269
- await invoke$2('ExtensionManagement.showViewContextMenu', uid, viewId, menuId, x, y);
3501
+ await invoke$3('ExtensionManagement.showViewContextMenu', uid, viewId, menuId, x, y);
3270
3502
  };
3271
3503
  const renderViewInstance = async (viewId, uid, assetDir, platform) => {
3272
3504
  const instance = get$1(uid);
@@ -3293,7 +3525,7 @@ const saveViewInstanceState = async (viewId, uid, assetDir, platform) => {
3293
3525
  };
3294
3526
 
3295
3527
  const getAccessToken = (options = {}) => {
3296
- return invoke$5('Auth.getAccessToken', options);
3528
+ return invoke$6('Auth.getAccessToken', options);
3297
3529
  };
3298
3530
 
3299
3531
  const transparent = (color, factor) => {
@@ -3430,7 +3662,7 @@ const getColorThemeCssCached = async (colorThemeId, platform, getData) => {
3430
3662
  };
3431
3663
 
3432
3664
  const readJson = url => {
3433
- return invoke$2('FileSystem.readJson', url);
3665
+ return invoke$3('FileSystem.readJson', url);
3434
3666
  };
3435
3667
 
3436
3668
  const join = (pathSeparator, ...parts) => {
@@ -3599,7 +3831,7 @@ const createWebViewIpc = async webView => {
3599
3831
  port1,
3600
3832
  port2
3601
3833
  } = getPortTuple();
3602
- const rpcPromise = create$2({
3834
+ const rpcPromise = create$3({
3603
3835
  commandMap: {},
3604
3836
  isMessagePortOpen: false,
3605
3837
  messagePort: port2
@@ -3880,7 +4112,7 @@ const handleFileChanges = async (changes = {}) => {
3880
4112
  };
3881
4113
 
3882
4114
  const handleMessagePort = async (port, rpcId) => {
3883
- await create$7({
4115
+ await create$8({
3884
4116
  commandMap: commandMapRef,
3885
4117
  messagePort: port
3886
4118
  });
@@ -3888,44 +4120,69 @@ const handleMessagePort = async (port, rpcId) => {
3888
4120
 
3889
4121
  const prefix = '[Extension] Uncaught Error: ';
3890
4122
  const handleUncaughtExtensionError = async error => {
3891
- const prettyError = await invoke$4('Errors.prepare', error);
3892
- await invoke$4('Errors.print', prettyError, prefix);
4123
+ const prettyError = await invoke$5('Errors.prepare', error);
4124
+ await invoke$5('Errors.print', prettyError, prefix);
3893
4125
  };
3894
4126
 
3895
4127
  const handleViewContextChange = async (uid, viewId, context) => {
3896
- await invoke$2('ExtensionManagement.handleViewContextChange', uid, viewId, context);
4128
+ await invoke$3('ExtensionManagement.handleViewContextChange', uid, viewId, context);
3897
4129
  };
3898
4130
 
3899
- const getRpcRemote = async () => {
3900
- const rpc = await create$3({
4131
+ const defaultDependencies = {
4132
+ createLegacyWebSocketRpc: create$4,
4133
+ createTransferMessagePortRpc: create$7,
4134
+ createWebSocket(url, protocols) {
4135
+ return new WebSocket(url, [...protocols]);
4136
+ },
4137
+ createWebSocketRpc: create$5,
4138
+ invokeRenderer: invoke$3,
4139
+ sendMessagePortToSharedProcess: sendMessagePortToSharedProcess,
4140
+ setSharedProcess: set$5
4141
+ };
4142
+ const getRpcRemote = async dependencies => {
4143
+ try {
4144
+ const {
4145
+ protocols,
4146
+ url
4147
+ } = await dependencies.invokeRenderer('WebSocketCapability.create', 'shared-process');
4148
+ const webSocket = dependencies.createWebSocket(url, protocols);
4149
+ return dependencies.createWebSocketRpc({
4150
+ commandMap: commandMapRef,
4151
+ webSocket
4152
+ });
4153
+ } catch (error) {
4154
+ if (!(error instanceof Error && (error.message.includes('WebSocketCapability.create') || error.message.includes('module WebSocketCapability not found')) && /command not found|not found/i.test(error.message))) {
4155
+ throw error;
4156
+ }
4157
+ }
4158
+ return dependencies.createLegacyWebSocketRpc({
3901
4159
  commandMap: commandMapRef,
3902
4160
  type: 'shared-process'
3903
4161
  });
3904
- return rpc;
3905
4162
  };
3906
- const getRpcElectron = async () => {
3907
- const rpc = create$6({
4163
+ const getRpcElectron = async dependencies => {
4164
+ const rpc = dependencies.createTransferMessagePortRpc({
3908
4165
  commandMap: commandMapRef,
3909
4166
  async send(port) {
3910
- await sendMessagePortToSharedProcess(port);
4167
+ await dependencies.sendMessagePortToSharedProcess(port);
3911
4168
  }
3912
4169
  });
3913
4170
  return rpc;
3914
4171
  };
3915
- const getRpc = async platform => {
4172
+ const getRpc = async (platform, dependencies) => {
3916
4173
  // TODO create connection to shared process
3917
4174
  if (platform === Remote) {
3918
- return getRpcRemote();
4175
+ return getRpcRemote(dependencies);
3919
4176
  }
3920
4177
  if (platform === Electron) {
3921
- return getRpcElectron();
4178
+ return getRpcElectron(dependencies);
3922
4179
  }
3923
4180
  return undefined;
3924
4181
  };
3925
- const initializeSharedProcess = async platform => {
3926
- const rpc = await getRpc(platform);
4182
+ const initializeSharedProcess = async (platform, dependencies = defaultDependencies) => {
4183
+ const rpc = await getRpc(platform, dependencies);
3927
4184
  if (rpc) {
3928
- set$5(rpc);
4185
+ dependencies.setSharedProcess(rpc);
3929
4186
  }
3930
4187
  };
3931
4188
 
@@ -3996,10 +4253,10 @@ const getLanguages = async (platform, assetDir) => {
3996
4253
  };
3997
4254
 
3998
4255
  const getPreference = async key => {
3999
- return invoke$2('Preferences.get', key);
4256
+ return invoke$3('Preferences.get', key);
4000
4257
  };
4001
4258
  const setPreference = async (key, value) => {
4002
- await invoke$2('Preferences.update', {
4259
+ await invoke$3('Preferences.update', {
4003
4260
  [key]: value
4004
4261
  });
4005
4262
  };
@@ -4013,7 +4270,7 @@ const sendMessagePortToFileSystemWorker = async port => {
4013
4270
  };
4014
4271
 
4015
4272
  const showQuickPick = async options => {
4016
- return invoke$2('ExtensionHostQuickPick.showQuickPick', options);
4273
+ return invoke$3('ExtensionHostQuickPick.showQuickPick', options);
4017
4274
  };
4018
4275
 
4019
4276
  const uninstallExtension = async () => {
@@ -4105,7 +4362,7 @@ const commandMap = {
4105
4362
  };
4106
4363
 
4107
4364
  const initializeAuthWorker = async () => {
4108
- const rpc = await create$5({
4365
+ const rpc = await create$6({
4109
4366
  commandMap: commandMapRef,
4110
4367
  async send(port) {
4111
4368
  await sendMessagePortToAuthWorker(port, 0);
@@ -4115,7 +4372,7 @@ const initializeAuthWorker = async () => {
4115
4372
  };
4116
4373
 
4117
4374
  const initializeErrorWorker = async () => {
4118
- const rpc = await create$5({
4375
+ const rpc = await create$6({
4119
4376
  commandMap: commandMapRef,
4120
4377
  async send(port) {
4121
4378
  await sendMessagePortToErrorWorker(port, 0);
@@ -4125,7 +4382,7 @@ const initializeErrorWorker = async () => {
4125
4382
  };
4126
4383
 
4127
4384
  const initializeFileSystemWorker = async () => {
4128
- const rpc = await create$5({
4385
+ const rpc = await create$6({
4129
4386
  commandMap: commandMapRef,
4130
4387
  async send(port) {
4131
4388
  await sendMessagePortToFileSystemWorker$1(port, 0);
@@ -4135,7 +4392,7 @@ const initializeFileSystemWorker = async () => {
4135
4392
  };
4136
4393
 
4137
4394
  const initializeIframeWorker = async () => {
4138
- const rpc = await create$5({
4395
+ const rpc = await create$6({
4139
4396
  commandMap: {},
4140
4397
  async send(port) {
4141
4398
  await sendMessagePortToIconThemeWorker(port, 0);
@@ -4145,7 +4402,7 @@ const initializeIframeWorker = async () => {
4145
4402
  };
4146
4403
 
4147
4404
  const initializeRendererWorker = async () => {
4148
- const rpc = await create$1({
4405
+ const rpc = await create$2({
4149
4406
  commandMap: commandMap
4150
4407
  });
4151
4408
  set$6(rpc);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/extension-management-worker",
3
- "version": "4.51.0",
3
+ "version": "4.52.0",
4
4
  "description": "Webworker for the Extension Management functionality in Lvce Editor.",
5
5
  "keywords": [
6
6
  "web-worker"