@pstdio/workbench 0.45.0-nightly.20261021143541 → 0.45.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.
@@ -3,7 +3,85 @@ import { ControlValue, ControlValueMap, ControlsQueryResult, ControlsQueryResult
3
3
  import { NamedSet } from "zustand/middleware";
4
4
  import { StoreApi } from "zustand/vanilla";
5
5
  import { TerminalSessionAdapter, TerminalSessionError, TerminalSessionExit, TerminalSessionRequest } from "@pstdio/sdk/api";
6
- //#region ../pstdio-api-contracts/src/extension-kernel/types/contribution-identity.d.ts
6
+ /** This device's cloud login. The device credential stays in the native host. */
7
+ interface DeviceLogin {
8
+ managerOrigin: string;
9
+ relayOrigin: string;
10
+ accountId: string;
11
+ deviceId: string;
12
+ /** Verified by the Google sign-in exchange. Older logins may not include it. */
13
+ email?: string;
14
+ }
15
+ interface AccountStatus {
16
+ login: DeviceLogin | null;
17
+ /** Cloud projects of the account. This device syncs the ones that exist on it. */
18
+ cloudProjects: string[];
19
+ /** False until this login's Cloud project list has been read from the account service. */
20
+ cloudProjectsLoaded: boolean;
21
+ }
22
+ interface AccountDevice {
23
+ id: string;
24
+ name: string;
25
+ platform: string;
26
+ createdAt: string;
27
+ lastSeenAt: string;
28
+ /** The account service heard from this device within its presence lease window. */
29
+ online: boolean;
30
+ /** True for the device that answered the request. */
31
+ current: boolean;
32
+ }
33
+ /** A native browser sign-in. Open `url` in a browser on the computer that runs Prompt Studio. */
34
+ interface AccountLogin {
35
+ id: string;
36
+ url: string;
37
+ }
38
+ type AccountLoginStatus = "pending" | "complete" | "failed";
39
+ /**
40
+ * Derived on each read from the local document, asset and relay connection owners. Never stored.
41
+ * `local` means the project does not sync. `offline` only means the Cloud connection is lost.
42
+ */
43
+ type ProjectSyncState = "local" | "waiting-to-sync" | "synced" | "offline" | "first-download-incomplete" | "needs-attention";
44
+ interface ProjectSyncStatus {
45
+ state: ProjectSyncState;
46
+ /** All known documents and required asset bytes have been verified locally. */
47
+ offlineReady: boolean;
48
+ }
49
+ /**
50
+ * This device's Cloud account, the account's devices, and each project's sync status.
51
+ * Methods that take a project id use the current project when it is omitted.
52
+ * Listen to `accountEvents.projectSyncChanged` for sync status changes.
53
+ */
54
+ interface ExtensionAccountApi {
55
+ status(): Promise<AccountStatus>;
56
+ /**
57
+ * Starts a native browser sign-in with the given account service. Open `url` in a browser on
58
+ * the computer that runs Prompt Studio, then poll `loginStatus` until it is no longer pending.
59
+ */
60
+ login(managerOrigin: string): Promise<AccountLogin>;
61
+ loginStatus(id: string): Promise<AccountLoginStatus>;
62
+ /** Cancels a pending sign-in. Returns `complete` when the sign-in had already finished. */
63
+ cancelLogin(id: string): Promise<Exclude<AccountLoginStatus, "pending">>;
64
+ /**
65
+ * Signs this device out. Local data stays. `removed` is false when the account service could
66
+ * not be reached; remove the device from another one later.
67
+ */
68
+ logout(): Promise<{
69
+ removed: boolean;
70
+ }>;
71
+ /** The account's devices with their presence. `current` marks this device. */
72
+ devices(): Promise<AccountDevice[]>;
73
+ renameDevice(id: string, name: string): Promise<void>;
74
+ /** Stops the device from renewing Cloud access. Removing the current device signs it out. */
75
+ removeDevice(id: string): Promise<void>;
76
+ projectSyncStatus(projectId?: string): Promise<ProjectSyncStatus>;
77
+ /** Syncs the project on every device of the account that has it. */
78
+ syncProject(projectId?: string): Promise<void>;
79
+ /**
80
+ * Makes the project local on every device. Each device keeps its copy and the encrypted
81
+ * Cloud data stays, so syncing again merges the copies.
82
+ */
83
+ stopProjectSync(projectId?: string): Promise<void>;
84
+ }
7
85
  type ContributionKind = "activity-item" | "artifact-mount" | "command" | "command-palette-resource" | "connection" | "file-icon-theme" | "harness" | "hook" | "keybinding" | "middleware" | "mode" | "navigation-item" | "navigation-tree" | "page" | "placement" | "resource-hierarchy-provider" | "resource-kind" | "schedule" | "settings-panel" | "settings-section" | "skill" | "status-bar-item" | "template" | "template-type" | "theme" | "view" | "view-menu" | "workspace-type";
8
86
  interface ContributionRef<Kind extends ContributionKind> {
9
87
  readonly extensionId?: string;
@@ -12,8 +90,6 @@ interface ContributionRef<Kind extends ContributionKind> {
12
90
  }
13
91
  type PageRef$1 = ContributionRef<"page">;
14
92
  type PlacementRef$1 = ContributionRef<"placement">;
15
- //#endregion
16
- //#region ../pstdio-api-contracts/src/extension-kernel/types/json.d.ts
17
93
  type JsonPrimitive = string | number | boolean | null;
18
94
  type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
19
95
  type JsonObject = {
@@ -21,8 +97,6 @@ type JsonObject = {
21
97
  };
22
98
  type MaybePromise<T> = T | Promise<T>;
23
99
  type Struct = object;
24
- //#endregion
25
- //#region ../pstdio-api-contracts/src/extensions.terminal.d.ts
26
100
  interface TerminalSessionRequest$1 {
27
101
  /** Command + args to run; defaults to the user's login shell when omitted. */
28
102
  command?: string[];
@@ -62,8 +136,6 @@ type TerminalSessionResult = {
62
136
  operation: "write" | "resize" | "kill" | "subscribe";
63
137
  accepted: true;
64
138
  };
65
- //#endregion
66
- //#region ../pstdio-api-contracts/src/agents.d.ts
67
139
  declare const harnessParamsSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
68
140
  control: z.ZodOptional<z.ZodLiteral<"command">>;
69
141
  label: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -198,16 +270,47 @@ declare const agentModelSchema: z.ZodObject<{
198
270
  type AgentInfo = z.infer<typeof agentInfoSchema>;
199
271
  type AgentModel = z.infer<typeof agentModelSchema>;
200
272
  type HarnessParamsInfo = z.infer<typeof harnessParamsSchema>;
201
- //#endregion
202
- //#region ../pstdio-api-contracts/src/extension-kernel/types/sessions.d.ts
203
273
  interface ExtensionHarnessInput {
204
274
  harnessId: string;
205
275
  model?: string;
206
276
  /** Run params the harness declares for the model, such as reasoning effort. They override the project's defaults. */
207
277
  params?: Record<string, string | boolean>;
208
278
  }
209
- //#endregion
210
- //#region ../pstdio-api-contracts/src/extension-kernel/types/webview-capabilities.d.ts
279
+ /** One atomic set of fields. An empty path replaces the root object. */
280
+ interface WebviewEditingChange {
281
+ path: string[];
282
+ value: JsonValue;
283
+ }
284
+ interface WebviewEditingSnapshot {
285
+ value: JsonObject;
286
+ /** Changes for every preview, commit, cancellation, refresh, or acknowledgement. */
287
+ version: number;
288
+ /** Latest committed local edit. Preview changes do not increment this revision. */
289
+ revision: number;
290
+ /** Latest local revision acknowledged by the save command. */
291
+ savedRevision: number;
292
+ }
293
+ type WebviewEditingSessionParams = {
294
+ operation: "open";
295
+ sessionId: string;
296
+ key: string;
297
+ initial: JsonObject;
298
+ /** Receives `params` plus the coalesced `changes` array. Must belong to the caller. */
299
+ save: Pick<WebviewCommandsExecuteParams, "commandId" | "params">;
300
+ } | {
301
+ operation: "commit" | "preview";
302
+ sessionId: string;
303
+ sequence: number;
304
+ changes: WebviewEditingChange[];
305
+ } | {
306
+ operation: "cancel" | "close" | "save";
307
+ sessionId: string;
308
+ } | {
309
+ operation: "refresh";
310
+ sessionId: string;
311
+ expectedVersion: number;
312
+ value: JsonObject;
313
+ };
211
314
  interface WebviewCommandsExecuteParams {
212
315
  commandId: string;
213
316
  params?: JsonObject;
@@ -305,6 +408,44 @@ interface WebviewArtifactFile {
305
408
  size: number;
306
409
  mediaType: string;
307
410
  }
411
+ /** Reads mirror `ctx.account`. A missing project id means the webview's project. */
412
+ type WebviewAccountReadParams = {
413
+ op: "status";
414
+ } | {
415
+ op: "loginStatus";
416
+ id: string;
417
+ } | {
418
+ op: "devices";
419
+ } | {
420
+ op: "projectSyncStatus";
421
+ projectId?: string;
422
+ };
423
+ /** Changes mirror `ctx.account`. A missing project id means the webview's project. */
424
+ type WebviewAccountManageParams = {
425
+ op: "login";
426
+ managerOrigin: string;
427
+ } | {
428
+ op: "cancelLogin";
429
+ id: string;
430
+ } | {
431
+ op: "logout";
432
+ } | {
433
+ op: "renameDevice";
434
+ id: string;
435
+ name: string;
436
+ } | {
437
+ op: "removeDevice";
438
+ id: string;
439
+ } | {
440
+ op: "syncProject";
441
+ projectId?: string;
442
+ } | {
443
+ op: "stopProjectSync";
444
+ projectId?: string;
445
+ };
446
+ type WebviewAccountResult<Params extends {
447
+ op: keyof ExtensionAccountApi;
448
+ }> = Awaited<ReturnType<ExtensionAccountApi[Params["op"]]>>;
308
449
  interface WebviewKeyboardEventParams {
309
450
  key?: string;
310
451
  code?: string;
@@ -329,6 +470,7 @@ interface WebviewHostCapabilityParams {
329
470
  };
330
471
  "commands.execute": WebviewCommandsExecuteParams;
331
472
  "commands.stream": WebviewCommandsStreamParams;
473
+ "editing.session": WebviewEditingSessionParams;
332
474
  "page.params.update": WebviewPageParamsUpdateParams;
333
475
  "navigation.open": WebviewNavigationOpenParams;
334
476
  "placement.close": Record<string, never>;
@@ -353,6 +495,8 @@ interface WebviewHostCapabilityParams {
353
495
  /** @deprecated Use extension commands and owned storage. */
354
496
  "files.delete": WebviewFilesDeleteParams;
355
497
  "artifacts.read": WebviewArtifactsReadParams;
498
+ "account.read": WebviewAccountReadParams;
499
+ "account.manage": WebviewAccountManageParams;
356
500
  "host.dispatchKeyboardEvent": WebviewKeyboardEventParams;
357
501
  }
358
502
  interface WebviewHostCapabilityResults {
@@ -371,6 +515,7 @@ interface WebviewHostCapabilityResults {
371
515
  operation: "start" | "cancel" | "ack";
372
516
  accepted: true;
373
517
  };
518
+ "editing.session": WebviewEditingSnapshot | undefined;
374
519
  "page.params.update": {
375
520
  location: PageLocation$1;
376
521
  };
@@ -411,6 +556,8 @@ interface WebviewHostCapabilityResults {
411
556
  /** @deprecated Use extension commands and owned storage. */
412
557
  "files.delete": void;
413
558
  "artifacts.read": WebviewArtifactFile[] | string;
559
+ "account.read": WebviewAccountResult<WebviewAccountReadParams>;
560
+ "account.manage": WebviewAccountResult<WebviewAccountManageParams>;
414
561
  "host.dispatchKeyboardEvent": void;
415
562
  }
416
563
  interface WebviewResourceAction {
@@ -430,8 +577,6 @@ interface WebviewResourceAction {
430
577
  label?: string;
431
578
  };
432
579
  }
433
- //#endregion
434
- //#region ../pstdio-api-contracts/src/extension-kernel/types/pages.d.ts
435
580
  type PageParamValue$1 = string | number | boolean | readonly string[];
436
581
  type PageParams = Readonly<Record<string, PageParamValue$1>>;
437
582
  type PageOpenIntent$1 = "preview" | "pin";
@@ -457,9 +602,13 @@ interface PageLocation$1 {
457
602
  readonly params?: PageParams;
458
603
  readonly parent?: PageLocation$1;
459
604
  }
460
- //#endregion
461
- //#region ../pstdio-api-contracts/src/extension-kernel/types/resources.d.ts
462
605
  interface ResourceRef$2 {
606
+ /** Personal session/workspace ownership. Other users can see this pointer only. */
607
+ device?: {
608
+ ownerId: string;
609
+ id: string;
610
+ name: string;
611
+ };
463
612
  type: string;
464
613
  id: string;
465
614
  shorthand?: string;
@@ -469,8 +618,6 @@ interface ResourceRef$2 {
469
618
  extensionId?: string;
470
619
  metadata?: JsonObject;
471
620
  }
472
- //#endregion
473
- //#region ../pstdio-api-contracts/src/notifications/types.d.ts
474
621
  type NotificationKind = "needs_review" | "ready_to_merge" | "blocked" | "approval_required" | "failed" | "info";
475
622
  type NotificationStatus = "open" | "read" | "snoozed" | "done" | "dismissed" | "expired";
476
623
  type NotificationPriority = "low" | "normal" | "high" | "urgent";
@@ -536,8 +683,6 @@ interface CreateNotificationInput {
536
683
  snoozedUntil?: string;
537
684
  metadata?: JsonObject;
538
685
  }
539
- //#endregion
540
- //#region ../pstdio-api-contracts/src/extension-kernel/types/storage.d.ts
541
686
  interface ExtensionBlobRef {
542
687
  id: string;
543
688
  name: string;
@@ -548,8 +693,6 @@ interface ExtensionBlobRef {
548
693
  createdAt: string;
549
694
  updatedAt: string;
550
695
  }
551
- //#endregion
552
- //#region ../pstdio-api-contracts/src/extension-kernel/types/file-renderer.d.ts
553
696
  interface FileRendererSectionAnchor {
554
697
  /** Stable extension-owned tree node id. */
555
698
  id: string;
@@ -562,8 +705,6 @@ interface FileRendererSectionTarget$1 {
562
705
  /** The document outline used for deep-linking and active-heading sync. */
563
706
  anchors: FileRendererSectionAnchor[];
564
707
  }
565
- //#endregion
566
- //#region ../pstdio-api-contracts/src/extension-kernel/types/navigation-target.d.ts
567
708
  interface NavigationTargetPage$2 {
568
709
  kind: "page";
569
710
  page: PageRef$1;
@@ -594,8 +735,6 @@ interface NavigationTargetCompound$1 {
594
735
  targets: readonly (NavigationTargetPage$2 | NavigationTargetPanel$2)[];
595
736
  }
596
737
  type NavigationTarget$2 = NavigationTargetItem$1 | NavigationTargetCompound$1;
597
- //#endregion
598
- //#region ../pstdio-api-contracts/src/extension-kernel/types/commands.d.ts
599
738
  type CommandSource = "cli" | "dashboard" | "api" | "schedule" | "event" | "automation" | "command-panel";
600
739
  interface CommandRef<TParams extends Struct = Struct, TResult = unknown> extends ContributionRef<"command"> {
601
740
  params?: TParams;
@@ -648,8 +787,6 @@ type CommandOutcome<TResult = unknown> = {
648
787
  ok: false;
649
788
  status: "error";
650
789
  });
651
- //#endregion
652
- //#region ../pstdio-api-contracts/src/extension-kernel/types/webview-host-props.d.ts
653
790
  interface WebviewHostProps {
654
791
  projectId?: string;
655
792
  themePreference: string;
@@ -666,20 +803,19 @@ interface WebviewHostProps {
666
803
  /** @deprecated Subscribe through client.events or useCommandQuery.refreshOn. */
667
804
  lastCommand?: unknown;
668
805
  }
669
- //#endregion
670
- //#region ../pstdio-api-contracts/src/extension-kernel/page-url.d.ts
671
806
  interface PageResourceCodec {
672
807
  normalize(resource: ResourceRef$2): ResourceRef$2;
673
808
  toUri(resource: ResourceRef$2): string;
674
809
  fromUri(uri: string): ResourceRef$2 | undefined;
675
810
  }
676
- //#endregion
677
- //#region ../pstdio-api-contracts/src/extension-kernel/page-resource-codec.d.ts
678
811
  /** Resource URI conversion belongs to route and persistence adapters. */
679
812
  declare const defaultPageResourceCodec: PageResourceCodec;
680
- //#endregion
681
- //#region ../pstdio-api-contracts/src/extensions/resource-ref.d.ts
682
813
  declare const extensionResourceRefSchema: z.ZodObject<{
814
+ device: z.ZodOptional<z.ZodObject<{
815
+ ownerId: z.ZodString;
816
+ id: z.ZodString;
817
+ name: z.ZodString;
818
+ }, z.core.$strip>>;
683
819
  shorthand: z.ZodOptional<z.ZodString>;
684
820
  type: z.ZodString;
685
821
  id: z.ZodString;
@@ -689,15 +825,11 @@ declare const extensionResourceRefSchema: z.ZodObject<{
689
825
  extensionId: z.ZodOptional<z.ZodString>;
690
826
  metadata: z.ZodOptional<z.ZodType<JsonObject, unknown, z.core.$ZodTypeInternals<JsonObject, unknown>>>;
691
827
  }, z.core.$strip>;
692
- //#endregion
693
- //#region ../pstdio-api-contracts/src/extensions/workbench-refs-metadata.d.ts
694
828
  declare const pageRefSchema: z.ZodObject<{
695
829
  extensionId: z.ZodString;
696
830
  kind: z.ZodLiteral<"page">;
697
831
  id: z.ZodString;
698
832
  }, z.core.$strip>;
699
- //#endregion
700
- //#region ../pstdio-api-contracts/src/extensions/navigation-target-metadata.d.ts
701
833
  declare const sectionSchema: z.ZodObject<{
702
834
  anchors: z.ZodArray<z.ZodObject<{
703
835
  id: z.ZodString;
@@ -715,8 +847,6 @@ interface MetadataPageTarget {
715
847
  params?: PageParams;
716
848
  parent?: MetadataPageTarget;
717
849
  }
718
- //#endregion
719
- //#region ../pstdio-api-contracts/src/extensions/commands.d.ts
720
850
  declare const extensionMenuContributionSchema: z.ZodObject<{
721
851
  id: z.ZodString;
722
852
  extensionId: z.ZodString;
@@ -779,8 +909,6 @@ declare const extensionMenuContributionSchema: z.ZodObject<{
779
909
  }, z.core.$strip>]>>;
780
910
  }, z.core.$strip>;
781
911
  type ExtensionMenuContribution$1 = z.infer<typeof extensionMenuContributionSchema>;
782
- //#endregion
783
- //#region ../pstdio-api-contracts/src/extensions/controls-renderer.d.ts
784
912
  declare const extensionControlsRendererRecordSchema: z.ZodObject<{
785
913
  id: z.ZodString;
786
914
  extensionId: z.ZodString;
@@ -813,8 +941,6 @@ declare const extensionControlsRendererRecordSchema: z.ZodObject<{
813
941
  }, z.core.$strict>]>>>;
814
942
  }, z.core.$strip>;
815
943
  type WorkbenchExtensionControlsRendererRecord = z.infer<typeof extensionControlsRendererRecordSchema>;
816
- //#endregion
817
- //#region ../pstdio-api-contracts/src/extensions/data-table-renderer.d.ts
818
944
  declare const extensionDataTableRendererRecordSchema: z.ZodObject<{
819
945
  id: z.ZodString;
820
946
  extensionId: z.ZodString;
@@ -1109,8 +1235,6 @@ declare const extensionDataTableRendererRecordSchema: z.ZodObject<{
1109
1235
  }, z.core.$strip>;
1110
1236
  type ExtensionDataTableRendererRecord = z.infer<typeof extensionDataTableRendererRecordSchema>;
1111
1237
  type WorkbenchExtensionDataTableRendererRecord = ExtensionDataTableRendererRecord;
1112
- //#endregion
1113
- //#region ../pstdio-api-contracts/src/extensions/kanban-renderer.d.ts
1114
1238
  declare const extensionKanbanRendererRecordSchema: z.ZodObject<{
1115
1239
  id: z.ZodString;
1116
1240
  extensionId: z.ZodString;
@@ -1444,8 +1568,6 @@ declare const extensionCommandPaletteResourceRecordSchema: z.ZodObject<{
1444
1568
  }, z.core.$strip>;
1445
1569
  type WorkbenchExtensionKanbanRendererRecord = z.infer<typeof extensionKanbanRendererRecordSchema>;
1446
1570
  type WorkbenchExtensionCommandPaletteResourceRecord$1 = z.infer<typeof extensionCommandPaletteResourceRecordSchema>;
1447
- //#endregion
1448
- //#region ../pstdio-api-contracts/src/extensions/keybindings.d.ts
1449
1571
  declare const extensionKeybindingRecordSchema: z.ZodObject<{
1450
1572
  id: z.ZodString;
1451
1573
  extensionId: z.ZodString;
@@ -1465,6 +1587,11 @@ declare const extensionKeybindingRecordSchema: z.ZodObject<{
1465
1587
  id: z.ZodString;
1466
1588
  }, z.core.$strip>]>;
1467
1589
  resource: z.ZodOptional<z.ZodObject<{
1590
+ device: z.ZodOptional<z.ZodObject<{
1591
+ ownerId: z.ZodString;
1592
+ id: z.ZodString;
1593
+ name: z.ZodString;
1594
+ }, z.core.$strip>>;
1468
1595
  shorthand: z.ZodOptional<z.ZodString>;
1469
1596
  type: z.ZodString;
1470
1597
  id: z.ZodString;
@@ -1509,6 +1636,11 @@ declare const extensionKeybindingRecordSchema: z.ZodObject<{
1509
1636
  id: z.ZodString;
1510
1637
  }, z.core.$strip>]>;
1511
1638
  resource: z.ZodOptional<z.ZodObject<{
1639
+ device: z.ZodOptional<z.ZodObject<{
1640
+ ownerId: z.ZodString;
1641
+ id: z.ZodString;
1642
+ name: z.ZodString;
1643
+ }, z.core.$strip>>;
1512
1644
  shorthand: z.ZodOptional<z.ZodString>;
1513
1645
  type: z.ZodString;
1514
1646
  id: z.ZodString;
@@ -1556,8 +1688,6 @@ declare const extensionKeybindingRecordSchema: z.ZodObject<{
1556
1688
  }, z.core.$strip>>;
1557
1689
  }, z.core.$strip>;
1558
1690
  type ExtensionKeybindingRecord = z.infer<typeof extensionKeybindingRecordSchema>;
1559
- //#endregion
1560
- //#region ../pstdio-api-contracts/src/extensions/renderers.d.ts
1561
1691
  declare const extensionTreeRendererRecordSchema: z.ZodObject<{
1562
1692
  id: z.ZodString;
1563
1693
  extensionId: z.ZodString;
@@ -1626,8 +1756,6 @@ declare const extensionFileRendererRecordSchema: z.ZodObject<{
1626
1756
  }, z.core.$strip>;
1627
1757
  type WorkbenchExtensionFileRendererRecord = z.infer<typeof extensionFileRendererRecordSchema>;
1628
1758
  type WorkbenchExtensionTreeRendererRecord = z.infer<typeof extensionTreeRendererRecordSchema>;
1629
- //#endregion
1630
- //#region ../pstdio-api-contracts/src/extensions/settings.d.ts
1631
1759
  declare const extensionSettingDefinitionRecordSchema: z.ZodObject<{
1632
1760
  key: z.ZodString;
1633
1761
  extensionId: z.ZodString;
@@ -1674,8 +1802,6 @@ declare const extensionSettingsSectionRecordSchema: z.ZodObject<{
1674
1802
  }, z.core.$strip>;
1675
1803
  type ExtensionSettingDefinitionRecord = z.infer<typeof extensionSettingDefinitionRecordSchema>;
1676
1804
  type ExtensionSettingsSectionRecord = z.infer<typeof extensionSettingsSectionRecordSchema>;
1677
- //#endregion
1678
- //#region src/core/shared/contributions/metadata.d.ts
1679
1805
  type ContributionSource = "module" | "extension";
1680
1806
  interface ContributionMetadata {
1681
1807
  source?: ContributionSource;
@@ -1687,13 +1813,9 @@ interface RegisteredContributionMetadata {
1687
1813
  ownerId: string;
1688
1814
  priority: number;
1689
1815
  }
1690
- //#endregion
1691
- //#region src/core/shared/disposable.d.ts
1692
1816
  interface Disposable {
1693
1817
  dispose(): void;
1694
1818
  }
1695
- //#endregion
1696
- //#region src/core/shared/store/workbench-store.d.ts
1697
1819
  type WorkbenchStoreSelector<TState, TValue> = (state: TState) => TValue;
1698
1820
  type WorkbenchStoreListener<TState> = (state: TState, previousState: TState) => void;
1699
1821
  type WorkbenchStoreSelectorListener<TValue> = (value: TValue, previousValue: TValue) => void;
@@ -1710,8 +1832,6 @@ interface InternalWorkbenchStore<TState> extends WorkbenchStore<TState> {
1710
1832
  setState: NamedSet<TState>;
1711
1833
  api: StoreApi<TState>;
1712
1834
  }
1713
- //#endregion
1714
- //#region src/core/registries/layout/panel-positions.d.ts
1715
1835
  declare const panelPositions: {
1716
1836
  readonly side: readonly ["left", "right"];
1717
1837
  readonly sidenav: readonly ["left", "right"];
@@ -1727,8 +1847,6 @@ interface WorkbenchArrangement {
1727
1847
  secondary: "top" | "bottom";
1728
1848
  activity: WorkbenchPanelPosition;
1729
1849
  }
1730
- //#endregion
1731
- //#region src/core/registries/layout/layout-regions.d.ts
1732
1850
  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"];
1733
1851
  type WorkbenchRegion = (typeof workbenchRegions)[number];
1734
1852
  declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
@@ -1749,8 +1867,6 @@ declare const workbenchPanelMenuRegions: {
1749
1867
  };
1750
1868
  };
1751
1869
  type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
1752
- //#endregion
1753
- //#region src/core/registries/layout/layout-types.d.ts
1754
1870
  interface WorkbenchRegionSize {
1755
1871
  defaultPx?: number;
1756
1872
  minPx?: number;
@@ -2029,8 +2145,6 @@ interface OpenWorkbenchPanelInput {
2029
2145
  tab?: WorkbenchPanelTab;
2030
2146
  strategy?: WorkbenchPanelOpenStrategy;
2031
2147
  }
2032
- //#endregion
2033
- //#region src/core/registries/navigation/navigation-registry.d.ts
2034
2148
  /** Core-only panel ref for host-owned shell placements. Extensions cannot address them. */
2035
2149
  interface ShellPlacementRef {
2036
2150
  kind: "shell-placement";
@@ -2099,8 +2213,6 @@ interface NavigationRegistry {
2099
2213
  navigate(location: string): Promise<readonly unknown[]>;
2100
2214
  onDidOpenTarget(listener: (target: NavigationTarget$1) => void): Disposable;
2101
2215
  }
2102
- //#endregion
2103
- //#region src/core/registries/resources/resource-preview.d.ts
2104
2216
  type ResourceChange = {
2105
2217
  label: string;
2106
2218
  } | {
@@ -2122,8 +2234,6 @@ declare const createResourcePreview: () => {
2122
2234
  commit(): Promise<void>;
2123
2235
  };
2124
2236
  };
2125
- //#endregion
2126
- //#region src/core/shared/context/context-key-service.d.ts
2127
2237
  type ContextKeyValue = boolean | number | string | undefined;
2128
2238
  interface ContextKeyStoreState {
2129
2239
  values: Record<string, ContextKeyValue>;
@@ -2145,8 +2255,6 @@ interface ContextKeyService {
2145
2255
  matches(expression?: string): boolean;
2146
2256
  }
2147
2257
  declare const matchesContextExpression: (values: Record<string, ContextKeyValue>, expression?: string) => boolean;
2148
- //#endregion
2149
- //#region src/core/registries/resources/resource-hierarchy.d.ts
2150
2258
  interface WorkbenchViewHierarchyNode {
2151
2259
  type: "view";
2152
2260
  viewId: string;
@@ -2168,8 +2276,6 @@ interface ResourceHierarchyCycle {
2168
2276
  path: WorkbenchHierarchyNode[];
2169
2277
  repeatedUri: string;
2170
2278
  }
2171
- //#endregion
2172
- //#region src/core/registries/resources/resource-registry.d.ts
2173
2279
  declare const workbenchResourceTypeContextKey = "workbench.resource.type";
2174
2280
  declare const workbenchResourceOwnerContextKey = "workbench.resource.extensionId";
2175
2281
  declare const workbenchResourceIdContextKey = "workbench.resource.id";
@@ -2238,8 +2344,6 @@ interface ResourceRegistry {
2238
2344
  walkHierarchy(resource: ResourceRef | undefined): WorkbenchHierarchyNode[];
2239
2345
  onDidDetectHierarchyCycle(listener: (cycle: ResourceHierarchyCycle) => void): Disposable;
2240
2346
  }
2241
- //#endregion
2242
- //#region src/core/controllers/breadcrumbs/breadcrumb-registry.d.ts
2243
2347
  interface WorkbenchBreadcrumbItem {
2244
2348
  title: unknown;
2245
2349
  icon?: string;
@@ -2261,8 +2365,6 @@ interface WorkbenchBreadcrumbController {
2261
2365
  getItems(): WorkbenchBreadcrumbItem[] | undefined;
2262
2366
  onDidChange(listener: WorkbenchBreadcrumbChangeListener): Disposable;
2263
2367
  }
2264
- //#endregion
2265
- //#region src/core/registries/commands/command-registry.d.ts
2266
2368
  interface WorkbenchCommandExecutionError {
2267
2369
  commandId: string;
2268
2370
  args: unknown;
@@ -2341,8 +2443,6 @@ interface CommandRegistry {
2341
2443
  executeCommand(id: string, args?: unknown, context?: WorkbenchCommandExecutionContext): Promise<unknown>;
2342
2444
  onDidExecuteError(listener: WorkbenchCommandExecutionErrorListener): Disposable;
2343
2445
  }
2344
- //#endregion
2345
- //#region src/core/controllers/command-palette/command-palette-controller.d.ts
2346
2446
  type WorkbenchCommandPaletteChangeListener = (open: boolean) => void;
2347
2447
  type WorkbenchCommandPaletteView = "main" | "theme";
2348
2448
  interface WorkbenchCommandParamsRequest {
@@ -2402,17 +2502,19 @@ interface WorkbenchCommandPaletteController {
2402
2502
  clearParams(): void;
2403
2503
  onDidChange(listener: WorkbenchCommandPaletteChangeListener): Disposable;
2404
2504
  }
2405
- //#endregion
2406
- //#region src/core/registries/layout/layout-model-types.d.ts
2407
2505
  type LayoutScope = string;
2408
2506
  interface LayoutPersistenceAdapter {
2409
2507
  getLayout(scope?: LayoutScope): WorkbenchLayout | undefined;
2410
2508
  setLayout(layout: WorkbenchLayout, scope?: LayoutScope): void;
2509
+ /** Remove a saved scope and cancel its pending writes. */
2510
+ removeLayout?(scope?: LayoutScope): void;
2411
2511
  /** All saved layouts, including pending writes and inactive scopes. */
2412
2512
  listLayouts?(): {
2413
2513
  scope?: string;
2414
2514
  layout: WorkbenchLayout;
2415
2515
  }[];
2516
+ /** Changes made by this adapter, including transforms and evictions. */
2517
+ onDidChangeLayout?(listener: (scope: string | undefined, layout: WorkbenchLayout | undefined) => void): () => void;
2416
2518
  listScopes?(projectId: string): LayoutScope[];
2417
2519
  transformLayouts?(projectId: string, transform: (layout: WorkbenchLayout, scope: LayoutScope) => WorkbenchLayout | undefined): void;
2418
2520
  getCompatibilityMarker?(key: string): string | undefined;
@@ -2499,8 +2601,6 @@ interface LayoutModel {
2499
2601
  dispose(): void;
2500
2602
  };
2501
2603
  }
2502
- //#endregion
2503
- //#region src/core/controllers/focus/focus-controller.d.ts
2504
2604
  declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
2505
2605
  type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
2506
2606
  type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
@@ -2514,8 +2614,6 @@ interface WorkbenchFocusController {
2514
2614
  getActiveRegion(): WorkbenchFocusRegionId | undefined;
2515
2615
  onDidChange(listener: WorkbenchFocusChangeListener): Disposable;
2516
2616
  }
2517
- //#endregion
2518
- //#region src/core/controllers/fullscreen/main-fullscreen.d.ts
2519
2617
  interface MainFullscreenState {
2520
2618
  active: boolean;
2521
2619
  sideOpen: boolean;
@@ -2529,8 +2627,6 @@ declare const createMainFullscreen: (getCore: () => WorkbenchCore) => {
2529
2627
  hideSide(): void;
2530
2628
  };
2531
2629
  type MainFullscreenController = ReturnType<typeof createMainFullscreen>;
2532
- //#endregion
2533
- //#region src/core/registries/menus/menu-registry.d.ts
2534
2630
  type MenuPath = readonly string[];
2535
2631
  interface MenuItem {
2536
2632
  /** Stable identity of this contribution, independent of its position or command arguments. */
@@ -2569,8 +2665,6 @@ interface MenuRegistry {
2569
2665
  registerMenuItem(path: MenuPath, item: MenuItem, metadata?: ContributionMetadata): Disposable;
2570
2666
  listMenuItems(path: MenuPath): RegisteredMenuItem[];
2571
2667
  }
2572
- //#endregion
2573
- //#region src/core/registries/renderers/renderer-registry.d.ts
2574
2668
  interface WorkbenchPanelRenderInput {
2575
2669
  workbench: WorkbenchCore;
2576
2670
  panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
@@ -2581,8 +2675,6 @@ interface WorkbenchRendererRegistration {
2581
2675
  id: string;
2582
2676
  render: (input: WorkbenchPanelRenderInput) => unknown;
2583
2677
  }
2584
- //#endregion
2585
- //#region src/core/registries/renderers/tree-renderer-types.d.ts
2586
2678
  interface TreeQueryContext {
2587
2679
  pageParams?: import("@pstdio/sdk/extensions").PageParams;
2588
2680
  signal?: AbortSignal;
@@ -2765,8 +2857,6 @@ interface TreeRendererRegistry {
2765
2857
  refresh(id: string): void;
2766
2858
  onDidRefresh(listener: TreeRendererRefreshListener): Disposable;
2767
2859
  }
2768
- //#endregion
2769
- //#region src/core/registries/navigation/navigation-tree-registry.d.ts
2770
2860
  interface DeclaredNavigationAction {
2771
2861
  label: string;
2772
2862
  action: NavigationTarget$1;
@@ -2818,8 +2908,6 @@ interface NavigationTreeRegistry {
2818
2908
  getDefaultExpandedSectionIds(owner: NavigationTreeOwner, slot?: NavigationTreeSlot): string[];
2819
2909
  onDidChange(listener: () => void): Disposable;
2820
2910
  }
2821
- //#endregion
2822
- //#region src/core/registries/layout/placement-reconciliation.d.ts
2823
2911
  interface PlacementDestination {
2824
2912
  identity: PlacementIdentity;
2825
2913
  region: WorkbenchRegion;
@@ -2842,8 +2930,6 @@ interface OwnedPlacementReconciliation<Value> {
2842
2930
  activate: readonly ResolvedOwnedPlacement<Value>[];
2843
2931
  remove: readonly ResolvedOwnedPlacement<Value>[];
2844
2932
  }
2845
- //#endregion
2846
- //#region src/core/registries/renderers/controls-renderer-registry.d.ts
2847
2933
  type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
2848
2934
  interface ControlsRendererLayout {
2849
2935
  region?: ControlsRendererRegion;
@@ -2883,8 +2969,6 @@ interface ControlsRendererContribution {
2883
2969
  reset?(input: ControlsResetInput): Promise<void> | void;
2884
2970
  subscribe?: (listener: () => void) => Disposable | (() => void);
2885
2971
  }
2886
- //#endregion
2887
- //#region src/core/registries/renderers/kanban-renderer-contracts.d.ts
2888
2972
  /**
2889
2973
  * Core-owned contracts for kanban renderer contributions. @pstdio/ui's
2890
2974
  * KanbanRenderer props are structurally identical; the React layer bridges the
@@ -3070,13 +3154,9 @@ interface CollectionViewsProvider<TSettings> {
3070
3154
  }
3071
3155
  type KanbanRendererViewsSource = CollectionViewsSource<KanbanRendererSettings>;
3072
3156
  type KanbanRendererViewsProvider = CollectionViewsProvider<KanbanRendererSettings>;
3073
- //#endregion
3074
- //#region src/core/registries/renderers/view-toolbar-action.d.ts
3075
3157
  interface ViewToolbarAction extends TreeAction {
3076
3158
  presentation?: "primary" | "secondary";
3077
3159
  }
3078
- //#endregion
3079
- //#region src/core/registries/renderers/data-table-renderer-registry.d.ts
3080
3160
  interface DataTableRendererThemeColor {
3081
3161
  light: string;
3082
3162
  dark: string;
@@ -3199,8 +3279,6 @@ interface DataTableRendererContribution {
3199
3279
  onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
3200
3280
  }
3201
3281
  interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {}
3202
- //#endregion
3203
- //#region src/core/registries/renderers/file-renderer-registry.d.ts
3204
3282
  interface FileRendererContent {
3205
3283
  fileName?: string;
3206
3284
  /** Workspace-relative path shown above the file preview. */
@@ -3245,8 +3323,6 @@ interface FileRendererContribution {
3245
3323
  /** The loaded document that the editor started from. */
3246
3324
  loaded?: FileRendererContent): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
3247
3325
  }
3248
- //#endregion
3249
- //#region src/core/registries/renderers/kanban-renderer-registry.d.ts
3250
3326
  interface KanbanRendererQueryState {
3251
3327
  pageParams?: import("@pstdio/sdk/extensions").PageParams;
3252
3328
  settings: KanbanRendererSettings;
@@ -3308,8 +3384,6 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
3308
3384
  onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
3309
3385
  onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
3310
3386
  }
3311
- //#endregion
3312
- //#region src/core/registries/views/renderer-read-registry.d.ts
3313
3387
  interface RendererReadRequest<T> {
3314
3388
  queryKey: string;
3315
3389
  load(signal: AbortSignal, publish: (value: T) => void): Promise<T> | T;
@@ -3326,8 +3400,6 @@ interface RendererReadRegistry {
3326
3400
  dispose(): Promise<void>;
3327
3401
  }
3328
3402
  declare const createRendererReadRegistry: () => RendererReadRegistry;
3329
- //#endregion
3330
- //#region src/core/registries/views/view-registry.d.ts
3331
3403
  declare const workbenchViewIdContextKey = "workbench.view.id";
3332
3404
  type NativeViewBody<Kind extends string, Contribution> = {
3333
3405
  kind: Kind;
@@ -3361,8 +3433,6 @@ interface CreateWorkbenchViewRegistryInput {
3361
3433
  };
3362
3434
  }
3363
3435
  declare const createViewRegistry: (input: CreateWorkbenchViewRegistryInput) => WorkbenchViewRegistry;
3364
- //#endregion
3365
- //#region src/core/registries/view-menus/view-menu-registry.d.ts
3366
3436
  interface WorkbenchViewMenuContribution {
3367
3437
  id: string;
3368
3438
  ownerViewId: string;
@@ -3382,8 +3452,6 @@ interface WorkbenchViewMenuRegistry {
3382
3452
  listViewMenus(ownerViewId?: string): WorkbenchViewMenuContribution[];
3383
3453
  definitionsFor(ownerViewId: string, placementId: string): readonly WorkbenchPanelMenuDefinition[];
3384
3454
  }
3385
- //#endregion
3386
- //#region src/core/registries/views/view-placement.d.ts
3387
3455
  interface WorkbenchPlacementPresentation {
3388
3456
  mountStrategy?: WidgetMountStrategy;
3389
3457
  hiddenByDefault?: boolean;
@@ -3391,8 +3459,6 @@ interface WorkbenchPlacementPresentation {
3391
3459
  tab?: WorkbenchPanelTab;
3392
3460
  config?: unknown;
3393
3461
  }
3394
- //#endregion
3395
- //#region src/core/registries/pages/page-registry-types.d.ts
3396
3462
  interface WorkbenchPageSlot extends Omit<PageSlot, "tab"> {
3397
3463
  readonly isAvailable?: (resource: ResourceRef | undefined) => boolean;
3398
3464
  readonly tab?: WorkbenchPlacementPresentation["tab"];
@@ -3462,8 +3528,6 @@ interface WorkbenchPageRegistry<Value> {
3462
3528
  pinPlacement(identity: PlacementIdentity, open?: PageOpenIntent): void;
3463
3529
  openSlot(input: WorkbenchPageSlotOpenInput): void;
3464
3530
  }
3465
- //#endregion
3466
- //#region src/core/controllers/page-location/page-location-types.d.ts
3467
3531
  interface WorkbenchPageBrowserEntry {
3468
3532
  url: string;
3469
3533
  state?: unknown;
@@ -3527,8 +3591,6 @@ interface WorkbenchPageLocationHistoryState {
3527
3591
  canGoBack: boolean;
3528
3592
  canGoForward: boolean;
3529
3593
  }
3530
- //#endregion
3531
- //#region src/core/controllers/panel-menus/panel-menu-state-controller.d.ts
3532
3594
  interface WorkbenchPanelMenuState {
3533
3595
  openByMenuId: Record<string, boolean>;
3534
3596
  }
@@ -3549,8 +3611,6 @@ interface WorkbenchPanelMenuStateController {
3549
3611
  getPersistenceScope(): string | undefined;
3550
3612
  onDidChange(listener: WorkbenchPanelMenuStateChangeListener): Disposable;
3551
3613
  }
3552
- //#endregion
3553
- //#region src/core/controllers/side-panel/side-panel-controller.d.ts
3554
3614
  type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
3555
3615
  interface WorkbenchSidePanelController {
3556
3616
  canFloat(): boolean;
@@ -3558,8 +3618,6 @@ interface WorkbenchSidePanelController {
3558
3618
  setMode(mode: WorkbenchSidePanelMode): void;
3559
3619
  onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable;
3560
3620
  }
3561
- //#endregion
3562
- //#region src/core/controllers/shell/panel-policy.d.ts
3563
3621
  declare const resolvePanelPolicy: (input: {
3564
3622
  region: WorkbenchRegion;
3565
3623
  mode?: WorkbenchModeContribution;
@@ -3581,8 +3639,6 @@ declare const resolvePanelPolicy: (input: {
3581
3639
  legacyHeaders: boolean;
3582
3640
  };
3583
3641
  type WorkbenchPanelPolicy = ReturnType<typeof resolvePanelPolicy>;
3584
- //#endregion
3585
- //#region src/core/controllers/shell/panel-position.d.ts
3586
3642
  declare const createPanelPositionController: (input: {
3587
3643
  layout: LayoutModel;
3588
3644
  getPolicy(region: WorkbenchPositionedRegion): WorkbenchPanelPolicy;
@@ -3596,8 +3652,6 @@ declare const createPanelPositionController: (input: {
3596
3652
  getPanelPositions: (region: WorkbenchPositionedRegion) => readonly WorkbenchPanelPosition[];
3597
3653
  repositionPanel(region: WorkbenchPositionedRegion, position: WorkbenchPanelPosition): void;
3598
3654
  };
3599
- //#endregion
3600
- //#region src/core/controllers/shell/shell-controller.d.ts
3601
3655
  type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
3602
3656
  type WorkbenchShellOpenRegion = "sidenav" | "secondary" | "side";
3603
3657
  interface WorkbenchShellRegionState {
@@ -3614,8 +3668,6 @@ interface WorkbenchShellController extends ReturnType<typeof createPanelPosition
3614
3668
  setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
3615
3669
  onDidChange(listener: () => void): Disposable;
3616
3670
  }
3617
- //#endregion
3618
- //#region src/core/controllers/terminal/terminal-controller.d.ts
3619
3671
  type WorkbenchTerminalSessionRequest = TerminalSessionRequest;
3620
3672
  type WorkbenchTerminalSessionExit = TerminalSessionExit;
3621
3673
  type WorkbenchTerminalSessionError = TerminalSessionError;
@@ -3669,8 +3721,6 @@ interface WorkbenchTerminalController {
3669
3721
  /** Kills every live session. Called when the owning workbench is torn down. */
3670
3722
  dispose(): Promise<void>;
3671
3723
  }
3672
- //#endregion
3673
- //#region src/core/registries/command-palette-resources/command-palette-resource-registry.d.ts
3674
3724
  interface CommandPaletteResourceQueryContext {
3675
3725
  query: string;
3676
3726
  limit: number;
@@ -3708,8 +3758,6 @@ interface CommandPaletteResourceRegistry {
3708
3758
  queryProviders(context: CommandPaletteResourceQueryContext): Promise<CommandPaletteResourceProviderResult[]>;
3709
3759
  refresh(): void;
3710
3760
  }
3711
- //#endregion
3712
- //#region src/core/registries/keybindings/keybinding-registry.d.ts
3713
3761
  interface Keybinding {
3714
3762
  /** Extension that authored this binding, when registered by an extension host. */
3715
3763
  sourceExtensionId?: string;
@@ -3735,19 +3783,13 @@ interface KeybindingRegistry {
3735
3783
  }[];
3736
3784
  }
3737
3785
  declare const getKeybindingSteps: (keybinding: KeybindingSequence) => string[];
3738
- //#endregion
3739
- //#region src/core/registries/placements/owned-placement-lifecycle.d.ts
3740
3786
  type WorkbenchOwnedPlacementItem = PlacementItem;
3741
- //#endregion
3742
- //#region src/core/registries/placements/owned-placement-preparation.d.ts
3743
3787
  interface OwnedPlacementLocationContext {
3744
3788
  modeId: string;
3745
3789
  pageId?: string;
3746
3790
  projectId?: string;
3747
3791
  location?: PageLocation;
3748
3792
  }
3749
- //#endregion
3750
- //#region src/core/registries/modes/mode-placement-registry.d.ts
3751
3793
  interface WorkbenchModePlacementContribution extends WorkbenchPlacementPresentation {
3752
3794
  readonly id: string;
3753
3795
  readonly ref: PlacementRef;
@@ -3779,8 +3821,6 @@ interface WorkbenchModePlacementRegistry {
3779
3821
  resolvePlacements(modeId: string, context?: OwnedPlacementLocationContext): readonly ResolvedOwnedPlacement<WorkbenchWidgetPlacement>[];
3780
3822
  onDidChange(listener: () => void): Disposable;
3781
3823
  }
3782
- //#endregion
3783
- //#region src/core/registries/notifications/notification-registry.d.ts
3784
3824
  type WorkbenchNotificationLevel = "info" | "success" | "warning" | "error";
3785
3825
  interface WorkbenchNotificationAction {
3786
3826
  commandId: string;
@@ -3831,8 +3871,6 @@ interface NotificationRegistry {
3831
3871
  subscribe(listener: WorkbenchNotificationListener): Disposable;
3832
3872
  captureActionError(label: string, target?: string): (error: unknown) => void;
3833
3873
  }
3834
- //#endregion
3835
- //#region src/core/registries/overlays/overlay-registry.d.ts
3836
3874
  interface WorkbenchOverlayContribution extends Omit<WorkbenchPlacementPresentation, "mountStrategy"> {
3837
3875
  id: string;
3838
3876
  viewId: string;
@@ -3849,8 +3887,6 @@ interface WorkbenchOverlayRegistry {
3849
3887
  openOverlay(id: string, input?: OpenWorkbenchOverlayInput): string;
3850
3888
  closeOverlay(instanceId: string): void;
3851
3889
  }
3852
- //#endregion
3853
- //#region src/core/registries/placeholders/placeholder-registry.d.ts
3854
3890
  interface WorkbenchPlaceholderContribution {
3855
3891
  id: string;
3856
3892
  viewId: string;
@@ -3863,8 +3899,6 @@ interface WorkbenchPlaceholderContribution {
3863
3899
  interface WorkbenchPlaceholderRegistry {
3864
3900
  registerPlaceholder(placeholder: WorkbenchPlaceholderContribution, metadata?: ContributionMetadata): Disposable;
3865
3901
  }
3866
- //#endregion
3867
- //#region src/core/registries/placements/shell-placement-registry.d.ts
3868
3902
  interface WorkbenchShellPlacementContribution extends WorkbenchPlacementPresentation {
3869
3903
  readonly id: string;
3870
3904
  readonly item: WorkbenchOwnedPlacementItem;
@@ -3896,8 +3930,6 @@ interface WorkbenchShellPlacementRegistry {
3896
3930
  resolvePlacements(context?: OwnedPlacementLocationContext): readonly ResolvedOwnedPlacement<WorkbenchWidgetPlacement>[];
3897
3931
  onDidChange(listener: () => void): Disposable;
3898
3932
  }
3899
- //#endregion
3900
- //#region src/core/registries/preferences/preference-registry.d.ts
3901
3933
  type PreferenceScope = "default" | "user" | "project" | "repo" | "workspace" | "extension" | "session";
3902
3934
  type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
3903
3935
  interface PreferencePropertySchema {
@@ -3940,8 +3972,6 @@ interface PreferenceRegistry {
3940
3972
  setValue(name: string, value: PreferenceValue, scope: PreferenceScopeRef): void | Promise<void>;
3941
3973
  getValue(name: string, scope?: PreferenceScopeRef): PreferenceValue | undefined;
3942
3974
  }
3943
- //#endregion
3944
- //#region src/core/registries/settings/settings-registry.d.ts
3945
3975
  /** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
3946
3976
  type SettingsScope = "global" | "project";
3947
3977
  /** A "+ create"-style action surfaced on a section or a collection's parent node. */
@@ -4029,8 +4059,6 @@ interface SettingsRegistry {
4029
4059
  /** Signal that a collection's backing data changed so the surface refreshes. */
4030
4060
  refresh(): void;
4031
4061
  }
4032
- //#endregion
4033
- //#region src/core/registries/status-bar/status-bar-registry.d.ts
4034
4062
  type WorkbenchStatusBarSlot = "leading" | "trailing";
4035
4063
  interface WorkbenchStatusBarItem {
4036
4064
  id: string;
@@ -4065,8 +4093,6 @@ interface CreateWorkbenchStatusBarRegistryInput {
4065
4093
  persistence?: WorkbenchStatusBarPersistenceAdapter;
4066
4094
  }
4067
4095
  declare const createStatusBarRegistry: (input: CreateWorkbenchStatusBarRegistryInput) => WorkbenchStatusBarRegistry;
4068
- //#endregion
4069
- //#region src/core/registries/statuses/status-registry.d.ts
4070
4096
  interface WorkflowStatus {
4071
4097
  id: string;
4072
4098
  label: string;
@@ -4104,8 +4130,6 @@ interface WorkbenchStatusRegistry {
4104
4130
  save(id: string, statuses: readonly WorkflowStatus[]): Promise<readonly WorkflowStatus[]>;
4105
4131
  }
4106
4132
  declare const createStatusRegistry: () => WorkbenchStatusRegistry;
4107
- //#endregion
4108
- //#region src/core/registries/themes/file-icon-theme-contracts.d.ts
4109
4133
  /**
4110
4134
  * Core-owned contract for file icon theme registrations. Structurally identical
4111
4135
  * to @pstdio/ui's FileIconThemePreferenceOption; the React layer bridges the two
@@ -4132,8 +4156,6 @@ interface FileIconThemePreferenceOption {
4132
4156
  };
4133
4157
  fonts: FileIconThemeFont[];
4134
4158
  }
4135
- //#endregion
4136
- //#region src/core/registries/themes/file-icon-theme-registry.d.ts
4137
4159
  interface WorkbenchFileIconThemeStoreState {
4138
4160
  themes: readonly FileIconThemePreferenceOption[];
4139
4161
  }
@@ -4142,8 +4164,6 @@ interface FileIconThemeRegistry {
4142
4164
  register(themes: readonly FileIconThemePreferenceOption[]): Disposable;
4143
4165
  listThemes(): readonly FileIconThemePreferenceOption[];
4144
4166
  }
4145
- //#endregion
4146
- //#region src/core/registries/themes/theme-contracts.d.ts
4147
4167
  /**
4148
4168
  * Core-owned contract for theme registrations. Structurally identical to
4149
4169
  * @pstdio/ui's ThemePreferenceOption; the React layer bridges the two so core
@@ -4159,8 +4179,6 @@ interface ThemePreferenceOption {
4159
4179
  tokens?: ThemePreferenceTokens;
4160
4180
  monacoTheme?: unknown;
4161
4181
  }
4162
- //#endregion
4163
- //#region src/core/registries/themes/theme-registry.d.ts
4164
4182
  interface WorkbenchThemeStoreState {
4165
4183
  themes: readonly ThemePreferenceOption[];
4166
4184
  }
@@ -4169,8 +4187,6 @@ interface ThemeRegistry {
4169
4187
  register(themes: readonly ThemePreferenceOption[]): Disposable;
4170
4188
  listThemes(): readonly ThemePreferenceOption[];
4171
4189
  }
4172
- //#endregion
4173
- //#region src/core/workbench-core-types.d.ts
4174
4190
  type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
4175
4191
  type WorkbenchModuleLayoutModel = Omit<WorkbenchLayoutModel, "registerPanel" | "registerWidget" | "openPanel" | "openWidget" | "registerPlaceholder" | "registerPanelMenu">;
4176
4192
  type WorkbenchTreeViews = Pick<TreeRendererRegistry, "getTreeState" | "setNodeExpanded" | "setSectionExpanded" | "setSelectedNode">;
@@ -4229,15 +4245,19 @@ interface WorkbenchSnapshot {
4229
4245
  interface WorkbenchPersistenceAdapter {
4230
4246
  getSnapshot(scope?: string): WorkbenchSnapshot | undefined;
4231
4247
  setSnapshot(snapshot: WorkbenchSnapshot, scope?: string): void;
4248
+ /** Remove a saved scope and cancel its pending writes. */
4249
+ removeSnapshot?(scope?: string): void;
4232
4250
  listLayouts?(): {
4233
4251
  scope?: string;
4234
4252
  layout: WorkbenchLayout;
4235
4253
  }[];
4254
+ onDidChangeLayout?(listener: (scope: string | undefined, layout: WorkbenchLayout | undefined) => void): () => void;
4236
4255
  flush?(): void;
4237
4256
  dispose?(): void;
4238
4257
  }
4239
4258
  interface WorkbenchHost {
4240
4259
  getOpenPlacements(): WorkbenchWidgetPlacement[];
4260
+ getOpenPlacementIds(): ReadonlySet<string>;
4241
4261
  getSnapshot(): WorkbenchSnapshot;
4242
4262
  restoreSnapshot(snapshot: WorkbenchSnapshot): void;
4243
4263
  setPersistenceScope(scope: string | undefined, input?: {
@@ -4292,11 +4312,7 @@ interface WorkbenchModuleContribution {
4292
4312
  ownerId?: string;
4293
4313
  activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
4294
4314
  }
4295
- //#endregion
4296
- //#region src/core/workbench-core.d.ts
4297
4315
  declare const createWorkbench: (input?: createWorkbenchInput) => WorkbenchCore;
4298
- //#endregion
4299
- //#region src/core/registries/modes/mode-registry-types.d.ts
4300
4316
  type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
4301
4317
  type WorkbenchModeActivationResult = Disposable | readonly Disposable[] | undefined;
4302
4318
  interface WorkbenchModeAddablePanel {
@@ -4347,12 +4363,8 @@ interface WorkbenchModeRegistry {
4347
4363
  seedActiveMode(): void;
4348
4364
  onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable;
4349
4365
  }
4350
- //#endregion
4351
- //#region src/core/registries/modes/mode-layout.d.ts
4352
4366
  declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
4353
4367
  declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
4354
- //#endregion
4355
- //#region src/core/controllers/composition/composition-controller.d.ts
4356
4368
  interface WorkbenchCompositionAddablePanel extends WorkbenchModeAddablePanel {
4357
4369
  contribution: RegisteredWidgetContribution;
4358
4370
  open?(resource?: ResourceRef$1): void | Promise<void>;
@@ -4365,8 +4377,6 @@ interface WorkbenchCompositionRegionPanels {
4365
4377
  interface WorkbenchCompositionController {
4366
4378
  panelsFor(region: WorkbenchPanelRegion): WorkbenchCompositionRegionPanels;
4367
4379
  }
4368
- //#endregion
4369
- //#region src/core/controllers/page-location/navigation-level-composition.d.ts
4370
4380
  interface LevelNavigationHost {
4371
4381
  modes: {
4372
4382
  getActiveModeId(): string | undefined;
@@ -4388,12 +4398,8 @@ declare const createLevelNavigation: (host: LevelNavigationHost) => {
4388
4398
  getSections(slot: NavigationTreeSlot, signal?: AbortSignal, onProgress?: (sections: TreeViewSection[]) => void): Promise<TreeViewSection[]>;
4389
4399
  getDefaultExpandedSectionIds: () => string[];
4390
4400
  };
4391
- //#endregion
4392
- //#region src/core/registries/layout/surface-map.d.ts
4393
4401
  type AnchorId = "primary" | "secondary" | "attached";
4394
- declare const resolveAnchorRegion: (anchorId: AnchorId) => "activity" | "sidenav" | "main" | "secondary" | "side" | "status" | "nav" | "main-header" | "main-left-menu" | "main-right-menu" | "secondary-header" | "secondary-left-menu" | "secondary-right-menu" | "side-header" | "side-left-menu" | "side-right-menu" | "overlay";
4395
- //#endregion
4396
- //#region src/core/registries/menus/workbench-menu-paths.d.ts
4402
+ declare const resolveAnchorRegion: (anchorId: AnchorId) => "nav" | "activity" | "sidenav" | "main-header" | "main-left-menu" | "main" | "main-right-menu" | "secondary-header" | "secondary-left-menu" | "secondary" | "secondary-right-menu" | "side-header" | "side-left-menu" | "side" | "side-right-menu" | "status" | "overlay";
4397
4403
  declare const headerLeadingMenuPath: (region: string) => MenuPath;
4398
4404
  declare const headerTrailingMenuPath: (region: string) => MenuPath;
4399
4405
  declare const workbenchRegionTabLeadingMenuPath: (region: string) => MenuPath;
@@ -4403,11 +4409,7 @@ declare const workbenchTopHeaderLeadingMenuPath: MenuPath;
4403
4409
  declare const workbenchTopHeaderTrailingMenuPath: MenuPath;
4404
4410
  declare const workbenchBreadcrumbLocationMenuPath: readonly ["workbench", "breadcrumb", "location"];
4405
4411
  declare const resourceContextMenuPath: (resourceKind: string) => MenuPath;
4406
- //#endregion
4407
- //#region src/core/registries/navigation/navigation-target-key.d.ts
4408
4412
  declare const getNavigationTargetKey: (action: NavigationTarget$1) => string;
4409
- //#endregion
4410
- //#region src/core/registries/resources/resource-icons.d.ts
4411
4413
  declare const standardResourceIcons: {
4412
4414
  readonly project: "folder-root";
4413
4415
  readonly workspace: "computer";
@@ -4416,24 +4418,15 @@ declare const standardResourceIcons: {
4416
4418
  readonly kanbanRenderer: "table-properties";
4417
4419
  };
4418
4420
  type StandardResourceIcon = (typeof standardResourceIcons)[keyof typeof standardResourceIcons];
4419
- //#endregion
4420
- //#region src/core/registries/views/renderer-read-key.d.ts
4421
4421
  declare const rendererReadKey: (placement: WorkbenchPanelInstance, lane?: string) => string;
4422
- //#endregion
4423
- //#region src/core/registries/views/settle-read-batch.d.ts
4424
4422
  declare const settleReadBatch: <T>(tasks: ((signal: AbortSignal) => Promise<T> | T)[], signal?: AbortSignal) => Promise<Awaited<T>[]>;
4425
- //#endregion
4426
- //#region src/core/shared/run-user-action.d.ts
4427
4423
  declare const runUserAction: (workbench: {
4428
4424
  notifications: Pick<NotificationRegistry, "captureActionError">;
4429
4425
  }, label: string, run: () => unknown, options?: {
4430
4426
  inlineTarget?: string;
4431
4427
  onSuccess?: () => void;
4432
4428
  }) => Promise<void>;
4433
- //#endregion
4434
- //#region src/core/shared/store/workbench-batch.d.ts
4435
4429
  /** Commit related stores before their subscribers read the resulting workbench state. */
4436
4430
  declare const batchWorkbenchChanges: <Result>(commit: () => Result) => Result;
4437
- //#endregion
4438
- export { WorkflowStatus as $, WorkbenchTabMenuRow as $i, AttributeDescriptor as $n, WorkbenchCommandPaletteOpenInput as $r, WorkbenchTerminalSessionExit as $t, createWorkbench as A, PageParamValue$1 as Aa, ContextKeyScope as Ai, RendererReadBinding as An, NavigationTreeOwner as Ar, WorkbenchPlaceholderRegistry as At, WorkbenchSnapshot as B, WebviewNotificationResolveParams as Ba, NavigationTargetItem as Bi, FileRendererSaveResult as Bn, TreeRendererContribution as Br, WorkbenchOwnedPlacementItem as Bt, isWorkbenchModePanelAvailable as C, WorkbenchExtensionControlsRendererRecord as Ca, workbenchSelectionResourceKeyMetadataKey as Ci, WorkbenchReactViewBody as Cn, ControlsQueryResult$1 as Cr, PreferenceSchemaContribution as Ct, WorkbenchModeAddablePanelContext as D, CommandNotice as Da, WorkbenchViewHierarchyNode as Di, WorkbenchViewRegistryStoreState as Dn, ControlsUpdateValueInput as Dr, WorkbenchShellPlacementContribution as Dt, WorkbenchModeAddablePanel as E, WebviewHostProps as Ea, WorkbenchHierarchyNode as Ei, WorkbenchViewRegistry as En, ControlsResetInput as Er, PreferenceValue as Et, WorkbenchModuleContribution as F, WebviewFilesListParams as Fa, NavigationParser as Fi, KanbanRendererQueryState as Fn, TreeMoveEndpoint as Fr, WorkbenchNotificationAction as Ft, ThemePreferenceOption as G, WorkbenchLayout as Gi, DataTableRendererContribution as Gn, MenuItem as Gr, CommandPaletteResourceProvider as Gt, ThemeRegistry as H, WebviewPreferencesGetParams as Ha, RegisteredPlaceholderContribution as Hi, DataTableRendererColumn as Hn, TreeRendererState as Hr, KeybindingRegistry as Ht, WorkbenchModuleContributionContext as I, WebviewFilesUploadParams as Ia, NavigationRegistry as Ii, FileRendererContent as In, TreeMovePolicy as Ir, WorkbenchNotificationEvent as It, FileIconThemeFont as J, WorkbenchPanelTab as Ji, DataTableRendererRow as Jn, RegisteredMenuItem as Jr, CommandPaletteResourceRegistry as Jt, ThemePreferenceTokens as K, WorkbenchPanelInstance as Ki, DataTableRendererQueryContext as Kn, MenuPath as Kr, CommandPaletteResourceProviderResult as Kt, WorkbenchPagePersistenceScope as L, WebviewHostCapabilityParams as La, NavigationTarget$1 as Li, FileRendererContribution as Ln, TreeNode as Lr, WorkbenchNotificationLevel as Lt, WorkbenchCoreContributionContext as M, WebviewCommandsExecuteParams as Ma, ContextKeyValue as Mi, RendererReadRequest as Mn, NavigationTreeSlot as Mr, WorkbenchOverlayRegistry as Mt, WorkbenchHost as N, WebviewExtensionSettingSetParams as Na, matchesContextExpression as Ni, createRendererReadRegistry as Nn, TreeAction as Nr, NotificationRegistry as Nt, WorkbenchModeContribution as O, NavigationTarget$2 as Oa, isWorkbenchViewHierarchyNode as Oi, createViewRegistry as On, NavigationTreeContext as Or, WorkbenchShellPlacementRegistry as Ot, WorkbenchModuleContext as P, WebviewFilesDeleteParams as Pa, NavigationDispatcherContext as Pi, KanbanRendererContribution as Pn, TreeContext as Pr, WorkbenchNotification as Pt, WorkbenchStatusSetContribution as Q, WorkbenchTabMenuGroup as Qi, RegisteredDataTableRendererContribution as Qn, WorkbenchCommandPaletteController as Qr, WorkbenchTerminalSessionError as Qt, WorkbenchPagePersistenceScopeInput as R, WebviewHostCapabilityResults as Ra, NavigationTargetCommand as Ri, FileRendererRefreshEnvelope as Rn, TreeNodeInlineInput as Rr, WorkbenchModePlacementContribution as Rt, getWorkbenchModePanelForRegion as S, WorkbenchExtensionDataTableRendererRecord as Sa, workbenchResourceTypeContextKey as Si, RegisteredWorkbenchView as Sn, ControlsApplyInput as Sr, PreferenceRegistry as St, WorkbenchModeActivationResult as T, defaultPageResourceCodec as Ta, ResourceHierarchyProvider as Ti, WorkbenchViewContribution as Tn, ControlsRendererLayout as Tr, PreferenceScopeRef as Tt, ThemePreference as U, WebviewPreferencesSetParams as Ua, RegisteredWidgetContribution as Ui, DataTableRendererColumnRenderer as Un, TreeViewSection as Ur, KeybindingSequence as Ut, createWorkbenchInput as V, WebviewPageParamsUpdateParams as Va, NavigationTargetPanel$1 as Vi, DataTableRendererBadgePalette as Vn, TreeRendererPersistenceAdapter as Vr, Keybinding as Vt, ThemePreferenceMode as W, MaybePromise as Wa, WorkbenchCommandTarget as Wi, DataTableRendererColumnStat as Wn, WorkbenchPanelRenderInput as Wr, getKeybindingSteps as Wt, WorkbenchStatusRegistry as X, WorkbenchSidePanelMode as Xi, DataTableRendererSelectionAction as Xn, WorkbenchFocusRegionId as Xr, WorkbenchTerminalController as Xt, FileIconThemePreferenceOption as Y, WorkbenchRegionSize as Yi, DataTableRendererRowAction as Yn, WorkbenchFocusController as Yr, CommandPaletteResourceResult as Yt, WorkbenchStatusRegistryState as Z, WorkbenchTabAction as Zi, DataTableRendererThemeColor as Zn, LayoutPersistenceAdapter as Zr, WorkbenchTerminalSessionAdapter as Zt, workbenchTopHeaderLeadingMenuPath as _, WorkbenchExtensionFileRendererRecord as _a, createWorkbenchSelectionResourceMetadata as _i, WorkbenchPageNavigationResult as _n, KanbanRendererSettings as _r, SettingsScope as _t, StandardResourceIcon as a, WorkbenchPanelMenuRegion as aa, CommandRegistry as ai, WorkbenchTerminalState as an, BoardColumnConfig as ar, WorkbenchStatusBarRegistry as at, resolveAnchorRegion as b, WorkbenchExtensionCommandPaletteResourceRecord$1 as ba, workbenchResourceMetadataContextKey as bi, WorkbenchViewMenuContribution as bn, ResourceContextAction as br, PreferencePersistenceAdapter as bt, dockedWorkbenchRegions as c, WorkbenchRegion as ca, WorkbenchBreadcrumbController as ci, WorkbenchShellRegionState as cn, CollectionViewsSource as cr, createStatusBarRegistry as ct, headerTrailingMenuPath as d, WorkbenchStore as da, ResourceKindContribution as di, PersistedWorkbenchPageLocation as dn, EnumOptionsSource as dr, SettingsAction as dt, WorkbenchTabPosition as ea, Command as ei, WorkbenchTerminalSessionModel as en, AttributeDisplayDescriptor as er, WorkflowStatusAction as et, resourceContextMenuPath as f, Disposable as fa, ResourceListContext as fi, WorkbenchPageBrowserEntry as fn, KanbanRendererCreateField as fr, SettingsCollectionGroupBy as ft, workbenchRegionTabLeadingMenuPath as g, ExtensionSettingsSectionRecord as ga, createWorkbenchResourceContextValues as gi, WorkbenchPageLocationPersistence as gn, KanbanRendererRow as gr, SettingsRegistry as gt, workbenchRegionTabAddMenuPath as h, ExtensionSettingDefinitionRecord as ha, ResourceRegistry as hi, WorkbenchPageLocationDiagnostic as hn, KanbanRendererCreateSubmission as hr, SettingsPanelPreference as ht, rendererReadKey as i, WorkbenchWidgetTab as ia, CommandParamSchema as ii, WorkbenchTerminalSessionStatus as in, BoardColumnAction as ir, WorkbenchStatusBarPosition as it, WorkbenchCore as j, WebviewArtifactsReadParams as ja, ContextKeyService as ji, RendererReadRegistry as jn, NavigationTreeRegistry as jr, WorkbenchOverlayContribution as jt, WorkbenchModeRegistry as k, PageLocation$1 as ka, resourceHierarchyCycleCode as ki, workbenchViewIdContextKey as kn, NavigationTreeContribution as kr, WorkbenchPlaceholderContribution as kt, getNavigationTargetKey as l, workbenchPanelRegions as la, WorkbenchBreadcrumbItem as li, WorkbenchSidePanelPresentation as ln, EnumOption as lr, CollectionSettingsPanel as lt, workbenchCommandPaletteMenuPath as m, ContributionSource as ma, ResourceRef$1 as mi, WorkbenchPageLocationController as mn, KanbanRendererCreateRowConfig as mr, SettingsPanelContribution as mt, runUserAction as n, WorkbenchTabSnapshot as na, CommandParamDescriptor as ni, WorkbenchTerminalSessionRequest as nn, AttributeType as nr, WorkbenchStatusBarItem as nt, standardResourceIcons as o, WorkbenchPanelMenuSide as oa, WorkbenchCommandExecutionContext as oi, WorkbenchShellController as on, CollectionSavedView as or, WorkbenchStatusBarRegistryState as ot, workbenchBreadcrumbLocationMenuPath as p, ContributionMetadata as pa, ResourceProvider as pi, WorkbenchPageLocationBrowser as pn, KanbanRendererCreateFieldType as pr, SettingsPanelBase as pt, FileIconThemeRegistry as q, WorkbenchPanelMountStrategy as qi, DataTableRendererQueryResult as qn, MenuRegistry as qr, CommandPaletteResourceQueryContext as qt, settleReadBatch as r, WorkbenchWidgetPlacement as ra, CommandParamOption as ri, WorkbenchTerminalSessionSink as rn, AttributesSource as rr, WorkbenchStatusBarPersistenceAdapter as rt, DockedWorkbenchRegion$1 as s, WorkbenchPanelRegion as sa, WorkbenchCommandExecutionError as si, WorkbenchShellOpenRegion as sn, CollectionViewsProvider as sr, WorkbenchStatusBarSlot as st, batchWorkbenchChanges as t, WorkbenchTabRetention as ta, CommandHandler as ti, WorkbenchTerminalSessionOpener as tn, AttributeKind as tr, createStatusRegistry as tt, headerLeadingMenuPath as u, workbenchRegions as ua, ResourceBrowseEntry as ui, WorkbenchPanelMenuStatePersistenceAdapter as un, EnumOptions as ur, SchemaSettingsPanel as ut, workbenchTopHeaderTrailingMenuPath as v, WorkbenchExtensionTreeRendererRecord as va, getWorkbenchSelectionResourceKeys as vi, WorkbenchPageContribution as vn, KanbanRendererViewsProvider as vr, SettingsSectionContribution as vt, WorkbenchModeActivationContext as w, ExtensionMenuContribution$1 as wa, ResourceHierarchyCycle as wi, WorkbenchViewBody as wn, ControlsRendererContribution as wr, PreferenceScope as wt, createLevelNavigation as x, WorkbenchExtensionKanbanRendererRecord as xa, workbenchResourceOwnerContextKey as xi, WorkbenchViewMenuRegistry as xn, ViewMode as xr, PreferencePropertySchema as xt, AnchorId as y, ExtensionKeybindingRecord as ya, workbenchResourceIdContextKey as yi, WorkbenchPlacementPresentation as yn, KanbanRendererViewsSource as yr, ViewSettingsPanel as yt, WorkbenchPersistenceAdapter as z, WebviewNotificationActionParams as za, NavigationTargetCompound as zi, FileRendererRefreshOrigin as zn, TreeQueryContext as zr, WorkbenchModePlacementRegistry as zt };
4431
+ export { WorkflowStatus as $, WorkbenchTabMenuRow as $i, AttributeDescriptor as $n, WorkbenchCommandPaletteOpenInput as $r, WorkbenchTerminalSessionExit as $t, createWorkbench as A, PageParamValue$1 as Aa, ContextKeyScope as Ai, RendererReadBinding as An, NavigationTreeOwner as Ar, WorkbenchPlaceholderRegistry as At, WorkbenchSnapshot as B, WebviewNotificationResolveParams as Ba, NavigationTargetItem as Bi, FileRendererSaveResult as Bn, TreeRendererContribution as Br, WorkbenchOwnedPlacementItem as Bt, isWorkbenchModePanelAvailable as C, WorkbenchExtensionControlsRendererRecord as Ca, workbenchSelectionResourceKeyMetadataKey as Ci, WorkbenchReactViewBody as Cn, ControlsQueryResult$1 as Cr, PreferenceSchemaContribution as Ct, WorkbenchModeAddablePanelContext as D, CommandNotice as Da, WorkbenchViewHierarchyNode as Di, WorkbenchViewRegistryStoreState as Dn, ControlsUpdateValueInput as Dr, WorkbenchShellPlacementContribution as Dt, WorkbenchModeAddablePanel as E, WebviewHostProps as Ea, WorkbenchHierarchyNode as Ei, WorkbenchViewRegistry as En, ControlsResetInput as Er, PreferenceValue as Et, WorkbenchModuleContribution as F, WebviewFilesListParams as Fa, NavigationParser as Fi, KanbanRendererQueryState as Fn, TreeMoveEndpoint as Fr, WorkbenchNotificationAction as Ft, ThemePreferenceOption as G, WebviewEditingSnapshot as Ga, WorkbenchLayout as Gi, DataTableRendererContribution as Gn, MenuItem as Gr, CommandPaletteResourceProvider as Gt, ThemeRegistry as H, WebviewPreferencesGetParams as Ha, RegisteredPlaceholderContribution as Hi, DataTableRendererColumn as Hn, TreeRendererState as Hr, KeybindingRegistry as Ht, WorkbenchModuleContributionContext as I, WebviewFilesUploadParams as Ia, NavigationRegistry as Ii, FileRendererContent as In, TreeMovePolicy as Ir, WorkbenchNotificationEvent as It, FileIconThemeFont as J, ExtensionAccountApi as Ja, WorkbenchPanelTab as Ji, DataTableRendererRow as Jn, RegisteredMenuItem as Jr, CommandPaletteResourceRegistry as Jt, ThemePreferenceTokens as K, JsonObject as Ka, WorkbenchPanelInstance as Ki, DataTableRendererQueryContext as Kn, MenuPath as Kr, CommandPaletteResourceProviderResult as Kt, WorkbenchPagePersistenceScope as L, WebviewHostCapabilityParams as La, NavigationTarget$1 as Li, FileRendererContribution as Ln, TreeNode as Lr, WorkbenchNotificationLevel as Lt, WorkbenchCoreContributionContext as M, WebviewCommandsExecuteParams as Ma, ContextKeyValue as Mi, RendererReadRequest as Mn, NavigationTreeSlot as Mr, WorkbenchOverlayRegistry as Mt, WorkbenchHost as N, WebviewExtensionSettingSetParams as Na, matchesContextExpression as Ni, createRendererReadRegistry as Nn, TreeAction as Nr, NotificationRegistry as Nt, WorkbenchModeContribution as O, NavigationTarget$2 as Oa, isWorkbenchViewHierarchyNode as Oi, createViewRegistry as On, NavigationTreeContext as Or, WorkbenchShellPlacementRegistry as Ot, WorkbenchModuleContext as P, WebviewFilesDeleteParams as Pa, NavigationDispatcherContext as Pi, KanbanRendererContribution as Pn, TreeContext as Pr, WorkbenchNotification as Pt, WorkbenchStatusSetContribution as Q, WorkbenchTabMenuGroup as Qi, RegisteredDataTableRendererContribution as Qn, WorkbenchCommandPaletteController as Qr, WorkbenchTerminalSessionError as Qt, WorkbenchPagePersistenceScopeInput as R, WebviewHostCapabilityResults as Ra, NavigationTargetCommand as Ri, FileRendererRefreshEnvelope as Rn, TreeNodeInlineInput as Rr, WorkbenchModePlacementContribution as Rt, getWorkbenchModePanelForRegion as S, WorkbenchExtensionDataTableRendererRecord as Sa, workbenchResourceTypeContextKey as Si, RegisteredWorkbenchView as Sn, ControlsApplyInput as Sr, PreferenceRegistry as St, WorkbenchModeActivationResult as T, defaultPageResourceCodec as Ta, ResourceHierarchyProvider as Ti, WorkbenchViewContribution as Tn, ControlsRendererLayout as Tr, PreferenceScopeRef as Tt, ThemePreference as U, WebviewPreferencesSetParams as Ua, RegisteredWidgetContribution as Ui, DataTableRendererColumnRenderer as Un, TreeViewSection as Ur, KeybindingSequence as Ut, createWorkbenchInput as V, WebviewPageParamsUpdateParams as Va, NavigationTargetPanel$1 as Vi, DataTableRendererBadgePalette as Vn, TreeRendererPersistenceAdapter as Vr, Keybinding as Vt, ThemePreferenceMode as W, WebviewEditingSessionParams as Wa, WorkbenchCommandTarget as Wi, DataTableRendererColumnStat as Wn, WorkbenchPanelRenderInput as Wr, getKeybindingSteps as Wt, WorkbenchStatusRegistry as X, WorkbenchSidePanelMode as Xi, DataTableRendererSelectionAction as Xn, WorkbenchFocusRegionId as Xr, WorkbenchTerminalController as Xt, FileIconThemePreferenceOption as Y, WorkbenchRegionSize as Yi, DataTableRendererRowAction as Yn, WorkbenchFocusController as Yr, CommandPaletteResourceResult as Yt, WorkbenchStatusRegistryState as Z, WorkbenchTabAction as Zi, DataTableRendererThemeColor as Zn, LayoutPersistenceAdapter as Zr, WorkbenchTerminalSessionAdapter as Zt, workbenchTopHeaderLeadingMenuPath as _, WorkbenchExtensionFileRendererRecord as _a, createWorkbenchSelectionResourceMetadata as _i, WorkbenchPageNavigationResult as _n, KanbanRendererSettings as _r, SettingsScope as _t, StandardResourceIcon as a, WorkbenchPanelMenuRegion as aa, CommandRegistry as ai, WorkbenchTerminalState as an, BoardColumnConfig as ar, WorkbenchStatusBarRegistry as at, resolveAnchorRegion as b, WorkbenchExtensionCommandPaletteResourceRecord$1 as ba, workbenchResourceMetadataContextKey as bi, WorkbenchViewMenuContribution as bn, ResourceContextAction as br, PreferencePersistenceAdapter as bt, dockedWorkbenchRegions as c, WorkbenchRegion as ca, WorkbenchBreadcrumbController as ci, WorkbenchShellRegionState as cn, CollectionViewsSource as cr, createStatusBarRegistry as ct, headerTrailingMenuPath as d, WorkbenchStore as da, ResourceKindContribution as di, PersistedWorkbenchPageLocation as dn, EnumOptionsSource as dr, SettingsAction as dt, WorkbenchTabPosition as ea, Command as ei, WorkbenchTerminalSessionModel as en, AttributeDisplayDescriptor as er, WorkflowStatusAction as et, resourceContextMenuPath as f, Disposable as fa, ResourceListContext as fi, WorkbenchPageBrowserEntry as fn, KanbanRendererCreateField as fr, SettingsCollectionGroupBy as ft, workbenchRegionTabLeadingMenuPath as g, ExtensionSettingsSectionRecord as ga, createWorkbenchResourceContextValues as gi, WorkbenchPageLocationPersistence as gn, KanbanRendererRow as gr, SettingsRegistry as gt, workbenchRegionTabAddMenuPath as h, ExtensionSettingDefinitionRecord as ha, ResourceRegistry as hi, WorkbenchPageLocationDiagnostic as hn, KanbanRendererCreateSubmission as hr, SettingsPanelPreference as ht, rendererReadKey as i, WorkbenchWidgetTab as ia, CommandParamSchema as ii, WorkbenchTerminalSessionStatus as in, BoardColumnAction as ir, WorkbenchStatusBarPosition as it, WorkbenchCore as j, WebviewArtifactsReadParams as ja, ContextKeyService as ji, RendererReadRegistry as jn, NavigationTreeRegistry as jr, WorkbenchOverlayContribution as jt, WorkbenchModeRegistry as k, PageLocation$1 as ka, resourceHierarchyCycleCode as ki, workbenchViewIdContextKey as kn, NavigationTreeContribution as kr, WorkbenchPlaceholderContribution as kt, getNavigationTargetKey as l, workbenchPanelRegions as la, WorkbenchBreadcrumbItem as li, WorkbenchSidePanelPresentation as ln, EnumOption as lr, CollectionSettingsPanel as lt, workbenchCommandPaletteMenuPath as m, ContributionSource as ma, ResourceRef$1 as mi, WorkbenchPageLocationController as mn, KanbanRendererCreateRowConfig as mr, SettingsPanelContribution as mt, runUserAction as n, WorkbenchTabSnapshot as na, CommandParamDescriptor as ni, WorkbenchTerminalSessionRequest as nn, AttributeType as nr, WorkbenchStatusBarItem as nt, standardResourceIcons as o, WorkbenchPanelMenuSide as oa, WorkbenchCommandExecutionContext as oi, WorkbenchShellController as on, CollectionSavedView as or, WorkbenchStatusBarRegistryState as ot, workbenchBreadcrumbLocationMenuPath as p, ContributionMetadata as pa, ResourceProvider as pi, WorkbenchPageLocationBrowser as pn, KanbanRendererCreateFieldType as pr, SettingsPanelBase as pt, FileIconThemeRegistry as q, MaybePromise as qa, WorkbenchPanelMountStrategy as qi, DataTableRendererQueryResult as qn, MenuRegistry as qr, CommandPaletteResourceQueryContext as qt, settleReadBatch as r, WorkbenchWidgetPlacement as ra, CommandParamOption as ri, WorkbenchTerminalSessionSink as rn, AttributesSource as rr, WorkbenchStatusBarPersistenceAdapter as rt, DockedWorkbenchRegion$1 as s, WorkbenchPanelRegion as sa, WorkbenchCommandExecutionError as si, WorkbenchShellOpenRegion as sn, CollectionViewsProvider as sr, WorkbenchStatusBarSlot as st, batchWorkbenchChanges as t, WorkbenchTabRetention as ta, CommandHandler as ti, WorkbenchTerminalSessionOpener as tn, AttributeKind as tr, createStatusRegistry as tt, headerLeadingMenuPath as u, workbenchRegions as ua, ResourceBrowseEntry as ui, WorkbenchPanelMenuStatePersistenceAdapter as un, EnumOptions as ur, SchemaSettingsPanel as ut, workbenchTopHeaderTrailingMenuPath as v, WorkbenchExtensionTreeRendererRecord as va, getWorkbenchSelectionResourceKeys as vi, WorkbenchPageContribution as vn, KanbanRendererViewsProvider as vr, SettingsSectionContribution as vt, WorkbenchModeActivationContext as w, ExtensionMenuContribution$1 as wa, ResourceHierarchyCycle as wi, WorkbenchViewBody as wn, ControlsRendererContribution as wr, PreferenceScope as wt, createLevelNavigation as x, WorkbenchExtensionKanbanRendererRecord as xa, workbenchResourceOwnerContextKey as xi, WorkbenchViewMenuRegistry as xn, ViewMode as xr, PreferencePropertySchema as xt, AnchorId as y, ExtensionKeybindingRecord as ya, workbenchResourceIdContextKey as yi, WorkbenchPlacementPresentation as yn, KanbanRendererViewsSource as yr, ViewSettingsPanel as yt, WorkbenchPersistenceAdapter as z, WebviewNotificationActionParams as za, NavigationTargetCompound as zi, FileRendererRefreshOrigin as zn, TreeQueryContext as zr, WorkbenchModePlacementRegistry as zt };
4439
4432
  export {};