@pstdio/sdk 0.15.0 → 0.17.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")
@@ -13696,6 +13720,20 @@ var workbenchTreeTargets = [
13696
13720
  "workbench.main.left.tree",
13697
13721
  "workbench.main.right.tree"
13698
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
+ ];
13699
13737
  var workbenchViewTargets = [
13700
13738
  "workbench.main",
13701
13739
  "workbench.main.left",
@@ -13704,6 +13742,7 @@ var workbenchViewTargets = [
13704
13742
  ];
13705
13743
  var workbenchSettingsTargets = ["workbench.settings"];
13706
13744
  var workbenchSettingsScopes = ["project", "global"];
13745
+ var workbenchModePanels = ["main", "secondary", "side"];
13707
13746
  var workbenchModeLayoutTargets = [
13708
13747
  "workbench.left",
13709
13748
  "workbench.main.left",
@@ -13711,6 +13750,14 @@ var workbenchModeLayoutTargets = [
13711
13750
  "workbench.main.right",
13712
13751
  "workbench.secondary"
13713
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];
13714
13761
  var workbenchTargets = [
13715
13762
  {
13716
13763
  id: "workbench.nav.actions",
@@ -13742,30 +13789,6 @@ var workbenchTargets = [
13742
13789
  granularity: "areaTree",
13743
13790
  rationale: "Tree entries for the active tree renderer mounted in the main-right area."
13744
13791
  },
13745
- {
13746
- id: "workbench.main",
13747
- allowedKinds: ["view"],
13748
- granularity: "area",
13749
- rationale: "Direct extension view placement in the main area."
13750
- },
13751
- {
13752
- id: "workbench.main.left",
13753
- allowedKinds: ["view"],
13754
- granularity: "area",
13755
- rationale: "Direct extension view placement in the main-left area."
13756
- },
13757
- {
13758
- id: "workbench.main.right",
13759
- allowedKinds: ["view"],
13760
- granularity: "area",
13761
- rationale: "Direct extension view placement in the main-right area."
13762
- },
13763
- {
13764
- id: "workbench.secondary",
13765
- allowedKinds: ["view"],
13766
- granularity: "area",
13767
- rationale: "Direct extension view placement in the secondary area."
13768
- },
13769
13792
  {
13770
13793
  id: "workbench.settings",
13771
13794
  allowedKinds: ["settings"],
@@ -13805,7 +13828,14 @@ var packageAssetDescriptorSchema = exports_external.object({
13805
13828
  baseUrl: exports_external.string()
13806
13829
  });
13807
13830
  var extensionPlacementSchema = exports_external.enum(["first", "default", "last"]);
13808
- 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
+ ]);
13809
13839
  var commandSourceSchema = exports_external.enum([
13810
13840
  "cli",
13811
13841
  "dashboard",
@@ -13881,33 +13911,19 @@ var extensionArtifactMountSchema = exports_external.object({
13881
13911
  label: localizableStringSchema
13882
13912
  });
13883
13913
  // ../pstdio-api-contracts/src/extensions/targets.ts
13884
- var workbenchMenuTargetSchema = exports_external.enum(["workbench.nav.actions", "workbench.nav.overflow"]);
13885
- var workbenchTreeTargetSchema = exports_external.enum([
13886
- "workbench.left.tree",
13887
- "workbench.main.left.tree",
13888
- "workbench.main.right.tree"
13889
- ]);
13890
- var workbenchViewTargetSchema = exports_external.enum([
13891
- "workbench.main",
13892
- "workbench.main.left",
13893
- "workbench.main.right",
13894
- "workbench.secondary"
13895
- ]);
13896
- var workbenchSettingsTargetSchema = exports_external.enum(["workbench.settings"]);
13897
- var workbenchModeLayoutTargetSchema = exports_external.enum([
13898
- "workbench.left",
13899
- "workbench.main.left",
13900
- "workbench.main",
13901
- "workbench.main.right",
13902
- "workbench.secondary"
13903
- ]);
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);
13904
13920
  var workbenchAttachmentTargetSchema = exports_external.union([
13905
13921
  workbenchMenuTargetSchema,
13906
13922
  workbenchTreeTargetSchema,
13907
13923
  workbenchViewTargetSchema,
13908
13924
  workbenchSettingsTargetSchema
13909
13925
  ]);
13910
- var workbenchSettingsScopeSchema = exports_external.enum(["project", "global"]);
13926
+ var workbenchSettingsScopeSchema = exports_external.enum(workbenchSettingsScopes);
13911
13927
 
13912
13928
  // ../pstdio-api-contracts/src/extensions/commands.ts
13913
13929
  var extensionCommandRecordSchema = exports_external.object({
@@ -13937,6 +13953,16 @@ var extensionScheduleRecordSchema = exports_external.object({
13937
13953
  cron: exports_external.string(),
13938
13954
  commandId: exports_external.string()
13939
13955
  });
13956
+ var workbenchExtensionAutomationRecordSchema = exports_external.object({
13957
+ id: exports_external.string(),
13958
+ localId: exports_external.string(),
13959
+ extensionId: exports_external.string(),
13960
+ extensionInstanceId: exports_external.string().optional(),
13961
+ title: localizableStringSchema,
13962
+ cron: exports_external.string(),
13963
+ commandId: exports_external.string(),
13964
+ enabled: exports_external.boolean()
13965
+ });
13940
13966
  var extensionMenuContributionSchema = exports_external.object({
13941
13967
  id: exports_external.string(),
13942
13968
  extensionId: exports_external.string(),
@@ -13978,36 +14004,113 @@ var extensionControlsRendererRecordSchema = exports_external.object({
13978
14004
  emptyDescription: localizableStringSchema.optional()
13979
14005
  });
13980
14006
 
13981
- // ../pstdio-api-contracts/src/extensions/data-renderer.ts
13982
- var dataRendererEnumOptionSchema = exports_external.object({
14007
+ // ../pstdio-api-contracts/src/extensions/data-table-renderer.ts
14008
+ var themeColorSchema = exports_external.object({
14009
+ light: exports_external.string(),
14010
+ dark: exports_external.string(),
14011
+ foreground: exports_external.object({ light: exports_external.string(), dark: exports_external.string() }).optional()
14012
+ });
14013
+ var columnStatSchema = exports_external.discriminatedUnion("type", [
14014
+ exports_external.object({ type: exports_external.literal("unique") }),
14015
+ exports_external.object({ type: exports_external.literal("histogram"), bins: exports_external.number().int().positive().optional() }),
14016
+ exports_external.object({ type: exports_external.literal("top-values"), limit: exports_external.number().int().positive().optional() })
14017
+ ]);
14018
+ var columnRendererSchema = exports_external.discriminatedUnion("type", [
14019
+ exports_external.object({ type: exports_external.literal("json") }),
14020
+ exports_external.object({
14021
+ type: exports_external.literal("color-scale"),
14022
+ stops: exports_external.array(exports_external.object({ value: exports_external.number(), color: themeColorSchema }))
14023
+ }),
14024
+ exports_external.object({
14025
+ type: exports_external.literal("categorical-color"),
14026
+ 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 }))
14027
+ })
14028
+ ]);
14029
+ var dataTableRendererColumnSchema = exports_external.object({
14030
+ id: exports_external.string(),
14031
+ label: localizableStringSchema.optional(),
14032
+ description: localizableStringSchema.optional(),
14033
+ icon: exports_external.string().optional(),
14034
+ hidden: exports_external.boolean().optional(),
14035
+ stat: columnStatSchema.optional(),
14036
+ renderer: columnRendererSchema.optional()
14037
+ });
14038
+ var rowActionSchema = exports_external.object({
14039
+ id: exports_external.string(),
14040
+ label: localizableStringSchema,
14041
+ icon: exports_external.string().optional(),
14042
+ destructive: exports_external.boolean().optional(),
14043
+ commandId: exports_external.string()
14044
+ });
14045
+ var selectionActionSchema = exports_external.object({
14046
+ id: exports_external.string(),
14047
+ label: localizableStringSchema,
14048
+ icon: exports_external.string().optional(),
14049
+ destructive: exports_external.boolean().optional(),
14050
+ commandId: exports_external.string()
14051
+ });
14052
+ var extensionDataTableRendererRecordSchema = exports_external.object({
14053
+ id: exports_external.string(),
14054
+ extensionId: exports_external.string(),
14055
+ title: localizableStringSchema,
14056
+ resourceKind: exports_external.string().optional(),
14057
+ columns: exports_external.array(dataTableRendererColumnSchema).optional(),
14058
+ queryCommandId: exports_external.string(),
14059
+ selectionMode: exports_external.enum(["none", "multiple"]).optional(),
14060
+ selectionActions: exports_external.array(selectionActionSchema).optional(),
14061
+ rowActions: exports_external.array(rowActionSchema).optional(),
14062
+ initialPageSize: exports_external.number().int().positive().optional(),
14063
+ pageSizeOptions: exports_external.array(exports_external.number().int().positive()).optional(),
14064
+ emptyTitle: localizableStringSchema.optional(),
14065
+ emptyDescription: localizableStringSchema.optional()
14066
+ });
14067
+
14068
+ // ../pstdio-api-contracts/src/extensions/host-capabilities.ts
14069
+ var extensionHostCapabilitySchema = exports_external.object({
14070
+ version: exports_external.number().int().positive(),
14071
+ since: exports_external.string().optional()
14072
+ });
14073
+ var extensionHostCapabilitiesSchema = exports_external.object({
14074
+ host: exports_external.literal("dashboard"),
14075
+ hostVersion: exports_external.string(),
14076
+ capabilities: exports_external.record(exports_external.string(), extensionHostCapabilitySchema)
14077
+ });
14078
+ var extensionHostCompatibilitySchema = exports_external.object({
14079
+ status: exports_external.enum(["verified", "unverified"]),
14080
+ host: extensionHostCapabilitiesSchema.optional(),
14081
+ diagnostics: exports_external.array(extensionDiagnosticSchema)
14082
+ });
14083
+
14084
+ // ../pstdio-api-contracts/src/extensions/kanban-renderer.ts
14085
+ var kanbanRendererEnumOptionSchema = exports_external.object({
13983
14086
  value: exports_external.string(),
13984
14087
  label: localizableStringSchema,
13985
14088
  color: exports_external.string().optional(),
13986
14089
  icon: exports_external.string().nullable().optional()
13987
14090
  });
13988
- var dataRendererAttributeTypeSchema = exports_external.discriminatedUnion("kind", [
13989
- exports_external.object({ kind: exports_external.literal("enum"), options: exports_external.array(dataRendererEnumOptionSchema) }),
13990
- exports_external.object({ kind: exports_external.literal("enum-multi"), options: exports_external.array(dataRendererEnumOptionSchema) }),
14091
+ var kanbanRendererAttributeTypeSchema = exports_external.discriminatedUnion("kind", [
14092
+ exports_external.object({ kind: exports_external.literal("enum"), options: exports_external.array(kanbanRendererEnumOptionSchema) }),
14093
+ exports_external.object({ kind: exports_external.literal("enum-multi"), options: exports_external.array(kanbanRendererEnumOptionSchema) }),
13991
14094
  exports_external.object({ kind: exports_external.literal("string") }),
13992
14095
  exports_external.object({ kind: exports_external.literal("date") }),
13993
14096
  exports_external.object({ kind: exports_external.literal("number") }),
13994
14097
  exports_external.object({ kind: exports_external.literal("user") })
13995
14098
  ]);
13996
- var dataRendererAttributeDisplaySchema = exports_external.discriminatedUnion("kind", [
14099
+ var kanbanRendererAttributeDisplaySchema = exports_external.discriminatedUnion("kind", [
13997
14100
  exports_external.object({ kind: exports_external.literal("workspace-badge"), itemsAttributeId: exports_external.string() })
13998
14101
  ]);
13999
- var dataRendererAttributeSchema = exports_external.object({
14102
+ var kanbanRendererAttributeSchema = exports_external.object({
14000
14103
  id: exports_external.string(),
14001
14104
  label: localizableStringSchema,
14002
- type: dataRendererAttributeTypeSchema,
14105
+ type: kanbanRendererAttributeTypeSchema,
14003
14106
  filterable: exports_external.boolean().optional(),
14004
14107
  groupable: exports_external.boolean().optional(),
14005
14108
  sortable: exports_external.boolean().optional(),
14006
14109
  displayable: exports_external.boolean().optional(),
14007
14110
  editable: exports_external.boolean().optional(),
14008
- display: dataRendererAttributeDisplaySchema.optional()
14111
+ display: kanbanRendererAttributeDisplaySchema.optional()
14009
14112
  });
14010
- var dataRendererSettingsSchema = exports_external.object({
14113
+ var kanbanRendererSettingsSchema = exports_external.object({
14011
14114
  viewMode: exports_external.enum(["board", "list"]),
14012
14115
  columnGrouping: exports_external.string(),
14013
14116
  rowGrouping: exports_external.string(),
@@ -14017,41 +14120,59 @@ var dataRendererSettingsSchema = exports_external.object({
14017
14120
  }),
14018
14121
  displayProperties: exports_external.array(exports_external.string())
14019
14122
  });
14020
- var extensionDataRendererCreateRowSchema = exports_external.object({
14123
+ var kanbanRendererSavedViewSchema = exports_external.object({
14124
+ id: exports_external.string(),
14125
+ title: localizableStringSchema,
14126
+ settings: kanbanRendererSettingsSchema,
14127
+ filters: exports_external.record(exports_external.string(), exports_external.array(exports_external.string())),
14128
+ isDefault: exports_external.boolean().optional()
14129
+ });
14130
+ var extensionKanbanRendererCreateRowSchema = exports_external.object({
14021
14131
  commandId: exports_external.string(),
14022
14132
  title: localizableStringSchema.optional(),
14023
14133
  submitLabel: localizableStringSchema.optional(),
14024
14134
  columnParam: exports_external.string().optional(),
14025
- params: extensionParamObjectSchema.optional()
14135
+ params: extensionParamObjectSchema.optional(),
14136
+ attributesParam: exports_external.string().optional(),
14137
+ attachments: exports_external.object({
14138
+ commandId: exports_external.string(),
14139
+ resourceParam: exports_external.string(),
14140
+ fileParam: exports_external.string()
14141
+ }).optional(),
14142
+ labels: exports_external.object({
14143
+ cancel: localizableStringSchema.optional(),
14144
+ properties: localizableStringSchema.optional(),
14145
+ submitError: localizableStringSchema.optional(),
14146
+ removeFile: localizableStringSchema.optional()
14147
+ }).optional()
14026
14148
  });
14027
- var extensionDataRendererRowActionSchema = exports_external.object({
14149
+ var extensionKanbanRendererRowActionSchema = exports_external.object({
14028
14150
  id: exports_external.string(),
14029
14151
  label: localizableStringSchema,
14030
14152
  icon: exports_external.string().optional(),
14031
14153
  commandId: exports_external.string(),
14032
14154
  destructive: exports_external.boolean().optional()
14033
14155
  });
14034
- var extensionDataRendererRecordSchema = exports_external.object({
14156
+ var extensionKanbanRendererRecordSchema = exports_external.object({
14035
14157
  id: exports_external.string(),
14036
14158
  extensionId: exports_external.string(),
14159
+ extensionInstanceId: exports_external.string().optional(),
14037
14160
  title: localizableStringSchema,
14038
14161
  resourceKind: exports_external.string().optional(),
14039
- attributes: exports_external.array(dataRendererAttributeSchema).optional(),
14162
+ attributes: exports_external.array(kanbanRendererAttributeSchema).optional(),
14040
14163
  queryCommandId: exports_external.string(),
14041
14164
  updateAttributeCommandId: exports_external.string().optional(),
14042
14165
  reorderCommandId: exports_external.string().optional(),
14043
14166
  columnActionCommandId: exports_external.string().optional(),
14044
- createRow: extensionDataRendererCreateRowSchema.optional(),
14045
- rowActions: exports_external.array(extensionDataRendererRowActionSchema).optional(),
14046
- defaultSettings: dataRendererSettingsSchema.partial().optional(),
14167
+ createRow: extensionKanbanRendererCreateRowSchema.optional(),
14168
+ rowActions: exports_external.array(extensionKanbanRendererRowActionSchema).optional(),
14169
+ defaultSettings: kanbanRendererSettingsSchema.partial().optional(),
14047
14170
  defaultFilters: exports_external.record(exports_external.string(), exports_external.array(exports_external.string())).optional(),
14171
+ defaultViews: exports_external.array(kanbanRendererSavedViewSchema).optional(),
14172
+ defaultActiveViewId: exports_external.string().optional(),
14048
14173
  emptyTitle: localizableStringSchema.optional(),
14049
14174
  emptyDescription: localizableStringSchema.optional(),
14050
- hideToolbar: exports_external.boolean().optional(),
14051
- savedViews: exports_external.object({
14052
- resourceKind: exports_external.string(),
14053
- scope: exports_external.enum(["project", "user"]).optional()
14054
- }).optional()
14175
+ hideToolbar: exports_external.boolean().optional()
14055
14176
  });
14056
14177
  var extensionCommandPaletteResourceRecordSchema = exports_external.object({
14057
14178
  id: exports_external.string(),
@@ -14087,89 +14208,52 @@ var extensionKeybindingRecordSchema = exports_external.object({
14087
14208
  args: jsonObjectSchema.optional()
14088
14209
  });
14089
14210
 
14090
- // ../pstdio-api-contracts/src/extensions/renderers.ts
14091
- var extensionTreeRendererRecordSchema = exports_external.object({
14092
- id: exports_external.string(),
14093
- extensionId: exports_external.string(),
14094
- title: localizableStringSchema,
14095
- icon: exports_external.string().optional(),
14096
- bodyCommandId: exports_external.string(),
14097
- childrenCommandId: exports_external.string().optional(),
14098
- footerCommandId: exports_external.string().optional(),
14099
- defaultExpandedSectionIds: exports_external.array(exports_external.string()).optional(),
14100
- defaultExpandedNodeIds: exports_external.array(exports_external.string()).optional()
14101
- });
14102
- var extensionFileRendererRecordSchema = exports_external.object({
14211
+ // ../pstdio-api-contracts/src/extensions/panels.ts
14212
+ var hasSinglePanelBody = (value) => [
14213
+ value.webview,
14214
+ value.treeRendererId,
14215
+ value.fileRendererId,
14216
+ value.controlsRendererId,
14217
+ value.dataTableRendererId
14218
+ ].filter(Boolean).length === 1;
14219
+ var singlePanelBodyMessage = "Extension panels must declare exactly one body: webview, treeRendererId, fileRendererId, controlsRendererId, or dataTableRendererId";
14220
+ var hostTreeDefaultSchema = exports_external.enum(["default", "none"]);
14221
+ var panelBodySchema = {
14222
+ webview: extensionWebviewContributionSchema.optional(),
14223
+ treeRendererId: exports_external.string().optional(),
14224
+ fileRendererId: exports_external.string().optional(),
14225
+ controlsRendererId: exports_external.string().optional(),
14226
+ dataTableRendererId: exports_external.string().optional()
14227
+ };
14228
+ var extensionPanelMenuRecordSchema = exports_external.object({
14103
14229
  id: exports_external.string(),
14104
14230
  extensionId: exports_external.string(),
14231
+ ownerPanelId: exports_external.string(),
14105
14232
  title: localizableStringSchema,
14106
- icon: exports_external.string().optional(),
14107
- resourceKind: exports_external.string().optional(),
14108
- loadCommandId: exports_external.string(),
14109
- saveCommandId: exports_external.string().optional()
14110
- });
14111
-
14112
- // ../pstdio-api-contracts/src/extensions/settings.ts
14113
- var extensionSettingsPanelRecordSchema = exports_external.object({
14233
+ side: exports_external.enum(["left", "right"]),
14234
+ group: exports_external.string().optional(),
14235
+ placement: extensionPlacementSchema.optional(),
14236
+ hostTreeHeader: hostTreeDefaultSchema.optional(),
14237
+ hostTreeFooter: hostTreeDefaultSchema.optional(),
14238
+ ...panelBodySchema
14239
+ }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14240
+ var workbenchExtensionPanelMenuRecordSchema = extensionPanelMenuRecordSchema.safeExtend({ webview: workbenchExtensionWebviewSchema.optional() }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14241
+ var extensionPanelRecordBaseSchema = exports_external.object({
14114
14242
  id: exports_external.string(),
14115
14243
  extensionId: exports_external.string(),
14116
- extensionInstanceId: exports_external.string().optional(),
14117
- installedExtensionId: exports_external.string().optional(),
14118
- installName: exports_external.string().optional(),
14119
- slotId: exports_external.string(),
14120
- target: workbenchSettingsTargetSchema.optional(),
14121
- scope: workbenchSettingsScopeSchema.optional(),
14122
14244
  title: localizableStringSchema,
14123
14245
  icon: exports_external.string().optional(),
14124
- webview: extensionWebviewContributionSchema
14125
- });
14126
- var extensionSettingDefinitionRecordSchema = exports_external.object({
14127
- key: exports_external.string(),
14128
- extensionId: exports_external.string(),
14129
- type: extensionSettingValueTypeSchema,
14130
- scope: extensionSettingScopeSchema,
14131
- default: exports_external.unknown().optional(),
14132
- enum: exports_external.array(exports_external.unknown()).optional(),
14133
- title: localizableStringSchema.optional(),
14134
- description: localizableStringSchema.optional()
14135
- });
14136
- var extensionSettingValueRecordSchema = extensionSettingDefinitionRecordSchema.extend({
14137
- value: exports_external.unknown().optional(),
14138
- source: extensionSettingSourceSchema
14139
- });
14140
- var listExtensionSettingsResponseSchema = exports_external.object({
14141
- settings: exports_external.array(extensionSettingValueRecordSchema)
14142
- });
14143
- var updateExtensionSettingRequestSchema = exports_external.object({
14144
- value: exports_external.unknown()
14145
- });
14146
- var workbenchExtensionSettingsPanelRecordSchema = extensionSettingsPanelRecordSchema.extend({
14147
- webview: workbenchExtensionWebviewSchema
14148
- });
14149
-
14150
- // ../pstdio-api-contracts/src/extensions/views.ts
14151
- var hasSingleViewBody = (value) => [value.webview, value.treeRendererId, value.fileRendererId, value.controlsRendererId].filter(Boolean).length === 1;
14152
- var singleViewBodyMessage = "Extension views must declare exactly one body: webview, treeRendererId, fileRendererId, or controlsRendererId";
14153
- var hostTreeDefaultSchema = exports_external.enum(["default", "none"]);
14154
- var extensionViewRecordBaseSchema = exports_external.object({
14155
- id: exports_external.string(),
14156
- extensionId: exports_external.string(),
14157
- slotId: exports_external.string(),
14158
- target: workbenchViewTargetSchema.optional(),
14159
- title: localizableStringSchema,
14246
+ region: workbenchRegionSchema,
14247
+ closable: exports_external.boolean(),
14160
14248
  group: exports_external.string().optional(),
14161
14249
  placement: extensionPlacementSchema.optional(),
14162
14250
  resourceKind: exports_external.string().optional(),
14163
- surface: exports_external.enum(["panel", "modal"]).optional(),
14164
- webview: extensionWebviewContributionSchema.optional(),
14165
- treeRendererId: exports_external.string().optional(),
14166
- fileRendererId: exports_external.string().optional(),
14167
- controlsRendererId: exports_external.string().optional(),
14168
- hostTreeHeader: hostTreeDefaultSchema.optional(),
14169
- hostTreeFooter: hostTreeDefaultSchema.optional()
14251
+ eligibleLocations: exports_external.object({ resourceKinds: exports_external.array(exports_external.string()).optional() }).optional(),
14252
+ panelMenus: exports_external.array(extensionPanelMenuRecordSchema).optional(),
14253
+ ...panelBodySchema
14170
14254
  });
14171
- var extensionViewRecordSchema = extensionViewRecordBaseSchema.refine(hasSingleViewBody, {
14172
- message: singleViewBodyMessage
14255
+ var extensionPanelRecordSchema = extensionPanelRecordBaseSchema.refine(hasSinglePanelBody, {
14256
+ message: singlePanelBodyMessage
14173
14257
  });
14174
14258
  var extensionRouteRecordSchema = exports_external.object({
14175
14259
  id: exports_external.string(),
@@ -14198,10 +14282,20 @@ var extensionTreeItemActionSchema = exports_external.discriminatedUnion("kind",
14198
14282
  commandId: exports_external.string(),
14199
14283
  args: jsonObjectSchema.optional()
14200
14284
  }),
14201
- exports_external.object({ kind: exports_external.literal("dataRenderer"), dataRendererId: exports_external.string() }),
14285
+ exports_external.object({ kind: exports_external.literal("kanbanRenderer"), kanbanRendererId: exports_external.string() }),
14202
14286
  exports_external.object({ kind: exports_external.literal("route"), route: exports_external.string() }),
14203
14287
  exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() })
14204
14288
  ]);
14289
+ var extensionActivityItemRecordSchema = exports_external.object({
14290
+ id: exports_external.string(),
14291
+ extensionId: exports_external.string(),
14292
+ title: localizableStringSchema,
14293
+ icon: exports_external.string(),
14294
+ modes: exports_external.array(exports_external.string()),
14295
+ placement: extensionPlacementSchema.optional(),
14296
+ commandId: exports_external.string(),
14297
+ params: jsonObjectSchema.optional()
14298
+ });
14205
14299
  var extensionTreeItemContributionSchema = exports_external.object({
14206
14300
  id: exports_external.string(),
14207
14301
  extensionId: exports_external.string(),
@@ -14214,17 +14308,16 @@ var extensionTreeItemContributionSchema = exports_external.object({
14214
14308
  when: extensionWhenExpressionSchema.optional()
14215
14309
  });
14216
14310
  var modeTargetContributionRecordSchema = exports_external.object({
14217
- target: workbenchModeLayoutTargetSchema,
14218
- view: exports_external.string().optional(),
14311
+ panel: exports_external.string().optional(),
14219
14312
  resource: exports_external.string().optional(),
14220
- widget: exports_external.string().optional(),
14313
+ region: workbenchRegionSchema.optional(),
14221
14314
  title: localizableStringSchema.optional(),
14222
14315
  pinned: exports_external.boolean().optional()
14223
- }).refine((value) => value.view || value.resource, {
14224
- message: "Mode layout entries must declare a view or resource"
14316
+ }).refine((value) => value.panel || value.resource, {
14317
+ message: "Mode layout entries must declare a panel or resource"
14225
14318
  });
14226
14319
  var modeLayoutContributionRecordSchema = exports_external.object({
14227
- reset: exports_external.union([exports_external.boolean(), exports_external.array(workbenchModeLayoutTargetSchema)]).optional(),
14320
+ panels: exports_external.array(exports_external.enum(workbenchModePanels)).optional(),
14228
14321
  open: exports_external.array(modeTargetContributionRecordSchema).optional()
14229
14322
  });
14230
14323
  var extensionModeRecordSchema = exports_external.object({
@@ -14236,13 +14329,14 @@ var extensionModeRecordSchema = exports_external.object({
14236
14329
  resourceKind: exports_external.string().optional(),
14237
14330
  layout: modeLayoutContributionRecordSchema.optional()
14238
14331
  });
14239
- var workbenchExtensionViewRecordSchema = extensionViewRecordBaseSchema.extend({
14332
+ var workbenchExtensionPanelRecordSchema = extensionPanelRecordBaseSchema.extend({
14240
14333
  extensionInstanceId: exports_external.string().optional(),
14241
14334
  installedExtensionId: exports_external.string().optional(),
14242
14335
  installName: exports_external.string().optional(),
14243
- webview: workbenchExtensionWebviewSchema.optional()
14244
- }).refine(hasSingleViewBody, {
14245
- message: singleViewBodyMessage
14336
+ webview: workbenchExtensionWebviewSchema.optional(),
14337
+ panelMenus: exports_external.array(workbenchExtensionPanelMenuRecordSchema).optional()
14338
+ }).refine(hasSinglePanelBody, {
14339
+ message: singlePanelBodyMessage
14246
14340
  });
14247
14341
  var workbenchExtensionRouteRecordSchema = extensionRouteRecordSchema.extend({
14248
14342
  extensionInstanceId: exports_external.string().optional(),
@@ -14255,6 +14349,74 @@ var extensionViewLikeSchema = exports_external.object({
14255
14349
  extensionId: exports_external.string()
14256
14350
  });
14257
14351
 
14352
+ // ../pstdio-api-contracts/src/extensions/renderers.ts
14353
+ var extensionTreeRendererRecordSchema = exports_external.object({
14354
+ id: exports_external.string(),
14355
+ extensionId: exports_external.string(),
14356
+ title: localizableStringSchema,
14357
+ icon: exports_external.string().optional(),
14358
+ bodyCommandId: exports_external.string(),
14359
+ childrenCommandId: exports_external.string().optional(),
14360
+ footerCommandId: exports_external.string().optional(),
14361
+ defaultExpandedSectionIds: exports_external.array(exports_external.string()).optional(),
14362
+ defaultExpandedNodeIds: exports_external.array(exports_external.string()).optional()
14363
+ });
14364
+ var extensionFileRendererRecordSchema = exports_external.object({
14365
+ id: exports_external.string(),
14366
+ extensionId: exports_external.string(),
14367
+ title: localizableStringSchema,
14368
+ icon: exports_external.string().optional(),
14369
+ resourceKind: exports_external.string().optional(),
14370
+ loadCommandId: exports_external.string(),
14371
+ saveCommandId: exports_external.string().optional()
14372
+ });
14373
+
14374
+ // ../pstdio-api-contracts/src/extensions/settings.ts
14375
+ var extensionSettingsPanelRecordSchema = exports_external.object({
14376
+ id: exports_external.string(),
14377
+ extensionId: exports_external.string(),
14378
+ extensionInstanceId: exports_external.string().optional(),
14379
+ installedExtensionId: exports_external.string().optional(),
14380
+ installName: exports_external.string().optional(),
14381
+ slotId: exports_external.string(),
14382
+ target: workbenchSettingsTargetSchema.optional(),
14383
+ scope: workbenchSettingsScopeSchema.optional(),
14384
+ title: localizableStringSchema,
14385
+ icon: exports_external.string().optional(),
14386
+ section: exports_external.string().optional(),
14387
+ webview: extensionWebviewContributionSchema
14388
+ });
14389
+ var extensionSettingDefinitionRecordSchema = exports_external.object({
14390
+ key: exports_external.string(),
14391
+ extensionId: exports_external.string(),
14392
+ type: extensionSettingValueTypeSchema,
14393
+ scope: extensionSettingScopeSchema,
14394
+ default: exports_external.unknown().optional(),
14395
+ enum: exports_external.array(exports_external.unknown()).optional(),
14396
+ title: localizableStringSchema.optional(),
14397
+ description: localizableStringSchema.optional()
14398
+ });
14399
+ var extensionSettingValueRecordSchema = extensionSettingDefinitionRecordSchema.extend({
14400
+ value: exports_external.unknown().optional(),
14401
+ source: extensionSettingSourceSchema
14402
+ });
14403
+ var listExtensionSettingsResponseSchema = exports_external.object({
14404
+ settings: exports_external.array(extensionSettingValueRecordSchema)
14405
+ });
14406
+ var updateExtensionSettingRequestSchema = exports_external.object({
14407
+ value: exports_external.unknown()
14408
+ });
14409
+ var workbenchExtensionSettingsPanelRecordSchema = extensionSettingsPanelRecordSchema.extend({
14410
+ webview: workbenchExtensionWebviewSchema
14411
+ });
14412
+ var extensionSettingsSectionRecordSchema = exports_external.object({
14413
+ id: exports_external.string(),
14414
+ extensionId: exports_external.string(),
14415
+ title: localizableStringSchema,
14416
+ scope: workbenchSettingsScopeSchema.optional(),
14417
+ order: exports_external.number().optional()
14418
+ });
14419
+
14258
14420
  // ../pstdio-api-contracts/src/extensions/check.ts
14259
14421
  var extensionsCheckResponseSchema = exports_external.object({
14260
14422
  extensionsRoot: exports_external.string(),
@@ -14272,12 +14434,14 @@ var extensionsCheckResponseSchema = exports_external.object({
14272
14434
  menuContributions: exports_external.array(extensionMenuContributionSchema),
14273
14435
  commandPaletteContributions: exports_external.array(extensionCommandPaletteContributionSchema),
14274
14436
  modes: exports_external.array(extensionModeRecordSchema),
14275
- views: exports_external.array(extensionViewRecordSchema),
14437
+ panels: exports_external.array(extensionPanelRecordSchema),
14276
14438
  routes: exports_external.array(extensionRouteRecordSchema),
14277
14439
  navigation: exports_external.array(extensionNavigationRecordSchema),
14278
14440
  treeItems: exports_external.array(extensionTreeItemContributionSchema),
14441
+ activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
14279
14442
  settingsPanels: exports_external.array(extensionSettingsPanelRecordSchema),
14280
- dataRenderers: exports_external.array(extensionDataRendererRecordSchema),
14443
+ kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema),
14444
+ dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
14281
14445
  commandPaletteResources: exports_external.array(extensionCommandPaletteResourceRecordSchema),
14282
14446
  treeRenderers: exports_external.array(extensionTreeRendererRecordSchema),
14283
14447
  fileRenderers: exports_external.array(extensionFileRendererRecordSchema),
@@ -14286,7 +14450,20 @@ var extensionsCheckResponseSchema = exports_external.object({
14286
14450
  settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
14287
14451
  templates: exports_external.array(extensionViewLikeSchema),
14288
14452
  skills: exports_external.array(extensionViewLikeSchema),
14289
- diagnostics: exports_external.array(extensionDiagnosticSchema)
14453
+ diagnostics: exports_external.array(extensionDiagnosticSchema),
14454
+ hostCompatibility: extensionHostCompatibilitySchema
14455
+ });
14456
+ var workbenchExtensionHarnessRecordSchema = exports_external.object({
14457
+ id: exports_external.string(),
14458
+ localId: exports_external.string(),
14459
+ extensionId: exports_external.string(),
14460
+ label: localizableStringSchema.optional()
14461
+ });
14462
+ var workbenchExtensionViewRecordSchema = exports_external.object({
14463
+ id: exports_external.string(),
14464
+ localId: exports_external.string(),
14465
+ extensionId: exports_external.string(),
14466
+ title: localizableStringSchema.optional()
14290
14467
  });
14291
14468
  var workbenchExtensionMetadataSchema = exports_external.object({
14292
14469
  extensions: exports_external.array(extensionRecordSchema),
@@ -14294,18 +14471,26 @@ var workbenchExtensionMetadataSchema = exports_external.object({
14294
14471
  menuContributions: exports_external.array(extensionMenuContributionSchema),
14295
14472
  commandPaletteContributions: exports_external.array(extensionCommandPaletteContributionSchema).optional(),
14296
14473
  modes: exports_external.array(extensionModeRecordSchema),
14297
- views: exports_external.array(workbenchExtensionViewRecordSchema),
14474
+ panels: exports_external.array(workbenchExtensionPanelRecordSchema),
14298
14475
  routes: exports_external.array(workbenchExtensionRouteRecordSchema),
14299
14476
  navigation: exports_external.array(extensionNavigationRecordSchema),
14300
14477
  treeItems: exports_external.array(extensionTreeItemContributionSchema).optional(),
14478
+ activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
14479
+ settingsSections: exports_external.array(extensionSettingsSectionRecordSchema).optional(),
14301
14480
  settingsPanels: exports_external.array(workbenchExtensionSettingsPanelRecordSchema),
14302
- dataRenderers: exports_external.array(extensionDataRendererRecordSchema).optional(),
14481
+ kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema).optional(),
14482
+ dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
14303
14483
  commandPaletteResources: exports_external.array(extensionCommandPaletteResourceRecordSchema).optional(),
14304
14484
  treeRenderers: exports_external.array(extensionTreeRendererRecordSchema).optional(),
14305
14485
  fileRenderers: exports_external.array(extensionFileRendererRecordSchema).optional(),
14306
14486
  controlsRenderers: exports_external.array(extensionControlsRendererRecordSchema).optional(),
14307
14487
  keybindings: exports_external.array(extensionKeybindingRecordSchema).optional(),
14308
14488
  settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
14489
+ automations: exports_external.array(workbenchExtensionAutomationRecordSchema).optional(),
14490
+ harnesses: exports_external.array(workbenchExtensionHarnessRecordSchema).optional(),
14491
+ skills: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
14492
+ templates: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
14493
+ themes: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
14309
14494
  diagnostics: exports_external.array(extensionDiagnosticSchema)
14310
14495
  });
14311
14496
  var listExtensionCommandsResponseSchema = exports_external.object({
@@ -14437,6 +14622,10 @@ var projectExtensionInstanceSchema = exports_external.object({
14437
14622
  version: exports_external.string().nullable().optional(),
14438
14623
  description: exports_external.string().optional(),
14439
14624
  sourcePath: exports_external.string(),
14625
+ scope: exports_external.enum(["repo", "global"]),
14626
+ status: exports_external.enum(["pending", "loaded", "error", "missing", "disabled"]),
14627
+ lastLoadedAt: exports_external.string().nullable().optional(),
14628
+ lastError: jsonObjectSchema.nullable().optional(),
14440
14629
  enabled: exports_external.boolean(),
14441
14630
  config: exports_external.record(exports_external.string(), exports_external.unknown())
14442
14631
  });
@@ -14446,6 +14635,13 @@ var listProjectExtensionsResponseSchema = exports_external.object({
14446
14635
  var setProjectExtensionEnabledRequestSchema = exports_external.object({
14447
14636
  enabled: exports_external.boolean()
14448
14637
  });
14638
+ var setExtensionAutomationEnabledRequestSchema = exports_external.object({
14639
+ enabled: exports_external.boolean()
14640
+ });
14641
+ var attemptExtensionFixResponseSchema = exports_external.object({
14642
+ sessionId: exports_external.string(),
14643
+ title: exports_external.string()
14644
+ });
14449
14645
  var updateInstalledExtensionTemplateInputSchema = exports_external.object({
14450
14646
  content: exports_external.string().min(1)
14451
14647
  });
@@ -14672,6 +14868,8 @@ var sessionStatusSchema = exports_external.enum([
14672
14868
  "cancelled",
14673
14869
  "disconnected"
14674
14870
  ]);
14871
+ var harnessParamValueSchema = exports_external.union([exports_external.string(), exports_external.boolean()]);
14872
+ var harnessParamsInputSchema = exports_external.record(exports_external.string(), harnessParamValueSchema);
14675
14873
  var sessionSchema = exports_external.object({
14676
14874
  id: exports_external.string(),
14677
14875
  project_id: exports_external.string().nullable(),
@@ -14686,6 +14884,7 @@ var sessionSchema = exports_external.object({
14686
14884
  session_file_id: exports_external.string().nullable(),
14687
14885
  original_session_id: exports_external.string().nullable(),
14688
14886
  cwd: exports_external.string().nullable(),
14887
+ params_json: harnessParamsInputSchema.nullable(),
14689
14888
  anchors_json: exports_external.array(extensionResourceRefSchema),
14690
14889
  created_at: exports_external.string(),
14691
14890
  updated_at: exports_external.string()
@@ -14714,6 +14913,7 @@ var createSessionInputSchema = exports_external.object({
14714
14913
  anchors: exports_external.array(extensionResourceRefSchema).optional(),
14715
14914
  attachments: exports_external.array(sessionAttachmentRefSchema).optional(),
14716
14915
  model: exports_external.string().optional(),
14916
+ params: harnessParamsInputSchema.optional(),
14717
14917
  original_session_id: exports_external.string().optional()
14718
14918
  });
14719
14919
  var questionResponseSchema = exports_external.object({
@@ -14726,6 +14926,7 @@ var followUpInputSchema = exports_external.object({
14726
14926
  agent: exports_external.string().optional(),
14727
14927
  model: exports_external.string().optional(),
14728
14928
  question_response: questionResponseSchema.optional(),
14929
+ params: harnessParamsInputSchema.optional(),
14729
14930
  summary_from_session_id: exports_external.string().optional(),
14730
14931
  summary_format: exports_external.enum(["brief", "detailed"]).default("brief").optional(),
14731
14932
  summary_role: exports_external.enum(["assistant", "all"]).default("assistant").optional(),