@pstdio/workbench 0.38.0 → 0.40.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.
@@ -135,6 +135,8 @@ interface WorkbenchBreadcrumbItem {
135
135
  title: unknown;
136
136
  icon?: string;
137
137
  indicator?: "session-status";
138
+ /** The crumb leaves the project navigation: it opens a Sidenav level or a mode that replaces the Sidenav. */
139
+ startsLevel?: boolean;
138
140
  url?: string;
139
141
  onClick?: () => void;
140
142
  resource?: ResourceRef$1;
@@ -160,6 +162,7 @@ interface WorkbenchCommandExecutionError {
160
162
  type WorkbenchCommandExecutionErrorListener = (event: WorkbenchCommandExecutionError) => void;
161
163
  interface WorkbenchCommandExecutionContext {
162
164
  resource?: ResourceRef$1;
165
+ signal?: AbortSignal;
163
166
  source?: "panel-add";
164
167
  }
165
168
  interface CommandParamOption {
@@ -167,13 +170,20 @@ interface CommandParamOption {
167
170
  value: string;
168
171
  icon?: string;
169
172
  }
173
+ interface CommandParamOptionSource {
174
+ commandId: string;
175
+ valueField: string;
176
+ labelField: string;
177
+ params?: Record<string, unknown>;
178
+ }
170
179
  interface CommandParamDescriptor {
171
180
  type: string;
172
181
  label?: string;
173
182
  description?: string;
174
183
  required?: boolean;
175
184
  defaultValue?: unknown;
176
- options?: CommandParamOption[];
185
+ options?: CommandParamOption[] | CommandParamOptionSource;
186
+ allowCustomValues?: boolean;
177
187
  templateType?: string;
178
188
  resourceType?: string;
179
189
  /** Workspace provider ids a `workspace` param may offer. */
@@ -548,12 +558,15 @@ interface WorkbenchPanelInstance {
548
558
  tabRetention?: WorkbenchTabRetention;
549
559
  tab?: WorkbenchPanelTab;
550
560
  }
561
+ type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
551
562
  interface WorkbenchRegionState {
552
563
  id: WorkbenchRegion;
553
564
  visible: boolean;
554
565
  size?: number;
555
566
  widgets: WorkbenchWidgetPlacement[];
556
567
  activeWidgetId?: string;
568
+ /** Side region only: how the open Side Panel is shown. `visible` says whether it is open. */
569
+ presentation?: Exclude<WorkbenchSidePanelMode, "closed">;
557
570
  }
558
571
  interface WorkbenchLayout {
559
572
  regions: Record<WorkbenchRegion, WorkbenchRegionState>;
@@ -654,6 +667,7 @@ interface LayoutModel {
654
667
  getRegionHeaderBorderBottom(regionId: WorkbenchRegion): boolean;
655
668
  setRegionVisible(regionId: WorkbenchRegion, visible: boolean): void;
656
669
  setRegionSize(regionId: WorkbenchRegion, size: number): void;
670
+ setSidePanelMode(mode: WorkbenchSidePanelMode): void;
657
671
  listPlaceholders(): RegisteredPlaceholderContribution[];
658
672
  listWidgets(): RegisteredWidgetContribution[];
659
673
  listPanels(): WorkbenchPanelContribution[];
@@ -713,6 +727,254 @@ interface WorkbenchFocusController {
713
727
  onDidChange(listener: WorkbenchFocusChangeListener): Disposable;
714
728
  }
715
729
  //#endregion
730
+ //#region src/core/registries/menus/menu-registry.d.ts
731
+ type MenuPath = readonly string[];
732
+ interface MenuItem {
733
+ commandId: string;
734
+ sourceCommandId?: string;
735
+ label?: string;
736
+ description?: string;
737
+ icon?: string;
738
+ iconSrc?: string;
739
+ overflowLabel?: string;
740
+ when?: string;
741
+ group?: string;
742
+ order?: number;
743
+ args?: unknown;
744
+ readOnly?: boolean;
745
+ /** Marks a menu action that navigates outside the app, rendered with a trailing external-link icon. */
746
+ external?: boolean;
747
+ }
748
+ interface RegisteredMenuItem extends MenuItem, RegisteredContributionMetadata {
749
+ path: MenuPath;
750
+ }
751
+ interface MenuRegistryStoreState {
752
+ itemsByPath: Record<string, RegisteredMenuItem[]>;
753
+ }
754
+ interface MenuRegistry {
755
+ menuStore: WorkbenchStore<MenuRegistryStoreState>;
756
+ registerMenuItem(path: MenuPath, item: MenuItem, metadata?: ContributionMetadata): Disposable;
757
+ listMenuItems(path: MenuPath): RegisteredMenuItem[];
758
+ }
759
+ //#endregion
760
+ //#region src/core/registries/renderers/renderer-registry.d.ts
761
+ interface WorkbenchPanelRenderInput {
762
+ workbench: WorkbenchCore;
763
+ panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
764
+ instance: WorkbenchPanelInstance;
765
+ refresh: () => void;
766
+ }
767
+ interface WorkbenchRendererRegistration {
768
+ id: string;
769
+ render: (input: WorkbenchPanelRenderInput) => unknown;
770
+ }
771
+ //#endregion
772
+ //#region src/core/registries/renderers/tree-renderer-types.d.ts
773
+ interface TreeQueryContext {
774
+ signal?: AbortSignal;
775
+ /** Publish available sections while the rest of the current read is still loading. */
776
+ onProgress?(sections: TreeViewSection[]): void;
777
+ filter?: string;
778
+ resource?: ResourceRef$1;
779
+ /** Widget/view contribution id for trees rendered through a view-backed widget. */
780
+ viewId?: string;
781
+ }
782
+ interface TreeContext extends TreeQueryContext {
783
+ state: Readonly<TreeRendererState>;
784
+ refresh(): void;
785
+ setSelectedNode(nodeId: string | undefined): void;
786
+ }
787
+ interface TreeAction {
788
+ id: string;
789
+ label?: string;
790
+ icon?: string;
791
+ commandId?: string;
792
+ args?: unknown;
793
+ params?: CommandParamSchema;
794
+ submitLabel?: string;
795
+ when?: string;
796
+ disabled?: boolean;
797
+ run?(args?: unknown): Promise<void> | void;
798
+ }
799
+ type TreeNodeRowVariant = "empty-state";
800
+ interface TreeNodeInlineInput {
801
+ ariaLabel: string;
802
+ defaultValue?: string;
803
+ placeholder?: string;
804
+ onCommit(value: string): Promise<void> | void;
805
+ onCancel?(): void;
806
+ }
807
+ interface TreeNode {
808
+ id: string;
809
+ selected?: boolean;
810
+ /** Host-owned customization boundary. Extension callbacks cannot set it. */
811
+ moveScope?: string;
812
+ label: string;
813
+ icon?: string;
814
+ iconElement?: unknown;
815
+ iconColor?: string;
816
+ iconTooltip?: string;
817
+ endContent?: unknown;
818
+ commandId?: string;
819
+ resource?: ResourceRef$1;
820
+ target?: NavigationTarget$1;
821
+ /** Visual row variant for non-data rows such as placeholders. */
822
+ rowVariant?: TreeNodeRowVariant;
823
+ inlineInput?: TreeNodeInlineInput;
824
+ actions?: TreeAction[];
825
+ contextMenuActions?: TreeAction[];
826
+ contextMenuPath?: MenuPath;
827
+ menuPath?: MenuPath;
828
+ menuPlacement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "left-start";
829
+ showContextMenuTrigger?: boolean;
830
+ collapsible?: boolean;
831
+ disabled?: boolean;
832
+ children?: TreeNode[];
833
+ description?: string;
834
+ contextValue?: string;
835
+ hiddenByDefault?: boolean;
836
+ /** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
837
+ canHide?: boolean;
838
+ /** When false, the node stays fixed within its Sidenav group. */
839
+ canReorder?: boolean;
840
+ /** Show the row only where users pinned it in the header or footer, never in the body. */
841
+ pinnedOnly?: boolean;
842
+ /** Allow this node to be moved to another tree location. */
843
+ canDrag?: boolean;
844
+ /** Allow movable nodes to be dropped on this node. */
845
+ canDrop?: boolean;
846
+ }
847
+ interface TreeSectionEmptyState {
848
+ title: string;
849
+ description?: string;
850
+ icon?: string;
851
+ }
852
+ interface TreeViewSection {
853
+ id: string;
854
+ /** Host-owned customization boundary. Extension callbacks cannot set it. */
855
+ moveScope?: string;
856
+ label?: string;
857
+ /** Names a section without a visible header in the customize menu. */
858
+ menuLabel?: string;
859
+ actions?: TreeAction[];
860
+ collapsible?: boolean;
861
+ emptyState?: TreeSectionEmptyState;
862
+ nodes: TreeNode[];
863
+ hiddenByDefault?: boolean;
864
+ /** When true, the section (category) opts in to the tree's hide/show customization menu. */
865
+ canHide?: boolean;
866
+ /** When false, the section stays fixed within the Sidenav main region. */
867
+ canReorder?: boolean;
868
+ }
869
+ interface TreeMoveEndpoint {
870
+ kind: "section" | "node";
871
+ sectionId: string;
872
+ id: string;
873
+ moveScope?: string;
874
+ }
875
+ type TreeMovePolicy = (move: {
876
+ source: TreeMoveEndpoint;
877
+ destination: TreeMoveEndpoint;
878
+ }) => boolean;
879
+ interface TreeRendererContribution {
880
+ id: string;
881
+ title: string;
882
+ icon?: string;
883
+ searchable?: boolean;
884
+ searchPlaceholder?: string;
885
+ when?: string;
886
+ defaultExpandedSectionIds?: string[];
887
+ defaultExpandedNodeIds?: string[];
888
+ /** Identify the navigation data scope when it differs from the current page resource. */
889
+ getReadKey?(ctx: TreeQueryContext): string;
890
+ getBody(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
891
+ getHeader?(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
892
+ getFooter?(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
893
+ getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
894
+ canMove?: TreeMovePolicy;
895
+ moveNode?(source: TreeNode, target: TreeNode | undefined, ctx: TreeContext): Promise<void> | void;
896
+ }
897
+ interface RegisteredTreeRendererContribution extends TreeRendererContribution, RegisteredContributionMetadata {}
898
+ interface TreeRendererState {
899
+ expandedNodeIds: string[];
900
+ expandedSectionIds: string[];
901
+ selectedNodeId?: string;
902
+ loading?: boolean;
903
+ }
904
+ interface TreeRendererRefreshEvent {
905
+ treeId: string;
906
+ }
907
+ interface TreeRendererStoreState {
908
+ trees: Record<string, RegisteredTreeRendererContribution>;
909
+ statesByTreeId: Record<string, TreeRendererState>;
910
+ refreshKeysByTreeId: Record<string, number>;
911
+ }
912
+ interface PersistedTreeRendererStates {
913
+ statesByTreeId: Record<string, TreeRendererState>;
914
+ }
915
+ interface TreeRendererPersistenceAdapter {
916
+ getTreeStates(): PersistedTreeRendererStates | undefined;
917
+ setTreeStates(states: PersistedTreeRendererStates): void;
918
+ }
919
+ type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
920
+ treeId: string;
921
+ }) => unknown;
922
+ type TreeRendererRefreshListener = (event: TreeRendererRefreshEvent) => void;
923
+ interface TreeRendererRegistry {
924
+ treeStore: WorkbenchStore<TreeRendererStoreState>;
925
+ registerTreeRenderer(view: TreeRendererContribution, metadata?: ContributionMetadata): Disposable;
926
+ setTreeRendererImplementation(impl: TreeRendererImplementation): void;
927
+ getTreeRenderer(id: string): RegisteredTreeRendererContribution | undefined;
928
+ listTreeRenderers(): RegisteredTreeRendererContribution[];
929
+ getBody(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
930
+ getHeader(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
931
+ getFooter(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
932
+ getChildren(id: string, node: TreeNode, ctx?: TreeQueryContext): Promise<TreeNode[]>;
933
+ getTreeState(id: string): TreeRendererState;
934
+ setNodeExpanded(id: string, nodeId: string, expanded: boolean): void;
935
+ setSectionExpanded(id: string, sectionId: string, expanded: boolean): void;
936
+ setSelectedNode(id: string, nodeId: string | undefined): void;
937
+ setLoading(id: string, loading: boolean): void;
938
+ refresh(id: string): void;
939
+ onDidRefresh(listener: TreeRendererRefreshListener): Disposable;
940
+ }
941
+ //#endregion
942
+ //#region src/core/registries/navigation/navigation-tree-registry.d.ts
943
+ type NavigationTreeSlot = "header" | "content" | "footer";
944
+ interface NavigationTreeOwner {
945
+ kind: "mode" | "page";
946
+ id: string;
947
+ extensionId: string;
948
+ }
949
+ interface NavigationTreeContext {
950
+ resource?: ResourceRef$1;
951
+ signal?: AbortSignal;
952
+ }
953
+ interface NavigationTreeContribution {
954
+ id: string;
955
+ /** Prefix projected section and node ids when they come from an independent tree renderer. */
956
+ idScope?: string;
957
+ owner: NavigationTreeOwner;
958
+ sourceExtensionId: string;
959
+ declarationIndex: number;
960
+ slot?: NavigationTreeSlot;
961
+ viewId?: string;
962
+ defaultExpandedSectionIds?: string[];
963
+ /** Resolve the data resource independently of the selected navigation item. */
964
+ resolveResource?(resource: ResourceRef$1 | undefined): ResourceRef$1 | undefined;
965
+ getSections?(context: NavigationTreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
966
+ getChildren?(node: TreeNode, context: NavigationTreeContext): Promise<TreeNode[]> | TreeNode[];
967
+ }
968
+ interface NavigationTreeRegistry {
969
+ registerContribution(contribution: NavigationTreeContribution): Disposable;
970
+ resolveOwner(kind: NavigationTreeOwner["kind"], id: string, slot?: NavigationTreeSlot): NavigationTreeOwner | undefined;
971
+ getReadKey(owner: NavigationTreeOwner, context?: NavigationTreeContext): string;
972
+ getSections(owner: NavigationTreeOwner, slot?: NavigationTreeSlot, context?: NavigationTreeContext): Promise<TreeViewSection[]>;
973
+ getChildren(node: TreeNode, context?: NavigationTreeContext): Promise<TreeNode[]>;
974
+ getDefaultExpandedSectionIds(owner: NavigationTreeOwner, slot?: NavigationTreeSlot): string[];
975
+ onDidChange(listener: () => void): Disposable;
976
+ }
977
+ //#endregion
716
978
  //#region src/core/registries/layout/placement-reconciliation.d.ts
717
979
  interface ResolvedOwnedPlacement<Value = unknown> {
718
980
  identity: PlacementIdentity;
@@ -732,18 +994,6 @@ interface OwnedPlacementReconciliation<Value> {
732
994
  remove: readonly ResolvedOwnedPlacement<Value>[];
733
995
  }
734
996
  //#endregion
735
- //#region src/core/registries/renderers/renderer-registry.d.ts
736
- interface WorkbenchPanelRenderInput {
737
- workbench: WorkbenchCore;
738
- panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
739
- instance: WorkbenchPanelInstance;
740
- refresh: () => void;
741
- }
742
- interface WorkbenchRendererRegistration {
743
- id: string;
744
- render: (input: WorkbenchPanelRenderInput) => unknown;
745
- }
746
- //#endregion
747
997
  //#region src/core/registries/renderers/controls-renderer-registry.d.ts
748
998
  type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
749
999
  interface ControlsRendererLayout {
@@ -785,6 +1035,11 @@ interface ControlsRendererContribution {
785
1035
  subscribe?: (listener: () => void) => Disposable | (() => void);
786
1036
  }
787
1037
  //#endregion
1038
+ //#region src/core/registries/renderers/view-toolbar-action.d.ts
1039
+ interface ViewToolbarAction extends TreeAction {
1040
+ presentation?: "primary" | "secondary";
1041
+ }
1042
+ //#endregion
788
1043
  //#region src/core/registries/renderers/data-table-renderer-registry.d.ts
789
1044
  interface DataTableRendererThemeColor {
790
1045
  light: string;
@@ -872,6 +1127,7 @@ interface DataTableRendererSelectionAction {
872
1127
  interface DataTableRendererContribution {
873
1128
  id: string;
874
1129
  title: string;
1130
+ toolbarActions?: ViewToolbarAction[];
875
1131
  resourceKind?: string;
876
1132
  columns?: DataTableRendererColumn[];
877
1133
  selectionMode?: "none" | "multiple";
@@ -1028,7 +1284,6 @@ interface KanbanRendererSavedView {
1028
1284
  title: string;
1029
1285
  settings: KanbanRendererSettings;
1030
1286
  filters: KanbanRendererFilterState;
1031
- isDefault?: boolean;
1032
1287
  }
1033
1288
  type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
1034
1289
  interface KanbanRendererCreateField {
@@ -1090,6 +1345,29 @@ interface ResourceContextAction<TNode = unknown> {
1090
1345
  endContent?: TNode;
1091
1346
  separatorBefore?: boolean;
1092
1347
  }
1348
+ interface KanbanRendererViewsSource {
1349
+ views: (KanbanRendererSavedView & {
1350
+ builtIn: boolean;
1351
+ })[];
1352
+ defaultViewId: string;
1353
+ onCreateView: (input: {
1354
+ title: string;
1355
+ settings: KanbanRendererSettings;
1356
+ filters: KanbanRendererFilterState;
1357
+ copyFrom?: string;
1358
+ }) => Promise<KanbanRendererSavedView>;
1359
+ onUpdateView: (id: string, input: {
1360
+ title?: string;
1361
+ settings?: KanbanRendererSettings;
1362
+ filters?: KanbanRendererFilterState;
1363
+ }) => Promise<void>;
1364
+ onDeleteView: (id: string) => Promise<void>;
1365
+ onSetDefaultView: (id: string | null) => Promise<void>;
1366
+ }
1367
+ interface KanbanRendererViewsProvider {
1368
+ getSnapshot: () => KanbanRendererViewsSource | undefined;
1369
+ subscribe: (listener: () => void) => () => void;
1370
+ }
1093
1371
  //#endregion
1094
1372
  //#region src/core/registries/renderers/kanban-renderer-registry.d.ts
1095
1373
  interface KanbanRendererQueryState {
@@ -1099,6 +1377,7 @@ interface KanbanRendererQueryState {
1099
1377
  interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow, TNode = unknown, TIcon = unknown> {
1100
1378
  id: string;
1101
1379
  title: string;
1380
+ toolbarActions?: ViewToolbarAction[];
1102
1381
  resourceKind?: string;
1103
1382
  /** Host-owned scope for persisted display settings. */
1104
1383
  storageScope?: string;
@@ -1120,6 +1399,7 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
1120
1399
  /** Initial settings/filters applied when the kanban renderer mounts. */
1121
1400
  defaultSettings?: Partial<KanbanRendererSettings>;
1122
1401
  defaultFilters?: KanbanRendererFilterState;
1402
+ viewsProvider?: KanbanRendererViewsProvider;
1123
1403
  defaultViews?: KanbanRendererSavedView[];
1124
1404
  defaultActiveViewId?: string;
1125
1405
  /**
@@ -1146,202 +1426,6 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
1146
1426
  onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
1147
1427
  }
1148
1428
  //#endregion
1149
- //#region src/core/registries/menus/menu-registry.d.ts
1150
- type MenuPath = readonly string[];
1151
- interface MenuItem {
1152
- commandId: string;
1153
- sourceCommandId?: string;
1154
- label?: string;
1155
- description?: string;
1156
- icon?: string;
1157
- iconSrc?: string;
1158
- overflowLabel?: string;
1159
- when?: string;
1160
- group?: string;
1161
- order?: number;
1162
- args?: unknown;
1163
- readOnly?: boolean;
1164
- /** Marks a menu action that navigates outside the app, rendered with a trailing external-link icon. */
1165
- external?: boolean;
1166
- }
1167
- interface RegisteredMenuItem extends MenuItem, RegisteredContributionMetadata {
1168
- path: MenuPath;
1169
- }
1170
- interface MenuRegistryStoreState {
1171
- itemsByPath: Record<string, RegisteredMenuItem[]>;
1172
- }
1173
- interface MenuRegistry {
1174
- menuStore: WorkbenchStore<MenuRegistryStoreState>;
1175
- registerMenuItem(path: MenuPath, item: MenuItem, metadata?: ContributionMetadata): Disposable;
1176
- listMenuItems(path: MenuPath): RegisteredMenuItem[];
1177
- }
1178
- //#endregion
1179
- //#region src/core/registries/renderers/tree-renderer-types.d.ts
1180
- interface TreeQueryContext {
1181
- signal?: AbortSignal;
1182
- /** Publish available sections while the rest of the current read is still loading. */
1183
- onProgress?(sections: TreeViewSection[]): void;
1184
- filter?: string;
1185
- resource?: ResourceRef$1;
1186
- /** Widget/view contribution id for trees rendered through a view-backed widget. */
1187
- viewId?: string;
1188
- }
1189
- interface TreeContext extends TreeQueryContext {
1190
- state: Readonly<TreeRendererState>;
1191
- refresh(): void;
1192
- setSelectedNode(nodeId: string | undefined): void;
1193
- }
1194
- interface TreeAction {
1195
- id: string;
1196
- label?: string;
1197
- icon?: string;
1198
- commandId?: string;
1199
- args?: unknown;
1200
- params?: CommandParamSchema;
1201
- submitLabel?: string;
1202
- when?: string;
1203
- disabled?: boolean;
1204
- run?(args?: unknown): Promise<void> | void;
1205
- }
1206
- type TreeNodeRowVariant = "empty-state";
1207
- interface TreeNodeInlineInput {
1208
- ariaLabel: string;
1209
- defaultValue?: string;
1210
- placeholder?: string;
1211
- onCommit(value: string): Promise<void> | void;
1212
- onCancel?(): void;
1213
- }
1214
- interface TreeNode {
1215
- id: string;
1216
- selected?: boolean;
1217
- /** Host-owned customization boundary. Extension callbacks cannot set it. */
1218
- moveScope?: string;
1219
- label: string;
1220
- icon?: string;
1221
- iconElement?: unknown;
1222
- iconColor?: string;
1223
- iconTooltip?: string;
1224
- endContent?: unknown;
1225
- commandId?: string;
1226
- resource?: ResourceRef$1;
1227
- target?: NavigationTarget$1;
1228
- /** Visual row variant for non-data rows such as placeholders. */
1229
- rowVariant?: TreeNodeRowVariant;
1230
- inlineInput?: TreeNodeInlineInput;
1231
- actions?: TreeAction[];
1232
- contextMenuActions?: TreeAction[];
1233
- contextMenuPath?: MenuPath;
1234
- menuPath?: MenuPath;
1235
- menuPlacement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "left-start";
1236
- showContextMenuTrigger?: boolean;
1237
- collapsible?: boolean;
1238
- disabled?: boolean;
1239
- children?: TreeNode[];
1240
- description?: string;
1241
- contextValue?: string;
1242
- hiddenByDefault?: boolean;
1243
- /** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
1244
- canHide?: boolean;
1245
- /** When false, the node stays fixed within its Sidenav group. */
1246
- canReorder?: boolean;
1247
- /** Allow this node to be moved to another tree location. */
1248
- canDrag?: boolean;
1249
- /** Allow movable nodes to be dropped on this node. */
1250
- canDrop?: boolean;
1251
- }
1252
- interface TreeSectionEmptyState {
1253
- title: string;
1254
- description?: string;
1255
- icon?: string;
1256
- }
1257
- interface TreeViewSection {
1258
- id: string;
1259
- /** Host-owned customization boundary. Extension callbacks cannot set it. */
1260
- moveScope?: string;
1261
- label?: string;
1262
- actions?: TreeAction[];
1263
- collapsible?: boolean;
1264
- emptyState?: TreeSectionEmptyState;
1265
- nodes: TreeNode[];
1266
- hiddenByDefault?: boolean;
1267
- /** When true, the section (category) opts in to the tree's hide/show customization menu. */
1268
- canHide?: boolean;
1269
- /** When false, the section stays fixed within the Sidenav main region. */
1270
- canReorder?: boolean;
1271
- }
1272
- interface TreeMoveEndpoint {
1273
- kind: "section" | "node";
1274
- sectionId: string;
1275
- id: string;
1276
- moveScope?: string;
1277
- }
1278
- type TreeMovePolicy = (move: {
1279
- source: TreeMoveEndpoint;
1280
- destination: TreeMoveEndpoint;
1281
- }) => boolean;
1282
- interface TreeRendererContribution {
1283
- id: string;
1284
- title: string;
1285
- icon?: string;
1286
- searchable?: boolean;
1287
- searchPlaceholder?: string;
1288
- when?: string;
1289
- defaultExpandedSectionIds?: string[];
1290
- defaultExpandedNodeIds?: string[];
1291
- /** Identify the navigation data scope when it differs from the current page resource. */
1292
- getReadKey?(ctx: TreeQueryContext): string;
1293
- getBody(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
1294
- getHeader?(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
1295
- getFooter?(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
1296
- getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
1297
- canMove?: TreeMovePolicy;
1298
- moveNode?(source: TreeNode, target: TreeNode | undefined, ctx: TreeContext): Promise<void> | void;
1299
- }
1300
- interface RegisteredTreeRendererContribution extends TreeRendererContribution, RegisteredContributionMetadata {}
1301
- interface TreeRendererState {
1302
- expandedNodeIds: string[];
1303
- expandedSectionIds: string[];
1304
- selectedNodeId?: string;
1305
- loading?: boolean;
1306
- }
1307
- interface TreeRendererRefreshEvent {
1308
- treeId: string;
1309
- }
1310
- interface TreeRendererStoreState {
1311
- trees: Record<string, RegisteredTreeRendererContribution>;
1312
- statesByTreeId: Record<string, TreeRendererState>;
1313
- refreshKeysByTreeId: Record<string, number>;
1314
- }
1315
- interface PersistedTreeRendererStates {
1316
- statesByTreeId: Record<string, TreeRendererState>;
1317
- }
1318
- interface TreeRendererPersistenceAdapter {
1319
- getTreeStates(): PersistedTreeRendererStates | undefined;
1320
- setTreeStates(states: PersistedTreeRendererStates): void;
1321
- }
1322
- type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
1323
- treeId: string;
1324
- }) => unknown;
1325
- type TreeRendererRefreshListener = (event: TreeRendererRefreshEvent) => void;
1326
- interface TreeRendererRegistry {
1327
- treeStore: WorkbenchStore<TreeRendererStoreState>;
1328
- registerTreeRenderer(view: TreeRendererContribution, metadata?: ContributionMetadata): Disposable;
1329
- setTreeRendererImplementation(impl: TreeRendererImplementation): void;
1330
- getTreeRenderer(id: string): RegisteredTreeRendererContribution | undefined;
1331
- listTreeRenderers(): RegisteredTreeRendererContribution[];
1332
- getBody(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
1333
- getHeader(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
1334
- getFooter(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
1335
- getChildren(id: string, node: TreeNode, ctx?: TreeQueryContext): Promise<TreeNode[]>;
1336
- getTreeState(id: string): TreeRendererState;
1337
- setNodeExpanded(id: string, nodeId: string, expanded: boolean): void;
1338
- setSectionExpanded(id: string, sectionId: string, expanded: boolean): void;
1339
- setSelectedNode(id: string, nodeId: string | undefined): void;
1340
- setLoading(id: string, loading: boolean): void;
1341
- refresh(id: string): void;
1342
- onDidRefresh(listener: TreeRendererRefreshListener): Disposable;
1343
- }
1344
- //#endregion
1345
1429
  //#region src/core/registries/views/renderer-read-registry.d.ts
1346
1430
  interface RendererReadRequest<T> {
1347
1431
  queryKey: string;
@@ -1358,9 +1442,7 @@ interface RendererReadRegistry {
1358
1442
  bind(key: string): RendererReadBinding;
1359
1443
  dispose(): Promise<void>;
1360
1444
  }
1361
- declare const createRendererReadRegistry: (options?: {
1362
- deadlineMs?: number;
1363
- }) => RendererReadRegistry;
1445
+ declare const createRendererReadRegistry: () => RendererReadRegistry;
1364
1446
  //#endregion
1365
1447
  //#region src/core/registries/views/view-registry.d.ts
1366
1448
  declare const workbenchViewIdContextKey = "workbench.view.id";
@@ -1505,9 +1587,13 @@ interface WorkbenchPageLocationBrowser {
1505
1587
  dispose(): void;
1506
1588
  };
1507
1589
  }
1590
+ interface PersistedWorkbenchPageLocation {
1591
+ location: PageLocation;
1592
+ rootLevel?: PageLocation;
1593
+ }
1508
1594
  interface WorkbenchPageLocationPersistence {
1509
- load(projectId: string): PageLocation | undefined;
1510
- save(projectId: string, location: PageLocation): void;
1595
+ load(projectId: string): PersistedWorkbenchPageLocation | undefined;
1596
+ save(projectId: string, persisted: PersistedWorkbenchPageLocation): void;
1511
1597
  }
1512
1598
  interface WorkbenchPageLocationDiagnostic {
1513
1599
  code: "page-location-unresolved";
@@ -1532,6 +1618,8 @@ interface WorkbenchPageLocationController {
1532
1618
  navigate(target: NavigationTargetPage): WorkbenchPageNavigationResult;
1533
1619
  replay(location: PageLocation): WorkbenchPageNavigationResult;
1534
1620
  navigateToParent(): WorkbenchPageNavigationResult;
1621
+ /** Opens the last location outside every Sidenav level, or the start page when there is none. */
1622
+ navigateToRootLevel(): WorkbenchPageNavigationResult;
1535
1623
  closePlacement(identity: PlacementIdentity): WorkbenchPageNavigationResult;
1536
1624
  removeResource(resource: ResourceRef, retained: readonly PlacementIdentity[]): void;
1537
1625
  goBack(): void;
@@ -1566,22 +1654,13 @@ interface WorkbenchPanelMenuStateController {
1566
1654
  }
1567
1655
  //#endregion
1568
1656
  //#region src/core/controllers/side-panel/side-panel-controller.d.ts
1569
- type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
1570
1657
  type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
1571
- interface WorkbenchSidePanelState {
1572
- mode: WorkbenchSidePanelMode;
1573
- }
1574
1658
  interface WorkbenchSidePanelController {
1575
1659
  canFloat(): boolean;
1576
- store: WorkbenchStore<WorkbenchSidePanelState>;
1577
1660
  getMode(): WorkbenchSidePanelMode;
1578
1661
  setMode(mode: WorkbenchSidePanelMode): void;
1579
1662
  onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable;
1580
1663
  }
1581
- interface WorkbenchSidePanelPersistenceAdapter {
1582
- getMode(): WorkbenchSidePanelMode | undefined;
1583
- setMode(mode: WorkbenchSidePanelMode): void;
1584
- }
1585
1664
  //#endregion
1586
1665
  //#region src/core/controllers/shell/shell-controller.d.ts
1587
1666
  type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
@@ -1778,42 +1857,6 @@ interface WorkbenchModePlacementRegistry {
1778
1857
  onDidChange(listener: () => void): Disposable;
1779
1858
  }
1780
1859
  //#endregion
1781
- //#region src/core/registries/navigation/navigation-tree-registry.d.ts
1782
- type NavigationTreeSlot = "header" | "content" | "footer";
1783
- interface NavigationTreeOwner {
1784
- kind: "mode" | "page";
1785
- id: string;
1786
- extensionId: string;
1787
- }
1788
- interface NavigationTreeContext {
1789
- resource?: ResourceRef$1;
1790
- signal?: AbortSignal;
1791
- }
1792
- interface NavigationTreeContribution {
1793
- id: string;
1794
- /** Prefix projected section and node ids when they come from an independent tree renderer. */
1795
- idScope?: string;
1796
- owner: NavigationTreeOwner;
1797
- sourceExtensionId: string;
1798
- declarationIndex: number;
1799
- slot?: NavigationTreeSlot;
1800
- viewId?: string;
1801
- defaultExpandedSectionIds?: string[];
1802
- /** Resolve the data resource independently of the selected navigation item. */
1803
- resolveResource?(resource: ResourceRef$1 | undefined): ResourceRef$1 | undefined;
1804
- getSections?(context: NavigationTreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
1805
- getChildren?(node: TreeNode, context: NavigationTreeContext): Promise<TreeNode[]> | TreeNode[];
1806
- }
1807
- interface NavigationTreeRegistry {
1808
- registerContribution(contribution: NavigationTreeContribution): Disposable;
1809
- resolveOwner(kind: NavigationTreeOwner["kind"], id: string): NavigationTreeOwner | undefined;
1810
- getReadKey(owner: NavigationTreeOwner, context?: NavigationTreeContext): string;
1811
- getSections(owner: NavigationTreeOwner, slot?: NavigationTreeSlot, context?: NavigationTreeContext): Promise<TreeViewSection[]>;
1812
- getChildren(node: TreeNode, context?: NavigationTreeContext): Promise<TreeNode[]>;
1813
- getDefaultExpandedSectionIds(owner: NavigationTreeOwner): string[];
1814
- onDidChange(listener: () => void): Disposable;
1815
- }
1816
- //#endregion
1817
1860
  //#region src/core/registries/notifications/notification-registry.d.ts
1818
1861
  type WorkbenchNotificationLevel = "info" | "success" | "warning" | "error";
1819
1862
  interface WorkbenchNotificationAction {
@@ -2272,7 +2315,6 @@ interface createWorkbenchInput {
2272
2315
  defaultPanelOpenByRegionId?: Partial<Record<WorkbenchRegion, boolean>>;
2273
2316
  /** Host-level region layout policy. The active mode's regionSettings win over it. */
2274
2317
  regionSettings?: Partial<Record<WorkbenchRegion, WorkbenchRegionSettings>>;
2275
- sidePanelPersistence?: WorkbenchSidePanelPersistenceAdapter;
2276
2318
  /** Default floating policy. The active mode may override it. */
2277
2319
  floatingPanels?: "visible" | "hidden";
2278
2320
  initialSidePanelMode?: WorkbenchSidePanelMode;
@@ -2357,9 +2399,31 @@ interface WorkbenchCompositionController {
2357
2399
  panelsFor(region: WorkbenchPanelRegion): WorkbenchCompositionRegionPanels;
2358
2400
  }
2359
2401
  //#endregion
2402
+ //#region src/core/controllers/page-location/navigation-level-composition.d.ts
2403
+ interface LevelNavigationHost {
2404
+ modes: {
2405
+ getActiveModeId(): string | undefined;
2406
+ };
2407
+ pages: {
2408
+ store: {
2409
+ getState(): {
2410
+ location?: PageLocation;
2411
+ pages: Readonly<Record<string, WorkbenchPageContribution>>;
2412
+ };
2413
+ };
2414
+ };
2415
+ navigationTrees: NavigationTreeRegistry;
2416
+ getPrimaryResource(): ResourceRef | undefined;
2417
+ }
2418
+ declare const createLevelNavigation: (host: LevelNavigationHost) => {
2419
+ getReadKey: () => string;
2420
+ getSections(slot: NavigationTreeSlot, signal?: AbortSignal): Promise<TreeViewSection[]>;
2421
+ getDefaultExpandedSectionIds: () => string[];
2422
+ };
2423
+ //#endregion
2360
2424
  //#region src/core/registries/layout/surface-map.d.ts
2361
2425
  type AnchorId = "primary" | "secondary" | "attached";
2362
- 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";
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";
2363
2427
  //#endregion
2364
2428
  //#region src/core/registries/menus/workbench-menu-paths.d.ts
2365
2429
  declare const headerLeadingMenuPath: (region: string) => MenuPath;
@@ -2391,5 +2455,5 @@ declare const settleReadBatch: <T>(tasks: ((signal: AbortSignal) => Promise<T> |
2391
2455
  /** Commit related stores before their subscribers read the resulting workbench state. */
2392
2456
  declare const batchWorkbenchChanges: <Result>(commit: () => Result) => Result;
2393
2457
  //#endregion
2394
- export { WorkbenchStatusBarItem as $, resourceHierarchyCycleCode as $i, AttributeDescriptor as $n, WorkbenchPanelTab as $r, WorkbenchTerminalSessionError as $t, WorkbenchHost as A, CommandRegistry as Ai, createViewRegistry as An, DataTableRendererQueryContext as Ar, WorkbenchNotification as At, ThemePreference as B, ResourceRegistry as Bi, TreeNode as Bn, ControlsRendererLayout as Br, WorkbenchModePlacementRegistry as Bt, WorkbenchModeContribution as C, WorkbenchCommandPaletteController as Ci, WorkbenchViewMenuRegistry as Cn, FileRendererRefreshOrigin as Cr, WorkbenchShellPlacementRegistry as Ct, createWorkbench as D, CommandParamDescriptor as Di, WorkbenchViewContribution as Dn, DataTableRendererColumnRenderer as Dr, WorkbenchOverlayRegistry as Dt, isWorkbenchModePanelAvailable as E, CommandHandler as Ei, WorkbenchViewBody as En, DataTableRendererColumn as Er, WorkbenchOverlayContribution as Et, WorkbenchPagePersistenceScopeInput as F, ResourceBrowseEntry as Fi, createRendererReadRegistry as Fn, DataTableRendererThemeColor as Fr, NavigationTreeContribution as Ft, FileIconThemeFont as G, workbenchResourceMetadataContextKey as Gi, TreeRendererState as Gn, WorkbenchFocusRegionId as Gr, getKeybindingSteps as Gt, ThemePreferenceOption as H, createWorkbenchSelectionResourceMetadata as Hi, TreeQueryContext as Hn, ControlsUpdateValueInput as Hr, Keybinding as Ht, WorkbenchPersistenceAdapter as I, ResourceKindContribution as Ii, TreeAction as In, RegisteredDataTableRendererContribution as Ir, NavigationTreeOwner as It, WorkbenchStatusRegistryState as J, ResourceHierarchyCycle as Ji, MenuPath as Jn, RegisteredWidgetContribution as Jr, CommandPaletteResourceQueryContext as Jt, FileIconThemePreferenceOption as K, workbenchResourceTypeContextKey as Ki, TreeViewSection as Kn, LayoutPersistenceAdapter as Kr, CommandPaletteResourceProvider as Kt, WorkbenchSnapshot as L, ResourceListContext as Li, TreeContext as Ln, ControlsApplyInput as Lr, NavigationTreeRegistry as Lt, WorkbenchModuleContribution as M, WorkbenchCommandExecutionError as Mi, RendererReadBinding as Mn, DataTableRendererRow as Mr, WorkbenchNotificationEvent as Mt, WorkbenchModuleContributionContext as N, WorkbenchBreadcrumbController as Ni, RendererReadRegistry as Nn, DataTableRendererRowAction as Nr, WorkbenchNotificationLevel as Nt, WorkbenchCore as O, CommandParamOption as Oi, WorkbenchViewRegistry as On, DataTableRendererColumnStat as Or, NotificationRegistry as Ot, WorkbenchPagePersistenceScope as P, WorkbenchBreadcrumbItem as Pi, RendererReadRequest as Pn, DataTableRendererSelectionAction as Pr, NavigationTreeContext as Pt, createStatusRegistry as Q, isWorkbenchViewHierarchyNode as Qi, KanbanRendererQueryState as Qn, WorkbenchPanelMountStrategy as Qr, WorkbenchTerminalSessionAdapter as Qt, createWorkbenchInput as R, ResourceProvider as Ri, TreeMoveEndpoint as Rn, ControlsQueryResult$1 as Rr, NavigationTreeSlot as Rt, WorkbenchModeAddablePanelContext as S, NavigationTargetPanel$1 as Si, WorkbenchViewMenuContribution as Sn, FileRendererRefreshEnvelope as Sr, WorkbenchShellPlacementContribution as St, getWorkbenchModePanelForRegion as T, Command as Ti, WorkbenchReactViewBody as Tn, DataTableRendererBadgePalette as Tr, WorkbenchPlaceholderRegistry as Tt, ThemePreferenceTokens as U, getWorkbenchSelectionResourceKeys as Ui, TreeRendererContribution as Un, WorkbenchPanelRenderInput as Ur, KeybindingRegistry as Ut, ThemePreferenceMode as V, createWorkbenchResourceContextValues as Vi, TreeNodeInlineInput as Vn, ControlsResetInput as Vr, WorkbenchOwnedPlacementItem as Vt, FileIconThemeRegistry as W, workbenchResourceIdContextKey as Wi, TreeRendererPersistenceAdapter as Wn, WorkbenchFocusController as Wr, KeybindingSequence as Wt, WorkflowStatus as X, WorkbenchHierarchyNode as Xi, RegisteredMenuItem as Xn, WorkbenchLayout as Xr, CommandPaletteResourceResult as Xt, WorkbenchStatusSetContribution as Y, ResourceHierarchyProvider as Yi, MenuRegistry as Yn, WorkbenchCommandTarget as Yr, CommandPaletteResourceRegistry as Yt, WorkflowStatusAction as Z, WorkbenchViewHierarchyNode as Zi, KanbanRendererContribution as Zn, WorkbenchPanelInstance as Zr, WorkbenchTerminalController as Zt, resolveAnchorRegion as _, NavigationRegistry as _i, WorkbenchPageLocationDiagnostic as _n, ResourceContextAction as _r, PreferenceRegistry as _t, standardResourceIcons as a, matchesContextExpression as aa, WorkbenchTabRetention as ai, WorkbenchTerminalSessionStatus as an, BoardColumnConfig as ar, SchemaSettingsPanel as at, WorkbenchModeActivationResult as b, NavigationTargetCompound as bi, WorkbenchPageContribution as bn, FileRendererContent as br, PreferenceScopeRef as bt, headerLeadingMenuPath as c, WorkbenchWidgetTab as ci, WorkbenchShellOpenRegion as cn, EnumOptionsSource as cr, SettingsPanelBase as ct, workbenchCommandPaletteMenuPath as d, WorkbenchPanelRegion as di, WorkbenchSidePanelMode as dn, KanbanRendererCreateRowConfig as dr, SettingsRegistry as dt, ContributionMetadata as ea, WorkbenchRegionSize as ei, WorkbenchTerminalSessionExit as en, AttributeDisplayDescriptor as er, WorkbenchStatusBarRegistry as et, workbenchRegionTabAddMenuPath as f, WorkbenchRegion as fi, WorkbenchSidePanelPersistenceAdapter as fn, KanbanRendererCreateSubmission as fr, SettingsScope as ft, AnchorId as g, NavigationParser as gi, WorkbenchPageLocationController as gn, KanbanRendererSettings as gr, PreferencePropertySchema as gt, workbenchTopHeaderTrailingMenuPath as h, NavigationDispatcherContext as hi, WorkbenchPageLocationBrowser as hn, KanbanRendererRow as hr, PreferencePersistenceAdapter as ht, StandardResourceIcon as i, ContextKeyValue as ia, WorkbenchTabPosition as ii, WorkbenchTerminalSessionSink as in, BoardColumnAction as ir, CollectionSettingsPanel as it, WorkbenchModuleContext as j, WorkbenchCommandExecutionContext as ji, workbenchViewIdContextKey as jn, DataTableRendererQueryResult as jr, WorkbenchNotificationAction as jt, WorkbenchCoreContributionContext as k, CommandParamSchema as ki, WorkbenchViewRegistryStoreState as kn, DataTableRendererContribution as kr, RegisteredWorkbenchNotification as kt, headerTrailingMenuPath as l, WorkbenchPanelMenuRegion as li, WorkbenchShellRegionState as ln, KanbanRendererCreateField as lr, SettingsPanelContribution as lt, workbenchTopHeaderLeadingMenuPath as m, workbenchRegions as mi, WorkbenchPageBrowserEntry as mn, KanbanRendererOrdering as mr, ViewSettingsPanel as mt, settleReadBatch as n, ContextKeyScope as na, WorkbenchTabMenuGroup as ni, WorkbenchTerminalSessionOpener as nn, AttributeType as nr, WorkbenchStatusBarSlot as nt, DockedWorkbenchRegion$1 as o, WorkbenchStore as oa, WorkbenchTabSnapshot as oi, WorkbenchTerminalState as on, EnumOption as or, SettingsAction as ot, workbenchRegionTabLeadingMenuPath as p, workbenchPanelRegions as pi, WorkbenchPanelMenuStatePersistenceAdapter as pn, KanbanRendererFilterState as pr, SettingsSectionContribution as pt, WorkbenchStatusRegistry as q, workbenchSelectionResourceKeyMetadataKey as qi, MenuItem as qn, RegisteredPlaceholderContribution as qr, CommandPaletteResourceProviderResult as qt, rendererReadKey as r, ContextKeyService as ra, WorkbenchTabMenuRow as ri, WorkbenchTerminalSessionRequest as rn, AttributesSource as rr, createStatusBarRegistry as rt, dockedWorkbenchRegions as s, Disposable as sa, WorkbenchWidgetPlacement as si, WorkbenchShellController as sn, EnumOptions as sr, SettingsCollectionGroupBy as st, batchWorkbenchChanges as t, ContributionSource as ta, WorkbenchTabAction as ti, WorkbenchTerminalSessionModel as tn, AttributeKind as tr, WorkbenchStatusBarRegistryState as tt, resourceContextMenuPath as u, WorkbenchPanelMenuSide as ui, WorkbenchSidePanelPresentation as un, KanbanRendererCreateFieldType as ur, SettingsPanelPreference as ut, defaultPageResourceCodec as v, NavigationTarget$1 as vi, WorkbenchPageLocationPersistence as vn, SortDirection as vr, PreferenceSchemaContribution as vt, WorkbenchModeRegistry as w, WorkbenchCommandPaletteOpenInput as wi, RegisteredWorkbenchView as wn, FileRendererSaveResult as wr, WorkbenchPlaceholderContribution as wt, WorkbenchModeAddablePanel as x, NavigationTargetItem as xi, WorkbenchPlacementPresentation as xn, FileRendererContribution as xr, PreferenceValue as xt, WorkbenchModeActivationContext as y, NavigationTargetCommand as yi, WorkbenchPageNavigationResult as yn, ViewMode as yr, PreferenceScope as yt, ThemeRegistry as z, ResourceRef$1 as zi, TreeMovePolicy as zn, ControlsRendererContribution as zr, WorkbenchModePlacementContribution as zt };
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 };
2395
2459
  export {};