@pstdio/workbench 0.12.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/extensions.d.ts +1133 -3590
  2. package/dist/extensions.js +2053 -2405
  3. package/dist/extensions.js.map +1 -1
  4. package/dist/file-renderer-view-DKu2l8bT.js +637 -0
  5. package/dist/file-renderer-view-DKu2l8bT.js.map +1 -0
  6. package/dist/index-DSsmgN2a.d.ts +2385 -0
  7. package/dist/index.d.ts +3 -2624
  8. package/dist/index.js +5272 -6143
  9. package/dist/index.js.map +1 -1
  10. package/dist/kanban-presentation-BWhkLbw3.d.ts +14 -0
  11. package/dist/navigation-tree-registry-CTidmvVs.js +91 -0
  12. package/dist/navigation-tree-registry-CTidmvVs.js.map +1 -0
  13. package/dist/react-BxrTklvM.js +8523 -0
  14. package/dist/react-BxrTklvM.js.map +1 -0
  15. package/dist/react.d.ts +398 -2849
  16. package/dist/react.js +2 -54
  17. package/dist/storage.d.ts +48 -282
  18. package/dist/storage.js +218 -225
  19. package/dist/storage.js.map +1 -1
  20. package/dist/webview-runtime.d.ts +8 -7
  21. package/dist/webview-runtime.js +10 -11
  22. package/dist/webview-runtime.js.map +1 -1
  23. package/dist/workbench-renderers-RPeMVtTc.js +908 -0
  24. package/dist/workbench-renderers-RPeMVtTc.js.map +1 -0
  25. package/package.json +3 -3
  26. package/dist/file-renderer-view-BJ3LX04R.js +0 -545
  27. package/dist/file-renderer-view-BJ3LX04R.js.map +0 -1
  28. package/dist/index-DwNKY4fO.js +0 -5286
  29. package/dist/index-DwNKY4fO.js.map +0 -1
  30. package/dist/react.js.map +0 -1
  31. package/dist/workbench-menu-paths-B_QJzcNU.js +0 -12
  32. package/dist/workbench-menu-paths-B_QJzcNU.js.map +0 -1
  33. package/dist/workbench-renderers-BAPxtfpZ.js +0 -877
  34. package/dist/workbench-renderers-BAPxtfpZ.js.map +0 -1
  35. package/dist/workspaces-DdUPyzkL.js +0 -1886
  36. package/dist/workspaces-DdUPyzkL.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,2624 +1,3 @@
1
- import { ControlsQueryResult } from '@pstdio/sdk/extensions';
2
- import { ControlValue } from '@pstdio/sdk/extensions';
3
- import { ControlValueMap } from '@pstdio/sdk/extensions';
4
- import { defaultPageResourceCodec } from '@pstdio/sdk/extensions';
5
- import { DockedWorkbenchRegion } from '@pstdio/sdk/extensions';
6
- import { dockedWorkbenchRegions } from '@pstdio/sdk/extensions';
7
- import { FileRendererSectionTarget } from '@pstdio/sdk/extensions';
8
- import { KanbanRendererAttributeDisplay } from '@pstdio/sdk/extensions';
9
- import { Localizable } from '@pstdio/sdk/extensions';
10
- import { ModeRegionSettings } from '@pstdio/sdk/extensions';
11
- import { NavigationTargetPage as NavigationTargetPage_2 } from '@pstdio/sdk/extensions';
12
- import { NavigationTargetPanel as NavigationTargetPanel_2 } from '@pstdio/sdk/extensions';
13
- import { PageLocation } from '@pstdio/sdk/extensions';
14
- import { PageMain } from '@pstdio/sdk/extensions';
15
- import { PageOpenIntent } from '@pstdio/sdk/extensions';
16
- import { PageRef } from '@pstdio/sdk/extensions';
17
- import { PageSlot } from '@pstdio/sdk/extensions';
18
- import { PlacementIdentity } from '@pstdio/sdk/extensions';
19
- import { PlacementItem } from '@pstdio/sdk/extensions';
20
- import { PlacementRef } from '@pstdio/sdk/extensions';
21
- import { ResourceConstraint } from '@pstdio/sdk/extensions';
22
- import { ResourceRef } from '@pstdio/sdk/extensions';
23
-
24
- export declare type AnchorId = "primary" | "secondary" | "attached";
25
-
26
- export declare interface AttributeDescriptor<TNode = unknown> {
27
- id: string;
28
- label: string;
29
- type: AttributeType;
30
- filterable?: boolean;
31
- groupable?: boolean;
32
- sortable?: boolean;
33
- displayable?: boolean;
34
- editable?: boolean;
35
- display?: AttributeDisplayDescriptor;
36
- render?: (value: unknown, row: KanbanRendererRow) => TNode;
37
- compare?: (a: unknown, b: unknown) => number;
38
- }
39
-
40
- export declare type AttributeDisplayDescriptor = KanbanRendererAttributeDisplay;
41
-
42
- export declare type AttributeKind = AttributeType["kind"];
43
-
44
- /**
45
- * Reactive source for an entire attribute schema. Lets a contribution
46
- * add/remove/edit attributes at runtime without re-registering.
47
- */
48
- declare interface AttributesSource<TNode = unknown> {
49
- subscribe: (listener: () => void) => () => void;
50
- getSnapshot: () => AttributeDescriptor<TNode>[];
51
- }
52
-
53
- export declare type AttributeType = {
54
- kind: "enum";
55
- options: EnumOptions;
56
- } | {
57
- kind: "enum-multi";
58
- options: EnumOptions;
59
- } | {
60
- kind: "string";
61
- } | {
62
- kind: "date";
63
- } | {
64
- kind: "number";
65
- } | {
66
- kind: "user";
67
- };
68
-
69
- export declare interface BoardColumnAction<TIcon = unknown> {
70
- id: string;
71
- label: string;
72
- icon: TIcon;
73
- }
74
-
75
- /** Board-column behavior and menu configuration for a resolved column group. */
76
- export declare interface BoardColumnConfig<TIcon = unknown> {
77
- /** Color palette token used for the column header and group badges. */
78
- color?: string;
79
- canDragIn?: boolean;
80
- canDragOut?: boolean;
81
- canCreate?: boolean;
82
- actions?: BoardColumnAction<TIcon>[];
83
- }
84
-
85
- /**
86
- * A data-driven list of items, each opening a contributor-supplied editor. The
87
- * framework knows nothing about what an item is — it only calls these hooks.
88
- */
89
- export declare interface CollectionSettingsPanel<TItem = unknown> extends SettingsPanelBase {
90
- kind: "collection";
91
- viewId: string;
92
- items(): TItem[] | Promise<TItem[]>;
93
- itemId(item: TItem): string;
94
- itemLabel(item: TItem): string;
95
- itemIcon?(item: TItem): string | undefined;
96
- groupBy?: SettingsCollectionGroupBy<TItem>;
97
- actions?: SettingsAction[];
98
- }
99
-
100
- export declare interface Command {
101
- id: string;
102
- label: string;
103
- category?: string;
104
- description?: string;
105
- icon?: string;
106
- when?: string;
107
- params?: CommandParamSchema;
108
- }
109
-
110
- export declare interface CommandHandler<TArgs = unknown, TResult = unknown> {
111
- prepareArgs?(args: TArgs, context?: WorkbenchCommandExecutionContext, onArgsChange?: (args: TArgs) => void): TArgs | Promise<TArgs>;
112
- execute(args: TArgs, context?: WorkbenchCommandExecutionContext): TResult | Promise<TResult>;
113
- isEnabled?(args: TArgs): boolean;
114
- isVisible?(args: TArgs): boolean;
115
- isToggled?(args: TArgs): boolean;
116
- }
117
-
118
- export declare interface CommandPaletteResourceProvider {
119
- id: string;
120
- title: string;
121
- refreshEventIds?: string[];
122
- query(context: CommandPaletteResourceQueryContext): Promise<readonly CommandPaletteResourceResult[]>;
123
- }
124
-
125
- export declare interface CommandPaletteResourceProviderResult {
126
- providerId: string;
127
- title: string;
128
- results: readonly CommandPaletteResourceResult[];
129
- }
130
-
131
- export declare interface CommandPaletteResourceQueryContext {
132
- query: string;
133
- limit: number;
134
- }
135
-
136
- export declare interface CommandPaletteResourceRegistry {
137
- store: WorkbenchStore<CommandPaletteResourceRegistryStoreState>;
138
- registerProvider(provider: CommandPaletteResourceProvider): Disposable_2;
139
- listProviders(): CommandPaletteResourceProvider[];
140
- queryProviders(context: CommandPaletteResourceQueryContext): Promise<CommandPaletteResourceProviderResult[]>;
141
- refresh(): void;
142
- }
143
-
144
- declare interface CommandPaletteResourceRegistryStoreState {
145
- providers: Record<string, CommandPaletteResourceProvider>;
146
- refreshToken: number;
147
- }
148
-
149
- export declare interface CommandPaletteResourceResult {
150
- id: string;
151
- label: string;
152
- description?: string;
153
- icon?: string;
154
- keywords?: string[];
155
- group?: string;
156
- activate(): void | Promise<void>;
157
- }
158
-
159
- export declare interface CommandParamDescriptor {
160
- type: string;
161
- label?: string;
162
- description?: string;
163
- required?: boolean;
164
- defaultValue?: unknown;
165
- options?: CommandParamOption[];
166
- templateType?: string;
167
- resourceType?: string;
168
- accept?: string;
169
- multiple?: boolean;
170
- metadata?: Record<string, unknown>;
171
- resolvedFrom?: "resource";
172
- }
173
-
174
- export declare interface CommandParamOption {
175
- label: string;
176
- value: string;
177
- icon?: string;
178
- }
179
-
180
- export declare type CommandParamSchema = Record<string, CommandParamDescriptor>;
181
-
182
- export declare interface CommandRegistry {
183
- store: WorkbenchStore<CommandRegistryStoreState>;
184
- registerCommand<TArgs = unknown, TResult = unknown>(command: Command, handler: CommandHandler<TArgs, TResult>, metadata?: ContributionMetadata): Disposable_2;
185
- getCommand(id: string): RegisteredCommand | undefined;
186
- listCommands(): RegisteredCommand[];
187
- isCommandEnabled(id: string, args?: unknown): boolean;
188
- isCommandVisible(id: string, args?: unknown): boolean;
189
- isCommandToggled(id: string, args?: unknown): boolean;
190
- prepareCommandArgs(id: string, args: unknown, context?: WorkbenchCommandExecutionContext, onArgsChange?: (args: unknown) => void): Promise<unknown>;
191
- executeCommand(id: string, args?: unknown, context?: WorkbenchCommandExecutionContext): Promise<unknown>;
192
- onDidExecuteError(listener: WorkbenchCommandExecutionErrorListener): Disposable_2;
193
- }
194
-
195
- declare interface CommandRegistryStoreState {
196
- commands: Record<string, RegisteredCommand>;
197
- }
198
-
199
- export declare interface ContextKeyScope extends Disposable_2 {
200
- ownerId: string;
201
- set(key: string, value: ContextKeyValue): void;
202
- get(key: string): ContextKeyValue;
203
- delete(key: string): void;
204
- }
205
-
206
- export declare interface ContextKeyService {
207
- store: WorkbenchStore<ContextKeyStoreState>;
208
- set(key: string, value: ContextKeyValue): void;
209
- get(key: string): ContextKeyValue;
210
- delete(key: string): void;
211
- createScope(ownerId: string): ContextKeyScope;
212
- deleteOwner(ownerId: string): void;
213
- snapshot(): Record<string, ContextKeyValue>;
214
- matches(expression?: string): boolean;
215
- }
216
-
217
- declare interface ContextKeyStoreState {
218
- values: Record<string, ContextKeyValue>;
219
- }
220
-
221
- export declare type ContextKeyValue = boolean | number | string | undefined;
222
-
223
- export declare interface ContributionMetadata {
224
- source?: ContributionSource;
225
- ownerId?: string;
226
- priority?: number;
227
- }
228
-
229
- export declare type ContributionSource = "module" | "extension";
230
-
231
- export declare interface ControlsApplyInput {
232
- values: ControlValueMap;
233
- resource?: ResourceRef;
234
- }
235
-
236
- export { ControlsQueryResult }
237
-
238
- export declare interface ControlsRendererContribution {
239
- id: string;
240
- title: string;
241
- resourceKind?: string;
242
- emptyTitle?: string;
243
- emptyDescription?: string;
244
- layout?: ControlsRendererLayout;
245
- defaultValues?: ControlValueMap;
246
- /** Load the control declarations + current values for the active resource. */
247
- executeQuery(resource?: ResourceRef): Promise<ControlsQueryResult> | ControlsQueryResult;
248
- /** Live-save a single control edit. Omit for explicit-apply or read-only panels. */
249
- updateValue?(input: ControlsUpdateValueInput): Promise<void> | void;
250
- /** Commit the full value map from a sticky footer. */
251
- apply?(input: ControlsApplyInput): Promise<void> | void;
252
- /** Reset some or all controls to their defaults. */
253
- reset?(input: ControlsResetInput): Promise<void> | void;
254
- subscribe?: (listener: () => void) => Disposable_2 | (() => void);
255
- }
256
-
257
- export declare interface ControlsRendererLayout {
258
- region?: ControlsRendererRegion;
259
- defaultPx?: number;
260
- minPx?: number;
261
- maxPx?: number;
262
- }
263
-
264
- declare type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
265
-
266
- export declare interface ControlsResetInput {
267
- controlIds?: string[];
268
- resource?: ResourceRef;
269
- }
270
-
271
- export declare interface ControlsUpdateValueInput {
272
- controlId: string;
273
- value: ControlValue;
274
- values: ControlValueMap;
275
- resource?: ResourceRef;
276
- }
277
-
278
- export declare const createStatusBarRegistry: (input: CreateWorkbenchStatusBarRegistryInput) => WorkbenchStatusBarRegistry;
279
-
280
- export declare const createStatusRegistry: () => WorkbenchStatusRegistry;
281
-
282
- export declare const createViewRegistry: (input: CreateWorkbenchViewRegistryInput) => WorkbenchViewRegistry;
283
-
284
- export declare const createWorkbench: (input?: createWorkbenchInput) => WorkbenchCore;
285
-
286
- export declare interface createWorkbenchInput {
287
- isInScope?: (resource: ResourceRef, primary: ResourceRef | undefined) => boolean;
288
- layoutPersistence?: LayoutPersistenceAdapter;
289
- pageLocationBrowser?: WorkbenchPageLocationBrowser;
290
- pageLocationPersistence?: WorkbenchPageLocationPersistence;
291
- resolvePagePersistenceScope?(input: WorkbenchPagePersistenceScopeInput): WorkbenchPagePersistenceScope;
292
- pageResources?: WorkbenchPageResourceCodec;
293
- persistence?: WorkbenchPersistenceAdapter;
294
- preferencePersistence?: PreferencePersistenceAdapter;
295
- treePersistence?: TreeRendererPersistenceAdapter;
296
- panelMenuStatePersistence?: WorkbenchPanelMenuStatePersistenceAdapter;
297
- defaultPanelOpenByRegionId?: Partial<Record<WorkbenchRegion, boolean>>;
298
- /** Host-level region layout policy. The active mode's regionSettings win over it. */
299
- regionSettings?: Partial<Record<WorkbenchRegion, WorkbenchRegionSettings>>;
300
- sidePanelPersistence?: WorkbenchSidePanelPersistenceAdapter;
301
- /** Default floating policy. The active mode may override it. */
302
- floatingPanels?: "visible" | "hidden";
303
- initialSidePanelMode?: WorkbenchSidePanelMode;
304
- startPage?: PageRef;
305
- }
306
-
307
- export declare const createWorkbenchResourceContextValues: (resource: ResourceRef | undefined) => Record<string, ContextKeyValue>;
308
-
309
- export declare const createWorkbenchSelectionResourceMetadata: (resource: ResourceRef) => {
310
- "workbench.selectionResourceKey": string;
311
- };
312
-
313
- declare interface CreateWorkbenchStatusBarRegistryInput {
314
- hasView(viewId: string): boolean;
315
- }
316
-
317
- declare interface CreateWorkbenchViewRegistryInput {
318
- registerBody(view: WorkbenchViewContribution, metadata?: ContributionMetadata): Disposable_2 & {
319
- refresh?(input?: unknown): void;
320
- };
321
- }
322
-
323
- export declare interface DataTableRendererColumn {
324
- id: string;
325
- label?: string;
326
- description?: string;
327
- icon?: unknown;
328
- hidden?: boolean;
329
- stat?: DataTableRendererColumnStat;
330
- renderer?: DataTableRendererColumnRenderer;
331
- }
332
-
333
- export declare type DataTableRendererColumnRenderer = {
334
- type: "json";
335
- } | {
336
- type: "color-scale";
337
- stops: Array<{
338
- value: number;
339
- color: DataTableRendererThemeColor;
340
- }>;
341
- } | {
342
- type: "categorical-color";
343
- categories: Array<{
344
- value: string | number | boolean | null;
345
- color: DataTableRendererThemeColor;
346
- }>;
347
- };
348
-
349
- export declare type DataTableRendererColumnStat = {
350
- type: "unique";
351
- } | {
352
- type: "histogram";
353
- bins?: number;
354
- } | {
355
- type: "top-values";
356
- limit?: number;
357
- };
358
-
359
- export declare interface DataTableRendererContribution {
360
- id: string;
361
- title: string;
362
- resourceKind?: string;
363
- columns?: DataTableRendererColumn[];
364
- selectionMode?: "none" | "multiple";
365
- selectionActions?: DataTableRendererSelectionAction[];
366
- rowActions?: DataTableRendererRowAction[];
367
- initialPageSize?: number;
368
- pageSizeOptions?: number[];
369
- emptyTitle?: string;
370
- emptyDescription?: string;
371
- executeQuery(context: DataTableRendererQueryContext): Promise<DataTableRendererQueryResult> | DataTableRendererQueryResult;
372
- subscribe?: (listener: () => void) => Disposable_2 | (() => void);
373
- onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
374
- }
375
-
376
- export declare interface DataTableRendererQueryContext {
377
- resource?: ResourceRef;
378
- modeId?: string;
379
- }
380
-
381
- export declare interface DataTableRendererQueryResult {
382
- rows: DataTableRendererRow[];
383
- columns?: DataTableRendererColumn[];
384
- }
385
-
386
- export declare interface DataTableRendererRow {
387
- id: string;
388
- values: Record<string, unknown>;
389
- resource?: ResourceRef;
390
- }
391
-
392
- export declare interface DataTableRendererRowAction {
393
- id: string;
394
- label: string;
395
- icon?: unknown;
396
- destructive?: boolean;
397
- run(row: DataTableRendererRow): Promise<void> | void;
398
- }
399
-
400
- export declare interface DataTableRendererSelectionAction {
401
- id: string;
402
- label: string;
403
- icon?: unknown;
404
- destructive?: boolean;
405
- run(rows: DataTableRendererRow[]): Promise<void> | void;
406
- }
407
-
408
- export declare interface DataTableRendererThemeColor {
409
- light: string;
410
- dark: string;
411
- foreground?: {
412
- light: string;
413
- dark: string;
414
- };
415
- }
416
-
417
- export { defaultPageResourceCodec }
418
-
419
- declare interface Disposable_2 {
420
- dispose(): void;
421
- }
422
- export { Disposable_2 as Disposable }
423
-
424
- declare type DistributiveOmit<T, K extends PropertyKey> = T extends unknown ? Omit<T, K> : never;
425
-
426
- export { DockedWorkbenchRegion }
427
-
428
- export { dockedWorkbenchRegions }
429
-
430
- export declare interface EnumOption {
431
- value: string;
432
- label: string;
433
- color?: string;
434
- icon?: string | null;
435
- }
436
-
437
- export declare type EnumOptions = EnumOption[] | EnumOptionsSource;
438
-
439
- /**
440
- * Reactive options source for enum / enum-multi attributes. Mirrors React's
441
- * useSyncExternalStore contract so a contribution can hand its options off as
442
- * a live collection instead of a frozen array.
443
- */
444
- export declare interface EnumOptionsSource {
445
- subscribe: (listener: () => void) => () => void;
446
- getSnapshot: () => EnumOption[];
447
- }
448
-
449
- /**
450
- * Core-owned contract for file icon theme registrations. Structurally identical
451
- * to @pstdio/ui's FileIconThemePreferenceOption; the React layer bridges the two
452
- * so core does not depend on UI package ownership.
453
- */
454
- export declare interface FileIconThemeFont {
455
- fontFamily: string;
456
- src: {
457
- url: string;
458
- format?: string;
459
- }[];
460
- weight?: string;
461
- style?: string;
462
- }
463
-
464
- export declare interface FileIconThemePreferenceOption {
465
- id: string;
466
- title?: string;
467
- definitions: Record<string, unknown>;
468
- fileExtensions: Record<string, string>;
469
- fileNames: Record<string, string>;
470
- defaults: {
471
- file?: string;
472
- folder?: string;
473
- };
474
- fonts: FileIconThemeFont[];
475
- }
476
-
477
- export declare interface FileIconThemeRegistry {
478
- store: WorkbenchStore<WorkbenchFileIconThemeStoreState>;
479
- register(themes: readonly FileIconThemePreferenceOption[]): Disposable_2;
480
- listThemes(): readonly FileIconThemePreferenceOption[];
481
- }
482
-
483
- export declare interface FileRendererContent {
484
- fileName?: string;
485
- /** Workspace-relative path shown above the file preview. */
486
- filePath?: string;
487
- mimeType?: string;
488
- content?: string;
489
- dataUrl?: string;
490
- placeholder?: string;
491
- /** Override contribution-level save support for one loaded file. */
492
- editable?: boolean;
493
- /** Request Monaco for text that automatic dispatch would open as markdown. */
494
- textRenderer?: "automatic" | "monaco";
495
- /** Represent a deliberate no-file selection without an editable blank document. */
496
- emptyState?: {
497
- title: string;
498
- description?: string;
499
- };
500
- /** Ordered backing-store revision when one is available. */
501
- revision?: string;
502
- }
503
-
504
- export declare interface FileRendererContribution {
505
- id: string;
506
- title: string;
507
- resourceKind?: string;
508
- /** Resolve the file's content (and identity) for the bound resource. */
509
- load(resource: ResourceRef | undefined): Promise<FileRendererContent> | FileRendererContent;
510
- /** Persist edited text. Absent ⇒ read-only. Never called for images. */
511
- save?(resource: ResourceRef | undefined, content: string, origin?: FileRendererRefreshOrigin): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
512
- }
513
-
514
- export declare interface FileRendererRefreshEnvelope {
515
- resourceKey?: string;
516
- origin?: FileRendererRefreshOrigin;
517
- revision?: string;
518
- }
519
-
520
- export declare interface FileRendererRefreshOrigin {
521
- rendererId: string;
522
- instanceId: string;
523
- operationId: string;
524
- }
525
-
526
- export declare interface FileRendererSaveResult {
527
- revision?: string;
528
- }
529
-
530
- export declare const getKeybindingSteps: (keybinding: KeybindingSequence) => string[];
531
-
532
- export declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
533
-
534
- export declare const getWorkbenchSelectionResourceKeys: (resource: ResourceRef | undefined) => string[];
535
-
536
- export declare const headerLeadingMenuPath: (region: string) => MenuPath;
537
-
538
- export declare const headerTrailingMenuPath: (region: string) => MenuPath;
539
-
540
- export declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
541
-
542
- export declare const isWorkbenchViewHierarchyNode: (node: WorkbenchHierarchyNode) => node is WorkbenchViewHierarchyNode;
543
-
544
- export declare interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRendererRow, TNode = unknown, TIcon = unknown> {
545
- id: string;
546
- title: string;
547
- resourceKind?: string;
548
- /** Host-owned scope for persisted display settings. */
549
- storageScope?: string;
550
- /**
551
- * Declarative attribute schema. The renderer dispatches filter / group /
552
- * sort / display / inline-edit behavior on each descriptor's `type.kind`.
553
- *
554
- * Pass an `AttributesSource` ({ subscribe, getSnapshot }) instead of a
555
- * static array to let the contribution mutate its schema at runtime —
556
- * `WorkbenchKanbanView` subscribes so additions / removals / kind changes
557
- * propagate live without re-registering the renderer.
558
- */
559
- attributes: AttributeDescriptor<TNode>[] | AttributesSource<TNode>;
560
- /** Per-board-column overrides (color, drag/create rules, custom actions). */
561
- getBoardColumnConfig?: (groupKey: string) => BoardColumnConfig<TIcon>;
562
- hideToolbar?: boolean;
563
- emptyTitle?: string;
564
- emptyDescription?: string;
565
- /** Initial settings/filters applied when the kanban renderer mounts. */
566
- defaultSettings?: Partial<KanbanRendererSettings>;
567
- defaultFilters?: KanbanRendererFilterState;
568
- defaultViews?: KanbanRendererSavedView[];
569
- defaultActiveViewId?: string;
570
- /**
571
- * Data source. Receives the current display state so backends can paginate
572
- * / filter / sort. The renderer re-applies filter / sort / group locally,
573
- * so this can return unfiltered rows in simple cases.
574
- */
575
- executeQuery(state: KanbanRendererQueryState): Promise<TRow[]> | TRow[];
576
- subscribe?: (listener: () => void) => Disposable_2 | (() => void);
577
- /** Row activation surfaced by the renderer (mirrored from <KanbanRenderer>). */
578
- onRowActivate?: (row: TRow) => Promise<void> | void;
579
- /** Per-row right-click context menu actions (mirrored from <KanbanRenderer>). */
580
- getRowContextMenuActions?: (row: TRow) => ResourceContextAction<TNode>[];
581
- /**
582
- * Fires for inline attribute edits AND for cross-column drag-to-reorder on
583
- * the board (the renderer passes the grouping attribute id + the target
584
- * column value).
585
- */
586
- onAttributeChange?: (rowId: string, attributeId: string, value: unknown) => Promise<void> | void;
587
- /** Manual within-column reorder (only fires when ordering is manual). */
588
- onReorder?: (rowId: string, beforeRowId?: string) => Promise<void> | void;
589
- createRow?: KanbanRendererCreateRowConfig;
590
- onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
591
- onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
592
- }
593
-
594
- export declare interface KanbanRendererCreateField {
595
- id: string;
596
- label: string;
597
- description?: string;
598
- placeholder?: string;
599
- type: KanbanRendererCreateFieldType;
600
- required?: boolean;
601
- defaultValue?: unknown;
602
- options?: EnumOption[];
603
- /** `files` fields only. */
604
- multiple?: boolean;
605
- accept?: string;
606
- }
607
-
608
- export declare type KanbanRendererCreateFieldType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files";
609
-
610
- /** Chrome copy is supplied by the caller so the dialog ships no strings of its own. */
611
- declare interface KanbanRendererCreateLabels {
612
- cancel: string;
613
- properties: string;
614
- submitError: string;
615
- removeFile: string;
616
- }
617
-
618
- export declare interface KanbanRendererCreateRowConfig {
619
- title: string;
620
- submitLabel: string;
621
- fields: KanbanRendererCreateField[];
622
- labels: KanbanRendererCreateLabels;
623
- }
624
-
625
- export declare interface KanbanRendererCreateSubmission {
626
- columnId: string;
627
- columnAttributeId?: string;
628
- /** Declared field values, excluding `files` fields — those arrive as `files`. */
629
- values: Record<string, unknown>;
630
- /** Every editable attribute the user set, keyed by attribute id. */
631
- attributeValues: Record<string, unknown>;
632
- files: File[];
633
- }
634
-
635
- export declare type KanbanRendererFilterState = Record<string, string[]>;
636
-
637
- export declare interface KanbanRendererOrdering {
638
- attributeId: string | typeof MANUAL_ORDERING;
639
- direction: SortDirection;
640
- }
641
-
642
- export declare interface KanbanRendererQueryState {
643
- settings: KanbanRendererSettings;
644
- filters: KanbanRendererFilterState;
645
- }
646
-
647
- export declare interface KanbanRendererRow {
648
- id: string;
649
- title: string;
650
- /**
651
- * Optional navigation handle. When set, the renderer's default click handler
652
- * routes through the contribution's onRowActivate (which typically opens the
653
- * resource via the workbench).
654
- */
655
- resource?: unknown;
656
- attributes: Record<string, unknown>;
657
- }
658
-
659
- declare interface KanbanRendererSavedView {
660
- id: string;
661
- title: string;
662
- settings: KanbanRendererSettings;
663
- filters: KanbanRendererFilterState;
664
- isDefault?: boolean;
665
- }
666
-
667
- export declare interface KanbanRendererSettings {
668
- viewMode: ViewMode;
669
- columnGrouping: string | typeof NO_GROUPING;
670
- rowGrouping: string | typeof NO_GROUPING;
671
- ordering: KanbanRendererOrdering;
672
- displayProperties: string[];
673
- }
674
-
675
- export declare interface Keybinding {
676
- /** Action the chord executes through the shared navigation executor. */
677
- action: NavigationTarget;
678
- keybinding: KeybindingSequence;
679
- when?: string;
680
- }
681
-
682
- export declare interface KeybindingRegistry {
683
- store: WorkbenchStore<KeybindingRegistryStoreState>;
684
- registerKeybinding(keybinding: Keybinding, metadata?: ContributionMetadata): Disposable_2;
685
- listKeybindings(): RegisteredKeybinding[];
686
- listActiveKeybindings(): RegisteredKeybinding[];
687
- /** Chords bound to plain command actions, for rendering shortcut hints beside commands. */
688
- listCommandKeybindings(): {
689
- commandId: string;
690
- keybinding: KeybindingSequence;
691
- }[];
692
- }
693
-
694
- declare interface KeybindingRegistryStoreState {
695
- keybindings: RegisteredKeybinding[];
696
- }
697
-
698
- export declare type KeybindingSequence = string | string[];
699
-
700
- declare interface LayoutModel {
701
- store: WorkbenchStore<WorkbenchLayoutStoreState>;
702
- registerPlaceholder(placeholder: PlaceholderContribution, metadata?: ContributionMetadata): {
703
- dispose(): void;
704
- };
705
- registerPanel(panel: WorkbenchPanelContribution, metadata?: ContributionMetadata): {
706
- dispose(): void;
707
- };
708
- registerWidget(widget: WidgetContribution, metadata?: ContributionMetadata): {
709
- dispose(): void;
710
- };
711
- registerPanelMenu(panelMenu: WorkbenchPanelMenuContribution, metadata?: ContributionMetadata): {
712
- dispose(): void;
713
- };
714
- unregisterWidget(id: string, options?: {
715
- removePlacements?: boolean;
716
- persist?: boolean;
717
- }): void;
718
- getPlaceholder(regionId: WorkbenchRegion): RegisteredPlaceholderContribution | undefined;
719
- getWidget(id: string): RegisteredWidgetContribution | undefined;
720
- getPanel(id: string): WorkbenchPanelContribution | undefined;
721
- getRegionSize(regionId: WorkbenchRegion): WorkbenchRegionSize | undefined;
722
- getRegionSettings(regionId: WorkbenchRegion): WorkbenchRegionSettings | undefined;
723
- getRegionCollapsible(regionId: WorkbenchRegion): boolean;
724
- getRegionHeaderBorderBottom(regionId: WorkbenchRegion): boolean;
725
- setRegionVisible(regionId: WorkbenchRegion, visible: boolean): void;
726
- setRegionSize(regionId: WorkbenchRegion, size: number): void;
727
- listPlaceholders(): RegisteredPlaceholderContribution[];
728
- listWidgets(): RegisteredWidgetContribution[];
729
- listPanels(): WorkbenchPanelContribution[];
730
- listPanelInstances(region?: WorkbenchRegion): WorkbenchPanelInstance[];
731
- getActivePanel(region?: WorkbenchRegion): WorkbenchPanelInstance | undefined;
732
- openWidget(id: string, input?: OpenWidgetInput): WorkbenchWidgetPlacement;
733
- openPanel(id: string, input?: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
734
- updatePanel(instanceId: string, input: OpenWorkbenchPanelInput): WorkbenchPanelInstance;
735
- reorderPanel(instanceId: string, position: WorkbenchTabPosition): void;
736
- activatePanel(instanceId: string): WorkbenchPanelInstance;
737
- closePanel(instanceId: string): WorkbenchPanelInstance | undefined;
738
- updateWidgetPlacement(widgetId: string, input: OpenWidgetInput): WorkbenchWidgetPlacement;
739
- reorderWidget(widgetId: string, position: WorkbenchTabPosition): void;
740
- expirePreviewTabs(ownerResourceKey?: string): void;
741
- activateWidget(widgetId: string): WorkbenchWidgetPlacement;
742
- setRegionActiveWidget(regionId: WorkbenchRegion, widgetId: string | undefined): void;
743
- closeWidget(widgetId: string): WorkbenchWidgetPlacement | undefined;
744
- removeWidgetPlacement(widgetId: string): WorkbenchWidgetPlacement | undefined;
745
- clearRegion(regionId: WorkbenchRegion): void;
746
- resetRegions(): void;
747
- getLayout(): WorkbenchLayout;
748
- restoreLayout(layout: WorkbenchLayout): void;
749
- setPersistenceScope(scope: LayoutScope | undefined, input?: {
750
- carryRegionState?: readonly WorkbenchRegion[];
751
- }): void;
752
- getPersistenceScope(): LayoutScope | undefined;
753
- /** True when the current persistence scope already stores a layout. A new scope returns false. */
754
- /** Whether anything is stored for the active scope right now. */
755
- hasPersistedLayout(): boolean;
756
- /**
757
- * Whether the active scope was entered with a layout the user already had. Unlike
758
- * `hasPersistedLayout`, writes made while entering a mode do not change the answer.
759
- */
760
- enteredWithPersistedLayout(): boolean;
761
- /** Moves owned panel menus beside their owner's current region and removes orphan menus. */
762
- reconcilePanelMenus(): void;
763
- onWillChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
764
- dispose(): void;
765
- };
766
- onDidChangePersistenceScope(listener: (scope: LayoutScope | undefined) => void): {
767
- dispose(): void;
768
- };
769
- }
770
-
771
- export declare interface LayoutPersistenceAdapter {
772
- getLayout(scope?: LayoutScope): WorkbenchLayout | undefined;
773
- setLayout(layout: WorkbenchLayout, scope?: LayoutScope): void;
774
- listScopes?(projectId: string): LayoutScope[];
775
- transformLayouts?(projectId: string, transform: (layout: WorkbenchLayout, scope: LayoutScope) => WorkbenchLayout | undefined): void;
776
- getCompatibilityMarker?(key: string): string | undefined;
777
- setCompatibilityMarker?(key: string, value: string): void;
778
- advanceWriteGeneration?(): number;
779
- flush?(): void;
780
- dispose?(): void;
781
- }
782
-
783
- declare type LayoutScope = string;
784
-
785
- declare const MANUAL_ORDERING = "manual";
786
-
787
- export declare const matchesContextExpression: (values: Record<string, ContextKeyValue>, expression?: string) => boolean;
788
-
789
- export declare interface MenuItem {
790
- commandId: string;
791
- sourceCommandId?: string;
792
- label?: string;
793
- description?: string;
794
- icon?: string;
795
- iconSrc?: string;
796
- overflowLabel?: string;
797
- when?: string;
798
- group?: string;
799
- order?: number;
800
- args?: unknown;
801
- readOnly?: boolean;
802
- /** Marks a menu action that navigates outside the app, rendered with a trailing external-link icon. */
803
- external?: boolean;
804
- }
805
-
806
- export declare type MenuPath = readonly string[];
807
-
808
- export declare interface MenuRegistry {
809
- menuStore: WorkbenchStore<MenuRegistryStoreState>;
810
- registerMenuItem(path: MenuPath, item: MenuItem, metadata?: ContributionMetadata): Disposable_2;
811
- listMenuItems(path: MenuPath): RegisteredMenuItem[];
812
- }
813
-
814
- declare interface MenuRegistryStoreState {
815
- itemsByPath: Record<string, RegisteredMenuItem[]>;
816
- }
817
-
818
- declare type NativeViewBody<Kind extends string, Contribution> = {
819
- kind: Kind;
820
- } & Omit<Contribution, "id" | "title" | "icon">;
821
-
822
- export declare interface NavigationDispatcherContext {
823
- canOpenPanel?(target: NavigationTargetPanel): boolean;
824
- canExecuteCommand?(commandId: string): boolean;
825
- prepareNavigation?(targets: readonly (NavigationTargetPage | NavigationTargetPanel)[]): {
826
- commit(): unknown;
827
- };
828
- openPanelTarget?(target: NavigationTargetPanel): unknown;
829
- openPageTarget?(target: NavigationTargetPage): unknown;
830
- executeCommand(commandId: string, args?: unknown): Promise<unknown> | unknown;
831
- openHref?(href: string): Promise<unknown> | unknown;
832
- }
833
-
834
- export declare interface NavigationParser {
835
- id: string;
836
- priority?: number;
837
- canParse(location: string): boolean;
838
- parse(location: string): NavigationTarget;
839
- }
840
-
841
- export declare interface NavigationRegistry {
842
- store: WorkbenchStore<NavigationRegistryStoreState>;
843
- registerParser(parser: NavigationParser, metadata?: ContributionMetadata): Disposable_2;
844
- listParsers(): RegisteredNavigationParser[];
845
- resolveLocation(location: string): NavigationTarget;
846
- openTarget(target: NavigationTarget): Promise<readonly unknown[]>;
847
- /** Opens a page location through the shared executor. */
848
- openPage(target: Omit<NavigationTargetPage, "kind">): Promise<readonly unknown[]>;
849
- /** Opens or activates an owned panel through the shared executor. */
850
- openPanel(target: DistributiveOmit<NavigationTargetPanel, "kind">): Promise<readonly unknown[]>;
851
- navigate(location: string): Promise<readonly unknown[]>;
852
- }
853
-
854
- declare interface NavigationRegistryStoreState {
855
- parsers: Record<string, RegisteredNavigationParser>;
856
- }
857
-
858
- export declare type NavigationTarget = NavigationTargetItem | NavigationTargetCompound;
859
-
860
- export declare interface NavigationTargetCommand {
861
- kind: "command";
862
- commandId: string;
863
- args?: unknown;
864
- }
865
-
866
- export declare interface NavigationTargetCompound {
867
- kind: "compound";
868
- targets: readonly (NavigationTargetPage | NavigationTargetPanel)[];
869
- }
870
-
871
- declare interface NavigationTargetHref {
872
- kind: "href";
873
- href: string;
874
- }
875
-
876
- export declare type NavigationTargetItem = NavigationTargetPage | NavigationTargetPanel | NavigationTargetCommand | NavigationTargetHref;
877
-
878
- declare type NavigationTargetPage = NavigationTargetPage_2;
879
-
880
- export declare type NavigationTargetPanel = NavigationTargetPanel_2 | NavigationTargetShellPanel;
881
-
882
- declare interface NavigationTargetShellPanel {
883
- kind: "panel";
884
- panel: ShellPlacementRef;
885
- resource?: NavigationTargetPanel_2["resource"];
886
- open?: NavigationTargetPanel_2["open"];
887
- title?: string;
888
- }
889
-
890
- export declare interface NavigationTreeContext {
891
- resource?: ResourceRef;
892
- }
893
-
894
- export declare interface NavigationTreeContribution {
895
- id: string;
896
- /** Prefix projected section and node ids when they come from an independent tree renderer. */
897
- idScope?: string;
898
- owner: NavigationTreeOwner;
899
- sourceExtensionId: string;
900
- declarationIndex: number;
901
- slot?: NavigationTreeSlot;
902
- viewId?: string;
903
- defaultExpandedSectionIds?: string[];
904
- getSections?(context: NavigationTreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
905
- getChildren?(node: TreeNode, context: NavigationTreeContext): Promise<TreeNode[]> | TreeNode[];
906
- }
907
-
908
- export declare interface NavigationTreeOwner {
909
- kind: "mode" | "page";
910
- id: string;
911
- extensionId: string;
912
- }
913
-
914
- export declare interface NavigationTreeRegistry {
915
- registerContribution(contribution: NavigationTreeContribution): Disposable_2;
916
- resolveOwner(kind: NavigationTreeOwner["kind"], id: string): NavigationTreeOwner | undefined;
917
- getSections(owner: NavigationTreeOwner, slot?: NavigationTreeSlot, context?: NavigationTreeContext): Promise<TreeViewSection[]>;
918
- getChildren(node: TreeNode, context?: NavigationTreeContext): Promise<TreeNode[]>;
919
- getDefaultExpandedSectionIds(owner: NavigationTreeOwner): string[];
920
- onDidChange(listener: () => void): Disposable_2;
921
- }
922
-
923
- export declare type NavigationTreeSlot = "header" | "content" | "footer";
924
-
925
- declare const NO_GROUPING = "none";
926
-
927
- export declare interface NotificationRegistry {
928
- store: WorkbenchStore<WorkbenchNotificationStoreState>;
929
- show(notification: WorkbenchNotification, metadata?: ContributionMetadata): RegisteredWorkbenchNotification;
930
- dismiss(id: string): boolean;
931
- clear(): void;
932
- listNotifications(): RegisteredWorkbenchNotification[];
933
- subscribe(listener: WorkbenchNotificationListener): Disposable_2;
934
- }
935
-
936
- declare interface OpenModePlacementTarget {
937
- panel: PlacementRef;
938
- resource?: ResourceRef;
939
- open?: PageOpenIntent;
940
- }
941
-
942
- declare interface OpenWidgetInput {
943
- viewId?: string | null;
944
- resource?: ResourceRef | null;
945
- title?: string;
946
- region?: WorkbenchRegion;
947
- role?: WorkbenchWidgetRole;
948
- ownerId?: string;
949
- source?: ContributionSource;
950
- pinned?: boolean;
951
- closable?: boolean;
952
- mountStrategy?: WidgetMountStrategy;
953
- hiddenByDefault?: boolean;
954
- tabRetention?: WorkbenchTabRetention;
955
- tabPosition?: WorkbenchTabPosition;
956
- tab?: WorkbenchWidgetTab;
957
- replaceActive?: boolean;
958
- replaceWidgetId?: string;
959
- }
960
-
961
- declare interface OpenWorkbenchOverlayInput {
962
- resource?: ResourceRef;
963
- title?: string;
964
- }
965
-
966
- declare interface OpenWorkbenchPanelInput {
967
- /** Set by the view registry. Low-level layout callers should leave this undefined. */
968
- viewId?: string | null;
969
- /** `null` explicitly clears an existing singleton placement's resource binding. */
970
- resource?: ResourceRef | null;
971
- title?: string;
972
- region?: WorkbenchRegion;
973
- role?: WorkbenchWidgetRole;
974
- pinned?: boolean;
975
- closable?: boolean;
976
- mountStrategy?: WorkbenchPanelMountStrategy;
977
- hiddenByDefault?: boolean;
978
- tab?: WorkbenchPanelTab;
979
- strategy?: WorkbenchPanelOpenStrategy;
980
- }
981
-
982
- declare interface OpenWorkbenchShellPlacementInput {
983
- placementId: string;
984
- resource?: ResourceRef;
985
- open?: PageOpenIntent;
986
- title?: string;
987
- }
988
-
989
- declare interface OwnedPlacementLocationContext {
990
- modeId: string;
991
- pageId?: string;
992
- projectId?: string;
993
- location?: PageLocation;
994
- }
995
-
996
- declare interface OwnedPlacementReconciliation<Value> {
997
- add: readonly ResolvedOwnedPlacement<Value>[];
998
- retain: readonly ResolvedOwnedPlacement<Value>[];
999
- update: readonly OwnedPlacementUpdate<Value>[];
1000
- activate: readonly ResolvedOwnedPlacement<Value>[];
1001
- remove: readonly ResolvedOwnedPlacement<Value>[];
1002
- }
1003
-
1004
- declare interface OwnedPlacementUpdate<Value> {
1005
- current: ResolvedOwnedPlacement<Value>;
1006
- desired: ResolvedOwnedPlacement<Value>;
1007
- }
1008
-
1009
- declare interface PersistedTreeRendererStates {
1010
- statesByTreeId: Record<string, TreeRendererState>;
1011
- }
1012
-
1013
- declare interface PersistedWorkbenchPanelMenuState {
1014
- openByMenuId: Record<string, boolean>;
1015
- }
1016
-
1017
- declare interface PlaceholderContribution {
1018
- id: string;
1019
- title: string;
1020
- region: WorkbenchRegion;
1021
- rendererId: string;
1022
- regionSize?: WorkbenchRegionSize;
1023
- regionCollapsible?: boolean;
1024
- config?: unknown;
1025
- priority?: number;
1026
- }
1027
-
1028
- export declare interface PreferencePersistenceAdapter {
1029
- getValue(name: string, scope: PreferenceScopeRef): PreferenceValue | undefined;
1030
- setValue(name: string, value: PreferenceValue, scope: PreferenceScopeRef): void;
1031
- }
1032
-
1033
- export declare interface PreferencePropertySchema {
1034
- type: "boolean" | "number" | "string" | "array" | "object";
1035
- enum?: PreferenceValue[];
1036
- default?: PreferenceValue;
1037
- scope: PreferenceScope;
1038
- description?: string;
1039
- }
1040
-
1041
- export declare interface PreferenceRegistry {
1042
- store: WorkbenchStore<PreferenceRegistryStoreState>;
1043
- registerSchema(schema: PreferenceSchemaContribution, metadata?: ContributionMetadata): Disposable_2;
1044
- getSchema(name: string): RegisteredPreferenceSchema | undefined;
1045
- setValue(name: string, value: PreferenceValue, scope: PreferenceScopeRef): void;
1046
- getValue(name: string, scope?: PreferenceScopeRef): PreferenceValue | undefined;
1047
- }
1048
-
1049
- declare interface PreferenceRegistryStoreState {
1050
- schemas: Record<string, RegisteredPreferenceSchema>;
1051
- }
1052
-
1053
- export declare interface PreferenceSchemaContribution {
1054
- properties: Record<string, PreferencePropertySchema>;
1055
- }
1056
-
1057
- export declare type PreferenceScope = "default" | "user" | "project" | "repo" | "workspace" | "extension" | "session";
1058
-
1059
- export declare interface PreferenceScopeRef {
1060
- scope: PreferenceScope;
1061
- scopeId?: string;
1062
- }
1063
-
1064
- export declare type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
1065
-
1066
- declare interface RegisteredCommand extends RegisteredContributionMetadata {
1067
- command: Command;
1068
- handler: CommandHandler;
1069
- }
1070
-
1071
- declare interface RegisteredContributionMetadata {
1072
- source: ContributionSource;
1073
- ownerId: string;
1074
- priority: number;
1075
- }
1076
-
1077
- declare interface RegisteredKeybinding extends Keybinding, RegisteredContributionMetadata {
1078
- }
1079
-
1080
- declare interface RegisteredMenuItem extends MenuItem, RegisteredContributionMetadata {
1081
- path: MenuPath;
1082
- }
1083
-
1084
- declare type RegisteredNavigationParser = Omit<NavigationParser, "priority"> & RegisteredContributionMetadata;
1085
-
1086
- declare type RegisteredPlaceholderContribution = Omit<PlaceholderContribution, "priority"> & RegisteredContributionMetadata;
1087
-
1088
- declare type RegisteredPreferenceSchema = PreferencePropertySchema & {
1089
- ownerId: string;
1090
- source: string;
1091
- };
1092
-
1093
- declare interface RegisteredResourceKind extends ResourceKindContribution, RegisteredContributionMetadata {
1094
- }
1095
-
1096
- declare type RegisteredSettingsPanel = SettingsPanelContribution & RegisteredContributionMetadata;
1097
-
1098
- declare type RegisteredSettingsSection = SettingsSectionContribution & RegisteredContributionMetadata;
1099
-
1100
- declare interface RegisteredTreeRendererContribution extends TreeRendererContribution, RegisteredContributionMetadata {
1101
- }
1102
-
1103
- declare type RegisteredWidgetContribution = Omit<WidgetContribution, "priority" | "singleton" | "reuse"> & {
1104
- ownedPanelMenuIds?: readonly string[];
1105
- singleton: boolean;
1106
- reuse: WidgetReusePolicy;
1107
- } & RegisteredContributionMetadata;
1108
-
1109
- declare interface RegisteredWorkbenchNotification extends RegisteredContributionMetadata {
1110
- id: string;
1111
- level: WorkbenchNotificationLevel;
1112
- title: string;
1113
- message?: string;
1114
- createdAt: string;
1115
- resource?: ResourceRef;
1116
- actions?: WorkbenchNotificationAction[];
1117
- metadata?: Record<string, unknown>;
1118
- }
1119
-
1120
- declare type RegisteredWorkbenchStatusSet = WorkbenchStatusSetContribution & RegisteredContributionMetadata;
1121
-
1122
- export declare type RegisteredWorkbenchView = WorkbenchViewContribution & RegisteredContributionMetadata;
1123
-
1124
- export declare const resolveAnchorRegion: (anchorId: AnchorId) => "status" | "main" | "nav" | "activity" | "sidenav" | "main-header" | "main-left-menu" | "main-right-menu" | "secondary-header" | "secondary-left-menu" | "secondary" | "secondary-right-menu" | "side-header" | "side-left-menu" | "side" | "side-right-menu" | "overlay";
1125
-
1126
- declare interface ResolvedOwnedPlacement<Value = unknown> {
1127
- identity: PlacementIdentity;
1128
- region: WorkbenchRegion;
1129
- order: number;
1130
- value: Value;
1131
- }
1132
-
1133
- declare type ResolvedResourceHierarchyProvider = Required<ResourceHierarchyProvider>;
1134
-
1135
- export declare interface ResourceBrowseEntry {
1136
- resource: ResourceRef;
1137
- searchText?: string;
1138
- description?: string;
1139
- group?: string;
1140
- order?: number;
1141
- activate?: (resource: ResourceRef) => unknown | Promise<unknown>;
1142
- }
1143
-
1144
- /** Row-level context menu action surfaced by the renderer. */
1145
- export declare interface ResourceContextAction<TNode = unknown> {
1146
- key: string;
1147
- label: string;
1148
- onClick: () => Promise<void> | void;
1149
- isDisabled?: boolean;
1150
- icon?: TNode;
1151
- endContent?: TNode;
1152
- separatorBefore?: boolean;
1153
- }
1154
-
1155
- export declare const resourceContextMenuPath: (resourceKind: string) => MenuPath;
1156
-
1157
- export declare interface ResourceHierarchyCycle {
1158
- code: typeof resourceHierarchyCycleCode;
1159
- path: WorkbenchHierarchyNode[];
1160
- repeatedUri: string;
1161
- }
1162
-
1163
- export declare const resourceHierarchyCycleCode = "resource_hierarchy_cycle";
1164
-
1165
- export declare interface ResourceHierarchyProvider {
1166
- id: string;
1167
- priority?: number;
1168
- canResolve(resource: ResourceRef): boolean;
1169
- getParent(resource: ResourceRef): WorkbenchHierarchyNode | undefined;
1170
- }
1171
-
1172
- export declare interface ResourceKindContribution {
1173
- kind: string;
1174
- label: string;
1175
- icon?: string;
1176
- }
1177
-
1178
- export declare interface ResourceListContext {
1179
- primary?: ResourceRef;
1180
- }
1181
-
1182
- export declare interface ResourceProvider {
1183
- id: string;
1184
- kind: string;
1185
- list(query: string, context: ResourceListContext): readonly ResourceBrowseEntry[];
1186
- }
1187
-
1188
- export { ResourceRef }
1189
-
1190
- export declare interface ResourceRegistry {
1191
- removed(resource: ResourceRef): void;
1192
- onWillRemove(listener: (resource: ResourceRef) => readonly PlacementIdentity[]): Disposable_2;
1193
- store: WorkbenchStore<ResourceRegistryStoreState>;
1194
- registerKind(kind: ResourceKindContribution, metadata?: ContributionMetadata): Disposable_2;
1195
- getKind(kind: string): RegisteredResourceKind | undefined;
1196
- listKinds(): RegisteredResourceKind[];
1197
- registerProvider(provider: ResourceProvider): Disposable_2;
1198
- listProviders(): ResourceProvider[];
1199
- listResources(query: string): readonly ResourceBrowseEntry[];
1200
- registerHierarchyProvider(provider: ResourceHierarchyProvider): Disposable_2;
1201
- listHierarchyProviders(): ResolvedResourceHierarchyProvider[];
1202
- walkHierarchy(resource: ResourceRef | undefined): WorkbenchHierarchyNode[];
1203
- onDidDetectHierarchyCycle(listener: (cycle: ResourceHierarchyCycle) => void): Disposable_2;
1204
- }
1205
-
1206
- declare interface ResourceRegistryStoreState {
1207
- kinds: Record<string, RegisteredResourceKind>;
1208
- providers: Record<string, ResourceProvider>;
1209
- hierarchyProviders: Record<string, ResolvedResourceHierarchyProvider>;
1210
- }
1211
-
1212
- /** Auto-rendered as a param editor from the registered preference schema. */
1213
- export declare interface SchemaSettingsPanel extends SettingsPanelBase {
1214
- kind: "schema";
1215
- preferences: SettingsPanelPreference[];
1216
- /** "live" persists on change (default); "apply" stages edits behind Save/Discard. */
1217
- save?: "live" | "apply";
1218
- }
1219
-
1220
- /** A "+ create"-style action surfaced on a section or a collection's parent node. */
1221
- export declare interface SettingsAction {
1222
- id: string;
1223
- label: string;
1224
- icon?: string;
1225
- run(): void | Promise<void>;
1226
- }
1227
-
1228
- export declare interface SettingsCollectionGroupBy<TItem> {
1229
- key(item: TItem): string;
1230
- order?: string[];
1231
- label(key: string): string;
1232
- icon?(key: string): string | undefined;
1233
- }
1234
-
1235
- export declare interface SettingsPanelBase {
1236
- id: string;
1237
- title: string;
1238
- description?: string;
1239
- /** Section id this panel belongs to. */
1240
- section?: string;
1241
- icon?: string;
1242
- /** Lower sorts first; ties fall back to contribution priority then registration order. */
1243
- order?: number;
1244
- scope?: SettingsScope;
1245
- when?: string;
1246
- }
1247
-
1248
- export declare type SettingsPanelContribution = SchemaSettingsPanel | ViewSettingsPanel | CollectionSettingsPanel;
1249
-
1250
- /** A preference this panel edits; a bare string uses the preference name as its label. */
1251
- export declare type SettingsPanelPreference = string | {
1252
- name: string;
1253
- label?: string;
1254
- };
1255
-
1256
- export declare interface SettingsRegistry {
1257
- store: WorkbenchStore<SettingsRegistryStoreState>;
1258
- registerSection(section: SettingsSectionContribution, metadata?: ContributionMetadata): Disposable_2;
1259
- registerPanel<TItem = unknown>(panel: SchemaSettingsPanel | ViewSettingsPanel | CollectionSettingsPanel<TItem>, metadata?: ContributionMetadata): Disposable_2;
1260
- getSection(id: string): RegisteredSettingsSection | undefined;
1261
- getPanel(id: string): RegisteredSettingsPanel | undefined;
1262
- listSections(): RegisteredSettingsSection[];
1263
- listPanels(): RegisteredSettingsPanel[];
1264
- resolveCollectionItem(panelId: string, itemId: string): Promise<unknown | undefined>;
1265
- getCollectionItem(panelId: string, itemId: string): unknown | undefined;
1266
- /** Signal that a collection's backing data changed so the surface refreshes. */
1267
- refresh(): void;
1268
- }
1269
-
1270
- declare interface SettingsRegistryStoreState {
1271
- sections: Record<string, RegisteredSettingsSection>;
1272
- panels: Record<string, RegisteredSettingsPanel>;
1273
- /** Bumped by refresh() so the surface re-reads collection items() after backing data changes. */
1274
- revision: number;
1275
- }
1276
-
1277
- /** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
1278
- export declare type SettingsScope = "global" | "project";
1279
-
1280
- /** An ordered sidenav container. Headerless when `title` is omitted. */
1281
- export declare interface SettingsSectionContribution {
1282
- id: string;
1283
- title?: string;
1284
- order?: number;
1285
- scope?: SettingsScope;
1286
- actions?: SettingsAction[];
1287
- }
1288
-
1289
- /** Core-only panel ref for host-owned shell placements. Extensions cannot address them. */
1290
- declare interface ShellPlacementRef {
1291
- kind: "shell-placement";
1292
- id: string;
1293
- }
1294
-
1295
- export declare type SortDirection = "asc" | "desc";
1296
-
1297
- export declare type StandardResourceIcon = (typeof standardResourceIcons)[keyof typeof standardResourceIcons];
1298
-
1299
- export declare const standardResourceIcons: {
1300
- readonly project: "folder-root";
1301
- readonly workspace: "computer";
1302
- readonly worktree: "git-pull-request-draft";
1303
- readonly settings: "settings";
1304
- readonly kanbanRenderer: "table-properties";
1305
- };
1306
-
1307
- /**
1308
- * Core-owned contract for theme registrations. Structurally identical to
1309
- * @pstdio/ui's ThemePreferenceOption; the React layer bridges the two so core
1310
- * does not depend on UI package ownership.
1311
- */
1312
- export declare type ThemePreference = string;
1313
-
1314
- export declare type ThemePreferenceMode = "light" | "dark";
1315
-
1316
- export declare interface ThemePreferenceOption {
1317
- id: ThemePreference;
1318
- title?: string;
1319
- mode: ThemePreferenceMode;
1320
- tokens?: ThemePreferenceTokens;
1321
- monacoTheme?: unknown;
1322
- }
1323
-
1324
- export declare type ThemePreferenceTokens = Record<string, string>;
1325
-
1326
- export declare interface ThemeRegistry {
1327
- store: WorkbenchStore<WorkbenchThemeStoreState>;
1328
- register(themes: readonly ThemePreferenceOption[]): Disposable_2;
1329
- listThemes(): readonly ThemePreferenceOption[];
1330
- }
1331
-
1332
- export declare interface TreeAction {
1333
- id: string;
1334
- label?: string;
1335
- icon?: string;
1336
- commandId?: string;
1337
- args?: unknown;
1338
- params?: CommandParamSchema;
1339
- submitLabel?: string;
1340
- when?: string;
1341
- disabled?: boolean;
1342
- run?(args?: unknown): Promise<void> | void;
1343
- }
1344
-
1345
- export declare interface TreeContext extends TreeQueryContext {
1346
- state: Readonly<TreeRendererState>;
1347
- refresh(): void;
1348
- setSelectedNode(nodeId: string | undefined): void;
1349
- }
1350
-
1351
- export declare interface TreeMoveEndpoint {
1352
- kind: "section" | "node";
1353
- sectionId: string;
1354
- id: string;
1355
- moveScope?: string;
1356
- }
1357
-
1358
- export declare type TreeMovePolicy = (move: {
1359
- source: TreeMoveEndpoint;
1360
- destination: TreeMoveEndpoint;
1361
- }) => boolean;
1362
-
1363
- export declare interface TreeNode {
1364
- id: string;
1365
- selected?: boolean;
1366
- /** Host-owned customization boundary. Extension callbacks cannot set it. */
1367
- moveScope?: string;
1368
- label: string;
1369
- icon?: string;
1370
- iconElement?: unknown;
1371
- iconColor?: string;
1372
- iconTooltip?: string;
1373
- endContent?: unknown;
1374
- commandId?: string;
1375
- resource?: ResourceRef;
1376
- target?: NavigationTarget;
1377
- /** Visual row variant for non-data rows such as placeholders. */
1378
- rowVariant?: TreeNodeRowVariant;
1379
- inlineInput?: TreeNodeInlineInput;
1380
- actions?: TreeAction[];
1381
- contextMenuActions?: TreeAction[];
1382
- contextMenuPath?: MenuPath;
1383
- menuPath?: MenuPath;
1384
- menuPlacement?: "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "left-start";
1385
- showContextMenuTrigger?: boolean;
1386
- collapsible?: boolean;
1387
- disabled?: boolean;
1388
- children?: TreeNode[];
1389
- description?: string;
1390
- contextValue?: string;
1391
- hiddenByDefault?: boolean;
1392
- /** When true, the node (e.g. a header/footer row) opts in to the tree's hide/show customization menu. */
1393
- canHide?: boolean;
1394
- /** When false, the node stays fixed within its Sidenav group. */
1395
- canReorder?: boolean;
1396
- /** Allow this node to be moved to another tree location. */
1397
- canDrag?: boolean;
1398
- /** Allow movable nodes to be dropped on this node. */
1399
- canDrop?: boolean;
1400
- }
1401
-
1402
- export declare interface TreeNodeInlineInput {
1403
- ariaLabel: string;
1404
- defaultValue?: string;
1405
- placeholder?: string;
1406
- onCommit(value: string): Promise<void> | void;
1407
- onCancel?(): void;
1408
- }
1409
-
1410
- declare type TreeNodeRowVariant = "empty-state";
1411
-
1412
- declare interface TreeQueryContext {
1413
- filter?: string;
1414
- resource?: ResourceRef;
1415
- /** Widget/view contribution id for trees rendered through a view-backed widget. */
1416
- viewId?: string;
1417
- }
1418
-
1419
- export declare interface TreeRendererContribution {
1420
- id: string;
1421
- title: string;
1422
- icon?: string;
1423
- searchable?: boolean;
1424
- searchPlaceholder?: string;
1425
- when?: string;
1426
- defaultExpandedSectionIds?: string[];
1427
- defaultExpandedNodeIds?: string[];
1428
- getBody(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
1429
- getHeader?(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
1430
- getFooter?(ctx: TreeContext): Promise<TreeViewSection[]> | TreeViewSection[];
1431
- getChildren(node: TreeNode, ctx: TreeContext): Promise<TreeNode[]> | TreeNode[];
1432
- canMove?: TreeMovePolicy;
1433
- moveNode?(source: TreeNode, target: TreeNode | undefined, ctx: TreeContext): Promise<void> | void;
1434
- }
1435
-
1436
- declare type TreeRendererImplementation = (input: WorkbenchPanelRenderInput & {
1437
- treeId: string;
1438
- }) => unknown;
1439
-
1440
- declare interface TreeRendererPersistenceAdapter {
1441
- getTreeStates(): PersistedTreeRendererStates | undefined;
1442
- setTreeStates(states: PersistedTreeRendererStates): void;
1443
- }
1444
-
1445
- declare interface TreeRendererRefreshEvent {
1446
- treeId: string;
1447
- }
1448
-
1449
- declare type TreeRendererRefreshListener = (event: TreeRendererRefreshEvent) => void;
1450
-
1451
- declare interface TreeRendererRegistry {
1452
- treeStore: WorkbenchStore<TreeRendererStoreState>;
1453
- registerTreeRenderer(view: TreeRendererContribution, metadata?: ContributionMetadata): Disposable_2;
1454
- setTreeRendererImplementation(impl: TreeRendererImplementation): void;
1455
- getTreeRenderer(id: string): RegisteredTreeRendererContribution | undefined;
1456
- listTreeRenderers(): RegisteredTreeRendererContribution[];
1457
- getBody(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
1458
- getHeader(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
1459
- getFooter(id: string, ctx?: TreeQueryContext): Promise<TreeViewSection[]>;
1460
- getChildren(id: string, node: TreeNode, ctx?: TreeQueryContext): Promise<TreeNode[]>;
1461
- getTreeState(id: string): TreeRendererState;
1462
- setNodeExpanded(id: string, nodeId: string, expanded: boolean): void;
1463
- setSectionExpanded(id: string, sectionId: string, expanded: boolean): void;
1464
- setSelectedNode(id: string, nodeId: string | undefined): void;
1465
- setLoading(id: string, loading: boolean): void;
1466
- refresh(id: string): void;
1467
- onDidRefresh(listener: TreeRendererRefreshListener): Disposable_2;
1468
- }
1469
-
1470
- export declare interface TreeRendererState {
1471
- expandedNodeIds: string[];
1472
- expandedSectionIds: string[];
1473
- selectedNodeId?: string;
1474
- loading?: boolean;
1475
- }
1476
-
1477
- declare interface TreeRendererStoreState {
1478
- trees: Record<string, RegisteredTreeRendererContribution>;
1479
- statesByTreeId: Record<string, TreeRendererState>;
1480
- refreshKeysByTreeId: Record<string, number>;
1481
- }
1482
-
1483
- declare interface TreeSectionEmptyState {
1484
- title: string;
1485
- description?: string;
1486
- icon?: string;
1487
- }
1488
-
1489
- export declare interface TreeViewSection {
1490
- id: string;
1491
- /** Host-owned customization boundary. Extension callbacks cannot set it. */
1492
- moveScope?: string;
1493
- label?: string;
1494
- actions?: TreeAction[];
1495
- collapsible?: boolean;
1496
- emptyState?: TreeSectionEmptyState;
1497
- nodes: TreeNode[];
1498
- hiddenByDefault?: boolean;
1499
- /** When true, the section (category) opts in to the tree's hide/show customization menu. */
1500
- canHide?: boolean;
1501
- /** When false, the section stays fixed within the Sidenav main region. */
1502
- canReorder?: boolean;
1503
- }
1504
-
1505
- /**
1506
- * Core-owned contracts for kanban renderer contributions. @pstdio/ui's
1507
- * KanbanRenderer props are structurally identical; the React layer bridges the
1508
- * two, so drift surfaces as a compile error there instead of coupling core's
1509
- * API shape to UI package ownership.
1510
- */
1511
- export declare type ViewMode = "board" | "list";
1512
-
1513
- export declare interface ViewSettingsPanel extends SettingsPanelBase {
1514
- kind: "view";
1515
- viewId: string;
1516
- }
1517
-
1518
- declare interface WidgetContribution {
1519
- id: string;
1520
- title: string;
1521
- icon?: string;
1522
- region: WorkbenchRegion;
1523
- fallbackRegion?: WorkbenchRegion;
1524
- singleton?: boolean;
1525
- reuse?: WidgetReusePolicy;
1526
- mountStrategy?: WidgetMountStrategy;
1527
- closable?: boolean;
1528
- hiddenByDefault?: boolean;
1529
- regionSize?: WorkbenchRegionSize;
1530
- regionCollapsible?: boolean;
1531
- headerBorderBottom?: boolean;
1532
- resourceKinds?: string[];
1533
- priority?: number;
1534
- rendererId: string;
1535
- openCommand?: WorkbenchCommandTarget;
1536
- eligibleLocations?: WorkbenchLocationEligibility;
1537
- panelMenuOwner?: WorkbenchPanelMenuOwner;
1538
- tab?: WorkbenchWidgetTab;
1539
- config?: unknown;
1540
- canOpen?(resource: ResourceRef): boolean;
1541
- }
1542
-
1543
- declare type WidgetMountStrategy = "active" | "keep-mounted";
1544
-
1545
- declare type WidgetReusePolicy = "resource" | "none";
1546
-
1547
- declare type WorkbenchBreadcrumbChangeListener = () => void;
1548
-
1549
- export declare interface WorkbenchBreadcrumbController {
1550
- store: WorkbenchStore<WorkbenchBreadcrumbState>;
1551
- setItems(items: WorkbenchBreadcrumbItem[]): Disposable_2;
1552
- clearItems(): void;
1553
- getItems(): WorkbenchBreadcrumbItem[] | undefined;
1554
- onDidChange(listener: WorkbenchBreadcrumbChangeListener): Disposable_2;
1555
- }
1556
-
1557
- export declare interface WorkbenchBreadcrumbItem {
1558
- title: unknown;
1559
- icon?: string;
1560
- indicator?: "session-status";
1561
- url?: string;
1562
- onClick?: () => void;
1563
- resource?: ResourceRef;
1564
- }
1565
-
1566
- declare interface WorkbenchBreadcrumbState {
1567
- items: WorkbenchBreadcrumbItem[] | undefined;
1568
- }
1569
-
1570
- export declare interface WorkbenchCommandExecutionContext {
1571
- resource?: ResourceRef;
1572
- source?: "panel-add";
1573
- }
1574
-
1575
- export declare interface WorkbenchCommandExecutionError {
1576
- commandId: string;
1577
- args: unknown;
1578
- error: unknown;
1579
- }
1580
-
1581
- declare type WorkbenchCommandExecutionErrorListener = (event: WorkbenchCommandExecutionError) => void;
1582
-
1583
- declare type WorkbenchCommandPaletteChangeListener = (open: boolean) => void;
1584
-
1585
- export declare interface WorkbenchCommandPaletteController {
1586
- store: WorkbenchStore<WorkbenchCommandPaletteState>;
1587
- isOpen(): boolean;
1588
- getView(): WorkbenchCommandPaletteView;
1589
- getInitialQuery(): string;
1590
- getParamsRequest(): WorkbenchCommandParamsRequest | null;
1591
- open(input?: WorkbenchCommandPaletteOpenInput): void;
1592
- close(): void;
1593
- toggle(): void;
1594
- requestParams(request: WorkbenchCommandParamsRequest): void;
1595
- clearParams(): void;
1596
- onDidChange(listener: WorkbenchCommandPaletteChangeListener): Disposable_2;
1597
- }
1598
-
1599
- export declare const workbenchCommandPaletteMenuPath: readonly ["workbench", "commandPalette"];
1600
-
1601
- export declare interface WorkbenchCommandPaletteOpenInput {
1602
- view?: WorkbenchCommandPaletteView;
1603
- initialQuery?: string;
1604
- }
1605
-
1606
- declare interface WorkbenchCommandPaletteState {
1607
- open: boolean;
1608
- view: WorkbenchCommandPaletteView;
1609
- initialQuery: string;
1610
- paramsRequest: WorkbenchCommandParamsRequest | null;
1611
- }
1612
-
1613
- declare type WorkbenchCommandPaletteView = "main" | "theme";
1614
-
1615
- declare interface WorkbenchCommandParamsRequest {
1616
- record: {
1617
- command: {
1618
- id: string;
1619
- label: string;
1620
- params?: CommandParamSchema;
1621
- };
1622
- };
1623
- label: string;
1624
- args?: unknown;
1625
- context?: WorkbenchCommandExecutionContext;
1626
- }
1627
-
1628
- export declare interface WorkbenchCommandTarget {
1629
- commandId: string;
1630
- args?: unknown;
1631
- }
1632
-
1633
- declare interface WorkbenchCompositionAddablePanel extends WorkbenchModeAddablePanel {
1634
- contribution: RegisteredWidgetContribution;
1635
- open?(resource?: ResourceRef): void;
1636
- }
1637
-
1638
- declare interface WorkbenchCompositionController {
1639
- panelsFor(region: WorkbenchPanelRegion): WorkbenchCompositionRegionPanels;
1640
- }
1641
-
1642
- declare interface WorkbenchCompositionRegionPanels {
1643
- open: readonly WorkbenchWidgetPlacement[];
1644
- addable: readonly WorkbenchCompositionAddablePanel[];
1645
- closable: readonly string[];
1646
- }
1647
-
1648
- export declare interface WorkbenchCore extends WorkbenchCoreContributionContext {
1649
- host: WorkbenchHost;
1650
- layout: WorkbenchLayoutModel;
1651
- registerModule(module: WorkbenchModuleContribution): Disposable_2;
1652
- unregisterModule(moduleId: string): void;
1653
- }
1654
-
1655
- declare interface WorkbenchCoreContributionContext {
1656
- pinPlacement(identity: PlacementIdentity): void;
1657
- closePlacement(identity: PlacementIdentity): void;
1658
- breadcrumbs: WorkbenchBreadcrumbController;
1659
- commandPalette: WorkbenchCommandPaletteController;
1660
- commandPaletteResources: CommandPaletteResourceRegistry;
1661
- commands: CommandRegistry;
1662
- composition: WorkbenchCompositionController;
1663
- context: ContextKeyService;
1664
- focus: WorkbenchFocusController;
1665
- keybindings: KeybindingRegistry;
1666
- layout: WorkbenchModuleLayoutModel;
1667
- modes: WorkbenchModeRegistry;
1668
- modePlacements: WorkbenchModePlacementRegistry;
1669
- shellPlacements: WorkbenchShellPlacementRegistry;
1670
- navigation: NavigationRegistry;
1671
- navigationTrees: NavigationTreeRegistry;
1672
- notifications: NotificationRegistry;
1673
- overlays: WorkbenchOverlayRegistry;
1674
- placeholders: WorkbenchPlaceholderRegistry;
1675
- pageLocations: WorkbenchPageLocationController;
1676
- pages: WorkbenchPageRegistry<WorkbenchWidgetPlacement>;
1677
- panelMenuState: WorkbenchPanelMenuStateController;
1678
- preferences: PreferenceRegistry;
1679
- treeViews: WorkbenchTreeViews;
1680
- resources: ResourceRegistry;
1681
- views: WorkbenchViewRegistry;
1682
- viewMenus: WorkbenchViewMenuRegistry;
1683
- settings: SettingsRegistry;
1684
- statusBar: WorkbenchStatusBarRegistry;
1685
- statuses: WorkbenchStatusRegistry;
1686
- shell: WorkbenchShellController;
1687
- sidePanel: WorkbenchSidePanelController;
1688
- terminal: WorkbenchTerminalController;
1689
- themes: ThemeRegistry;
1690
- fileIconThemes: FileIconThemeRegistry;
1691
- getPrimaryResource(): ResourceRef | undefined;
1692
- onDidChangePrimaryResource(listener: (resource: ResourceRef | undefined) => void): Disposable_2;
1693
- getActiveResource(): ResourceRef | undefined;
1694
- onDidChangeActiveResource(listener: (resource: ResourceRef | undefined) => void): Disposable_2;
1695
- registerChildModule(module: WorkbenchModuleContribution): Disposable_2;
1696
- }
1697
-
1698
- declare interface WorkbenchFileIconThemeStoreState {
1699
- themes: readonly FileIconThemePreferenceOption[];
1700
- }
1701
-
1702
- declare type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
1703
-
1704
- export declare interface WorkbenchFocusController {
1705
- store: WorkbenchStore<WorkbenchFocusState>;
1706
- setActiveRegion(region: WorkbenchFocusRegionId): void;
1707
- clearFocus(): void;
1708
- getActiveRegion(): WorkbenchFocusRegionId | undefined;
1709
- onDidChange(listener: WorkbenchFocusChangeListener): Disposable_2;
1710
- }
1711
-
1712
- export declare type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
1713
-
1714
- declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
1715
-
1716
- declare interface WorkbenchFocusState {
1717
- activeRegion: WorkbenchFocusRegionId | undefined;
1718
- }
1719
-
1720
- export declare type WorkbenchHierarchyNode = ResourceRef | WorkbenchViewHierarchyNode;
1721
-
1722
- export declare interface WorkbenchHost {
1723
- getSnapshot(): WorkbenchSnapshot;
1724
- restoreSnapshot(snapshot: WorkbenchSnapshot): void;
1725
- setPersistenceScope(scope: string | undefined, input?: {
1726
- carryRegions?: readonly WorkbenchRegion[];
1727
- }): void;
1728
- getPersistenceScope(): string | undefined;
1729
- }
1730
-
1731
- export declare interface WorkbenchLayout {
1732
- regions: Record<WorkbenchRegion, WorkbenchRegionState>;
1733
- locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
1734
- activeWidgetId?: string;
1735
- activeLocationWidgetId?: string;
1736
- activeResourceKey?: string;
1737
- }
1738
-
1739
- declare type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
1740
-
1741
- declare interface WorkbenchLayoutStoreState {
1742
- layout: WorkbenchLayout;
1743
- widgets: Record<string, RegisteredWidgetContribution>;
1744
- placeholders: Partial<Record<WorkbenchRegion, RegisteredPlaceholderContribution>>;
1745
- }
1746
-
1747
- declare interface WorkbenchLocationEligibility {
1748
- modeIds?: string[];
1749
- resourceKinds?: string[];
1750
- resourceIds?: string[];
1751
- canOpen?(resource: ResourceRef): boolean;
1752
- canOpenLocation?(location: {
1753
- resource?: ResourceRef;
1754
- viewId?: string;
1755
- }): boolean;
1756
- }
1757
-
1758
- export declare type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
1759
-
1760
- export declare type WorkbenchModeActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
1761
-
1762
- export declare interface WorkbenchModeAddablePanel {
1763
- panelId: string;
1764
- region: WorkbenchPanelRegion;
1765
- allowedRegions?: readonly WorkbenchRegion[];
1766
- pinned?: boolean;
1767
- }
1768
-
1769
- export declare interface WorkbenchModeAddablePanelContext {
1770
- layout: WorkbenchLayout;
1771
- resource?: ResourceRef;
1772
- }
1773
-
1774
- declare type WorkbenchModeChangeListener = () => void;
1775
-
1776
- export declare interface WorkbenchModeContribution {
1777
- id: string;
1778
- label?: string;
1779
- defaultTheme?: string;
1780
- floatingPanels?: "visible" | "hidden";
1781
- chrome?: Partial<Record<"nav" | "sidenav" | "activity" | "status", string | false>>;
1782
- panels?: readonly WorkbenchPanelRegion[];
1783
- /** Region-level layout policy while this mode is active. */
1784
- regionSettings?: Partial<Record<WorkbenchRegion, WorkbenchRegionSettings>>;
1785
- resourceKinds?: readonly string[];
1786
- defaultResource?: ResourceRef | (() => Promise<ResourceRef | undefined> | ResourceRef | undefined);
1787
- listAddablePanels?(context: WorkbenchModeAddablePanelContext): readonly WorkbenchModeAddablePanel[];
1788
- activate(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
1789
- seed?(ctx: WorkbenchModeActivationContext): void;
1790
- enter?(ctx: WorkbenchModeActivationContext): WorkbenchModeActivationResult;
1791
- reconcile?(ctx: WorkbenchModeActivationContext): void;
1792
- }
1793
-
1794
- export declare interface WorkbenchModePlacementContribution extends WorkbenchPlacementPresentation {
1795
- readonly id: string;
1796
- readonly ref: PlacementRef;
1797
- readonly modeId: string;
1798
- readonly item: WorkbenchOwnedPlacementItem;
1799
- readonly region: DockedWorkbenchRegion;
1800
- readonly order?: number;
1801
- readonly movableTo?: readonly DockedWorkbenchRegion[];
1802
- }
1803
-
1804
- export declare interface WorkbenchModePlacementRegistry {
1805
- registerPlacement(placement: WorkbenchModePlacementContribution): Disposable_2;
1806
- getPlacement(ref: PlacementRef): WorkbenchModePlacementContribution | undefined;
1807
- listPlacements(modeId?: string): WorkbenchModePlacementContribution[];
1808
- openPlacement(input: OpenModePlacementTarget): PlacementIdentity;
1809
- updatePlacement(identity: PlacementIdentity, input: {
1810
- resource?: ResourceRef;
1811
- title?: string;
1812
- open?: PageOpenIntent;
1813
- }): void;
1814
- closePlacement(identity: PlacementIdentity): void;
1815
- resolvePlacements(modeId: string, context?: OwnedPlacementLocationContext): readonly ResolvedOwnedPlacement<WorkbenchWidgetPlacement>[];
1816
- onDidChange(listener: () => void): Disposable_2;
1817
- }
1818
-
1819
- export declare interface WorkbenchModeRegistry {
1820
- store: WorkbenchStore<WorkbenchModeStoreState>;
1821
- dispose(): void;
1822
- registerMode(mode: WorkbenchModeContribution): Disposable_2;
1823
- getMode(id: string): WorkbenchModeContribution | undefined;
1824
- listModes(): WorkbenchModeContribution[];
1825
- getActiveModeId(): string | undefined;
1826
- isTransitioning(): boolean;
1827
- setActiveMode(id: string | undefined, input?: {
1828
- deferSeed?: boolean;
1829
- }): void;
1830
- seedActiveMode(): void;
1831
- onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable_2;
1832
- }
1833
-
1834
- declare interface WorkbenchModeStoreState {
1835
- modes: Record<string, WorkbenchModeContribution>;
1836
- activeModeId: string | undefined;
1837
- }
1838
-
1839
- declare type WorkbenchModuleActivationResult = Disposable_2 | readonly Disposable_2[] | undefined;
1840
-
1841
- export declare type WorkbenchModuleContext = WorkbenchCoreContributionContext;
1842
-
1843
- export declare interface WorkbenchModuleContribution {
1844
- id: string;
1845
- source?: ContributionSource;
1846
- ownerId?: string;
1847
- activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
1848
- }
1849
-
1850
- export declare type WorkbenchModuleContributionContext = WorkbenchModuleContext;
1851
-
1852
- declare type WorkbenchModuleLayoutModel = Omit<WorkbenchLayoutModel, "registerPanel" | "registerWidget" | "openPanel" | "openWidget" | "registerPlaceholder" | "registerPanelMenu">;
1853
-
1854
- export declare interface WorkbenchNotification {
1855
- id?: string;
1856
- level: WorkbenchNotificationLevel;
1857
- title: string;
1858
- message?: string;
1859
- createdAt?: string;
1860
- resource?: ResourceRef;
1861
- actions?: WorkbenchNotificationAction[];
1862
- metadata?: Record<string, unknown>;
1863
- }
1864
-
1865
- export declare interface WorkbenchNotificationAction {
1866
- commandId: string;
1867
- title: string;
1868
- args?: unknown;
1869
- }
1870
-
1871
- export declare type WorkbenchNotificationEvent = {
1872
- type: "show";
1873
- id: string;
1874
- notification: RegisteredWorkbenchNotification;
1875
- } | {
1876
- type: "dismiss";
1877
- id: string;
1878
- };
1879
-
1880
- export declare type WorkbenchNotificationLevel = "info" | "success" | "warning" | "error";
1881
-
1882
- declare type WorkbenchNotificationListener = (event: WorkbenchNotificationEvent) => void;
1883
-
1884
- declare interface WorkbenchNotificationStoreState {
1885
- notifications: Record<string, RegisteredWorkbenchNotification>;
1886
- }
1887
-
1888
- export declare interface WorkbenchOverlayContribution extends Omit<WorkbenchPlacementPresentation, "mountStrategy"> {
1889
- id: string;
1890
- viewId: string;
1891
- closable?: boolean;
1892
- }
1893
-
1894
- export declare interface WorkbenchOverlayRegistry {
1895
- registerOverlay(overlay: WorkbenchOverlayContribution): Disposable_2;
1896
- getOverlay(id: string): WorkbenchOverlayContribution | undefined;
1897
- listOverlays(): WorkbenchOverlayContribution[];
1898
- openOverlay(id: string, input?: OpenWorkbenchOverlayInput): string;
1899
- closeOverlay(instanceId: string): void;
1900
- }
1901
-
1902
- declare type WorkbenchOwnedPlacementItem = PlacementItem;
1903
-
1904
- export declare interface WorkbenchPageBrowserEntry {
1905
- url: string;
1906
- state?: unknown;
1907
- }
1908
-
1909
- declare interface WorkbenchPageContribution {
1910
- id: string;
1911
- ref: PageRef;
1912
- title?: Localizable<string>;
1913
- icon?: string;
1914
- path: string;
1915
- modeId: string;
1916
- parentId?: string;
1917
- resource?: ResourceConstraint;
1918
- main: WorkbenchPageMain;
1919
- slots: readonly WorkbenchPageSlot[];
1920
- }
1921
-
1922
- export declare interface WorkbenchPageLocationBrowser {
1923
- current(): WorkbenchPageBrowserEntry;
1924
- push(entry: WorkbenchPageBrowserEntry): void;
1925
- replace(entry: WorkbenchPageBrowserEntry): void;
1926
- back(): void;
1927
- forward(): void;
1928
- onPopState(listener: (entry: WorkbenchPageBrowserEntry) => void): {
1929
- dispose(): void;
1930
- };
1931
- }
1932
-
1933
- export declare interface WorkbenchPageLocationController {
1934
- historyStore: WorkbenchStore<WorkbenchPageLocationHistoryState>;
1935
- setProject(projectId: string): void;
1936
- clearProject(): void;
1937
- isCurrentProjectUrl(projectId: string): boolean;
1938
- hasCurrentPageUrl(projectId: string): boolean;
1939
- boot(projectId: string): WorkbenchPageNavigationResult;
1940
- switchProject(projectId: string): WorkbenchPageNavigationResult;
1941
- navigate(target: NavigationTargetPage_2): WorkbenchPageNavigationResult;
1942
- replay(location: PageLocation): WorkbenchPageNavigationResult;
1943
- navigateToParent(): WorkbenchPageNavigationResult;
1944
- closePlacement(identity: PlacementIdentity): WorkbenchPageNavigationResult;
1945
- removeResource(resource: ResourceRef, retained: readonly PlacementIdentity[]): void;
1946
- goBack(): void;
1947
- goForward(): void;
1948
- dispose(): void;
1949
- }
1950
-
1951
- export declare interface WorkbenchPageLocationDiagnostic {
1952
- code: "page-location-unresolved";
1953
- source: "boot" | "history" | "navigation" | "project-switch";
1954
- message: string;
1955
- }
1956
-
1957
- declare interface WorkbenchPageLocationHistoryState {
1958
- canGoBack: boolean;
1959
- canGoForward: boolean;
1960
- }
1961
-
1962
- export declare interface WorkbenchPageLocationPersistence {
1963
- load(projectId: string): PageLocation | undefined;
1964
- save(projectId: string, location: PageLocation): void;
1965
- }
1966
-
1967
- declare type WorkbenchPageMain = PageMain extends infer Main ? Main extends PageMain ? Omit<Main, "tab"> & {
1968
- readonly tab?: WorkbenchPlacementPresentation["tab"];
1969
- } : never : never;
1970
-
1971
- export declare type WorkbenchPageNavigationResult = {
1972
- ok: true;
1973
- location: PageLocation;
1974
- } | {
1975
- ok: false;
1976
- diagnostic: WorkbenchPageLocationDiagnostic;
1977
- };
1978
-
1979
- export declare interface WorkbenchPagePersistenceScope {
1980
- scope?: string;
1981
- carryRegions?: readonly WorkbenchRegion[];
1982
- }
1983
-
1984
- export declare interface WorkbenchPagePersistenceScopeInput {
1985
- currentScope?: string;
1986
- modeId?: string;
1987
- pageId?: string;
1988
- projectId?: string;
1989
- resource?: ResourceRef;
1990
- }
1991
-
1992
- declare interface WorkbenchPageRegistry<Value> {
1993
- store: WorkbenchStore<WorkbenchPageRegistryStoreState<Value>>;
1994
- registerPage(page: WorkbenchPageContribution): {
1995
- dispose(): void;
1996
- };
1997
- getPage(pageId: string): WorkbenchPageContribution | undefined;
1998
- listPages(): WorkbenchPageContribution[];
1999
- pinPlacement(identity: PlacementIdentity): void;
2000
- openSlot(input: WorkbenchPageSlotOpenInput): void;
2001
- }
2002
-
2003
- declare interface WorkbenchPageRegistryStoreState<Value> {
2004
- pages: Readonly<Record<string, WorkbenchPageContribution>>;
2005
- pageStates: Readonly<Record<string, WorkbenchPageRuntimeState>>;
2006
- projectId?: string;
2007
- location?: PageLocation;
2008
- activeModeId?: string;
2009
- activePageId?: string;
2010
- placements: readonly ResolvedOwnedPlacement<Value>[];
2011
- reconciliation: OwnedPlacementReconciliation<Value>;
2012
- }
2013
-
2014
- declare interface WorkbenchPageResourceCodec {
2015
- normalize(resource: ResourceRef): ResourceRef;
2016
- toUri(resource: ResourceRef): string;
2017
- fromUri(uri: string): ResourceRef | undefined;
2018
- }
2019
-
2020
- declare interface WorkbenchPageRuntimeState {
2021
- openStaticSlotIds: readonly string[];
2022
- resourceInstances: Readonly<Record<string, readonly WorkbenchPageSlotInstance[]>>;
2023
- activePrimaryInstanceKey?: string;
2024
- }
2025
-
2026
- declare interface WorkbenchPageSlot extends Omit<PageSlot, "tab"> {
2027
- readonly tab?: WorkbenchPlacementPresentation["tab"];
2028
- }
2029
-
2030
- declare interface WorkbenchPageSlotInstance {
2031
- instanceKey: string;
2032
- resource: ResourceRef;
2033
- section?: FileRendererSectionTarget;
2034
- open?: PageOpenIntent;
2035
- }
2036
-
2037
- declare interface WorkbenchPageSlotOpenInput {
2038
- pageId: string;
2039
- slotId: string;
2040
- resource?: ResourceRef;
2041
- open?: PageOpenIntent;
2042
- }
2043
-
2044
- declare interface WorkbenchPanelContribution {
2045
- id: string;
2046
- title: string;
2047
- icon?: string;
2048
- region: WorkbenchRegion;
2049
- fallbackRegion?: WorkbenchRegion;
2050
- rendererId: string;
2051
- singleton?: boolean;
2052
- reuse?: WorkbenchPanelReusePolicy;
2053
- mountStrategy?: WorkbenchPanelMountStrategy;
2054
- closable?: boolean;
2055
- hiddenByDefault?: boolean;
2056
- regionSize?: WorkbenchRegionSize;
2057
- regionCollapsible?: boolean;
2058
- headerBorderBottom?: boolean;
2059
- resourceKinds?: string[];
2060
- eligibleLocations?: WorkbenchLocationEligibility;
2061
- priority?: number;
2062
- openCommand?: WorkbenchCommandTarget;
2063
- tab?: WorkbenchPanelTab;
2064
- config?: unknown;
2065
- canOpen?(resource: ResourceRef): boolean;
2066
- ownerId?: string;
2067
- source?: ContributionSource;
2068
- panelMenus?: readonly WorkbenchPanelMenuDefinition[];
2069
- }
2070
-
2071
- export declare interface WorkbenchPanelInstance {
2072
- instanceId: string;
2073
- panelId: string;
2074
- placementIdentity?: PlacementIdentity;
2075
- viewId?: string;
2076
- ownerId?: string;
2077
- source?: ContributionSource;
2078
- resource?: ResourceRef;
2079
- section?: FileRendererSectionTarget;
2080
- resourceKey?: string;
2081
- ownerResourceKey?: string;
2082
- title?: string;
2083
- pinned?: boolean;
2084
- closable: boolean;
2085
- mountStrategy?: WorkbenchPanelMountStrategy;
2086
- hiddenByDefault?: boolean;
2087
- tabRetention?: WorkbenchTabRetention;
2088
- tab?: WorkbenchPanelTab;
2089
- }
2090
-
2091
- declare type WorkbenchPanelMenuContribution = Omit<WidgetContribution, "region" | "fallbackRegion"> & {
2092
- region: WorkbenchPanelMenuRegion;
2093
- fallbackRegion?: WorkbenchPanelMenuRegion;
2094
- };
2095
-
2096
- declare interface WorkbenchPanelMenuDefinition {
2097
- id: string;
2098
- title: string;
2099
- icon?: string;
2100
- side: WorkbenchPanelMenuSide;
2101
- singleton?: boolean;
2102
- reuse?: WorkbenchPanelReusePolicy;
2103
- mountStrategy?: WorkbenchPanelMountStrategy;
2104
- hiddenByDefault?: boolean;
2105
- regionSize?: WorkbenchRegionSize;
2106
- regionCollapsible?: boolean;
2107
- headerBorderBottom?: boolean;
2108
- rendererId: string;
2109
- priority?: number;
2110
- config?: unknown;
2111
- }
2112
-
2113
- declare type WorkbenchPanelMenuOwner = {
2114
- level: "panel";
2115
- contributionId?: string;
2116
- } | {
2117
- level: "sub-panel";
2118
- contributionId: string;
2119
- };
2120
-
2121
- export declare type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
2122
-
2123
- declare const workbenchPanelMenuRegions: {
2124
- readonly main: {
2125
- readonly left: "main-left-menu";
2126
- readonly right: "main-right-menu";
2127
- };
2128
- readonly secondary: {
2129
- readonly left: "secondary-left-menu";
2130
- readonly right: "secondary-right-menu";
2131
- };
2132
- readonly side: {
2133
- readonly left: "side-left-menu";
2134
- readonly right: "side-right-menu";
2135
- };
2136
- };
2137
-
2138
- export declare type WorkbenchPanelMenuSide = "left" | "right";
2139
-
2140
- declare interface WorkbenchPanelMenuState {
2141
- openByMenuId: Record<string, boolean>;
2142
- }
2143
-
2144
- declare type WorkbenchPanelMenuStateChangeListener = (state: WorkbenchPanelMenuState) => void;
2145
-
2146
- declare interface WorkbenchPanelMenuStateController {
2147
- store: WorkbenchStore<WorkbenchPanelMenuState>;
2148
- isOpen(menuId: string): boolean;
2149
- setOpen(menuId: string, open: boolean): void;
2150
- toggle(menuId: string): void;
2151
- setPersistenceScope(scope: string | undefined): void;
2152
- getPersistenceScope(): string | undefined;
2153
- onDidChange(listener: WorkbenchPanelMenuStateChangeListener): Disposable_2;
2154
- }
2155
-
2156
- declare interface WorkbenchPanelMenuStatePersistenceAdapter {
2157
- getMenuStates(scope?: string): PersistedWorkbenchPanelMenuState | undefined;
2158
- setMenuStates(state: PersistedWorkbenchPanelMenuState, scope?: string): void;
2159
- }
2160
-
2161
- export declare type WorkbenchPanelMountStrategy = WidgetMountStrategy;
2162
-
2163
- declare type WorkbenchPanelOpenStrategy = {
2164
- kind: "persistent";
2165
- position?: WorkbenchTabPosition;
2166
- } | {
2167
- kind: "replace-active";
2168
- } | {
2169
- kind: "replace-panel";
2170
- instanceId: string;
2171
- retention?: WorkbenchTabRetention;
2172
- } | {
2173
- kind: "preview";
2174
- position?: WorkbenchTabPosition;
2175
- };
2176
-
2177
- export declare type WorkbenchPanelRegion = (typeof workbenchPanelRegions)[number];
2178
-
2179
- export declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
2180
-
2181
- export declare interface WorkbenchPanelRenderInput {
2182
- workbench: WorkbenchCore;
2183
- panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
2184
- instance: WorkbenchPanelInstance;
2185
- refresh: () => void;
2186
- }
2187
-
2188
- declare type WorkbenchPanelReusePolicy = WidgetReusePolicy;
2189
-
2190
- export declare type WorkbenchPanelTab = WorkbenchWidgetTab;
2191
-
2192
- export declare interface WorkbenchPersistenceAdapter {
2193
- getSnapshot(scope?: string): WorkbenchSnapshot | undefined;
2194
- setSnapshot(snapshot: WorkbenchSnapshot, scope?: string): void;
2195
- flush?(): void;
2196
- dispose?(): void;
2197
- }
2198
-
2199
- export declare interface WorkbenchPlaceholderContribution {
2200
- id: string;
2201
- viewId: string;
2202
- title?: string;
2203
- region: WorkbenchRegion;
2204
- regionSize?: WorkbenchRegionSize;
2205
- regionCollapsible?: boolean;
2206
- config?: unknown;
2207
- }
2208
-
2209
- export declare interface WorkbenchPlaceholderRegistry {
2210
- registerPlaceholder(placeholder: WorkbenchPlaceholderContribution, metadata?: ContributionMetadata): Disposable_2;
2211
- }
2212
-
2213
- export declare interface WorkbenchPlacementPresentation {
2214
- mountStrategy?: WidgetMountStrategy;
2215
- hiddenByDefault?: boolean;
2216
- headerBorderBottom?: boolean;
2217
- tab?: WorkbenchPanelTab;
2218
- config?: unknown;
2219
- }
2220
-
2221
- export declare interface WorkbenchReactViewBody {
2222
- kind: "react";
2223
- render: WorkbenchRendererRegistration["render"];
2224
- }
2225
-
2226
- export declare type WorkbenchRegion = (typeof workbenchRegions)[number];
2227
-
2228
- export declare const workbenchRegions: readonly ["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"];
2229
-
2230
- /** Region-level layout policy owned by the active mode or the host, never by a placement. */
2231
- declare type WorkbenchRegionSettings = ModeRegionSettings;
2232
-
2233
- export declare interface WorkbenchRegionSize {
2234
- defaultPx?: number;
2235
- minPx?: number;
2236
- maxPx?: number;
2237
- }
2238
-
2239
- declare interface WorkbenchRegionState {
2240
- id: WorkbenchRegion;
2241
- visible: boolean;
2242
- size?: number;
2243
- widgets: WorkbenchWidgetPlacement[];
2244
- activeWidgetId?: string;
2245
- }
2246
-
2247
- export declare const workbenchRegionTabAddMenuPath: (region: string) => MenuPath;
2248
-
2249
- export declare const workbenchRegionTabLeadingMenuPath: (region: string) => MenuPath;
2250
-
2251
- declare interface WorkbenchRendererRegistration {
2252
- id: string;
2253
- render: (input: WorkbenchPanelRenderInput) => unknown;
2254
- }
2255
-
2256
- export declare const workbenchResourceIdContextKey = "workbench.resource.id";
2257
-
2258
- export declare const workbenchResourceMetadataContextKey: (key: string) => string;
2259
-
2260
- export declare const workbenchResourceTypeContextKey = "workbench.resource.type";
2261
-
2262
- export declare const workbenchSelectionResourceKeyMetadataKey = "workbench.selectionResourceKey";
2263
-
2264
- export declare interface WorkbenchShellController {
2265
- getRegionState(region: WorkbenchRegion): WorkbenchShellRegionState;
2266
- setRegionOpen(region: WorkbenchShellOpenRegion, open: boolean): void;
2267
- setRegionSize(region: WorkbenchRegion, size: number): void;
2268
- getSidePanelPresentation(): WorkbenchSidePanelPresentation;
2269
- setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
2270
- onDidChange(listener: () => void): Disposable_2;
2271
- }
2272
-
2273
- export declare type WorkbenchShellOpenRegion = "sidenav" | "secondary" | "side";
2274
-
2275
- export declare interface WorkbenchShellPlacementContribution extends WorkbenchPlacementPresentation {
2276
- readonly id: string;
2277
- readonly item: WorkbenchOwnedPlacementItem;
2278
- readonly region: WorkbenchRegion;
2279
- readonly order?: number;
2280
- }
2281
-
2282
- export declare interface WorkbenchShellPlacementRegistry {
2283
- registerPlacement(placement: WorkbenchShellPlacementContribution): Disposable_2;
2284
- getPlacement(placementId: string): WorkbenchShellPlacementContribution | undefined;
2285
- listPlacements(): WorkbenchShellPlacementContribution[];
2286
- openPlacement(input: OpenWorkbenchShellPlacementInput): PlacementIdentity;
2287
- updatePlacement(identity: PlacementIdentity, input: {
2288
- resource?: ResourceRef;
2289
- title?: string;
2290
- open?: PageOpenIntent;
2291
- }): void;
2292
- closePlacement(identity: PlacementIdentity): void;
2293
- resolvePlacements(context?: OwnedPlacementLocationContext): readonly ResolvedOwnedPlacement<WorkbenchWidgetPlacement>[];
2294
- onDidChange(listener: () => void): Disposable_2;
2295
- }
2296
-
2297
- export declare interface WorkbenchShellRegionState {
2298
- open: boolean;
2299
- size?: number;
2300
- }
2301
-
2302
- declare type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
2303
-
2304
- declare interface WorkbenchSidePanelController {
2305
- canFloat(): boolean;
2306
- store: WorkbenchStore<WorkbenchSidePanelState>;
2307
- getMode(): WorkbenchSidePanelMode;
2308
- setMode(mode: WorkbenchSidePanelMode): void;
2309
- onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable_2;
2310
- }
2311
-
2312
- export declare type WorkbenchSidePanelMode = "floating" | "closed" | "attached";
2313
-
2314
- export declare interface WorkbenchSidePanelPersistenceAdapter {
2315
- getMode(): WorkbenchSidePanelMode | undefined;
2316
- setMode(mode: WorkbenchSidePanelMode): void;
2317
- }
2318
-
2319
- export declare type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
2320
-
2321
- declare interface WorkbenchSidePanelState {
2322
- mode: WorkbenchSidePanelMode;
2323
- }
2324
-
2325
- export declare interface WorkbenchSnapshot {
2326
- layout: WorkbenchLayout;
2327
- }
2328
-
2329
- export declare interface WorkbenchStatusBarItem {
2330
- id: string;
2331
- viewId: string;
2332
- slot: WorkbenchStatusBarSlot;
2333
- order?: number;
2334
- isVisible?(): boolean;
2335
- }
2336
-
2337
- export declare interface WorkbenchStatusBarRegistry {
2338
- store: WorkbenchStore<WorkbenchStatusBarRegistryState>;
2339
- registerItem(item: WorkbenchStatusBarItem): Disposable_2;
2340
- getItem(id: string): WorkbenchStatusBarItem | undefined;
2341
- listItems(): WorkbenchStatusBarItem[];
2342
- listVisibleItems(slot?: WorkbenchStatusBarSlot): WorkbenchStatusBarItem[];
2343
- }
2344
-
2345
- export declare interface WorkbenchStatusBarRegistryState {
2346
- items: Record<string, WorkbenchStatusBarItem>;
2347
- }
2348
-
2349
- export declare type WorkbenchStatusBarSlot = "leading" | "trailing";
2350
-
2351
- export declare interface WorkbenchStatusRegistry {
2352
- store: WorkbenchStore<WorkbenchStatusRegistryState>;
2353
- registerStatusSet(contribution: WorkbenchStatusSetContribution, metadata?: ContributionMetadata): Disposable_2;
2354
- getStatusSet(id: string): RegisteredWorkbenchStatusSet | undefined;
2355
- listStatusSets(): RegisteredWorkbenchStatusSet[];
2356
- getStatuses(id: string): readonly WorkflowStatus[] | undefined;
2357
- load(id: string): Promise<readonly WorkflowStatus[]>;
2358
- query(id: string): Promise<readonly WorkflowStatus[]>;
2359
- save(id: string, statuses: readonly WorkflowStatus[]): Promise<readonly WorkflowStatus[]>;
2360
- }
2361
-
2362
- export declare interface WorkbenchStatusRegistryState {
2363
- statusSets: Record<string, RegisteredWorkbenchStatusSet>;
2364
- values: Record<string, readonly WorkflowStatus[]>;
2365
- }
2366
-
2367
- export declare interface WorkbenchStatusSetContribution {
2368
- id: string;
2369
- title: string;
2370
- actions?: readonly WorkflowStatusAction[];
2371
- query(): Promise<readonly WorkflowStatus[]> | readonly WorkflowStatus[];
2372
- save?(statuses: readonly WorkflowStatus[]): Promise<readonly WorkflowStatus[]> | readonly WorkflowStatus[];
2373
- }
2374
-
2375
- declare interface WorkbenchStore<TState> {
2376
- getState(): TState;
2377
- getInitialState(): TState;
2378
- subscribe(listener: WorkbenchStoreListener<TState>): () => void;
2379
- subscribeSelector<TValue>(selector: WorkbenchStoreSelector<TState, TValue>, listener: WorkbenchStoreSelectorListener<TValue>, options?: {
2380
- equalityFn?: (left: TValue, right: TValue) => boolean;
2381
- fireImmediately?: boolean;
2382
- }): () => void;
2383
- }
2384
-
2385
- declare type WorkbenchStoreListener<TState> = (state: TState, previousState: TState) => void;
2386
-
2387
- declare type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
2388
-
2389
- declare type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
2390
-
2391
- export declare type WorkbenchTabAction = ({
2392
- kind: "command";
2393
- } & WorkbenchCommandTarget) | {
2394
- kind: "navigation";
2395
- target: NavigationTarget;
2396
- };
2397
-
2398
- export declare interface WorkbenchTabMenuGroup {
2399
- id: string;
2400
- rows: readonly WorkbenchTabMenuRow[];
2401
- }
2402
-
2403
- export declare interface WorkbenchTabMenuRow {
2404
- id: string;
2405
- label: string;
2406
- icon?: string;
2407
- iconColor?: string;
2408
- selected?: boolean;
2409
- disabled?: boolean;
2410
- action?: WorkbenchTabAction;
2411
- }
2412
-
2413
- export declare type WorkbenchTabPosition = "start" | "end" | {
2414
- beforeWidgetId: string;
2415
- } | {
2416
- afterWidgetId: string;
2417
- };
2418
-
2419
- export declare type WorkbenchTabRetention = "preview" | "persistent";
2420
-
2421
- export declare interface WorkbenchTabSnapshot {
2422
- label?: string;
2423
- icon?: string;
2424
- indicator?: {
2425
- icon: string;
2426
- color?: string;
2427
- label?: string;
2428
- };
2429
- menu?: readonly WorkbenchTabMenuGroup[];
2430
- }
2431
-
2432
- export declare interface WorkbenchTerminalController {
2433
- store: WorkbenchStore<WorkbenchTerminalState>;
2434
- /** True once the host injected a session opener. */
2435
- isAvailable(): boolean;
2436
- setSessionOpener(opener: WorkbenchTerminalSessionOpener | null): void;
2437
- /** Opens a session; the live adapter stays host-side and only the id is returned. */
2438
- open(input: {
2439
- bindingId?: string;
2440
- request: WorkbenchTerminalSessionRequest;
2441
- title?: string;
2442
- }): Promise<{
2443
- sessionId: string;
2444
- }>;
2445
- write(input: {
2446
- sessionId: string;
2447
- data: string | Uint8Array;
2448
- }): void;
2449
- resize(input: {
2450
- sessionId: string;
2451
- cols: number;
2452
- rows: number;
2453
- }): void;
2454
- kill(input: {
2455
- sessionId: string;
2456
- signal?: string;
2457
- }): Promise<void>;
2458
- killBinding(bindingId: string): Promise<void>;
2459
- subscribe(sessionId: string, sink: WorkbenchTerminalSessionSink): () => void;
2460
- getSession(sessionId: string): WorkbenchTerminalSessionModel | undefined;
2461
- listSessions(): WorkbenchTerminalSessionModel[];
2462
- /** Kills every live session. Called when the owning workbench is torn down. */
2463
- dispose(): Promise<void>;
2464
- }
2465
-
2466
- export declare interface WorkbenchTerminalSessionAdapter {
2467
- readonly id: string;
2468
- write(data: string | Uint8Array): void;
2469
- resize(cols: number, rows: number): void;
2470
- kill(signal?: string): Promise<void> | void;
2471
- onData(handler: (chunk: Uint8Array) => void): () => void;
2472
- /** Foreground process name updates, when the opener can report them (real PTYs). */
2473
- onTitle?(handler: (title: string) => void): () => void;
2474
- onExit(handler: (exit: WorkbenchTerminalSessionExit) => void): () => void;
2475
- onError(handler: (error: WorkbenchTerminalSessionError) => void): () => void;
2476
- }
2477
-
2478
- export declare interface WorkbenchTerminalSessionError {
2479
- message: string;
2480
- }
2481
-
2482
- export declare interface WorkbenchTerminalSessionExit {
2483
- code: number | null;
2484
- signal: string | null;
2485
- }
2486
-
2487
- export declare interface WorkbenchTerminalSessionModel {
2488
- id: string;
2489
- title: string;
2490
- status: WorkbenchTerminalSessionStatus;
2491
- exit?: WorkbenchTerminalSessionExit;
2492
- }
2493
-
2494
- export declare type WorkbenchTerminalSessionOpener = (request: WorkbenchTerminalSessionRequest) => Promise<WorkbenchTerminalSessionAdapter>;
2495
-
2496
- export declare interface WorkbenchTerminalSessionRequest {
2497
- command?: string[];
2498
- cwd?: string;
2499
- env?: Record<string, string>;
2500
- cols: number;
2501
- rows: number;
2502
- }
2503
-
2504
- export declare interface WorkbenchTerminalSessionSink {
2505
- onData?(chunk: Uint8Array): void;
2506
- onExit?(exit: WorkbenchTerminalSessionExit): void;
2507
- onError?(error: WorkbenchTerminalSessionError): void;
2508
- }
2509
-
2510
- export declare type WorkbenchTerminalSessionStatus = "running" | "exited" | "killed";
2511
-
2512
- export declare interface WorkbenchTerminalState {
2513
- sessionsById: Record<string, WorkbenchTerminalSessionModel>;
2514
- }
2515
-
2516
- declare interface WorkbenchThemeStoreState {
2517
- themes: readonly ThemePreferenceOption[];
2518
- }
2519
-
2520
- export declare const workbenchTopHeaderLeadingMenuPath: MenuPath;
2521
-
2522
- export declare const workbenchTopHeaderTrailingMenuPath: MenuPath;
2523
-
2524
- declare type WorkbenchTreeViews = Pick<TreeRendererRegistry, "getTreeState" | "setNodeExpanded" | "setSectionExpanded" | "setSelectedNode">;
2525
-
2526
- export declare type WorkbenchViewBody = WorkbenchReactViewBody | NativeViewBody<"tree", TreeRendererContribution> | NativeViewBody<"file", FileRendererContribution> | NativeViewBody<"controls", ControlsRendererContribution> | NativeViewBody<"kanban", KanbanRendererContribution> | NativeViewBody<"dataTable", DataTableRendererContribution>;
2527
-
2528
- export declare interface WorkbenchViewContribution {
2529
- id: string;
2530
- title: string;
2531
- icon?: string;
2532
- body: WorkbenchViewBody;
2533
- }
2534
-
2535
- export declare interface WorkbenchViewHierarchyNode {
2536
- type: "view";
2537
- viewId: string;
2538
- label?: string;
2539
- icon?: string;
2540
- }
2541
-
2542
- export declare const workbenchViewIdContextKey = "workbench.view.id";
2543
-
2544
- export declare interface WorkbenchViewMenuContribution {
2545
- id: string;
2546
- ownerViewId: string;
2547
- viewId: string;
2548
- side: "left" | "right";
2549
- priority?: number;
2550
- mountStrategy?: "active" | "keep-mounted";
2551
- hiddenByDefault?: boolean;
2552
- regionSize?: WorkbenchRegionSize;
2553
- regionCollapsible?: boolean;
2554
- headerBorderBottom?: boolean;
2555
- config?: unknown;
2556
- }
2557
-
2558
- export declare interface WorkbenchViewMenuRegistry {
2559
- registerViewMenu(menu: WorkbenchViewMenuContribution): Disposable_2;
2560
- getViewMenu(id: string): WorkbenchViewMenuContribution | undefined;
2561
- listViewMenus(ownerViewId?: string): WorkbenchViewMenuContribution[];
2562
- definitionsFor(ownerViewId: string, placementId: string): readonly WorkbenchPanelMenuDefinition[];
2563
- }
2564
-
2565
- export declare interface WorkbenchViewRegistry {
2566
- store: WorkbenchStore<WorkbenchViewRegistryStoreState>;
2567
- registerView(view: WorkbenchViewContribution, metadata?: ContributionMetadata): Disposable_2;
2568
- getView(viewId: string): RegisteredWorkbenchView | undefined;
2569
- listViews(): RegisteredWorkbenchView[];
2570
- refreshView(viewId: string, input?: unknown): void;
2571
- }
2572
-
2573
- export declare interface WorkbenchViewRegistryStoreState {
2574
- views: Record<string, RegisteredWorkbenchView>;
2575
- }
2576
-
2577
- export declare interface WorkbenchWidgetPlacement {
2578
- widgetId: string;
2579
- contributionId: string;
2580
- placementIdentity?: PlacementIdentity;
2581
- viewId?: string;
2582
- ownerId?: string;
2583
- source?: ContributionSource;
2584
- resource?: ResourceRef;
2585
- section?: FileRendererSectionTarget;
2586
- resourceKey?: string;
2587
- ownerResourceKey?: string;
2588
- title?: string;
2589
- pinned?: boolean;
2590
- closable?: boolean;
2591
- mountStrategy?: WidgetMountStrategy;
2592
- hiddenByDefault?: boolean;
2593
- tabRetention?: WorkbenchTabRetention;
2594
- tab?: WorkbenchWidgetTab;
2595
- role?: WorkbenchWidgetRole;
2596
- }
2597
-
2598
- declare type WorkbenchWidgetRole = "content" | "location" | "sub-panel" | "panel-menu";
2599
-
2600
- export declare interface WorkbenchWidgetTab {
2601
- getSnapshot(instance: WorkbenchPanelInstance): WorkbenchTabSnapshot;
2602
- subscribe?(listener: () => void): {
2603
- dispose(): void;
2604
- } | (() => void);
2605
- refreshEvents?: readonly string[];
2606
- }
2607
-
2608
- export declare interface WorkflowStatus {
2609
- id: string;
2610
- label: string;
2611
- color: string;
2612
- icon?: string | null;
2613
- sortOrder: number;
2614
- isDefault?: boolean;
2615
- actions?: readonly string[];
2616
- }
2617
-
2618
- export declare interface WorkflowStatusAction {
2619
- id: string;
2620
- label: string;
2621
- icon?: string;
2622
- }
2623
-
2624
- export { }
1
+ import { $ as WorkbenchStatusBarItem, $i as resourceHierarchyCycleCode, $n as AttributeDescriptor, $r as WorkbenchPanelTab, $t as WorkbenchTerminalSessionError, A as WorkbenchHost, Ai as CommandRegistry, An as createViewRegistry, Ar as DataTableRendererQueryContext, At as WorkbenchNotification, B as ThemePreference, Bi as ResourceRegistry, Bn as TreeNode, Br as ControlsRendererLayout, Bt as WorkbenchModePlacementRegistry, C as WorkbenchModeContribution, Ci as WorkbenchCommandPaletteController, Cn as WorkbenchViewMenuRegistry, Cr as FileRendererRefreshOrigin, Ct as WorkbenchShellPlacementRegistry, D as createWorkbench, Di as CommandParamDescriptor, Dn as WorkbenchViewContribution, Dr as DataTableRendererColumnRenderer, Dt as WorkbenchOverlayRegistry, E as isWorkbenchModePanelAvailable, Ei as CommandHandler, En as WorkbenchViewBody, Er as DataTableRendererColumn, Et as WorkbenchOverlayContribution, F as WorkbenchPagePersistenceScopeInput, Fi as ResourceBrowseEntry, Fn as createRendererReadRegistry, Fr as DataTableRendererThemeColor, Ft as NavigationTreeContribution, G as FileIconThemeFont, Gi as workbenchResourceMetadataContextKey, Gn as TreeRendererState, Gr as WorkbenchFocusRegionId, Gt as getKeybindingSteps, H as ThemePreferenceOption, Hi as createWorkbenchSelectionResourceMetadata, Hn as TreeQueryContext, Hr as ControlsUpdateValueInput, Ht as Keybinding, I as WorkbenchPersistenceAdapter, Ii as ResourceKindContribution, In as TreeAction, It as NavigationTreeOwner, J as WorkbenchStatusRegistryState, Ji as ResourceHierarchyCycle, Jn as MenuPath, Jt as CommandPaletteResourceQueryContext, K as FileIconThemePreferenceOption, Ki as workbenchResourceTypeContextKey, Kn as TreeViewSection, Kr as LayoutPersistenceAdapter, Kt as CommandPaletteResourceProvider, L as WorkbenchSnapshot, Li as ResourceListContext, Ln as TreeContext, Lr as ControlsApplyInput, Lt as NavigationTreeRegistry, M as WorkbenchModuleContribution, Mi as WorkbenchCommandExecutionError, Mn as RendererReadBinding, Mr as DataTableRendererRow, Mt as WorkbenchNotificationEvent, N as WorkbenchModuleContributionContext, Ni as WorkbenchBreadcrumbController, Nn as RendererReadRegistry, Nr as DataTableRendererRowAction, Nt as WorkbenchNotificationLevel, O as WorkbenchCore, Oi as CommandParamOption, On as WorkbenchViewRegistry, Or as DataTableRendererColumnStat, Ot as NotificationRegistry, P as WorkbenchPagePersistenceScope, Pi as WorkbenchBreadcrumbItem, Pn as RendererReadRequest, Pr as DataTableRendererSelectionAction, Pt as NavigationTreeContext, Q as createStatusRegistry, Qi as isWorkbenchViewHierarchyNode, Qn as KanbanRendererQueryState, Qr as WorkbenchPanelMountStrategy, Qt as WorkbenchTerminalSessionAdapter, R as createWorkbenchInput, Ri as ResourceProvider, Rn as TreeMoveEndpoint, Rr as ControlsQueryResult, Rt as NavigationTreeSlot, S as WorkbenchModeAddablePanelContext, Si as NavigationTargetPanel, Sn as WorkbenchViewMenuContribution, Sr as FileRendererRefreshEnvelope, St as WorkbenchShellPlacementContribution, T as getWorkbenchModePanelForRegion, Ti as Command, Tn as WorkbenchReactViewBody, Tr as DataTableRendererBadgePalette, Tt as WorkbenchPlaceholderRegistry, U as ThemePreferenceTokens, Ui as getWorkbenchSelectionResourceKeys, Un as TreeRendererContribution, Ur as WorkbenchPanelRenderInput, Ut as KeybindingRegistry, V as ThemePreferenceMode, Vi as createWorkbenchResourceContextValues, Vn as TreeNodeInlineInput, Vr as ControlsResetInput, W as FileIconThemeRegistry, Wi as workbenchResourceIdContextKey, Wr as WorkbenchFocusController, Wt as KeybindingSequence, X as WorkflowStatus, Xi as WorkbenchHierarchyNode, Xr as WorkbenchLayout, Xt as CommandPaletteResourceResult, Y as WorkbenchStatusSetContribution, Yi as ResourceHierarchyProvider, Yn as MenuRegistry, Yr as WorkbenchCommandTarget, Yt as CommandPaletteResourceRegistry, Z as WorkflowStatusAction, Zi as WorkbenchViewHierarchyNode, Zn as KanbanRendererContribution, Zr as WorkbenchPanelInstance, Zt as WorkbenchTerminalController, _ as resolveAnchorRegion, _i as NavigationRegistry, _n as WorkbenchPageLocationDiagnostic, _r as ResourceContextAction, _t as PreferenceRegistry, a as standardResourceIcons, aa as matchesContextExpression, ai as WorkbenchTabRetention, an as WorkbenchTerminalSessionStatus, ar as BoardColumnConfig, at as SchemaSettingsPanel, b as WorkbenchModeActivationResult, bi as NavigationTargetCompound, br as FileRendererContent, bt as PreferenceScopeRef, c as headerLeadingMenuPath, ci as WorkbenchWidgetTab, cn as WorkbenchShellOpenRegion, cr as EnumOptionsSource, ct as SettingsPanelBase, d as workbenchCommandPaletteMenuPath, di as WorkbenchPanelRegion, dn as WorkbenchSidePanelMode, dr as KanbanRendererCreateRowConfig, dt as SettingsRegistry, ea as ContributionMetadata, ei as WorkbenchRegionSize, en as WorkbenchTerminalSessionExit, er as AttributeDisplayDescriptor, et as WorkbenchStatusBarRegistry, f as workbenchRegionTabAddMenuPath, fi as WorkbenchRegion, fn as WorkbenchSidePanelPersistenceAdapter, fr as KanbanRendererCreateSubmission, ft as SettingsScope, g as AnchorId, gi as NavigationParser, gn as WorkbenchPageLocationController, gr as KanbanRendererSettings, gt as PreferencePropertySchema, h as workbenchTopHeaderTrailingMenuPath, hi as NavigationDispatcherContext, hn as WorkbenchPageLocationBrowser, hr as KanbanRendererRow, ht as PreferencePersistenceAdapter, i as StandardResourceIcon, ia as ContextKeyValue, ii as WorkbenchTabPosition, in as WorkbenchTerminalSessionSink, ir as BoardColumnAction, it as CollectionSettingsPanel, j as WorkbenchModuleContext, ji as WorkbenchCommandExecutionContext, jn as workbenchViewIdContextKey, jr as DataTableRendererQueryResult, jt as WorkbenchNotificationAction, ki as CommandParamSchema, kn as WorkbenchViewRegistryStoreState, kr as DataTableRendererContribution, l as headerTrailingMenuPath, li as WorkbenchPanelMenuRegion, ln as WorkbenchShellRegionState, lr as KanbanRendererCreateField, lt as SettingsPanelContribution, m as workbenchTopHeaderLeadingMenuPath, mi as workbenchRegions, mn as WorkbenchPageBrowserEntry, mr as KanbanRendererOrdering, mt as ViewSettingsPanel, n as settleReadBatch, na as ContextKeyScope, ni as WorkbenchTabMenuGroup, nn as WorkbenchTerminalSessionOpener, nr as AttributeType, nt as WorkbenchStatusBarSlot, o as DockedWorkbenchRegion, oi as WorkbenchTabSnapshot, on as WorkbenchTerminalState, or as EnumOption, ot as SettingsAction, p as workbenchRegionTabLeadingMenuPath, pi as workbenchPanelRegions, pr as KanbanRendererFilterState, pt as SettingsSectionContribution, q as WorkbenchStatusRegistry, qi as workbenchSelectionResourceKeyMetadataKey, qn as MenuItem, qt as CommandPaletteResourceProviderResult, r as rendererReadKey, ra as ContextKeyService, ri as WorkbenchTabMenuRow, rn as WorkbenchTerminalSessionRequest, rt as createStatusBarRegistry, s as dockedWorkbenchRegions, sa as Disposable, si as WorkbenchWidgetPlacement, sn as WorkbenchShellController, sr as EnumOptions, st as SettingsCollectionGroupBy, t as batchWorkbenchChanges, ta as ContributionSource, ti as WorkbenchTabAction, tn as WorkbenchTerminalSessionModel, tr as AttributeKind, tt as WorkbenchStatusBarRegistryState, u as resourceContextMenuPath, ui as WorkbenchPanelMenuSide, un as WorkbenchSidePanelPresentation, ur as KanbanRendererCreateFieldType, ut as SettingsPanelPreference, v as defaultPageResourceCodec, vi as NavigationTarget, vn as WorkbenchPageLocationPersistence, vr as SortDirection, vt as PreferenceSchemaContribution, w as WorkbenchModeRegistry, wi as WorkbenchCommandPaletteOpenInput, wn as RegisteredWorkbenchView, wr as FileRendererSaveResult, wt as WorkbenchPlaceholderContribution, x as WorkbenchModeAddablePanel, xi as NavigationTargetItem, xn as WorkbenchPlacementPresentation, xr as FileRendererContribution, xt as PreferenceValue, y as WorkbenchModeActivationContext, yi as NavigationTargetCommand, yn as WorkbenchPageNavigationResult, yr as ViewMode, yt as PreferenceScope, z as ThemeRegistry, zi as ResourceRef, zn as TreeMovePolicy, zr as ControlsRendererContribution, zt as WorkbenchModePlacementContribution } from "./index-DSsmgN2a.js";
2
+ export { type AnchorId, type AttributeDescriptor, type AttributeDisplayDescriptor, type AttributeKind, type AttributeType, type BoardColumnAction, type BoardColumnConfig, type CollectionSettingsPanel, type Command, type CommandHandler, type CommandPaletteResourceProvider, type CommandPaletteResourceProviderResult, type CommandPaletteResourceQueryContext, type CommandPaletteResourceRegistry, type CommandPaletteResourceResult, type CommandParamDescriptor, type CommandParamOption, type CommandParamSchema, type CommandRegistry, type ContextKeyScope, type ContextKeyService, type ContextKeyValue, type ContributionMetadata, type ContributionSource, type ControlsApplyInput, type ControlsQueryResult, type ControlsRendererContribution, type ControlsRendererLayout, type ControlsResetInput, type ControlsUpdateValueInput, type DataTableRendererBadgePalette, type DataTableRendererColumn, type DataTableRendererColumnRenderer, type DataTableRendererColumnStat, type DataTableRendererContribution, type DataTableRendererQueryContext, type DataTableRendererQueryResult, type DataTableRendererRow, type DataTableRendererRowAction, type DataTableRendererSelectionAction, type DataTableRendererThemeColor, type Disposable, type DockedWorkbenchRegion, type EnumOption, type EnumOptions, type EnumOptionsSource, type FileIconThemeFont, type FileIconThemePreferenceOption, type FileIconThemeRegistry, type FileRendererContent, type FileRendererContribution, type FileRendererRefreshEnvelope, type FileRendererRefreshOrigin, type FileRendererSaveResult, type KanbanRendererContribution, type KanbanRendererCreateField, type KanbanRendererCreateFieldType, type KanbanRendererCreateRowConfig, type KanbanRendererCreateSubmission, type KanbanRendererFilterState, type KanbanRendererOrdering, type KanbanRendererQueryState, type KanbanRendererRow, type KanbanRendererSettings, type Keybinding, type KeybindingRegistry, type KeybindingSequence, type LayoutPersistenceAdapter, type MenuItem, type MenuPath, type MenuRegistry, type NavigationDispatcherContext, type NavigationParser, type NavigationRegistry, type NavigationTarget, type NavigationTargetCommand, type NavigationTargetCompound, type NavigationTargetItem, type NavigationTargetPanel, type NavigationTreeContext, type NavigationTreeContribution, type NavigationTreeOwner, type NavigationTreeRegistry, type NavigationTreeSlot, type NotificationRegistry, type PreferencePersistenceAdapter, type PreferencePropertySchema, type PreferenceRegistry, type PreferenceSchemaContribution, type PreferenceScope, type PreferenceScopeRef, type PreferenceValue, type RegisteredWorkbenchView, type RendererReadBinding, type RendererReadRegistry, type RendererReadRequest, type ResourceBrowseEntry, type ResourceContextAction, type ResourceHierarchyCycle, type ResourceHierarchyProvider, type ResourceKindContribution, type ResourceListContext, type ResourceProvider, type ResourceRef, type ResourceRegistry, type SchemaSettingsPanel, type SettingsAction, type SettingsCollectionGroupBy, type SettingsPanelBase, type SettingsPanelContribution, type SettingsPanelPreference, type SettingsRegistry, type SettingsScope, type SettingsSectionContribution, type SortDirection, type StandardResourceIcon, type ThemePreference, type ThemePreferenceMode, type ThemePreferenceOption, type ThemePreferenceTokens, type ThemeRegistry, type TreeAction, type TreeContext, type TreeMoveEndpoint, type TreeMovePolicy, type TreeNode, type TreeNodeInlineInput, type TreeQueryContext, type TreeRendererContribution, type TreeRendererState, type TreeViewSection, type ViewMode, type ViewSettingsPanel, type WorkbenchBreadcrumbController, type WorkbenchBreadcrumbItem, type WorkbenchCommandExecutionContext, type WorkbenchCommandExecutionError, type WorkbenchCommandPaletteController, type WorkbenchCommandPaletteOpenInput, type WorkbenchCommandTarget, type WorkbenchCore, type WorkbenchFocusController, type WorkbenchFocusRegionId, type WorkbenchHierarchyNode, type WorkbenchHost, type WorkbenchLayout, type WorkbenchModeActivationContext, type WorkbenchModeActivationResult, type WorkbenchModeAddablePanel, type WorkbenchModeAddablePanelContext, type WorkbenchModeContribution, type WorkbenchModePlacementContribution, type WorkbenchModePlacementRegistry, type WorkbenchModeRegistry, type WorkbenchModuleContext, type WorkbenchModuleContribution, type WorkbenchModuleContributionContext, type WorkbenchNotification, type WorkbenchNotificationAction, type WorkbenchNotificationEvent, type WorkbenchNotificationLevel, type WorkbenchOverlayContribution, type WorkbenchOverlayRegistry, type WorkbenchPageBrowserEntry, type WorkbenchPageLocationBrowser, type WorkbenchPageLocationController, type WorkbenchPageLocationDiagnostic, type WorkbenchPageLocationPersistence, type WorkbenchPageNavigationResult, type WorkbenchPagePersistenceScope, type WorkbenchPagePersistenceScopeInput, type WorkbenchPanelInstance, type WorkbenchPanelMenuRegion, type WorkbenchPanelMenuSide, type WorkbenchPanelMountStrategy, type WorkbenchPanelRegion, type WorkbenchPanelRenderInput, type WorkbenchPanelTab, type WorkbenchPersistenceAdapter, type WorkbenchPlaceholderContribution, type WorkbenchPlaceholderRegistry, type WorkbenchPlacementPresentation, type WorkbenchReactViewBody, type WorkbenchRegion, type WorkbenchRegionSize, type WorkbenchShellController, type WorkbenchShellOpenRegion, type WorkbenchShellPlacementContribution, type WorkbenchShellPlacementRegistry, type WorkbenchShellRegionState, type WorkbenchSidePanelMode, type WorkbenchSidePanelPersistenceAdapter, type WorkbenchSidePanelPresentation, type WorkbenchSnapshot, type WorkbenchStatusBarItem, type WorkbenchStatusBarRegistry, type WorkbenchStatusBarRegistryState, type WorkbenchStatusBarSlot, type WorkbenchStatusRegistry, type WorkbenchStatusRegistryState, type WorkbenchStatusSetContribution, type WorkbenchTabAction, type WorkbenchTabMenuGroup, type WorkbenchTabMenuRow, type WorkbenchTabPosition, type WorkbenchTabRetention, type WorkbenchTabSnapshot, type WorkbenchTerminalController, type WorkbenchTerminalSessionAdapter, type WorkbenchTerminalSessionError, type WorkbenchTerminalSessionExit, type WorkbenchTerminalSessionModel, type WorkbenchTerminalSessionOpener, type WorkbenchTerminalSessionRequest, type WorkbenchTerminalSessionSink, type WorkbenchTerminalSessionStatus, type WorkbenchTerminalState, type WorkbenchViewBody, type WorkbenchViewContribution, type WorkbenchViewHierarchyNode, type WorkbenchViewMenuContribution, type WorkbenchViewMenuRegistry, type WorkbenchViewRegistry, type WorkbenchViewRegistryStoreState, type WorkbenchWidgetPlacement, type WorkbenchWidgetTab, type WorkflowStatus, type WorkflowStatusAction, batchWorkbenchChanges, createRendererReadRegistry, createStatusBarRegistry, createStatusRegistry, createViewRegistry, createWorkbench, type createWorkbenchInput, createWorkbenchResourceContextValues, createWorkbenchSelectionResourceMetadata, defaultPageResourceCodec, dockedWorkbenchRegions, getKeybindingSteps, getWorkbenchModePanelForRegion, getWorkbenchSelectionResourceKeys, headerLeadingMenuPath, headerTrailingMenuPath, isWorkbenchModePanelAvailable, isWorkbenchViewHierarchyNode, matchesContextExpression, rendererReadKey, resolveAnchorRegion, resourceContextMenuPath, resourceHierarchyCycleCode, settleReadBatch, standardResourceIcons, workbenchCommandPaletteMenuPath, workbenchPanelRegions, workbenchRegionTabAddMenuPath, workbenchRegionTabLeadingMenuPath, workbenchRegions, workbenchResourceIdContextKey, workbenchResourceMetadataContextKey, workbenchResourceTypeContextKey, workbenchSelectionResourceKeyMetadataKey, workbenchTopHeaderLeadingMenuPath, workbenchTopHeaderTrailingMenuPath, workbenchViewIdContextKey };
3
+ export {};