@pstdio/workbench 0.39.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -50,13 +50,13 @@ Tab labels resolve from explicit tab presentation, then resource label, then vie
50
50
 
51
51
  Use `shell.setRegionOpen("side" | "secondary" | "sidenav", open)` to hide or show a region. Hiding retains its instances. Mode `regionSettings` owns size, collapsibility, headers, and tab visibility. `mountStrategy: "keep-mounted"` keeps an inactive tab's content mounted; removing its owner disposes it.
52
52
 
53
- The side-panel controller owns attached, floating, or closed presentation. `floatingPanels: "hidden"` prevents floating and reattaches an already floating panel. Per-view menu preferences belong to `panelMenuState`; they do not duplicate region visibility.
53
+ The layout's `side` region stores the Side Panel presentation: `visible` says whether it is open, and `presentation` says attached or floating. The side-panel controller reads and changes it under the active mode's floating policy. `floatingPanels: "hidden"` prevents floating and shows a floating choice attached until floating is allowed again. Per-view menu preferences belong to `panelMenuState`; they do not duplicate region visibility.
54
54
 
55
55
  ## Persistence
56
56
 
57
57
  The browser owns Back/Forward history. Page locations remain version 1. Existing resource locations and stored product data stay valid.
58
58
 
59
- Layout cache version 4 records resource identity keys and the new Main collection model. Old layout entries are ignored. This revision does not invalidate tree state, menu preferences, side-panel presentation, or page locations. Collection page state uses the existing location key to separate workspaces.
59
+ Layout cache version 5 makes the `side` region's visibility the Side Panel's open state; older entries saved a side visibility that never meant open. Old layout entries are ignored, so the Side Panel presentation resets with them. This revision does not invalidate tree state, menu preferences, or page locations. Collection page state uses the existing location key to separate workspaces.
60
60
 
61
61
  Shared mode placements have one cache entry per project and mode. Page cache entries exclude them. Closing a shared panel therefore remains closed when another page is restored; switching projects does not restore another project's mode panels.
62
62
 
@@ -1,6 +1,6 @@
1
- import { At as RegisteredWorkbenchNotification, Er as TreeContext, Hi as ResourceRef$1, Ht as WorkbenchOwnedPlacementItem, Ir as MenuItem, Kr as WorkbenchPanelRenderInput, Lr as MenuPath, M as WorkbenchModuleContext, Oi as Command, Pi as WorkbenchCommandExecutionContext, Qn as KanbanRendererCreateSubmission, Qt as WorkbenchTerminalController, Si as NavigationTargetCommand, Sn as WorkbenchPlacementPresentation, St as PreferenceValue, ei as WorkbenchPanelInstance, k as WorkbenchCore, kr as TreeNode, rr as KanbanRendererViewsProvider, ua as Disposable, ur as FileRendererRefreshEnvelope, xi as NavigationTarget$1, xn as WorkbenchPageContribution } from "./index-Bzx1gf5-.js";
2
- import { i as ReactKanbanRendererContribution, t as ReactAttributeDescriptor } from "./kanban-presentation-yKUdZyuY.js";
3
- import { Localizable, NavigationTarget, ResourceRef, WebviewHostCapability } from "@pstdio/sdk/extensions";
1
+ import { A as WorkbenchCore, Bt as WorkbenchOwnedPlacementItem, Gi as ResourceRef$1, Gr as MenuItem, Kr as MenuPath, Li as WorkbenchCommandExecutionContext, Lr as TreeNode, N as WorkbenchModuleContext, Nt as RegisteredWorkbenchNotification, Pr as TreeContext, Rn as FileRendererRefreshEnvelope, Ti as NavigationTargetCommand, Tt as PreferenceValue, Wr as WorkbenchPanelRenderInput, Xt as WorkbenchTerminalController, hr as KanbanRendererCreateSubmission, ji as Command, ma as Disposable, ni as WorkbenchPanelInstance, sr as CollectionViewsProvider, vn as WorkbenchPageContribution, vr as KanbanRendererViewsProvider, wi as NavigationTarget$1, yn as WorkbenchPlacementPresentation } from "./index-Dh0tRr9k.js";
2
+ import { i as ReactKanbanRendererContribution, t as ReactAttributeDescriptor } from "./kanban-presentation-C21WIlnn.js";
3
+ import { DataTableRendererSettings, Localizable, NavigationTarget, ResourceRef, WebviewHostCapability } from "@pstdio/sdk/extensions";
4
4
  import { CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionMenuContribution, WorkbenchExtensionCommandPaletteResourceRecord, WorkbenchExtensionMetadata, WorkbenchExtensionMetadata as WorkbenchExtensionMetadata$1 } from "@pstdio/sdk/api";
5
5
  import { z } from "zod";
6
6
  //#region ../pstdio-extensions/src/bridge/contract/capabilities.d.ts
@@ -135,6 +135,15 @@ type JsonObject = {
135
135
  [key: string]: JsonValue;
136
136
  };
137
137
  //#endregion
138
+ //#region ../pstdio-api-contracts/src/extension-kernel/types/pages.d.ts
139
+ /** One-based source coordinates. Owners clamp them to the loaded document. */
140
+ interface FileSourcePosition {
141
+ readonly line: number;
142
+ readonly column?: number;
143
+ readonly endLine?: number;
144
+ readonly endColumn?: number;
145
+ }
146
+ //#endregion
138
147
  //#region ../pstdio-api-contracts/src/extensions/resource-ref.d.ts
139
148
  declare const extensionResourceRefSchema: z.ZodObject<{
140
149
  shorthand: z.ZodOptional<z.ZodString>;
@@ -168,6 +177,7 @@ interface MetadataPageTarget {
168
177
  resource?: z.infer<typeof extensionResourceRefSchema>;
169
178
  open?: "preview" | "pin";
170
179
  section?: z.infer<typeof sectionSchema>;
180
+ position?: FileSourcePosition;
171
181
  parent?: MetadataPageTarget;
172
182
  }
173
183
  //#endregion
@@ -201,10 +211,10 @@ declare const extensionMenuContributionSchema: z.ZodObject<{
201
211
  when: z.ZodOptional<z.ZodObject<{
202
212
  mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
203
213
  source: z.ZodOptional<z.ZodArray<z.ZodEnum<{
204
- schedule: "schedule";
205
214
  automation: "automation";
206
- api: "api";
207
215
  event: "event";
216
+ schedule: "schedule";
217
+ api: "api";
208
218
  cli: "cli";
209
219
  dashboard: "dashboard";
210
220
  "command-panel": "command-panel";
@@ -291,6 +301,14 @@ declare const extensionDataTableRendererRecordSchema: z.ZodObject<{
291
301
  $l10n: z.ZodString;
292
302
  default: z.ZodOptional<z.ZodString>;
293
303
  }, z.core.$strip>]>>;
304
+ type: z.ZodOptional<z.ZodEnum<{
305
+ string: "string";
306
+ number: "number";
307
+ boolean: "boolean";
308
+ date: "date";
309
+ }>>;
310
+ groupable: z.ZodOptional<z.ZodBoolean>;
311
+ filterable: z.ZodOptional<z.ZodBoolean>;
294
312
  description: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
295
313
  $l10n: z.ZodString;
296
314
  default: z.ZodOptional<z.ZodString>;
@@ -364,6 +382,168 @@ declare const extensionDataTableRendererRecordSchema: z.ZodObject<{
364
382
  rowActivationHandlerId: z.ZodOptional<z.ZodString>;
365
383
  initialPageSize: z.ZodOptional<z.ZodNumber>;
366
384
  pageSizeOptions: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
385
+ defaultSettings: z.ZodOptional<z.ZodObject<{
386
+ grouping: z.ZodOptional<z.ZodString>;
387
+ rowNumbers: z.ZodOptional<z.ZodBoolean>;
388
+ wrapRows: z.ZodOptional<z.ZodBoolean>;
389
+ showStats: z.ZodOptional<z.ZodBoolean>;
390
+ hiddenColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
391
+ columnOrder: z.ZodOptional<z.ZodArray<z.ZodString>>;
392
+ }, z.core.$strip>>;
393
+ defaultFilter: z.ZodOptional<z.ZodObject<{
394
+ conjunction: z.ZodEnum<{
395
+ and: "and";
396
+ or: "or";
397
+ }>;
398
+ rules: z.ZodArray<z.ZodObject<{
399
+ attributeId: z.ZodString;
400
+ condition: z.ZodEnum<{
401
+ contains: "contains";
402
+ "does-not-contain": "does-not-contain";
403
+ is: "is";
404
+ "is-not": "is-not";
405
+ gt: "gt";
406
+ gte: "gte";
407
+ lt: "lt";
408
+ lte: "lte";
409
+ "is-before": "is-before";
410
+ "is-after": "is-after";
411
+ "is-on-or-before": "is-on-or-before";
412
+ "is-on-or-after": "is-on-or-after";
413
+ "is-any-of": "is-any-of";
414
+ "is-none-of": "is-none-of";
415
+ "has-any-of": "has-any-of";
416
+ "has-all-of": "has-all-of";
417
+ "has-none-of": "has-none-of";
418
+ "is-empty": "is-empty";
419
+ "is-not-empty": "is-not-empty";
420
+ }>;
421
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
422
+ }, z.core.$strip>>;
423
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
424
+ conjunction: z.ZodEnum<{
425
+ and: "and";
426
+ or: "or";
427
+ }>;
428
+ rules: z.ZodArray<z.ZodObject<{
429
+ attributeId: z.ZodString;
430
+ condition: z.ZodEnum<{
431
+ contains: "contains";
432
+ "does-not-contain": "does-not-contain";
433
+ is: "is";
434
+ "is-not": "is-not";
435
+ gt: "gt";
436
+ gte: "gte";
437
+ lt: "lt";
438
+ lte: "lte";
439
+ "is-before": "is-before";
440
+ "is-after": "is-after";
441
+ "is-on-or-before": "is-on-or-before";
442
+ "is-on-or-after": "is-on-or-after";
443
+ "is-any-of": "is-any-of";
444
+ "is-none-of": "is-none-of";
445
+ "has-any-of": "has-any-of";
446
+ "has-all-of": "has-all-of";
447
+ "has-none-of": "has-none-of";
448
+ "is-empty": "is-empty";
449
+ "is-not-empty": "is-not-empty";
450
+ }>;
451
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
452
+ }, z.core.$strip>>;
453
+ }, z.core.$strict>>>;
454
+ }, z.core.$strict>>;
455
+ defaultSorts: z.ZodOptional<z.ZodArray<z.ZodObject<{
456
+ attributeId: z.ZodString;
457
+ direction: z.ZodEnum<{
458
+ asc: "asc";
459
+ desc: "desc";
460
+ }>;
461
+ }, z.core.$strip>>>;
462
+ defaultViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
463
+ id: z.ZodString;
464
+ title: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
465
+ $l10n: z.ZodString;
466
+ default: z.ZodOptional<z.ZodString>;
467
+ }, z.core.$strip>]>;
468
+ settings: z.ZodOptional<z.ZodObject<{
469
+ grouping: z.ZodOptional<z.ZodString>;
470
+ rowNumbers: z.ZodOptional<z.ZodBoolean>;
471
+ wrapRows: z.ZodOptional<z.ZodBoolean>;
472
+ showStats: z.ZodOptional<z.ZodBoolean>;
473
+ hiddenColumns: z.ZodOptional<z.ZodArray<z.ZodString>>;
474
+ columnOrder: z.ZodOptional<z.ZodArray<z.ZodString>>;
475
+ }, z.core.$strip>>;
476
+ filter: z.ZodOptional<z.ZodObject<{
477
+ conjunction: z.ZodEnum<{
478
+ and: "and";
479
+ or: "or";
480
+ }>;
481
+ rules: z.ZodArray<z.ZodObject<{
482
+ attributeId: z.ZodString;
483
+ condition: z.ZodEnum<{
484
+ contains: "contains";
485
+ "does-not-contain": "does-not-contain";
486
+ is: "is";
487
+ "is-not": "is-not";
488
+ gt: "gt";
489
+ gte: "gte";
490
+ lt: "lt";
491
+ lte: "lte";
492
+ "is-before": "is-before";
493
+ "is-after": "is-after";
494
+ "is-on-or-before": "is-on-or-before";
495
+ "is-on-or-after": "is-on-or-after";
496
+ "is-any-of": "is-any-of";
497
+ "is-none-of": "is-none-of";
498
+ "has-any-of": "has-any-of";
499
+ "has-all-of": "has-all-of";
500
+ "has-none-of": "has-none-of";
501
+ "is-empty": "is-empty";
502
+ "is-not-empty": "is-not-empty";
503
+ }>;
504
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
505
+ }, z.core.$strip>>;
506
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
507
+ conjunction: z.ZodEnum<{
508
+ and: "and";
509
+ or: "or";
510
+ }>;
511
+ rules: z.ZodArray<z.ZodObject<{
512
+ attributeId: z.ZodString;
513
+ condition: z.ZodEnum<{
514
+ contains: "contains";
515
+ "does-not-contain": "does-not-contain";
516
+ is: "is";
517
+ "is-not": "is-not";
518
+ gt: "gt";
519
+ gte: "gte";
520
+ lt: "lt";
521
+ lte: "lte";
522
+ "is-before": "is-before";
523
+ "is-after": "is-after";
524
+ "is-on-or-before": "is-on-or-before";
525
+ "is-on-or-after": "is-on-or-after";
526
+ "is-any-of": "is-any-of";
527
+ "is-none-of": "is-none-of";
528
+ "has-any-of": "has-any-of";
529
+ "has-all-of": "has-all-of";
530
+ "has-none-of": "has-none-of";
531
+ "is-empty": "is-empty";
532
+ "is-not-empty": "is-not-empty";
533
+ }>;
534
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
535
+ }, z.core.$strip>>;
536
+ }, z.core.$strict>>>;
537
+ }, z.core.$strict>>;
538
+ sorts: z.ZodOptional<z.ZodArray<z.ZodObject<{
539
+ attributeId: z.ZodString;
540
+ direction: z.ZodEnum<{
541
+ asc: "asc";
542
+ desc: "desc";
543
+ }>;
544
+ }, z.core.$strip>>>;
545
+ }, z.core.$strip>>>;
546
+ defaultActiveViewId: z.ZodOptional<z.ZodString>;
367
547
  }, z.core.$strip>;
368
548
  type ExtensionDataTableRendererRecord = z.infer<typeof extensionDataTableRendererRecordSchema>;
369
549
  type WorkbenchExtensionDataTableRendererRecord = ExtensionDataTableRendererRecord;
@@ -443,6 +623,9 @@ declare const extensionKanbanRendererRecordSchema: z.ZodObject<{
443
623
  kind: z.ZodLiteral<"status">;
444
624
  id: z.ZodString;
445
625
  }, z.core.$strip>;
626
+ }, z.core.$strip>, z.ZodObject<{
627
+ kind: z.ZodLiteral<"boolean">;
628
+ legacyValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
446
629
  }, z.core.$strip>, z.ZodObject<{
447
630
  kind: z.ZodLiteral<"string">;
448
631
  }, z.core.$strip>, z.ZodObject<{
@@ -525,16 +708,77 @@ declare const extensionKanbanRendererRecordSchema: z.ZodObject<{
525
708
  }>>;
526
709
  columnGrouping: z.ZodOptional<z.ZodString>;
527
710
  rowGrouping: z.ZodOptional<z.ZodString>;
528
- ordering: z.ZodOptional<z.ZodObject<{
711
+ displayProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
712
+ }, z.core.$strip>>;
713
+ defaultFilter: z.ZodOptional<z.ZodObject<{
714
+ conjunction: z.ZodEnum<{
715
+ and: "and";
716
+ or: "or";
717
+ }>;
718
+ rules: z.ZodArray<z.ZodObject<{
529
719
  attributeId: z.ZodString;
530
- direction: z.ZodEnum<{
531
- asc: "asc";
532
- desc: "desc";
720
+ condition: z.ZodEnum<{
721
+ contains: "contains";
722
+ "does-not-contain": "does-not-contain";
723
+ is: "is";
724
+ "is-not": "is-not";
725
+ gt: "gt";
726
+ gte: "gte";
727
+ lt: "lt";
728
+ lte: "lte";
729
+ "is-before": "is-before";
730
+ "is-after": "is-after";
731
+ "is-on-or-before": "is-on-or-before";
732
+ "is-on-or-after": "is-on-or-after";
733
+ "is-any-of": "is-any-of";
734
+ "is-none-of": "is-none-of";
735
+ "has-any-of": "has-any-of";
736
+ "has-all-of": "has-all-of";
737
+ "has-none-of": "has-none-of";
738
+ "is-empty": "is-empty";
739
+ "is-not-empty": "is-not-empty";
533
740
  }>;
741
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
534
742
  }, z.core.$strip>>;
535
- displayProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
536
- }, z.core.$strip>>;
537
- defaultFilters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
743
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
744
+ conjunction: z.ZodEnum<{
745
+ and: "and";
746
+ or: "or";
747
+ }>;
748
+ rules: z.ZodArray<z.ZodObject<{
749
+ attributeId: z.ZodString;
750
+ condition: z.ZodEnum<{
751
+ contains: "contains";
752
+ "does-not-contain": "does-not-contain";
753
+ is: "is";
754
+ "is-not": "is-not";
755
+ gt: "gt";
756
+ gte: "gte";
757
+ lt: "lt";
758
+ lte: "lte";
759
+ "is-before": "is-before";
760
+ "is-after": "is-after";
761
+ "is-on-or-before": "is-on-or-before";
762
+ "is-on-or-after": "is-on-or-after";
763
+ "is-any-of": "is-any-of";
764
+ "is-none-of": "is-none-of";
765
+ "has-any-of": "has-any-of";
766
+ "has-all-of": "has-all-of";
767
+ "has-none-of": "has-none-of";
768
+ "is-empty": "is-empty";
769
+ "is-not-empty": "is-not-empty";
770
+ }>;
771
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
772
+ }, z.core.$strip>>;
773
+ }, z.core.$strict>>>;
774
+ }, z.core.$strict>>;
775
+ defaultSorts: z.ZodOptional<z.ZodArray<z.ZodObject<{
776
+ attributeId: z.ZodString;
777
+ direction: z.ZodEnum<{
778
+ asc: "asc";
779
+ desc: "desc";
780
+ }>;
781
+ }, z.core.$strip>>>;
538
782
  defaultViews: z.ZodOptional<z.ZodArray<z.ZodObject<{
539
783
  id: z.ZodString;
540
784
  title: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -548,16 +792,77 @@ declare const extensionKanbanRendererRecordSchema: z.ZodObject<{
548
792
  }>;
549
793
  columnGrouping: z.ZodString;
550
794
  rowGrouping: z.ZodString;
551
- ordering: z.ZodObject<{
552
- attributeId: z.ZodString;
553
- direction: z.ZodEnum<{
554
- asc: "asc";
555
- desc: "desc";
556
- }>;
557
- }, z.core.$strip>;
558
795
  displayProperties: z.ZodArray<z.ZodString>;
559
796
  }, z.core.$strip>;
560
- filters: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
797
+ filter: z.ZodObject<{
798
+ conjunction: z.ZodEnum<{
799
+ and: "and";
800
+ or: "or";
801
+ }>;
802
+ rules: z.ZodArray<z.ZodObject<{
803
+ attributeId: z.ZodString;
804
+ condition: z.ZodEnum<{
805
+ contains: "contains";
806
+ "does-not-contain": "does-not-contain";
807
+ is: "is";
808
+ "is-not": "is-not";
809
+ gt: "gt";
810
+ gte: "gte";
811
+ lt: "lt";
812
+ lte: "lte";
813
+ "is-before": "is-before";
814
+ "is-after": "is-after";
815
+ "is-on-or-before": "is-on-or-before";
816
+ "is-on-or-after": "is-on-or-after";
817
+ "is-any-of": "is-any-of";
818
+ "is-none-of": "is-none-of";
819
+ "has-any-of": "has-any-of";
820
+ "has-all-of": "has-all-of";
821
+ "has-none-of": "has-none-of";
822
+ "is-empty": "is-empty";
823
+ "is-not-empty": "is-not-empty";
824
+ }>;
825
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
826
+ }, z.core.$strip>>;
827
+ groups: z.ZodOptional<z.ZodArray<z.ZodObject<{
828
+ conjunction: z.ZodEnum<{
829
+ and: "and";
830
+ or: "or";
831
+ }>;
832
+ rules: z.ZodArray<z.ZodObject<{
833
+ attributeId: z.ZodString;
834
+ condition: z.ZodEnum<{
835
+ contains: "contains";
836
+ "does-not-contain": "does-not-contain";
837
+ is: "is";
838
+ "is-not": "is-not";
839
+ gt: "gt";
840
+ gte: "gte";
841
+ lt: "lt";
842
+ lte: "lte";
843
+ "is-before": "is-before";
844
+ "is-after": "is-after";
845
+ "is-on-or-before": "is-on-or-before";
846
+ "is-on-or-after": "is-on-or-after";
847
+ "is-any-of": "is-any-of";
848
+ "is-none-of": "is-none-of";
849
+ "has-any-of": "has-any-of";
850
+ "has-all-of": "has-all-of";
851
+ "has-none-of": "has-none-of";
852
+ "is-empty": "is-empty";
853
+ "is-not-empty": "is-not-empty";
854
+ }>;
855
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString, z.ZodNumber, z.ZodArray<z.ZodString>]>>;
856
+ }, z.core.$strip>>;
857
+ }, z.core.$strict>>>;
858
+ }, z.core.$strict>;
859
+ sorts: z.ZodArray<z.ZodObject<{
860
+ attributeId: z.ZodString;
861
+ direction: z.ZodEnum<{
862
+ asc: "asc";
863
+ desc: "desc";
864
+ }>;
865
+ }, z.core.$strip>>;
561
866
  isDefault: z.ZodOptional<z.ZodBoolean>;
562
867
  }, z.core.$strip>>>;
563
868
  defaultActiveViewId: z.ZodOptional<z.ZodString>;
@@ -674,10 +979,10 @@ declare const extensionKeybindingRecordSchema: z.ZodObject<{
674
979
  when: z.ZodOptional<z.ZodObject<{
675
980
  mode: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
676
981
  source: z.ZodOptional<z.ZodArray<z.ZodEnum<{
677
- schedule: "schedule";
678
982
  automation: "automation";
679
- api: "api";
680
983
  event: "event";
984
+ schedule: "schedule";
985
+ api: "api";
681
986
  cli: "cli";
682
987
  dashboard: "dashboard";
683
988
  "command-panel": "command-panel";
@@ -761,6 +1066,12 @@ declare const extensionSettingDefinitionRecordSchema: z.ZodObject<{
761
1066
  }>;
762
1067
  default: z.ZodOptional<z.ZodUnknown>;
763
1068
  enum: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
1069
+ options: z.ZodOptional<z.ZodObject<{
1070
+ commandId: z.ZodString;
1071
+ valueField: z.ZodString;
1072
+ labelField: z.ZodString;
1073
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1074
+ }, z.core.$strip>>;
764
1075
  title: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
765
1076
  $l10n: z.ZodString;
766
1077
  default: z.ZodOptional<z.ZodString>;
@@ -794,7 +1105,16 @@ interface WorkbenchExtensionControlsAdapter {
794
1105
  export declare const registerWorkbenchExtensionControlsRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionControlsRendererRecord[], adapter?: WorkbenchExtensionControlsAdapter) => Disposable;
795
1106
  //#endregion
796
1107
  //#region src/extensions/contributions/data-table-renderer-contributions.d.ts
797
- export declare const registerWorkbenchExtensionDataTableRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionDataTableRendererRecord[]) => Disposable;
1108
+ interface WorkbenchExtensionDataTableRendererAdapter {
1109
+ resolveRowResource?: (record: WorkbenchExtensionDataTableRendererRecord, row: {
1110
+ id: string;
1111
+ values: Record<string, unknown>;
1112
+ resource?: ResourceRef$1;
1113
+ }) => ResourceRef$1 | undefined;
1114
+ /** Shared saved views for the table, such as the dashboard's project views. */
1115
+ createViewsProvider?: (record: WorkbenchExtensionDataTableRendererRecord) => CollectionViewsProvider<DataTableRendererSettings>;
1116
+ }
1117
+ export declare const registerWorkbenchExtensionDataTableRenderers: (context: WorkbenchExtensionCommandContext, records: WorkbenchExtensionDataTableRendererRecord[], adapter?: WorkbenchExtensionDataTableRendererAdapter) => Disposable;
798
1118
  //#endregion
799
1119
  //#region src/extensions/contributions/extension-contributions.d.ts
800
1120
  interface WorkbenchExtensionMenuSlotConfig {
@@ -995,7 +1315,8 @@ type KanbanRendererRow = Awaited<ReturnType<ReactKanbanRendererContribution["exe
995
1315
  type RowAction = NonNullable<WorkbenchExtensionKanbanRendererRecord["rowActions"]>[number];
996
1316
  type Localizer = (value: unknown, fallback?: string) => string;
997
1317
  //#endregion
998
- //#region src/extensions/contributions/kanban-renderer-contributions.d.ts
1318
+ //#region src/extensions/contributions/kanban-renderer-adapter.d.ts
1319
+ /** How a host changes the way extension boards load views, resolve resources, and react to changes. */
999
1320
  interface WorkbenchExtensionKanbanRendererAdapter {
1000
1321
  createViewsProvider?: (record: WorkbenchExtensionKanbanRendererRecord) => KanbanRendererViewsProvider;
1001
1322
  /** Override label resolution. Defaults to workbench's `text(value, fallback)`. */
@@ -1048,6 +1369,8 @@ interface WorkbenchExtensionKanbanRendererAdapter {
1048
1369
  */
1049
1370
  onAfterMutation?: (record: WorkbenchExtensionKanbanRendererRecord) => void;
1050
1371
  }
1372
+ //#endregion
1373
+ //#region src/extensions/contributions/kanban-renderer-contributions.d.ts
1051
1374
  export declare const registerWorkbenchExtensionKanbanRenderers: (context: WorkbenchExtensionCommandContext, records: readonly WorkbenchExtensionKanbanRendererRecord[], adapter?: WorkbenchExtensionKanbanRendererAdapter) => {
1052
1375
  dispose(): void;
1053
1376
  };
@@ -1137,6 +1460,7 @@ interface RegisterWorkbenchExtensionContributionsInput {
1137
1460
  createWebviewTheme?: CreateBridgeWebviewTheme;
1138
1461
  executeCommand(commandId: string, body: CommandExecuteRequest, signal?: AbortSignal): Promise<unknown> | unknown;
1139
1462
  kanbanAdapter?: WorkbenchExtensionKanbanRendererAdapter;
1463
+ dataTableAdapter?: WorkbenchExtensionDataTableRendererAdapter;
1140
1464
  menuSlotsById?: ReadonlyMap<string, WorkbenchExtensionMenuSlotConfig>;
1141
1465
  menuTargetsById?: ReadonlyMap<string, WorkbenchExtensionMenuSlotConfig>;
1142
1466
  menuRegistrations?: readonly WorkbenchExtensionHostMenuRegistration[];
@@ -1162,11 +1486,11 @@ export declare const registerWorkbenchExtensionContributions: (sourceInput: Regi
1162
1486
  //#region src/extensions/host/workbench-extension-metadata-ref.d.ts
1163
1487
  export declare const toWorkbenchWhenExpression: (when: WorkbenchExtensionMetadata$1["navigationItems"][number]["when"] | WorkbenchExtensionMetadata$1["statusBarItems"][number]["when"]) => {
1164
1488
  mode: string | string[] | undefined;
1165
- source: ("schedule" | "automation" | "api" | "event" | "cli" | "dashboard" | "command-panel")[] | undefined;
1489
+ source: ("automation" | "event" | "schedule" | "api" | "cli" | "dashboard" | "command-panel")[] | undefined;
1166
1490
  viewId: string | string[] | undefined;
1167
1491
  resourceType: string[] | undefined;
1168
1492
  metadata: Record<string, unknown> | undefined;
1169
1493
  } | undefined;
1170
1494
  //#endregion
1171
- export type { BridgeWebviewConfig, BridgeWebviewRenderContext, CreateBridgeWebviewHostCapabilities, CreateBridgeWebviewProps, CreateBridgeWebviewTheme, ExtensionWebviewArtifactCapabilities, ExtensionWebviewFileCapabilities, RegisterWorkbenchExtensionContributionsInput, RegisterWorkbenchExtensionFileRenderersInput, RegisterWorkbenchExtensionRendererRefreshEventsInput, RegisterWorkbenchExtensionTreeRenderersInput, ToWorkbenchNavigationTargetInput, WorkbenchExtensionCommandContext, WorkbenchExtensionCommandPaletteRegistration, WorkbenchExtensionControlsAdapter, WorkbenchExtensionHostMenuRegistration, WorkbenchExtensionKanbanRendererAdapter, WorkbenchExtensionMenuRegistration, WorkbenchExtensionMenuSlotConfig, WorkbenchExtensionMenuWhenBuilder, WorkbenchExtensionMetadata, WorkbenchExtensionRendererKind };
1495
+ export type { BridgeWebviewConfig, BridgeWebviewRenderContext, CreateBridgeWebviewHostCapabilities, CreateBridgeWebviewProps, CreateBridgeWebviewTheme, ExtensionWebviewArtifactCapabilities, ExtensionWebviewFileCapabilities, RegisterWorkbenchExtensionContributionsInput, RegisterWorkbenchExtensionFileRenderersInput, RegisterWorkbenchExtensionRendererRefreshEventsInput, RegisterWorkbenchExtensionTreeRenderersInput, ToWorkbenchNavigationTargetInput, WorkbenchExtensionCommandContext, WorkbenchExtensionCommandPaletteRegistration, WorkbenchExtensionControlsAdapter, WorkbenchExtensionDataTableRendererAdapter, WorkbenchExtensionHostMenuRegistration, WorkbenchExtensionKanbanRendererAdapter, WorkbenchExtensionMenuRegistration, WorkbenchExtensionMenuSlotConfig, WorkbenchExtensionMenuWhenBuilder, WorkbenchExtensionMetadata, WorkbenchExtensionRendererKind };
1172
1496
  export {};