@pstdio/sdk 0.14.0 → 0.16.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/dist/api/index.js CHANGED
@@ -13583,14 +13583,38 @@ var agentSkillsLayoutSchema = exports_external.object({
13583
13583
  dir: exports_external.string(),
13584
13584
  global_dir: exports_external.string()
13585
13585
  });
13586
+ var localizableSchema = exports_external.union([exports_external.string(), exports_external.object({ $l10n: exports_external.string(), default: exports_external.string().optional() })]);
13587
+ var harnessParamBaseSchema = exports_external.object({
13588
+ label: localizableSchema.optional(),
13589
+ description: localizableSchema.optional(),
13590
+ required: exports_external.boolean().optional(),
13591
+ metadata: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
13592
+ });
13593
+ var harnessParamOptionSchema = exports_external.object({ label: exports_external.string(), value: exports_external.string(), icon: exports_external.string().optional() });
13594
+ var harnessSelectParamSchema = harnessParamBaseSchema.extend({
13595
+ type: exports_external.literal("select"),
13596
+ defaultValue: exports_external.string().optional(),
13597
+ options: exports_external.array(harnessParamOptionSchema)
13598
+ });
13599
+ var harnessBooleanParamSchema = harnessParamBaseSchema.extend({
13600
+ type: exports_external.literal("boolean"),
13601
+ defaultValue: exports_external.boolean().optional()
13602
+ });
13603
+ var harnessParamDescriptorSchema = exports_external.union([harnessSelectParamSchema, harnessBooleanParamSchema]);
13604
+ var harnessParamsSchema = exports_external.record(exports_external.string(), harnessParamDescriptorSchema);
13586
13605
  var agentInfoSchema = exports_external.object({
13587
13606
  id: exports_external.string(),
13588
13607
  name: exports_external.string(),
13589
13608
  availability: exports_external.object({ type: agentAvailabilityTypeSchema }),
13590
- skills: agentSkillsLayoutSchema.optional()
13609
+ skills: agentSkillsLayoutSchema.optional(),
13610
+ params: harnessParamsSchema.optional()
13591
13611
  });
13592
13612
  var agentModelSchema = exports_external.object({
13593
- id: exports_external.string()
13613
+ id: exports_external.string(),
13614
+ label: exports_external.string().optional(),
13615
+ description: exports_external.string().optional(),
13616
+ isDefault: exports_external.boolean().optional(),
13617
+ paramOverrides: exports_external.record(exports_external.string(), harnessParamDescriptorSchema.nullable()).optional()
13594
13618
  });
13595
13619
  var harnessLocalId = (id) => id.slice(id.lastIndexOf(".") + 1);
13596
13620
  // ../pstdio-api-contracts/src/extension-kernel/refs.ts
@@ -13608,7 +13632,7 @@ var defineSlot = (id, options) => ({
13608
13632
 
13609
13633
  // ../pstdio-api-contracts/src/extension-kernel/kernel-slots.ts
13610
13634
  var projectSlots = {
13611
- sidebar: defineSlot("project.sidebar", { kind: "view" }),
13635
+ sidenav: defineSlot("project.sidenav", { kind: "panel" }),
13612
13636
  headerPrimary: defineSlot("project.headerPrimary", { kind: "menu" }),
13613
13637
  headerOverflow: defineSlot("project.headerOverflow", { kind: "menu" }),
13614
13638
  settingsPanels: defineSlot("project.settingsPanels", { kind: "settings" })
@@ -13621,7 +13645,7 @@ var sessionSlots = {
13621
13645
  var workspaceSlots = {
13622
13646
  headerPrimary: defineSlot("workspace.headerPrimary", { kind: "menu" }),
13623
13647
  headerOverflow: defineSlot("workspace.headerOverflow", { kind: "menu" }),
13624
- sidebar: defineSlot("workspace.sidebar", { kind: "view" })
13648
+ sidenav: defineSlot("workspace.sidenav", { kind: "panel" })
13625
13649
  };
13626
13650
  var projectEvents = {
13627
13651
  opened: eventRef("project.opened")
@@ -13636,11 +13660,12 @@ var sessionEvents = {
13636
13660
  };
13637
13661
  var workspaceEvents = {
13638
13662
  created: eventRef("workspace.created"),
13663
+ provision: eventRef("workspace.provision"),
13664
+ ready: eventRef("workspace.ready"),
13639
13665
  archived: eventRef("workspace.archived"),
13640
13666
  deleted: eventRef("workspace.deleted")
13641
13667
  };
13642
13668
  var worktreeEvents = {
13643
- created: eventRef("worktree.created"),
13644
13669
  removed: eventRef("worktree.removed")
13645
13670
  };
13646
13671
  var gitEvents = {
@@ -13678,6 +13703,7 @@ var WEBVIEW_DECLARABLE_CAPABILITIES = [
13678
13703
  "extension.settings.get",
13679
13704
  "extension.settings.set",
13680
13705
  "extension.settings.delete",
13706
+ "terminal.session",
13681
13707
  "files.upload",
13682
13708
  "files.list",
13683
13709
  "files.delete"
@@ -13694,6 +13720,20 @@ var workbenchTreeTargets = [
13694
13720
  "workbench.main.left.tree",
13695
13721
  "workbench.main.right.tree"
13696
13722
  ];
13723
+ var workbenchRegions = [
13724
+ "nav",
13725
+ "activity",
13726
+ "sidenav-header",
13727
+ "sidenav",
13728
+ "main-header",
13729
+ "main",
13730
+ "secondary-header",
13731
+ "secondary",
13732
+ "side-header",
13733
+ "side",
13734
+ "status",
13735
+ "overlay"
13736
+ ];
13697
13737
  var workbenchViewTargets = [
13698
13738
  "workbench.main",
13699
13739
  "workbench.main.left",
@@ -13702,6 +13742,7 @@ var workbenchViewTargets = [
13702
13742
  ];
13703
13743
  var workbenchSettingsTargets = ["workbench.settings"];
13704
13744
  var workbenchSettingsScopes = ["project", "global"];
13745
+ var workbenchModePanels = ["main", "secondary", "side"];
13705
13746
  var workbenchModeLayoutTargets = [
13706
13747
  "workbench.left",
13707
13748
  "workbench.main.left",
@@ -13709,6 +13750,14 @@ var workbenchModeLayoutTargets = [
13709
13750
  "workbench.main.right",
13710
13751
  "workbench.secondary"
13711
13752
  ];
13753
+ var workbenchModeLayoutTargetPanels = {
13754
+ "workbench.left": undefined,
13755
+ "workbench.main.left": "main",
13756
+ "workbench.main": "main",
13757
+ "workbench.main.right": "main",
13758
+ "workbench.secondary": "secondary"
13759
+ };
13760
+ var getWorkbenchModeLayoutTargetPanel = (target) => workbenchModeLayoutTargetPanels[target];
13712
13761
  var workbenchTargets = [
13713
13762
  {
13714
13763
  id: "workbench.nav.actions",
@@ -13740,30 +13789,6 @@ var workbenchTargets = [
13740
13789
  granularity: "areaTree",
13741
13790
  rationale: "Tree entries for the active tree renderer mounted in the main-right area."
13742
13791
  },
13743
- {
13744
- id: "workbench.main",
13745
- allowedKinds: ["view"],
13746
- granularity: "area",
13747
- rationale: "Direct extension view placement in the main area."
13748
- },
13749
- {
13750
- id: "workbench.main.left",
13751
- allowedKinds: ["view"],
13752
- granularity: "area",
13753
- rationale: "Direct extension view placement in the main-left area."
13754
- },
13755
- {
13756
- id: "workbench.main.right",
13757
- allowedKinds: ["view"],
13758
- granularity: "area",
13759
- rationale: "Direct extension view placement in the main-right area."
13760
- },
13761
- {
13762
- id: "workbench.secondary",
13763
- allowedKinds: ["view"],
13764
- granularity: "area",
13765
- rationale: "Direct extension view placement in the secondary area."
13766
- },
13767
13792
  {
13768
13793
  id: "workbench.settings",
13769
13794
  allowedKinds: ["settings"],
@@ -13803,7 +13828,14 @@ var packageAssetDescriptorSchema = exports_external.object({
13803
13828
  baseUrl: exports_external.string()
13804
13829
  });
13805
13830
  var extensionPlacementSchema = exports_external.enum(["first", "default", "last"]);
13806
- var extensionSlotKindSchema = exports_external.enum(["menu", "view", "settings", "renderer", "dataRenderer"]);
13831
+ var extensionSlotKindSchema = exports_external.enum([
13832
+ "menu",
13833
+ "panel",
13834
+ "settings",
13835
+ "renderer",
13836
+ "kanbanRenderer",
13837
+ "dataTableRenderer"
13838
+ ]);
13807
13839
  var commandSourceSchema = exports_external.enum([
13808
13840
  "cli",
13809
13841
  "dashboard",
@@ -13879,33 +13911,19 @@ var extensionArtifactMountSchema = exports_external.object({
13879
13911
  label: localizableStringSchema
13880
13912
  });
13881
13913
  // ../pstdio-api-contracts/src/extensions/targets.ts
13882
- var workbenchMenuTargetSchema = exports_external.enum(["workbench.nav.actions", "workbench.nav.overflow"]);
13883
- var workbenchTreeTargetSchema = exports_external.enum([
13884
- "workbench.left.tree",
13885
- "workbench.main.left.tree",
13886
- "workbench.main.right.tree"
13887
- ]);
13888
- var workbenchViewTargetSchema = exports_external.enum([
13889
- "workbench.main",
13890
- "workbench.main.left",
13891
- "workbench.main.right",
13892
- "workbench.secondary"
13893
- ]);
13894
- var workbenchSettingsTargetSchema = exports_external.enum(["workbench.settings"]);
13895
- var workbenchModeLayoutTargetSchema = exports_external.enum([
13896
- "workbench.left",
13897
- "workbench.main.left",
13898
- "workbench.main",
13899
- "workbench.main.right",
13900
- "workbench.secondary"
13901
- ]);
13914
+ var workbenchMenuTargetSchema = exports_external.enum(workbenchMenuTargets);
13915
+ var workbenchTreeTargetSchema = exports_external.enum(workbenchTreeTargets);
13916
+ var workbenchRegionSchema = exports_external.enum(workbenchRegions);
13917
+ var workbenchViewTargetSchema = exports_external.enum(workbenchViewTargets);
13918
+ var workbenchSettingsTargetSchema = exports_external.enum(workbenchSettingsTargets);
13919
+ var workbenchModeLayoutTargetSchema = exports_external.enum(workbenchModeLayoutTargets);
13902
13920
  var workbenchAttachmentTargetSchema = exports_external.union([
13903
13921
  workbenchMenuTargetSchema,
13904
13922
  workbenchTreeTargetSchema,
13905
13923
  workbenchViewTargetSchema,
13906
13924
  workbenchSettingsTargetSchema
13907
13925
  ]);
13908
- var workbenchSettingsScopeSchema = exports_external.enum(["project", "global"]);
13926
+ var workbenchSettingsScopeSchema = exports_external.enum(workbenchSettingsScopes);
13909
13927
 
13910
13928
  // ../pstdio-api-contracts/src/extensions/commands.ts
13911
13929
  var extensionCommandRecordSchema = exports_external.object({
@@ -13961,36 +13979,103 @@ var extensionCommandPaletteContributionSchema = exports_external.object({
13961
13979
  when: extensionWhenExpressionSchema.optional()
13962
13980
  });
13963
13981
 
13964
- // ../pstdio-api-contracts/src/extensions/data-renderer.ts
13965
- var dataRendererEnumOptionSchema = exports_external.object({
13982
+ // ../pstdio-api-contracts/src/extensions/controls-renderer.ts
13983
+ var extensionControlsRendererRecordSchema = exports_external.object({
13984
+ id: exports_external.string(),
13985
+ extensionId: exports_external.string(),
13986
+ title: localizableStringSchema,
13987
+ queryCommandId: exports_external.string(),
13988
+ updateValueCommandId: exports_external.string().optional(),
13989
+ applyCommandId: exports_external.string().optional(),
13990
+ resetCommandId: exports_external.string().optional(),
13991
+ refreshEventIds: exports_external.array(exports_external.string()).optional(),
13992
+ defaultValues: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
13993
+ emptyTitle: localizableStringSchema.optional(),
13994
+ emptyDescription: localizableStringSchema.optional()
13995
+ });
13996
+
13997
+ // ../pstdio-api-contracts/src/extensions/data-table-renderer.ts
13998
+ var themeColorSchema = exports_external.object({
13999
+ light: exports_external.string(),
14000
+ dark: exports_external.string(),
14001
+ foreground: exports_external.object({ light: exports_external.string(), dark: exports_external.string() }).optional()
14002
+ });
14003
+ var columnStatSchema = exports_external.discriminatedUnion("type", [
14004
+ exports_external.object({ type: exports_external.literal("unique") }),
14005
+ exports_external.object({ type: exports_external.literal("histogram"), bins: exports_external.number().int().positive().optional() }),
14006
+ exports_external.object({ type: exports_external.literal("top-values"), limit: exports_external.number().int().positive().optional() })
14007
+ ]);
14008
+ var columnRendererSchema = exports_external.discriminatedUnion("type", [
14009
+ exports_external.object({ type: exports_external.literal("json") }),
14010
+ exports_external.object({
14011
+ type: exports_external.literal("color-scale"),
14012
+ stops: exports_external.array(exports_external.object({ value: exports_external.number(), color: themeColorSchema }))
14013
+ }),
14014
+ exports_external.object({
14015
+ type: exports_external.literal("categorical-color"),
14016
+ categories: exports_external.array(exports_external.object({ value: exports_external.union([exports_external.string(), exports_external.number(), exports_external.boolean(), exports_external.null()]), color: themeColorSchema }))
14017
+ })
14018
+ ]);
14019
+ var dataTableRendererColumnSchema = exports_external.object({
14020
+ id: exports_external.string(),
14021
+ label: localizableStringSchema.optional(),
14022
+ description: localizableStringSchema.optional(),
14023
+ icon: exports_external.string().optional(),
14024
+ hidden: exports_external.boolean().optional(),
14025
+ stat: columnStatSchema.optional(),
14026
+ renderer: columnRendererSchema.optional()
14027
+ });
14028
+ var rowActionSchema = exports_external.object({
14029
+ id: exports_external.string(),
14030
+ label: localizableStringSchema,
14031
+ icon: exports_external.string().optional(),
14032
+ destructive: exports_external.boolean().optional(),
14033
+ commandId: exports_external.string()
14034
+ });
14035
+ var extensionDataTableRendererRecordSchema = exports_external.object({
14036
+ id: exports_external.string(),
14037
+ extensionId: exports_external.string(),
14038
+ title: localizableStringSchema,
14039
+ resourceKind: exports_external.string().optional(),
14040
+ columns: exports_external.array(dataTableRendererColumnSchema).optional(),
14041
+ queryCommandId: exports_external.string(),
14042
+ rowActions: exports_external.array(rowActionSchema).optional(),
14043
+ initialPageSize: exports_external.number().int().positive().optional(),
14044
+ pageSizeOptions: exports_external.array(exports_external.number().int().positive()).optional(),
14045
+ emptyTitle: localizableStringSchema.optional(),
14046
+ emptyDescription: localizableStringSchema.optional()
14047
+ });
14048
+
14049
+ // ../pstdio-api-contracts/src/extensions/kanban-renderer.ts
14050
+ var kanbanRendererEnumOptionSchema = exports_external.object({
13966
14051
  value: exports_external.string(),
13967
14052
  label: localizableStringSchema,
13968
14053
  color: exports_external.string().optional(),
13969
14054
  icon: exports_external.string().nullable().optional()
13970
14055
  });
13971
- var dataRendererAttributeTypeSchema = exports_external.discriminatedUnion("kind", [
13972
- exports_external.object({ kind: exports_external.literal("enum"), options: exports_external.array(dataRendererEnumOptionSchema) }),
13973
- exports_external.object({ kind: exports_external.literal("enum-multi"), options: exports_external.array(dataRendererEnumOptionSchema) }),
14056
+ var kanbanRendererAttributeTypeSchema = exports_external.discriminatedUnion("kind", [
14057
+ exports_external.object({ kind: exports_external.literal("enum"), options: exports_external.array(kanbanRendererEnumOptionSchema) }),
14058
+ exports_external.object({ kind: exports_external.literal("enum-multi"), options: exports_external.array(kanbanRendererEnumOptionSchema) }),
13974
14059
  exports_external.object({ kind: exports_external.literal("string") }),
13975
14060
  exports_external.object({ kind: exports_external.literal("date") }),
13976
14061
  exports_external.object({ kind: exports_external.literal("number") }),
13977
14062
  exports_external.object({ kind: exports_external.literal("user") })
13978
14063
  ]);
13979
- var dataRendererAttributeDisplaySchema = exports_external.discriminatedUnion("kind", [
14064
+ var kanbanRendererAttributeDisplaySchema = exports_external.discriminatedUnion("kind", [
13980
14065
  exports_external.object({ kind: exports_external.literal("workspace-badge"), itemsAttributeId: exports_external.string() })
13981
14066
  ]);
13982
- var dataRendererAttributeSchema = exports_external.object({
14067
+ var kanbanRendererAttributeSchema = exports_external.object({
13983
14068
  id: exports_external.string(),
13984
14069
  label: localizableStringSchema,
13985
- type: dataRendererAttributeTypeSchema,
14070
+ type: kanbanRendererAttributeTypeSchema,
13986
14071
  filterable: exports_external.boolean().optional(),
13987
14072
  groupable: exports_external.boolean().optional(),
13988
14073
  sortable: exports_external.boolean().optional(),
13989
14074
  displayable: exports_external.boolean().optional(),
13990
14075
  editable: exports_external.boolean().optional(),
13991
- display: dataRendererAttributeDisplaySchema.optional()
14076
+ display: kanbanRendererAttributeDisplaySchema.optional()
13992
14077
  });
13993
- var dataRendererSettingsSchema = exports_external.object({
14078
+ var kanbanRendererSettingsSchema = exports_external.object({
13994
14079
  viewMode: exports_external.enum(["board", "list"]),
13995
14080
  columnGrouping: exports_external.string(),
13996
14081
  rowGrouping: exports_external.string(),
@@ -14000,41 +14085,59 @@ var dataRendererSettingsSchema = exports_external.object({
14000
14085
  }),
14001
14086
  displayProperties: exports_external.array(exports_external.string())
14002
14087
  });
14003
- var extensionDataRendererCreateRowSchema = exports_external.object({
14088
+ var kanbanRendererSavedViewSchema = exports_external.object({
14089
+ id: exports_external.string(),
14090
+ title: localizableStringSchema,
14091
+ settings: kanbanRendererSettingsSchema,
14092
+ filters: exports_external.record(exports_external.string(), exports_external.array(exports_external.string())),
14093
+ isDefault: exports_external.boolean().optional()
14094
+ });
14095
+ var extensionKanbanRendererCreateRowSchema = exports_external.object({
14004
14096
  commandId: exports_external.string(),
14005
14097
  title: localizableStringSchema.optional(),
14006
14098
  submitLabel: localizableStringSchema.optional(),
14007
14099
  columnParam: exports_external.string().optional(),
14008
- params: extensionParamObjectSchema.optional()
14100
+ params: extensionParamObjectSchema.optional(),
14101
+ attributesParam: exports_external.string().optional(),
14102
+ attachments: exports_external.object({
14103
+ commandId: exports_external.string(),
14104
+ resourceParam: exports_external.string(),
14105
+ fileParam: exports_external.string()
14106
+ }).optional(),
14107
+ labels: exports_external.object({
14108
+ cancel: localizableStringSchema.optional(),
14109
+ properties: localizableStringSchema.optional(),
14110
+ submitError: localizableStringSchema.optional(),
14111
+ removeFile: localizableStringSchema.optional()
14112
+ }).optional()
14009
14113
  });
14010
- var extensionDataRendererRowActionSchema = exports_external.object({
14114
+ var extensionKanbanRendererRowActionSchema = exports_external.object({
14011
14115
  id: exports_external.string(),
14012
14116
  label: localizableStringSchema,
14013
14117
  icon: exports_external.string().optional(),
14014
14118
  commandId: exports_external.string(),
14015
14119
  destructive: exports_external.boolean().optional()
14016
14120
  });
14017
- var extensionDataRendererRecordSchema = exports_external.object({
14121
+ var extensionKanbanRendererRecordSchema = exports_external.object({
14018
14122
  id: exports_external.string(),
14019
14123
  extensionId: exports_external.string(),
14124
+ extensionInstanceId: exports_external.string().optional(),
14020
14125
  title: localizableStringSchema,
14021
14126
  resourceKind: exports_external.string().optional(),
14022
- attributes: exports_external.array(dataRendererAttributeSchema).optional(),
14127
+ attributes: exports_external.array(kanbanRendererAttributeSchema).optional(),
14023
14128
  queryCommandId: exports_external.string(),
14024
14129
  updateAttributeCommandId: exports_external.string().optional(),
14025
14130
  reorderCommandId: exports_external.string().optional(),
14026
14131
  columnActionCommandId: exports_external.string().optional(),
14027
- createRow: extensionDataRendererCreateRowSchema.optional(),
14028
- rowActions: exports_external.array(extensionDataRendererRowActionSchema).optional(),
14029
- defaultSettings: dataRendererSettingsSchema.partial().optional(),
14132
+ createRow: extensionKanbanRendererCreateRowSchema.optional(),
14133
+ rowActions: exports_external.array(extensionKanbanRendererRowActionSchema).optional(),
14134
+ defaultSettings: kanbanRendererSettingsSchema.partial().optional(),
14030
14135
  defaultFilters: exports_external.record(exports_external.string(), exports_external.array(exports_external.string())).optional(),
14136
+ defaultViews: exports_external.array(kanbanRendererSavedViewSchema).optional(),
14137
+ defaultActiveViewId: exports_external.string().optional(),
14031
14138
  emptyTitle: localizableStringSchema.optional(),
14032
14139
  emptyDescription: localizableStringSchema.optional(),
14033
- hideToolbar: exports_external.boolean().optional(),
14034
- savedViews: exports_external.object({
14035
- resourceKind: exports_external.string(),
14036
- scope: exports_external.enum(["project", "user"]).optional()
14037
- }).optional()
14140
+ hideToolbar: exports_external.boolean().optional()
14038
14141
  });
14039
14142
  var extensionCommandPaletteResourceRecordSchema = exports_external.object({
14040
14143
  id: exports_external.string(),
@@ -14070,88 +14173,51 @@ var extensionKeybindingRecordSchema = exports_external.object({
14070
14173
  args: jsonObjectSchema.optional()
14071
14174
  });
14072
14175
 
14073
- // ../pstdio-api-contracts/src/extensions/renderers.ts
14074
- var extensionTreeRendererRecordSchema = exports_external.object({
14075
- id: exports_external.string(),
14076
- extensionId: exports_external.string(),
14077
- title: localizableStringSchema,
14078
- icon: exports_external.string().optional(),
14079
- bodyCommandId: exports_external.string(),
14080
- childrenCommandId: exports_external.string().optional(),
14081
- footerCommandId: exports_external.string().optional(),
14082
- defaultExpandedSectionIds: exports_external.array(exports_external.string()).optional(),
14083
- defaultExpandedNodeIds: exports_external.array(exports_external.string()).optional()
14084
- });
14085
- var extensionFileRendererRecordSchema = exports_external.object({
14086
- id: exports_external.string(),
14087
- extensionId: exports_external.string(),
14088
- title: localizableStringSchema,
14089
- icon: exports_external.string().optional(),
14090
- resourceKind: exports_external.string().optional(),
14091
- loadCommandId: exports_external.string(),
14092
- saveCommandId: exports_external.string().optional()
14093
- });
14094
-
14095
- // ../pstdio-api-contracts/src/extensions/settings.ts
14096
- var extensionSettingsPanelRecordSchema = exports_external.object({
14176
+ // ../pstdio-api-contracts/src/extensions/panels.ts
14177
+ var hasSinglePanelBody = (value) => [
14178
+ value.webview,
14179
+ value.treeRendererId,
14180
+ value.fileRendererId,
14181
+ value.controlsRendererId,
14182
+ value.dataTableRendererId
14183
+ ].filter(Boolean).length === 1;
14184
+ var singlePanelBodyMessage = "Extension panels must declare exactly one body: webview, treeRendererId, fileRendererId, controlsRendererId, or dataTableRendererId";
14185
+ var hostTreeDefaultSchema = exports_external.enum(["default", "none"]);
14186
+ var panelBodySchema = {
14187
+ webview: extensionWebviewContributionSchema.optional(),
14188
+ treeRendererId: exports_external.string().optional(),
14189
+ fileRendererId: exports_external.string().optional(),
14190
+ controlsRendererId: exports_external.string().optional(),
14191
+ dataTableRendererId: exports_external.string().optional()
14192
+ };
14193
+ var extensionPanelMenuRecordSchema = exports_external.object({
14097
14194
  id: exports_external.string(),
14098
14195
  extensionId: exports_external.string(),
14099
- extensionInstanceId: exports_external.string().optional(),
14100
- installedExtensionId: exports_external.string().optional(),
14101
- installName: exports_external.string().optional(),
14102
- slotId: exports_external.string(),
14103
- target: workbenchSettingsTargetSchema.optional(),
14104
- scope: workbenchSettingsScopeSchema.optional(),
14196
+ ownerPanelId: exports_external.string(),
14105
14197
  title: localizableStringSchema,
14106
- icon: exports_external.string().optional(),
14107
- webview: extensionWebviewContributionSchema
14108
- });
14109
- var extensionSettingDefinitionRecordSchema = exports_external.object({
14110
- key: exports_external.string(),
14111
- extensionId: exports_external.string(),
14112
- type: extensionSettingValueTypeSchema,
14113
- scope: extensionSettingScopeSchema,
14114
- default: exports_external.unknown().optional(),
14115
- enum: exports_external.array(exports_external.unknown()).optional(),
14116
- title: localizableStringSchema.optional(),
14117
- description: localizableStringSchema.optional()
14118
- });
14119
- var extensionSettingValueRecordSchema = extensionSettingDefinitionRecordSchema.extend({
14120
- value: exports_external.unknown().optional(),
14121
- source: extensionSettingSourceSchema
14122
- });
14123
- var listExtensionSettingsResponseSchema = exports_external.object({
14124
- settings: exports_external.array(extensionSettingValueRecordSchema)
14125
- });
14126
- var updateExtensionSettingRequestSchema = exports_external.object({
14127
- value: exports_external.unknown()
14128
- });
14129
- var workbenchExtensionSettingsPanelRecordSchema = extensionSettingsPanelRecordSchema.extend({
14130
- webview: workbenchExtensionWebviewSchema
14131
- });
14132
-
14133
- // ../pstdio-api-contracts/src/extensions/views.ts
14134
- var hasSingleViewBody = (value) => [value.webview, value.treeRendererId, value.fileRendererId].filter(Boolean).length === 1;
14135
- var singleViewBodyMessage = "Extension views must declare exactly one body: webview, treeRendererId, or fileRendererId";
14136
- var hostTreeDefaultSchema = exports_external.enum(["default", "none"]);
14137
- var extensionViewRecordBaseSchema = exports_external.object({
14198
+ side: exports_external.enum(["left", "right"]),
14199
+ group: exports_external.string().optional(),
14200
+ placement: extensionPlacementSchema.optional(),
14201
+ hostTreeHeader: hostTreeDefaultSchema.optional(),
14202
+ hostTreeFooter: hostTreeDefaultSchema.optional(),
14203
+ ...panelBodySchema
14204
+ }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14205
+ var workbenchExtensionPanelMenuRecordSchema = extensionPanelMenuRecordSchema.safeExtend({ webview: workbenchExtensionWebviewSchema.optional() }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14206
+ var extensionPanelRecordBaseSchema = exports_external.object({
14138
14207
  id: exports_external.string(),
14139
14208
  extensionId: exports_external.string(),
14140
- slotId: exports_external.string(),
14141
- target: workbenchViewTargetSchema.optional(),
14142
14209
  title: localizableStringSchema,
14210
+ region: workbenchRegionSchema,
14211
+ closable: exports_external.boolean(),
14143
14212
  group: exports_external.string().optional(),
14144
14213
  placement: extensionPlacementSchema.optional(),
14145
14214
  resourceKind: exports_external.string().optional(),
14146
- surface: exports_external.enum(["panel", "modal"]).optional(),
14147
- webview: extensionWebviewContributionSchema.optional(),
14148
- treeRendererId: exports_external.string().optional(),
14149
- fileRendererId: exports_external.string().optional(),
14150
- hostTreeHeader: hostTreeDefaultSchema.optional(),
14151
- hostTreeFooter: hostTreeDefaultSchema.optional()
14215
+ eligibleLocations: exports_external.object({ resourceKinds: exports_external.array(exports_external.string()).optional() }).optional(),
14216
+ panelMenus: exports_external.array(extensionPanelMenuRecordSchema).optional(),
14217
+ ...panelBodySchema
14152
14218
  });
14153
- var extensionViewRecordSchema = extensionViewRecordBaseSchema.refine(hasSingleViewBody, {
14154
- message: singleViewBodyMessage
14219
+ var extensionPanelRecordSchema = extensionPanelRecordBaseSchema.refine(hasSinglePanelBody, {
14220
+ message: singlePanelBodyMessage
14155
14221
  });
14156
14222
  var extensionRouteRecordSchema = exports_external.object({
14157
14223
  id: exports_external.string(),
@@ -14180,7 +14246,7 @@ var extensionTreeItemActionSchema = exports_external.discriminatedUnion("kind",
14180
14246
  commandId: exports_external.string(),
14181
14247
  args: jsonObjectSchema.optional()
14182
14248
  }),
14183
- exports_external.object({ kind: exports_external.literal("dataRenderer"), dataRendererId: exports_external.string() }),
14249
+ exports_external.object({ kind: exports_external.literal("kanbanRenderer"), kanbanRendererId: exports_external.string() }),
14184
14250
  exports_external.object({ kind: exports_external.literal("route"), route: exports_external.string() }),
14185
14251
  exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() })
14186
14252
  ]);
@@ -14196,17 +14262,16 @@ var extensionTreeItemContributionSchema = exports_external.object({
14196
14262
  when: extensionWhenExpressionSchema.optional()
14197
14263
  });
14198
14264
  var modeTargetContributionRecordSchema = exports_external.object({
14199
- target: workbenchModeLayoutTargetSchema,
14200
- view: exports_external.string().optional(),
14265
+ panel: exports_external.string().optional(),
14201
14266
  resource: exports_external.string().optional(),
14202
- widget: exports_external.string().optional(),
14267
+ region: workbenchRegionSchema.optional(),
14203
14268
  title: localizableStringSchema.optional(),
14204
14269
  pinned: exports_external.boolean().optional()
14205
- }).refine((value) => value.view || value.resource, {
14206
- message: "Mode layout entries must declare a view or resource"
14270
+ }).refine((value) => value.panel || value.resource, {
14271
+ message: "Mode layout entries must declare a panel or resource"
14207
14272
  });
14208
14273
  var modeLayoutContributionRecordSchema = exports_external.object({
14209
- reset: exports_external.union([exports_external.boolean(), exports_external.array(workbenchModeLayoutTargetSchema)]).optional(),
14274
+ panels: exports_external.array(exports_external.enum(workbenchModePanels)).optional(),
14210
14275
  open: exports_external.array(modeTargetContributionRecordSchema).optional()
14211
14276
  });
14212
14277
  var extensionModeRecordSchema = exports_external.object({
@@ -14218,13 +14283,14 @@ var extensionModeRecordSchema = exports_external.object({
14218
14283
  resourceKind: exports_external.string().optional(),
14219
14284
  layout: modeLayoutContributionRecordSchema.optional()
14220
14285
  });
14221
- var workbenchExtensionViewRecordSchema = extensionViewRecordBaseSchema.extend({
14286
+ var workbenchExtensionPanelRecordSchema = extensionPanelRecordBaseSchema.extend({
14222
14287
  extensionInstanceId: exports_external.string().optional(),
14223
14288
  installedExtensionId: exports_external.string().optional(),
14224
14289
  installName: exports_external.string().optional(),
14225
- webview: workbenchExtensionWebviewSchema.optional()
14226
- }).refine(hasSingleViewBody, {
14227
- message: singleViewBodyMessage
14290
+ webview: workbenchExtensionWebviewSchema.optional(),
14291
+ panelMenus: exports_external.array(workbenchExtensionPanelMenuRecordSchema).optional()
14292
+ }).refine(hasSinglePanelBody, {
14293
+ message: singlePanelBodyMessage
14228
14294
  });
14229
14295
  var workbenchExtensionRouteRecordSchema = extensionRouteRecordSchema.extend({
14230
14296
  extensionInstanceId: exports_external.string().optional(),
@@ -14237,6 +14303,66 @@ var extensionViewLikeSchema = exports_external.object({
14237
14303
  extensionId: exports_external.string()
14238
14304
  });
14239
14305
 
14306
+ // ../pstdio-api-contracts/src/extensions/renderers.ts
14307
+ var extensionTreeRendererRecordSchema = exports_external.object({
14308
+ id: exports_external.string(),
14309
+ extensionId: exports_external.string(),
14310
+ title: localizableStringSchema,
14311
+ icon: exports_external.string().optional(),
14312
+ bodyCommandId: exports_external.string(),
14313
+ childrenCommandId: exports_external.string().optional(),
14314
+ footerCommandId: exports_external.string().optional(),
14315
+ defaultExpandedSectionIds: exports_external.array(exports_external.string()).optional(),
14316
+ defaultExpandedNodeIds: exports_external.array(exports_external.string()).optional()
14317
+ });
14318
+ var extensionFileRendererRecordSchema = exports_external.object({
14319
+ id: exports_external.string(),
14320
+ extensionId: exports_external.string(),
14321
+ title: localizableStringSchema,
14322
+ icon: exports_external.string().optional(),
14323
+ resourceKind: exports_external.string().optional(),
14324
+ loadCommandId: exports_external.string(),
14325
+ saveCommandId: exports_external.string().optional()
14326
+ });
14327
+
14328
+ // ../pstdio-api-contracts/src/extensions/settings.ts
14329
+ var extensionSettingsPanelRecordSchema = exports_external.object({
14330
+ id: exports_external.string(),
14331
+ extensionId: exports_external.string(),
14332
+ extensionInstanceId: exports_external.string().optional(),
14333
+ installedExtensionId: exports_external.string().optional(),
14334
+ installName: exports_external.string().optional(),
14335
+ slotId: exports_external.string(),
14336
+ target: workbenchSettingsTargetSchema.optional(),
14337
+ scope: workbenchSettingsScopeSchema.optional(),
14338
+ title: localizableStringSchema,
14339
+ icon: exports_external.string().optional(),
14340
+ webview: extensionWebviewContributionSchema
14341
+ });
14342
+ var extensionSettingDefinitionRecordSchema = exports_external.object({
14343
+ key: exports_external.string(),
14344
+ extensionId: exports_external.string(),
14345
+ type: extensionSettingValueTypeSchema,
14346
+ scope: extensionSettingScopeSchema,
14347
+ default: exports_external.unknown().optional(),
14348
+ enum: exports_external.array(exports_external.unknown()).optional(),
14349
+ title: localizableStringSchema.optional(),
14350
+ description: localizableStringSchema.optional()
14351
+ });
14352
+ var extensionSettingValueRecordSchema = extensionSettingDefinitionRecordSchema.extend({
14353
+ value: exports_external.unknown().optional(),
14354
+ source: extensionSettingSourceSchema
14355
+ });
14356
+ var listExtensionSettingsResponseSchema = exports_external.object({
14357
+ settings: exports_external.array(extensionSettingValueRecordSchema)
14358
+ });
14359
+ var updateExtensionSettingRequestSchema = exports_external.object({
14360
+ value: exports_external.unknown()
14361
+ });
14362
+ var workbenchExtensionSettingsPanelRecordSchema = extensionSettingsPanelRecordSchema.extend({
14363
+ webview: workbenchExtensionWebviewSchema
14364
+ });
14365
+
14240
14366
  // ../pstdio-api-contracts/src/extensions/check.ts
14241
14367
  var extensionsCheckResponseSchema = exports_external.object({
14242
14368
  extensionsRoot: exports_external.string(),
@@ -14254,15 +14380,17 @@ var extensionsCheckResponseSchema = exports_external.object({
14254
14380
  menuContributions: exports_external.array(extensionMenuContributionSchema),
14255
14381
  commandPaletteContributions: exports_external.array(extensionCommandPaletteContributionSchema),
14256
14382
  modes: exports_external.array(extensionModeRecordSchema),
14257
- views: exports_external.array(extensionViewRecordSchema),
14383
+ panels: exports_external.array(extensionPanelRecordSchema),
14258
14384
  routes: exports_external.array(extensionRouteRecordSchema),
14259
14385
  navigation: exports_external.array(extensionNavigationRecordSchema),
14260
14386
  treeItems: exports_external.array(extensionTreeItemContributionSchema),
14261
14387
  settingsPanels: exports_external.array(extensionSettingsPanelRecordSchema),
14262
- dataRenderers: exports_external.array(extensionDataRendererRecordSchema),
14388
+ kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema),
14389
+ dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
14263
14390
  commandPaletteResources: exports_external.array(extensionCommandPaletteResourceRecordSchema),
14264
14391
  treeRenderers: exports_external.array(extensionTreeRendererRecordSchema),
14265
14392
  fileRenderers: exports_external.array(extensionFileRendererRecordSchema),
14393
+ controlsRenderers: exports_external.array(extensionControlsRendererRecordSchema),
14266
14394
  keybindings: exports_external.array(extensionKeybindingRecordSchema),
14267
14395
  settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
14268
14396
  templates: exports_external.array(extensionViewLikeSchema),
@@ -14275,15 +14403,17 @@ var workbenchExtensionMetadataSchema = exports_external.object({
14275
14403
  menuContributions: exports_external.array(extensionMenuContributionSchema),
14276
14404
  commandPaletteContributions: exports_external.array(extensionCommandPaletteContributionSchema).optional(),
14277
14405
  modes: exports_external.array(extensionModeRecordSchema),
14278
- views: exports_external.array(workbenchExtensionViewRecordSchema),
14406
+ panels: exports_external.array(workbenchExtensionPanelRecordSchema),
14279
14407
  routes: exports_external.array(workbenchExtensionRouteRecordSchema),
14280
14408
  navigation: exports_external.array(extensionNavigationRecordSchema),
14281
14409
  treeItems: exports_external.array(extensionTreeItemContributionSchema).optional(),
14282
14410
  settingsPanels: exports_external.array(workbenchExtensionSettingsPanelRecordSchema),
14283
- dataRenderers: exports_external.array(extensionDataRendererRecordSchema).optional(),
14411
+ kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema).optional(),
14412
+ dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
14284
14413
  commandPaletteResources: exports_external.array(extensionCommandPaletteResourceRecordSchema).optional(),
14285
14414
  treeRenderers: exports_external.array(extensionTreeRendererRecordSchema).optional(),
14286
14415
  fileRenderers: exports_external.array(extensionFileRendererRecordSchema).optional(),
14416
+ controlsRenderers: exports_external.array(extensionControlsRendererRecordSchema).optional(),
14287
14417
  keybindings: exports_external.array(extensionKeybindingRecordSchema).optional(),
14288
14418
  settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
14289
14419
  diagnostics: exports_external.array(extensionDiagnosticSchema)
@@ -14328,6 +14458,7 @@ var extensionAttachmentInvocationSchema = exports_external.object({
14328
14458
  });
14329
14459
  var commandExecuteRequestSchema = exports_external.object({
14330
14460
  projectId: exports_external.string().min(1),
14461
+ workspaceId: exports_external.string().optional(),
14331
14462
  params: jsonObjectSchema.optional(),
14332
14463
  resource: extensionResourceRefSchema.optional(),
14333
14464
  attachment: extensionAttachmentInvocationSchema.optional(),
@@ -14337,6 +14468,7 @@ var commandExecuteRequestSchema = exports_external.object({
14337
14468
  metadata: jsonObjectSchema.optional()
14338
14469
  });
14339
14470
  var commandExecuteBodySchema = exports_external.object({
14471
+ workspaceId: exports_external.string().optional(),
14340
14472
  params: jsonObjectSchema.optional(),
14341
14473
  resource: extensionResourceRefSchema.optional(),
14342
14474
  attachment: extensionAttachmentInvocationSchema.optional(),
@@ -14650,6 +14782,8 @@ var sessionStatusSchema = exports_external.enum([
14650
14782
  "cancelled",
14651
14783
  "disconnected"
14652
14784
  ]);
14785
+ var harnessParamValueSchema = exports_external.union([exports_external.string(), exports_external.boolean()]);
14786
+ var harnessParamsInputSchema = exports_external.record(exports_external.string(), harnessParamValueSchema);
14653
14787
  var sessionSchema = exports_external.object({
14654
14788
  id: exports_external.string(),
14655
14789
  project_id: exports_external.string().nullable(),
@@ -14664,6 +14798,7 @@ var sessionSchema = exports_external.object({
14664
14798
  session_file_id: exports_external.string().nullable(),
14665
14799
  original_session_id: exports_external.string().nullable(),
14666
14800
  cwd: exports_external.string().nullable(),
14801
+ params_json: harnessParamsInputSchema.nullable(),
14667
14802
  anchors_json: exports_external.array(extensionResourceRefSchema),
14668
14803
  created_at: exports_external.string(),
14669
14804
  updated_at: exports_external.string()
@@ -14692,6 +14827,7 @@ var createSessionInputSchema = exports_external.object({
14692
14827
  anchors: exports_external.array(extensionResourceRefSchema).optional(),
14693
14828
  attachments: exports_external.array(sessionAttachmentRefSchema).optional(),
14694
14829
  model: exports_external.string().optional(),
14830
+ params: harnessParamsInputSchema.optional(),
14695
14831
  original_session_id: exports_external.string().optional()
14696
14832
  });
14697
14833
  var questionResponseSchema = exports_external.object({
@@ -14704,6 +14840,7 @@ var followUpInputSchema = exports_external.object({
14704
14840
  agent: exports_external.string().optional(),
14705
14841
  model: exports_external.string().optional(),
14706
14842
  question_response: questionResponseSchema.optional(),
14843
+ params: harnessParamsInputSchema.optional(),
14707
14844
  summary_from_session_id: exports_external.string().optional(),
14708
14845
  summary_format: exports_external.enum(["brief", "detailed"]).default("brief").optional(),
14709
14846
  summary_role: exports_external.enum(["assistant", "all"]).default("assistant").optional(),