@pstdio/workbench 0.40.0 → 0.41.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.
@@ -1,4 +1,5 @@
1
- import { ControlValue, ControlValueMap, ControlsQueryResult, ControlsQueryResult as ControlsQueryResult$1, DockedWorkbenchRegion, DockedWorkbenchRegion as DockedWorkbenchRegion$1, FileRendererSectionTarget, KanbanRendererAttributeDisplay, Localizable, ModeRegionSettings, NavigationTargetPage, NavigationTargetPanel, PageLocation, PageMain, PageOpenIntent, PageRef, PageSlot, PlacementIdentity, PlacementItem, PlacementRef, ResourceConstraint, ResourceRef, ResourceRef as ResourceRef$1, defaultPageResourceCodec, dockedWorkbenchRegions } from "@pstdio/sdk/extensions";
1
+ import { ControlValue, ControlValueMap, ControlsQueryResult, ControlsQueryResult as ControlsQueryResult$1, DataTableRendererSettings, DockedWorkbenchRegion, DockedWorkbenchRegion as DockedWorkbenchRegion$1, FileRendererSectionTarget, KanbanRendererAttributeDisplay, Localizable, ModeRegionSettings, NavigationTargetPage, NavigationTargetPanel, PageDocumentDeclaration, PageLocation, PageMain, PageOpenIntent, PageRef, PageSlot, PlacementIdentity, PlacementItem, PlacementRef, ResourceConstraint, ResourceRef, ResourceRef as ResourceRef$1, ViewFilterGroup, ViewSort, defaultPageResourceCodec, dockedWorkbenchRegions } from "@pstdio/sdk/extensions";
2
+ import { TerminalSessionAdapter, TerminalSessionError, TerminalSessionExit, TerminalSessionRequest } from "@pstdio/sdk/api";
2
3
  //#region src/core/shared/disposable.d.ts
3
4
  interface Disposable {
4
5
  dispose(): void;
@@ -79,6 +80,7 @@ interface ResourceHierarchyCycle {
79
80
  //#endregion
80
81
  //#region src/core/registries/resources/resource-registry.d.ts
81
82
  declare const workbenchResourceTypeContextKey = "workbench.resource.type";
83
+ declare const workbenchResourceOwnerContextKey = "workbench.resource.extensionId";
82
84
  declare const workbenchResourceIdContextKey = "workbench.resource.id";
83
85
  declare const workbenchResourceMetadataContextKey: (key: string) => string;
84
86
  declare const workbenchSelectionResourceKeyMetadataKey = "workbench.selectionResourceKey";
@@ -564,6 +566,8 @@ interface WorkbenchRegionState {
564
566
  visible: boolean;
565
567
  size?: number;
566
568
  widgets: WorkbenchWidgetPlacement[];
569
+ /** Page snapshots retain mixed-owner order without storing shared mode content. Consumed on restore. */
570
+ savedWidgetOrder?: string[];
567
571
  activeWidgetId?: string;
568
572
  /** Side region only: how the open Side Panel is shown. `visible` says whether it is open. */
569
573
  presentation?: Exclude<WorkbenchSidePanelMode, "closed">;
@@ -1035,162 +1039,6 @@ interface ControlsRendererContribution {
1035
1039
  subscribe?: (listener: () => void) => Disposable | (() => void);
1036
1040
  }
1037
1041
  //#endregion
1038
- //#region src/core/registries/renderers/view-toolbar-action.d.ts
1039
- interface ViewToolbarAction extends TreeAction {
1040
- presentation?: "primary" | "secondary";
1041
- }
1042
- //#endregion
1043
- //#region src/core/registries/renderers/data-table-renderer-registry.d.ts
1044
- interface DataTableRendererThemeColor {
1045
- light: string;
1046
- dark: string;
1047
- foreground?: {
1048
- light: string;
1049
- dark: string;
1050
- };
1051
- }
1052
- type DataTableRendererColumnStat = {
1053
- type: "unique";
1054
- } | {
1055
- type: "histogram";
1056
- bins?: number;
1057
- } | {
1058
- type: "top-values";
1059
- limit?: number;
1060
- };
1061
- type DataTableRendererBadgePalette = "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink";
1062
- type DataTableRendererColumnRenderer = {
1063
- type: "json";
1064
- } | {
1065
- type: "color-scale";
1066
- stops: Array<{
1067
- value: number;
1068
- color: DataTableRendererThemeColor;
1069
- }>;
1070
- } | {
1071
- type: "categorical-color";
1072
- categories: Array<{
1073
- value: string | number | boolean | null;
1074
- color: DataTableRendererThemeColor;
1075
- }>;
1076
- } | {
1077
- type: "badge";
1078
- categories?: Array<{
1079
- value: string | number | boolean | null;
1080
- palette: DataTableRendererBadgePalette;
1081
- }>;
1082
- } | {
1083
- type: "diff";
1084
- } | {
1085
- type: "date";
1086
- } | {
1087
- type: "path";
1088
- };
1089
- interface DataTableRendererColumn {
1090
- id: string;
1091
- label?: string;
1092
- description?: string;
1093
- icon?: unknown;
1094
- hidden?: boolean;
1095
- /** Starts unchecked in the column menu; viewers can still show the column. */
1096
- defaultHidden?: boolean;
1097
- stat?: DataTableRendererColumnStat;
1098
- renderer?: DataTableRendererColumnRenderer;
1099
- }
1100
- interface DataTableRendererRow {
1101
- id: string;
1102
- values: Record<string, unknown>;
1103
- resource?: ResourceRef$1;
1104
- }
1105
- interface DataTableRendererQueryResult {
1106
- rows: DataTableRendererRow[];
1107
- columns?: DataTableRendererColumn[];
1108
- }
1109
- interface DataTableRendererQueryContext {
1110
- resource?: ResourceRef$1;
1111
- modeId?: string;
1112
- }
1113
- interface DataTableRendererRowAction {
1114
- id: string;
1115
- label: string;
1116
- icon?: unknown;
1117
- destructive?: boolean;
1118
- run(row: DataTableRendererRow): Promise<void> | void;
1119
- }
1120
- interface DataTableRendererSelectionAction {
1121
- id: string;
1122
- label: string;
1123
- icon?: unknown;
1124
- destructive?: boolean;
1125
- run(rows: DataTableRendererRow[]): Promise<void> | void;
1126
- }
1127
- interface DataTableRendererContribution {
1128
- id: string;
1129
- title: string;
1130
- toolbarActions?: ViewToolbarAction[];
1131
- resourceKind?: string;
1132
- columns?: DataTableRendererColumn[];
1133
- selectionMode?: "none" | "multiple";
1134
- selectionActions?: DataTableRendererSelectionAction[];
1135
- rowActions?: DataTableRendererRowAction[];
1136
- initialPageSize?: number;
1137
- pageSizeOptions?: number[];
1138
- /** Whether column statistics start visible. Defaults to `true`. */
1139
- defaultShowStats?: boolean;
1140
- emptyTitle?: string;
1141
- emptyDescription?: string;
1142
- /** Context keys that choose which rows the query returns. A change drops the old rows and starts a new read. */
1143
- contextKeys?: string[];
1144
- executeQuery(context: DataTableRendererQueryContext, signal: AbortSignal): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
1145
- subscribe?: (listener: () => void) => Disposable | (() => void);
1146
- onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
1147
- }
1148
- interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {}
1149
- //#endregion
1150
- //#region src/core/registries/renderers/file-renderer-registry.d.ts
1151
- interface FileRendererContent {
1152
- fileName?: string;
1153
- /** Workspace-relative path shown above the file preview. */
1154
- filePath?: string;
1155
- mimeType?: string;
1156
- content?: string;
1157
- dataUrl?: string;
1158
- placeholder?: string;
1159
- /** Override contribution-level save support for one loaded file. */
1160
- editable?: boolean;
1161
- /** Request Monaco for text that automatic dispatch would open as markdown. */
1162
- textRenderer?: "automatic" | "monaco";
1163
- /** Represent a deliberate no-file selection without an editable blank document. */
1164
- emptyState?: {
1165
- title: string;
1166
- description?: string;
1167
- };
1168
- /** Ordered backing-store revision when one is available. */
1169
- revision?: string;
1170
- }
1171
- interface FileRendererRefreshOrigin {
1172
- rendererId: string;
1173
- instanceId: string;
1174
- operationId: string;
1175
- }
1176
- interface FileRendererRefreshEnvelope {
1177
- resourceKey?: string;
1178
- origin?: FileRendererRefreshOrigin;
1179
- revision?: string;
1180
- }
1181
- interface FileRendererSaveResult {
1182
- revision?: string;
1183
- }
1184
- interface FileRendererContribution {
1185
- id: string;
1186
- title: string;
1187
- resourceKind?: string;
1188
- /** Resolve the file's content (and identity) for the bound resource. */
1189
- load(resource: ResourceRef$1 | undefined, signal: AbortSignal): Promise<FileRendererContent> | FileRendererContent;
1190
- /** Persist edited text. Absent ⇒ read-only. Never called for images. */
1191
- save?(resource: ResourceRef$1 | undefined, content: string, origin?: FileRendererRefreshOrigin): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
1192
- }
1193
- //#endregion
1194
1042
  //#region src/core/registries/renderers/kanban-renderer-contracts.d.ts
1195
1043
  /**
1196
1044
  * Core-owned contracts for kanban renderer contributions. @pstdio/ui's
@@ -1199,9 +1047,7 @@ interface FileRendererContribution {
1199
1047
  * API shape to UI package ownership.
1200
1048
  */
1201
1049
  type ViewMode = "board" | "list";
1202
- type SortDirection = "asc" | "desc";
1203
1050
  declare const NO_GROUPING = "none";
1204
- declare const MANUAL_ORDERING = "manual";
1205
1051
  interface EnumOption {
1206
1052
  value: string;
1207
1053
  label: string;
@@ -1224,6 +1070,9 @@ type AttributeType = {
1224
1070
  } | {
1225
1071
  kind: "enum-multi";
1226
1072
  options: EnumOptions;
1073
+ } | {
1074
+ kind: "boolean";
1075
+ legacyValues?: Record<string, boolean>;
1227
1076
  } | {
1228
1077
  kind: "string";
1229
1078
  } | {
@@ -1267,24 +1116,22 @@ interface KanbanRendererRow {
1267
1116
  resource?: unknown;
1268
1117
  attributes: Record<string, unknown>;
1269
1118
  }
1270
- interface KanbanRendererOrdering {
1271
- attributeId: string | typeof MANUAL_ORDERING;
1272
- direction: SortDirection;
1273
- }
1119
+ /** Board display settings. Order lives in the view's sorts. */
1274
1120
  interface KanbanRendererSettings {
1275
1121
  viewMode: ViewMode;
1276
1122
  columnGrouping: string | typeof NO_GROUPING;
1277
1123
  rowGrouping: string | typeof NO_GROUPING;
1278
- ordering: KanbanRendererOrdering;
1279
1124
  displayProperties: string[];
1280
1125
  }
1281
- type KanbanRendererFilterState = Record<string, string[]>;
1282
- interface KanbanRendererSavedView {
1126
+ /** A view stores display settings, one filter, and its sorts. Search is screen state and never saved. */
1127
+ interface CollectionSavedView<TSettings> {
1283
1128
  id: string;
1284
1129
  title: string;
1285
- settings: KanbanRendererSettings;
1286
- filters: KanbanRendererFilterState;
1130
+ settings: TSettings;
1131
+ filter: ViewFilterGroup;
1132
+ sorts: ViewSort[];
1287
1133
  }
1134
+ type KanbanRendererSavedView = CollectionSavedView<KanbanRendererSettings>;
1288
1135
  type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
1289
1136
  interface KanbanRendererCreateField {
1290
1137
  id: string;
@@ -1345,34 +1192,209 @@ interface ResourceContextAction<TNode = unknown> {
1345
1192
  endContent?: TNode;
1346
1193
  separatorBefore?: boolean;
1347
1194
  }
1348
- interface KanbanRendererViewsSource {
1349
- views: (KanbanRendererSavedView & {
1195
+ interface CollectionViewsSource<TSettings> {
1196
+ views: (CollectionSavedView<TSettings> & {
1350
1197
  builtIn: boolean;
1351
1198
  })[];
1352
1199
  defaultViewId: string;
1353
1200
  onCreateView: (input: {
1354
1201
  title: string;
1355
- settings: KanbanRendererSettings;
1356
- filters: KanbanRendererFilterState;
1202
+ settings: TSettings;
1203
+ filter: ViewFilterGroup;
1204
+ sorts: ViewSort[];
1357
1205
  copyFrom?: string;
1358
- }) => Promise<KanbanRendererSavedView>;
1206
+ }) => Promise<CollectionSavedView<TSettings>>;
1359
1207
  onUpdateView: (id: string, input: {
1360
1208
  title?: string;
1361
- settings?: KanbanRendererSettings;
1362
- filters?: KanbanRendererFilterState;
1209
+ settings?: TSettings;
1210
+ filter?: ViewFilterGroup;
1211
+ sorts?: ViewSort[];
1363
1212
  }) => Promise<void>;
1364
1213
  onDeleteView: (id: string) => Promise<void>;
1365
1214
  onSetDefaultView: (id: string | null) => Promise<void>;
1366
1215
  }
1367
- interface KanbanRendererViewsProvider {
1368
- getSnapshot: () => KanbanRendererViewsSource | undefined;
1216
+ interface CollectionViewsProvider<TSettings> {
1217
+ getSnapshot: () => CollectionViewsSource<TSettings> | undefined;
1369
1218
  subscribe: (listener: () => void) => () => void;
1370
1219
  }
1220
+ type KanbanRendererViewsSource = CollectionViewsSource<KanbanRendererSettings>;
1221
+ type KanbanRendererViewsProvider = CollectionViewsProvider<KanbanRendererSettings>;
1222
+ //#endregion
1223
+ //#region src/core/registries/renderers/view-toolbar-action.d.ts
1224
+ interface ViewToolbarAction extends TreeAction {
1225
+ presentation?: "primary" | "secondary";
1226
+ }
1227
+ //#endregion
1228
+ //#region src/core/registries/renderers/data-table-renderer-registry.d.ts
1229
+ interface DataTableRendererThemeColor {
1230
+ light: string;
1231
+ dark: string;
1232
+ foreground?: {
1233
+ light: string;
1234
+ dark: string;
1235
+ };
1236
+ }
1237
+ type DataTableRendererColumnStat = {
1238
+ type: "unique";
1239
+ } | {
1240
+ type: "histogram";
1241
+ bins?: number;
1242
+ } | {
1243
+ type: "top-values";
1244
+ limit?: number;
1245
+ };
1246
+ type DataTableRendererBadgePalette = "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink";
1247
+ type DataTableRendererColumnRenderer = {
1248
+ type: "json";
1249
+ } | {
1250
+ type: "color-scale";
1251
+ stops: Array<{
1252
+ value: number;
1253
+ color: DataTableRendererThemeColor;
1254
+ }>;
1255
+ } | {
1256
+ type: "categorical-color";
1257
+ categories: Array<{
1258
+ value: string | number | boolean | null;
1259
+ color: DataTableRendererThemeColor;
1260
+ }>;
1261
+ } | {
1262
+ type: "badge";
1263
+ categories?: Array<{
1264
+ value: string | number | boolean | null;
1265
+ palette: DataTableRendererBadgePalette;
1266
+ }>;
1267
+ } | {
1268
+ type: "diff";
1269
+ } | {
1270
+ type: "date";
1271
+ } | {
1272
+ type: "path";
1273
+ };
1274
+ interface DataTableRendererColumn {
1275
+ id: string;
1276
+ label?: string;
1277
+ /** How filters and sorts compare the column. Without it, the type is inferred from the values. */
1278
+ type?: "string" | "number" | "boolean" | "date";
1279
+ /** Offers the column under Grouping in the table's Display menu. */
1280
+ groupable?: boolean;
1281
+ /** Whether this column can be filtered. Defaults to true. */
1282
+ filterable?: boolean;
1283
+ description?: string;
1284
+ icon?: unknown;
1285
+ hidden?: boolean;
1286
+ stat?: DataTableRendererColumnStat;
1287
+ renderer?: DataTableRendererColumnRenderer;
1288
+ }
1289
+ interface DataTableRendererRow {
1290
+ id: string;
1291
+ values: Record<string, unknown>;
1292
+ resource?: ResourceRef$1;
1293
+ }
1294
+ interface DataTableRendererQueryResult {
1295
+ rows: DataTableRendererRow[];
1296
+ columns?: DataTableRendererColumn[];
1297
+ }
1298
+ interface DataTableRendererQueryContext {
1299
+ resource?: ResourceRef$1;
1300
+ modeId?: string;
1301
+ filter: ViewFilterGroup;
1302
+ sorts: ViewSort[];
1303
+ settings: DataTableRendererSettings;
1304
+ }
1305
+ type DataTableRendererSavedView = CollectionSavedView<DataTableRendererSettings>;
1306
+ interface DataTableRendererRowAction {
1307
+ id: string;
1308
+ label: string;
1309
+ icon?: unknown;
1310
+ destructive?: boolean;
1311
+ run(row: DataTableRendererRow): Promise<void> | void;
1312
+ }
1313
+ interface DataTableRendererSelectionAction {
1314
+ id: string;
1315
+ label: string;
1316
+ icon?: unknown;
1317
+ destructive?: boolean;
1318
+ run(rows: DataTableRendererRow[]): Promise<void> | void;
1319
+ }
1320
+ interface DataTableRendererContribution {
1321
+ id: string;
1322
+ title: string;
1323
+ toolbarActions?: ViewToolbarAction[];
1324
+ resourceKind?: string;
1325
+ columns?: DataTableRendererColumn[];
1326
+ selectionMode?: "none" | "multiple";
1327
+ selectionActions?: DataTableRendererSelectionAction[];
1328
+ rowActions?: DataTableRendererRowAction[];
1329
+ initialPageSize?: number;
1330
+ pageSizeOptions?: number[];
1331
+ /** The view state used before a saved view is active, such as hidden columns or statistics. */
1332
+ defaultSettings?: Partial<DataTableRendererSettings>;
1333
+ defaultFilter?: ViewFilterGroup;
1334
+ defaultSorts?: ViewSort[];
1335
+ defaultViews?: DataTableRendererSavedView[];
1336
+ defaultActiveViewId?: string;
1337
+ /** Shared saved views. Without it the table offers its default views only. */
1338
+ viewsProvider?: CollectionViewsProvider<DataTableRendererSettings>;
1339
+ emptyTitle?: string;
1340
+ emptyDescription?: string;
1341
+ /** Context keys that choose which rows the query returns. A change drops the old rows and starts a new read. */
1342
+ contextKeys?: string[];
1343
+ executeQuery(context: DataTableRendererQueryContext, signal: AbortSignal): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
1344
+ subscribe?: (listener: () => void) => Disposable | (() => void);
1345
+ onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
1346
+ }
1347
+ interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {}
1348
+ //#endregion
1349
+ //#region src/core/registries/renderers/file-renderer-registry.d.ts
1350
+ interface FileRendererContent {
1351
+ fileName?: string;
1352
+ /** Workspace-relative path shown above the file preview. */
1353
+ filePath?: string;
1354
+ mimeType?: string;
1355
+ content?: string;
1356
+ dataUrl?: string;
1357
+ placeholder?: string;
1358
+ /** Override contribution-level save support for one loaded file. */
1359
+ editable?: boolean;
1360
+ /** Request Monaco for text that automatic dispatch would open as markdown. */
1361
+ textRenderer?: "automatic" | "monaco";
1362
+ /** Represent a deliberate no-file selection without an editable blank document. */
1363
+ emptyState?: {
1364
+ title: string;
1365
+ description?: string;
1366
+ };
1367
+ /** Ordered backing-store revision when one is available. */
1368
+ revision?: string;
1369
+ }
1370
+ interface FileRendererRefreshOrigin {
1371
+ rendererId: string;
1372
+ instanceId: string;
1373
+ operationId: string;
1374
+ }
1375
+ interface FileRendererRefreshEnvelope {
1376
+ resourceKey?: string;
1377
+ origin?: FileRendererRefreshOrigin;
1378
+ revision?: string;
1379
+ }
1380
+ interface FileRendererSaveResult {
1381
+ revision?: string;
1382
+ }
1383
+ interface FileRendererContribution {
1384
+ id: string;
1385
+ title: string;
1386
+ resourceKind?: string;
1387
+ /** Resolve the file's content (and identity) for the bound resource. */
1388
+ load(resource: ResourceRef$1 | undefined, signal: AbortSignal): Promise<FileRendererContent> | FileRendererContent;
1389
+ /** Persist edited text. Absent ⇒ read-only. Never called for images. */
1390
+ save?(resource: ResourceRef$1 | undefined, content: string, origin?: FileRendererRefreshOrigin): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
1391
+ }
1371
1392
  //#endregion
1372
1393
  //#region src/core/registries/renderers/kanban-renderer-registry.d.ts
1373
1394
  interface KanbanRendererQueryState {
1374
1395
  settings: KanbanRendererSettings;
1375
- filters: KanbanRendererFilterState;
1396
+ filter: ViewFilterGroup;
1397
+ sorts: ViewSort[];
1376
1398
  }
1377
1399
  interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow, TNode = unknown, TIcon = unknown> {
1378
1400
  id: string;
@@ -1396,9 +1418,10 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
1396
1418
  hideToolbar?: boolean;
1397
1419
  emptyTitle?: string;
1398
1420
  emptyDescription?: string;
1399
- /** Initial settings/filters applied when the kanban renderer mounts. */
1421
+ /** The view state used before a saved view is active. */
1400
1422
  defaultSettings?: Partial<KanbanRendererSettings>;
1401
- defaultFilters?: KanbanRendererFilterState;
1423
+ defaultFilter?: ViewFilterGroup;
1424
+ defaultSorts?: ViewSort[];
1402
1425
  viewsProvider?: KanbanRendererViewsProvider;
1403
1426
  defaultViews?: KanbanRendererSavedView[];
1404
1427
  defaultActiveViewId?: string;
@@ -1419,7 +1442,7 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
1419
1442
  * column value).
1420
1443
  */
1421
1444
  onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
1422
- /** Manual within-column reorder (only fires when ordering is manual). */
1445
+ /** Manual within-column reorder. Only fires while the view has no sorts. */
1423
1446
  onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
1424
1447
  createRow?: KanbanRendererCreateRowConfig;
1425
1448
  onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
@@ -1526,6 +1549,7 @@ interface WorkbenchPageContribution {
1526
1549
  modeId: string;
1527
1550
  parentId?: string;
1528
1551
  resource?: ResourceConstraint;
1552
+ document?: PageDocumentDeclaration;
1529
1553
  main: WorkbenchPageMain;
1530
1554
  slots: readonly WorkbenchPageSlot[];
1531
1555
  }
@@ -1568,7 +1592,7 @@ interface WorkbenchPageRegistry<Value> {
1568
1592
  };
1569
1593
  getPage(pageId: string): WorkbenchPageContribution | undefined;
1570
1594
  listPages(): WorkbenchPageContribution[];
1571
- pinPlacement(identity: PlacementIdentity): void;
1595
+ pinPlacement(identity: PlacementIdentity, open?: PageOpenIntent): void;
1572
1596
  openSlot(input: WorkbenchPageSlotOpenInput): void;
1573
1597
  }
1574
1598
  //#endregion
@@ -1679,31 +1703,10 @@ interface WorkbenchShellController {
1679
1703
  }
1680
1704
  //#endregion
1681
1705
  //#region src/core/controllers/terminal/terminal-controller.d.ts
1682
- interface WorkbenchTerminalSessionRequest {
1683
- command?: string[];
1684
- cwd?: string;
1685
- env?: Record<string, string>;
1686
- cols: number;
1687
- rows: number;
1688
- }
1689
- interface WorkbenchTerminalSessionExit {
1690
- code: number | null;
1691
- signal: string | null;
1692
- }
1693
- interface WorkbenchTerminalSessionError {
1694
- message: string;
1695
- }
1696
- interface WorkbenchTerminalSessionAdapter {
1697
- readonly id: string;
1698
- write(data: string | Uint8Array): void;
1699
- resize(cols: number, rows: number): void;
1700
- kill(signal?: string): Promise<void> | void;
1701
- onData(handler: (chunk: Uint8Array) => void): () => void;
1702
- /** Foreground process name updates, when the opener can report them (real PTYs). */
1703
- onTitle?(handler: (title: string) => void): () => void;
1704
- onExit(handler: (exit: WorkbenchTerminalSessionExit) => void): () => void;
1705
- onError(handler: (error: WorkbenchTerminalSessionError) => void): () => void;
1706
- }
1706
+ type WorkbenchTerminalSessionRequest = TerminalSessionRequest;
1707
+ type WorkbenchTerminalSessionExit = TerminalSessionExit;
1708
+ type WorkbenchTerminalSessionError = TerminalSessionError;
1709
+ type WorkbenchTerminalSessionAdapter = TerminalSessionAdapter;
1707
1710
  type WorkbenchTerminalSessionOpener = (request: WorkbenchTerminalSessionRequest) => Promise<WorkbenchTerminalSessionAdapter>;
1708
1711
  type WorkbenchTerminalSessionStatus = "running" | "exited" | "killed";
1709
1712
  interface WorkbenchTerminalSessionModel {
@@ -2101,16 +2104,28 @@ interface WorkbenchStatusBarItem {
2101
2104
  }
2102
2105
  interface WorkbenchStatusBarRegistryState {
2103
2106
  items: Record<string, WorkbenchStatusBarItem>;
2107
+ order: string[];
2104
2108
  }
2109
+ interface WorkbenchStatusBarPersistenceAdapter {
2110
+ getOrder(): string[] | undefined;
2111
+ setOrder(ids: string[]): void;
2112
+ }
2113
+ type WorkbenchStatusBarPosition = {
2114
+ beforeItemId: string;
2115
+ } | {
2116
+ afterItemId: string;
2117
+ };
2105
2118
  interface WorkbenchStatusBarRegistry {
2106
2119
  store: WorkbenchStore<WorkbenchStatusBarRegistryState>;
2107
2120
  registerItem(item: WorkbenchStatusBarItem): Disposable;
2108
2121
  getItem(id: string): WorkbenchStatusBarItem | undefined;
2109
2122
  listItems(): WorkbenchStatusBarItem[];
2110
2123
  listVisibleItems(slot?: WorkbenchStatusBarSlot): WorkbenchStatusBarItem[];
2124
+ reorderItem(id: string, position: WorkbenchStatusBarPosition): void;
2111
2125
  }
2112
2126
  interface CreateWorkbenchStatusBarRegistryInput {
2113
2127
  hasView(viewId: string): boolean;
2128
+ persistence?: WorkbenchStatusBarPersistenceAdapter;
2114
2129
  }
2115
2130
  declare const createStatusBarRegistry: (input: CreateWorkbenchStatusBarRegistryInput) => WorkbenchStatusBarRegistry;
2116
2131
  //#endregion
@@ -2223,7 +2238,11 @@ type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
2223
2238
  type WorkbenchModuleLayoutModel = Omit<WorkbenchLayoutModel, "registerPanel" | "registerWidget" | "openPanel" | "openWidget" | "registerPlaceholder" | "registerPanelMenu">;
2224
2239
  type WorkbenchTreeViews = Pick<TreeRendererRegistry, "getTreeState" | "setNodeExpanded" | "setSectionExpanded" | "setSelectedNode">;
2225
2240
  interface WorkbenchCoreContributionContext {
2226
- pinPlacement(identity: import("@pstdio/sdk/extensions").PlacementIdentity): void;
2241
+ pinPlacement(identity: import("@pstdio/sdk/extensions").PlacementIdentity, pinned?: boolean): void;
2242
+ getPanelDestinations(instanceId: string): WorkbenchPanelRegion[];
2243
+ movePanel(instanceId: string, region: WorkbenchPanelRegion, position?: WorkbenchTabPosition): void;
2244
+ resetLayout(): void;
2245
+ onDidResetLayout(listener: () => void): Disposable;
2227
2246
  closePlacement(identity: import("@pstdio/sdk/extensions").PlacementIdentity): void;
2228
2247
  breadcrumbs: WorkbenchBreadcrumbController;
2229
2248
  commandPalette: WorkbenchCommandPaletteController;
@@ -2312,6 +2331,7 @@ interface createWorkbenchInput {
2312
2331
  preferencePersistence?: PreferencePersistenceAdapter;
2313
2332
  treePersistence?: TreeRendererPersistenceAdapter;
2314
2333
  panelMenuStatePersistence?: WorkbenchPanelMenuStatePersistenceAdapter;
2334
+ statusBarPersistence?: WorkbenchStatusBarPersistenceAdapter;
2315
2335
  defaultPanelOpenByRegionId?: Partial<Record<WorkbenchRegion, boolean>>;
2316
2336
  /** Host-level region layout policy. The active mode's regionSettings win over it. */
2317
2337
  regionSettings?: Partial<Record<WorkbenchRegion, WorkbenchRegionSettings>>;
@@ -2331,11 +2351,7 @@ interface WorkbenchModuleContribution {
2331
2351
  //#region src/core/workbench-core.d.ts
2332
2352
  declare const createWorkbench: (input?: createWorkbenchInput) => WorkbenchCore;
2333
2353
  //#endregion
2334
- //#region src/core/registries/modes/mode-layout.d.ts
2335
- declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
2336
- declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
2337
- //#endregion
2338
- //#region src/core/registries/modes/mode-registry.d.ts
2354
+ //#region src/core/registries/modes/mode-registry-types.d.ts
2339
2355
  type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
2340
2356
  type WorkbenchModeActivationResult = Disposable | readonly Disposable[] | undefined;
2341
2357
  interface WorkbenchModeAddablePanel {
@@ -2385,10 +2401,14 @@ interface WorkbenchModeRegistry {
2385
2401
  onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable;
2386
2402
  }
2387
2403
  //#endregion
2404
+ //#region src/core/registries/modes/mode-layout.d.ts
2405
+ declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
2406
+ declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
2407
+ //#endregion
2388
2408
  //#region src/core/controllers/composition/composition-controller.d.ts
2389
2409
  interface WorkbenchCompositionAddablePanel extends WorkbenchModeAddablePanel {
2390
2410
  contribution: RegisteredWidgetContribution;
2391
- open?(resource?: ResourceRef$1): void;
2411
+ open?(resource?: ResourceRef$1): void | Promise<void>;
2392
2412
  }
2393
2413
  interface WorkbenchCompositionRegionPanels {
2394
2414
  open: readonly WorkbenchWidgetPlacement[];
@@ -2423,7 +2443,7 @@ declare const createLevelNavigation: (host: LevelNavigationHost) => {
2423
2443
  //#endregion
2424
2444
  //#region src/core/registries/layout/surface-map.d.ts
2425
2445
  type AnchorId = "primary" | "secondary" | "attached";
2426
- declare const resolveAnchorRegion: (anchorId: AnchorId) => "nav" | "activity" | "sidenav" | "main-header" | "main-left-menu" | "main" | "main-right-menu" | "secondary-header" | "secondary-left-menu" | "secondary" | "secondary-right-menu" | "side-header" | "side-left-menu" | "side" | "side-right-menu" | "status" | "overlay";
2446
+ declare const resolveAnchorRegion: (anchorId: AnchorId) => "activity" | "sidenav" | "main" | "secondary" | "side" | "status" | "nav" | "main-header" | "main-left-menu" | "main-right-menu" | "secondary-header" | "secondary-left-menu" | "secondary-right-menu" | "side-header" | "side-left-menu" | "side-right-menu" | "overlay";
2427
2447
  //#endregion
2428
2448
  //#region src/core/registries/menus/workbench-menu-paths.d.ts
2429
2449
  declare const headerLeadingMenuPath: (region: string) => MenuPath;
@@ -2451,9 +2471,14 @@ declare const rendererReadKey: (placement: WorkbenchPanelInstance, lane?: string
2451
2471
  //#region src/core/registries/views/settle-read-batch.d.ts
2452
2472
  declare const settleReadBatch: <T>(tasks: ((signal: AbortSignal) => Promise<T> | T)[], signal?: AbortSignal) => Promise<Awaited<T>[]>;
2453
2473
  //#endregion
2474
+ //#region src/core/shared/run-user-action.d.ts
2475
+ declare const runUserAction: (workbench: {
2476
+ notifications: Pick<NotificationRegistry, "show">;
2477
+ }, label: string, run: () => unknown) => Promise<void>;
2478
+ //#endregion
2454
2479
  //#region src/core/shared/store/workbench-batch.d.ts
2455
2480
  /** Commit related stores before their subscribers read the resulting workbench state. */
2456
2481
  declare const batchWorkbenchChanges: <Result>(commit: () => Result) => Result;
2457
2482
  //#endregion
2458
- export { createStatusRegistry as $, WorkbenchHierarchyNode as $i, ResourceContextAction as $n, WorkbenchPanelInstance as $r, WorkbenchTerminalSessionRequest as $t, WorkbenchCoreContributionContext as A, CommandParamDescriptor as Ai, createRendererReadRegistry as An, TreeAction as Ar, RegisteredWorkbenchNotification as At, ThemeRegistry as B, ResourceListContext as Bi, EnumOption as Bn, TreeViewSection as Br, KeybindingSequence as Bt, WorkbenchModeAddablePanelContext as C, NavigationTargetCompound as Ci, WorkbenchViewRegistry as Cn, ControlsResetInput as Cr, WorkbenchShellPlacementContribution as Ct, isWorkbenchModePanelAvailable as D, WorkbenchCommandPaletteOpenInput as Di, RendererReadBinding as Dn, NavigationTreeOwner as Dr, WorkbenchOverlayContribution as Dt, getWorkbenchModePanelForRegion as E, WorkbenchCommandPaletteController as Ei, workbenchViewIdContextKey as En, NavigationTreeContribution as Er, WorkbenchPlaceholderRegistry as Et, WorkbenchPagePersistenceScope as F, WorkbenchCommandExecutionError as Fi, AttributeKind as Fn, TreeNodeInlineInput as Fr, WorkbenchModePlacementContribution as Ft, FileIconThemeRegistry as G, createWorkbenchSelectionResourceMetadata as Gi, KanbanRendererCreateRowConfig as Gn, RegisteredMenuItem as Gr, CommandPaletteResourceRegistry as Gt, ThemePreferenceMode as H, ResourceRef$1 as Hi, EnumOptionsSource as Hn, MenuItem as Hr, CommandPaletteResourceProvider as Ht, WorkbenchPagePersistenceScopeInput as I, WorkbenchBreadcrumbController as Ii, AttributeType as In, TreeQueryContext as Ir, WorkbenchModePlacementRegistry as It, WorkbenchStatusRegistry as J, workbenchResourceMetadataContextKey as Ji, KanbanRendererOrdering as Jn, LayoutPersistenceAdapter as Jr, WorkbenchTerminalSessionAdapter as Jt, FileIconThemeFont as K, getWorkbenchSelectionResourceKeys as Ki, KanbanRendererCreateSubmission as Kn, WorkbenchFocusController as Kr, CommandPaletteResourceResult as Kt, WorkbenchPersistenceAdapter as L, WorkbenchBreadcrumbItem as Li, AttributesSource as Ln, TreeRendererContribution as Lr, WorkbenchOwnedPlacementItem as Lt, WorkbenchModuleContext as M, CommandParamSchema as Mi, KanbanRendererQueryState as Mn, TreeMoveEndpoint as Mr, WorkbenchNotificationAction as Mt, WorkbenchModuleContribution as N, CommandRegistry as Ni, AttributeDescriptor as Nn, TreeMovePolicy as Nr, WorkbenchNotificationEvent as Nt, createWorkbench as O, Command as Oi, RendererReadRegistry as On, NavigationTreeRegistry as Or, WorkbenchOverlayRegistry as Ot, WorkbenchModuleContributionContext as P, WorkbenchCommandExecutionContext as Pi, AttributeDisplayDescriptor as Pn, TreeNode as Pr, WorkbenchNotificationLevel as Pt, WorkflowStatusAction as Q, ResourceHierarchyProvider as Qi, KanbanRendererViewsSource as Qn, WorkbenchLayout as Qr, WorkbenchTerminalSessionOpener as Qt, WorkbenchSnapshot as R, ResourceBrowseEntry as Ri, BoardColumnAction as Rn, TreeRendererPersistenceAdapter as Rr, Keybinding as Rt, WorkbenchModeAddablePanel as S, NavigationTargetCommand as Si, WorkbenchViewContribution as Sn, ControlsRendererLayout as Sr, PreferenceValue as St, WorkbenchModeRegistry as T, NavigationTargetPanel$1 as Ti, createViewRegistry as Tn, NavigationTreeContext as Tr, WorkbenchPlaceholderContribution as Tt, ThemePreferenceOption as U, ResourceRegistry as Ui, KanbanRendererCreateField as Un, MenuPath as Ur, CommandPaletteResourceProviderResult as Ut, ThemePreference as V, ResourceProvider as Vi, EnumOptions as Vn, WorkbenchPanelRenderInput as Vr, getKeybindingSteps as Vt, ThemePreferenceTokens as W, createWorkbenchResourceContextValues as Wi, KanbanRendererCreateFieldType as Wn, MenuRegistry as Wr, CommandPaletteResourceQueryContext as Wt, WorkbenchStatusSetContribution as X, workbenchSelectionResourceKeyMetadataKey as Xi, KanbanRendererSettings as Xn, RegisteredWidgetContribution as Xr, WorkbenchTerminalSessionExit as Xt, WorkbenchStatusRegistryState as Y, workbenchResourceTypeContextKey as Yi, KanbanRendererRow as Yn, RegisteredPlaceholderContribution as Yr, WorkbenchTerminalSessionError as Yt, WorkflowStatus as Z, ResourceHierarchyCycle as Zi, KanbanRendererViewsProvider as Zn, WorkbenchCommandTarget as Zr, WorkbenchTerminalSessionModel as Zt, resolveAnchorRegion as _, workbenchRegions as _i, WorkbenchViewMenuContribution as _n, DataTableRendererThemeColor as _r, PreferencePropertySchema as _t, standardResourceIcons as a, ContextKeyScope as aa, WorkbenchTabMenuGroup as ai, WorkbenchShellRegionState as an, FileRendererRefreshOrigin as ar, CollectionSettingsPanel as at, WorkbenchModeActivationContext as b, NavigationRegistry as bi, WorkbenchReactViewBody as bn, ControlsQueryResult$1 as br, PreferenceScope as bt, headerLeadingMenuPath as c, matchesContextExpression as ca, WorkbenchTabRetention as ci, PersistedWorkbenchPageLocation as cn, DataTableRendererColumn as cr, SettingsCollectionGroupBy as ct, workbenchCommandPaletteMenuPath as d, WorkbenchWidgetTab as di, WorkbenchPageLocationController as dn, DataTableRendererContribution as dr, SettingsPanelPreference as dt, WorkbenchViewHierarchyNode as ea, WorkbenchPanelMountStrategy as ei, WorkbenchTerminalSessionSink as en, SortDirection as er, WorkbenchStatusBarItem as et, workbenchRegionTabAddMenuPath as f, WorkbenchPanelMenuRegion as fi, WorkbenchPageLocationDiagnostic as fn, DataTableRendererQueryContext as fr, SettingsRegistry as ft, AnchorId as g, workbenchPanelRegions as gi, WorkbenchPlacementPresentation as gn, DataTableRendererSelectionAction as gr, PreferencePersistenceAdapter as gt, workbenchTopHeaderTrailingMenuPath as h, WorkbenchRegion as hi, WorkbenchPageContribution as hn, DataTableRendererRowAction as hr, ViewSettingsPanel as ht, StandardResourceIcon as i, ContributionSource as ia, WorkbenchTabAction as ii, WorkbenchShellOpenRegion as in, FileRendererRefreshEnvelope as ir, createStatusBarRegistry as it, WorkbenchHost as j, CommandParamOption as ji, KanbanRendererContribution as jn, TreeContext as jr, WorkbenchNotification as jt, WorkbenchCore as k, CommandHandler as ki, RendererReadRequest as kn, NavigationTreeSlot as kr, NotificationRegistry as kt, headerTrailingMenuPath as l, WorkbenchStore as la, WorkbenchTabSnapshot as li, WorkbenchPageBrowserEntry as ln, DataTableRendererColumnRenderer as lr, SettingsPanelBase as lt, workbenchTopHeaderLeadingMenuPath as m, WorkbenchPanelRegion as mi, WorkbenchPageNavigationResult as mn, DataTableRendererRow as mr, SettingsSectionContribution as mt, settleReadBatch as n, resourceHierarchyCycleCode as na, WorkbenchRegionSize as ni, WorkbenchTerminalState as nn, FileRendererContent as nr, WorkbenchStatusBarRegistryState as nt, DockedWorkbenchRegion$1 as o, ContextKeyService as oa, WorkbenchTabMenuRow as oi, WorkbenchSidePanelPresentation as on, FileRendererSaveResult as or, SchemaSettingsPanel as ot, workbenchRegionTabLeadingMenuPath as p, WorkbenchPanelMenuSide as pi, WorkbenchPageLocationPersistence as pn, DataTableRendererQueryResult as pr, SettingsScope as pt, FileIconThemePreferenceOption as q, workbenchResourceIdContextKey as qi, KanbanRendererFilterState as qn, WorkbenchFocusRegionId as qr, WorkbenchTerminalController as qt, rendererReadKey as r, ContributionMetadata as ra, WorkbenchSidePanelMode as ri, WorkbenchShellController as rn, FileRendererContribution as rr, WorkbenchStatusBarSlot as rt, dockedWorkbenchRegions as s, ContextKeyValue as sa, WorkbenchTabPosition as si, WorkbenchPanelMenuStatePersistenceAdapter as sn, DataTableRendererBadgePalette as sr, SettingsAction as st, batchWorkbenchChanges as t, isWorkbenchViewHierarchyNode as ta, WorkbenchPanelTab as ti, WorkbenchTerminalSessionStatus as tn, ViewMode as tr, WorkbenchStatusBarRegistry as tt, resourceContextMenuPath as u, Disposable as ua, WorkbenchWidgetPlacement as ui, WorkbenchPageLocationBrowser as un, DataTableRendererColumnStat as ur, SettingsPanelContribution as ut, defaultPageResourceCodec as v, NavigationDispatcherContext as vi, WorkbenchViewMenuRegistry as vn, RegisteredDataTableRendererContribution as vr, PreferenceRegistry as vt, WorkbenchModeContribution as w, NavigationTargetItem as wi, WorkbenchViewRegistryStoreState as wn, ControlsUpdateValueInput as wr, WorkbenchShellPlacementRegistry as wt, WorkbenchModeActivationResult as x, NavigationTarget$1 as xi, WorkbenchViewBody as xn, ControlsRendererContribution as xr, PreferenceScopeRef as xt, createLevelNavigation as y, NavigationParser as yi, RegisteredWorkbenchView as yn, ControlsApplyInput as yr, PreferenceSchemaContribution as yt, createWorkbenchInput as z, ResourceKindContribution as zi, BoardColumnConfig as zn, TreeRendererState as zr, KeybindingRegistry as zt };
2483
+ export { WorkflowStatusAction as $, workbenchResourceTypeContextKey as $i, AttributeDescriptor as $n, RegisteredWidgetContribution as $r, WorkbenchTerminalSessionExit as $t, WorkbenchCore as A, WorkbenchCommandPaletteOpenInput as Ai, RendererReadBinding as An, NavigationTreeOwner as Ar, WorkbenchOverlayContribution as At, createWorkbenchInput as B, WorkbenchBreadcrumbItem as Bi, FileRendererSaveResult as Bn, TreeRendererContribution as Br, WorkbenchOwnedPlacementItem as Bt, WorkbenchModeActivationContext as C, NavigationRegistry as Ci, WorkbenchReactViewBody as Cn, ControlsQueryResult$1 as Cr, PreferenceScope as Ct, WorkbenchModeContribution as D, NavigationTargetItem as Di, WorkbenchViewRegistryStoreState as Dn, ControlsUpdateValueInput as Dr, WorkbenchShellPlacementRegistry as Dt, WorkbenchModeAddablePanelContext as E, NavigationTargetCompound as Ei, WorkbenchViewRegistry as En, ControlsResetInput as Er, WorkbenchShellPlacementContribution as Et, WorkbenchModuleContributionContext as F, CommandParamSchema as Fi, KanbanRendererQueryState as Fn, TreeMoveEndpoint as Fr, WorkbenchNotificationAction as Ft, ThemePreferenceTokens as G, ResourceRef$1 as Gi, DataTableRendererContribution as Gn, MenuItem as Gr, CommandPaletteResourceProvider as Gt, ThemePreference as H, ResourceKindContribution as Hi, DataTableRendererColumn as Hn, TreeRendererState as Hr, KeybindingRegistry as Ht, WorkbenchPagePersistenceScope as I, CommandRegistry as Ii, FileRendererContent as In, TreeMovePolicy as Ir, WorkbenchNotificationEvent as It, FileIconThemePreferenceOption as J, createWorkbenchSelectionResourceMetadata as Ji, DataTableRendererRow as Jn, RegisteredMenuItem as Jr, CommandPaletteResourceRegistry as Jt, FileIconThemeRegistry as K, ResourceRegistry as Ki, DataTableRendererQueryContext as Kn, MenuPath as Kr, CommandPaletteResourceProviderResult as Kt, WorkbenchPagePersistenceScopeInput as L, WorkbenchCommandExecutionContext as Li, FileRendererContribution as Ln, TreeNode as Lr, WorkbenchNotificationLevel as Lt, WorkbenchHost as M, CommandHandler as Mi, RendererReadRequest as Mn, NavigationTreeSlot as Mr, NotificationRegistry as Mt, WorkbenchModuleContext as N, CommandParamDescriptor as Ni, createRendererReadRegistry as Nn, TreeAction as Nr, RegisteredWorkbenchNotification as Nt, WorkbenchModeRegistry as O, NavigationTargetPanel$1 as Oi, createViewRegistry as On, NavigationTreeContext as Or, WorkbenchPlaceholderContribution as Ot, WorkbenchModuleContribution as P, CommandParamOption as Pi, KanbanRendererContribution as Pn, TreeContext as Pr, WorkbenchNotification as Pt, WorkflowStatus as Q, workbenchResourceOwnerContextKey as Qi, RegisteredDataTableRendererContribution as Qn, RegisteredPlaceholderContribution as Qr, WorkbenchTerminalSessionError as Qt, WorkbenchPersistenceAdapter as R, WorkbenchCommandExecutionError as Ri, FileRendererRefreshEnvelope as Rn, TreeNodeInlineInput as Rr, WorkbenchModePlacementContribution as Rt, isWorkbenchModePanelAvailable as S, NavigationParser as Si, RegisteredWorkbenchView as Sn, ControlsApplyInput as Sr, PreferenceSchemaContribution as St, WorkbenchModeAddablePanel as T, NavigationTargetCommand as Ti, WorkbenchViewContribution as Tn, ControlsRendererLayout as Tr, PreferenceValue as Tt, ThemePreferenceMode as U, ResourceListContext as Ui, DataTableRendererColumnRenderer as Un, TreeViewSection as Ur, KeybindingSequence as Ut, ThemeRegistry as V, ResourceBrowseEntry as Vi, DataTableRendererBadgePalette as Vn, TreeRendererPersistenceAdapter as Vr, Keybinding as Vt, ThemePreferenceOption as W, ResourceProvider as Wi, DataTableRendererColumnStat as Wn, WorkbenchPanelRenderInput as Wr, getKeybindingSteps as Wt, WorkbenchStatusRegistryState as X, workbenchResourceIdContextKey as Xi, DataTableRendererSelectionAction as Xn, WorkbenchFocusRegionId as Xr, WorkbenchTerminalController as Xt, WorkbenchStatusRegistry as Y, getWorkbenchSelectionResourceKeys as Yi, DataTableRendererRowAction as Yn, WorkbenchFocusController as Yr, CommandPaletteResourceResult as Yt, WorkbenchStatusSetContribution as Z, workbenchResourceMetadataContextKey as Zi, DataTableRendererThemeColor as Zn, LayoutPersistenceAdapter as Zr, WorkbenchTerminalSessionAdapter as Zt, AnchorId as _, WorkbenchPanelRegion as _i, WorkbenchPageNavigationResult as _n, KanbanRendererSettings as _r, SettingsSectionContribution as _t, StandardResourceIcon as a, isWorkbenchViewHierarchyNode as aa, WorkbenchRegionSize as ai, WorkbenchTerminalState as an, BoardColumnConfig as ar, WorkbenchStatusBarRegistryState as at, createLevelNavigation as b, workbenchRegions as bi, WorkbenchViewMenuContribution as bn, ResourceContextAction as br, PreferencePropertySchema as bt, dockedWorkbenchRegions as c, ContributionSource as ca, WorkbenchTabMenuGroup as ci, WorkbenchShellRegionState as cn, CollectionViewsSource as cr, CollectionSettingsPanel as ct, resourceContextMenuPath as d, ContextKeyValue as da, WorkbenchTabRetention as di, PersistedWorkbenchPageLocation as dn, EnumOptionsSource as dr, SettingsCollectionGroupBy as dt, workbenchSelectionResourceKeyMetadataKey as ea, WorkbenchCommandTarget as ei, WorkbenchTerminalSessionModel as en, AttributeDisplayDescriptor as er, createStatusRegistry as et, workbenchCommandPaletteMenuPath as f, matchesContextExpression as fa, WorkbenchTabSnapshot as fi, WorkbenchPageBrowserEntry as fn, KanbanRendererCreateField as fr, SettingsPanelBase as ft, workbenchTopHeaderTrailingMenuPath as g, WorkbenchPanelMenuSide as gi, WorkbenchPageLocationPersistence as gn, KanbanRendererRow as gr, SettingsScope as gt, workbenchTopHeaderLeadingMenuPath as h, WorkbenchPanelMenuRegion as hi, WorkbenchPageLocationDiagnostic as hn, KanbanRendererCreateSubmission as hr, SettingsRegistry as ht, rendererReadKey as i, WorkbenchViewHierarchyNode as ia, WorkbenchPanelTab as ii, WorkbenchTerminalSessionStatus as in, BoardColumnAction as ir, WorkbenchStatusBarRegistry as it, WorkbenchCoreContributionContext as j, Command as ji, RendererReadRegistry as jn, NavigationTreeRegistry as jr, WorkbenchOverlayRegistry as jt, createWorkbench as k, WorkbenchCommandPaletteController as ki, workbenchViewIdContextKey as kn, NavigationTreeContribution as kr, WorkbenchPlaceholderRegistry as kt, headerLeadingMenuPath as l, ContextKeyScope as la, WorkbenchTabMenuRow as li, WorkbenchSidePanelPresentation as ln, EnumOption as lr, SchemaSettingsPanel as lt, workbenchRegionTabLeadingMenuPath as m, Disposable as ma, WorkbenchWidgetTab as mi, WorkbenchPageLocationController as mn, KanbanRendererCreateRowConfig as mr, SettingsPanelPreference as mt, runUserAction as n, ResourceHierarchyProvider as na, WorkbenchPanelInstance as ni, WorkbenchTerminalSessionRequest as nn, AttributeType as nr, WorkbenchStatusBarPersistenceAdapter as nt, standardResourceIcons as o, resourceHierarchyCycleCode as oa, WorkbenchSidePanelMode as oi, WorkbenchShellController as on, CollectionSavedView as or, WorkbenchStatusBarSlot as ot, workbenchRegionTabAddMenuPath as p, WorkbenchStore as pa, WorkbenchWidgetPlacement as pi, WorkbenchPageLocationBrowser as pn, KanbanRendererCreateFieldType as pr, SettingsPanelContribution as pt, FileIconThemeFont as q, createWorkbenchResourceContextValues as qi, DataTableRendererQueryResult as qn, MenuRegistry as qr, CommandPaletteResourceQueryContext as qt, settleReadBatch as r, WorkbenchHierarchyNode as ra, WorkbenchPanelMountStrategy as ri, WorkbenchTerminalSessionSink as rn, AttributesSource as rr, WorkbenchStatusBarPosition as rt, DockedWorkbenchRegion$1 as s, ContributionMetadata as sa, WorkbenchTabAction as si, WorkbenchShellOpenRegion as sn, CollectionViewsProvider as sr, createStatusBarRegistry as st, batchWorkbenchChanges as t, ResourceHierarchyCycle as ta, WorkbenchLayout as ti, WorkbenchTerminalSessionOpener as tn, AttributeKind as tr, WorkbenchStatusBarItem as tt, headerTrailingMenuPath as u, ContextKeyService as ua, WorkbenchTabPosition as ui, WorkbenchPanelMenuStatePersistenceAdapter as un, EnumOptions as ur, SettingsAction as ut, resolveAnchorRegion as v, WorkbenchRegion as vi, WorkbenchPageContribution as vn, KanbanRendererViewsProvider as vr, ViewSettingsPanel as vt, WorkbenchModeActivationResult as w, NavigationTarget$1 as wi, WorkbenchViewBody as wn, ControlsRendererContribution as wr, PreferenceScopeRef as wt, getWorkbenchModePanelForRegion as x, NavigationDispatcherContext as xi, WorkbenchViewMenuRegistry as xn, ViewMode as xr, PreferenceRegistry as xt, defaultPageResourceCodec as y, workbenchPanelRegions as yi, WorkbenchPlacementPresentation as yn, KanbanRendererViewsSource as yr, PreferencePersistenceAdapter as yt, WorkbenchSnapshot as z, WorkbenchBreadcrumbController as zi, FileRendererRefreshOrigin as zn, TreeQueryContext as zr, WorkbenchModePlacementRegistry as zt };
2459
2484
  export {};