@pstdio/workbench 0.45.0-nightly.20261021030241 → 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.
Files changed (29) hide show
  1. package/dist/extensions.d.ts +21 -62
  2. package/dist/extensions.js +1250 -978
  3. package/dist/extensions.js.map +1 -1
  4. package/dist/{index-CEjUGkgB.d.ts → index-DL-0XKr0.d.ts} +247 -191
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.js +1530 -1271
  7. package/dist/index.js.map +1 -1
  8. package/dist/{kanban-presentation-CQNhh7IY.d.ts → kanban-presentation-CdHu43iH.d.ts} +1 -3
  9. package/dist/{layout-tab-presentation-Bz6EgFEa.js → layout-tab-presentation-CCUroIOY.js} +2 -3
  10. package/dist/{layout-tab-presentation-Bz6EgFEa.js.map → layout-tab-presentation-CCUroIOY.js.map} +1 -1
  11. package/dist/{navigation-tree-registry-BsMNSEyZ.js → navigation-tree-registry-DM4Lhfir.js} +3 -4
  12. package/dist/{navigation-tree-registry-BsMNSEyZ.js.map → navigation-tree-registry-DM4Lhfir.js.map} +1 -1
  13. package/dist/{react-hsii-4ZV.js → react-7X-EBlBD.js} +4163 -3123
  14. package/dist/react-7X-EBlBD.js.map +1 -0
  15. package/dist/react.d.ts +7 -94
  16. package/dist/react.js +1 -2
  17. package/dist/storage.d.ts +1 -7
  18. package/dist/storage.js +106 -80
  19. package/dist/storage.js.map +1 -1
  20. package/dist/webview-runtime.d.ts +0 -4
  21. package/dist/webview-runtime.js +2 -3
  22. package/dist/webview-runtime.js.map +1 -1
  23. package/dist/{workbench-renderers-Ku0_knjs.js → workbench-renderers-DOc_oE0K.js} +308 -292
  24. package/dist/workbench-renderers-DOc_oE0K.js.map +1 -0
  25. package/package.json +3 -3
  26. package/dist/file-renderer-view-CJBCZZIE.js +0 -668
  27. package/dist/file-renderer-view-CJBCZZIE.js.map +0 -1
  28. package/dist/react-hsii-4ZV.js.map +0 -1
  29. package/dist/workbench-renderers-Ku0_knjs.js.map +0 -1
@@ -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,21 @@ 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/layout-regions.d.ts
1835
+ declare const panelPositions: {
1836
+ readonly side: readonly ["left", "right"];
1837
+ readonly sidenav: readonly ["left", "right"];
1838
+ readonly main: readonly ["top", "bottom"];
1839
+ readonly secondary: readonly ["top", "bottom"];
1840
+ readonly activity: readonly ["left", "right", "top", "bottom"];
1841
+ };
1842
+ type WorkbenchPositionedRegion = keyof typeof panelPositions;
1843
+ type WorkbenchPanelPosition = "left" | "right" | "top" | "bottom";
1844
+ interface WorkbenchArrangement {
1845
+ side: "left" | "right";
1846
+ sidenav: "left" | "right";
1847
+ secondary: "top" | "bottom";
1848
+ activity: WorkbenchPanelPosition;
1849
+ }
1715
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"];
1716
1851
  type WorkbenchRegion = (typeof workbenchRegions)[number];
1717
1852
  declare const workbenchPanelRegions: readonly ["main", "secondary", "side"];
@@ -1732,8 +1867,6 @@ declare const workbenchPanelMenuRegions: {
1732
1867
  };
1733
1868
  };
1734
1869
  type WorkbenchPanelMenuRegion = (typeof workbenchPanelMenuRegions)[WorkbenchPanelRegion][WorkbenchPanelMenuSide];
1735
- //#endregion
1736
- //#region src/core/registries/layout/layout-types.d.ts
1737
1870
  interface WorkbenchRegionSize {
1738
1871
  defaultPx?: number;
1739
1872
  minPx?: number;
@@ -1953,6 +2086,8 @@ interface WorkbenchRegionState {
1953
2086
  headerVisible?: boolean;
1954
2087
  }
1955
2088
  interface WorkbenchLayout {
2089
+ /** Panel positions shared by all pages in this project and mode. */
2090
+ arrangement?: Partial<WorkbenchArrangement>;
1956
2091
  regions: Record<WorkbenchRegion, WorkbenchRegionState>;
1957
2092
  locationSubPanelSelections?: Record<string, Partial<Record<WorkbenchPanelRegion, string>>>;
1958
2093
  activeWidgetId?: string;
@@ -2010,8 +2145,6 @@ interface OpenWorkbenchPanelInput {
2010
2145
  tab?: WorkbenchPanelTab;
2011
2146
  strategy?: WorkbenchPanelOpenStrategy;
2012
2147
  }
2013
- //#endregion
2014
- //#region src/core/registries/navigation/navigation-registry.d.ts
2015
2148
  /** Core-only panel ref for host-owned shell placements. Extensions cannot address them. */
2016
2149
  interface ShellPlacementRef {
2017
2150
  kind: "shell-placement";
@@ -2080,8 +2213,6 @@ interface NavigationRegistry {
2080
2213
  navigate(location: string): Promise<readonly unknown[]>;
2081
2214
  onDidOpenTarget(listener: (target: NavigationTarget$1) => void): Disposable;
2082
2215
  }
2083
- //#endregion
2084
- //#region src/core/registries/resources/resource-preview.d.ts
2085
2216
  type ResourceChange = {
2086
2217
  label: string;
2087
2218
  } | {
@@ -2103,8 +2234,6 @@ declare const createResourcePreview: () => {
2103
2234
  commit(): Promise<void>;
2104
2235
  };
2105
2236
  };
2106
- //#endregion
2107
- //#region src/core/shared/context/context-key-service.d.ts
2108
2237
  type ContextKeyValue = boolean | number | string | undefined;
2109
2238
  interface ContextKeyStoreState {
2110
2239
  values: Record<string, ContextKeyValue>;
@@ -2126,8 +2255,6 @@ interface ContextKeyService {
2126
2255
  matches(expression?: string): boolean;
2127
2256
  }
2128
2257
  declare const matchesContextExpression: (values: Record<string, ContextKeyValue>, expression?: string) => boolean;
2129
- //#endregion
2130
- //#region src/core/registries/resources/resource-hierarchy.d.ts
2131
2258
  interface WorkbenchViewHierarchyNode {
2132
2259
  type: "view";
2133
2260
  viewId: string;
@@ -2149,8 +2276,6 @@ interface ResourceHierarchyCycle {
2149
2276
  path: WorkbenchHierarchyNode[];
2150
2277
  repeatedUri: string;
2151
2278
  }
2152
- //#endregion
2153
- //#region src/core/registries/resources/resource-registry.d.ts
2154
2279
  declare const workbenchResourceTypeContextKey = "workbench.resource.type";
2155
2280
  declare const workbenchResourceOwnerContextKey = "workbench.resource.extensionId";
2156
2281
  declare const workbenchResourceIdContextKey = "workbench.resource.id";
@@ -2219,8 +2344,6 @@ interface ResourceRegistry {
2219
2344
  walkHierarchy(resource: ResourceRef | undefined): WorkbenchHierarchyNode[];
2220
2345
  onDidDetectHierarchyCycle(listener: (cycle: ResourceHierarchyCycle) => void): Disposable;
2221
2346
  }
2222
- //#endregion
2223
- //#region src/core/controllers/breadcrumbs/breadcrumb-registry.d.ts
2224
2347
  interface WorkbenchBreadcrumbItem {
2225
2348
  title: unknown;
2226
2349
  icon?: string;
@@ -2242,8 +2365,6 @@ interface WorkbenchBreadcrumbController {
2242
2365
  getItems(): WorkbenchBreadcrumbItem[] | undefined;
2243
2366
  onDidChange(listener: WorkbenchBreadcrumbChangeListener): Disposable;
2244
2367
  }
2245
- //#endregion
2246
- //#region src/core/registries/commands/command-registry.d.ts
2247
2368
  interface WorkbenchCommandExecutionError {
2248
2369
  commandId: string;
2249
2370
  args: unknown;
@@ -2322,8 +2443,6 @@ interface CommandRegistry {
2322
2443
  executeCommand(id: string, args?: unknown, context?: WorkbenchCommandExecutionContext): Promise<unknown>;
2323
2444
  onDidExecuteError(listener: WorkbenchCommandExecutionErrorListener): Disposable;
2324
2445
  }
2325
- //#endregion
2326
- //#region src/core/controllers/command-palette/command-palette-controller.d.ts
2327
2446
  type WorkbenchCommandPaletteChangeListener = (open: boolean) => void;
2328
2447
  type WorkbenchCommandPaletteView = "main" | "theme";
2329
2448
  interface WorkbenchCommandParamsRequest {
@@ -2383,12 +2502,19 @@ interface WorkbenchCommandPaletteController {
2383
2502
  clearParams(): void;
2384
2503
  onDidChange(listener: WorkbenchCommandPaletteChangeListener): Disposable;
2385
2504
  }
2386
- //#endregion
2387
- //#region src/core/registries/layout/layout-model-types.d.ts
2388
2505
  type LayoutScope = string;
2389
2506
  interface LayoutPersistenceAdapter {
2390
2507
  getLayout(scope?: LayoutScope): WorkbenchLayout | undefined;
2391
2508
  setLayout(layout: WorkbenchLayout, scope?: LayoutScope): void;
2509
+ /** Remove a saved scope and cancel its pending writes. */
2510
+ removeLayout?(scope?: LayoutScope): void;
2511
+ /** All saved layouts, including pending writes and inactive scopes. */
2512
+ listLayouts?(): {
2513
+ scope?: string;
2514
+ layout: WorkbenchLayout;
2515
+ }[];
2516
+ /** Changes made by this adapter, including transforms and evictions. */
2517
+ onDidChangeLayout?(listener: (scope: string | undefined, layout: WorkbenchLayout | undefined) => void): () => void;
2392
2518
  listScopes?(projectId: string): LayoutScope[];
2393
2519
  transformLayouts?(projectId: string, transform: (layout: WorkbenchLayout, scope: LayoutScope) => WorkbenchLayout | undefined): void;
2394
2520
  getCompatibilityMarker?(key: string): string | undefined;
@@ -2475,8 +2601,6 @@ interface LayoutModel {
2475
2601
  dispose(): void;
2476
2602
  };
2477
2603
  }
2478
- //#endregion
2479
- //#region src/core/controllers/focus/focus-controller.d.ts
2480
2604
  declare const workbenchFocusRegions: readonly ["activity", "sidenav", "main", "secondary", "side", "status"];
2481
2605
  type WorkbenchFocusRegionId = (typeof workbenchFocusRegions)[number];
2482
2606
  type WorkbenchFocusChangeListener = (region: WorkbenchFocusRegionId | undefined) => void;
@@ -2490,8 +2614,19 @@ interface WorkbenchFocusController {
2490
2614
  getActiveRegion(): WorkbenchFocusRegionId | undefined;
2491
2615
  onDidChange(listener: WorkbenchFocusChangeListener): Disposable;
2492
2616
  }
2493
- //#endregion
2494
- //#region src/core/registries/menus/menu-registry.d.ts
2617
+ interface MainFullscreenState {
2618
+ active: boolean;
2619
+ sideOpen: boolean;
2620
+ }
2621
+ declare const createMainFullscreen: (getCore: () => WorkbenchCore) => {
2622
+ store: WorkbenchStore<MainFullscreenState>;
2623
+ canShowSide: () => boolean;
2624
+ enter(): void;
2625
+ exit: () => void;
2626
+ showSide(): void;
2627
+ hideSide(): void;
2628
+ };
2629
+ type MainFullscreenController = ReturnType<typeof createMainFullscreen>;
2495
2630
  type MenuPath = readonly string[];
2496
2631
  interface MenuItem {
2497
2632
  /** Stable identity of this contribution, independent of its position or command arguments. */
@@ -2530,8 +2665,6 @@ interface MenuRegistry {
2530
2665
  registerMenuItem(path: MenuPath, item: MenuItem, metadata?: ContributionMetadata): Disposable;
2531
2666
  listMenuItems(path: MenuPath): RegisteredMenuItem[];
2532
2667
  }
2533
- //#endregion
2534
- //#region src/core/registries/renderers/renderer-registry.d.ts
2535
2668
  interface WorkbenchPanelRenderInput {
2536
2669
  workbench: WorkbenchCore;
2537
2670
  panel: WorkbenchPanelContribution | PlaceholderContribution | RegisteredPlaceholderContribution;
@@ -2542,8 +2675,6 @@ interface WorkbenchRendererRegistration {
2542
2675
  id: string;
2543
2676
  render: (input: WorkbenchPanelRenderInput) => unknown;
2544
2677
  }
2545
- //#endregion
2546
- //#region src/core/registries/renderers/tree-renderer-types.d.ts
2547
2678
  interface TreeQueryContext {
2548
2679
  pageParams?: import("@pstdio/sdk/extensions").PageParams;
2549
2680
  signal?: AbortSignal;
@@ -2726,8 +2857,6 @@ interface TreeRendererRegistry {
2726
2857
  refresh(id: string): void;
2727
2858
  onDidRefresh(listener: TreeRendererRefreshListener): Disposable;
2728
2859
  }
2729
- //#endregion
2730
- //#region src/core/registries/navigation/navigation-tree-registry.d.ts
2731
2860
  interface DeclaredNavigationAction {
2732
2861
  label: string;
2733
2862
  action: NavigationTarget$1;
@@ -2779,8 +2908,6 @@ interface NavigationTreeRegistry {
2779
2908
  getDefaultExpandedSectionIds(owner: NavigationTreeOwner, slot?: NavigationTreeSlot): string[];
2780
2909
  onDidChange(listener: () => void): Disposable;
2781
2910
  }
2782
- //#endregion
2783
- //#region src/core/registries/layout/placement-reconciliation.d.ts
2784
2911
  interface PlacementDestination {
2785
2912
  identity: PlacementIdentity;
2786
2913
  region: WorkbenchRegion;
@@ -2803,8 +2930,6 @@ interface OwnedPlacementReconciliation<Value> {
2803
2930
  activate: readonly ResolvedOwnedPlacement<Value>[];
2804
2931
  remove: readonly ResolvedOwnedPlacement<Value>[];
2805
2932
  }
2806
- //#endregion
2807
- //#region src/core/registries/renderers/controls-renderer-registry.d.ts
2808
2933
  type ControlsRendererRegion = "main-right-menu" | "secondary" | "overlay";
2809
2934
  interface ControlsRendererLayout {
2810
2935
  region?: ControlsRendererRegion;
@@ -2844,8 +2969,6 @@ interface ControlsRendererContribution {
2844
2969
  reset?(input: ControlsResetInput): Promise<void> | void;
2845
2970
  subscribe?: (listener: () => void) => Disposable | (() => void);
2846
2971
  }
2847
- //#endregion
2848
- //#region src/core/registries/renderers/kanban-renderer-contracts.d.ts
2849
2972
  /**
2850
2973
  * Core-owned contracts for kanban renderer contributions. @pstdio/ui's
2851
2974
  * KanbanRenderer props are structurally identical; the React layer bridges the
@@ -3031,13 +3154,9 @@ interface CollectionViewsProvider<TSettings> {
3031
3154
  }
3032
3155
  type KanbanRendererViewsSource = CollectionViewsSource<KanbanRendererSettings>;
3033
3156
  type KanbanRendererViewsProvider = CollectionViewsProvider<KanbanRendererSettings>;
3034
- //#endregion
3035
- //#region src/core/registries/renderers/view-toolbar-action.d.ts
3036
3157
  interface ViewToolbarAction extends TreeAction {
3037
3158
  presentation?: "primary" | "secondary";
3038
3159
  }
3039
- //#endregion
3040
- //#region src/core/registries/renderers/data-table-renderer-registry.d.ts
3041
3160
  interface DataTableRendererThemeColor {
3042
3161
  light: string;
3043
3162
  dark: string;
@@ -3160,8 +3279,6 @@ interface DataTableRendererContribution {
3160
3279
  onRowActivate?: (row: DataTableRendererRow) => Promise<void> | void;
3161
3280
  }
3162
3281
  interface RegisteredDataTableRendererContribution extends DataTableRendererContribution, RegisteredContributionMetadata {}
3163
- //#endregion
3164
- //#region src/core/registries/renderers/file-renderer-registry.d.ts
3165
3282
  interface FileRendererContent {
3166
3283
  fileName?: string;
3167
3284
  /** Workspace-relative path shown above the file preview. */
@@ -3206,8 +3323,6 @@ interface FileRendererContribution {
3206
3323
  /** The loaded document that the editor started from. */
3207
3324
  loaded?: FileRendererContent): Promise<FileRendererSaveResult | undefined> | FileRendererSaveResult | void;
3208
3325
  }
3209
- //#endregion
3210
- //#region src/core/registries/renderers/kanban-renderer-registry.d.ts
3211
3326
  interface KanbanRendererQueryState {
3212
3327
  pageParams?: import("@pstdio/sdk/extensions").PageParams;
3213
3328
  settings: KanbanRendererSettings;
@@ -3269,8 +3384,6 @@ interface KanbanRendererContribution<TRow extends KanbanRendererRow = KanbanRend
3269
3384
  onCreateRow?: (submission: KanbanRendererCreateSubmission) => Promise<void> | void;
3270
3385
  onColumnAction?: (columnId: string, actionId: string) => Promise<void> | void;
3271
3386
  }
3272
- //#endregion
3273
- //#region src/core/registries/views/renderer-read-registry.d.ts
3274
3387
  interface RendererReadRequest<T> {
3275
3388
  queryKey: string;
3276
3389
  load(signal: AbortSignal, publish: (value: T) => void): Promise<T> | T;
@@ -3287,8 +3400,6 @@ interface RendererReadRegistry {
3287
3400
  dispose(): Promise<void>;
3288
3401
  }
3289
3402
  declare const createRendererReadRegistry: () => RendererReadRegistry;
3290
- //#endregion
3291
- //#region src/core/registries/views/view-registry.d.ts
3292
3403
  declare const workbenchViewIdContextKey = "workbench.view.id";
3293
3404
  type NativeViewBody<Kind extends string, Contribution> = {
3294
3405
  kind: Kind;
@@ -3322,8 +3433,6 @@ interface CreateWorkbenchViewRegistryInput {
3322
3433
  };
3323
3434
  }
3324
3435
  declare const createViewRegistry: (input: CreateWorkbenchViewRegistryInput) => WorkbenchViewRegistry;
3325
- //#endregion
3326
- //#region src/core/registries/view-menus/view-menu-registry.d.ts
3327
3436
  interface WorkbenchViewMenuContribution {
3328
3437
  id: string;
3329
3438
  ownerViewId: string;
@@ -3343,8 +3452,6 @@ interface WorkbenchViewMenuRegistry {
3343
3452
  listViewMenus(ownerViewId?: string): WorkbenchViewMenuContribution[];
3344
3453
  definitionsFor(ownerViewId: string, placementId: string): readonly WorkbenchPanelMenuDefinition[];
3345
3454
  }
3346
- //#endregion
3347
- //#region src/core/registries/views/view-placement.d.ts
3348
3455
  interface WorkbenchPlacementPresentation {
3349
3456
  mountStrategy?: WidgetMountStrategy;
3350
3457
  hiddenByDefault?: boolean;
@@ -3352,8 +3459,6 @@ interface WorkbenchPlacementPresentation {
3352
3459
  tab?: WorkbenchPanelTab;
3353
3460
  config?: unknown;
3354
3461
  }
3355
- //#endregion
3356
- //#region src/core/registries/pages/page-registry-types.d.ts
3357
3462
  interface WorkbenchPageSlot extends Omit<PageSlot, "tab"> {
3358
3463
  readonly isAvailable?: (resource: ResourceRef | undefined) => boolean;
3359
3464
  readonly tab?: WorkbenchPlacementPresentation["tab"];
@@ -3423,8 +3528,6 @@ interface WorkbenchPageRegistry<Value> {
3423
3528
  pinPlacement(identity: PlacementIdentity, open?: PageOpenIntent): void;
3424
3529
  openSlot(input: WorkbenchPageSlotOpenInput): void;
3425
3530
  }
3426
- //#endregion
3427
- //#region src/core/controllers/page-location/page-location-types.d.ts
3428
3531
  interface WorkbenchPageBrowserEntry {
3429
3532
  url: string;
3430
3533
  state?: unknown;
@@ -3488,8 +3591,6 @@ interface WorkbenchPageLocationHistoryState {
3488
3591
  canGoBack: boolean;
3489
3592
  canGoForward: boolean;
3490
3593
  }
3491
- //#endregion
3492
- //#region src/core/controllers/panel-menus/panel-menu-state-controller.d.ts
3493
3594
  interface WorkbenchPanelMenuState {
3494
3595
  openByMenuId: Record<string, boolean>;
3495
3596
  }
@@ -3510,8 +3611,6 @@ interface WorkbenchPanelMenuStateController {
3510
3611
  getPersistenceScope(): string | undefined;
3511
3612
  onDidChange(listener: WorkbenchPanelMenuStateChangeListener): Disposable;
3512
3613
  }
3513
- //#endregion
3514
- //#region src/core/controllers/side-panel/side-panel-controller.d.ts
3515
3614
  type WorkbenchSidePanelChangeListener = (mode: WorkbenchSidePanelMode) => void;
3516
3615
  interface WorkbenchSidePanelController {
3517
3616
  canFloat(): boolean;
@@ -3519,8 +3618,6 @@ interface WorkbenchSidePanelController {
3519
3618
  setMode(mode: WorkbenchSidePanelMode): void;
3520
3619
  onDidChange(listener: WorkbenchSidePanelChangeListener): Disposable;
3521
3620
  }
3522
- //#endregion
3523
- //#region src/core/controllers/shell/panel-policy.d.ts
3524
3621
  declare const resolvePanelPolicy: (input: {
3525
3622
  region: WorkbenchRegion;
3526
3623
  mode?: WorkbenchModeContribution;
@@ -3534,6 +3631,7 @@ declare const resolvePanelPolicy: (input: {
3534
3631
  canClose: boolean;
3535
3632
  canToggle: boolean;
3536
3633
  acceptsTabs: boolean;
3634
+ movable: boolean;
3537
3635
  resizable: boolean;
3538
3636
  floatable: boolean;
3539
3637
  headerExplicit: boolean;
@@ -3541,15 +3639,26 @@ declare const resolvePanelPolicy: (input: {
3541
3639
  legacyHeaders: boolean;
3542
3640
  };
3543
3641
  type WorkbenchPanelPolicy = ReturnType<typeof resolvePanelPolicy>;
3544
- //#endregion
3545
- //#region src/core/controllers/shell/shell-controller.d.ts
3642
+ declare const createPanelPositionController: (input: {
3643
+ layout: LayoutModel;
3644
+ getPolicy(region: WorkbenchPositionedRegion): WorkbenchPanelPolicy;
3645
+ }) => {
3646
+ getArrangement: () => {
3647
+ side: "left" | "right";
3648
+ sidenav: "left" | "right";
3649
+ secondary: "top" | "bottom";
3650
+ activity: WorkbenchPanelPosition;
3651
+ };
3652
+ getPanelPositions: (region: WorkbenchPositionedRegion) => readonly WorkbenchPanelPosition[];
3653
+ repositionPanel(region: WorkbenchPositionedRegion, position: WorkbenchPanelPosition): void;
3654
+ };
3546
3655
  type WorkbenchSidePanelPresentation = WorkbenchSidePanelMode;
3547
3656
  type WorkbenchShellOpenRegion = "sidenav" | "secondary" | "side";
3548
3657
  interface WorkbenchShellRegionState {
3549
3658
  open: boolean;
3550
3659
  size?: number;
3551
3660
  }
3552
- interface WorkbenchShellController {
3661
+ interface WorkbenchShellController extends ReturnType<typeof createPanelPositionController> {
3553
3662
  getPanelPolicy(region: WorkbenchRegion): WorkbenchPanelPolicy;
3554
3663
  setHeaderVisible(region: WorkbenchRegion, visible: boolean): void;
3555
3664
  getRegionState(region: WorkbenchRegion): WorkbenchShellRegionState;
@@ -3559,8 +3668,6 @@ interface WorkbenchShellController {
3559
3668
  setSidePanelPresentation(presentation: WorkbenchSidePanelPresentation): void;
3560
3669
  onDidChange(listener: () => void): Disposable;
3561
3670
  }
3562
- //#endregion
3563
- //#region src/core/controllers/terminal/terminal-controller.d.ts
3564
3671
  type WorkbenchTerminalSessionRequest = TerminalSessionRequest;
3565
3672
  type WorkbenchTerminalSessionExit = TerminalSessionExit;
3566
3673
  type WorkbenchTerminalSessionError = TerminalSessionError;
@@ -3614,8 +3721,6 @@ interface WorkbenchTerminalController {
3614
3721
  /** Kills every live session. Called when the owning workbench is torn down. */
3615
3722
  dispose(): Promise<void>;
3616
3723
  }
3617
- //#endregion
3618
- //#region src/core/registries/command-palette-resources/command-palette-resource-registry.d.ts
3619
3724
  interface CommandPaletteResourceQueryContext {
3620
3725
  query: string;
3621
3726
  limit: number;
@@ -3653,8 +3758,6 @@ interface CommandPaletteResourceRegistry {
3653
3758
  queryProviders(context: CommandPaletteResourceQueryContext): Promise<CommandPaletteResourceProviderResult[]>;
3654
3759
  refresh(): void;
3655
3760
  }
3656
- //#endregion
3657
- //#region src/core/registries/keybindings/keybinding-registry.d.ts
3658
3761
  interface Keybinding {
3659
3762
  /** Extension that authored this binding, when registered by an extension host. */
3660
3763
  sourceExtensionId?: string;
@@ -3680,19 +3783,13 @@ interface KeybindingRegistry {
3680
3783
  }[];
3681
3784
  }
3682
3785
  declare const getKeybindingSteps: (keybinding: KeybindingSequence) => string[];
3683
- //#endregion
3684
- //#region src/core/registries/placements/owned-placement-lifecycle.d.ts
3685
3786
  type WorkbenchOwnedPlacementItem = PlacementItem;
3686
- //#endregion
3687
- //#region src/core/registries/placements/owned-placement-preparation.d.ts
3688
3787
  interface OwnedPlacementLocationContext {
3689
3788
  modeId: string;
3690
3789
  pageId?: string;
3691
3790
  projectId?: string;
3692
3791
  location?: PageLocation;
3693
3792
  }
3694
- //#endregion
3695
- //#region src/core/registries/modes/mode-placement-registry.d.ts
3696
3793
  interface WorkbenchModePlacementContribution extends WorkbenchPlacementPresentation {
3697
3794
  readonly id: string;
3698
3795
  readonly ref: PlacementRef;
@@ -3724,8 +3821,6 @@ interface WorkbenchModePlacementRegistry {
3724
3821
  resolvePlacements(modeId: string, context?: OwnedPlacementLocationContext): readonly ResolvedOwnedPlacement<WorkbenchWidgetPlacement>[];
3725
3822
  onDidChange(listener: () => void): Disposable;
3726
3823
  }
3727
- //#endregion
3728
- //#region src/core/registries/notifications/notification-registry.d.ts
3729
3824
  type WorkbenchNotificationLevel = "info" | "success" | "warning" | "error";
3730
3825
  interface WorkbenchNotificationAction {
3731
3826
  commandId: string;
@@ -3776,8 +3871,6 @@ interface NotificationRegistry {
3776
3871
  subscribe(listener: WorkbenchNotificationListener): Disposable;
3777
3872
  captureActionError(label: string, target?: string): (error: unknown) => void;
3778
3873
  }
3779
- //#endregion
3780
- //#region src/core/registries/overlays/overlay-registry.d.ts
3781
3874
  interface WorkbenchOverlayContribution extends Omit<WorkbenchPlacementPresentation, "mountStrategy"> {
3782
3875
  id: string;
3783
3876
  viewId: string;
@@ -3794,8 +3887,6 @@ interface WorkbenchOverlayRegistry {
3794
3887
  openOverlay(id: string, input?: OpenWorkbenchOverlayInput): string;
3795
3888
  closeOverlay(instanceId: string): void;
3796
3889
  }
3797
- //#endregion
3798
- //#region src/core/registries/placeholders/placeholder-registry.d.ts
3799
3890
  interface WorkbenchPlaceholderContribution {
3800
3891
  id: string;
3801
3892
  viewId: string;
@@ -3808,8 +3899,6 @@ interface WorkbenchPlaceholderContribution {
3808
3899
  interface WorkbenchPlaceholderRegistry {
3809
3900
  registerPlaceholder(placeholder: WorkbenchPlaceholderContribution, metadata?: ContributionMetadata): Disposable;
3810
3901
  }
3811
- //#endregion
3812
- //#region src/core/registries/placements/shell-placement-registry.d.ts
3813
3902
  interface WorkbenchShellPlacementContribution extends WorkbenchPlacementPresentation {
3814
3903
  readonly id: string;
3815
3904
  readonly item: WorkbenchOwnedPlacementItem;
@@ -3841,8 +3930,6 @@ interface WorkbenchShellPlacementRegistry {
3841
3930
  resolvePlacements(context?: OwnedPlacementLocationContext): readonly ResolvedOwnedPlacement<WorkbenchWidgetPlacement>[];
3842
3931
  onDidChange(listener: () => void): Disposable;
3843
3932
  }
3844
- //#endregion
3845
- //#region src/core/registries/preferences/preference-registry.d.ts
3846
3933
  type PreferenceScope = "default" | "user" | "project" | "repo" | "workspace" | "extension" | "session";
3847
3934
  type PreferenceValue = boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
3848
3935
  interface PreferencePropertySchema {
@@ -3885,8 +3972,6 @@ interface PreferenceRegistry {
3885
3972
  setValue(name: string, value: PreferenceValue, scope: PreferenceScopeRef): void | Promise<void>;
3886
3973
  getValue(name: string, scope?: PreferenceScopeRef): PreferenceValue | undefined;
3887
3974
  }
3888
- //#endregion
3889
- //#region src/core/registries/settings/settings-registry.d.ts
3890
3975
  /** Settings are stored either per-user (global) or per-project. Projectless surfaces show only global entries. */
3891
3976
  type SettingsScope = "global" | "project";
3892
3977
  /** A "+ create"-style action surfaced on a section or a collection's parent node. */
@@ -3974,8 +4059,6 @@ interface SettingsRegistry {
3974
4059
  /** Signal that a collection's backing data changed so the surface refreshes. */
3975
4060
  refresh(): void;
3976
4061
  }
3977
- //#endregion
3978
- //#region src/core/registries/status-bar/status-bar-registry.d.ts
3979
4062
  type WorkbenchStatusBarSlot = "leading" | "trailing";
3980
4063
  interface WorkbenchStatusBarItem {
3981
4064
  id: string;
@@ -4010,8 +4093,6 @@ interface CreateWorkbenchStatusBarRegistryInput {
4010
4093
  persistence?: WorkbenchStatusBarPersistenceAdapter;
4011
4094
  }
4012
4095
  declare const createStatusBarRegistry: (input: CreateWorkbenchStatusBarRegistryInput) => WorkbenchStatusBarRegistry;
4013
- //#endregion
4014
- //#region src/core/registries/statuses/status-registry.d.ts
4015
4096
  interface WorkflowStatus {
4016
4097
  id: string;
4017
4098
  label: string;
@@ -4049,8 +4130,6 @@ interface WorkbenchStatusRegistry {
4049
4130
  save(id: string, statuses: readonly WorkflowStatus[]): Promise<readonly WorkflowStatus[]>;
4050
4131
  }
4051
4132
  declare const createStatusRegistry: () => WorkbenchStatusRegistry;
4052
- //#endregion
4053
- //#region src/core/registries/themes/file-icon-theme-contracts.d.ts
4054
4133
  /**
4055
4134
  * Core-owned contract for file icon theme registrations. Structurally identical
4056
4135
  * to @pstdio/ui's FileIconThemePreferenceOption; the React layer bridges the two
@@ -4077,8 +4156,6 @@ interface FileIconThemePreferenceOption {
4077
4156
  };
4078
4157
  fonts: FileIconThemeFont[];
4079
4158
  }
4080
- //#endregion
4081
- //#region src/core/registries/themes/file-icon-theme-registry.d.ts
4082
4159
  interface WorkbenchFileIconThemeStoreState {
4083
4160
  themes: readonly FileIconThemePreferenceOption[];
4084
4161
  }
@@ -4087,8 +4164,6 @@ interface FileIconThemeRegistry {
4087
4164
  register(themes: readonly FileIconThemePreferenceOption[]): Disposable;
4088
4165
  listThemes(): readonly FileIconThemePreferenceOption[];
4089
4166
  }
4090
- //#endregion
4091
- //#region src/core/registries/themes/theme-contracts.d.ts
4092
4167
  /**
4093
4168
  * Core-owned contract for theme registrations. Structurally identical to
4094
4169
  * @pstdio/ui's ThemePreferenceOption; the React layer bridges the two so core
@@ -4104,8 +4179,6 @@ interface ThemePreferenceOption {
4104
4179
  tokens?: ThemePreferenceTokens;
4105
4180
  monacoTheme?: unknown;
4106
4181
  }
4107
- //#endregion
4108
- //#region src/core/registries/themes/theme-registry.d.ts
4109
4182
  interface WorkbenchThemeStoreState {
4110
4183
  themes: readonly ThemePreferenceOption[];
4111
4184
  }
@@ -4114,8 +4187,6 @@ interface ThemeRegistry {
4114
4187
  register(themes: readonly ThemePreferenceOption[]): Disposable;
4115
4188
  listThemes(): readonly ThemePreferenceOption[];
4116
4189
  }
4117
- //#endregion
4118
- //#region src/core/workbench-core-types.d.ts
4119
4190
  type WorkbenchLayoutModel = LayoutModel & MenuRegistry;
4120
4191
  type WorkbenchModuleLayoutModel = Omit<WorkbenchLayoutModel, "registerPanel" | "registerWidget" | "openPanel" | "openWidget" | "registerPlaceholder" | "registerPanelMenu">;
4121
4192
  type WorkbenchTreeViews = Pick<TreeRendererRegistry, "getTreeState" | "setNodeExpanded" | "setSectionExpanded" | "setSelectedNode">;
@@ -4133,6 +4204,7 @@ interface WorkbenchCoreContributionContext {
4133
4204
  composition: WorkbenchCompositionController;
4134
4205
  context: ContextKeyService;
4135
4206
  focus: WorkbenchFocusController;
4207
+ fullscreen: MainFullscreenController;
4136
4208
  keybindings: KeybindingRegistry;
4137
4209
  layout: WorkbenchModuleLayoutModel;
4138
4210
  modes: WorkbenchModeRegistry;
@@ -4160,6 +4232,8 @@ interface WorkbenchCoreContributionContext {
4160
4232
  themes: ThemeRegistry;
4161
4233
  fileIconThemes: FileIconThemeRegistry;
4162
4234
  getPrimaryResource(): ResourceRef$1 | undefined;
4235
+ /** Resources in open tabs, including saved inactive pages and modes when persistence supports enumeration. */
4236
+ getOpenResources(): ResourceRef$1[];
4163
4237
  onDidChangePrimaryResource(listener: (resource: ResourceRef$1 | undefined) => void): Disposable;
4164
4238
  getActiveResource(): ResourceRef$1 | undefined;
4165
4239
  onDidChangeActiveResource(listener: (resource: ResourceRef$1 | undefined) => void): Disposable;
@@ -4171,10 +4245,19 @@ interface WorkbenchSnapshot {
4171
4245
  interface WorkbenchPersistenceAdapter {
4172
4246
  getSnapshot(scope?: string): WorkbenchSnapshot | undefined;
4173
4247
  setSnapshot(snapshot: WorkbenchSnapshot, scope?: string): void;
4248
+ /** Remove a saved scope and cancel its pending writes. */
4249
+ removeSnapshot?(scope?: string): void;
4250
+ listLayouts?(): {
4251
+ scope?: string;
4252
+ layout: WorkbenchLayout;
4253
+ }[];
4254
+ onDidChangeLayout?(listener: (scope: string | undefined, layout: WorkbenchLayout | undefined) => void): () => void;
4174
4255
  flush?(): void;
4175
4256
  dispose?(): void;
4176
4257
  }
4177
4258
  interface WorkbenchHost {
4259
+ getOpenPlacements(): WorkbenchWidgetPlacement[];
4260
+ getOpenPlacementIds(): ReadonlySet<string>;
4178
4261
  getSnapshot(): WorkbenchSnapshot;
4179
4262
  restoreSnapshot(snapshot: WorkbenchSnapshot): void;
4180
4263
  setPersistenceScope(scope: string | undefined, input?: {
@@ -4229,11 +4312,7 @@ interface WorkbenchModuleContribution {
4229
4312
  ownerId?: string;
4230
4313
  activate(ctx: WorkbenchModuleContributionContext): WorkbenchModuleActivationResult;
4231
4314
  }
4232
- //#endregion
4233
- //#region src/core/workbench-core.d.ts
4234
4315
  declare const createWorkbench: (input?: createWorkbenchInput) => WorkbenchCore;
4235
- //#endregion
4236
- //#region src/core/registries/modes/mode-registry-types.d.ts
4237
4316
  type WorkbenchModeActivationContext = WorkbenchCoreContributionContext;
4238
4317
  type WorkbenchModeActivationResult = Disposable | readonly Disposable[] | undefined;
4239
4318
  interface WorkbenchModeAddablePanel {
@@ -4284,12 +4363,8 @@ interface WorkbenchModeRegistry {
4284
4363
  seedActiveMode(): void;
4285
4364
  onDidChangeActive(listener: WorkbenchModeChangeListener): Disposable;
4286
4365
  }
4287
- //#endregion
4288
- //#region src/core/registries/modes/mode-layout.d.ts
4289
4366
  declare const getWorkbenchModePanelForRegion: (region: WorkbenchRegion) => "main" | "secondary" | "side" | undefined;
4290
4367
  declare const isWorkbenchModePanelAvailable: (mode: WorkbenchModeContribution | undefined, panel: WorkbenchPanelRegion) => boolean;
4291
- //#endregion
4292
- //#region src/core/controllers/composition/composition-controller.d.ts
4293
4368
  interface WorkbenchCompositionAddablePanel extends WorkbenchModeAddablePanel {
4294
4369
  contribution: RegisteredWidgetContribution;
4295
4370
  open?(resource?: ResourceRef$1): void | Promise<void>;
@@ -4302,8 +4377,6 @@ interface WorkbenchCompositionRegionPanels {
4302
4377
  interface WorkbenchCompositionController {
4303
4378
  panelsFor(region: WorkbenchPanelRegion): WorkbenchCompositionRegionPanels;
4304
4379
  }
4305
- //#endregion
4306
- //#region src/core/controllers/page-location/navigation-level-composition.d.ts
4307
4380
  interface LevelNavigationHost {
4308
4381
  modes: {
4309
4382
  getActiveModeId(): string | undefined;
@@ -4325,12 +4398,8 @@ declare const createLevelNavigation: (host: LevelNavigationHost) => {
4325
4398
  getSections(slot: NavigationTreeSlot, signal?: AbortSignal, onProgress?: (sections: TreeViewSection[]) => void): Promise<TreeViewSection[]>;
4326
4399
  getDefaultExpandedSectionIds: () => string[];
4327
4400
  };
4328
- //#endregion
4329
- //#region src/core/registries/layout/surface-map.d.ts
4330
4401
  type AnchorId = "primary" | "secondary" | "attached";
4331
- 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";
4332
- //#endregion
4333
- //#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";
4334
4403
  declare const headerLeadingMenuPath: (region: string) => MenuPath;
4335
4404
  declare const headerTrailingMenuPath: (region: string) => MenuPath;
4336
4405
  declare const workbenchRegionTabLeadingMenuPath: (region: string) => MenuPath;
@@ -4340,11 +4409,7 @@ declare const workbenchTopHeaderLeadingMenuPath: MenuPath;
4340
4409
  declare const workbenchTopHeaderTrailingMenuPath: MenuPath;
4341
4410
  declare const workbenchBreadcrumbLocationMenuPath: readonly ["workbench", "breadcrumb", "location"];
4342
4411
  declare const resourceContextMenuPath: (resourceKind: string) => MenuPath;
4343
- //#endregion
4344
- //#region src/core/registries/navigation/navigation-target-key.d.ts
4345
4412
  declare const getNavigationTargetKey: (action: NavigationTarget$1) => string;
4346
- //#endregion
4347
- //#region src/core/registries/resources/resource-icons.d.ts
4348
4413
  declare const standardResourceIcons: {
4349
4414
  readonly project: "folder-root";
4350
4415
  readonly workspace: "computer";
@@ -4353,24 +4418,15 @@ declare const standardResourceIcons: {
4353
4418
  readonly kanbanRenderer: "table-properties";
4354
4419
  };
4355
4420
  type StandardResourceIcon = (typeof standardResourceIcons)[keyof typeof standardResourceIcons];
4356
- //#endregion
4357
- //#region src/core/registries/views/renderer-read-key.d.ts
4358
4421
  declare const rendererReadKey: (placement: WorkbenchPanelInstance, lane?: string) => string;
4359
- //#endregion
4360
- //#region src/core/registries/views/settle-read-batch.d.ts
4361
4422
  declare const settleReadBatch: <T>(tasks: ((signal: AbortSignal) => Promise<T> | T)[], signal?: AbortSignal) => Promise<Awaited<T>[]>;
4362
- //#endregion
4363
- //#region src/core/shared/run-user-action.d.ts
4364
4423
  declare const runUserAction: (workbench: {
4365
4424
  notifications: Pick<NotificationRegistry, "captureActionError">;
4366
4425
  }, label: string, run: () => unknown, options?: {
4367
4426
  inlineTarget?: string;
4368
4427
  onSuccess?: () => void;
4369
4428
  }) => Promise<void>;
4370
- //#endregion
4371
- //#region src/core/shared/store/workbench-batch.d.ts
4372
4429
  /** Commit related stores before their subscribers read the resulting workbench state. */
4373
4430
  declare const batchWorkbenchChanges: <Result>(commit: () => Result) => Result;
4374
- //#endregion
4375
- 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 };
4376
4432
  export {};