@lvce-editor/extension-host-worker 8.20.0 → 8.25.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.
Files changed (59) hide show
  1. package/dist/extension-api/index.js +938 -33
  2. package/dist/extension-api/parts/Activation/Activation.js +4 -2
  3. package/dist/extension-api/parts/CommandRegistry/CommandRegistry.js +3 -1
  4. package/dist/extension-api/parts/CompletionProviderRegistry/CompletionProviderRegistry.js +29 -2
  5. package/dist/extension-api/parts/DiagnosticProviderRegistry/DiagnosticProviderRegistry.js +4 -1
  6. package/dist/extension-api/parts/ExecuteCommand/ExecuteCommand.js +2 -2
  7. package/dist/extension-api/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +17 -1
  8. package/dist/extension-api/parts/FormattingProviderRegistry/FormattingProviderRegistry.js +4 -1
  9. package/dist/extension-api/parts/HoverProviderRegistry/HoverProviderRegistry.js +4 -1
  10. package/dist/extension-api/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +2 -2
  11. package/dist/extension-api/parts/OutputChannel/OutputChannel.js +71 -0
  12. package/dist/extension-api/parts/OutputChannelHandle/OutputChannelHandle.js +0 -0
  13. package/dist/extension-api/parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.js +0 -0
  14. package/dist/extension-api/parts/QuickPick/QuickPick.js +2 -2
  15. package/dist/extension-api/parts/RegisteredOutputChannel/RegisteredOutputChannel.js +0 -0
  16. package/dist/extension-api/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js +3 -1
  17. package/dist/extension-api/parts/View/View.js +0 -0
  18. package/dist/extension-api/parts/ViewRegistry/ViewRegistry.js +148 -0
  19. package/dist/extensionHostWorkerMain.js +112 -41
  20. package/extension-api/dist/index.d.ts +6 -0
  21. package/extension-api/dist/index.js +2 -0
  22. package/extension-api/dist/parts/Activation/Activation.js +4 -2
  23. package/extension-api/dist/parts/CommandMap/CommandMap.d.ts +7 -0
  24. package/extension-api/dist/parts/CommandRegistry/CommandRegistry.js +3 -1
  25. package/extension-api/dist/parts/CommandRegistrySnapshot/CommandRegistrySnapshot.d.ts +3 -2
  26. package/extension-api/dist/parts/CompletionProviderRegistry/CompletionProviderRegistry.js +30 -2
  27. package/extension-api/dist/parts/CompletionProviderRegistrySnapshot/CompletionProviderRegistrySnapshot.d.ts +4 -2
  28. package/extension-api/dist/parts/DiagnosticProviderRegistry/DiagnosticProviderRegistry.js +4 -1
  29. package/extension-api/dist/parts/DiagnosticProviderRegistrySnapshot/DiagnosticProviderRegistrySnapshot.d.ts +4 -2
  30. package/extension-api/dist/parts/ExecuteCommand/ExecuteCommand.js +2 -2
  31. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.d.ts +7 -0
  32. package/extension-api/dist/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.js +9 -0
  33. package/extension-api/dist/parts/ExtensionApiWorkerCommandMap/ExtensionApiWorkerCommandMap.d.ts +7 -0
  34. package/extension-api/dist/parts/FormattingProviderRegistry/FormattingProviderRegistry.js +4 -1
  35. package/extension-api/dist/parts/FormattingProviderRegistrySnapshot/FormattingProviderRegistrySnapshot.d.ts +4 -2
  36. package/extension-api/dist/parts/HoverProviderRegistry/HoverProviderRegistry.js +4 -1
  37. package/extension-api/dist/parts/HoverProviderRegistrySnapshot/HoverProviderRegistrySnapshot.d.ts +4 -2
  38. package/extension-api/dist/parts/NotifyStatusBarChange/NotifyStatusBarChange.js +2 -2
  39. package/extension-api/dist/parts/OutputChannel/OutputChannel.d.ts +9 -0
  40. package/extension-api/dist/parts/OutputChannel/OutputChannel.js +64 -0
  41. package/extension-api/dist/parts/OutputChannelHandle/OutputChannelHandle.d.ts +6 -0
  42. package/extension-api/dist/parts/OutputChannelHandle/OutputChannelHandle.js +1 -0
  43. package/extension-api/dist/parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.d.ts +4 -0
  44. package/extension-api/dist/parts/OutputChannelRegistrySnapshot/OutputChannelRegistrySnapshot.js +1 -0
  45. package/extension-api/dist/parts/QuickPick/QuickPick.js +2 -2
  46. package/extension-api/dist/parts/RegisteredOutputChannel/RegisteredOutputChannel.d.ts +3 -0
  47. package/extension-api/dist/parts/RegisteredOutputChannel/RegisteredOutputChannel.js +1 -0
  48. package/extension-api/dist/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.js +3 -1
  49. package/extension-api/dist/parts/StatusBarItemProviderRegistrySnapshot/StatusBarItemProviderRegistrySnapshot.d.ts +3 -2
  50. package/extension-api/dist/parts/View/View.d.ts +43 -0
  51. package/extension-api/dist/parts/View/View.js +1 -0
  52. package/extension-api/dist/parts/ViewRegistry/ViewRegistry.d.ts +10 -0
  53. package/extension-api/dist/parts/ViewRegistry/ViewRegistry.js +138 -0
  54. package/extension-api/package.json +4 -2
  55. package/extension-api/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +1 -1
  57. package/dist/extension-api/parts/Rpc/Rpc.js +0 -14
  58. package/extension-api/dist/parts/Rpc/Rpc.d.ts +0 -3
  59. package/extension-api/dist/parts/Rpc/Rpc.js +0 -10
@@ -847,7 +847,7 @@ var createRpc = (ipc) => {
847
847
  fn(response);
848
848
  delete callbacks2[id2];
849
849
  };
850
- const rpc2 = {
850
+ const rpc = {
851
851
  async dispose() {
852
852
  await ipc?.dispose();
853
853
  },
@@ -867,7 +867,7 @@ var createRpc = (ipc) => {
867
867
  ipc.send(message);
868
868
  }
869
869
  };
870
- return rpc2;
870
+ return rpc;
871
871
  };
872
872
 
873
873
  // packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/HandleMessage/HandleMessage.js
@@ -917,9 +917,9 @@ var create5 = async ({ commandMap: commandMap5, isMessagePortOpen = true, messag
917
917
  });
918
918
  const ipc = IpcParentWithMessagePort$1.wrap(rawIpc);
919
919
  handleIpc(ipc);
920
- const rpc2 = createRpc(ipc);
920
+ const rpc = createRpc(ipc);
921
921
  messagePort.start();
922
- return rpc2;
922
+ return rpc;
923
923
  };
924
924
 
925
925
  // packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/WebWorkerRpcClient/WebWorkerRpcClient.js
@@ -931,8 +931,417 @@ var create6 = async ({ commandMap: commandMap5 }) => {
931
931
  register(commandMap5);
932
932
  const ipc = await listen(IpcChildWithModuleWorkerAndMessagePort$1);
933
933
  handleIpc(ipc);
934
- const rpc2 = createRpc(ipc);
935
- return rpc2;
934
+ const rpc = createRpc(ipc);
935
+ return rpc;
936
+ };
937
+
938
+ // packages/extension-api/node_modules/@lvce-editor/rpc/dist/parts/CreateMockRpc/CreateMockRpc.js
939
+ var createMockRpc = ({ commandMap: commandMap5 }) => {
940
+ const invocations = [];
941
+ const invoke2 = (method, ...params) => {
942
+ invocations.push([method, ...params]);
943
+ const command = commandMap5[method];
944
+ if (!command) {
945
+ throw new Error(`command ${method} not found`);
946
+ }
947
+ return command(...params);
948
+ };
949
+ const mockRpc = {
950
+ invocations,
951
+ invoke: invoke2,
952
+ invokeAndTransfer: invoke2
953
+ };
954
+ return mockRpc;
955
+ };
956
+
957
+ // packages/extension-api/node_modules/@lvce-editor/rpc-registry/dist/parts/RpcRegistry/RpcRegistry.js
958
+ var rpcs = /* @__PURE__ */ Object.create(null);
959
+ var set = (id2, rpc) => {
960
+ rpcs[id2] = rpc;
961
+ };
962
+ var get2 = (id2) => {
963
+ return rpcs[id2];
964
+ };
965
+ var remove2 = (id2) => {
966
+ delete rpcs[id2];
967
+ };
968
+
969
+ // packages/extension-api/node_modules/@lvce-editor/rpc-registry/dist/parts/RpcFactory/RpcFactory.js
970
+ var create7 = (rpcId) => {
971
+ return {
972
+ async dispose() {
973
+ const rpc = get2(rpcId);
974
+ await rpc.dispose();
975
+ },
976
+ // @ts-ignore
977
+ invoke(method, ...params) {
978
+ const rpc = get2(rpcId);
979
+ return rpc.invoke(method, ...params);
980
+ },
981
+ // @ts-ignore
982
+ invokeAndTransfer(method, ...params) {
983
+ const rpc = get2(rpcId);
984
+ return rpc.invokeAndTransfer(method, ...params);
985
+ },
986
+ registerMockRpc(commandMap5) {
987
+ const mockRpc = createMockRpc({ commandMap: commandMap5 });
988
+ set(rpcId, mockRpc);
989
+ mockRpc[Symbol.dispose] = () => {
990
+ remove2(rpcId);
991
+ };
992
+ return mockRpc;
993
+ },
994
+ set(rpc) {
995
+ set(rpcId, rpc);
996
+ }
997
+ };
998
+ };
999
+
1000
+ // packages/extension-api/node_modules/@lvce-editor/constants/dist/parts/VirtualDomElements/VirtualDomElements.js
1001
+ var VirtualDomElements_exports = {};
1002
+ __export(VirtualDomElements_exports, {
1003
+ A: () => A,
1004
+ Abbr: () => Abbr,
1005
+ Article: () => Article,
1006
+ Aside: () => Aside,
1007
+ Audio: () => Audio,
1008
+ BlockQuote: () => BlockQuote,
1009
+ Br: () => Br,
1010
+ Button: () => Button,
1011
+ Canvas: () => Canvas,
1012
+ Circle: () => Circle,
1013
+ Cite: () => Cite,
1014
+ Code: () => Code,
1015
+ Col: () => Col,
1016
+ ColGroup: () => ColGroup,
1017
+ Data: () => Data,
1018
+ Dd: () => Dd,
1019
+ Defs: () => Defs,
1020
+ Del: () => Del,
1021
+ Div: () => Div,
1022
+ Dl: () => Dl,
1023
+ Dt: () => Dt,
1024
+ Ellipse: () => Ellipse,
1025
+ Em: () => Em,
1026
+ Figcaption: () => Figcaption,
1027
+ Figure: () => Figure,
1028
+ Footer: () => Footer,
1029
+ Form: () => Form,
1030
+ G: () => G,
1031
+ H1: () => H1,
1032
+ H2: () => H2,
1033
+ H3: () => H3,
1034
+ H4: () => H4,
1035
+ H5: () => H5,
1036
+ H6: () => H6,
1037
+ Head: () => Head,
1038
+ Header: () => Header,
1039
+ Hr: () => Hr,
1040
+ Html: () => Html,
1041
+ I: () => I,
1042
+ Iframe: () => Iframe,
1043
+ Img: () => Img,
1044
+ Input: () => Input,
1045
+ Ins: () => Ins,
1046
+ Kbd: () => Kbd,
1047
+ Label: () => Label,
1048
+ Li: () => Li,
1049
+ Line: () => Line,
1050
+ Main: () => Main,
1051
+ Meta: () => Meta,
1052
+ Nav: () => Nav,
1053
+ Ol: () => Ol,
1054
+ Option: () => Option,
1055
+ P: () => P,
1056
+ Path: () => Path,
1057
+ Polygon: () => Polygon,
1058
+ Polyline: () => Polyline,
1059
+ Pre: () => Pre,
1060
+ Quote: () => Quote,
1061
+ Rect: () => Rect,
1062
+ Reference: () => Reference,
1063
+ Root: () => Root,
1064
+ Search: () => Search,
1065
+ Section: () => Section,
1066
+ Select: () => Select,
1067
+ Span: () => Span,
1068
+ Strong: () => Strong,
1069
+ Style: () => Style,
1070
+ Svg: () => Svg,
1071
+ TBody: () => TBody,
1072
+ THead: () => THead,
1073
+ Table: () => Table,
1074
+ Td: () => Td,
1075
+ Text: () => Text,
1076
+ TextArea: () => TextArea,
1077
+ Tfoot: () => Tfoot,
1078
+ Th: () => Th,
1079
+ Time: () => Time,
1080
+ Title: () => Title,
1081
+ Tr: () => Tr,
1082
+ Ul: () => Ul,
1083
+ Use: () => Use,
1084
+ Video: () => Video
1085
+ });
1086
+ var Audio = 0;
1087
+ var Button = 1;
1088
+ var Col = 2;
1089
+ var ColGroup = 3;
1090
+ var Div = 4;
1091
+ var H1 = 5;
1092
+ var Input = 6;
1093
+ var Kbd = 7;
1094
+ var Span = 8;
1095
+ var Table = 9;
1096
+ var TBody = 10;
1097
+ var Td = 11;
1098
+ var Text = 12;
1099
+ var Th = 13;
1100
+ var THead = 14;
1101
+ var Tr = 15;
1102
+ var I = 16;
1103
+ var Img = 17;
1104
+ var Root = 0;
1105
+ var Ins = 20;
1106
+ var Del = 21;
1107
+ var H2 = 22;
1108
+ var H3 = 23;
1109
+ var H4 = 24;
1110
+ var H5 = 25;
1111
+ var H6 = 26;
1112
+ var Article = 27;
1113
+ var Aside = 28;
1114
+ var Footer = 29;
1115
+ var Header = 30;
1116
+ var Nav = 40;
1117
+ var Section = 41;
1118
+ var Search = 42;
1119
+ var Dd = 43;
1120
+ var Dl = 44;
1121
+ var Figcaption = 45;
1122
+ var Figure = 46;
1123
+ var Hr = 47;
1124
+ var Li = 48;
1125
+ var Ol = 49;
1126
+ var P = 50;
1127
+ var Pre = 51;
1128
+ var A = 53;
1129
+ var Abbr = 54;
1130
+ var Br = 55;
1131
+ var Cite = 56;
1132
+ var Data = 57;
1133
+ var Time = 58;
1134
+ var Tfoot = 59;
1135
+ var Ul = 60;
1136
+ var Video = 61;
1137
+ var TextArea = 62;
1138
+ var Select = 63;
1139
+ var Option = 64;
1140
+ var Code = 65;
1141
+ var Label = 66;
1142
+ var Dt = 67;
1143
+ var Iframe = 68;
1144
+ var Main = 69;
1145
+ var Strong = 70;
1146
+ var Em = 71;
1147
+ var Style = 72;
1148
+ var Html = 73;
1149
+ var Head = 74;
1150
+ var Title = 75;
1151
+ var Meta = 76;
1152
+ var Canvas = 77;
1153
+ var Form = 78;
1154
+ var BlockQuote = 79;
1155
+ var Quote = 80;
1156
+ var Circle = 81;
1157
+ var Defs = 82;
1158
+ var Ellipse = 83;
1159
+ var G = 84;
1160
+ var Line = 85;
1161
+ var Path = 86;
1162
+ var Polygon = 87;
1163
+ var Polyline = 88;
1164
+ var Rect = 89;
1165
+ var Svg = 90;
1166
+ var Use = 91;
1167
+ var Reference = 100;
1168
+
1169
+ // packages/extension-api/node_modules/@lvce-editor/constants/dist/parts/RpcId/RpcId.js
1170
+ var RpcId_exports = {};
1171
+ __export(RpcId_exports, {
1172
+ AuthProcess: () => AuthProcess,
1173
+ AuthWorker: () => AuthWorker,
1174
+ BlobWorker: () => BlobWorker,
1175
+ ChatCoordinatorWorker: () => ChatCoordinatorWorker,
1176
+ ChatDebugWorker: () => ChatDebugWorker,
1177
+ ChatMathWorker: () => ChatMathWorker,
1178
+ ChatMessageParsingWorker: () => ChatMessageParsingWorker,
1179
+ ChatNetworkWorker: () => ChatNetworkWorker,
1180
+ ChatStorageWorker: () => ChatStorageWorker,
1181
+ ChatToolWorker: () => ChatToolWorker,
1182
+ ChatViewModelWorker: () => ChatViewModelWorker,
1183
+ Cli: () => Cli,
1184
+ ClipBoardProcess: () => ClipBoardProcess,
1185
+ ClipBoardWorker: () => ClipBoardWorker,
1186
+ ColorPickerWorker: () => ColorPickerWorker,
1187
+ CompletionWorker: () => CompletionWorker,
1188
+ DebugWorker: () => DebugWorker,
1189
+ EditorWorker: () => EditorWorker,
1190
+ EmbedsProcess: () => EmbedsProcess,
1191
+ EmbedsWorker: () => EmbedsWorker,
1192
+ ErrorWorker: () => ErrorWorker,
1193
+ ExtensionDetailWorker: () => ExtensionDetailWorker,
1194
+ ExtensionHostHelperProcess: () => ExtensionHostHelperProcess,
1195
+ ExtensionHostWorker: () => ExtensionHostWorker,
1196
+ ExtensionManagementWorker: () => ExtensionManagementWorker,
1197
+ FileSearchWorker: () => FileSearchWorker,
1198
+ FileSystemProcess: () => FileSystemProcess,
1199
+ FileSystemWorker: () => FileSystemWorker,
1200
+ FileWatcherProcess: () => FileWatcherProcess,
1201
+ FindWidgetWorker: () => FindWidgetWorker,
1202
+ GithubWorker: () => GithubWorker,
1203
+ HoverWorker: () => HoverWorker,
1204
+ IconThemeWorker: () => IconThemeWorker,
1205
+ IframeWorker: () => IframeWorker,
1206
+ MainAreaWorker: () => MainAreaWorker,
1207
+ MainProcess: () => MainProcess,
1208
+ MarkdownWorker: () => MarkdownWorker,
1209
+ OpenerWorker: () => OpenerWorker,
1210
+ OutputWorker: () => OutputWorker,
1211
+ PreviewSandBoxWorker: () => PreviewSandBoxWorker,
1212
+ PreviewWorker: () => PreviewWorker,
1213
+ ProblemsWorker: () => ProblemsWorker,
1214
+ ProcessExplorerRenderer: () => ProcessExplorerRenderer,
1215
+ QuickPickWorker: () => QuickPickWorker,
1216
+ RenameWorker: () => RenameWorker,
1217
+ RendererProcess: () => RendererProcess,
1218
+ RendererWorker: () => RendererWorker,
1219
+ SearchProcess: () => SearchProcess,
1220
+ SearchProcessElectron: () => SearchProcessElectron,
1221
+ SettingsWorker: () => SettingsWorker,
1222
+ SharedProcess: () => SharedProcess,
1223
+ SourceActionWorker: () => SourceActionWorker,
1224
+ SourceControlWorker: () => SourceControlWorker,
1225
+ StatusBarWorker: () => StatusBarWorker,
1226
+ SyntaxHighlightingWorker: () => SyntaxHighlightingWorker,
1227
+ TemplateWorker: () => TemplateWorker,
1228
+ TerminalProcess: () => TerminalProcess,
1229
+ TestWithPlaywrightCli: () => TestWithPlaywrightCli,
1230
+ TestWithPlaywrightWorker: () => TestWithPlaywrightWorker,
1231
+ TestWorker: () => TestWorker,
1232
+ TextMeasurementWorker: () => TextMeasurementWorker,
1233
+ TextSearchWorker: () => TextSearchWorker,
1234
+ TypescriptCompileProcess: () => TypescriptCompileProcess
1235
+ });
1236
+ var AuthProcess = 6040;
1237
+ var AuthWorker = 6010;
1238
+ var BlobWorker = 19e3;
1239
+ var ChatCoordinatorWorker = 6008;
1240
+ var ChatDebugWorker = 6006;
1241
+ var ChatMathWorker = 6007;
1242
+ var ChatMessageParsingWorker = 6009;
1243
+ var ChatNetworkWorker = 6002;
1244
+ var ChatStorageWorker = 6003;
1245
+ var ChatToolWorker = 6005;
1246
+ var ChatViewModelWorker = 6022;
1247
+ var Cli = 6004;
1248
+ var ClipBoardProcess = 3401;
1249
+ var ClipBoardWorker = 3400;
1250
+ var ColorPickerWorker = 302;
1251
+ var CompletionWorker = 301;
1252
+ var DebugWorker = 55;
1253
+ var EditorWorker = 99;
1254
+ var EmbedsProcess = 207;
1255
+ var EmbedsWorker = 208;
1256
+ var ErrorWorker = 3308;
1257
+ var ExtensionDetailWorker = 3402;
1258
+ var ExtensionHostHelperProcess = 3;
1259
+ var ExtensionHostWorker = 44;
1260
+ var ExtensionManagementWorker = 9006;
1261
+ var FileSearchWorker = 7013;
1262
+ var FileSystemProcess = 210;
1263
+ var FileSystemWorker = 209;
1264
+ var FileWatcherProcess = 220;
1265
+ var FindWidgetWorker = 9002;
1266
+ var GithubWorker = 4444;
1267
+ var HoverWorker = 9003;
1268
+ var IconThemeWorker = 7009;
1269
+ var IframeWorker = 344;
1270
+ var MainAreaWorker = 82221;
1271
+ var MainProcess = -5;
1272
+ var MarkdownWorker = 300;
1273
+ var OpenerWorker = 4561;
1274
+ var OutputWorker = 7001;
1275
+ var PreviewSandBoxWorker = 3212;
1276
+ var PreviewWorker = 3211;
1277
+ var ProblemsWorker = 3403;
1278
+ var ProcessExplorerRenderer = 33;
1279
+ var QuickPickWorker = 1e4;
1280
+ var RenameWorker = 9004;
1281
+ var RendererProcess = 1670;
1282
+ var RendererWorker = 1;
1283
+ var SearchProcess = 77;
1284
+ var SearchProcessElectron = 2;
1285
+ var SettingsWorker = 11010;
1286
+ var SharedProcess = 1492;
1287
+ var SourceActionWorker = 303;
1288
+ var SourceControlWorker = 66;
1289
+ var StatusBarWorker = 7201;
1290
+ var SyntaxHighlightingWorker = 3309;
1291
+ var TemplateWorker = 4445;
1292
+ var TerminalProcess = 7;
1293
+ var TestWithPlaywrightCli = 6e3;
1294
+ var TestWithPlaywrightWorker = 6001;
1295
+ var TestWorker = 9001;
1296
+ var TextMeasurementWorker = 7011;
1297
+ var TextSearchWorker = 7010;
1298
+ var TypescriptCompileProcess = 221;
1299
+
1300
+ // packages/extension-api/node_modules/@lvce-editor/rpc-registry/dist/parts/ExtensionManagementWorker/ExtensionManagementWorker.js
1301
+ var ExtensionManagementWorker_exports = {};
1302
+ __export(ExtensionManagementWorker_exports, {
1303
+ disable: () => disable,
1304
+ disable2: () => disable2,
1305
+ dispose: () => dispose,
1306
+ enable: () => enable,
1307
+ enable2: () => enable2,
1308
+ getExtension: () => getExtension,
1309
+ getLanguages: () => getLanguages,
1310
+ install: () => install,
1311
+ invalidateExtensionsCache: () => invalidateExtensionsCache,
1312
+ invoke: () => invoke,
1313
+ invokeAndTransfer: () => invokeAndTransfer,
1314
+ registerMockRpc: () => registerMockRpc,
1315
+ set: () => set2,
1316
+ uninstall: () => uninstall
1317
+ });
1318
+ var { dispose, invoke, invokeAndTransfer, registerMockRpc, set: set2 } = create7(RpcId_exports.ExtensionManagementWorker);
1319
+ var enable = (id2) => {
1320
+ return invoke(`Extensions.enable`, id2);
1321
+ };
1322
+ var enable2 = (id2, platform) => {
1323
+ return invoke(`Extensions.enable2`, id2, platform);
1324
+ };
1325
+ var disable = (id2) => {
1326
+ return invoke(`Extensions.disable`, id2);
1327
+ };
1328
+ var disable2 = (id2, platform) => {
1329
+ return invoke(`Extensions.disable2`, id2, platform);
1330
+ };
1331
+ var getExtension = (id2) => {
1332
+ return invoke(`Extensions.getExtension`, id2);
1333
+ };
1334
+ var getLanguages = (platform, assetDir) => {
1335
+ return invoke("Extensions.getLanguages", platform, assetDir);
1336
+ };
1337
+ var install = (id2) => {
1338
+ return invoke(`Extensions.install`, id2);
1339
+ };
1340
+ var uninstall = (id2) => {
1341
+ return invoke(`Extensions.uninstall`, id2);
1342
+ };
1343
+ var invalidateExtensionsCache = () => {
1344
+ return invoke(`Extensions.invalidateExtensionsCache`);
936
1345
  };
937
1346
 
938
1347
  // packages/extension-api/src/parts/ExtensionApiError/ExtensionApiError.ts
@@ -975,7 +1384,9 @@ var registerCommand = (command) => {
975
1384
  };
976
1385
  var getCommandRegistrySnapshot = () => {
977
1386
  return {
978
- commands: Object.values(commands2)
1387
+ commands: Object.values(commands2).map((command) => ({
1388
+ id: command.id
1389
+ }))
979
1390
  };
980
1391
  };
981
1392
  var executeCommand = async (id2, ...args) => {
@@ -1089,16 +1500,40 @@ var getType = (value) => {
1089
1500
  }
1090
1501
  return typeof value;
1091
1502
  };
1503
+ var sanitizeCompletionItem = (item) => {
1504
+ const sanitizedItem = {};
1505
+ for (const [key, value] of Object.entries(item)) {
1506
+ if (typeof value !== "function") {
1507
+ sanitizedItem[key] = value;
1508
+ }
1509
+ }
1510
+ const { kind: itemKind, type } = item;
1511
+ let kind = 0;
1512
+ if (typeof itemKind === "number") {
1513
+ kind = itemKind;
1514
+ } else if (typeof type === "number") {
1515
+ kind = type;
1516
+ }
1517
+ return {
1518
+ ...sanitizedItem,
1519
+ flags: typeof item.flags === "number" ? item.flags : 0,
1520
+ kind,
1521
+ label: typeof item.label === "string" ? item.label : "",
1522
+ matches: Array.isArray(item.matches) ? item.matches : []
1523
+ };
1524
+ };
1092
1525
  var validateCompletionResult = (completion) => {
1093
1526
  if (!Array.isArray(completion)) {
1094
1527
  throw new ExtensionApiError(`invalid completion result: completion must be of type array but is ${getType(completion)}`);
1095
1528
  }
1529
+ const completionItems = [];
1096
1530
  for (const item of completion) {
1097
1531
  if (!item || typeof item !== "object" || Array.isArray(item)) {
1098
1532
  throw new ExtensionApiError(`invalid completion result: expected completion item to be of type object but was of type ${getType(item)}`);
1099
1533
  }
1534
+ completionItems.push(sanitizeCompletionItem(item));
1100
1535
  }
1101
- return completion;
1536
+ return completionItems;
1102
1537
  };
1103
1538
  var registry = createProviderRegistry({
1104
1539
  mapProvider(provider) {
@@ -1143,7 +1578,10 @@ var executeResolveCompletionItemProvider = async (textDocument, offset, name, co
1143
1578
  var getCompletionProviders = registry.getProviders;
1144
1579
  var getCompletionProviderRegistrySnapshot = () => {
1145
1580
  return {
1146
- providers: registry.getProviders()
1581
+ providers: registry.getProviders().map((provider) => ({
1582
+ id: provider.id,
1583
+ languageId: provider.languageId
1584
+ }))
1147
1585
  };
1148
1586
  };
1149
1587
  var resetCompletionProviderRegistry = registry.reset;
@@ -1201,7 +1639,10 @@ var executeDiagnosticProvider = async (textDocument, ...args) => {
1201
1639
  var getDiagnosticProviders = registry2.getProviders;
1202
1640
  var getDiagnosticProviderRegistrySnapshot = () => {
1203
1641
  return {
1204
- providers: registry2.getProviders()
1642
+ providers: registry2.getProviders().map((provider) => ({
1643
+ id: provider.id,
1644
+ languageId: provider.languageId
1645
+ }))
1205
1646
  };
1206
1647
  };
1207
1648
  var resetDiagnosticProviderRegistry = registry2.reset;
@@ -1236,26 +1677,17 @@ var executeFormattingProvider = async (textDocument, ...args) => {
1236
1677
  var getFormattingProviders = registry3.getProviders;
1237
1678
  var getFormattingProviderRegistrySnapshot = () => {
1238
1679
  return {
1239
- providers: registry3.getProviders()
1680
+ providers: registry3.getProviders().map((provider) => ({
1681
+ id: provider.id,
1682
+ languageId: provider.languageId
1683
+ }))
1240
1684
  };
1241
1685
  };
1242
1686
  var resetFormattingProviderRegistry = registry3.reset;
1243
1687
 
1244
- // packages/extension-api/src/parts/Rpc/Rpc.ts
1245
- var rpc;
1246
- var set = (value) => {
1247
- rpc = value;
1248
- };
1249
- var invoke = async (method, ...params) => {
1250
- if (!rpc) {
1251
- return void 0;
1252
- }
1253
- return rpc.invoke(method, ...params);
1254
- };
1255
-
1256
1688
  // packages/extension-api/src/parts/NotifyStatusBarChange/NotifyStatusBarChange.ts
1257
1689
  var notifyStatusBarChange = async (id2) => {
1258
- await invoke("StatusBar.handleChange", id2);
1690
+ await ExtensionManagementWorker_exports.invoke("StatusBar.handleChange", id2);
1259
1691
  };
1260
1692
 
1261
1693
  // packages/extension-api/src/parts/StatusBarItemProviderRegistry/StatusBarItemProviderRegistry.ts
@@ -1297,7 +1729,9 @@ var getStatusBarItems = () => {
1297
1729
  };
1298
1730
  var getStatusBarItemProviderRegistrySnapshot = () => {
1299
1731
  return {
1300
- providers: registry4.getProviders()
1732
+ providers: registry4.getProviders().map((provider) => ({
1733
+ id: provider.id
1734
+ }))
1301
1735
  };
1302
1736
  };
1303
1737
  var resetStatusBarItemProviderRegistry = registry4.reset;
@@ -1353,25 +1787,484 @@ var executeHoverProvider = async (textDocument, offset, ...args) => {
1353
1787
  var getHoverProviders = registry5.getProviders;
1354
1788
  var getHoverProviderRegistrySnapshot = () => {
1355
1789
  return {
1356
- providers: registry5.getProviders()
1790
+ providers: registry5.getProviders().map((provider) => ({
1791
+ id: provider.id,
1792
+ languageId: provider.languageId
1793
+ }))
1357
1794
  };
1358
1795
  };
1359
1796
  var resetHoverProviderRegistry = registry5.reset;
1360
1797
 
1798
+ // packages/extension-api/src/parts/OutputChannel/OutputChannel.ts
1799
+ var outputChannels = /* @__PURE__ */ Object.create(null);
1800
+ var isActivated = false;
1801
+ var RE_DASH_CASE = /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/;
1802
+ var assertOutputChannelId = (id2) => {
1803
+ if (typeof id2 !== "string" || id2.length === 0) {
1804
+ throw new ExtensionApiError("output channel id is required");
1805
+ }
1806
+ if (!RE_DASH_CASE.test(id2)) {
1807
+ throw new ExtensionApiError(`output channel id ${id2} must be dash-case`);
1808
+ }
1809
+ };
1810
+ var assertCanWrite = (id2) => {
1811
+ if (!isActivated) {
1812
+ throw new ExtensionApiError(`output channel ${id2} cannot be written before activate`);
1813
+ }
1814
+ };
1815
+ var ExtensionOutputChannel = class {
1816
+ #id;
1817
+ constructor(id2) {
1818
+ this.#id = id2;
1819
+ }
1820
+ async append(text) {
1821
+ assertCanWrite(this.#id);
1822
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.appendOutputChannel", this.#id, text);
1823
+ }
1824
+ async appendLine(text) {
1825
+ assertCanWrite(this.#id);
1826
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.appendOutputChannel", this.#id, `${text}
1827
+ `);
1828
+ }
1829
+ async clear() {
1830
+ assertCanWrite(this.#id);
1831
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.clearOutputChannel", this.#id);
1832
+ }
1833
+ async replace(text) {
1834
+ assertCanWrite(this.#id);
1835
+ await ExtensionManagementWorker_exports.invoke("ExtensionApi.replaceOutputChannel", this.#id, text);
1836
+ }
1837
+ };
1838
+ var activateOutputChannels = () => {
1839
+ isActivated = true;
1840
+ };
1841
+ var createOutputChannel = (id2) => {
1842
+ assertOutputChannelId(id2);
1843
+ if (id2 in outputChannels) {
1844
+ throw new ExtensionApiError(`output channel ${id2} is already created`);
1845
+ }
1846
+ outputChannels[id2] = {
1847
+ id: id2
1848
+ };
1849
+ return new ExtensionOutputChannel(id2);
1850
+ };
1851
+ var getOutputChannelRegistrySnapshot = () => {
1852
+ return {
1853
+ outputChannels: Object.values(outputChannels)
1854
+ };
1855
+ };
1856
+ var resetOutputChannelRegistry = () => {
1857
+ for (const id2 of Object.keys(outputChannels)) {
1858
+ delete outputChannels[id2];
1859
+ }
1860
+ isActivated = false;
1861
+ };
1862
+
1863
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/PatchType/PatchType.js
1864
+ var SetText = 1;
1865
+ var Replace = 2;
1866
+ var SetAttribute = 3;
1867
+ var RemoveAttribute = 4;
1868
+ var Add = 6;
1869
+ var NavigateChild = 7;
1870
+ var NavigateParent = 8;
1871
+ var RemoveChild = 9;
1872
+ var NavigateSibling = 10;
1873
+ var SetReferenceNodeUid = 11;
1874
+
1875
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/IsKey/IsKey.js
1876
+ var isKey = (key) => {
1877
+ return key !== "type" && key !== "childCount";
1878
+ };
1879
+
1880
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/GetKeys/GetKeys.js
1881
+ var getKeys = (node) => {
1882
+ const keys = Object.keys(node).filter(isKey);
1883
+ return keys;
1884
+ };
1885
+
1886
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/VirtualDomTree/VirtualDomTree.js
1887
+ var arrayToTree = (nodes) => {
1888
+ const result = [];
1889
+ let i = 0;
1890
+ while (i < nodes.length) {
1891
+ const node = nodes[i];
1892
+ const { children, nodesConsumed } = getChildrenWithCount(nodes, i + 1, node.childCount || 0);
1893
+ result.push({
1894
+ node,
1895
+ children
1896
+ });
1897
+ i += 1 + nodesConsumed;
1898
+ }
1899
+ return result;
1900
+ };
1901
+ var getChildrenWithCount = (nodes, startIndex, childCount) => {
1902
+ if (childCount === 0) {
1903
+ return { children: [], nodesConsumed: 0 };
1904
+ }
1905
+ const children = [];
1906
+ let i = startIndex;
1907
+ let remaining = childCount;
1908
+ let totalConsumed = 0;
1909
+ while (remaining > 0 && i < nodes.length) {
1910
+ const node = nodes[i];
1911
+ const nodeChildCount = node.childCount || 0;
1912
+ const { children: nodeChildren, nodesConsumed } = getChildrenWithCount(nodes, i + 1, nodeChildCount);
1913
+ children.push({
1914
+ node,
1915
+ children: nodeChildren
1916
+ });
1917
+ const nodeSize = 1 + nodesConsumed;
1918
+ i += nodeSize;
1919
+ totalConsumed += nodeSize;
1920
+ remaining--;
1921
+ }
1922
+ return { children, nodesConsumed: totalConsumed };
1923
+ };
1924
+
1925
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/VirtualDomDiffTree/CompareNodes.js
1926
+ var compareNodes = (oldNode, newNode) => {
1927
+ if (oldNode.type !== newNode.type) {
1928
+ return null;
1929
+ }
1930
+ const patches = [];
1931
+ if (oldNode.type === VirtualDomElements_exports.Reference) {
1932
+ if (oldNode.uid !== newNode.uid) {
1933
+ patches.push({
1934
+ type: SetReferenceNodeUid,
1935
+ uid: newNode.uid
1936
+ });
1937
+ }
1938
+ return patches;
1939
+ }
1940
+ if (oldNode.type === VirtualDomElements_exports.Text && newNode.type === VirtualDomElements_exports.Text) {
1941
+ if (oldNode.text !== newNode.text) {
1942
+ patches.push({
1943
+ type: SetText,
1944
+ value: newNode.text
1945
+ });
1946
+ }
1947
+ return patches;
1948
+ }
1949
+ const oldKeys = getKeys(oldNode);
1950
+ const newKeys = getKeys(newNode);
1951
+ for (const key of newKeys) {
1952
+ if (oldNode[key] !== newNode[key]) {
1953
+ patches.push({
1954
+ type: SetAttribute,
1955
+ key,
1956
+ value: newNode[key]
1957
+ });
1958
+ }
1959
+ }
1960
+ for (const key of oldKeys) {
1961
+ if (!Object.hasOwn(newNode, key)) {
1962
+ patches.push({
1963
+ type: RemoveAttribute,
1964
+ key
1965
+ });
1966
+ }
1967
+ }
1968
+ return patches;
1969
+ };
1970
+
1971
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/VirtualDomDiffTree/TreeToArray.js
1972
+ var treeToArray = (node) => {
1973
+ const result = [node.node];
1974
+ for (const child of node.children) {
1975
+ result.push(...treeToArray(child));
1976
+ }
1977
+ return result;
1978
+ };
1979
+
1980
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/VirtualDomDiffTree/DiffTrees.js
1981
+ var navigateToChild = (patches, currentChildIndex, index) => {
1982
+ if (currentChildIndex === -1) {
1983
+ patches.push({
1984
+ type: NavigateChild,
1985
+ index
1986
+ });
1987
+ return index;
1988
+ }
1989
+ if (currentChildIndex !== index) {
1990
+ patches.push({
1991
+ type: NavigateSibling,
1992
+ index
1993
+ });
1994
+ }
1995
+ return index;
1996
+ };
1997
+ var navigateToParent = (patches, currentChildIndex) => {
1998
+ if (currentChildIndex >= 0) {
1999
+ patches.push({
2000
+ type: NavigateParent
2001
+ });
2002
+ }
2003
+ return -1;
2004
+ };
2005
+ var addTree = (newNode, patches) => {
2006
+ patches.push({
2007
+ type: Add,
2008
+ nodes: treeToArray(newNode)
2009
+ });
2010
+ };
2011
+ var replaceTree = (newNode, patches) => {
2012
+ patches.push({
2013
+ type: Replace,
2014
+ nodes: treeToArray(newNode)
2015
+ });
2016
+ };
2017
+ var diffExistingChild = (oldNode, newNode, patches, currentChildIndex, index) => {
2018
+ const nodePatches = compareNodes(oldNode.node, newNode.node);
2019
+ if (nodePatches === null) {
2020
+ const nextChildIndex2 = navigateToChild(patches, currentChildIndex, index);
2021
+ replaceTree(newNode, patches);
2022
+ return nextChildIndex2;
2023
+ }
2024
+ const hasChildrenToCompare = oldNode.children.length > 0 || newNode.children.length > 0;
2025
+ if (nodePatches.length === 0 && !hasChildrenToCompare) {
2026
+ return currentChildIndex;
2027
+ }
2028
+ const nextChildIndex = navigateToChild(patches, currentChildIndex, index);
2029
+ if (nodePatches.length > 0) {
2030
+ patches.push(...nodePatches);
2031
+ }
2032
+ if (hasChildrenToCompare) {
2033
+ diffChildren(oldNode.children, newNode.children, patches);
2034
+ }
2035
+ return nextChildIndex;
2036
+ };
2037
+ var diffRootNode = (oldNode, newNode, patches) => {
2038
+ const nodePatches = compareNodes(oldNode.node, newNode.node);
2039
+ if (nodePatches === null) {
2040
+ replaceTree(newNode, patches);
2041
+ return;
2042
+ }
2043
+ if (nodePatches.length > 0) {
2044
+ patches.push(...nodePatches);
2045
+ }
2046
+ if (oldNode.children.length > 0 || newNode.children.length > 0) {
2047
+ diffChildren(oldNode.children, newNode.children, patches);
2048
+ }
2049
+ };
2050
+ var diffChildren = (oldChildren, newChildren, patches) => {
2051
+ const maxLength = Math.max(oldChildren.length, newChildren.length);
2052
+ let currentChildIndex = -1;
2053
+ const indicesToRemove = [];
2054
+ for (let i = 0; i < maxLength; i++) {
2055
+ const oldNode = oldChildren[i];
2056
+ const newNode = newChildren[i];
2057
+ if (!oldNode && !newNode) {
2058
+ continue;
2059
+ }
2060
+ if (!oldNode) {
2061
+ currentChildIndex = navigateToParent(patches, currentChildIndex);
2062
+ addTree(newNode, patches);
2063
+ continue;
2064
+ }
2065
+ if (!newNode) {
2066
+ indicesToRemove.push(i);
2067
+ continue;
2068
+ }
2069
+ currentChildIndex = diffExistingChild(oldNode, newNode, patches, currentChildIndex, i);
2070
+ }
2071
+ navigateToParent(patches, currentChildIndex);
2072
+ for (let j = indicesToRemove.length - 1; j >= 0; j--) {
2073
+ patches.push({
2074
+ type: RemoveChild,
2075
+ index: indicesToRemove[j]
2076
+ });
2077
+ }
2078
+ };
2079
+ var diffTrees = (oldTree, newTree, patches, path) => {
2080
+ if (path.length === 0 && oldTree.length === 1 && newTree.length === 1) {
2081
+ diffRootNode(oldTree[0], newTree[0], patches);
2082
+ return;
2083
+ }
2084
+ diffChildren(oldTree, newTree, patches);
2085
+ };
2086
+
2087
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/VirtualDomDiffTree/RemoveTrailingNavigationPatches.js
2088
+ var removeTrailingNavigationPatches = (patches) => {
2089
+ let lastNonNavigationIndex = -1;
2090
+ for (let i = patches.length - 1; i >= 0; i--) {
2091
+ const patch = patches[i];
2092
+ if (patch.type !== NavigateChild && patch.type !== NavigateParent && patch.type !== NavigateSibling) {
2093
+ lastNonNavigationIndex = i;
2094
+ break;
2095
+ }
2096
+ }
2097
+ return lastNonNavigationIndex === -1 ? [] : patches.slice(0, lastNonNavigationIndex + 1);
2098
+ };
2099
+
2100
+ // packages/extension-api/node_modules/@lvce-editor/virtual-dom-worker/dist/parts/VirtualDomDiffTree/VirtualDomDiffTree.js
2101
+ var diffTree = (oldNodes, newNodes) => {
2102
+ const oldTree = arrayToTree(oldNodes);
2103
+ const newTree = arrayToTree(newNodes);
2104
+ const patches = [];
2105
+ diffTrees(oldTree, newTree, patches, []);
2106
+ return removeTrailingNavigationPatches(patches);
2107
+ };
2108
+
2109
+ // packages/extension-api/src/parts/ViewRegistry/ViewRegistry.ts
2110
+ var views = /* @__PURE__ */ Object.create(null);
2111
+ var instances = /* @__PURE__ */ Object.create(null);
2112
+ var renderedDoms = /* @__PURE__ */ Object.create(null);
2113
+ var assertView = (view) => {
2114
+ if (!view) {
2115
+ throw new ExtensionApiError("view is not defined");
2116
+ }
2117
+ if (typeof view.id !== "string" || view.id.length === 0) {
2118
+ throw new ExtensionApiError("view is missing id");
2119
+ }
2120
+ if (typeof view.create !== "function") {
2121
+ throw new ExtensionApiError(`view ${view.id} is missing create function`);
2122
+ }
2123
+ if (view.id in views) {
2124
+ throw new ExtensionApiError(`view ${view.id} is already registered`);
2125
+ }
2126
+ };
2127
+ var toRegisteredView = (view) => {
2128
+ const registeredView = {
2129
+ icon: view.icon,
2130
+ id: view.id,
2131
+ title: view.title
2132
+ };
2133
+ if (view.kind) {
2134
+ return {
2135
+ ...registeredView,
2136
+ kind: view.kind
2137
+ };
2138
+ }
2139
+ return registeredView;
2140
+ };
2141
+ var registerView = (view) => {
2142
+ assertView(view);
2143
+ views[view.id] = view;
2144
+ return {
2145
+ dispose() {
2146
+ delete views[view.id];
2147
+ }
2148
+ };
2149
+ };
2150
+ var executeViewProvider = (id2) => {
2151
+ const view = views[id2];
2152
+ if (!view) {
2153
+ throw new ExtensionApiError(`view ${id2} not found`);
2154
+ }
2155
+ return view.create();
2156
+ };
2157
+ var assertVirtualDomViewInstance = (id2, instance) => {
2158
+ if (!instance || typeof instance !== "object") {
2159
+ throw new ExtensionApiError(`view ${id2} did not return a view instance`);
2160
+ }
2161
+ if (typeof instance.render !== "function") {
2162
+ throw new ExtensionApiError(`view ${id2} instance is missing render function`);
2163
+ }
2164
+ };
2165
+ var getVirtualDomInstance = (uid) => {
2166
+ const instance = instances[uid];
2167
+ if (!instance) {
2168
+ throw new ExtensionApiError(`view instance ${uid} not found`);
2169
+ }
2170
+ return instance;
2171
+ };
2172
+ var renderDom = async (instance) => {
2173
+ const dom = await instance.render();
2174
+ if (!Array.isArray(dom)) {
2175
+ throw new ExtensionApiError("view render result must be an array");
2176
+ }
2177
+ return dom;
2178
+ };
2179
+ var createViewInstance = async (viewId, uid, context) => {
2180
+ const view = views[viewId];
2181
+ if (!view) {
2182
+ throw new ExtensionApiError(`view ${viewId} not found`);
2183
+ }
2184
+ if (view.kind !== "virtualDom") {
2185
+ throw new ExtensionApiError(`view ${viewId} is not a virtual dom view`);
2186
+ }
2187
+ const instance = await view.create({
2188
+ ...context,
2189
+ uid,
2190
+ viewId
2191
+ });
2192
+ assertVirtualDomViewInstance(viewId, instance);
2193
+ instances[uid] = instance;
2194
+ const dom = await renderDom(instance);
2195
+ renderedDoms[uid] = dom;
2196
+ return {
2197
+ dom,
2198
+ type: "setDom"
2199
+ };
2200
+ };
2201
+ var dispatchViewEvent = async (uid, event) => {
2202
+ const instance = getVirtualDomInstance(uid);
2203
+ if (typeof instance.handleEvent === "function") {
2204
+ await instance.handleEvent(event);
2205
+ }
2206
+ const oldDom = renderedDoms[uid] || [];
2207
+ const newDom = await renderDom(instance);
2208
+ renderedDoms[uid] = newDom;
2209
+ const patches = diffTree(oldDom, newDom);
2210
+ return {
2211
+ patches,
2212
+ type: "setPatches"
2213
+ };
2214
+ };
2215
+ var disposeViewInstance = async (uid) => {
2216
+ const instance = instances[uid];
2217
+ if (instance && typeof instance.dispose === "function") {
2218
+ await instance.dispose();
2219
+ }
2220
+ delete instances[uid];
2221
+ delete renderedDoms[uid];
2222
+ };
2223
+ var saveViewInstanceState = async (uid) => {
2224
+ const instance = getVirtualDomInstance(uid);
2225
+ if (typeof instance.saveState !== "function") {
2226
+ return void 0;
2227
+ }
2228
+ return instance.saveState();
2229
+ };
2230
+ var getViewRegistrySnapshot = () => {
2231
+ return {
2232
+ views: Object.values(views).map(toRegisteredView)
2233
+ };
2234
+ };
2235
+ var resetViewRegistry = () => {
2236
+ for (const id2 of Object.keys(views)) {
2237
+ delete views[id2];
2238
+ }
2239
+ for (const uid of Object.keys(instances)) {
2240
+ delete instances[Number(uid)];
2241
+ }
2242
+ for (const uid of Object.keys(renderedDoms)) {
2243
+ delete renderedDoms[Number(uid)];
2244
+ }
2245
+ };
2246
+
1361
2247
  // packages/extension-api/src/parts/ExtensionApiCommandMap/ExtensionApiCommandMap.ts
1362
2248
  var commandMap = {
2249
+ "ExtensionApi.createViewInstance": createViewInstance,
2250
+ "ExtensionApi.dispatchViewEvent": dispatchViewEvent,
2251
+ "ExtensionApi.disposeViewInstance": disposeViewInstance,
1363
2252
  "ExtensionApi.executeCommand": executeCommand,
1364
2253
  "ExtensionApi.executeCompletionProvider": executeCompletionProvider,
1365
2254
  "ExtensionApi.executeDiagnosticProvider": executeDiagnosticProvider,
1366
2255
  "ExtensionApi.executeFormattingProvider": executeFormattingProvider,
1367
2256
  "ExtensionApi.executeHoverProvider": executeHoverProvider,
1368
2257
  "ExtensionApi.executeResolveCompletionItemProvider": executeResolveCompletionItemProvider,
2258
+ "ExtensionApi.executeViewProvider": executeViewProvider,
1369
2259
  "ExtensionApi.getCommandRegistrySnapshot": getCommandRegistrySnapshot,
1370
2260
  "ExtensionApi.getCompletionProviderRegistrySnapshot": getCompletionProviderRegistrySnapshot,
1371
2261
  "ExtensionApi.getDiagnosticProviderRegistrySnapshot": getDiagnosticProviderRegistrySnapshot,
1372
2262
  "ExtensionApi.getFormattingProviderRegistrySnapshot": getFormattingProviderRegistrySnapshot,
1373
2263
  "ExtensionApi.getHoverProviderRegistrySnapshot": getHoverProviderRegistrySnapshot,
1374
- "ExtensionApi.getStatusBarItems": getStatusBarItems
2264
+ "ExtensionApi.getOutputChannelRegistrySnapshot": getOutputChannelRegistrySnapshot,
2265
+ "ExtensionApi.getStatusBarItems": getStatusBarItems,
2266
+ "ExtensionApi.getViewRegistrySnapshot": getViewRegistrySnapshot,
2267
+ "ExtensionApi.saveViewInstanceState": saveViewInstanceState
1375
2268
  };
1376
2269
 
1377
2270
  // packages/extension-api/src/parts/ExtensionApiWorkerHandleMessagePort/ExtensionApiWorkerHandleMessagePort.ts
@@ -1406,10 +2299,10 @@ var commandMap3 = {
1406
2299
 
1407
2300
  // packages/extension-api/src/parts/ExtensionApiWorkerListen/ExtensionApiWorkerListen.ts
1408
2301
  var listen2 = async () => {
1409
- const rpc2 = WebWorkerRpcClient_exports.create({
2302
+ const rpc = WebWorkerRpcClient_exports.create({
1410
2303
  commandMap: commandMap3
1411
2304
  });
1412
- return rpc2;
2305
+ return rpc;
1413
2306
  };
1414
2307
 
1415
2308
  // packages/extension-api/src/parts/Activation/Activation.ts
@@ -1418,18 +2311,19 @@ var activate = async () => {
1418
2311
  if (!rpcPromise) {
1419
2312
  rpcPromise = listen2();
1420
2313
  }
1421
- const rpc2 = await rpcPromise;
1422
- set(rpc2);
2314
+ const rpc = await rpcPromise;
2315
+ ExtensionManagementWorker_exports.set(rpc);
2316
+ activateOutputChannels();
1423
2317
  };
1424
2318
 
1425
2319
  // packages/extension-api/src/parts/ExecuteCommand/ExecuteCommand.ts
1426
2320
  var executeCommand2 = async (id2, ...args) => {
1427
- return invoke("Extensions.executeCommand", id2, ...args);
2321
+ return ExtensionManagementWorker_exports.invoke("Extensions.executeCommand", id2, ...args);
1428
2322
  };
1429
2323
 
1430
2324
  // packages/extension-api/src/parts/QuickPick/QuickPick.ts
1431
2325
  var showQuickPick = async (options) => {
1432
- return invoke("ExtensionHostQuickPick.showQuickPick", options);
2326
+ return ExtensionManagementWorker_exports.invoke("ExtensionHostQuickPick.showQuickPick", options);
1433
2327
  };
1434
2328
 
1435
2329
  // packages/extension-api/src/parts/CommandMap/CommandMap.ts
@@ -1459,17 +2353,24 @@ var handleExtensionManagementMessagePort2 = async ({
1459
2353
  };
1460
2354
  export {
1461
2355
  activate,
2356
+ createOutputChannel,
2357
+ createViewInstance,
2358
+ dispatchViewEvent,
2359
+ disposeViewInstance,
1462
2360
  executeCommand2 as executeCommand,
1463
2361
  executeCompletionProvider,
1464
2362
  executeDiagnosticProvider,
1465
2363
  executeFormattingProvider,
1466
2364
  executeHoverProvider,
1467
2365
  executeResolveCompletionItemProvider,
2366
+ executeViewProvider,
1468
2367
  getCompletionProviderRegistrySnapshot,
1469
2368
  getDiagnosticProviderRegistrySnapshot,
1470
2369
  getFormattingProviderRegistrySnapshot,
1471
2370
  getHoverProviderRegistrySnapshot,
2371
+ getOutputChannelRegistrySnapshot,
1472
2372
  getStatusBarItemProviderRegistrySnapshot,
2373
+ getViewRegistrySnapshot,
1473
2374
  handleExtensionManagementMessagePort2 as handleExtensionManagementMessagePort,
1474
2375
  registerCommand,
1475
2376
  registerCompletionProvider,
@@ -1477,10 +2378,14 @@ export {
1477
2378
  registerFormattingProvider,
1478
2379
  registerHoverProvider,
1479
2380
  registerStatusBarItemProvider,
2381
+ registerView,
1480
2382
  resetCompletionProviderRegistry,
1481
2383
  resetDiagnosticProviderRegistry,
1482
2384
  resetFormattingProviderRegistry,
1483
2385
  resetHoverProviderRegistry,
2386
+ resetOutputChannelRegistry,
1484
2387
  resetStatusBarItemProviderRegistry,
2388
+ resetViewRegistry,
2389
+ saveViewInstanceState,
1485
2390
  showQuickPick
1486
2391
  };