@pstdio/sdk 0.17.0 → 0.19.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.
@@ -13686,8 +13686,10 @@ var packageAsset = (path, baseUrl) => ({
13686
13686
  path,
13687
13687
  baseUrl
13688
13688
  });
13689
+ // ../pstdio-api-contracts/src/extension-kernel/types/composition.ts
13690
+ var dockedWorkbenchRegions = ["sidenav", "main", "secondary", "side"];
13689
13691
  // ../pstdio-api-contracts/src/extension-kernel/types/extension.ts
13690
- var EXTENSION_API_VERSION = "1.0.0";
13692
+ var EXTENSION_API_VERSION = "1.0.0-alpha.2";
13691
13693
  // ../pstdio-api-contracts/src/extension-kernel/types/webview-capabilities.ts
13692
13694
  var WEBVIEW_HOST_CAPABILITY_VERSION = 1;
13693
13695
  var WEBVIEW_DECLARABLE_CAPABILITIES = [
@@ -13989,20 +13991,204 @@ var extensionCommandPaletteContributionSchema = exports_external.object({
13989
13991
  when: extensionWhenExpressionSchema.optional()
13990
13992
  });
13991
13993
 
13992
- // ../pstdio-api-contracts/src/extensions/controls-renderer.ts
13993
- var extensionControlsRendererRecordSchema = exports_external.object({
13994
+ // ../pstdio-api-contracts/src/extensions/execute.ts
13995
+ var extensionResourceRefSchema = exports_external.object({
13996
+ type: exports_external.string(),
13997
+ id: exports_external.string(),
13998
+ projectId: exports_external.string().optional(),
13999
+ label: exports_external.string().optional(),
14000
+ extensionId: exports_external.string().optional(),
14001
+ metadata: jsonObjectSchema.optional()
14002
+ });
14003
+ var extensionRepoContextSchema = exports_external.object({
14004
+ projectId: exports_external.string(),
14005
+ repoId: exports_external.string(),
14006
+ path: exports_external.string(),
14007
+ remote: exports_external.string().nullable().optional(),
14008
+ role: exports_external.enum(["default", "selected", "workspace"]).optional()
14009
+ });
14010
+ var extensionSlotInvocationSchema = exports_external.object({
14011
+ id: exports_external.string(),
14012
+ kind: extensionSlotKindSchema,
14013
+ context: jsonObjectSchema
14014
+ });
14015
+ var extensionAttachmentInvocationSchema = exports_external.object({
14016
+ target: workbenchAttachmentTargetSchema,
14017
+ mode: exports_external.string().optional(),
14018
+ projectId: exports_external.string().optional(),
14019
+ resource: extensionResourceRefSchema.optional()
14020
+ });
14021
+ var extensionRendererContextSchema = exports_external.object({
14022
+ rendererId: exports_external.string(),
14023
+ projectId: exports_external.string().optional(),
14024
+ modeId: exports_external.string().optional(),
14025
+ resource: extensionResourceRefSchema.optional(),
14026
+ invocation: exports_external.object({ placement: exports_external.enum(["visible", "background"]) }).optional()
14027
+ });
14028
+ var commandExecuteRequestSchema = exports_external.object({
14029
+ projectId: exports_external.string().min(1),
14030
+ workspaceId: exports_external.string().optional(),
14031
+ params: jsonObjectSchema.optional(),
14032
+ resource: extensionResourceRefSchema.optional(),
14033
+ attachment: extensionAttachmentInvocationSchema.optional(),
14034
+ slot: extensionSlotInvocationSchema.optional(),
14035
+ repo: extensionRepoContextSchema.optional(),
14036
+ source: commandSourceSchema.optional(),
14037
+ metadata: jsonObjectSchema.optional()
14038
+ });
14039
+ var commandExecuteBodySchema = exports_external.object({
14040
+ workspaceId: exports_external.string().optional(),
14041
+ params: jsonObjectSchema.optional(),
14042
+ resource: extensionResourceRefSchema.optional(),
14043
+ attachment: extensionAttachmentInvocationSchema.optional(),
14044
+ slot: extensionSlotInvocationSchema.optional(),
14045
+ repo: extensionRepoContextSchema.optional(),
14046
+ source: commandSourceSchema.optional(),
14047
+ metadata: jsonObjectSchema.optional()
14048
+ });
14049
+ var dispatchExtensionEventBodySchema = exports_external.object({
14050
+ eventId: exports_external.string().min(1),
14051
+ payload: jsonObjectSchema
14052
+ }).strict();
14053
+ var serializedErrorSchema = exports_external.object({
14054
+ name: exports_external.string().optional(),
14055
+ message: exports_external.string(),
14056
+ stack: exports_external.string().optional()
14057
+ });
14058
+ var commandNoticeSchema = exports_external.object({
14059
+ type: exports_external.enum(["info", "success", "warning", "error"]),
14060
+ title: exports_external.string().optional(),
14061
+ message: exports_external.string(),
14062
+ metadata: jsonObjectSchema.optional()
14063
+ });
14064
+ var commandDiagnosticSchema = exports_external.object({
14065
+ code: exports_external.string(),
14066
+ message: exports_external.string(),
14067
+ severity: exports_external.enum(["info", "warning", "error"]),
14068
+ extensionId: exports_external.string().optional(),
14069
+ commandId: exports_external.string().optional(),
14070
+ metadata: jsonObjectSchema.optional()
14071
+ });
14072
+ var commandOutcomeSchema = exports_external.object({
14073
+ ok: exports_external.boolean(),
14074
+ status: exports_external.enum(["success", "rejected", "error"]),
14075
+ value: exports_external.unknown().optional(),
14076
+ code: exports_external.string().optional(),
14077
+ reason: exports_external.string().optional(),
14078
+ data: jsonObjectSchema.optional(),
14079
+ error: serializedErrorSchema.optional(),
14080
+ notices: exports_external.array(commandNoticeSchema).optional(),
14081
+ diagnostics: exports_external.array(commandDiagnosticSchema).optional()
14082
+ });
14083
+ var commandExecuteResponseSchema = exports_external.object({
14084
+ commandId: exports_external.string(),
14085
+ extensionId: exports_external.string(),
14086
+ eventIds: exports_external.array(exports_external.string()).optional(),
14087
+ outcome: commandOutcomeSchema
14088
+ });
14089
+
14090
+ // ../pstdio-api-contracts/src/extensions/composition.ts
14091
+ var dockedWorkbenchRegionSchema = exports_external.enum(dockedWorkbenchRegions);
14092
+ var extensionResourceSlotSchema = exports_external.object({
14093
+ cardinality: exports_external.enum(["one", "many"]),
14094
+ external: exports_external.boolean()
14095
+ });
14096
+ var extensionResourceKindRecordSchema = exports_external.object({
14097
+ id: exports_external.string(),
14098
+ extensionId: exports_external.string(),
14099
+ surface: exports_external.enum(["primary", "secondary", "attached"]),
14100
+ label: localizableStringSchema.optional(),
14101
+ icon: exports_external.string().optional(),
14102
+ slots: exports_external.record(exports_external.string(), extensionResourceSlotSchema)
14103
+ });
14104
+ var extensionResourcePanelRecordSchema = exports_external.object({
14105
+ id: exports_external.string(),
14106
+ extensionId: exports_external.string(),
14107
+ resourceKind: exports_external.string(),
14108
+ panel: exports_external.string(),
14109
+ slot: exports_external.string()
14110
+ });
14111
+ var panelBodySchema = {
14112
+ webview: exports_external.object({ entry: exports_external.object({ kind: exports_external.literal("package-asset"), path: exports_external.string(), baseUrl: exports_external.string() }) }).optional(),
14113
+ renderer: exports_external.object({ kind: exports_external.enum(["tree", "file", "controls", "dataTable", "kanban"]), id: exports_external.string() }).optional()
14114
+ };
14115
+ var extensionModePlacementSchema = exports_external.object({
14116
+ region: dockedWorkbenchRegionSchema,
14117
+ allowedRegions: exports_external.array(dockedWorkbenchRegionSchema).optional(),
14118
+ required: exports_external.boolean().optional(),
14119
+ defaultOpen: exports_external.boolean().optional(),
14120
+ pinned: exports_external.boolean().optional()
14121
+ });
14122
+ var extensionPanelPlacementSchema = exports_external.object({
14123
+ for: exports_external.string().optional(),
14124
+ region: dockedWorkbenchRegionSchema,
14125
+ allowedRegions: exports_external.array(dockedWorkbenchRegionSchema).optional(),
14126
+ required: exports_external.boolean().optional()
14127
+ });
14128
+ var extensionCompositionPanelRecordSchema = exports_external.object({
13994
14129
  id: exports_external.string(),
13995
14130
  extensionId: exports_external.string(),
13996
14131
  title: localizableStringSchema,
13997
- queryCommandId: exports_external.string(),
13998
- updateValueCommandId: exports_external.string().optional(),
13999
- applyCommandId: exports_external.string().optional(),
14000
- resetCommandId: exports_external.string().optional(),
14001
- refreshEventIds: exports_external.array(exports_external.string()).optional(),
14002
- defaultValues: exports_external.record(exports_external.string(), exports_external.unknown()).optional(),
14132
+ icon: exports_external.string().optional(),
14133
+ show: exports_external.union([extensionPanelPlacementSchema, exports_external.array(extensionPanelPlacementSchema).min(1)]).optional(),
14134
+ ...panelBodySchema
14135
+ }).refine((value) => [value.webview, value.renderer].filter(Boolean).length === 1, {
14136
+ message: "Composition panels must declare exactly one body"
14137
+ });
14138
+ var extensionModeResourceRecipeSchema = exports_external.object({
14139
+ slots: exports_external.record(exports_external.string(), extensionModePlacementSchema).optional(),
14140
+ panels: exports_external.record(exports_external.string(), extensionModePlacementSchema).optional()
14141
+ });
14142
+ var extensionModeCompositionRecordSchema = exports_external.object({
14143
+ resources: exports_external.record(exports_external.string(), extensionModeResourceRecipeSchema),
14144
+ modePanels: exports_external.record(exports_external.string(), extensionModePlacementSchema).optional(),
14145
+ defaultResource: exports_external.union([extensionResourceRefSchema, exports_external.object({ commandId: exports_external.string() })]).optional()
14146
+ });
14147
+ var workbenchNavigationTargetSchema = exports_external.object({
14148
+ modeId: exports_external.string().optional(),
14149
+ resource: extensionResourceRefSchema.optional(),
14150
+ replaceActive: exports_external.boolean().optional()
14151
+ });
14152
+ var extensionResourceHierarchyProviderRecordSchema = exports_external.object({
14153
+ id: exports_external.string(),
14154
+ extensionId: exports_external.string(),
14155
+ resourceKind: exports_external.string(),
14156
+ metadata: jsonObjectSchema.optional()
14157
+ });
14158
+
14159
+ // ../pstdio-api-contracts/src/extensions/renderers.ts
14160
+ var extensionRendererRecordBaseSchema = exports_external.object({
14161
+ id: exports_external.string(),
14162
+ extensionId: exports_external.string(),
14163
+ title: localizableStringSchema,
14164
+ icon: exports_external.string().optional(),
14165
+ resourceKind: exports_external.string().optional(),
14166
+ refreshEventIds: exports_external.array(exports_external.string().min(1)).optional(),
14003
14167
  emptyTitle: localizableStringSchema.optional(),
14004
14168
  emptyDescription: localizableStringSchema.optional()
14005
14169
  });
14170
+ var extensionTreeRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14171
+ searchable: exports_external.boolean().optional(),
14172
+ searchPlaceholder: localizableStringSchema.optional(),
14173
+ bodyHandlerId: exports_external.string(),
14174
+ childrenHandlerId: exports_external.string().optional(),
14175
+ footerHandlerId: exports_external.string().optional(),
14176
+ defaultExpandedSectionIds: exports_external.array(exports_external.string()).optional(),
14177
+ defaultExpandedNodeIds: exports_external.array(exports_external.string()).optional()
14178
+ });
14179
+ var extensionFileRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14180
+ loadHandlerId: exports_external.string(),
14181
+ saveHandlerId: exports_external.string().optional()
14182
+ });
14183
+
14184
+ // ../pstdio-api-contracts/src/extensions/controls-renderer.ts
14185
+ var extensionControlsRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14186
+ queryHandlerId: exports_external.string(),
14187
+ valueChangeHandlerId: exports_external.string().optional(),
14188
+ applyHandlerId: exports_external.string().optional(),
14189
+ resetHandlerId: exports_external.string().optional(),
14190
+ defaultValues: exports_external.record(exports_external.string(), exports_external.unknown()).optional()
14191
+ });
14006
14192
 
14007
14193
  // ../pstdio-api-contracts/src/extensions/data-table-renderer.ts
14008
14194
  var themeColorSchema = exports_external.object({
@@ -14049,20 +14235,15 @@ var selectionActionSchema = exports_external.object({
14049
14235
  destructive: exports_external.boolean().optional(),
14050
14236
  commandId: exports_external.string()
14051
14237
  });
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(),
14238
+ var extensionDataTableRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14057
14239
  columns: exports_external.array(dataTableRendererColumnSchema).optional(),
14058
- queryCommandId: exports_external.string(),
14240
+ queryHandlerId: exports_external.string(),
14059
14241
  selectionMode: exports_external.enum(["none", "multiple"]).optional(),
14060
14242
  selectionActions: exports_external.array(selectionActionSchema).optional(),
14061
14243
  rowActions: exports_external.array(rowActionSchema).optional(),
14244
+ rowActivationHandlerId: exports_external.string().optional(),
14062
14245
  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()
14246
+ pageSizeOptions: exports_external.array(exports_external.number().int().positive()).optional()
14066
14247
  });
14067
14248
 
14068
14249
  // ../pstdio-api-contracts/src/extensions/host-capabilities.ts
@@ -14153,25 +14334,20 @@ var extensionKanbanRendererRowActionSchema = exports_external.object({
14153
14334
  commandId: exports_external.string(),
14154
14335
  destructive: exports_external.boolean().optional()
14155
14336
  });
14156
- var extensionKanbanRendererRecordSchema = exports_external.object({
14157
- id: exports_external.string(),
14158
- extensionId: exports_external.string(),
14337
+ var extensionKanbanRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14159
14338
  extensionInstanceId: exports_external.string().optional(),
14160
- title: localizableStringSchema,
14161
- resourceKind: exports_external.string().optional(),
14162
14339
  attributes: exports_external.array(kanbanRendererAttributeSchema).optional(),
14163
- queryCommandId: exports_external.string(),
14164
- updateAttributeCommandId: exports_external.string().optional(),
14165
- reorderCommandId: exports_external.string().optional(),
14166
- columnActionCommandId: exports_external.string().optional(),
14340
+ queryHandlerId: exports_external.string(),
14341
+ attributeChangeHandlerId: exports_external.string().optional(),
14342
+ reorderHandlerId: exports_external.string().optional(),
14343
+ columnActionHandlerId: exports_external.string().optional(),
14167
14344
  createRow: extensionKanbanRendererCreateRowSchema.optional(),
14168
14345
  rowActions: exports_external.array(extensionKanbanRendererRowActionSchema).optional(),
14346
+ rowActivationHandlerId: exports_external.string().optional(),
14169
14347
  defaultSettings: kanbanRendererSettingsSchema.partial().optional(),
14170
14348
  defaultFilters: exports_external.record(exports_external.string(), exports_external.array(exports_external.string())).optional(),
14171
14349
  defaultViews: exports_external.array(kanbanRendererSavedViewSchema).optional(),
14172
14350
  defaultActiveViewId: exports_external.string().optional(),
14173
- emptyTitle: localizableStringSchema.optional(),
14174
- emptyDescription: localizableStringSchema.optional(),
14175
14351
  hideToolbar: exports_external.boolean().optional()
14176
14352
  });
14177
14353
  var extensionCommandPaletteResourceRecordSchema = exports_external.object({
@@ -14180,7 +14356,7 @@ var extensionCommandPaletteResourceRecordSchema = exports_external.object({
14180
14356
  title: localizableStringSchema,
14181
14357
  resourceKind: exports_external.string().optional(),
14182
14358
  queryCommandId: exports_external.string(),
14183
- refreshEventIds: exports_external.array(exports_external.string()).optional()
14359
+ refreshEventIds: exports_external.array(exports_external.string().min(1)).optional()
14184
14360
  });
14185
14361
 
14186
14362
  // ../pstdio-api-contracts/src/extensions/keybindings.ts
@@ -14209,21 +14385,15 @@ var extensionKeybindingRecordSchema = exports_external.object({
14209
14385
  });
14210
14386
 
14211
14387
  // ../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";
14388
+ var hasSinglePanelBody = (value) => [value.webview, value.renderer].filter(Boolean).length === 1;
14389
+ var singlePanelBodyMessage = "Extension panels must declare exactly one body: webview or renderer";
14220
14390
  var hostTreeDefaultSchema = exports_external.enum(["default", "none"]);
14221
- var panelBodySchema = {
14391
+ var panelBodySchema2 = {
14222
14392
  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()
14393
+ renderer: exports_external.object({
14394
+ kind: exports_external.enum(["tree", "file", "controls", "dataTable", "kanban"]),
14395
+ id: exports_external.string()
14396
+ }).optional()
14227
14397
  };
14228
14398
  var extensionPanelMenuRecordSchema = exports_external.object({
14229
14399
  id: exports_external.string(),
@@ -14235,7 +14405,7 @@ var extensionPanelMenuRecordSchema = exports_external.object({
14235
14405
  placement: extensionPlacementSchema.optional(),
14236
14406
  hostTreeHeader: hostTreeDefaultSchema.optional(),
14237
14407
  hostTreeFooter: hostTreeDefaultSchema.optional(),
14238
- ...panelBodySchema
14408
+ ...panelBodySchema2
14239
14409
  }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14240
14410
  var workbenchExtensionPanelMenuRecordSchema = extensionPanelMenuRecordSchema.safeExtend({ webview: workbenchExtensionWebviewSchema.optional() }).refine(hasSinglePanelBody, { message: singlePanelBodyMessage });
14241
14411
  var extensionPanelRecordBaseSchema = exports_external.object({
@@ -14243,14 +14413,9 @@ var extensionPanelRecordBaseSchema = exports_external.object({
14243
14413
  extensionId: exports_external.string(),
14244
14414
  title: localizableStringSchema,
14245
14415
  icon: exports_external.string().optional(),
14246
- region: workbenchRegionSchema,
14247
- closable: exports_external.boolean(),
14248
- group: exports_external.string().optional(),
14249
- placement: extensionPlacementSchema.optional(),
14250
- resourceKind: exports_external.string().optional(),
14251
- eligibleLocations: exports_external.object({ resourceKinds: exports_external.array(exports_external.string()).optional() }).optional(),
14416
+ show: exports_external.union([extensionPanelPlacementSchema, exports_external.array(extensionPanelPlacementSchema).min(1)]).optional(),
14252
14417
  panelMenus: exports_external.array(extensionPanelMenuRecordSchema).optional(),
14253
- ...panelBodySchema
14418
+ ...panelBodySchema2
14254
14419
  });
14255
14420
  var extensionPanelRecordSchema = extensionPanelRecordBaseSchema.refine(hasSinglePanelBody, {
14256
14421
  message: singlePanelBodyMessage
@@ -14262,29 +14427,16 @@ var extensionRouteRecordSchema = exports_external.object({
14262
14427
  label: localizableStringSchema,
14263
14428
  webview: extensionWebviewContributionSchema
14264
14429
  });
14265
- var extensionNavigationRecordSchema = exports_external.object({
14266
- id: exports_external.string(),
14267
- extensionId: exports_external.string(),
14268
- slotId: exports_external.string(),
14269
- label: localizableStringSchema,
14270
- group: exports_external.string().optional(),
14271
- placement: extensionPlacementSchema.optional(),
14272
- route: exports_external.string().optional(),
14273
- href: exports_external.string().optional(),
14274
- commandId: exports_external.string().optional(),
14275
- params: jsonObjectSchema.optional(),
14276
- icon: exports_external.string().optional(),
14277
- when: extensionWhenExpressionSchema.optional()
14278
- });
14279
14430
  var extensionTreeItemActionSchema = exports_external.discriminatedUnion("kind", [
14280
14431
  exports_external.object({
14281
14432
  kind: exports_external.literal("command"),
14282
14433
  commandId: exports_external.string(),
14283
14434
  args: jsonObjectSchema.optional()
14284
14435
  }),
14285
- exports_external.object({ kind: exports_external.literal("kanbanRenderer"), kanbanRendererId: exports_external.string() }),
14436
+ exports_external.object({ kind: exports_external.literal("panel"), panelId: exports_external.string() }),
14286
14437
  exports_external.object({ kind: exports_external.literal("route"), route: exports_external.string() }),
14287
- exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() })
14438
+ exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() }),
14439
+ exports_external.object({ kind: exports_external.literal("resource"), resource: extensionResourceRefSchema })
14288
14440
  ]);
14289
14441
  var extensionActivityItemRecordSchema = exports_external.object({
14290
14442
  id: exports_external.string(),
@@ -14301,33 +14453,26 @@ var extensionTreeItemContributionSchema = exports_external.object({
14301
14453
  extensionId: exports_external.string(),
14302
14454
  target: workbenchTreeTargetSchema,
14303
14455
  label: localizableStringSchema,
14304
- group: exports_external.string().optional(),
14456
+ group: exports_external.string().nullable().optional(),
14305
14457
  placement: extensionPlacementSchema.optional(),
14306
14458
  icon: exports_external.string().optional(),
14307
14459
  action: extensionTreeItemActionSchema,
14308
14460
  when: extensionWhenExpressionSchema.optional()
14309
14461
  });
14310
- var modeTargetContributionRecordSchema = exports_external.object({
14311
- panel: exports_external.string().optional(),
14312
- resource: exports_external.string().optional(),
14313
- region: workbenchRegionSchema.optional(),
14314
- title: localizableStringSchema.optional(),
14315
- pinned: exports_external.boolean().optional()
14316
- }).refine((value) => value.panel || value.resource, {
14317
- message: "Mode layout entries must declare a panel or resource"
14318
- });
14319
- var modeLayoutContributionRecordSchema = exports_external.object({
14320
- panels: exports_external.array(exports_external.enum(workbenchModePanels)).optional(),
14321
- open: exports_external.array(modeTargetContributionRecordSchema).optional()
14322
- });
14323
14462
  var extensionModeRecordSchema = exports_external.object({
14324
14463
  id: exports_external.string(),
14325
14464
  extensionId: exports_external.string(),
14326
14465
  modeId: exports_external.string(),
14327
14466
  label: localizableStringSchema,
14328
14467
  icon: exports_external.string().optional(),
14329
- resourceKind: exports_external.string().optional(),
14330
- layout: modeLayoutContributionRecordSchema.optional()
14468
+ panelRegions: exports_external.array(exports_external.enum(workbenchModePanels)).optional()
14469
+ }).extend(extensionModeCompositionRecordSchema.partial().shape);
14470
+ var extensionStatusItemRecordSchema = exports_external.object({
14471
+ id: exports_external.string(),
14472
+ extensionId: exports_external.string(),
14473
+ title: localizableStringSchema,
14474
+ when: extensionWhenExpressionSchema.optional(),
14475
+ webview: workbenchExtensionWebviewSchema.optional()
14331
14476
  });
14332
14477
  var workbenchExtensionPanelRecordSchema = extensionPanelRecordBaseSchema.extend({
14333
14478
  extensionInstanceId: exports_external.string().optional(),
@@ -14349,28 +14494,6 @@ var extensionViewLikeSchema = exports_external.object({
14349
14494
  extensionId: exports_external.string()
14350
14495
  });
14351
14496
 
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
14497
  // ../pstdio-api-contracts/src/extensions/settings.ts
14375
14498
  var extensionSettingsPanelRecordSchema = exports_external.object({
14376
14499
  id: exports_external.string(),
@@ -14436,7 +14559,6 @@ var extensionsCheckResponseSchema = exports_external.object({
14436
14559
  modes: exports_external.array(extensionModeRecordSchema),
14437
14560
  panels: exports_external.array(extensionPanelRecordSchema),
14438
14561
  routes: exports_external.array(extensionRouteRecordSchema),
14439
- navigation: exports_external.array(extensionNavigationRecordSchema),
14440
14562
  treeItems: exports_external.array(extensionTreeItemContributionSchema),
14441
14563
  activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
14442
14564
  settingsPanels: exports_external.array(extensionSettingsPanelRecordSchema),
@@ -14472,8 +14594,11 @@ var workbenchExtensionMetadataSchema = exports_external.object({
14472
14594
  commandPaletteContributions: exports_external.array(extensionCommandPaletteContributionSchema).optional(),
14473
14595
  modes: exports_external.array(extensionModeRecordSchema),
14474
14596
  panels: exports_external.array(workbenchExtensionPanelRecordSchema),
14597
+ resourceKinds: exports_external.array(extensionResourceKindRecordSchema).optional(),
14598
+ resourcePanels: exports_external.array(extensionResourcePanelRecordSchema).optional(),
14599
+ resourceHierarchyProviders: exports_external.array(extensionResourceHierarchyProviderRecordSchema).optional(),
14600
+ statusItems: exports_external.array(extensionStatusItemRecordSchema).optional(),
14475
14601
  routes: exports_external.array(workbenchExtensionRouteRecordSchema),
14476
- navigation: exports_external.array(extensionNavigationRecordSchema),
14477
14602
  treeItems: exports_external.array(extensionTreeItemContributionSchema).optional(),
14478
14603
  activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
14479
14604
  settingsSections: exports_external.array(extensionSettingsSectionRecordSchema).optional(),
@@ -14504,93 +14629,6 @@ var listExtensionAppearanceResponseSchema = exports_external.object({
14504
14629
  translations: exports_external.array(extensionTranslationRecordSchema),
14505
14630
  diagnostics: exports_external.array(extensionDiagnosticSchema)
14506
14631
  });
14507
- // ../pstdio-api-contracts/src/extensions/execute.ts
14508
- var extensionResourceRefSchema = exports_external.object({
14509
- type: exports_external.string(),
14510
- id: exports_external.string(),
14511
- projectId: exports_external.string().optional(),
14512
- label: exports_external.string().optional(),
14513
- extensionId: exports_external.string().optional(),
14514
- metadata: jsonObjectSchema.optional()
14515
- });
14516
- var extensionRepoContextSchema = exports_external.object({
14517
- projectId: exports_external.string(),
14518
- repoId: exports_external.string(),
14519
- path: exports_external.string(),
14520
- remote: exports_external.string().nullable().optional(),
14521
- role: exports_external.enum(["default", "selected", "workspace"]).optional()
14522
- });
14523
- var extensionSlotInvocationSchema = exports_external.object({
14524
- id: exports_external.string(),
14525
- kind: extensionSlotKindSchema,
14526
- context: jsonObjectSchema
14527
- });
14528
- var extensionAttachmentInvocationSchema = exports_external.object({
14529
- target: workbenchAttachmentTargetSchema,
14530
- mode: exports_external.string().optional(),
14531
- projectId: exports_external.string().optional(),
14532
- resource: extensionResourceRefSchema.optional()
14533
- });
14534
- var commandExecuteRequestSchema = exports_external.object({
14535
- projectId: exports_external.string().min(1),
14536
- workspaceId: exports_external.string().optional(),
14537
- params: jsonObjectSchema.optional(),
14538
- resource: extensionResourceRefSchema.optional(),
14539
- attachment: extensionAttachmentInvocationSchema.optional(),
14540
- slot: extensionSlotInvocationSchema.optional(),
14541
- repo: extensionRepoContextSchema.optional(),
14542
- source: commandSourceSchema.optional(),
14543
- metadata: jsonObjectSchema.optional()
14544
- });
14545
- var commandExecuteBodySchema = exports_external.object({
14546
- workspaceId: exports_external.string().optional(),
14547
- params: jsonObjectSchema.optional(),
14548
- resource: extensionResourceRefSchema.optional(),
14549
- attachment: extensionAttachmentInvocationSchema.optional(),
14550
- slot: extensionSlotInvocationSchema.optional(),
14551
- repo: extensionRepoContextSchema.optional(),
14552
- source: commandSourceSchema.optional(),
14553
- metadata: jsonObjectSchema.optional()
14554
- });
14555
- var dispatchExtensionEventBodySchema = exports_external.object({
14556
- eventId: exports_external.string().min(1),
14557
- payload: jsonObjectSchema
14558
- }).strict();
14559
- var serializedErrorSchema = exports_external.object({
14560
- name: exports_external.string().optional(),
14561
- message: exports_external.string(),
14562
- stack: exports_external.string().optional()
14563
- });
14564
- var commandNoticeSchema = exports_external.object({
14565
- type: exports_external.enum(["info", "success", "warning", "error"]),
14566
- title: exports_external.string().optional(),
14567
- message: exports_external.string(),
14568
- metadata: jsonObjectSchema.optional()
14569
- });
14570
- var commandDiagnosticSchema = exports_external.object({
14571
- code: exports_external.string(),
14572
- message: exports_external.string(),
14573
- severity: exports_external.enum(["info", "warning", "error"]),
14574
- extensionId: exports_external.string().optional(),
14575
- commandId: exports_external.string().optional(),
14576
- metadata: jsonObjectSchema.optional()
14577
- });
14578
- var commandOutcomeSchema = exports_external.object({
14579
- ok: exports_external.boolean(),
14580
- status: exports_external.enum(["success", "rejected", "error"]),
14581
- value: exports_external.unknown().optional(),
14582
- code: exports_external.string().optional(),
14583
- reason: exports_external.string().optional(),
14584
- data: jsonObjectSchema.optional(),
14585
- error: serializedErrorSchema.optional(),
14586
- notices: exports_external.array(commandNoticeSchema).optional(),
14587
- diagnostics: exports_external.array(commandDiagnosticSchema).optional()
14588
- });
14589
- var commandExecuteResponseSchema = exports_external.object({
14590
- commandId: exports_external.string(),
14591
- extensionId: exports_external.string(),
14592
- outcome: commandOutcomeSchema
14593
- });
14594
14632
  // ../pstdio-api-contracts/src/extensions/install.ts
14595
14633
  var enableInstalledExtensionRequestSchema = exports_external.object({
14596
14634
  displayName: exports_external.string(),
@@ -14627,10 +14665,19 @@ var projectExtensionInstanceSchema = exports_external.object({
14627
14665
  lastLoadedAt: exports_external.string().nullable().optional(),
14628
14666
  lastError: jsonObjectSchema.nullable().optional(),
14629
14667
  enabled: exports_external.boolean(),
14630
- config: exports_external.record(exports_external.string(), exports_external.unknown())
14668
+ config: exports_external.record(exports_external.string(), exports_external.unknown()),
14669
+ canUpgrade: exports_external.boolean(),
14670
+ updateAvailable: exports_external.boolean()
14671
+ });
14672
+ var marketplaceExtensionSchema = exports_external.object({
14673
+ installName: exports_external.string(),
14674
+ displayName: exports_external.string(),
14675
+ description: exports_external.string(),
14676
+ installed: exports_external.boolean()
14631
14677
  });
14632
14678
  var listProjectExtensionsResponseSchema = exports_external.object({
14633
- extensions: exports_external.array(projectExtensionInstanceSchema)
14679
+ extensions: exports_external.array(projectExtensionInstanceSchema),
14680
+ marketplace: exports_external.array(marketplaceExtensionSchema)
14634
14681
  });
14635
14682
  var setProjectExtensionEnabledRequestSchema = exports_external.object({
14636
14683
  enabled: exports_external.boolean()
@@ -14642,6 +14689,13 @@ var attemptExtensionFixResponseSchema = exports_external.object({
14642
14689
  sessionId: exports_external.string(),
14643
14690
  title: exports_external.string()
14644
14691
  });
14692
+ var upgradeProjectExtensionResponseSchema = exports_external.object({
14693
+ changed: exports_external.boolean(),
14694
+ extension: projectExtensionInstanceSchema
14695
+ });
14696
+ var installMarketplaceExtensionResponseSchema = exports_external.object({
14697
+ extension: projectExtensionInstanceSchema
14698
+ });
14645
14699
  var updateInstalledExtensionTemplateInputSchema = exports_external.object({
14646
14700
  content: exports_external.string().min(1)
14647
14701
  });
@@ -15073,6 +15127,41 @@ var renameWorkspaceInputSchema = exports_external.object({
15073
15127
  var removeWorktreeResponseSchema = exports_external.object({
15074
15128
  removed: exports_external.boolean()
15075
15129
  });
15130
+ var workspaceFileEntrySchema = exports_external.object({
15131
+ path: exports_external.string(),
15132
+ name: exports_external.string(),
15133
+ type: exports_external.enum(["file", "directory"]),
15134
+ size: exports_external.number().int().nonnegative().optional(),
15135
+ modified_at: exports_external.string().optional()
15136
+ });
15137
+ var workspaceFilesResponseSchema = exports_external.object({
15138
+ workspace_id: exports_external.string(),
15139
+ path: exports_external.string(),
15140
+ entries: exports_external.array(workspaceFileEntrySchema),
15141
+ truncated: exports_external.boolean()
15142
+ });
15143
+ var workspaceFileContentSchema = exports_external.object({
15144
+ workspace_id: exports_external.string(),
15145
+ path: exports_external.string(),
15146
+ file_name: exports_external.string(),
15147
+ mime_type: exports_external.string().optional(),
15148
+ size: exports_external.number().int().nonnegative(),
15149
+ encoding: exports_external.enum(["utf8", "base64"]),
15150
+ content: exports_external.string().optional(),
15151
+ data_url: exports_external.string().optional(),
15152
+ editable: exports_external.boolean()
15153
+ });
15154
+ var writeWorkspaceFileInputSchema = exports_external.object({
15155
+ content: exports_external.string()
15156
+ });
15157
+ var moveWorkspaceEntryInputSchema = exports_external.object({
15158
+ destination_path: exports_external.string().min(1)
15159
+ });
15160
+ var listWorkspaceFilesInputSchema = exports_external.object({
15161
+ path: exports_external.string().optional(),
15162
+ query: exports_external.string().optional(),
15163
+ limit: exports_external.number().int().positive().max(500).optional()
15164
+ });
15076
15165
  export {
15077
15166
  harnessLocalId
15078
15167
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pstdio/sdk",
3
- "version": "0.17.0",
3
+ "version": "0.19.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/pufflyai/prompt-studio"
@@ -53,7 +53,7 @@
53
53
  "mustache": "^4.2.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@types/bun": "latest",
56
+ "@types/bun": "1.3.13",
57
57
  "@types/mustache": "^4.2.6",
58
58
  "pstdio-api-contracts": "workspace:*",
59
59
  "typescript": "6.0.2"