@pstdio/sdk 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +22 -192
  2. package/dist/api/index.js +419 -298
  3. package/dist/api.d.ts +3767 -0
  4. package/dist/client/index.js +1 -0
  5. package/dist/client.d.ts +1714 -0
  6. package/dist/extensions/index.js +120 -19
  7. package/dist/extensions/react/index.js +2 -1
  8. package/dist/{extensions/react/index.d.ts → extensions-react.d.ts} +23 -16
  9. package/dist/extensions.d.ts +3826 -0
  10. package/dist/hooks.d.ts +1775 -0
  11. package/dist/{prompts/render-prompt.d.ts → prompts.d.ts} +3 -1
  12. package/dist/resources/index.js +419 -298
  13. package/dist/resources.d.ts +422 -0
  14. package/package.json +12 -31
  15. package/dist/api/extensions.d.ts +0 -1
  16. package/dist/api/index.d.ts +0 -9
  17. package/dist/api/projects.d.ts +0 -1
  18. package/dist/api/sessions.d.ts +0 -2
  19. package/dist/api/settings.d.ts +0 -1
  20. package/dist/api/skills.d.ts +0 -1
  21. package/dist/api/terminal.d.ts +0 -49
  22. package/dist/api/workspaces.d.ts +0 -12
  23. package/dist/client/agents.d.ts +0 -10
  24. package/dist/client/automation.d.ts +0 -12
  25. package/dist/client/client.d.ts +0 -26
  26. package/dist/client/extensions.d.ts +0 -15
  27. package/dist/client/index.d.ts +0 -14
  28. package/dist/client/notifications.d.ts +0 -23
  29. package/dist/client/projects.d.ts +0 -14
  30. package/dist/client/request.d.ts +0 -25
  31. package/dist/client/runtime.d.ts +0 -5
  32. package/dist/client/sessions.d.ts +0 -45
  33. package/dist/client/settings.d.ts +0 -7
  34. package/dist/client/skills.d.ts +0 -9
  35. package/dist/client/sse.d.ts +0 -15
  36. package/dist/client/sync.d.ts +0 -35
  37. package/dist/client/workspaces.d.ts +0 -20
  38. package/dist/extensions/command-outcome.d.ts +0 -5
  39. package/dist/extensions/define-command.d.ts +0 -28
  40. package/dist/extensions/define-contribution.d.ts +0 -36
  41. package/dist/extensions/define-extension-view.d.ts +0 -58
  42. package/dist/extensions/define-extension.d.ts +0 -24
  43. package/dist/extensions/index.d.ts +0 -14
  44. package/dist/extensions/params.d.ts +0 -33
  45. package/dist/extensions/refs.d.ts +0 -8
  46. package/dist/extensions/terminal-session-bridge.d.ts +0 -32
  47. package/dist/extensions/webview-client.d.ts +0 -41
  48. package/dist/extensions/when.d.ts +0 -11
  49. package/dist/hooks/base.d.ts +0 -17
  50. package/dist/hooks/entities.d.ts +0 -8
  51. package/dist/hooks/index.d.ts +0 -3
  52. package/dist/hooks/session.d.ts +0 -12
  53. package/dist/hooks/worktree.d.ts +0 -53
  54. package/dist/prompts/index.d.ts +0 -1
  55. package/dist/resources/agent.d.ts +0 -2
  56. package/dist/resources/file.d.ts +0 -1
  57. package/dist/resources/index.d.ts +0 -9
  58. package/dist/resources/project.d.ts +0 -1
  59. package/dist/resources/session.d.ts +0 -1
  60. package/dist/resources/settings.d.ts +0 -1
  61. package/dist/resources/skill.d.ts +0 -1
  62. package/dist/resources/workspace.d.ts +0 -3
package/dist/api/index.js CHANGED
@@ -13619,6 +13619,10 @@ var agentModelSchema = exports_external.object({
13619
13619
  var harnessLocalId = (id) => id.slice(id.lastIndexOf(".") + 1);
13620
13620
  // ../pstdio-api-contracts/src/extensions/common.ts
13621
13621
  var jsonObjectSchema = exports_external.record(exports_external.string(), exports_external.unknown());
13622
+ var serializableJsonObjectSchema = exports_external.record(exports_external.string(), exports_external.json()).meta({
13623
+ type: "object",
13624
+ additionalProperties: true
13625
+ });
13622
13626
  var localizedStringSchema = exports_external.object({ $l10n: exports_external.string(), default: exports_external.string().optional() });
13623
13627
  var localizableStringSchema = exports_external.union([exports_external.string(), localizedStringSchema]);
13624
13628
  var extensionSettingScopeSchema = exports_external.enum(["global", "project"]);
@@ -13638,6 +13642,9 @@ var extensionRecordSchema = exports_external.object({
13638
13642
  id: exports_external.string(),
13639
13643
  name: exports_external.string(),
13640
13644
  displayName: exports_external.string(),
13645
+ extensionInstanceId: exports_external.string().optional(),
13646
+ installedExtensionId: exports_external.string().optional(),
13647
+ installName: exports_external.string().optional(),
13641
13648
  version: exports_external.string().optional(),
13642
13649
  description: exports_external.string().optional(),
13643
13650
  sourcePath: exports_external.string()
@@ -13741,7 +13748,6 @@ var workbenchTreeTargets = [
13741
13748
  var workbenchRegions = [
13742
13749
  "nav",
13743
13750
  "activity",
13744
- "sidenav-header",
13745
13751
  "sidenav",
13746
13752
  "main-header",
13747
13753
  "main",
@@ -13760,7 +13766,6 @@ var workbenchViewTargets = [
13760
13766
  ];
13761
13767
  var workbenchSettingsTargets = ["workbench.settings"];
13762
13768
  var workbenchSettingsScopes = ["project", "global"];
13763
- var workbenchModePanels = ["main", "secondary", "side"];
13764
13769
  var workbenchModeLayoutTargets = [
13765
13770
  "workbench.left",
13766
13771
  "workbench.main.left",
@@ -13868,6 +13873,39 @@ var extensionHostCompatibilitySchema = exports_external.object({
13868
13873
 
13869
13874
  // ../pstdio-api-contracts/src/extension-kernel/types/composition.ts
13870
13875
  var dockedWorkbenchRegions = ["sidenav", "main", "secondary", "side"];
13876
+ var extensionPanelRegions = ["main", "secondary", "side"];
13877
+
13878
+ // ../pstdio-api-contracts/src/extensions/connections.ts
13879
+ var workbenchExtensionConnectionRecordSchema = exports_external.object({
13880
+ id: exports_external.string(),
13881
+ localId: exports_external.string(),
13882
+ extensionId: exports_external.string(),
13883
+ label: localizableStringSchema,
13884
+ authType: exports_external.enum(["bearer", "header"]),
13885
+ supportsCheck: exports_external.boolean()
13886
+ });
13887
+ var extensionConnectionRecordSchema = exports_external.object({
13888
+ id: exports_external.string(),
13889
+ extensionId: exports_external.string(),
13890
+ connectionId: exports_external.string(),
13891
+ baseUrl: exports_external.string(),
13892
+ authType: exports_external.enum(["bearer", "header"]),
13893
+ configured: exports_external.boolean(),
13894
+ lastCheck: exports_external.object({
13895
+ ok: exports_external.boolean(),
13896
+ status: exports_external.number().int().nullable(),
13897
+ error: exports_external.string().nullable(),
13898
+ checkedAt: exports_external.string()
13899
+ }).nullable(),
13900
+ updatedAt: exports_external.string()
13901
+ });
13902
+ var configureExtensionConnectionSchema = exports_external.object({
13903
+ baseUrl: exports_external.url(),
13904
+ secret: exports_external.string().optional()
13905
+ });
13906
+ var listExtensionConnectionsResponseSchema = exports_external.object({
13907
+ connections: exports_external.array(extensionConnectionRecordSchema)
13908
+ });
13871
13909
 
13872
13910
  // ../pstdio-api-contracts/src/extensions/execute.ts
13873
13911
  var extensionResourceRefSchema = exports_external.object({
@@ -13875,8 +13913,9 @@ var extensionResourceRefSchema = exports_external.object({
13875
13913
  id: exports_external.string(),
13876
13914
  projectId: exports_external.string().optional(),
13877
13915
  label: exports_external.string().optional(),
13916
+ icon: exports_external.string().optional(),
13878
13917
  extensionId: exports_external.string().optional(),
13879
- metadata: jsonObjectSchema.optional()
13918
+ metadata: serializableJsonObjectSchema.optional()
13880
13919
  });
13881
13920
  var extensionRepoContextSchema = exports_external.object({
13882
13921
  projectId: exports_external.string(),
@@ -13965,223 +14004,162 @@ var commandExecuteResponseSchema = exports_external.object({
13965
14004
  outcome: commandOutcomeSchema
13966
14005
  });
13967
14006
 
13968
- // ../pstdio-api-contracts/src/extensions/composition.ts
13969
- var dockedWorkbenchRegionSchema = exports_external.enum(dockedWorkbenchRegions);
13970
- var extensionResourceSlotSchema = exports_external.object({
13971
- cardinality: exports_external.enum(["one", "many"]),
13972
- external: exports_external.boolean()
13973
- });
13974
- var extensionResourceMenuSlotSchema = exports_external.object({
13975
- placement: exports_external.enum(["header-primary", "header-overflow", "context-menu"]),
13976
- label: localizableStringSchema.optional(),
13977
- external: exports_external.boolean(),
13978
- order: exports_external.number().optional()
13979
- });
13980
- var extensionResourceKindRecordSchema = exports_external.object({
13981
- id: exports_external.string(),
13982
- extensionId: exports_external.string(),
13983
- surface: exports_external.enum(["primary", "secondary", "attached"]),
13984
- label: localizableStringSchema.optional(),
13985
- icon: exports_external.string().optional(),
13986
- slots: exports_external.record(exports_external.string(), extensionResourceSlotSchema),
13987
- menuSlots: exports_external.record(exports_external.string(), extensionResourceMenuSlotSchema).default({})
13988
- });
13989
- var extensionResourcePanelRecordSchema = exports_external.object({
13990
- id: exports_external.string(),
13991
- extensionId: exports_external.string(),
13992
- resourceKind: exports_external.string(),
13993
- panel: exports_external.string(),
13994
- slot: exports_external.string()
13995
- });
13996
- var panelBodySchema = {
13997
- webview: exports_external.object({ entry: exports_external.object({ kind: exports_external.literal("package-asset"), path: exports_external.string(), baseUrl: exports_external.string() }) }).optional(),
13998
- renderer: exports_external.object({ kind: exports_external.enum(["tree", "file", "controls", "dataTable", "kanban"]), id: exports_external.string() }).optional()
13999
- };
14000
- var extensionModePlacementSchema = exports_external.object({
14001
- region: dockedWorkbenchRegionSchema,
14002
- allowedRegions: exports_external.array(dockedWorkbenchRegionSchema).optional(),
14003
- required: exports_external.boolean().optional(),
14004
- defaultOpen: exports_external.boolean().optional(),
14005
- pinned: exports_external.boolean().optional()
14006
- });
14007
- var extensionPanelPlacementSchema = exports_external.object({
14008
- for: exports_external.string().optional(),
14009
- region: dockedWorkbenchRegionSchema,
14010
- allowedRegions: exports_external.array(dockedWorkbenchRegionSchema).optional(),
14011
- required: exports_external.boolean().optional()
14012
- });
14013
- var extensionCompositionPanelRecordSchema = exports_external.object({
14014
- id: exports_external.string(),
14015
- extensionId: exports_external.string(),
14016
- title: localizableStringSchema,
14017
- icon: exports_external.string().optional(),
14018
- show: exports_external.union([extensionPanelPlacementSchema, exports_external.array(extensionPanelPlacementSchema).min(1)]).optional(),
14019
- ...panelBodySchema
14020
- }).refine((value) => [value.webview, value.renderer].filter(Boolean).length === 1, {
14021
- message: "Composition panels must declare exactly one body"
14022
- });
14023
- var extensionModeResourceRecipeSchema = exports_external.object({
14024
- slots: exports_external.record(exports_external.string(), extensionModePlacementSchema).optional(),
14025
- panels: exports_external.record(exports_external.string(), extensionModePlacementSchema).optional()
14026
- });
14027
- var extensionModeCompositionRecordSchema = exports_external.object({
14028
- resources: exports_external.record(exports_external.string(), extensionModeResourceRecipeSchema),
14029
- modePanels: exports_external.record(exports_external.string(), extensionModePlacementSchema).optional(),
14030
- defaultResource: exports_external.union([extensionResourceRefSchema, exports_external.object({ commandId: exports_external.string() })]).optional()
14031
- });
14032
- var workbenchNavigationTargetSchema = exports_external.object({
14033
- modeId: exports_external.string().optional(),
14034
- resource: extensionResourceRefSchema.optional(),
14035
- replaceActive: exports_external.boolean().optional()
14036
- });
14037
- var extensionResourceHierarchyProviderRecordSchema = exports_external.object({
14038
- id: exports_external.string(),
14039
- extensionId: exports_external.string(),
14040
- resourceKind: exports_external.string(),
14041
- metadata: jsonObjectSchema.optional()
14042
- });
14043
-
14044
- // ../pstdio-api-contracts/src/extensions/panels.ts
14045
- var hasSinglePanelBody = (value) => [value.webview, value.renderer].filter(Boolean).length === 1;
14046
- var singlePanelBodyMessage = "Extension panels must declare exactly one body: webview or renderer";
14047
- var hostTreeDefaultSchema = exports_external.enum(["default", "none"]);
14048
- var panelBodySchema2 = {
14049
- webview: extensionWebviewContributionSchema.optional(),
14050
- renderer: exports_external.object({
14051
- kind: exports_external.enum(["tree", "file", "controls", "dataTable", "kanban"]),
14052
- id: exports_external.string()
14053
- }).optional()
14054
- };
14055
- var extensionPanelMenuRecordSchema = exports_external.object({
14007
+ // ../pstdio-api-contracts/src/extensions/control-declarations.ts
14008
+ var base = { id: exports_external.string(), name: exports_external.string(), description: exports_external.string().optional(), readOnly: exports_external.boolean().optional() };
14009
+ var numeric = { min: exports_external.number().optional(), max: exports_external.number().optional(), step: exports_external.number().optional() };
14010
+ var vector = exports_external.strictObject({ x: exports_external.number(), y: exports_external.number() });
14011
+ var range = exports_external.tuple([exports_external.number(), exports_external.number()]);
14012
+ var selectionValue = exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]);
14013
+ var selectionOption = exports_external.strictObject({
14056
14014
  id: exports_external.string(),
14057
- extensionId: exports_external.string(),
14058
- ownerPanelId: exports_external.string(),
14059
- title: localizableStringSchema,
14060
- side: exports_external.enum(["left", "right"]),
14061
- group: exports_external.string().optional(),
14062
- placement: extensionPlacementSchema.optional(),
14063
- hostTreeHeader: hostTreeDefaultSchema.optional(),
14064
- hostTreeFooter: hostTreeDefaultSchema.optional(),
14065
- ...panelBodySchema2
14066
- }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14067
- var workbenchExtensionPanelMenuRecordSchema = extensionPanelMenuRecordSchema.safeExtend({ webview: workbenchExtensionWebviewSchema.optional() }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14068
- var extensionPanelRecordBaseSchema = exports_external.object({
14069
- id: exports_external.string(),
14070
- extensionId: exports_external.string(),
14071
- title: localizableStringSchema,
14072
- path: exports_external.string().optional(),
14073
- aliases: exports_external.array(exports_external.string()).optional(),
14015
+ name: exports_external.string(),
14074
14016
  icon: exports_external.string().optional(),
14075
- show: exports_external.union([extensionPanelPlacementSchema, exports_external.array(extensionPanelPlacementSchema).min(1)]).optional(),
14076
- panelMenus: exports_external.array(extensionPanelMenuRecordSchema).optional(),
14077
- ...panelBodySchema2
14078
- });
14079
- var extensionPanelRecordSchema = extensionPanelRecordBaseSchema.refine(hasSinglePanelBody, {
14080
- message: singlePanelBodyMessage
14081
- });
14082
- var extensionRouteRecordSchema = exports_external.object({
14083
- id: exports_external.string(),
14084
- extensionId: exports_external.string(),
14085
- path: exports_external.string(),
14086
- label: localizableStringSchema,
14087
- webview: extensionWebviewContributionSchema
14017
+ color: exports_external.string().optional(),
14018
+ description: exports_external.string().optional(),
14019
+ disabled: exports_external.boolean().optional()
14088
14020
  });
14089
- var extensionTreeItemActionSchema = exports_external.discriminatedUnion("kind", [
14090
- exports_external.object({
14091
- kind: exports_external.literal("command"),
14092
- commandId: exports_external.string(),
14093
- args: jsonObjectSchema.optional()
14021
+ var selection = {
14022
+ placeholder: exports_external.string().optional(),
14023
+ searchable: exports_external.boolean().optional(),
14024
+ searchPlaceholder: exports_external.string().optional(),
14025
+ emptyText: exports_external.string().optional(),
14026
+ disabled: exports_external.boolean().optional()
14027
+ };
14028
+ var image = exports_external.strictObject({ src: exports_external.string(), alt: exports_external.string() });
14029
+ var primitive = exports_external.union([exports_external.string(), exports_external.number(), exports_external.boolean(), exports_external.null()]);
14030
+ var readOnlyContent = exports_external.union([
14031
+ primitive,
14032
+ exports_external.array(primitive),
14033
+ image.extend({ type: exports_external.literal("image") }),
14034
+ exports_external.strictObject({ type: exports_external.literal("image-gallery"), images: exports_external.array(image) })
14035
+ ]);
14036
+ var controlValueSchema = exports_external.union([primitive, exports_external.array(exports_external.string()), range, vector]);
14037
+ var controlValuesSchema = exports_external.record(exports_external.string(), controlValueSchema);
14038
+ var controlParamSchema = exports_external.discriminatedUnion("type", [
14039
+ exports_external.strictObject({ ...base, ...numeric, type: exports_external.literal("number"), defaultValue: exports_external.number() }),
14040
+ exports_external.strictObject({ ...base, type: exports_external.literal("boolean"), defaultValue: exports_external.boolean() }),
14041
+ exports_external.strictObject({ ...base, type: exports_external.literal("text"), defaultValue: exports_external.string(), singleLine: exports_external.boolean().optional() }),
14042
+ exports_external.strictObject({
14043
+ ...base,
14044
+ type: exports_external.literal("markdown"),
14045
+ defaultValue: exports_external.string(),
14046
+ placeholder: exports_external.string().optional()
14094
14047
  }),
14095
- exports_external.object({ kind: exports_external.literal("view"), viewId: exports_external.string() }),
14096
- exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() }),
14097
- exports_external.object({ kind: exports_external.literal("resource"), resource: extensionResourceRefSchema })
14048
+ exports_external.strictObject({
14049
+ ...base,
14050
+ ...selection,
14051
+ type: exports_external.literal("selection"),
14052
+ defaultValue: selectionValue,
14053
+ options: exports_external.array(selectionOption),
14054
+ multiSelect: exports_external.boolean().optional(),
14055
+ clearable: exports_external.boolean().optional(),
14056
+ group: exports_external.strictObject({
14057
+ id: exports_external.string(),
14058
+ name: exports_external.string(),
14059
+ defaultValue: exports_external.string(),
14060
+ options: exports_external.array(selectionOption),
14061
+ ...selection
14062
+ }).optional()
14063
+ }),
14064
+ exports_external.strictObject({
14065
+ ...base,
14066
+ type: exports_external.literal("date"),
14067
+ defaultValue: exports_external.string(),
14068
+ min: exports_external.string().optional(),
14069
+ max: exports_external.string().optional()
14070
+ }),
14071
+ exports_external.strictObject({ ...base, type: exports_external.literal("color"), defaultValue: exports_external.string() }),
14072
+ exports_external.strictObject({ ...base, type: exports_external.literal("readOnly"), value: readOnlyContent }),
14073
+ exports_external.strictObject({
14074
+ ...base,
14075
+ type: exports_external.literal("resource"),
14076
+ defaultValue: selectionValue,
14077
+ options: exports_external.array(exports_external.strictObject({
14078
+ id: exports_external.string(),
14079
+ name: exports_external.string(),
14080
+ icon: exports_external.string().optional(),
14081
+ color: exports_external.string().optional(),
14082
+ description: exports_external.string().optional(),
14083
+ href: exports_external.string().optional(),
14084
+ ref: extensionResourceRefSchema.optional(),
14085
+ copyText: exports_external.string().optional()
14086
+ })),
14087
+ multiSelect: exports_external.boolean().optional(),
14088
+ editable: exports_external.boolean().optional(),
14089
+ placeholder: exports_external.string().optional(),
14090
+ emptyText: exports_external.string().optional()
14091
+ }),
14092
+ exports_external.strictObject({
14093
+ ...base,
14094
+ ...numeric,
14095
+ type: exports_external.literal("range"),
14096
+ defaultValue: range,
14097
+ min: exports_external.number(),
14098
+ max: exports_external.number(),
14099
+ unit: exports_external.string().optional(),
14100
+ markerCount: exports_external.number().optional()
14101
+ }),
14102
+ exports_external.strictObject({
14103
+ ...base,
14104
+ type: exports_external.literal("segmented"),
14105
+ defaultValue: exports_external.string(),
14106
+ variant: exports_external.enum(["default", "dots"]).optional(),
14107
+ options: exports_external.array(exports_external.strictObject({
14108
+ id: exports_external.string(),
14109
+ name: exports_external.string(),
14110
+ icon: exports_external.string().optional(),
14111
+ indicatorColor: exports_external.string().optional()
14112
+ }))
14113
+ }),
14114
+ exports_external.strictObject({
14115
+ ...base,
14116
+ type: exports_external.literal("actions"),
14117
+ defaultValue: exports_external.string().optional(),
14118
+ options: exports_external.array(exports_external.strictObject({
14119
+ id: exports_external.string(),
14120
+ name: exports_external.string(),
14121
+ icon: exports_external.string().optional(),
14122
+ disabled: exports_external.boolean().optional()
14123
+ }))
14124
+ }),
14125
+ exports_external.strictObject({
14126
+ ...base,
14127
+ type: exports_external.literal("anchorGrid"),
14128
+ defaultValue: exports_external.enum([
14129
+ "top-left",
14130
+ "top",
14131
+ "top-right",
14132
+ "left",
14133
+ "center",
14134
+ "right",
14135
+ "bottom-left",
14136
+ "bottom",
14137
+ "bottom-right"
14138
+ ])
14139
+ }),
14140
+ exports_external.strictObject({
14141
+ ...base,
14142
+ ...numeric,
14143
+ type: exports_external.literal("vector"),
14144
+ defaultValue: vector,
14145
+ coordinateMode: exports_external.enum(["cartesian", "screen"]).optional(),
14146
+ xLabel: exports_external.string().optional(),
14147
+ yLabel: exports_external.string().optional()
14148
+ })
14098
14149
  ]);
14099
- var extensionActivityItemRecordSchema = exports_external.object({
14100
- id: exports_external.string(),
14101
- extensionId: exports_external.string(),
14102
- title: localizableStringSchema,
14103
- icon: exports_external.string(),
14104
- modes: exports_external.array(exports_external.string()),
14105
- placement: extensionPlacementSchema.optional(),
14106
- commandId: exports_external.string(),
14107
- params: jsonObjectSchema.optional()
14108
- });
14109
- var extensionTreeItemContributionSchema = exports_external.object({
14110
- id: exports_external.string(),
14111
- extensionId: exports_external.string(),
14112
- target: workbenchTreeTargetSchema,
14113
- label: localizableStringSchema,
14114
- group: exports_external.string().nullable().optional(),
14115
- placement: extensionPlacementSchema.optional(),
14116
- icon: exports_external.string().optional(),
14117
- action: extensionTreeItemActionSchema,
14118
- when: extensionWhenExpressionSchema.optional()
14119
- });
14120
- var extensionModeRecordSchema = exports_external.object({
14121
- id: exports_external.string(),
14122
- extensionId: exports_external.string(),
14123
- modeId: exports_external.string(),
14124
- label: localizableStringSchema,
14125
- icon: exports_external.string().optional(),
14126
- panelRegions: exports_external.array(exports_external.enum(workbenchModePanels)).optional()
14127
- }).extend(extensionModeCompositionRecordSchema.partial().shape);
14128
- var extensionStatusItemRecordSchema = exports_external.object({
14150
+ var controlGroupSchema = exports_external.strictObject({
14129
14151
  id: exports_external.string(),
14130
- extensionId: exports_external.string(),
14131
- title: localizableStringSchema,
14132
- when: extensionWhenExpressionSchema.optional(),
14133
- webview: workbenchExtensionWebviewSchema.optional()
14134
- });
14135
- var workbenchExtensionPanelRecordSchema = extensionPanelRecordBaseSchema.extend({
14136
- extensionInstanceId: exports_external.string().optional(),
14137
- installedExtensionId: exports_external.string().optional(),
14138
- installName: exports_external.string().optional(),
14139
- webview: workbenchExtensionWebviewSchema.optional(),
14140
- panelMenus: exports_external.array(workbenchExtensionPanelMenuRecordSchema).optional()
14141
- }).refine(hasSinglePanelBody, {
14142
- message: singlePanelBodyMessage
14143
- });
14144
- var workbenchExtensionRouteRecordSchema = extensionRouteRecordSchema.extend({
14145
- extensionInstanceId: exports_external.string().optional(),
14146
- installedExtensionId: exports_external.string().optional(),
14147
- installName: exports_external.string().optional(),
14148
- webview: workbenchExtensionWebviewSchema
14149
- });
14150
- var extensionViewLikeSchema = exports_external.object({
14151
- id: exports_external.string(),
14152
- extensionId: exports_external.string()
14153
- });
14154
-
14155
- // ../pstdio-api-contracts/src/extensions/connections.ts
14156
- var workbenchExtensionConnectionRecordSchema = exports_external.object({
14157
- id: exports_external.string(),
14158
- localId: exports_external.string(),
14159
- extensionId: exports_external.string(),
14160
- label: localizableStringSchema,
14161
- authType: exports_external.enum(["bearer", "header"]),
14162
- supportsCheck: exports_external.boolean()
14163
- });
14164
- var extensionConnectionRecordSchema = exports_external.object({
14165
- id: exports_external.string(),
14166
- extensionId: exports_external.string(),
14167
- connectionId: exports_external.string(),
14168
- baseUrl: exports_external.string(),
14169
- authType: exports_external.enum(["bearer", "header"]),
14170
- configured: exports_external.boolean(),
14171
- lastCheck: exports_external.object({
14172
- ok: exports_external.boolean(),
14173
- status: exports_external.number().int().nullable(),
14174
- error: exports_external.string().nullable(),
14175
- checkedAt: exports_external.string()
14176
- }).nullable(),
14177
- updatedAt: exports_external.string()
14178
- });
14179
- var configureExtensionConnectionSchema = exports_external.object({
14180
- baseUrl: exports_external.url(),
14181
- secret: exports_external.string().optional()
14152
+ title: exports_external.string(),
14153
+ description: exports_external.string().optional(),
14154
+ params: exports_external.array(controlParamSchema),
14155
+ collapsible: exports_external.boolean().optional(),
14156
+ defaultCollapsed: exports_external.boolean().optional()
14182
14157
  });
14183
- var listExtensionConnectionsResponseSchema = exports_external.object({
14184
- connections: exports_external.array(extensionConnectionRecordSchema)
14158
+ var controlsQueryResultSchema = exports_external.strictObject({
14159
+ params: exports_external.array(controlParamSchema).optional(),
14160
+ groups: exports_external.array(controlGroupSchema).optional(),
14161
+ values: controlValuesSchema.optional(),
14162
+ readOnly: exports_external.boolean().optional()
14185
14163
  });
14186
14164
 
14187
14165
  // ../pstdio-api-contracts/src/extensions/renderers.ts
@@ -14198,6 +14176,7 @@ var extensionRendererRecordBaseSchema = exports_external.object({
14198
14176
  var extensionTreeRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14199
14177
  searchable: exports_external.boolean().optional(),
14200
14178
  searchPlaceholder: localizableStringSchema.optional(),
14179
+ headerHandlerId: exports_external.string().optional(),
14201
14180
  bodyHandlerId: exports_external.string(),
14202
14181
  childrenHandlerId: exports_external.string().optional(),
14203
14182
  footerHandlerId: exports_external.string().optional(),
@@ -14215,7 +14194,7 @@ var extensionControlsRendererRecordSchema = extensionRendererRecordBaseSchema.ex
14215
14194
  valueChangeHandlerId: exports_external.string().optional(),
14216
14195
  applyHandlerId: exports_external.string().optional(),
14217
14196
  resetHandlerId: exports_external.string().optional(),
14218
- defaultValues: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
14197
+ defaultValues: controlValuesSchema.optional()
14219
14198
  });
14220
14199
 
14221
14200
  // ../pstdio-api-contracts/src/extensions/data-table-renderer.ts
@@ -14297,8 +14276,9 @@ var kanbanRendererAttributeTypeSchema = exports_external.discriminatedUnion("kin
14297
14276
  exports_external.object({ kind: exports_external.literal("number") }),
14298
14277
  exports_external.object({ kind: exports_external.literal("user") })
14299
14278
  ]);
14300
- var kanbanRendererAttributeDisplaySchema = exports_external.discriminatedUnion("kind", [
14301
- exports_external.object({ kind: exports_external.literal("workspace-badge"), itemsAttributeId: exports_external.string() })
14279
+ var kanbanRendererAttributeDisplaySchema = exports_external.union([
14280
+ exports_external.object({ kind: exports_external.literal("badge-list"), itemsAttributeId: exports_external.string() }),
14281
+ exports_external.object({ kind: exports_external.string() }).passthrough().refine((display) => display.kind !== "badge-list")
14302
14282
  ]);
14303
14283
  var kanbanRendererAttributeSchema = exports_external.object({
14304
14284
  id: exports_external.string(),
@@ -14379,6 +14359,52 @@ var extensionCommandPaletteResourceRecordSchema = exports_external.object({
14379
14359
  refreshEventIds: exports_external.array(exports_external.string().min(1)).optional()
14380
14360
  });
14381
14361
 
14362
+ // ../pstdio-api-contracts/src/extensions/workbench-refs-metadata.ts
14363
+ var contributionRefSchema = (kind) => exports_external.object({ extensionId: exports_external.string(), kind: exports_external.literal(kind), id: exports_external.string() });
14364
+ var pageRefSchema = contributionRefSchema("page");
14365
+ var placementRefSchema = contributionRefSchema("placement");
14366
+ var modeRefSchema = contributionRefSchema("mode");
14367
+ var viewRefSchema = contributionRefSchema("view");
14368
+ var resourceKindRefSchema = contributionRefSchema("resource-kind");
14369
+ var pageSlotRefSchema = exports_external.object({
14370
+ kind: exports_external.literal("page-slot"),
14371
+ page: pageRefSchema,
14372
+ id: exports_external.string()
14373
+ });
14374
+ var panelRefSchema = exports_external.union([placementRefSchema, pageSlotRefSchema]);
14375
+ var commandTargetSchema = exports_external.object({
14376
+ command: contributionRefSchema("command"),
14377
+ params: serializableJsonObjectSchema.optional()
14378
+ });
14379
+
14380
+ // ../pstdio-api-contracts/src/extensions/navigation-target-metadata.ts
14381
+ var sectionSchema = exports_external.object({
14382
+ anchors: exports_external.array(exports_external.object({ id: exports_external.string(), heading: exports_external.string(), occurrence: exports_external.number().int().nonnegative().optional() }))
14383
+ });
14384
+ var pageTargetSchema = exports_external.lazy(() => exports_external.object({
14385
+ kind: exports_external.literal("page"),
14386
+ page: pageRefSchema,
14387
+ resource: extensionResourceRefSchema.optional(),
14388
+ open: exports_external.enum(["preview", "pin"]).optional(),
14389
+ section: sectionSchema.optional(),
14390
+ parent: pageTargetSchema.optional()
14391
+ })).meta({ id: "WorkbenchMetadataPageTarget" });
14392
+ var navigationOperationSchema = exports_external.union([
14393
+ pageTargetSchema,
14394
+ exports_external.object({
14395
+ kind: exports_external.literal("panel"),
14396
+ panel: panelRefSchema,
14397
+ resource: extensionResourceRefSchema.optional(),
14398
+ open: exports_external.enum(["preview", "pin"]).optional()
14399
+ })
14400
+ ]);
14401
+ var navigationTargetSchema = exports_external.union([
14402
+ navigationOperationSchema,
14403
+ exports_external.object({ kind: exports_external.literal("command"), target: commandTargetSchema }),
14404
+ exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() }),
14405
+ exports_external.object({ kind: exports_external.literal("compound"), targets: exports_external.array(navigationOperationSchema).min(1) })
14406
+ ]);
14407
+
14382
14408
  // ../pstdio-api-contracts/src/extensions/keybindings.ts
14383
14409
  var parsedKeybindingChordSchema = exports_external.object({
14384
14410
  key: exports_external.string(),
@@ -14391,7 +14417,7 @@ var parsedKeybindingChordSchema = exports_external.object({
14391
14417
  var extensionKeybindingRecordSchema = exports_external.object({
14392
14418
  id: exports_external.string(),
14393
14419
  extensionId: exports_external.string(),
14394
- commandId: exports_external.string(),
14420
+ action: navigationTargetSchema,
14395
14421
  key: exports_external.string(),
14396
14422
  canonicalChord: exports_external.string(),
14397
14423
  parsed: parsedKeybindingChordSchema,
@@ -14400,8 +14426,72 @@ var extensionKeybindingRecordSchema = exports_external.object({
14400
14426
  linux: exports_external.string().optional(),
14401
14427
  win: exports_external.string().optional()
14402
14428
  }).optional(),
14403
- when: extensionWhenExpressionSchema.optional(),
14404
- args: jsonObjectSchema.optional()
14429
+ when: extensionWhenExpressionSchema.optional()
14430
+ });
14431
+
14432
+ // ../pstdio-api-contracts/src/extensions/placement-metadata.ts
14433
+ var workbenchPlacementPresentationSchema = exports_external.object({
14434
+ mountStrategy: exports_external.enum(["active", "keep-mounted"]).optional(),
14435
+ hiddenByDefault: exports_external.boolean().optional(),
14436
+ headerBorderBottom: exports_external.boolean().optional(),
14437
+ tab: exports_external.object({
14438
+ queryHandlerId: exports_external.string(),
14439
+ refreshEventIds: exports_external.array(exports_external.string()).optional()
14440
+ }).optional()
14441
+ });
14442
+ var placementPresenceSchema = exports_external.enum(["fixed", "open", "closed"]);
14443
+ var regionSizeSchema = exports_external.object({
14444
+ defaultPx: exports_external.number().optional(),
14445
+ minPx: exports_external.number().optional(),
14446
+ maxPx: exports_external.number().optional()
14447
+ });
14448
+ var regionSettingsSchema = exports_external.object({
14449
+ showHeader: exports_external.boolean().optional(),
14450
+ size: regionSizeSchema.optional(),
14451
+ collapsible: exports_external.boolean().optional(),
14452
+ alwaysShowTabs: exports_external.boolean().optional()
14453
+ });
14454
+
14455
+ // ../pstdio-api-contracts/src/extensions/resource-binding-metadata.ts
14456
+ var resourceConstraintSchema = exports_external.object({ kinds: exports_external.array(resourceKindRefSchema).min(1) }).strict();
14457
+ var resourceBindingSchema = resourceConstraintSchema.extend({
14458
+ view: viewRefSchema,
14459
+ cardinality: exports_external.enum(["one", "many"]),
14460
+ add: navigationTargetSchema.optional()
14461
+ });
14462
+ var placementItemSchema = exports_external.discriminatedUnion("kind", [
14463
+ exports_external.object({ kind: exports_external.literal("view"), view: viewRefSchema, presence: placementPresenceSchema }).strict(),
14464
+ exports_external.object({ kind: exports_external.literal("binding"), binding: resourceBindingSchema }).strict()
14465
+ ]);
14466
+
14467
+ // ../pstdio-api-contracts/src/extensions/page-metadata.ts
14468
+ var mainSchema = exports_external.discriminatedUnion("kind", [
14469
+ workbenchPlacementPresentationSchema.extend({
14470
+ kind: exports_external.literal("view"),
14471
+ view: viewRefSchema,
14472
+ cardinality: exports_external.enum(["one", "many"])
14473
+ }).strict(),
14474
+ exports_external.object({ kind: exports_external.literal("panels"), empty: viewRefSchema }).strict()
14475
+ ]);
14476
+ var slotSchema = workbenchPlacementPresentationSchema.extend({
14477
+ id: exports_external.string(),
14478
+ region: exports_external.enum(["main", "secondary", "side"]),
14479
+ order: exports_external.number().optional(),
14480
+ item: placementItemSchema,
14481
+ openOn: exports_external.literal("page-resource").optional()
14482
+ }).strict();
14483
+ var workbenchExtensionPageRecordSchema = exports_external.object({
14484
+ id: exports_external.string(),
14485
+ localId: exports_external.string(),
14486
+ extensionId: exports_external.string(),
14487
+ title: localizableStringSchema,
14488
+ icon: exports_external.string().optional(),
14489
+ path: exports_external.string(),
14490
+ mode: modeRefSchema,
14491
+ parent: pageRefSchema.optional(),
14492
+ resource: resourceConstraintSchema.optional(),
14493
+ main: mainSchema,
14494
+ slots: exports_external.array(slotSchema)
14405
14495
  });
14406
14496
 
14407
14497
  // ../pstdio-api-contracts/src/extensions/settings.ts
@@ -14451,47 +14541,21 @@ var extensionSettingsSectionRecordSchema = exports_external.object({
14451
14541
  });
14452
14542
 
14453
14543
  // ../pstdio-api-contracts/src/extensions/workbench-metadata.ts
14454
- var contributionRefSchema = (kind) => exports_external.object({ extensionId: exports_external.string(), kind: exports_external.literal(kind), id: exports_external.string() });
14455
- var commandRefSchema = contributionRefSchema("command");
14456
- var modeRefSchema = contributionRefSchema("mode");
14457
- var navigationSlotRefSchema = contributionRefSchema("navigation-item");
14458
- var resourceKindRefSchema = contributionRefSchema("resource-kind");
14459
- var settingsSectionRefSchema = contributionRefSchema("settings-section");
14460
- var statusRefSchema = contributionRefSchema("status");
14461
- var viewRefSchema = contributionRefSchema("view");
14544
+ var contributionRefSchema2 = (kind) => exports_external.object({ extensionId: exports_external.string(), kind: exports_external.literal(kind), id: exports_external.string() });
14545
+ var commandRefSchema = contributionRefSchema2("command");
14546
+ var modeRefSchema2 = contributionRefSchema2("mode");
14547
+ var pageRefSchema2 = contributionRefSchema2("page");
14548
+ var resourceKindRefSchema2 = contributionRefSchema2("resource-kind");
14549
+ var settingsSectionRefSchema = contributionRefSchema2("settings-section");
14550
+ var statusRefSchema = contributionRefSchema2("status");
14551
+ var viewRefSchema2 = contributionRefSchema2("view");
14462
14552
  var normalizedWhenSchema = exports_external.object({
14463
- mode: exports_external.union([modeRefSchema, exports_external.array(modeRefSchema)]).optional(),
14553
+ mode: exports_external.union([modeRefSchema2, exports_external.array(modeRefSchema2)]).optional(),
14464
14554
  source: exports_external.array(exports_external.enum(["cli", "dashboard", "api", "schedule", "event", "automation", "command-panel"])).optional(),
14465
- view: exports_external.union([viewRefSchema, exports_external.array(viewRefSchema)]).optional(),
14466
- resourceType: exports_external.array(resourceKindRefSchema).optional(),
14555
+ view: exports_external.union([viewRefSchema2, exports_external.array(viewRefSchema2)]).optional(),
14556
+ resourceType: exports_external.array(resourceKindRefSchema2).optional(),
14467
14557
  metadata: jsonObjectSchema.optional()
14468
14558
  });
14469
- var commandTargetSchema = exports_external.object({ command: commandRefSchema, params: jsonObjectSchema.optional() });
14470
- var navigationTargetItemSchema = exports_external.discriminatedUnion("kind", [
14471
- exports_external.object({
14472
- kind: exports_external.literal("view"),
14473
- view: viewRefSchema,
14474
- input: exports_external.object({ strategy: exports_external.enum(["persistent", "preview", "replace-active", "replace-invoking"]).optional() }).optional()
14475
- }),
14476
- exports_external.object({
14477
- kind: exports_external.literal("resource"),
14478
- resource: extensionResourceRefSchema,
14479
- input: exports_external.object({ strategy: exports_external.enum(["persistent", "replace-active"]).optional() }).optional(),
14480
- section: exports_external.object({
14481
- anchors: exports_external.array(exports_external.object({
14482
- id: exports_external.string(),
14483
- heading: exports_external.string(),
14484
- occurrence: exports_external.number().int().nonnegative().optional()
14485
- }))
14486
- }).optional()
14487
- }),
14488
- exports_external.object({ kind: exports_external.literal("command"), target: commandTargetSchema }),
14489
- exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() })
14490
- ]);
14491
- var navigationTargetSchema = exports_external.union([
14492
- navigationTargetItemSchema,
14493
- exports_external.object({ kind: exports_external.literal("compound"), targets: exports_external.array(navigationTargetItemSchema).min(1) })
14494
- ]);
14495
14559
  var rendererBaseOmissions = {
14496
14560
  id: true,
14497
14561
  extensionId: true,
@@ -14549,7 +14613,6 @@ var workbenchExtensionViewRecordSchema = exports_external.object({
14549
14613
  extensionId: exports_external.string(),
14550
14614
  title: localizableStringSchema,
14551
14615
  icon: exports_external.string().optional(),
14552
- path: exports_external.string().optional(),
14553
14616
  body: workbenchExtensionViewBodySchema
14554
14617
  });
14555
14618
  var workbenchExtensionModeRecordSchema = exports_external.object({
@@ -14557,31 +14620,28 @@ var workbenchExtensionModeRecordSchema = exports_external.object({
14557
14620
  localId: exports_external.string(),
14558
14621
  extensionId: exports_external.string(),
14559
14622
  label: localizableStringSchema,
14560
- icon: exports_external.string().optional()
14623
+ icon: exports_external.string().optional(),
14624
+ regions: exports_external.array(exports_external.enum(extensionPanelRegions)),
14625
+ floatingPanels: exports_external.enum(["visible", "hidden"]).optional(),
14626
+ regionSettings: exports_external.partialRecord(exports_external.enum(dockedWorkbenchRegions), regionSettingsSchema).optional(),
14627
+ defaultTheme: contributionRefSchema2("theme").optional(),
14628
+ chrome: exports_external.partialRecord(exports_external.enum(["nav", "sidenav", "activity", "status"]), exports_external.union([viewRefSchema2, exports_external.literal(false)])).optional()
14561
14629
  });
14562
- var workbenchExtensionPlacementRecordSchema = exports_external.object({
14630
+ var workbenchExtensionPlacementRecordSchema = workbenchPlacementPresentationSchema.extend({
14563
14631
  id: exports_external.string(),
14564
14632
  localId: exports_external.string(),
14565
14633
  extensionId: exports_external.string(),
14566
- mode: modeRefSchema,
14567
- item: exports_external.discriminatedUnion("kind", [
14568
- exports_external.object({ kind: exports_external.literal("view"), view: viewRefSchema }),
14569
- exports_external.object({
14570
- kind: exports_external.literal("resource-slot"),
14571
- slot: exports_external.object({ resourceKind: resourceKindRefSchema, id: exports_external.string() })
14572
- })
14573
- ]),
14574
- region: exports_external.enum(dockedWorkbenchRegions),
14634
+ mode: modeRefSchema2,
14635
+ item: placementItemSchema,
14636
+ region: exports_external.enum(extensionPanelRegions),
14575
14637
  order: exports_external.number().optional(),
14576
- defaultOpen: exports_external.boolean().optional(),
14577
- required: exports_external.boolean().optional(),
14578
- movableTo: exports_external.array(exports_external.enum(dockedWorkbenchRegions)).optional()
14638
+ movableTo: exports_external.array(exports_external.enum(extensionPanelRegions)).optional()
14579
14639
  });
14580
14640
  var workbenchExtensionViewMenuRecordSchema = exports_external.object({
14581
14641
  id: exports_external.string(),
14582
14642
  extensionId: exports_external.string(),
14583
- owner: viewRefSchema,
14584
- view: viewRefSchema,
14643
+ owner: viewRefSchema2,
14644
+ view: viewRefSchema2,
14585
14645
  side: exports_external.enum(["left", "right"]),
14586
14646
  group: exports_external.string().optional(),
14587
14647
  placement: exports_external.enum(["first", "default", "last"]).optional(),
@@ -14591,22 +14651,27 @@ var workbenchExtensionViewMenuRecordSchema = exports_external.object({
14591
14651
  var workbenchExtensionNavigationItemRecordSchema = exports_external.object({
14592
14652
  id: exports_external.string(),
14593
14653
  extensionId: exports_external.string(),
14594
- slot: navigationSlotRefSchema,
14654
+ owner: exports_external.union([modeRefSchema2, pageRefSchema2]),
14655
+ slot: exports_external.enum(["header", "content", "footer"]),
14595
14656
  label: localizableStringSchema,
14596
14657
  icon: exports_external.string().optional(),
14597
14658
  group: exports_external.string().optional(),
14598
- order: exports_external.number().optional(),
14599
14659
  when: normalizedWhenSchema.optional(),
14600
14660
  action: navigationTargetSchema
14601
14661
  });
14662
+ var workbenchExtensionNavigationTreeRecordSchema = exports_external.object({
14663
+ id: exports_external.string(),
14664
+ extensionId: exports_external.string(),
14665
+ owner: exports_external.union([modeRefSchema2, pageRefSchema2]),
14666
+ slot: exports_external.enum(["header", "content", "footer"]),
14667
+ view: viewRefSchema2
14668
+ });
14602
14669
  var workbenchExtensionResourceKindRecordSchema = exports_external.object({
14603
14670
  id: exports_external.string(),
14604
14671
  localId: exports_external.string(),
14605
14672
  extensionId: exports_external.string(),
14606
- surface: exports_external.enum(["primary", "secondary", "attached"]),
14607
14673
  label: localizableStringSchema.optional(),
14608
14674
  icon: exports_external.string().optional(),
14609
- slots: exports_external.array(exports_external.object({ id: exports_external.string(), cardinality: exports_external.enum(["one", "many"]), access: exports_external.enum(["owner", "public"]) })).optional(),
14610
14675
  menuSlots: exports_external.array(exports_external.object({
14611
14676
  id: exports_external.string(),
14612
14677
  placement: exports_external.enum(["header-primary", "header-overflow", "context-menu"]),
@@ -14615,25 +14680,17 @@ var workbenchExtensionResourceKindRecordSchema = exports_external.object({
14615
14680
  order: exports_external.number().optional()
14616
14681
  })).optional()
14617
14682
  });
14618
- var workbenchExtensionResourceViewRecordSchema = exports_external.object({
14619
- id: exports_external.string(),
14620
- extensionId: exports_external.string(),
14621
- resourceKind: resourceKindRefSchema,
14622
- slot: exports_external.object({ resourceKind: resourceKindRefSchema, id: exports_external.string() }),
14623
- view: viewRefSchema,
14624
- order: exports_external.number().optional()
14625
- });
14626
14683
  var workbenchExtensionSettingsPanelRecordSchema2 = exports_external.object({
14627
14684
  id: exports_external.string(),
14628
14685
  extensionId: exports_external.string(),
14629
- view: viewRefSchema,
14686
+ view: viewRefSchema2,
14630
14687
  slot: exports_external.object({ id: exports_external.string() }),
14631
14688
  section: settingsSectionRefSchema.optional()
14632
14689
  });
14633
14690
  var workbenchExtensionStatusBarItemRecordSchema = exports_external.object({
14634
14691
  id: exports_external.string(),
14635
14692
  extensionId: exports_external.string(),
14636
- view: viewRefSchema,
14693
+ view: viewRefSchema2,
14637
14694
  slot: exports_external.object({ id: exports_external.string() }),
14638
14695
  order: exports_external.number().optional(),
14639
14696
  when: normalizedWhenSchema.optional()
@@ -14653,13 +14710,14 @@ var workbenchExtensionMetadataSchema = exports_external.object({
14653
14710
  menuContributions: exports_external.array(extensionMenuContributionSchema),
14654
14711
  commandPaletteContributions: exports_external.array(extensionCommandPaletteContributionSchema).optional(),
14655
14712
  modes: exports_external.array(workbenchExtensionModeRecordSchema),
14713
+ pages: exports_external.array(workbenchExtensionPageRecordSchema),
14656
14714
  views: exports_external.array(workbenchExtensionViewRecordSchema),
14657
14715
  viewMenus: exports_external.array(workbenchExtensionViewMenuRecordSchema),
14658
14716
  placements: exports_external.array(workbenchExtensionPlacementRecordSchema),
14659
14717
  resourceKinds: exports_external.array(workbenchExtensionResourceKindRecordSchema),
14660
- resourceViews: exports_external.array(workbenchExtensionResourceViewRecordSchema),
14661
- resourceHierarchyProviders: exports_external.array(exports_external.object({ id: exports_external.string(), extensionId: exports_external.string(), resourceKind: resourceKindRefSchema })).optional(),
14718
+ resourceHierarchyProviders: exports_external.array(exports_external.object({ id: exports_external.string(), extensionId: exports_external.string(), resourceKind: resourceKindRefSchema2 })).optional(),
14662
14719
  navigationItems: exports_external.array(workbenchExtensionNavigationItemRecordSchema),
14720
+ navigationTrees: exports_external.array(workbenchExtensionNavigationTreeRecordSchema),
14663
14721
  statusBarItems: exports_external.array(workbenchExtensionStatusBarItemRecordSchema),
14664
14722
  statuses: exports_external.array(workbenchExtensionStatusRecordSchema),
14665
14723
  activityItems: exports_external.array(exports_external.object({
@@ -14667,7 +14725,7 @@ var workbenchExtensionMetadataSchema = exports_external.object({
14667
14725
  extensionId: exports_external.string(),
14668
14726
  title: localizableStringSchema,
14669
14727
  icon: exports_external.string(),
14670
- modes: exports_external.array(modeRefSchema),
14728
+ modes: exports_external.array(modeRefSchema2),
14671
14729
  placement: exports_external.enum(["first", "default", "last"]).optional(),
14672
14730
  command: commandRefSchema,
14673
14731
  params: jsonObjectSchema.optional()
@@ -14716,19 +14774,24 @@ var workbenchExtensionMetadataSchema = exports_external.object({
14716
14774
  });
14717
14775
 
14718
14776
  // ../pstdio-api-contracts/src/extensions/check.ts
14777
+ var extensionViewLikeSchema = exports_external.object({
14778
+ id: exports_external.string(),
14779
+ extensionId: exports_external.string()
14780
+ });
14719
14781
  var checkWorkbenchMetadataSchema = workbenchExtensionMetadataSchema.pick({
14720
14782
  extensions: true,
14721
14783
  commands: true,
14722
14784
  menuContributions: true,
14723
14785
  commandPaletteContributions: true,
14724
14786
  modes: true,
14787
+ pages: true,
14725
14788
  views: true,
14726
14789
  viewMenus: true,
14727
14790
  placements: true,
14728
14791
  resourceKinds: true,
14729
- resourceViews: true,
14730
14792
  resourceHierarchyProviders: true,
14731
14793
  navigationItems: true,
14794
+ navigationTrees: true,
14732
14795
  statusBarItems: true,
14733
14796
  statuses: true,
14734
14797
  activityItems: true,
@@ -14908,17 +14971,19 @@ var automationRunEventSchema = exports_external.object({
14908
14971
  var listAutomationRunEventsResponseSchema = exports_external.object({ events: exports_external.array(automationRunEventSchema) });
14909
14972
  // ../pstdio-api-contracts/src/extension-kernel/builtin-refs.ts
14910
14973
  var hostRef = (kind, id) => ({ extensionId: "pstdio", kind, id });
14911
- var workbenchCommands = {
14912
- switchMode: hostRef("command", "workbench.action.switchMode")
14913
- };
14914
14974
  var workbenchModes = {
14915
14975
  project: hostRef("mode", "project"),
14976
+ sessions: hostRef("mode", "sessions"),
14916
14977
  settings: hostRef("mode", "settings")
14917
14978
  };
14979
+ var workbenchModeDefinitions = {
14980
+ project: { ref: workbenchModes.project, regions: dockedWorkbenchRegions },
14981
+ sessions: { ref: workbenchModes.sessions, regions: dockedWorkbenchRegions },
14982
+ settings: { ref: workbenchModes.settings, regions: dockedWorkbenchRegions }
14983
+ };
14918
14984
  var hostResourceKind = (id, label, menuSlots) => ({
14919
14985
  id,
14920
14986
  ref: hostRef("resource-kind", id),
14921
- surface: "primary",
14922
14987
  label,
14923
14988
  menuSlots
14924
14989
  });
@@ -14936,12 +15001,65 @@ var workbenchResourceKinds = {
14936
15001
  session: workbenchResourceKindDefinitions.session.ref,
14937
15002
  workspace: workbenchResourceKindDefinitions.workspace.ref
14938
15003
  };
15004
+ var workbenchPages = {
15005
+ start: hostRef("page", "start"),
15006
+ sessions: hostRef("page", "sessions"),
15007
+ session: hostRef("page", "session"),
15008
+ workspaces: hostRef("page", "workspaces"),
15009
+ workspace: hostRef("page", "workspace")
15010
+ };
15011
+ var workbenchPageDefinitions = {
15012
+ start: {
15013
+ ref: workbenchPages.start,
15014
+ mode: workbenchModes.project,
15015
+ path: "",
15016
+ primary: { cardinality: "one", resourceKinds: [] }
15017
+ },
15018
+ sessions: {
15019
+ ref: workbenchPages.sessions,
15020
+ mode: workbenchModes.sessions,
15021
+ path: "sessions",
15022
+ primary: { cardinality: "one", resourceKinds: [] }
15023
+ },
15024
+ session: {
15025
+ ref: workbenchPages.session,
15026
+ mode: workbenchModes.sessions,
15027
+ path: "session",
15028
+ primary: { cardinality: "one", resourceKinds: ["session", "session-draft"] }
15029
+ },
15030
+ workspaces: {
15031
+ ref: workbenchPages.workspaces,
15032
+ mode: workbenchModes.project,
15033
+ path: "workspaces",
15034
+ primary: { cardinality: "one", resourceKinds: [] }
15035
+ },
15036
+ workspace: {
15037
+ ref: workbenchPages.workspace,
15038
+ mode: workbenchModes.project,
15039
+ path: "workspace",
15040
+ primary: { cardinality: "many", resourceKinds: ["workspace"] }
15041
+ }
15042
+ };
15043
+ var workbenchPanels = {
15044
+ projectSession: hostRef("placement", "project-session")
15045
+ };
15046
+ var workbenchPanelDefinitions = {
15047
+ projectSession: {
15048
+ ref: workbenchPanels.projectSession,
15049
+ mode: workbenchModes.project,
15050
+ cardinality: "many",
15051
+ resourceKinds: ["session", "session-draft"]
15052
+ }
15053
+ };
14939
15054
  var workbenchSlots = {
14940
- projectNavigation: hostRef("navigation-item", "project.navigation"),
14941
15055
  projectSettings: hostRef("settings-panel", "project.settings"),
14942
15056
  statusBarLeading: hostRef("status-bar-item", "status-bar.leading"),
14943
15057
  statusBarTrailing: hostRef("status-bar-item", "status-bar.trailing")
14944
15058
  };
15059
+ // ../pstdio-api-contracts/src/extension-kernel/contribution-id.ts
15060
+ var localContributionIdPattern = /^[a-z0-9]+(?:-[a-z0-9]+)*(?:\.[a-z0-9]+(?:-[a-z0-9]+)*)*$/;
15061
+ var isValidLocalContributionId = (id) => localContributionIdPattern.test(id);
15062
+ var localContributionIdGrammar = 'lowercase kebab-case segments separated by dots, such as "ticket-status.create"';
14945
15063
  // ../pstdio-api-contracts/src/extension-kernel/refs.ts
14946
15064
  var createCommandRef = (input) => ({ ...input, kind: "command" });
14947
15065
  var commandRef = Object.assign(createCommandRef, {
@@ -15019,12 +15137,13 @@ var packageAsset = (path, baseUrl) => ({
15019
15137
  baseUrl
15020
15138
  });
15021
15139
  // ../pstdio-api-contracts/src/extension-kernel/types/extension.ts
15022
- var EXTENSION_API_VERSION = "1.0.0-alpha.5";
15140
+ var EXTENSION_API_VERSION = "1.0.0-alpha.10";
15023
15141
  // ../pstdio-api-contracts/src/extension-kernel/types/webview-capabilities.ts
15024
15142
  var WEBVIEW_HOST_CAPABILITY_VERSION = 1;
15025
15143
  var WEBVIEW_DECLARABLE_CAPABILITIES = [
15026
15144
  "commands.execute",
15027
- "resource.open",
15145
+ "navigation.open",
15146
+ "placement.close",
15028
15147
  "notification.show",
15029
15148
  "notification.action",
15030
15149
  "notification.resolve",
@@ -15040,9 +15159,11 @@ var WEBVIEW_DECLARABLE_CAPABILITIES = [
15040
15159
  "files.list",
15041
15160
  "files.delete"
15042
15161
  ];
15162
+ var WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES = ["artifacts.read"];
15043
15163
  var ALWAYS_AVAILABLE_WEBVIEW_CAPABILITIES = ["host.dispatchKeyboardEvent"];
15044
15164
  var WEBVIEW_HOST_CAPABILITIES = [
15045
15165
  ...WEBVIEW_DECLARABLE_CAPABILITIES,
15166
+ ...WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES,
15046
15167
  ...ALWAYS_AVAILABLE_WEBVIEW_CAPABILITIES
15047
15168
  ];
15048
15169
  // ../pstdio-api-contracts/src/files.ts