@pstdio/sdk 0.38.0 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/api/index.js +62 -7
- package/dist/api.d.ts +4 -4
- package/dist/client/index.js +179 -83
- package/dist/client.d.ts +2 -2
- package/dist/data.d.ts +1 -1
- package/dist/extensions/index.js +5 -8
- package/dist/extensions.d.ts +2 -2
- package/dist/hooks.d.ts +4 -4
- package/dist/{index-C-BhIXyz.d.ts → index-CF8VtORE.d.ts} +178 -7
- package/dist/{index-CPqTwJbg.d.ts → index-Cq80VGQo.d.ts} +1 -1
- package/dist/{index-BCK94Mon.d.ts → index-Dd4tqVV7.d.ts} +2276 -1933
- package/dist/resources/index.js +62 -7
- package/dist/resources.d.ts +2 -2
- package/dist/sessions-C-D1oPr0.d.ts +2 -0
- package/dist/skills-C-D1oPr0.d.ts +2 -0
- package/dist/testing.d.ts +1 -1
- package/package.json +1 -1
- package/dist/sessions-DIT92e3v.d.ts +0 -2
- package/dist/skills-DIT92e3v.d.ts +0 -2
|
@@ -17,8 +17,8 @@ declare const listActivityResponseSchema: z.ZodObject<{
|
|
|
17
17
|
source_extension_id: z.ZodNullable<z.ZodString>;
|
|
18
18
|
event_type: z.ZodString;
|
|
19
19
|
actor_type: z.ZodEnum<{
|
|
20
|
-
agent: "agent";
|
|
21
20
|
user: "user";
|
|
21
|
+
agent: "agent";
|
|
22
22
|
system: "system";
|
|
23
23
|
}>;
|
|
24
24
|
actor_id: z.ZodNullable<z.ZodString>;
|
|
@@ -139,8 +139,12 @@ type AgentSkillsLayout = z.infer<typeof agentSkillsLayoutSchema>;
|
|
|
139
139
|
declare const harnessLocalId: (id: string) => string;
|
|
140
140
|
//#endregion
|
|
141
141
|
//#region ../pstdio-api-contracts/src/extension-kernel/api-versions.d.ts
|
|
142
|
-
/**
|
|
143
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Only caret terms are accepted because each one stops below the next breaking version, so a
|
|
144
|
+
* declaration can never claim support for a breaking API that did not exist when it was written.
|
|
145
|
+
* Returns the minimum API version of each term.
|
|
146
|
+
*/
|
|
147
|
+
declare const parseExtensionApiDeclaration: (declaration: string) => string[] | null;
|
|
144
148
|
declare const supportsExtensionApiVersion: (declaration: string, hostVersion: string) => boolean;
|
|
145
149
|
//#endregion
|
|
146
150
|
//#region ../pstdio-api-contracts/src/extension-kernel/l10n.d.ts
|
|
@@ -155,6 +159,54 @@ declare const l10n: (key: string, defaultValue?: string) => {
|
|
|
155
159
|
};
|
|
156
160
|
declare const isLocalizedString: (value: unknown) => value is LocalizedString;
|
|
157
161
|
//#endregion
|
|
162
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/workbench-targets.d.ts
|
|
163
|
+
declare const workbenchMenuTargets: readonly ["workbench.nav.actions", "workbench.nav.overflow"];
|
|
164
|
+
declare const workbenchTreeTargets: readonly ["workbench.left.tree", "workbench.main.left.tree", "workbench.main.right.tree"];
|
|
165
|
+
declare const workbenchViewTargets: readonly ["workbench.main", "workbench.main.left", "workbench.main.right", "workbench.secondary"];
|
|
166
|
+
declare const workbenchSettingsTargets: readonly ["workbench.settings"];
|
|
167
|
+
type WorkbenchMenuTarget = (typeof workbenchMenuTargets)[number];
|
|
168
|
+
type WorkbenchTreeTarget = (typeof workbenchTreeTargets)[number];
|
|
169
|
+
type WorkbenchViewTarget = (typeof workbenchViewTargets)[number];
|
|
170
|
+
type WorkbenchSettingsTarget = (typeof workbenchSettingsTargets)[number];
|
|
171
|
+
type WorkbenchAttachmentTarget = WorkbenchMenuTarget | WorkbenchTreeTarget | WorkbenchViewTarget | WorkbenchSettingsTarget;
|
|
172
|
+
//#endregion
|
|
173
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/contribution-identity.d.ts
|
|
174
|
+
type ContributionKind = "activity-item" | "artifact-mount" | "command" | "command-palette-resource" | "connection" | "file-icon-theme" | "harness" | "hook" | "keybinding" | "middleware" | "mode" | "navigation-item" | "navigation-tree" | "page" | "placement" | "resource-hierarchy-provider" | "resource-kind" | "schedule" | "settings-panel" | "settings-section" | "skill" | "status" | "status-bar-item" | "template" | "template-type" | "theme" | "view" | "view-menu" | "workspace-type";
|
|
175
|
+
interface ContributionRef<Kind extends ContributionKind> {
|
|
176
|
+
readonly extensionId?: string;
|
|
177
|
+
readonly kind: Kind;
|
|
178
|
+
readonly id: string;
|
|
179
|
+
}
|
|
180
|
+
interface ContributionDefinition<Kind extends ContributionKind> {
|
|
181
|
+
readonly id: string;
|
|
182
|
+
readonly ref: ContributionRef<Kind>;
|
|
183
|
+
}
|
|
184
|
+
type ContributionInput<Kind extends ContributionKind> = Omit<ContributionDefinition<Kind>, "ref">;
|
|
185
|
+
type ConnectionRef = ContributionRef<"connection">;
|
|
186
|
+
type ThemeRef = ContributionRef<"theme">;
|
|
187
|
+
type ModeRef = ContributionRef<"mode">;
|
|
188
|
+
type PageRef = ContributionRef<"page">;
|
|
189
|
+
type PlacementRef = ContributionRef<"placement">;
|
|
190
|
+
type ResourceKindRef = ContributionRef<"resource-kind">;
|
|
191
|
+
type SettingsSectionRef = ContributionRef<"settings-section">;
|
|
192
|
+
interface SettingsSlotRef {
|
|
193
|
+
readonly id: string;
|
|
194
|
+
}
|
|
195
|
+
interface StatusBarSlotRef {
|
|
196
|
+
readonly id: string;
|
|
197
|
+
}
|
|
198
|
+
type StatusRef = ContributionRef<"status">;
|
|
199
|
+
type ViewRef = ContributionRef<"view">;
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/json.d.ts
|
|
202
|
+
type JsonPrimitive = string | number | boolean | null;
|
|
203
|
+
type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
|
|
204
|
+
type JsonObject = {
|
|
205
|
+
[key: string]: JsonValue;
|
|
206
|
+
};
|
|
207
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
208
|
+
type Struct = object;
|
|
209
|
+
//#endregion
|
|
158
210
|
//#region ../pstdio-api-contracts/src/extensions.terminal.d.ts
|
|
159
211
|
interface TerminalSessionRequest$1 {
|
|
160
212
|
/** Command + args to run; defaults to the user's login shell when omitted. */
|
|
@@ -226,78 +278,6 @@ type TerminalSessionResult$1 = {
|
|
|
226
278
|
accepted: true;
|
|
227
279
|
};
|
|
228
280
|
//#endregion
|
|
229
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/workbench-targets.d.ts
|
|
230
|
-
declare const workbenchMenuTargets: readonly ["workbench.nav.actions", "workbench.nav.overflow"];
|
|
231
|
-
declare const workbenchTreeTargets: readonly ["workbench.left.tree", "workbench.main.left.tree", "workbench.main.right.tree"];
|
|
232
|
-
declare const workbenchViewTargets: readonly ["workbench.main", "workbench.main.left", "workbench.main.right", "workbench.secondary"];
|
|
233
|
-
declare const workbenchSettingsTargets: readonly ["workbench.settings"];
|
|
234
|
-
type WorkbenchMenuTarget = (typeof workbenchMenuTargets)[number];
|
|
235
|
-
type WorkbenchTreeTarget = (typeof workbenchTreeTargets)[number];
|
|
236
|
-
type WorkbenchViewTarget = (typeof workbenchViewTargets)[number];
|
|
237
|
-
type WorkbenchSettingsTarget = (typeof workbenchSettingsTargets)[number];
|
|
238
|
-
type WorkbenchAttachmentTarget = WorkbenchMenuTarget | WorkbenchTreeTarget | WorkbenchViewTarget | WorkbenchSettingsTarget;
|
|
239
|
-
//#endregion
|
|
240
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/contribution-identity.d.ts
|
|
241
|
-
type ContributionKind = "activity-item" | "artifact-mount" | "command" | "command-palette-resource" | "connection" | "file-icon-theme" | "harness" | "hook" | "keybinding" | "middleware" | "mode" | "navigation-item" | "navigation-tree" | "page" | "placement" | "resource-hierarchy-provider" | "resource-kind" | "schedule" | "settings-panel" | "settings-section" | "skill" | "status" | "status-bar-item" | "template" | "template-type" | "theme" | "view" | "view-menu" | "workspace-type";
|
|
242
|
-
interface ContributionRef<Kind extends ContributionKind> {
|
|
243
|
-
readonly extensionId?: string;
|
|
244
|
-
readonly kind: Kind;
|
|
245
|
-
readonly id: string;
|
|
246
|
-
}
|
|
247
|
-
interface ContributionDefinition<Kind extends ContributionKind> {
|
|
248
|
-
readonly id: string;
|
|
249
|
-
readonly ref: ContributionRef<Kind>;
|
|
250
|
-
}
|
|
251
|
-
type ContributionInput<Kind extends ContributionKind> = Omit<ContributionDefinition<Kind>, "ref">;
|
|
252
|
-
type ConnectionRef = ContributionRef<"connection">;
|
|
253
|
-
type ThemeRef = ContributionRef<"theme">;
|
|
254
|
-
type ModeRef = ContributionRef<"mode">;
|
|
255
|
-
type PageRef = ContributionRef<"page">;
|
|
256
|
-
type PlacementRef = ContributionRef<"placement">;
|
|
257
|
-
type ResourceKindRef = ContributionRef<"resource-kind">;
|
|
258
|
-
type SettingsSectionRef = ContributionRef<"settings-section">;
|
|
259
|
-
interface SettingsSlotRef {
|
|
260
|
-
readonly id: string;
|
|
261
|
-
}
|
|
262
|
-
interface StatusBarSlotRef {
|
|
263
|
-
readonly id: string;
|
|
264
|
-
}
|
|
265
|
-
type StatusRef = ContributionRef<"status">;
|
|
266
|
-
type ViewRef = ContributionRef<"view">;
|
|
267
|
-
//#endregion
|
|
268
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/json.d.ts
|
|
269
|
-
type JsonPrimitive = string | number | boolean | null;
|
|
270
|
-
type JsonValue = JsonPrimitive | JsonValue[] | JsonObject;
|
|
271
|
-
type JsonObject = {
|
|
272
|
-
[key: string]: JsonValue;
|
|
273
|
-
};
|
|
274
|
-
type MaybePromise<T> = T | Promise<T>;
|
|
275
|
-
type Struct = object;
|
|
276
|
-
//#endregion
|
|
277
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/events.d.ts
|
|
278
|
-
interface EventRef<TPayload extends Struct = Struct> {
|
|
279
|
-
readonly extensionId?: string;
|
|
280
|
-
readonly kind: "event";
|
|
281
|
-
readonly id: string;
|
|
282
|
-
payload?: TPayload;
|
|
283
|
-
}
|
|
284
|
-
interface EventDeliveryResult {
|
|
285
|
-
delivered: number;
|
|
286
|
-
diagnostics?: CommandDiagnostic[];
|
|
287
|
-
}
|
|
288
|
-
//#endregion
|
|
289
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/renderer-base.d.ts
|
|
290
|
-
/** A raw cross-extension id must be namespaced. Local events use an EventRef. */
|
|
291
|
-
type RendererEventReference = EventRef | `${string}.${string}`;
|
|
292
|
-
interface RendererContributionBase {
|
|
293
|
-
title: Localizable<string>;
|
|
294
|
-
icon?: string;
|
|
295
|
-
resourceKind?: string;
|
|
296
|
-
refreshEvents?: readonly RendererEventReference[];
|
|
297
|
-
emptyTitle?: Localizable<string>;
|
|
298
|
-
emptyDescription?: Localizable<string>;
|
|
299
|
-
}
|
|
300
|
-
//#endregion
|
|
301
281
|
//#region ../pstdio-api-contracts/src/extension-kernel/types/resources.d.ts
|
|
302
282
|
type ResourceRole = "primary" | "context" | "source" | "result";
|
|
303
283
|
interface ResourceRef {
|
|
@@ -347,1467 +327,89 @@ interface PackageAssetDescriptor {
|
|
|
347
327
|
baseUrl: string;
|
|
348
328
|
}
|
|
349
329
|
//#endregion
|
|
350
|
-
//#region ../pstdio-api-contracts/src/
|
|
351
|
-
type
|
|
352
|
-
|
|
353
|
-
|
|
330
|
+
//#region ../pstdio-api-contracts/src/notifications/types.d.ts
|
|
331
|
+
type NotificationKind = "needs_review" | "ready_to_merge" | "blocked" | "approval_required" | "failed" | "info";
|
|
332
|
+
type NotificationStatus = "open" | "read" | "snoozed" | "done" | "dismissed" | "expired";
|
|
333
|
+
type NotificationPriority = "low" | "normal" | "high" | "urgent";
|
|
334
|
+
type NotificationActorType = "user" | "agent" | "system";
|
|
335
|
+
type NotificationOrigin = "core" | "extension" | "agent";
|
|
336
|
+
type NotificationAction = {
|
|
354
337
|
id: string;
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
338
|
+
label: string;
|
|
339
|
+
kind: "navigate";
|
|
340
|
+
target: NavigationTarget;
|
|
341
|
+
primary?: boolean;
|
|
342
|
+
} | {
|
|
343
|
+
id: string;
|
|
344
|
+
label: string;
|
|
345
|
+
kind: "command";
|
|
346
|
+
command: string;
|
|
347
|
+
params?: JsonObject;
|
|
348
|
+
primary?: boolean;
|
|
349
|
+
destructive?: boolean;
|
|
350
|
+
} | {
|
|
351
|
+
id: string;
|
|
352
|
+
label: string;
|
|
353
|
+
kind: "url";
|
|
354
|
+
href: string;
|
|
355
|
+
primary?: boolean;
|
|
356
|
+
};
|
|
357
|
+
interface Notification {
|
|
358
|
+
id: string;
|
|
359
|
+
projectId: string;
|
|
360
|
+
title: string;
|
|
361
|
+
body?: string | null;
|
|
362
|
+
kind: NotificationKind;
|
|
363
|
+
status: NotificationStatus;
|
|
364
|
+
priority: NotificationPriority;
|
|
365
|
+
source: CommandSource;
|
|
366
|
+
origin: NotificationOrigin;
|
|
367
|
+
sourceExtensionId?: string | null;
|
|
368
|
+
actorType?: NotificationActorType | null;
|
|
369
|
+
actorId?: string | null;
|
|
370
|
+
target?: ResourceRef | null;
|
|
371
|
+
related: ResourceRef[];
|
|
372
|
+
actions: NotificationAction[];
|
|
373
|
+
dedupeKey?: string | null;
|
|
374
|
+
metadata?: JsonObject | null;
|
|
375
|
+
createdAt: string;
|
|
376
|
+
updatedAt: string;
|
|
377
|
+
readAt?: string | null;
|
|
378
|
+
resolvedAt?: string | null;
|
|
379
|
+
snoozedUntil?: string | null;
|
|
380
|
+
expiresAt?: string | null;
|
|
382
381
|
}
|
|
383
|
-
interface
|
|
384
|
-
|
|
385
|
-
|
|
382
|
+
interface CreateNotificationInput {
|
|
383
|
+
projectId: string;
|
|
384
|
+
title: string;
|
|
385
|
+
body?: string;
|
|
386
|
+
kind: NotificationKind;
|
|
387
|
+
priority?: NotificationPriority;
|
|
388
|
+
target?: ResourceRef;
|
|
389
|
+
related?: ResourceRef[];
|
|
390
|
+
actions?: NotificationAction[];
|
|
391
|
+
dedupeKey?: string;
|
|
392
|
+
expiresAt?: string;
|
|
393
|
+
snoozedUntil?: string;
|
|
394
|
+
metadata?: JsonObject;
|
|
386
395
|
}
|
|
387
|
-
interface
|
|
388
|
-
|
|
389
|
-
|
|
396
|
+
interface UpdateNotificationInput {
|
|
397
|
+
priority?: NotificationPriority;
|
|
398
|
+
snoozedUntil?: string | null;
|
|
399
|
+
metadata?: JsonObject;
|
|
390
400
|
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
401
|
+
interface ListNotificationsQuery {
|
|
402
|
+
status?: NotificationStatus | NotificationStatus[];
|
|
403
|
+
priority?: NotificationPriority | NotificationPriority[];
|
|
404
|
+
sourceExtensionId?: string;
|
|
405
|
+
resourceType?: string;
|
|
406
|
+
resourceId?: string;
|
|
407
|
+
cursor?: string;
|
|
408
|
+
limit?: number;
|
|
395
409
|
}
|
|
396
|
-
interface
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
readonly add?: NavigationTarget;
|
|
400
|
-
}
|
|
401
|
-
//#endregion
|
|
402
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/slots.d.ts
|
|
403
|
-
type UiSlotKind = "menu" | "panel" | "settings" | "renderer" | "kanbanRenderer" | "dataTableRenderer";
|
|
404
|
-
interface SlotOptions<TKind extends UiSlotKind = UiSlotKind> {
|
|
405
|
-
kind: TKind;
|
|
406
|
-
label?: string;
|
|
407
|
-
description?: string;
|
|
408
|
-
metadata?: JsonObject;
|
|
409
|
-
}
|
|
410
|
-
interface SlotRef<TContext extends Struct = Struct, TKind extends UiSlotKind = UiSlotKind> {
|
|
411
|
-
id: string;
|
|
412
|
-
kind: TKind;
|
|
413
|
-
label?: string;
|
|
414
|
-
description?: string;
|
|
415
|
-
metadata?: JsonObject;
|
|
416
|
-
/** Phantom field used to constrain compatible contributions; never populated at runtime. */
|
|
417
|
-
context?: TContext;
|
|
418
|
-
}
|
|
419
|
-
interface SlotInvocationContext<TContext extends Struct = Struct> {
|
|
420
|
-
id: string;
|
|
421
|
-
kind: UiSlotKind;
|
|
422
|
-
context: TContext;
|
|
423
|
-
}
|
|
424
|
-
//#endregion
|
|
425
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/webview-capabilities.d.ts
|
|
426
|
-
declare const WEBVIEW_HOST_CAPABILITY_VERSION = 1;
|
|
427
|
-
declare const WEBVIEW_DECLARABLE_CAPABILITIES: readonly ["clipboard.write", "commands.execute", "navigation.open", "placement.close", "notification.show", "notification.action", "notification.resolve", "notification.dismiss", "preferences.get", "preferences.set", "extension.settings.all", "extension.settings.get", "extension.settings.set", "extension.settings.delete", "terminal.session", "files.upload", "files.list", "files.delete"];
|
|
428
|
-
declare const WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES: readonly ["artifacts.read"];
|
|
429
|
-
declare const ALWAYS_AVAILABLE_WEBVIEW_CAPABILITIES: readonly ["host.dispatchKeyboardEvent"];
|
|
430
|
-
declare const WEBVIEW_HOST_CAPABILITIES: readonly [...("commands.execute" | "navigation.open" | "placement.close" | "notification.show" | "notification.action" | "notification.resolve" | "notification.dismiss" | "preferences.get" | "preferences.set" | "extension.settings.all" | "extension.settings.get" | "extension.settings.set" | "extension.settings.delete" | "terminal.session" | "files.upload" | "files.list" | "files.delete")[], "artifacts.read", "host.dispatchKeyboardEvent"];
|
|
431
|
-
type WebviewHostCapability = (typeof WEBVIEW_HOST_CAPABILITIES)[number];
|
|
432
|
-
type WebviewDeclarableCapability = (typeof WEBVIEW_DECLARABLE_CAPABILITIES)[number];
|
|
433
|
-
type WebviewScopedDeclarableCapability = (typeof WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES)[number];
|
|
434
|
-
type WebviewCapabilityDeclaration = WebviewDeclarableCapability | `${WebviewDeclarableCapability}@${typeof WEBVIEW_HOST_CAPABILITY_VERSION}` | `${WebviewScopedDeclarableCapability}:${string}`;
|
|
435
|
-
interface WebviewCommandsExecuteParams {
|
|
436
|
-
commandId: string;
|
|
437
|
-
params?: JsonObject;
|
|
438
|
-
workspaceId?: string;
|
|
439
|
-
resource?: ResourceRef;
|
|
440
|
-
metadata?: JsonObject;
|
|
441
|
-
}
|
|
442
|
-
interface WebviewNavigationOpenParams {
|
|
443
|
-
target: NavigationTarget;
|
|
444
|
-
}
|
|
445
|
-
interface WebviewNotificationShowParams {
|
|
446
|
-
level: "info" | "success" | "warning" | "error";
|
|
447
|
-
title: string;
|
|
448
|
-
message?: string;
|
|
449
|
-
}
|
|
450
|
-
type WebviewNotificationActionParams = Omit<CreateNotificationInput, "projectId">;
|
|
451
|
-
interface WebviewNotificationResolveParams {
|
|
452
|
-
id?: string;
|
|
453
|
-
dedupeKey?: string;
|
|
454
|
-
status?: Extract<NotificationStatus, "done" | "dismissed" | "expired">;
|
|
455
|
-
}
|
|
456
|
-
type WebviewNotificationDismissParams = Pick<WebviewNotificationResolveParams, "id" | "dedupeKey">;
|
|
457
|
-
interface WebviewPreferencesGetParams {
|
|
458
|
-
name: string;
|
|
459
|
-
scope?: {
|
|
460
|
-
scope: "default" | "user" | "project" | "workspace" | "extension" | "session";
|
|
461
|
-
scopeId?: string;
|
|
462
|
-
};
|
|
463
|
-
}
|
|
464
|
-
interface WebviewPreferencesSetParams extends WebviewPreferencesGetParams {
|
|
465
|
-
value: boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
466
|
-
}
|
|
467
|
-
interface WebviewExtensionSettingKeyParams {
|
|
468
|
-
key: string;
|
|
469
|
-
}
|
|
470
|
-
interface WebviewExtensionSettingSetParams extends WebviewExtensionSettingKeyParams {
|
|
471
|
-
value: unknown;
|
|
472
|
-
}
|
|
473
|
-
type WebviewFileScope = {
|
|
474
|
-
type: "project";
|
|
475
|
-
} | {
|
|
476
|
-
type: "resource";
|
|
477
|
-
id: string;
|
|
478
|
-
} | {
|
|
479
|
-
type: string;
|
|
480
|
-
id?: string;
|
|
481
|
-
};
|
|
482
|
-
interface WebviewFilesUploadParams {
|
|
483
|
-
name: string;
|
|
484
|
-
data: Uint8Array | ArrayBuffer;
|
|
485
|
-
mimeType?: string;
|
|
486
|
-
scope?: WebviewFileScope;
|
|
487
|
-
}
|
|
488
|
-
interface WebviewFilesListParams {
|
|
489
|
-
scope?: WebviewFileScope;
|
|
490
|
-
}
|
|
491
|
-
interface WebviewFilesDeleteParams {
|
|
492
|
-
id: string;
|
|
493
|
-
}
|
|
494
|
-
type WebviewArtifactsReadParams = {
|
|
495
|
-
op: "list";
|
|
496
|
-
mount: string;
|
|
497
|
-
prefix?: string;
|
|
498
|
-
} | {
|
|
499
|
-
op: "readText";
|
|
500
|
-
mount: string;
|
|
501
|
-
path: string;
|
|
502
|
-
} | {
|
|
503
|
-
op: "imageUrl";
|
|
504
|
-
mount: string;
|
|
505
|
-
path: string;
|
|
506
|
-
};
|
|
507
|
-
interface WebviewArtifactFile {
|
|
508
|
-
path: string;
|
|
509
|
-
size: number;
|
|
510
|
-
mediaType: string;
|
|
511
|
-
}
|
|
512
|
-
interface WebviewKeyboardEventParams {
|
|
513
|
-
key?: string;
|
|
514
|
-
code?: string;
|
|
515
|
-
ctrlKey?: boolean;
|
|
516
|
-
metaKey?: boolean;
|
|
517
|
-
altKey?: boolean;
|
|
518
|
-
shiftKey?: boolean;
|
|
519
|
-
repeat?: boolean;
|
|
520
|
-
}
|
|
521
|
-
interface WebviewHostCapabilityParams {
|
|
522
|
-
"commands.execute": WebviewCommandsExecuteParams;
|
|
523
|
-
"navigation.open": WebviewNavigationOpenParams;
|
|
524
|
-
"placement.close": Record<string, never>;
|
|
525
|
-
"notification.show": WebviewNotificationShowParams;
|
|
526
|
-
"notification.action": WebviewNotificationActionParams;
|
|
527
|
-
"notification.resolve": WebviewNotificationResolveParams;
|
|
528
|
-
"notification.dismiss": WebviewNotificationDismissParams;
|
|
529
|
-
"preferences.get": WebviewPreferencesGetParams;
|
|
530
|
-
"preferences.set": WebviewPreferencesSetParams;
|
|
531
|
-
"extension.settings.all": Record<string, never>;
|
|
532
|
-
"extension.settings.get": WebviewExtensionSettingKeyParams;
|
|
533
|
-
"extension.settings.set": WebviewExtensionSettingSetParams;
|
|
534
|
-
"extension.settings.delete": WebviewExtensionSettingKeyParams;
|
|
535
|
-
"terminal.session": TerminalSessionOperation$1;
|
|
536
|
-
"files.upload": WebviewFilesUploadParams;
|
|
537
|
-
"files.list": WebviewFilesListParams;
|
|
538
|
-
"files.delete": WebviewFilesDeleteParams;
|
|
539
|
-
"artifacts.read": WebviewArtifactsReadParams;
|
|
540
|
-
"host.dispatchKeyboardEvent": WebviewKeyboardEventParams;
|
|
541
|
-
}
|
|
542
|
-
interface WebviewHostCapabilityResults {
|
|
543
|
-
"commands.execute": {
|
|
544
|
-
outcome: CommandOutcome;
|
|
545
|
-
};
|
|
546
|
-
"navigation.open": void;
|
|
547
|
-
"placement.close": void;
|
|
548
|
-
"notification.show": void;
|
|
549
|
-
"notification.action": Notification;
|
|
550
|
-
"notification.resolve": Notification | {
|
|
551
|
-
resolved: number;
|
|
552
|
-
notifications: Notification[];
|
|
553
|
-
};
|
|
554
|
-
"notification.dismiss": Notification | {
|
|
555
|
-
resolved: number;
|
|
556
|
-
notifications: Notification[];
|
|
557
|
-
};
|
|
558
|
-
"preferences.get": WebviewPreferencesSetParams["value"] | undefined;
|
|
559
|
-
"preferences.set": {
|
|
560
|
-
name: string;
|
|
561
|
-
value: WebviewPreferencesSetParams["value"];
|
|
562
|
-
};
|
|
563
|
-
"extension.settings.all": Record<string, unknown>;
|
|
564
|
-
"extension.settings.get": unknown;
|
|
565
|
-
"extension.settings.set": void;
|
|
566
|
-
"extension.settings.delete": void;
|
|
567
|
-
"terminal.session": TerminalSessionResult$1;
|
|
568
|
-
"files.upload": ExtensionBlobRef;
|
|
569
|
-
"files.list": {
|
|
570
|
-
files: ExtensionBlobRef[];
|
|
571
|
-
};
|
|
572
|
-
"files.delete": void;
|
|
573
|
-
"artifacts.read": WebviewArtifactFile[] | string;
|
|
574
|
-
"host.dispatchKeyboardEvent": void;
|
|
575
|
-
}
|
|
576
|
-
type WebviewHostCapabilityResult<Capability extends WebviewHostCapability, Params extends WebviewHostCapabilityParams[Capability] = WebviewHostCapabilityParams[Capability]> = Capability extends "artifacts.read" ? Params extends {
|
|
577
|
-
op: "list";
|
|
578
|
-
} ? WebviewArtifactFile[] : Params extends {
|
|
579
|
-
op: "readText" | "imageUrl";
|
|
580
|
-
} ? string : WebviewHostCapabilityResults[Capability] : Capability extends "terminal.session" ? Params extends {
|
|
581
|
-
operation: "open";
|
|
582
|
-
} ? Extract<TerminalSessionResult$1, {
|
|
583
|
-
operation: "open";
|
|
584
|
-
}> : Params extends {
|
|
585
|
-
operation: "write" | "resize" | "kill" | "subscribe";
|
|
586
|
-
} ? Exclude<TerminalSessionResult$1, {
|
|
587
|
-
operation: "open";
|
|
588
|
-
}> : TerminalSessionResult$1 : WebviewHostCapabilityResults[Capability];
|
|
589
|
-
//#endregion
|
|
590
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/params.d.ts
|
|
591
|
-
type ParamType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files" | "harness" | "template" | "resource" | "workspace" | "json" | "list";
|
|
592
|
-
type ParamRequired<TRequired extends boolean | undefined> = TRequired extends true ? {
|
|
593
|
-
required: true;
|
|
594
|
-
} : TRequired extends false ? {
|
|
595
|
-
required: false;
|
|
596
|
-
} : {
|
|
597
|
-
required?: boolean;
|
|
598
|
-
};
|
|
599
|
-
type ParamBase<TValue, TRequired extends boolean | undefined = boolean | undefined> = {
|
|
600
|
-
label?: Localizable<string>;
|
|
601
|
-
description?: Localizable<string>;
|
|
602
|
-
defaultValue?: TValue;
|
|
603
|
-
metadata?: JsonObject;
|
|
604
|
-
resolvedFrom?: "resource";
|
|
605
|
-
} & ParamRequired<TRequired>;
|
|
606
|
-
type TextParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
607
|
-
type: "text";
|
|
608
|
-
};
|
|
609
|
-
type LongTextParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
610
|
-
type: "longtext";
|
|
611
|
-
};
|
|
612
|
-
type MarkdownParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
613
|
-
type: "markdown";
|
|
614
|
-
placeholder?: Localizable<string>;
|
|
615
|
-
};
|
|
616
|
-
type NumberParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<number, TRequired> & {
|
|
617
|
-
type: "number";
|
|
618
|
-
};
|
|
619
|
-
type FilesParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string[], TRequired> & {
|
|
620
|
-
type: "files";
|
|
621
|
-
multiple?: boolean;
|
|
622
|
-
/** Passed through to the picker, e.g. "image/*". */
|
|
623
|
-
accept?: string;
|
|
624
|
-
};
|
|
625
|
-
type BooleanParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<boolean, TRequired> & {
|
|
626
|
-
type: "boolean";
|
|
627
|
-
};
|
|
628
|
-
type ParamOption = {
|
|
629
|
-
label: string;
|
|
630
|
-
value: string;
|
|
631
|
-
icon?: string;
|
|
632
|
-
};
|
|
633
|
-
type SelectParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
634
|
-
type: "select";
|
|
635
|
-
options: ParamOption[];
|
|
636
|
-
};
|
|
637
|
-
type MultiSelectParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string[], TRequired> & {
|
|
638
|
-
type: "multi-select";
|
|
639
|
-
options: ParamOption[];
|
|
640
|
-
};
|
|
641
|
-
type HarnessParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<{
|
|
642
|
-
harnessId: string;
|
|
643
|
-
model?: string;
|
|
644
|
-
params?: Record<string, string | boolean>;
|
|
645
|
-
}, TRequired> & {
|
|
646
|
-
type: "harness";
|
|
647
|
-
};
|
|
648
|
-
type TemplateParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
649
|
-
type: "template";
|
|
650
|
-
templateType: string;
|
|
651
|
-
};
|
|
652
|
-
type ResourceParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<ResourceRef, TRequired> & {
|
|
653
|
-
type: "resource";
|
|
654
|
-
resourceType: string;
|
|
655
|
-
};
|
|
656
|
-
type WorkspaceParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<{
|
|
657
|
-
providerId: string;
|
|
658
|
-
params?: JsonObject;
|
|
659
|
-
}, TRequired> & {
|
|
660
|
-
type: "workspace";
|
|
661
|
-
/** Provider ids the user may choose from. Omit to offer every provider. */
|
|
662
|
-
providers?: string[];
|
|
663
|
-
};
|
|
664
|
-
type JsonParam<T = unknown, TRequired extends boolean | undefined = boolean | undefined> = ParamBase<T, TRequired> & {
|
|
665
|
-
type: "json";
|
|
666
|
-
};
|
|
667
|
-
type ListParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string[], TRequired> & {
|
|
668
|
-
type: "list";
|
|
669
|
-
};
|
|
670
|
-
type ParamDescriptor<TValue = unknown, TRequired extends boolean | undefined = boolean | undefined> = TextParam<TRequired> | LongTextParam<TRequired> | MarkdownParam<TRequired> | NumberParam<TRequired> | BooleanParam<TRequired> | SelectParam<TRequired> | MultiSelectParam<TRequired> | FilesParam<TRequired> | HarnessParam<TRequired> | TemplateParam<TRequired> | ResourceParam<TRequired> | WorkspaceParam<TRequired> | JsonParam<TValue, TRequired> | ListParam<TRequired>;
|
|
671
|
-
type ParamObjectSchema = Record<string, ParamDescriptor>;
|
|
672
|
-
type ParamValue<TDescriptor extends ParamDescriptor> = TDescriptor extends ParamDescriptor<infer V> ? V : never;
|
|
673
|
-
type RequiredParamKeys<TSchema extends ParamObjectSchema> = { [K in keyof TSchema]: TSchema[K] extends {
|
|
674
|
-
required: true;
|
|
675
|
-
} ? K : never; }[keyof TSchema];
|
|
676
|
-
type OptionalParamKeys<TSchema extends ParamObjectSchema> = Exclude<keyof TSchema, RequiredParamKeys<TSchema>>;
|
|
677
|
-
type ParamsOf<TSchema extends ParamObjectSchema> = { [K in RequiredParamKeys<TSchema>]: ParamValue<TSchema[K]>; } & { [K in OptionalParamKeys<TSchema>]?: ParamValue<TSchema[K]>; };
|
|
678
|
-
//#endregion
|
|
679
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/kanban-renderer.d.ts
|
|
680
|
-
type KanbanRendererViewMode = "board" | "list";
|
|
681
|
-
type KanbanRendererSortDirection = "asc" | "desc";
|
|
682
|
-
interface KanbanRendererEnumOption {
|
|
683
|
-
value: string;
|
|
684
|
-
label: Localizable<string>;
|
|
685
|
-
color?: string;
|
|
686
|
-
icon?: string | null;
|
|
687
|
-
}
|
|
688
|
-
type KanbanRendererAttributeType = {
|
|
689
|
-
kind: "enum";
|
|
690
|
-
options: KanbanRendererEnumOption[];
|
|
691
|
-
} | {
|
|
692
|
-
kind: "enum-multi";
|
|
693
|
-
options: KanbanRendererEnumOption[];
|
|
694
|
-
} | {
|
|
695
|
-
kind: "status";
|
|
696
|
-
statuses: StatusRef;
|
|
697
|
-
} | {
|
|
698
|
-
kind: "string";
|
|
699
|
-
} | {
|
|
700
|
-
kind: "date";
|
|
701
|
-
} | {
|
|
702
|
-
kind: "number";
|
|
703
|
-
} | {
|
|
704
|
-
kind: "user";
|
|
705
|
-
};
|
|
706
|
-
interface CollectionBadgeItem {
|
|
707
|
-
id: string;
|
|
708
|
-
label: string;
|
|
709
|
-
icon?: string;
|
|
710
|
-
resource?: ResourceRef;
|
|
711
|
-
}
|
|
712
|
-
type KanbanRendererAttributeDisplay = {
|
|
713
|
-
kind: "badge-list";
|
|
714
|
-
itemsAttributeId: string;
|
|
715
|
-
};
|
|
716
|
-
interface KanbanRendererAttributeDescriptor {
|
|
717
|
-
id: string;
|
|
718
|
-
label: Localizable<string>;
|
|
719
|
-
type: KanbanRendererAttributeType;
|
|
720
|
-
filterable?: boolean;
|
|
721
|
-
groupable?: boolean;
|
|
722
|
-
sortable?: boolean;
|
|
723
|
-
displayable?: boolean;
|
|
724
|
-
editable?: boolean;
|
|
725
|
-
display?: KanbanRendererAttributeDisplay;
|
|
726
|
-
}
|
|
727
|
-
interface KanbanRendererSettings {
|
|
728
|
-
viewMode: KanbanRendererViewMode;
|
|
729
|
-
columnGrouping: string;
|
|
730
|
-
rowGrouping: string;
|
|
731
|
-
ordering: {
|
|
732
|
-
attributeId: string;
|
|
733
|
-
direction: KanbanRendererSortDirection;
|
|
734
|
-
};
|
|
735
|
-
displayProperties: string[];
|
|
736
|
-
}
|
|
737
|
-
type KanbanRendererFilterState = Record<string, string[]>;
|
|
738
|
-
interface KanbanRendererSavedView {
|
|
739
|
-
id: string;
|
|
740
|
-
title: Localizable<string>;
|
|
741
|
-
settings: KanbanRendererSettings;
|
|
742
|
-
filters: KanbanRendererFilterState;
|
|
743
|
-
isDefault?: boolean;
|
|
744
|
-
}
|
|
745
|
-
interface KanbanRendererQueryParams {
|
|
746
|
-
renderer: RendererContext;
|
|
747
|
-
settings: KanbanRendererSettings;
|
|
748
|
-
filters: KanbanRendererFilterState;
|
|
749
|
-
}
|
|
750
|
-
type KanbanRendererResourceRef = ResourceRef;
|
|
751
|
-
interface KanbanRendererRow {
|
|
752
|
-
id: string;
|
|
753
|
-
title: string;
|
|
754
|
-
resource?: KanbanRendererResourceRef;
|
|
755
|
-
attributes: Record<string, unknown>;
|
|
756
|
-
}
|
|
757
|
-
interface KanbanRendererColumnAction {
|
|
758
|
-
id: string;
|
|
759
|
-
label: Localizable<string>;
|
|
760
|
-
icon?: string;
|
|
761
|
-
}
|
|
762
|
-
interface KanbanRendererBoardColumnConfig {
|
|
763
|
-
color?: string;
|
|
764
|
-
canDragIn?: boolean;
|
|
765
|
-
canDragOut?: boolean;
|
|
766
|
-
canCreate?: boolean;
|
|
767
|
-
actions?: KanbanRendererColumnAction[];
|
|
768
|
-
}
|
|
769
|
-
interface KanbanRendererQueryResult {
|
|
770
|
-
rows: KanbanRendererRow[];
|
|
771
|
-
attributes?: KanbanRendererAttributeDescriptor[];
|
|
772
|
-
boardColumnConfigs?: Record<string, KanbanRendererBoardColumnConfig>;
|
|
773
|
-
}
|
|
774
|
-
interface KanbanRendererCreateRowContribution<TParams extends ParamObjectSchema = ParamObjectSchema> {
|
|
775
|
-
command: CommandRef<Struct, unknown>;
|
|
776
|
-
title?: Localizable<string>;
|
|
777
|
-
submitLabel?: Localizable<string>;
|
|
778
|
-
columnParam?: string;
|
|
779
|
-
params?: TParams;
|
|
780
|
-
attributesParam?: string;
|
|
781
|
-
attachments?: {
|
|
782
|
-
command: CommandRef<Struct, unknown>;
|
|
783
|
-
resourceParam: string;
|
|
784
|
-
fileParam: string;
|
|
785
|
-
};
|
|
786
|
-
labels?: {
|
|
787
|
-
cancel?: Localizable<string>;
|
|
788
|
-
properties?: Localizable<string>;
|
|
789
|
-
submitError?: Localizable<string>;
|
|
790
|
-
removeFile?: Localizable<string>;
|
|
791
|
-
};
|
|
792
|
-
}
|
|
793
|
-
interface KanbanRendererRowAction<TParams extends Struct = Struct> {
|
|
794
|
-
id: string;
|
|
795
|
-
label: Localizable<string>;
|
|
796
|
-
icon?: string;
|
|
797
|
-
command: CommandRef<TParams, unknown>;
|
|
798
|
-
destructive?: boolean;
|
|
799
|
-
}
|
|
800
|
-
type KanbanRendererRowActivationHandler = RendererCallback<{
|
|
801
|
-
row: KanbanRendererRow;
|
|
802
|
-
}, void>;
|
|
803
|
-
interface KanbanRendererContribution extends RendererContributionBase {
|
|
804
|
-
attributes?: KanbanRendererAttributeDescriptor[];
|
|
805
|
-
query: RendererCallback<KanbanRendererQueryParams, KanbanRendererQueryResult>;
|
|
806
|
-
onAttributeChange?: RendererCallback<{
|
|
807
|
-
rowId: string;
|
|
808
|
-
attributeId: string;
|
|
809
|
-
value: unknown;
|
|
810
|
-
}, unknown>;
|
|
811
|
-
onReorder?: RendererCallback<{
|
|
812
|
-
rowId: string;
|
|
813
|
-
beforeRowId?: string;
|
|
814
|
-
}, unknown>;
|
|
815
|
-
onColumnAction?: RendererCallback<{
|
|
816
|
-
columnId: string;
|
|
817
|
-
actionId: string;
|
|
818
|
-
}, unknown>;
|
|
819
|
-
createRow?: KanbanRendererCreateRowContribution;
|
|
820
|
-
rowActions?: KanbanRendererRowAction[];
|
|
821
|
-
onRowActivate?: KanbanRendererRowActivationHandler;
|
|
822
|
-
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
823
|
-
defaultFilters?: KanbanRendererFilterState;
|
|
824
|
-
defaultViews?: KanbanRendererSavedView[];
|
|
825
|
-
defaultActiveViewId?: string;
|
|
826
|
-
hideToolbar?: boolean;
|
|
827
|
-
}
|
|
828
|
-
//#endregion
|
|
829
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/contributions.d.ts
|
|
830
|
-
interface CliContribution {
|
|
831
|
-
path?: string[];
|
|
832
|
-
globalAliases?: string[][];
|
|
833
|
-
description?: Localizable<string>;
|
|
834
|
-
examples?: string[];
|
|
835
|
-
hidden?: boolean;
|
|
836
|
-
}
|
|
837
|
-
interface WhenExpression {
|
|
838
|
-
mode?: ModeRef | readonly ModeRef[];
|
|
839
|
-
source?: CommandSource[];
|
|
840
|
-
view?: ViewRef | readonly ViewRef[];
|
|
841
|
-
resourceType?: readonly ResourceKindRef[];
|
|
842
|
-
metadata?: JsonObject;
|
|
843
|
-
}
|
|
844
|
-
interface MenuContribution<TSlotContext extends Struct = Struct, TParams extends Struct = Struct> {
|
|
845
|
-
slot: SlotRef<TSlotContext, "menu">;
|
|
846
|
-
label?: Localizable<string>;
|
|
847
|
-
group?: string;
|
|
848
|
-
placement?: "first" | "default" | "last";
|
|
849
|
-
icon?: string;
|
|
850
|
-
when?: WhenExpression;
|
|
851
|
-
params?: Partial<TParams>;
|
|
852
|
-
presentation?: "menu-item" | "button" | "icon-button";
|
|
853
|
-
}
|
|
854
|
-
interface CommandPaletteContribution<TParams extends Struct = Struct> {
|
|
855
|
-
label?: Localizable<string>;
|
|
856
|
-
group?: string;
|
|
857
|
-
placement?: "first" | "default" | "last";
|
|
858
|
-
icon?: string;
|
|
859
|
-
when?: WhenExpression;
|
|
860
|
-
params?: Partial<TParams>;
|
|
861
|
-
}
|
|
862
|
-
interface ActivityItemContribution<TParams extends Struct = Struct> extends ContributionDefinition<"activity-item"> {
|
|
863
|
-
title: Localizable<string>;
|
|
864
|
-
icon: string;
|
|
865
|
-
/** Mode ids whose activity rail shows this item. */
|
|
866
|
-
modes: readonly ModeRef[];
|
|
867
|
-
placement?: "first" | "default" | "last";
|
|
868
|
-
command: CommandRef<TParams, unknown>;
|
|
869
|
-
params?: Partial<TParams>;
|
|
870
|
-
}
|
|
871
|
-
interface ModeRegionSettings {
|
|
872
|
-
/** Hide the panel header when the mode supplies its own controls. */
|
|
873
|
-
readonly showHeader?: boolean;
|
|
874
|
-
readonly size?: RegionSize;
|
|
875
|
-
/** Allow dragging this region closed. Explicit hide/show is always available. */
|
|
876
|
-
readonly collapsible?: boolean;
|
|
877
|
-
/** Keep a tab visible when this region has only one visible item. */
|
|
878
|
-
readonly alwaysShowTabs?: boolean;
|
|
879
|
-
}
|
|
880
|
-
interface ModeContribution extends ContributionDefinition<"mode"> {
|
|
881
|
-
label: Localizable<string>;
|
|
882
|
-
icon?: string;
|
|
883
|
-
regions: readonly ExtensionPanelRegion[];
|
|
884
|
-
/** Default theme for this mode. An explicit user choice for the mode takes precedence. */
|
|
885
|
-
defaultTheme?: ThemeRef;
|
|
886
|
-
/** Whether side panels may float while this mode is active. Defaults to visible. */
|
|
887
|
-
floatingPanels?: "visible" | "hidden";
|
|
888
|
-
/** Replace host chrome with a view, or hide it with false, while the mode is active. */
|
|
889
|
-
chrome?: Partial<Record<"nav" | "sidenav" | "activity" | "status", ViewRef | false>>;
|
|
890
|
-
/** Region-level layout policy. The mode owns it; placements cannot set it. */
|
|
891
|
-
regionSettings?: Readonly<Partial<Record<DockedWorkbenchRegion, ModeRegionSettings>>>;
|
|
892
|
-
}
|
|
893
|
-
interface WebviewContribution {
|
|
894
|
-
entry: PackageAssetDescriptor;
|
|
895
|
-
title?: Localizable<string>;
|
|
896
|
-
capabilities?: WebviewCapabilityDeclaration[];
|
|
897
|
-
}
|
|
898
|
-
interface SettingsPanelContribution extends ContributionDefinition<"settings-panel"> {
|
|
899
|
-
view: ViewRef;
|
|
900
|
-
slot: SettingsSlotRef;
|
|
901
|
-
section?: SettingsSectionRef;
|
|
902
|
-
}
|
|
903
|
-
/** A named group in the settings navigation that an extension's panels can sit under. */
|
|
904
|
-
interface SettingsSectionContribution extends ContributionDefinition<"settings-section"> {
|
|
905
|
-
title: Localizable<string>;
|
|
906
|
-
/** Lower sorts first among sibling sections. */
|
|
907
|
-
order?: number;
|
|
908
|
-
}
|
|
909
|
-
/**
|
|
910
|
-
* Command palette resource providers contribute dynamic, searchable palette results
|
|
911
|
-
* (e.g. slides in a presentation) backed by a private query callback. The host queries
|
|
912
|
-
* matching providers as the user types and refreshes results when a declared event fires.
|
|
913
|
-
*/
|
|
914
|
-
interface CommandPaletteResourceQueryParams {
|
|
915
|
-
projectId?: string;
|
|
916
|
-
modeId?: string;
|
|
917
|
-
activeResource?: ResourceRef;
|
|
918
|
-
providerId: string;
|
|
919
|
-
query: string;
|
|
920
|
-
limit: number;
|
|
921
|
-
}
|
|
922
|
-
type CommandPaletteResourceTarget = NavigationTarget;
|
|
923
|
-
interface CommandPaletteResourceItem {
|
|
924
|
-
id: string;
|
|
925
|
-
label: string;
|
|
926
|
-
description?: string;
|
|
927
|
-
icon?: string;
|
|
928
|
-
keywords?: string[];
|
|
929
|
-
target: CommandPaletteResourceTarget;
|
|
930
|
-
}
|
|
931
|
-
interface CommandPaletteResourceQueryResult {
|
|
932
|
-
items: CommandPaletteResourceItem[];
|
|
933
|
-
}
|
|
934
|
-
interface CommandPaletteResourceContribution extends ContributionDefinition<"command-palette-resource"> {
|
|
935
|
-
title: Localizable<string>;
|
|
936
|
-
resourceKind?: ResourceKindRef;
|
|
937
|
-
query: RendererCallback<CommandPaletteResourceQueryParams, CommandPaletteResourceQueryResult>;
|
|
938
|
-
refreshEvents?: readonly RendererEventReference[];
|
|
939
|
-
}
|
|
940
|
-
type ExtensionSettingScope = "global" | "project";
|
|
941
|
-
type ExtensionSettingValueType = "boolean" | "number" | "string" | "array" | "object";
|
|
942
|
-
type ExtensionSettingValueForType<TType extends ExtensionSettingValueType> = TType extends "boolean" ? boolean : TType extends "number" ? number : TType extends "string" ? string : TType extends "array" ? JsonValue[] : JsonObject;
|
|
943
|
-
type ExtensionSettingProperty<TType extends ExtensionSettingValueType = ExtensionSettingValueType> = { [TSettingType in TType]: {
|
|
944
|
-
type: TSettingType;
|
|
945
|
-
scope: ExtensionSettingScope;
|
|
946
|
-
default?: ExtensionSettingValueForType<TSettingType>;
|
|
947
|
-
enum?: ExtensionSettingValueForType<TSettingType>[];
|
|
948
|
-
title?: Localizable<string>;
|
|
949
|
-
description?: Localizable<string>;
|
|
950
|
-
}; }[TType];
|
|
951
|
-
interface ExtensionSettingsContribution<TProperties extends Record<string, ExtensionSettingProperty> = Record<string, ExtensionSettingProperty>> {
|
|
952
|
-
properties: TProperties;
|
|
953
|
-
}
|
|
954
|
-
interface ArtifactMountContribution extends ContributionDefinition<"artifact-mount"> {
|
|
955
|
-
/** Relative path under .pstdio/<extension.name>/. */
|
|
956
|
-
path: string;
|
|
957
|
-
label: Localizable<string>;
|
|
958
|
-
}
|
|
959
|
-
interface TemplateTypeContribution extends ContributionDefinition<"template-type"> {
|
|
960
|
-
label: Localizable<string>;
|
|
961
|
-
description?: Localizable<string>;
|
|
962
|
-
order?: number;
|
|
963
|
-
commands?: {
|
|
964
|
-
list: CommandRef;
|
|
965
|
-
read: CommandRef;
|
|
966
|
-
save: CommandRef;
|
|
967
|
-
delete: CommandRef;
|
|
968
|
-
};
|
|
969
|
-
}
|
|
970
|
-
interface TemplateContribution extends ContributionDefinition<"template"> {
|
|
971
|
-
title: Localizable<string>;
|
|
972
|
-
type: string;
|
|
973
|
-
source: PackageAssetDescriptor;
|
|
974
|
-
description?: Localizable<string>;
|
|
975
|
-
}
|
|
976
|
-
interface SkillContribution extends ContributionDefinition<"skill"> {
|
|
977
|
-
title: Localizable<string>;
|
|
978
|
-
source: PackageAssetDescriptor;
|
|
979
|
-
description?: Localizable<string>;
|
|
980
|
-
}
|
|
981
|
-
type ThemeMode = "light" | "dark";
|
|
982
|
-
interface ThemeContribution extends ContributionDefinition<"theme"> {
|
|
983
|
-
title: Localizable<string>;
|
|
984
|
-
source: PackageAssetDescriptor;
|
|
985
|
-
format: "vscode-color-theme";
|
|
986
|
-
mode?: ThemeMode;
|
|
987
|
-
description?: Localizable<string>;
|
|
988
|
-
}
|
|
989
|
-
interface FileIconThemeContribution extends ContributionDefinition<"file-icon-theme"> {
|
|
990
|
-
title: Localizable<string>;
|
|
991
|
-
source: PackageAssetDescriptor;
|
|
992
|
-
format: "vscode-file-icon-theme";
|
|
993
|
-
description?: Localizable<string>;
|
|
994
|
-
}
|
|
995
|
-
/**
|
|
996
|
-
* Chord string in TanStack Hotkeys syntax (e.g. "mod+shift+p"). `mod` is
|
|
997
|
-
* Cmd on macOS and Ctrl elsewhere. Parsing, validation, canonicalization,
|
|
998
|
-
* and display labels are all delegated to `@tanstack/hotkeys`.
|
|
999
|
-
*/
|
|
1000
|
-
type KeybindingChord = string;
|
|
1001
|
-
interface KeybindingContribution extends ContributionDefinition<"keybinding"> {
|
|
1002
|
-
/** Default chord. Used on every platform unless an override is provided. */
|
|
1003
|
-
key: KeybindingChord;
|
|
1004
|
-
/** macOS override. */
|
|
1005
|
-
mac?: KeybindingChord;
|
|
1006
|
-
/** Linux override. */
|
|
1007
|
-
linux?: KeybindingChord;
|
|
1008
|
-
/** Windows override. */
|
|
1009
|
-
win?: KeybindingChord;
|
|
1010
|
-
/** Action this chord executes through the shared navigation executor. */
|
|
1011
|
-
action: NavigationTarget;
|
|
1012
|
-
/** Optional gating predicate. The host evaluates it at dispatch time. */
|
|
1013
|
-
when?: WhenExpression;
|
|
1014
|
-
}
|
|
1015
|
-
//#endregion
|
|
1016
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/control-declarations.d.ts
|
|
1017
|
-
interface BaseControl {
|
|
1018
|
-
id: string;
|
|
1019
|
-
name: string;
|
|
1020
|
-
description?: string;
|
|
1021
|
-
/** Locks this one param while the rest of the editor stays editable. */
|
|
1022
|
-
readOnly?: boolean;
|
|
1023
|
-
}
|
|
1024
|
-
interface NumberControl extends BaseControl {
|
|
1025
|
-
type: "number";
|
|
1026
|
-
defaultValue: number;
|
|
1027
|
-
min?: number;
|
|
1028
|
-
max?: number;
|
|
1029
|
-
step?: number;
|
|
1030
|
-
}
|
|
1031
|
-
interface BooleanControl extends BaseControl {
|
|
1032
|
-
type: "boolean";
|
|
1033
|
-
defaultValue: boolean;
|
|
1034
|
-
}
|
|
1035
|
-
interface TextControl extends BaseControl {
|
|
1036
|
-
type: "text";
|
|
1037
|
-
defaultValue: string;
|
|
1038
|
-
singleLine?: boolean;
|
|
1039
|
-
}
|
|
1040
|
-
interface MarkdownControl extends BaseControl {
|
|
1041
|
-
type: "markdown";
|
|
1042
|
-
defaultValue: string;
|
|
1043
|
-
placeholder?: string;
|
|
1044
|
-
}
|
|
1045
|
-
interface SelectionOption {
|
|
1046
|
-
id: string;
|
|
1047
|
-
name: string;
|
|
1048
|
-
icon?: string;
|
|
1049
|
-
/** Palette key (e.g. "blue") applied to the option's icon. */
|
|
1050
|
-
color?: string;
|
|
1051
|
-
description?: string;
|
|
1052
|
-
disabled?: boolean;
|
|
1053
|
-
}
|
|
1054
|
-
/** Parent selector used to swap the option set of a grouped selection. */
|
|
1055
|
-
interface SelectionGroup {
|
|
1056
|
-
id: string;
|
|
1057
|
-
name: string;
|
|
1058
|
-
defaultValue: string;
|
|
1059
|
-
options: SelectionOption[];
|
|
1060
|
-
placeholder?: string;
|
|
1061
|
-
searchable?: boolean;
|
|
1062
|
-
searchPlaceholder?: string;
|
|
1063
|
-
emptyText?: string;
|
|
1064
|
-
disabled?: boolean;
|
|
1065
|
-
}
|
|
1066
|
-
interface SelectionControl extends BaseControl {
|
|
1067
|
-
type: "selection";
|
|
1068
|
-
defaultValue: string | string[];
|
|
1069
|
-
options: SelectionOption[];
|
|
1070
|
-
multiSelect?: boolean;
|
|
1071
|
-
placeholder?: string;
|
|
1072
|
-
searchable?: boolean;
|
|
1073
|
-
searchPlaceholder?: string;
|
|
1074
|
-
emptyText?: string;
|
|
1075
|
-
group?: SelectionGroup;
|
|
1076
|
-
/** Adds a "clear" row so a single-select can be returned to unset. */
|
|
1077
|
-
clearable?: boolean;
|
|
1078
|
-
/**
|
|
1079
|
-
* Renders the control inert but still as a control — unlike `readOnly`, which
|
|
1080
|
-
* collapses it to plain text and drops the option's icon.
|
|
1081
|
-
*/
|
|
1082
|
-
disabled?: boolean;
|
|
1083
|
-
}
|
|
1084
|
-
interface DateControl extends BaseControl {
|
|
1085
|
-
type: "date";
|
|
1086
|
-
defaultValue: string;
|
|
1087
|
-
min?: string;
|
|
1088
|
-
max?: string;
|
|
1089
|
-
}
|
|
1090
|
-
interface ColorControl extends BaseControl {
|
|
1091
|
-
type: "color";
|
|
1092
|
-
defaultValue: string;
|
|
1093
|
-
}
|
|
1094
|
-
interface ParamEditorReadOnlyImage {
|
|
1095
|
-
src: string;
|
|
1096
|
-
alt: string;
|
|
1097
|
-
}
|
|
1098
|
-
type ParamEditorReadOnlyContent = string | number | boolean | null | Array<string | number | boolean | null> | {
|
|
1099
|
-
type: "image";
|
|
1100
|
-
src: string;
|
|
1101
|
-
alt: string;
|
|
1102
|
-
} | {
|
|
1103
|
-
type: "image-gallery";
|
|
1104
|
-
images: ParamEditorReadOnlyImage[];
|
|
1105
|
-
};
|
|
1106
|
-
/** Serializable display-only value rendered by the read-only Param Editor. */
|
|
1107
|
-
interface ReadOnlyControl extends BaseControl {
|
|
1108
|
-
type: "readOnly";
|
|
1109
|
-
value: ParamEditorReadOnlyContent;
|
|
1110
|
-
}
|
|
1111
|
-
/** A reference the host can open (e.g. another resource tab). */
|
|
1112
|
-
type ResourceRefValue = ResourceRef;
|
|
1113
|
-
/**
|
|
1114
|
-
* Serializable resource chip. Clicking it opens `href` externally, opens `ref` via
|
|
1115
|
-
* `onOpenResource`, or copies `copyText` to the clipboard — whichever is set.
|
|
1116
|
-
*/
|
|
1117
|
-
interface ResourceOption {
|
|
1118
|
-
id: string;
|
|
1119
|
-
name: string;
|
|
1120
|
-
icon?: string;
|
|
1121
|
-
color?: string;
|
|
1122
|
-
description?: string;
|
|
1123
|
-
href?: string;
|
|
1124
|
-
ref?: ResourceRefValue;
|
|
1125
|
-
copyText?: string;
|
|
1126
|
-
}
|
|
1127
|
-
/**
|
|
1128
|
-
* Resource references rendered as tags/chips. View-only by default; set `editable`
|
|
1129
|
-
* to pick from `options` via a dropdown. Value is the selected option id(s), mirroring
|
|
1130
|
-
* {@link SelectionControl}, so it stays JSON-safe across the controls-command boundary.
|
|
1131
|
-
*/
|
|
1132
|
-
interface ResourceControl extends BaseControl {
|
|
1133
|
-
type: "resource";
|
|
1134
|
-
defaultValue: string | string[];
|
|
1135
|
-
options: ResourceOption[];
|
|
1136
|
-
multiSelect?: boolean;
|
|
1137
|
-
editable?: boolean;
|
|
1138
|
-
placeholder?: string;
|
|
1139
|
-
emptyText?: string;
|
|
1140
|
-
}
|
|
1141
|
-
type RangeValue = [number, number];
|
|
1142
|
-
/** Two-handle numeric range control. Values normalize to ordered `[start, end]`. */
|
|
1143
|
-
interface RangeControl extends BaseControl {
|
|
1144
|
-
type: "range";
|
|
1145
|
-
defaultValue: RangeValue;
|
|
1146
|
-
min: number;
|
|
1147
|
-
max: number;
|
|
1148
|
-
step?: number;
|
|
1149
|
-
unit?: string;
|
|
1150
|
-
markerCount?: number;
|
|
1151
|
-
}
|
|
1152
|
-
interface SegmentedOption {
|
|
1153
|
-
id: string;
|
|
1154
|
-
name: string;
|
|
1155
|
-
icon?: string;
|
|
1156
|
-
indicatorColor?: string;
|
|
1157
|
-
}
|
|
1158
|
-
/** Mutually-exclusive mode control rendered as a segmented button group. */
|
|
1159
|
-
interface SegmentedControl extends BaseControl {
|
|
1160
|
-
type: "segmented";
|
|
1161
|
-
defaultValue: string;
|
|
1162
|
-
options: SegmentedOption[];
|
|
1163
|
-
variant?: "default" | "dots";
|
|
1164
|
-
}
|
|
1165
|
-
interface ActionOption {
|
|
1166
|
-
id: string;
|
|
1167
|
-
name: string;
|
|
1168
|
-
icon?: string;
|
|
1169
|
-
disabled?: boolean;
|
|
1170
|
-
}
|
|
1171
|
-
/** Compact command set rendered as an action button row. */
|
|
1172
|
-
interface ActionsControl extends BaseControl {
|
|
1173
|
-
type: "actions";
|
|
1174
|
-
defaultValue?: string;
|
|
1175
|
-
options: ActionOption[];
|
|
1176
|
-
}
|
|
1177
|
-
type AnchorGridValue = "top-left" | "top" | "top-right" | "left" | "center" | "right" | "bottom-left" | "bottom" | "bottom-right";
|
|
1178
|
-
/** Nine-point alignment picker. */
|
|
1179
|
-
interface AnchorGridControl extends BaseControl {
|
|
1180
|
-
type: "anchorGrid";
|
|
1181
|
-
defaultValue: AnchorGridValue;
|
|
1182
|
-
}
|
|
1183
|
-
type VectorValue = {
|
|
1184
|
-
x: number;
|
|
1185
|
-
y: number;
|
|
1186
|
-
};
|
|
1187
|
-
/** Paired x/y numeric control. */
|
|
1188
|
-
interface VectorControl extends BaseControl {
|
|
1189
|
-
type: "vector";
|
|
1190
|
-
defaultValue: VectorValue;
|
|
1191
|
-
coordinateMode?: "cartesian" | "screen";
|
|
1192
|
-
xLabel?: string;
|
|
1193
|
-
yLabel?: string;
|
|
1194
|
-
min?: number;
|
|
1195
|
-
max?: number;
|
|
1196
|
-
step?: number;
|
|
1197
|
-
}
|
|
1198
|
-
type ControlParam = NumberControl | BooleanControl | TextControl | MarkdownControl | SelectionControl | DateControl | ColorControl | ReadOnlyControl | ResourceControl | RangeControl | SegmentedControl | ActionsControl | AnchorGridControl | VectorControl;
|
|
1199
|
-
interface ControlGroup {
|
|
1200
|
-
id: string;
|
|
1201
|
-
title: string;
|
|
1202
|
-
description?: string;
|
|
1203
|
-
params: ControlParam[];
|
|
1204
|
-
collapsible?: boolean;
|
|
1205
|
-
defaultCollapsed?: boolean;
|
|
1206
|
-
}
|
|
1207
|
-
type ControlValue = number | string | boolean | null | string[] | RangeValue | VectorValue;
|
|
1208
|
-
type ControlValueMap = Record<string, ControlValue>;
|
|
1209
|
-
//#endregion
|
|
1210
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/controls.d.ts
|
|
1211
|
-
type ControlsResourceRef = ResourceRef;
|
|
1212
|
-
interface ControlsQueryParams {
|
|
1213
|
-
renderer: RendererContext;
|
|
1214
|
-
}
|
|
1215
|
-
interface ControlsQueryResult {
|
|
1216
|
-
params?: ControlParam[];
|
|
1217
|
-
groups?: ControlGroup[];
|
|
1218
|
-
values?: ControlValueMap;
|
|
1219
|
-
readOnly?: boolean;
|
|
1220
|
-
}
|
|
1221
|
-
interface ControlsUpdateValueInput {
|
|
1222
|
-
renderer: RendererContext;
|
|
1223
|
-
controlId: string;
|
|
1224
|
-
value: ControlValue;
|
|
1225
|
-
values: ControlValueMap;
|
|
1226
|
-
}
|
|
1227
|
-
interface ControlsApplyInput {
|
|
1228
|
-
renderer: RendererContext;
|
|
1229
|
-
values: ControlValueMap;
|
|
1230
|
-
}
|
|
1231
|
-
interface ControlsResetInput {
|
|
1232
|
-
renderer: RendererContext;
|
|
1233
|
-
controlIds?: string[];
|
|
1234
|
-
}
|
|
1235
|
-
/** A native controls view. Its query supplies serializable fields and their current values. */
|
|
1236
|
-
interface ControlsRendererContribution extends RendererContributionBase {
|
|
1237
|
-
query: RendererCallback<ControlsQueryParams, ControlsQueryResult>;
|
|
1238
|
-
onValueChange?: RendererCallback<ControlsUpdateValueInput, unknown>;
|
|
1239
|
-
onApply?: RendererCallback<ControlsApplyInput, unknown>;
|
|
1240
|
-
onReset?: RendererCallback<ControlsResetInput, unknown>;
|
|
1241
|
-
defaultValues?: ControlValueMap;
|
|
1242
|
-
}
|
|
1243
|
-
//#endregion
|
|
1244
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/data-table-renderer.d.ts
|
|
1245
|
-
type DataTableRendererResourceRef = ResourceRef;
|
|
1246
|
-
interface DataTableRendererQueryParams {
|
|
1247
|
-
renderer: RendererContext;
|
|
1248
|
-
}
|
|
1249
|
-
interface DataTableRendererThemeColor {
|
|
1250
|
-
light: string;
|
|
1251
|
-
dark: string;
|
|
1252
|
-
foreground?: {
|
|
1253
|
-
light: string;
|
|
1254
|
-
dark: string;
|
|
1255
|
-
};
|
|
1256
|
-
}
|
|
1257
|
-
type DataTableRendererColumnStat = {
|
|
1258
|
-
type: "unique";
|
|
1259
|
-
} | {
|
|
1260
|
-
type: "histogram";
|
|
1261
|
-
bins?: number;
|
|
1262
|
-
} | {
|
|
1263
|
-
type: "top-values";
|
|
1264
|
-
limit?: number;
|
|
1265
|
-
};
|
|
1266
|
-
type DataTableRendererColumnRenderer = {
|
|
1267
|
-
type: "json";
|
|
1268
|
-
} | {
|
|
1269
|
-
type: "color-scale";
|
|
1270
|
-
stops: Array<{
|
|
1271
|
-
value: number;
|
|
1272
|
-
color: DataTableRendererThemeColor;
|
|
1273
|
-
}>;
|
|
1274
|
-
} | {
|
|
1275
|
-
type: "categorical-color";
|
|
1276
|
-
categories: Array<{
|
|
1277
|
-
value: string | number | boolean | null;
|
|
1278
|
-
color: DataTableRendererThemeColor;
|
|
1279
|
-
}>;
|
|
1280
|
-
};
|
|
1281
|
-
interface DataTableRendererColumn {
|
|
1282
|
-
id: string;
|
|
1283
|
-
label?: Localizable<string>;
|
|
1284
|
-
description?: Localizable<string>;
|
|
1285
|
-
icon?: string;
|
|
1286
|
-
hidden?: boolean;
|
|
1287
|
-
stat?: DataTableRendererColumnStat;
|
|
1288
|
-
renderer?: DataTableRendererColumnRenderer;
|
|
1289
|
-
}
|
|
1290
|
-
interface DataTableRendererRow {
|
|
1291
|
-
id: string;
|
|
1292
|
-
values: Record<string, JsonValue>;
|
|
1293
|
-
resource?: DataTableRendererResourceRef;
|
|
1294
|
-
}
|
|
1295
|
-
interface DataTableRendererQueryResult {
|
|
1296
|
-
rows: DataTableRendererRow[];
|
|
1297
|
-
columns?: DataTableRendererColumn[];
|
|
1298
|
-
}
|
|
1299
|
-
interface DataTableRendererRowAction<TParams extends Struct = Struct> {
|
|
1300
|
-
id: string;
|
|
1301
|
-
label: Localizable<string>;
|
|
1302
|
-
icon?: string;
|
|
1303
|
-
destructive?: boolean;
|
|
1304
|
-
command: CommandRef<TParams, unknown>;
|
|
1305
|
-
}
|
|
1306
|
-
interface DataTableRendererSelectionAction<TParams extends Struct = Struct> {
|
|
1307
|
-
id: string;
|
|
1308
|
-
label: Localizable<string>;
|
|
1309
|
-
icon?: string;
|
|
1310
|
-
destructive?: boolean;
|
|
1311
|
-
command: CommandRef<TParams, unknown>;
|
|
1312
|
-
}
|
|
1313
|
-
type DataTableRendererRowActivationHandler = RendererCallback<{
|
|
1314
|
-
row: DataTableRendererRow;
|
|
1315
|
-
}, void>;
|
|
1316
|
-
interface DataTableRendererContribution extends RendererContributionBase {
|
|
1317
|
-
columns?: DataTableRendererColumn[];
|
|
1318
|
-
query: RendererCallback<DataTableRendererQueryParams, DataTableRendererQueryResult>;
|
|
1319
|
-
selectionMode?: "none" | "multiple";
|
|
1320
|
-
selectionActions?: DataTableRendererSelectionAction[];
|
|
1321
|
-
rowActions?: DataTableRendererRowAction[];
|
|
1322
|
-
onRowActivate?: DataTableRendererRowActivationHandler;
|
|
1323
|
-
initialPageSize?: number;
|
|
1324
|
-
pageSizeOptions?: number[];
|
|
1325
|
-
}
|
|
1326
|
-
//#endregion
|
|
1327
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/tree-renderer.d.ts
|
|
1328
|
-
type TreeRendererResourceRef = ResourceRef;
|
|
1329
|
-
interface TreeRendererState {
|
|
1330
|
-
expandedNodeIds: string[];
|
|
1331
|
-
expandedSectionIds: string[];
|
|
1332
|
-
selectedNodeId?: string;
|
|
1333
|
-
}
|
|
1334
|
-
interface TreeRendererQueryParams {
|
|
1335
|
-
renderer: RendererContext;
|
|
1336
|
-
state?: TreeRendererState;
|
|
1337
|
-
filter?: string;
|
|
1338
|
-
}
|
|
1339
|
-
interface TreeRendererChildrenParams extends TreeRendererQueryParams {
|
|
1340
|
-
node: TreeNode;
|
|
1341
|
-
}
|
|
1342
|
-
interface TreeRendererActionParams extends TreeRendererQueryParams {
|
|
1343
|
-
actionId: string;
|
|
1344
|
-
node?: TreeNode;
|
|
1345
|
-
}
|
|
1346
|
-
type TreeNodeTarget = NavigationTarget;
|
|
1347
|
-
interface TreeAction {
|
|
1348
|
-
id: string;
|
|
1349
|
-
label?: Localizable<string>;
|
|
1350
|
-
icon?: string;
|
|
1351
|
-
command?: CommandRef<Struct, unknown>;
|
|
1352
|
-
params?: Struct;
|
|
1353
|
-
input?: ParamObjectSchema;
|
|
1354
|
-
submitLabel?: string;
|
|
1355
|
-
when?: string;
|
|
1356
|
-
disabled?: boolean;
|
|
1357
|
-
}
|
|
1358
|
-
interface TreeSectionEmptyState {
|
|
1359
|
-
title: Localizable<string>;
|
|
1360
|
-
description?: Localizable<string>;
|
|
1361
|
-
icon?: string;
|
|
1362
|
-
}
|
|
1363
|
-
type TreeNodeRowVariant = "empty-state";
|
|
1364
|
-
interface TreeNode {
|
|
1365
|
-
id: string;
|
|
1366
|
-
label: Localizable<string>;
|
|
1367
|
-
icon?: string;
|
|
1368
|
-
iconColor?: string;
|
|
1369
|
-
iconTooltip?: string;
|
|
1370
|
-
resource?: TreeRendererResourceRef;
|
|
1371
|
-
target?: TreeNodeTarget;
|
|
1372
|
-
/** Visual row variant for non-data rows such as placeholders. */
|
|
1373
|
-
rowVariant?: TreeNodeRowVariant;
|
|
1374
|
-
actions?: TreeAction[];
|
|
1375
|
-
contextMenuActions?: TreeAction[];
|
|
1376
|
-
collapsible?: boolean;
|
|
1377
|
-
disabled?: boolean;
|
|
1378
|
-
selected?: boolean;
|
|
1379
|
-
children?: TreeNode[];
|
|
1380
|
-
description?: string;
|
|
1381
|
-
contextValue?: string;
|
|
1382
|
-
hiddenByDefault?: boolean;
|
|
1383
|
-
/** Opt in to the tree's hide/show customization menu (header/footer rows). Off by default. */
|
|
1384
|
-
canHide?: boolean;
|
|
1385
|
-
metadata?: JsonObject;
|
|
1386
|
-
}
|
|
1387
|
-
interface TreeViewSection {
|
|
1388
|
-
id: string;
|
|
1389
|
-
label?: Localizable<string>;
|
|
1390
|
-
actions?: TreeAction[];
|
|
1391
|
-
collapsible?: boolean;
|
|
1392
|
-
emptyState?: TreeSectionEmptyState;
|
|
1393
|
-
nodes: TreeNode[];
|
|
1394
|
-
hiddenByDefault?: boolean;
|
|
1395
|
-
/** Opt in to the tree's hide/show customization menu (a category). Off by default. */
|
|
1396
|
-
canHide?: boolean;
|
|
1397
|
-
}
|
|
1398
|
-
interface TreeRendererContribution extends RendererContributionBase {
|
|
1399
|
-
searchable?: boolean;
|
|
1400
|
-
searchPlaceholder?: Localizable<string>;
|
|
1401
|
-
header?: RendererCallback<TreeRendererQueryParams, TreeViewSection[]>;
|
|
1402
|
-
body: RendererCallback<TreeRendererQueryParams, TreeViewSection[]>;
|
|
1403
|
-
children?: RendererCallback<TreeRendererChildrenParams, TreeNode[]>;
|
|
1404
|
-
footer?: RendererCallback<TreeRendererQueryParams, TreeViewSection[]>;
|
|
1405
|
-
defaultExpandedSectionIds?: string[];
|
|
1406
|
-
defaultExpandedNodeIds?: string[];
|
|
1407
|
-
}
|
|
1408
|
-
type TreeRendererCommandResult = TreeViewSection[] | TreeNode[] | JsonValue;
|
|
1409
|
-
//#endregion
|
|
1410
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/views.d.ts
|
|
1411
|
-
type NativeViewBody<Kind extends string, Definition> = {
|
|
1412
|
-
readonly kind: Kind;
|
|
1413
|
-
} & Omit<Definition, "title" | "icon" | "resourceKind">;
|
|
1414
|
-
type WebviewViewBody = {
|
|
1415
|
-
readonly kind: "webview";
|
|
1416
|
-
} & WebviewContribution;
|
|
1417
|
-
type TreeViewBody = NativeViewBody<"tree", TreeRendererContribution>;
|
|
1418
|
-
type FileViewBody = NativeViewBody<"file", FileRendererContribution>;
|
|
1419
|
-
type ControlsViewBody = NativeViewBody<"controls", ControlsRendererContribution>;
|
|
1420
|
-
type KanbanViewBody = NativeViewBody<"kanban", KanbanRendererContribution>;
|
|
1421
|
-
type DataTableViewBody = NativeViewBody<"dataTable", DataTableRendererContribution>;
|
|
1422
|
-
type ViewBody = WebviewViewBody | TreeViewBody | FileViewBody | ControlsViewBody | KanbanViewBody | DataTableViewBody;
|
|
1423
|
-
interface ViewContribution extends ContributionDefinition<"view"> {
|
|
1424
|
-
readonly title: Localizable<string>;
|
|
1425
|
-
readonly icon?: string;
|
|
1426
|
-
readonly body: ViewBody;
|
|
1427
|
-
}
|
|
1428
|
-
type NavigationOwnerRef = ModeRef | PageRef;
|
|
1429
|
-
type NavigationTreeSlot = "header" | "content" | "footer";
|
|
1430
|
-
interface NavigationItemContribution extends ContributionDefinition<"navigation-item"> {
|
|
1431
|
-
readonly owner: NavigationOwnerRef;
|
|
1432
|
-
readonly slot?: NavigationTreeSlot;
|
|
1433
|
-
readonly label: Localizable<string>;
|
|
1434
|
-
readonly icon?: string;
|
|
1435
|
-
readonly group?: string;
|
|
1436
|
-
readonly when?: WhenExpression;
|
|
1437
|
-
readonly action: NavigationTarget;
|
|
1438
|
-
}
|
|
1439
|
-
interface NavigationTreeContribution extends ContributionDefinition<"navigation-tree"> {
|
|
1440
|
-
readonly owner: NavigationOwnerRef;
|
|
1441
|
-
readonly slot?: NavigationTreeSlot;
|
|
1442
|
-
readonly view: ViewRef;
|
|
1443
|
-
/** Project-scoped trees read without a selected resource. Defaults to selection. */
|
|
1444
|
-
readonly resourceScope?: "project" | "selection";
|
|
1445
|
-
}
|
|
1446
|
-
/**
|
|
1447
|
-
* Initial presence of a static placement inside its owner scope.
|
|
1448
|
-
* - "fixed": always open while the owner is active; the user cannot close it.
|
|
1449
|
-
* - "open": open when the owner has no saved state; the user may close it.
|
|
1450
|
-
* - "closed": closed until the user opens it (for example through the Add panel).
|
|
1451
|
-
* A saved user choice wins over "open" and "closed" on the next visit.
|
|
1452
|
-
*/
|
|
1453
|
-
type PlacementPresence = "fixed" | "open" | "closed";
|
|
1454
|
-
type PlacementItem = {
|
|
1455
|
-
readonly kind: "view";
|
|
1456
|
-
readonly view: ViewRef;
|
|
1457
|
-
readonly presence: PlacementPresence;
|
|
1458
|
-
} | {
|
|
1459
|
-
readonly kind: "binding";
|
|
1460
|
-
readonly binding: ResourceBinding;
|
|
1461
|
-
};
|
|
1462
|
-
type PlacementMountStrategy = "active" | "keep-mounted";
|
|
1463
|
-
interface PlacementTabMenuRow {
|
|
1464
|
-
readonly id: string;
|
|
1465
|
-
readonly label: Localizable<string>;
|
|
1466
|
-
readonly icon?: string;
|
|
1467
|
-
readonly iconColor?: string;
|
|
1468
|
-
readonly selected?: boolean;
|
|
1469
|
-
readonly disabled?: boolean;
|
|
1470
|
-
readonly action?: NavigationTarget;
|
|
1471
|
-
}
|
|
1472
|
-
interface PlacementTabMenuGroup {
|
|
1473
|
-
readonly id: string;
|
|
1474
|
-
readonly rows: readonly PlacementTabMenuRow[];
|
|
1475
|
-
}
|
|
1476
|
-
interface PlacementTabSnapshot extends Struct {
|
|
1477
|
-
readonly label?: Localizable<string>;
|
|
1478
|
-
readonly icon?: string;
|
|
1479
|
-
readonly indicator?: {
|
|
1480
|
-
readonly icon: string;
|
|
1481
|
-
readonly color?: string;
|
|
1482
|
-
readonly label?: Localizable<string>;
|
|
1483
|
-
};
|
|
1484
|
-
readonly menu?: readonly PlacementTabMenuGroup[];
|
|
1485
|
-
}
|
|
1486
|
-
interface PlacementTabPresentation {
|
|
1487
|
-
readonly query: RendererCallback<JsonObject, PlacementTabSnapshot>;
|
|
1488
|
-
readonly refreshEvents?: readonly RendererEventReference[];
|
|
1489
|
-
}
|
|
1490
|
-
interface PlacementPresentation {
|
|
1491
|
-
readonly mountStrategy?: PlacementMountStrategy;
|
|
1492
|
-
readonly hiddenByDefault?: boolean;
|
|
1493
|
-
readonly headerBorderBottom?: boolean;
|
|
1494
|
-
readonly tab?: PlacementTabPresentation;
|
|
1495
|
-
}
|
|
1496
|
-
interface PlacementContribution extends ContributionDefinition<"placement">, PlacementPresentation {
|
|
1497
|
-
readonly mode: ModeRef;
|
|
1498
|
-
readonly item: PlacementItem;
|
|
1499
|
-
readonly region: ExtensionPanelRegion;
|
|
1500
|
-
readonly order?: number;
|
|
1501
|
-
readonly movableTo?: readonly ExtensionPanelRegion[];
|
|
1502
|
-
}
|
|
1503
|
-
interface ViewMenuContribution extends ContributionDefinition<"view-menu"> {
|
|
1504
|
-
readonly owner: ViewRef;
|
|
1505
|
-
readonly view: ViewRef;
|
|
1506
|
-
readonly side: "left" | "right";
|
|
1507
|
-
readonly group?: string;
|
|
1508
|
-
readonly placement?: "first" | "default" | "last";
|
|
1509
|
-
readonly hostTreeHeader?: "default" | "none";
|
|
1510
|
-
readonly hostTreeFooter?: "default" | "none";
|
|
1511
|
-
}
|
|
1512
|
-
//#endregion
|
|
1513
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/pages.d.ts
|
|
1514
|
-
type PageSlotRole = "primary" | "auxiliary";
|
|
1515
|
-
type PageSlotCardinality = "one" | "many";
|
|
1516
|
-
type PageOpenIntent = "preview" | "pin";
|
|
1517
|
-
type PageSlotRegion = ExtensionPanelRegion;
|
|
1518
|
-
interface PageMainView extends PlacementPresentation {
|
|
1519
|
-
readonly kind: "view";
|
|
1520
|
-
readonly view: ViewRef;
|
|
1521
|
-
readonly cardinality: PageSlotCardinality;
|
|
1522
|
-
}
|
|
1523
|
-
interface PageMainPanels {
|
|
1524
|
-
readonly kind: "panels";
|
|
1525
|
-
readonly empty: ViewRef;
|
|
1526
|
-
}
|
|
1527
|
-
type PageMain = PageMainView | PageMainPanels;
|
|
1528
|
-
/** A page-owned panel. Main presentation and routed context belong to the page. */
|
|
1529
|
-
interface PageSlot extends PlacementPresentation {
|
|
1530
|
-
readonly id: string;
|
|
1531
|
-
readonly region: PageSlotRegion;
|
|
1532
|
-
readonly order?: number;
|
|
1533
|
-
readonly item: PlacementItem;
|
|
1534
|
-
readonly openOn?: "page-resource";
|
|
1535
|
-
}
|
|
1536
|
-
interface PageSlotRef {
|
|
1537
|
-
readonly kind: "page-slot";
|
|
1538
|
-
readonly page: PageRef;
|
|
1539
|
-
readonly id: string;
|
|
1540
|
-
}
|
|
1541
|
-
type PanelRef = PlacementRef | PageSlotRef;
|
|
1542
|
-
interface PageContribution extends ContributionDefinition<"page"> {
|
|
1543
|
-
readonly title: Localizable<string>;
|
|
1544
|
-
readonly icon?: string;
|
|
1545
|
-
readonly path: string;
|
|
1546
|
-
readonly mode: ModeRef;
|
|
1547
|
-
readonly parent?: PageRef;
|
|
1548
|
-
readonly resource?: ResourceConstraint;
|
|
1549
|
-
readonly main: PageMain;
|
|
1550
|
-
readonly slots: readonly PageSlot[];
|
|
1551
|
-
readonly panels: Readonly<Record<string, PageSlotRef>>;
|
|
1552
|
-
}
|
|
1553
|
-
type PlacementOwner = {
|
|
1554
|
-
readonly kind: "shell";
|
|
1555
|
-
readonly placementId: string;
|
|
1556
|
-
} | {
|
|
1557
|
-
readonly kind: "mode";
|
|
1558
|
-
readonly modeId: string;
|
|
1559
|
-
readonly placementId: string;
|
|
1560
|
-
} | {
|
|
1561
|
-
readonly kind: "page";
|
|
1562
|
-
readonly pageId: string;
|
|
1563
|
-
readonly slotId: string;
|
|
1564
|
-
};
|
|
1565
|
-
type PlacementIdentity = PlacementOwner & {
|
|
1566
|
-
readonly instanceKey: string;
|
|
1567
|
-
};
|
|
1568
|
-
interface PageLocation {
|
|
1569
|
-
readonly page: PageRef;
|
|
1570
|
-
readonly resource?: ResourceRef;
|
|
1571
|
-
readonly section?: FileRendererSectionTarget;
|
|
1572
|
-
readonly parent?: PageLocation;
|
|
1573
|
-
}
|
|
1574
|
-
//#endregion
|
|
1575
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/navigation-target.d.ts
|
|
1576
|
-
interface NavigationTargetPage {
|
|
1577
|
-
kind: "page";
|
|
1578
|
-
page: PageRef;
|
|
1579
|
-
resource?: ResourceRef;
|
|
1580
|
-
section?: FileRendererSectionTarget;
|
|
1581
|
-
open?: PageOpenIntent;
|
|
1582
|
-
parent?: NavigationTargetPage;
|
|
1583
|
-
}
|
|
1584
|
-
interface NavigationTargetPanel {
|
|
1585
|
-
kind: "panel";
|
|
1586
|
-
panel: PanelRef;
|
|
1587
|
-
resource?: ResourceRef;
|
|
1588
|
-
open?: PageOpenIntent;
|
|
1589
|
-
}
|
|
1590
|
-
interface NavigationTargetCommand {
|
|
1591
|
-
kind: "command";
|
|
1592
|
-
target: CommandTarget<JsonObject>;
|
|
1593
|
-
}
|
|
1594
|
-
interface NavigationTargetHref {
|
|
1595
|
-
kind: "href";
|
|
1596
|
-
href: string;
|
|
1597
|
-
}
|
|
1598
|
-
type NavigationTargetItem = NavigationTargetPage | NavigationTargetPanel | NavigationTargetCommand | NavigationTargetHref;
|
|
1599
|
-
interface NavigationTargetCompound {
|
|
1600
|
-
kind: "compound";
|
|
1601
|
-
targets: readonly (NavigationTargetPage | NavigationTargetPanel)[];
|
|
1602
|
-
}
|
|
1603
|
-
type NavigationTarget = NavigationTargetItem | NavigationTargetCompound;
|
|
1604
|
-
//#endregion
|
|
1605
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/commands.d.ts
|
|
1606
|
-
type CommandSource = "cli" | "dashboard" | "api" | "schedule" | "event" | "automation" | "command-panel";
|
|
1607
|
-
interface CommandRef<TParams extends Struct = Struct, TResult = unknown> extends ContributionRef<"command"> {
|
|
1608
|
-
params?: TParams;
|
|
1609
|
-
result?: TResult;
|
|
1610
|
-
}
|
|
1611
|
-
interface CommandTarget<TParams extends Struct = Struct> {
|
|
1612
|
-
command: CommandRef<TParams, unknown>;
|
|
1613
|
-
params?: TParams;
|
|
1614
|
-
}
|
|
1615
|
-
interface SerializedError {
|
|
1616
|
-
name?: string;
|
|
1617
|
-
message: string;
|
|
1618
|
-
stack?: string;
|
|
1619
|
-
cause?: JsonValue;
|
|
1620
|
-
}
|
|
1621
|
-
interface WorkbenchAttachmentInvocationContext {
|
|
1622
|
-
target: WorkbenchAttachmentTarget;
|
|
1623
|
-
mode?: string;
|
|
1624
|
-
projectId?: string;
|
|
1625
|
-
resource?: ResourceRef;
|
|
1626
|
-
}
|
|
1627
|
-
interface CommandInvocation<TParams extends Struct = Struct> {
|
|
1628
|
-
params: TParams;
|
|
1629
|
-
resource?: ResourceRef;
|
|
1630
|
-
attachment?: WorkbenchAttachmentInvocationContext;
|
|
1631
|
-
slot?: SlotInvocationContext;
|
|
1632
|
-
metadata?: JsonObject;
|
|
1633
|
-
}
|
|
1634
|
-
interface CommandContinue {
|
|
1635
|
-
type: "continue";
|
|
1636
|
-
}
|
|
1637
|
-
interface CommandPatchParams<TParams extends Struct = Struct> {
|
|
1638
|
-
type: "patchParams";
|
|
1639
|
-
params: Partial<TParams>;
|
|
1640
|
-
}
|
|
1641
|
-
interface CommandReplaceParams<TParams extends Struct = Struct> {
|
|
1642
|
-
type: "replaceParams";
|
|
1643
|
-
params: TParams;
|
|
1644
|
-
}
|
|
1645
|
-
interface CommandReplaceInvocation<TParams extends Struct = Struct> {
|
|
1646
|
-
type: "replaceInvocation";
|
|
1647
|
-
invocation: CommandInvocation<TParams>;
|
|
1648
|
-
}
|
|
1649
|
-
interface CommandReject {
|
|
1650
|
-
type: "reject";
|
|
1651
|
-
code?: string;
|
|
1652
|
-
reason: string;
|
|
1653
|
-
data?: JsonObject;
|
|
1654
|
-
}
|
|
1655
|
-
type CommandMiddlewareResult<TParams extends Struct = Struct> = void | CommandContinue | CommandPatchParams<TParams> | CommandReplaceParams<TParams> | CommandReplaceInvocation<TParams> | CommandReject;
|
|
1656
|
-
interface CommandNotice {
|
|
1657
|
-
type: "info" | "success" | "warning" | "error";
|
|
1658
|
-
title?: string;
|
|
1659
|
-
message: string;
|
|
1660
|
-
metadata?: JsonObject;
|
|
1661
|
-
}
|
|
1662
|
-
interface CommandDiagnostic {
|
|
1663
|
-
code: string;
|
|
1664
|
-
message: string;
|
|
1665
|
-
severity: "info" | "warning" | "error";
|
|
1666
|
-
extensionId?: string;
|
|
1667
|
-
commandId?: string;
|
|
1668
|
-
metadata?: JsonObject;
|
|
1669
|
-
}
|
|
1670
|
-
type CommandOutcome<TResult = unknown> = {
|
|
1671
|
-
ok: true;
|
|
1672
|
-
status: "success";
|
|
1673
|
-
value: TResult;
|
|
1674
|
-
navigationRequests?: NavigationTarget[];
|
|
1675
|
-
notices?: CommandNotice[];
|
|
1676
|
-
diagnostics?: CommandDiagnostic[];
|
|
1677
|
-
} | {
|
|
1678
|
-
ok: false;
|
|
1679
|
-
status: "rejected";
|
|
1680
|
-
code?: string;
|
|
1681
|
-
reason: string;
|
|
1682
|
-
data?: JsonObject;
|
|
1683
|
-
notices?: CommandNotice[];
|
|
1684
|
-
diagnostics?: CommandDiagnostic[];
|
|
1685
|
-
} | {
|
|
1686
|
-
ok: false;
|
|
1687
|
-
status: "error";
|
|
1688
|
-
code?: string;
|
|
1689
|
-
reason: string;
|
|
1690
|
-
error?: SerializedError;
|
|
1691
|
-
notices?: CommandNotice[];
|
|
1692
|
-
diagnostics?: CommandDiagnostic[];
|
|
1693
|
-
};
|
|
1694
|
-
interface CommandHelpersApi {
|
|
1695
|
-
execute<TParams extends Struct = Struct, TResult = unknown>(command: CommandRef<TParams, TResult>, invocation: CommandInvocation<TParams>): Promise<CommandOutcome<TResult>>;
|
|
1696
|
-
continue(): CommandContinue;
|
|
1697
|
-
patchParams<TParams extends Struct = Struct>(params: Partial<TParams>): CommandPatchParams<TParams>;
|
|
1698
|
-
replaceParams<TParams extends Struct = Struct>(params: TParams): CommandReplaceParams<TParams>;
|
|
1699
|
-
replaceInvocation<TParams extends Struct = Struct>(invocation: CommandInvocation<TParams>): CommandReplaceInvocation<TParams>;
|
|
1700
|
-
reject(input: Omit<CommandReject, "type">): CommandReject;
|
|
1701
|
-
}
|
|
1702
|
-
interface CommandRequestedEvent<TParams extends Struct = Struct> {
|
|
1703
|
-
commandId: string;
|
|
1704
|
-
invocationId: string;
|
|
1705
|
-
source?: CommandSource;
|
|
1706
|
-
params: TParams;
|
|
1707
|
-
resource?: ResourceRef;
|
|
1708
|
-
}
|
|
1709
|
-
interface CommandStartedEvent<TParams extends Struct = Struct> extends CommandRequestedEvent<TParams> {}
|
|
1710
|
-
interface CommandCompletedEvent<TParams extends Struct = Struct, TResult = unknown> extends CommandStartedEvent<TParams> {
|
|
1711
|
-
result: TResult;
|
|
1712
|
-
elapsedMs: number;
|
|
1713
|
-
}
|
|
1714
|
-
interface CommandRejectedEvent<TParams extends Struct = Struct> extends CommandRequestedEvent<TParams> {
|
|
1715
|
-
code?: string;
|
|
1716
|
-
reason: string;
|
|
1717
|
-
data?: JsonObject;
|
|
1718
|
-
}
|
|
1719
|
-
interface CommandFailedEvent<TParams extends Struct = Struct> extends CommandRequestedEvent<TParams> {
|
|
1720
|
-
code?: string;
|
|
1721
|
-
reason: string;
|
|
1722
|
-
error?: SerializedError;
|
|
1723
|
-
elapsedMs: number;
|
|
1724
|
-
}
|
|
1725
|
-
type CommandLifecyclePhase = "requested" | "started" | "completed" | "rejected" | "failed";
|
|
1726
|
-
type CommandLifecycleEventPayload<TPhase extends CommandLifecyclePhase, TParams extends Struct = Struct, TResult = unknown> = TPhase extends "requested" ? CommandRequestedEvent<TParams> : TPhase extends "started" ? CommandStartedEvent<TParams> : TPhase extends "completed" ? CommandCompletedEvent<TParams, TResult> : TPhase extends "rejected" ? CommandRejectedEvent<TParams> : CommandFailedEvent<TParams>;
|
|
1727
|
-
//#endregion
|
|
1728
|
-
//#region ../pstdio-api-contracts/src/notifications/types.d.ts
|
|
1729
|
-
type NotificationKind = "needs_review" | "ready_to_merge" | "blocked" | "approval_required" | "failed" | "info";
|
|
1730
|
-
type NotificationStatus = "open" | "read" | "snoozed" | "done" | "dismissed" | "expired";
|
|
1731
|
-
type NotificationPriority = "low" | "normal" | "high" | "urgent";
|
|
1732
|
-
type NotificationActorType = "user" | "agent" | "system";
|
|
1733
|
-
type NotificationOrigin = "core" | "extension" | "agent";
|
|
1734
|
-
type NotificationAction = {
|
|
1735
|
-
id: string;
|
|
1736
|
-
label: string;
|
|
1737
|
-
kind: "navigate";
|
|
1738
|
-
target: NavigationTarget;
|
|
1739
|
-
primary?: boolean;
|
|
1740
|
-
} | {
|
|
1741
|
-
id: string;
|
|
1742
|
-
label: string;
|
|
1743
|
-
kind: "command";
|
|
1744
|
-
command: string;
|
|
1745
|
-
params?: JsonObject;
|
|
1746
|
-
primary?: boolean;
|
|
1747
|
-
destructive?: boolean;
|
|
1748
|
-
} | {
|
|
1749
|
-
id: string;
|
|
1750
|
-
label: string;
|
|
1751
|
-
kind: "url";
|
|
1752
|
-
href: string;
|
|
1753
|
-
primary?: boolean;
|
|
1754
|
-
};
|
|
1755
|
-
interface Notification {
|
|
1756
|
-
id: string;
|
|
1757
|
-
projectId: string;
|
|
1758
|
-
title: string;
|
|
1759
|
-
body?: string | null;
|
|
1760
|
-
kind: NotificationKind;
|
|
1761
|
-
status: NotificationStatus;
|
|
1762
|
-
priority: NotificationPriority;
|
|
1763
|
-
source: CommandSource;
|
|
1764
|
-
origin: NotificationOrigin;
|
|
1765
|
-
sourceExtensionId?: string | null;
|
|
1766
|
-
actorType?: NotificationActorType | null;
|
|
1767
|
-
actorId?: string | null;
|
|
1768
|
-
target?: ResourceRef | null;
|
|
1769
|
-
related: ResourceRef[];
|
|
1770
|
-
actions: NotificationAction[];
|
|
1771
|
-
dedupeKey?: string | null;
|
|
1772
|
-
metadata?: JsonObject | null;
|
|
1773
|
-
createdAt: string;
|
|
1774
|
-
updatedAt: string;
|
|
1775
|
-
readAt?: string | null;
|
|
1776
|
-
resolvedAt?: string | null;
|
|
1777
|
-
snoozedUntil?: string | null;
|
|
1778
|
-
expiresAt?: string | null;
|
|
1779
|
-
}
|
|
1780
|
-
interface CreateNotificationInput {
|
|
1781
|
-
projectId: string;
|
|
1782
|
-
title: string;
|
|
1783
|
-
body?: string;
|
|
1784
|
-
kind: NotificationKind;
|
|
1785
|
-
priority?: NotificationPriority;
|
|
1786
|
-
target?: ResourceRef;
|
|
1787
|
-
related?: ResourceRef[];
|
|
1788
|
-
actions?: NotificationAction[];
|
|
1789
|
-
dedupeKey?: string;
|
|
1790
|
-
expiresAt?: string;
|
|
1791
|
-
snoozedUntil?: string;
|
|
1792
|
-
metadata?: JsonObject;
|
|
1793
|
-
}
|
|
1794
|
-
interface UpdateNotificationInput {
|
|
1795
|
-
priority?: NotificationPriority;
|
|
1796
|
-
snoozedUntil?: string | null;
|
|
1797
|
-
metadata?: JsonObject;
|
|
1798
|
-
}
|
|
1799
|
-
interface ListNotificationsQuery {
|
|
1800
|
-
status?: NotificationStatus | NotificationStatus[];
|
|
1801
|
-
priority?: NotificationPriority | NotificationPriority[];
|
|
1802
|
-
sourceExtensionId?: string;
|
|
1803
|
-
resourceType?: string;
|
|
1804
|
-
resourceId?: string;
|
|
1805
|
-
cursor?: string;
|
|
1806
|
-
limit?: number;
|
|
1807
|
-
}
|
|
1808
|
-
interface ListNotificationsResponse {
|
|
1809
|
-
items: Notification[];
|
|
1810
|
-
nextCursor?: string | null;
|
|
410
|
+
interface ListNotificationsResponse {
|
|
411
|
+
items: Notification[];
|
|
412
|
+
nextCursor?: string | null;
|
|
1811
413
|
}
|
|
1812
414
|
//#endregion
|
|
1813
415
|
//#region ../pstdio-api-contracts/src/sessions.d.ts
|
|
@@ -1966,8 +568,8 @@ declare const sessionQueuedMessagesResponseSchema: z.ZodObject<{
|
|
|
1966
568
|
messages: z.ZodArray<z.ZodObject<{
|
|
1967
569
|
id: z.ZodString;
|
|
1968
570
|
role: z.ZodEnum<{
|
|
1969
|
-
assistant: "assistant";
|
|
1970
571
|
user: "user";
|
|
572
|
+
assistant: "assistant";
|
|
1971
573
|
tool: "tool";
|
|
1972
574
|
system: "system";
|
|
1973
575
|
developer: "developer";
|
|
@@ -2061,8 +663,8 @@ declare const sessionConversationSourcesSchema: z.ZodObject<{
|
|
|
2061
663
|
checkpoint: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
2062
664
|
id: z.ZodString;
|
|
2063
665
|
role: z.ZodEnum<{
|
|
2064
|
-
assistant: "assistant";
|
|
2065
666
|
user: "user";
|
|
667
|
+
assistant: "assistant";
|
|
2066
668
|
tool: "tool";
|
|
2067
669
|
system: "system";
|
|
2068
670
|
developer: "developer";
|
|
@@ -2153,8 +755,8 @@ declare const sessionConversationSourcesSchema: z.ZodObject<{
|
|
|
2153
755
|
native: z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
2154
756
|
id: z.ZodString;
|
|
2155
757
|
role: z.ZodEnum<{
|
|
2156
|
-
assistant: "assistant";
|
|
2157
758
|
user: "user";
|
|
759
|
+
assistant: "assistant";
|
|
2158
760
|
tool: "tool";
|
|
2159
761
|
system: "system";
|
|
2160
762
|
developer: "developer";
|
|
@@ -2286,8 +888,8 @@ declare const sessionConversationResponseSchema: z.ZodObject<{
|
|
|
2286
888
|
messages: z.ZodArray<z.ZodObject<{
|
|
2287
889
|
id: z.ZodString;
|
|
2288
890
|
role: z.ZodEnum<{
|
|
2289
|
-
assistant: "assistant";
|
|
2290
891
|
user: "user";
|
|
892
|
+
assistant: "assistant";
|
|
2291
893
|
tool: "tool";
|
|
2292
894
|
system: "system";
|
|
2293
895
|
developer: "developer";
|
|
@@ -2400,8 +1002,8 @@ declare const listSessionActivityResponseSchema: z.ZodObject<{
|
|
|
2400
1002
|
source_extension_id: z.ZodNullable<z.ZodString>;
|
|
2401
1003
|
event_type: z.ZodString;
|
|
2402
1004
|
actor_type: z.ZodEnum<{
|
|
2403
|
-
agent: "agent";
|
|
2404
1005
|
user: "user";
|
|
1006
|
+
agent: "agent";
|
|
2405
1007
|
system: "system";
|
|
2406
1008
|
}>;
|
|
2407
1009
|
actor_id: z.ZodNullable<z.ZodString>;
|
|
@@ -2432,395 +1034,1634 @@ type ListSessionActivityInput = z.infer<typeof listSessionActivityInputSchema>;
|
|
|
2432
1034
|
type ListSessionActivityResponse = z.infer<typeof listSessionActivityResponseSchema>;
|
|
2433
1035
|
type FollowUpResponse = z.infer<typeof followUpResponseSchema>;
|
|
2434
1036
|
//#endregion
|
|
2435
|
-
//#region ../pstdio-api-contracts/src/skills.d.ts
|
|
2436
|
-
declare const skillFileSchema: z.ZodObject<{
|
|
2437
|
-
path: z.ZodString;
|
|
2438
|
-
content: z.ZodString;
|
|
2439
|
-
encoding: z.ZodLiteral<"utf8">;
|
|
2440
|
-
}, z.core.$strip>;
|
|
2441
|
-
declare const skillSchema: z.ZodObject<{
|
|
2442
|
-
id: z.ZodString;
|
|
2443
|
-
project_id: z.ZodString;
|
|
2444
|
-
name: z.ZodString;
|
|
2445
|
-
title: z.ZodString;
|
|
2446
|
-
description: z.ZodString;
|
|
2447
|
-
source_kind: z.ZodEnum<{
|
|
2448
|
-
project: "project";
|
|
2449
|
-
extension: "extension";
|
|
2450
|
-
}>;
|
|
2451
|
-
files: z.ZodArray<z.ZodObject<{
|
|
2452
|
-
path: z.ZodString;
|
|
2453
|
-
content: z.ZodString;
|
|
2454
|
-
encoding: z.ZodLiteral<"utf8">;
|
|
2455
|
-
}, z.core.$strip>>;
|
|
2456
|
-
editable: z.ZodBoolean;
|
|
2457
|
-
extension_instance_id: z.ZodOptional<z.ZodString>;
|
|
2458
|
-
extension_id: z.ZodOptional<z.ZodString>;
|
|
2459
|
-
installed_extension_id: z.ZodOptional<z.ZodString>;
|
|
2460
|
-
install_name: z.ZodOptional<z.ZodString>;
|
|
2461
|
-
key: z.ZodOptional<z.ZodString>;
|
|
2462
|
-
source: z.ZodOptional<z.ZodObject<{
|
|
2463
|
-
kind: z.ZodLiteral<"package-asset">;
|
|
2464
|
-
path: z.ZodString;
|
|
2465
|
-
baseUrl: z.ZodString;
|
|
2466
|
-
}, z.core.$strip>>;
|
|
2467
|
-
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
2468
|
-
created_at: z.ZodString;
|
|
2469
|
-
updated_at: z.ZodString;
|
|
2470
|
-
deleted_at: z.ZodNullable<z.ZodString>;
|
|
2471
|
-
}, z.core.$strip>;
|
|
2472
|
-
declare const skillWithContentSchema: z.ZodObject<{
|
|
2473
|
-
id: z.ZodString;
|
|
2474
|
-
project_id: z.ZodString;
|
|
2475
|
-
name: z.ZodString;
|
|
2476
|
-
title: z.ZodString;
|
|
2477
|
-
description: z.ZodString;
|
|
2478
|
-
source_kind: z.ZodEnum<{
|
|
2479
|
-
project: "project";
|
|
2480
|
-
extension: "extension";
|
|
2481
|
-
}>;
|
|
2482
|
-
files: z.ZodArray<z.ZodObject<{
|
|
2483
|
-
path: z.ZodString;
|
|
2484
|
-
content: z.ZodString;
|
|
2485
|
-
encoding: z.ZodLiteral<"utf8">;
|
|
2486
|
-
}, z.core.$strip>>;
|
|
2487
|
-
editable: z.ZodBoolean;
|
|
2488
|
-
extension_instance_id: z.ZodOptional<z.ZodString>;
|
|
2489
|
-
extension_id: z.ZodOptional<z.ZodString>;
|
|
2490
|
-
installed_extension_id: z.ZodOptional<z.ZodString>;
|
|
2491
|
-
install_name: z.ZodOptional<z.ZodString>;
|
|
2492
|
-
key: z.ZodOptional<z.ZodString>;
|
|
2493
|
-
source: z.ZodOptional<z.ZodObject<{
|
|
2494
|
-
kind: z.ZodLiteral<"package-asset">;
|
|
2495
|
-
path: z.ZodString;
|
|
2496
|
-
baseUrl: z.ZodString;
|
|
2497
|
-
}, z.core.$strip>>;
|
|
2498
|
-
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
2499
|
-
created_at: z.ZodString;
|
|
2500
|
-
updated_at: z.ZodString;
|
|
2501
|
-
deleted_at: z.ZodNullable<z.ZodString>;
|
|
2502
|
-
installed_agents: z.ZodArray<z.ZodString>;
|
|
2503
|
-
outdated_agents: z.ZodArray<z.ZodString>;
|
|
2504
|
-
agent_installations: z.ZodArray<z.ZodObject<{
|
|
2505
|
-
agent_id: z.ZodString;
|
|
2506
|
-
agent_name: z.ZodString;
|
|
2507
|
-
installed_version: z.ZodNullable<z.ZodString>;
|
|
2508
|
-
outdated: z.ZodBoolean;
|
|
2509
|
-
}, z.core.$strip>>;
|
|
2510
|
-
}, z.core.$strip>;
|
|
2511
|
-
declare const updateSkillInputSchema: z.ZodObject<{
|
|
2512
|
-
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
2513
|
-
title: z.ZodOptional<z.ZodString>;
|
|
2514
|
-
description: z.ZodOptional<z.ZodString>;
|
|
2515
|
-
}, z.core.$strip>;
|
|
2516
|
-
type Skill = z.infer<typeof skillSchema>;
|
|
2517
|
-
type SkillWithContent = z.infer<typeof skillWithContentSchema>;
|
|
2518
|
-
type SkillFile = z.infer<typeof skillFileSchema>;
|
|
2519
|
-
type UpdateSkillInput = z.infer<typeof updateSkillInputSchema>;
|
|
1037
|
+
//#region ../pstdio-api-contracts/src/skills.d.ts
|
|
1038
|
+
declare const skillFileSchema: z.ZodObject<{
|
|
1039
|
+
path: z.ZodString;
|
|
1040
|
+
content: z.ZodString;
|
|
1041
|
+
encoding: z.ZodLiteral<"utf8">;
|
|
1042
|
+
}, z.core.$strip>;
|
|
1043
|
+
declare const skillSchema: z.ZodObject<{
|
|
1044
|
+
id: z.ZodString;
|
|
1045
|
+
project_id: z.ZodString;
|
|
1046
|
+
name: z.ZodString;
|
|
1047
|
+
title: z.ZodString;
|
|
1048
|
+
description: z.ZodString;
|
|
1049
|
+
source_kind: z.ZodEnum<{
|
|
1050
|
+
project: "project";
|
|
1051
|
+
extension: "extension";
|
|
1052
|
+
}>;
|
|
1053
|
+
files: z.ZodArray<z.ZodObject<{
|
|
1054
|
+
path: z.ZodString;
|
|
1055
|
+
content: z.ZodString;
|
|
1056
|
+
encoding: z.ZodLiteral<"utf8">;
|
|
1057
|
+
}, z.core.$strip>>;
|
|
1058
|
+
editable: z.ZodBoolean;
|
|
1059
|
+
extension_instance_id: z.ZodOptional<z.ZodString>;
|
|
1060
|
+
extension_id: z.ZodOptional<z.ZodString>;
|
|
1061
|
+
installed_extension_id: z.ZodOptional<z.ZodString>;
|
|
1062
|
+
install_name: z.ZodOptional<z.ZodString>;
|
|
1063
|
+
key: z.ZodOptional<z.ZodString>;
|
|
1064
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
1065
|
+
kind: z.ZodLiteral<"package-asset">;
|
|
1066
|
+
path: z.ZodString;
|
|
1067
|
+
baseUrl: z.ZodString;
|
|
1068
|
+
}, z.core.$strip>>;
|
|
1069
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
1070
|
+
created_at: z.ZodString;
|
|
1071
|
+
updated_at: z.ZodString;
|
|
1072
|
+
deleted_at: z.ZodNullable<z.ZodString>;
|
|
1073
|
+
}, z.core.$strip>;
|
|
1074
|
+
declare const skillWithContentSchema: z.ZodObject<{
|
|
1075
|
+
id: z.ZodString;
|
|
1076
|
+
project_id: z.ZodString;
|
|
1077
|
+
name: z.ZodString;
|
|
1078
|
+
title: z.ZodString;
|
|
1079
|
+
description: z.ZodString;
|
|
1080
|
+
source_kind: z.ZodEnum<{
|
|
1081
|
+
project: "project";
|
|
1082
|
+
extension: "extension";
|
|
1083
|
+
}>;
|
|
1084
|
+
files: z.ZodArray<z.ZodObject<{
|
|
1085
|
+
path: z.ZodString;
|
|
1086
|
+
content: z.ZodString;
|
|
1087
|
+
encoding: z.ZodLiteral<"utf8">;
|
|
1088
|
+
}, z.core.$strip>>;
|
|
1089
|
+
editable: z.ZodBoolean;
|
|
1090
|
+
extension_instance_id: z.ZodOptional<z.ZodString>;
|
|
1091
|
+
extension_id: z.ZodOptional<z.ZodString>;
|
|
1092
|
+
installed_extension_id: z.ZodOptional<z.ZodString>;
|
|
1093
|
+
install_name: z.ZodOptional<z.ZodString>;
|
|
1094
|
+
key: z.ZodOptional<z.ZodString>;
|
|
1095
|
+
source: z.ZodOptional<z.ZodObject<{
|
|
1096
|
+
kind: z.ZodLiteral<"package-asset">;
|
|
1097
|
+
path: z.ZodString;
|
|
1098
|
+
baseUrl: z.ZodString;
|
|
1099
|
+
}, z.core.$strip>>;
|
|
1100
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
1101
|
+
created_at: z.ZodString;
|
|
1102
|
+
updated_at: z.ZodString;
|
|
1103
|
+
deleted_at: z.ZodNullable<z.ZodString>;
|
|
1104
|
+
installed_agents: z.ZodArray<z.ZodString>;
|
|
1105
|
+
outdated_agents: z.ZodArray<z.ZodString>;
|
|
1106
|
+
agent_installations: z.ZodArray<z.ZodObject<{
|
|
1107
|
+
agent_id: z.ZodString;
|
|
1108
|
+
agent_name: z.ZodString;
|
|
1109
|
+
installed_version: z.ZodNullable<z.ZodString>;
|
|
1110
|
+
outdated: z.ZodBoolean;
|
|
1111
|
+
}, z.core.$strip>>;
|
|
1112
|
+
}, z.core.$strip>;
|
|
1113
|
+
declare const updateSkillInputSchema: z.ZodObject<{
|
|
1114
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
1115
|
+
title: z.ZodOptional<z.ZodString>;
|
|
1116
|
+
description: z.ZodOptional<z.ZodString>;
|
|
1117
|
+
}, z.core.$strip>;
|
|
1118
|
+
type Skill = z.infer<typeof skillSchema>;
|
|
1119
|
+
type SkillWithContent = z.infer<typeof skillWithContentSchema>;
|
|
1120
|
+
type SkillFile = z.infer<typeof skillFileSchema>;
|
|
1121
|
+
type UpdateSkillInput = z.infer<typeof updateSkillInputSchema>;
|
|
1122
|
+
//#endregion
|
|
1123
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/automation.d.ts
|
|
1124
|
+
interface ExtensionAutomationApi {
|
|
1125
|
+
/** Enqueue a command owned by this extension and declared automation: true. */
|
|
1126
|
+
enqueue(input: {
|
|
1127
|
+
command: CommandRef | string;
|
|
1128
|
+
input: CreateAutomationRunInput["input"];
|
|
1129
|
+
/** Required idempotency key, at most 200 characters. */
|
|
1130
|
+
key: string;
|
|
1131
|
+
}): Promise<AutomationRun>;
|
|
1132
|
+
get(runId: string): Promise<AutomationRun | undefined>;
|
|
1133
|
+
list(filter?: {
|
|
1134
|
+
status?: AutomationRunStatus[];
|
|
1135
|
+
}): Promise<AutomationRun[]>;
|
|
1136
|
+
cancel(runId: string): Promise<AutomationRun>;
|
|
1137
|
+
}
|
|
1138
|
+
//#endregion
|
|
1139
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/connections.d.ts
|
|
1140
|
+
type ExtensionConnectionMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
1141
|
+
interface ExtensionConnectionRequest {
|
|
1142
|
+
method: ExtensionConnectionMethod;
|
|
1143
|
+
path: string;
|
|
1144
|
+
headers?: Record<string, string>;
|
|
1145
|
+
body?: JsonValue;
|
|
1146
|
+
timeoutMs?: number;
|
|
1147
|
+
signal?: AbortSignal;
|
|
1148
|
+
}
|
|
1149
|
+
interface ExtensionConnectionResponse<TBody = JsonValue> {
|
|
1150
|
+
status: number;
|
|
1151
|
+
headers: Record<string, string>;
|
|
1152
|
+
body: TBody;
|
|
1153
|
+
}
|
|
1154
|
+
type ExtensionConnectionStreamEvent = {
|
|
1155
|
+
type: "response";
|
|
1156
|
+
status: number;
|
|
1157
|
+
headers: Record<string, string>;
|
|
1158
|
+
} | {
|
|
1159
|
+
type: "data";
|
|
1160
|
+
data: Uint8Array;
|
|
1161
|
+
} | {
|
|
1162
|
+
type: "end";
|
|
1163
|
+
};
|
|
1164
|
+
interface ExtensionConnectionsApi {
|
|
1165
|
+
request<TBody = JsonValue>(connectionId: string, input: ExtensionConnectionRequest): Promise<ExtensionConnectionResponse<TBody>>;
|
|
1166
|
+
stream(connectionId: string, input: ExtensionConnectionRequest): AsyncIterable<ExtensionConnectionStreamEvent>;
|
|
1167
|
+
}
|
|
1168
|
+
interface ExtensionLoggerApi {
|
|
1169
|
+
info(message: string, metadata?: JsonObject): void;
|
|
1170
|
+
warn(message: string, metadata?: JsonObject): void;
|
|
1171
|
+
error(message: string, metadata?: JsonObject): void;
|
|
1172
|
+
}
|
|
1173
|
+
//#endregion
|
|
1174
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/events.d.ts
|
|
1175
|
+
interface EventRef<TPayload extends Struct = Struct> {
|
|
1176
|
+
readonly extensionId?: string;
|
|
1177
|
+
readonly kind: "event";
|
|
1178
|
+
readonly id: string;
|
|
1179
|
+
payload?: TPayload;
|
|
1180
|
+
}
|
|
1181
|
+
interface EventDeliveryResult {
|
|
1182
|
+
delivered: number;
|
|
1183
|
+
diagnostics?: CommandDiagnostic[];
|
|
1184
|
+
}
|
|
1185
|
+
//#endregion
|
|
1186
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/slots.d.ts
|
|
1187
|
+
type UiSlotKind = "menu" | "panel" | "settings" | "renderer" | "kanbanRenderer" | "dataTableRenderer";
|
|
1188
|
+
interface SlotOptions<TKind extends UiSlotKind = UiSlotKind> {
|
|
1189
|
+
kind: TKind;
|
|
1190
|
+
label?: string;
|
|
1191
|
+
description?: string;
|
|
1192
|
+
metadata?: JsonObject;
|
|
1193
|
+
}
|
|
1194
|
+
interface SlotRef<TContext extends Struct = Struct, TKind extends UiSlotKind = UiSlotKind> {
|
|
1195
|
+
id: string;
|
|
1196
|
+
kind: TKind;
|
|
1197
|
+
label?: string;
|
|
1198
|
+
description?: string;
|
|
1199
|
+
metadata?: JsonObject;
|
|
1200
|
+
/** Phantom field used to constrain compatible contributions; never populated at runtime. */
|
|
1201
|
+
context?: TContext;
|
|
1202
|
+
}
|
|
1203
|
+
interface SlotInvocationContext<TContext extends Struct = Struct> {
|
|
1204
|
+
id: string;
|
|
1205
|
+
kind: UiSlotKind;
|
|
1206
|
+
context: TContext;
|
|
1207
|
+
}
|
|
1208
|
+
//#endregion
|
|
1209
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/renderer-base.d.ts
|
|
1210
|
+
/** A raw cross-extension id must be namespaced. Local events use an EventRef. */
|
|
1211
|
+
type RendererEventReference = EventRef | `${string}.${string}`;
|
|
1212
|
+
interface RendererContributionBase {
|
|
1213
|
+
title: Localizable<string>;
|
|
1214
|
+
icon?: string;
|
|
1215
|
+
resourceKind?: string;
|
|
1216
|
+
refreshEvents?: readonly RendererEventReference[];
|
|
1217
|
+
emptyTitle?: Localizable<string>;
|
|
1218
|
+
emptyDescription?: Localizable<string>;
|
|
1219
|
+
}
|
|
1220
|
+
//#endregion
|
|
1221
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/webview-capabilities.d.ts
|
|
1222
|
+
declare const WEBVIEW_HOST_CAPABILITY_VERSION = 1;
|
|
1223
|
+
declare const WEBVIEW_DECLARABLE_CAPABILITIES: readonly ["clipboard.write", "commands.execute", "navigation.open", "placement.close", "notification.show", "notification.action", "notification.resolve", "notification.dismiss", "preferences.get", "preferences.set", "extension.settings.all", "extension.settings.get", "extension.settings.set", "extension.settings.delete", "terminal.session", "files.upload", "files.list", "files.delete"];
|
|
1224
|
+
declare const WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES: readonly ["artifacts.read"];
|
|
1225
|
+
declare const ALWAYS_AVAILABLE_WEBVIEW_CAPABILITIES: readonly ["host.dispatchKeyboardEvent"];
|
|
1226
|
+
declare const WEBVIEW_HOST_CAPABILITIES: readonly [...("commands.execute" | "navigation.open" | "placement.close" | "notification.show" | "notification.action" | "notification.resolve" | "notification.dismiss" | "preferences.get" | "preferences.set" | "extension.settings.all" | "extension.settings.get" | "extension.settings.set" | "extension.settings.delete" | "terminal.session" | "files.upload" | "files.list" | "files.delete")[], "artifacts.read", "host.dispatchKeyboardEvent"];
|
|
1227
|
+
type WebviewHostCapability = (typeof WEBVIEW_HOST_CAPABILITIES)[number];
|
|
1228
|
+
type WebviewDeclarableCapability = (typeof WEBVIEW_DECLARABLE_CAPABILITIES)[number];
|
|
1229
|
+
type WebviewScopedDeclarableCapability = (typeof WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES)[number];
|
|
1230
|
+
type WebviewCapabilityDeclaration = WebviewDeclarableCapability | `${WebviewDeclarableCapability}@${typeof WEBVIEW_HOST_CAPABILITY_VERSION}` | `${WebviewScopedDeclarableCapability}:${string}`;
|
|
1231
|
+
interface WebviewCommandsExecuteParams {
|
|
1232
|
+
commandId: string;
|
|
1233
|
+
params?: JsonObject;
|
|
1234
|
+
workspaceId?: string;
|
|
1235
|
+
resource?: ResourceRef;
|
|
1236
|
+
metadata?: JsonObject;
|
|
1237
|
+
}
|
|
1238
|
+
interface WebviewNavigationOpenParams {
|
|
1239
|
+
target: NavigationTarget;
|
|
1240
|
+
}
|
|
1241
|
+
interface WebviewNotificationShowParams {
|
|
1242
|
+
level: "info" | "success" | "warning" | "error";
|
|
1243
|
+
title: string;
|
|
1244
|
+
message?: string;
|
|
1245
|
+
}
|
|
1246
|
+
type WebviewNotificationActionParams = Omit<CreateNotificationInput, "projectId">;
|
|
1247
|
+
interface WebviewNotificationResolveParams {
|
|
1248
|
+
id?: string;
|
|
1249
|
+
dedupeKey?: string;
|
|
1250
|
+
status?: Extract<NotificationStatus, "done" | "dismissed" | "expired">;
|
|
1251
|
+
}
|
|
1252
|
+
type WebviewNotificationDismissParams = Pick<WebviewNotificationResolveParams, "id" | "dedupeKey">;
|
|
1253
|
+
interface WebviewPreferencesGetParams {
|
|
1254
|
+
name: string;
|
|
1255
|
+
scope?: {
|
|
1256
|
+
scope: "default" | "user" | "project" | "workspace" | "extension" | "session";
|
|
1257
|
+
scopeId?: string;
|
|
1258
|
+
};
|
|
1259
|
+
}
|
|
1260
|
+
interface WebviewPreferencesSetParams extends WebviewPreferencesGetParams {
|
|
1261
|
+
value: boolean | number | string | string[] | number[] | boolean[] | Record<string, unknown>;
|
|
1262
|
+
}
|
|
1263
|
+
interface WebviewExtensionSettingKeyParams {
|
|
1264
|
+
key: string;
|
|
1265
|
+
}
|
|
1266
|
+
interface WebviewExtensionSettingSetParams extends WebviewExtensionSettingKeyParams {
|
|
1267
|
+
value: unknown;
|
|
1268
|
+
}
|
|
1269
|
+
type WebviewFileScope = {
|
|
1270
|
+
type: "project";
|
|
1271
|
+
} | {
|
|
1272
|
+
type: "resource";
|
|
1273
|
+
id: string;
|
|
1274
|
+
} | {
|
|
1275
|
+
type: string;
|
|
1276
|
+
id?: string;
|
|
1277
|
+
};
|
|
1278
|
+
interface WebviewFilesUploadParams {
|
|
1279
|
+
name: string;
|
|
1280
|
+
data: Uint8Array | ArrayBuffer;
|
|
1281
|
+
mimeType?: string;
|
|
1282
|
+
scope?: WebviewFileScope;
|
|
1283
|
+
}
|
|
1284
|
+
interface WebviewFilesListParams {
|
|
1285
|
+
scope?: WebviewFileScope;
|
|
1286
|
+
}
|
|
1287
|
+
interface WebviewFilesDeleteParams {
|
|
1288
|
+
id: string;
|
|
1289
|
+
}
|
|
1290
|
+
type WebviewArtifactsReadParams = {
|
|
1291
|
+
op: "list";
|
|
1292
|
+
mount: string;
|
|
1293
|
+
prefix?: string;
|
|
1294
|
+
} | {
|
|
1295
|
+
op: "readText";
|
|
1296
|
+
mount: string;
|
|
1297
|
+
path: string;
|
|
1298
|
+
} | {
|
|
1299
|
+
op: "imageUrl";
|
|
1300
|
+
mount: string;
|
|
1301
|
+
path: string;
|
|
1302
|
+
};
|
|
1303
|
+
interface WebviewArtifactFile {
|
|
1304
|
+
path: string;
|
|
1305
|
+
size: number;
|
|
1306
|
+
mediaType: string;
|
|
1307
|
+
}
|
|
1308
|
+
interface WebviewKeyboardEventParams {
|
|
1309
|
+
key?: string;
|
|
1310
|
+
code?: string;
|
|
1311
|
+
ctrlKey?: boolean;
|
|
1312
|
+
metaKey?: boolean;
|
|
1313
|
+
altKey?: boolean;
|
|
1314
|
+
shiftKey?: boolean;
|
|
1315
|
+
repeat?: boolean;
|
|
1316
|
+
}
|
|
1317
|
+
interface WebviewHostCapabilityParams {
|
|
1318
|
+
"commands.execute": WebviewCommandsExecuteParams;
|
|
1319
|
+
"navigation.open": WebviewNavigationOpenParams;
|
|
1320
|
+
"placement.close": Record<string, never>;
|
|
1321
|
+
"notification.show": WebviewNotificationShowParams;
|
|
1322
|
+
"notification.action": WebviewNotificationActionParams;
|
|
1323
|
+
"notification.resolve": WebviewNotificationResolveParams;
|
|
1324
|
+
"notification.dismiss": WebviewNotificationDismissParams;
|
|
1325
|
+
"preferences.get": WebviewPreferencesGetParams;
|
|
1326
|
+
"preferences.set": WebviewPreferencesSetParams;
|
|
1327
|
+
"extension.settings.all": Record<string, never>;
|
|
1328
|
+
"extension.settings.get": WebviewExtensionSettingKeyParams;
|
|
1329
|
+
"extension.settings.set": WebviewExtensionSettingSetParams;
|
|
1330
|
+
"extension.settings.delete": WebviewExtensionSettingKeyParams;
|
|
1331
|
+
"terminal.session": TerminalSessionOperation$1;
|
|
1332
|
+
"files.upload": WebviewFilesUploadParams;
|
|
1333
|
+
"files.list": WebviewFilesListParams;
|
|
1334
|
+
"files.delete": WebviewFilesDeleteParams;
|
|
1335
|
+
"artifacts.read": WebviewArtifactsReadParams;
|
|
1336
|
+
"host.dispatchKeyboardEvent": WebviewKeyboardEventParams;
|
|
1337
|
+
}
|
|
1338
|
+
interface WebviewHostCapabilityResults {
|
|
1339
|
+
"commands.execute": {
|
|
1340
|
+
outcome: CommandOutcome;
|
|
1341
|
+
};
|
|
1342
|
+
"navigation.open": void;
|
|
1343
|
+
"placement.close": void;
|
|
1344
|
+
"notification.show": void;
|
|
1345
|
+
"notification.action": Notification;
|
|
1346
|
+
"notification.resolve": Notification | {
|
|
1347
|
+
resolved: number;
|
|
1348
|
+
notifications: Notification[];
|
|
1349
|
+
};
|
|
1350
|
+
"notification.dismiss": Notification | {
|
|
1351
|
+
resolved: number;
|
|
1352
|
+
notifications: Notification[];
|
|
1353
|
+
};
|
|
1354
|
+
"preferences.get": WebviewPreferencesSetParams["value"] | undefined;
|
|
1355
|
+
"preferences.set": {
|
|
1356
|
+
name: string;
|
|
1357
|
+
value: WebviewPreferencesSetParams["value"];
|
|
1358
|
+
};
|
|
1359
|
+
"extension.settings.all": Record<string, unknown>;
|
|
1360
|
+
"extension.settings.get": unknown;
|
|
1361
|
+
"extension.settings.set": void;
|
|
1362
|
+
"extension.settings.delete": void;
|
|
1363
|
+
"terminal.session": TerminalSessionResult$1;
|
|
1364
|
+
"files.upload": ExtensionBlobRef;
|
|
1365
|
+
"files.list": {
|
|
1366
|
+
files: ExtensionBlobRef[];
|
|
1367
|
+
};
|
|
1368
|
+
"files.delete": void;
|
|
1369
|
+
"artifacts.read": WebviewArtifactFile[] | string;
|
|
1370
|
+
"host.dispatchKeyboardEvent": void;
|
|
1371
|
+
}
|
|
1372
|
+
type WebviewHostCapabilityResult<Capability extends WebviewHostCapability, Params extends WebviewHostCapabilityParams[Capability] = WebviewHostCapabilityParams[Capability]> = Capability extends "artifacts.read" ? Params extends {
|
|
1373
|
+
op: "list";
|
|
1374
|
+
} ? WebviewArtifactFile[] : Params extends {
|
|
1375
|
+
op: "readText" | "imageUrl";
|
|
1376
|
+
} ? string : WebviewHostCapabilityResults[Capability] : Capability extends "terminal.session" ? Params extends {
|
|
1377
|
+
operation: "open";
|
|
1378
|
+
} ? Extract<TerminalSessionResult$1, {
|
|
1379
|
+
operation: "open";
|
|
1380
|
+
}> : Params extends {
|
|
1381
|
+
operation: "write" | "resize" | "kill" | "subscribe";
|
|
1382
|
+
} ? Exclude<TerminalSessionResult$1, {
|
|
1383
|
+
operation: "open";
|
|
1384
|
+
}> : TerminalSessionResult$1 : WebviewHostCapabilityResults[Capability];
|
|
1385
|
+
//#endregion
|
|
1386
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/params.d.ts
|
|
1387
|
+
type ParamType = "text" | "longtext" | "markdown" | "number" | "boolean" | "select" | "multi-select" | "files" | "harness" | "template" | "resource" | "workspace" | "json" | "list";
|
|
1388
|
+
type ParamRequired<TRequired extends boolean | undefined> = TRequired extends true ? {
|
|
1389
|
+
required: true;
|
|
1390
|
+
} : TRequired extends false ? {
|
|
1391
|
+
required: false;
|
|
1392
|
+
} : {
|
|
1393
|
+
required?: boolean;
|
|
1394
|
+
};
|
|
1395
|
+
type ParamBase<TValue, TRequired extends boolean | undefined = boolean | undefined> = {
|
|
1396
|
+
label?: Localizable<string>;
|
|
1397
|
+
description?: Localizable<string>;
|
|
1398
|
+
defaultValue?: TValue;
|
|
1399
|
+
metadata?: JsonObject;
|
|
1400
|
+
resolvedFrom?: "resource";
|
|
1401
|
+
} & ParamRequired<TRequired>;
|
|
1402
|
+
type TextParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
1403
|
+
type: "text";
|
|
1404
|
+
};
|
|
1405
|
+
type LongTextParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
1406
|
+
type: "longtext";
|
|
1407
|
+
};
|
|
1408
|
+
type MarkdownParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
1409
|
+
type: "markdown";
|
|
1410
|
+
placeholder?: Localizable<string>;
|
|
1411
|
+
};
|
|
1412
|
+
type NumberParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<number, TRequired> & {
|
|
1413
|
+
type: "number";
|
|
1414
|
+
};
|
|
1415
|
+
type FilesParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string[], TRequired> & {
|
|
1416
|
+
type: "files";
|
|
1417
|
+
multiple?: boolean;
|
|
1418
|
+
/** Passed through to the picker, e.g. "image/*". */
|
|
1419
|
+
accept?: string;
|
|
1420
|
+
};
|
|
1421
|
+
type BooleanParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<boolean, TRequired> & {
|
|
1422
|
+
type: "boolean";
|
|
1423
|
+
};
|
|
1424
|
+
type ParamValueRef = {
|
|
1425
|
+
kind: "param-value";
|
|
1426
|
+
key: string;
|
|
1427
|
+
};
|
|
1428
|
+
interface ParamOptionSource {
|
|
1429
|
+
command: CommandRef;
|
|
1430
|
+
valueField: string;
|
|
1431
|
+
labelField: string;
|
|
1432
|
+
params?: Record<string, unknown | ParamValueRef>;
|
|
1433
|
+
}
|
|
1434
|
+
type ParamOption = {
|
|
1435
|
+
label: string;
|
|
1436
|
+
value: string;
|
|
1437
|
+
icon?: string;
|
|
1438
|
+
};
|
|
1439
|
+
type SelectParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
1440
|
+
type: "select";
|
|
1441
|
+
options: ParamOption[] | ParamOptionSource;
|
|
1442
|
+
allowCustomValues?: boolean;
|
|
1443
|
+
};
|
|
1444
|
+
type MultiSelectParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string[], TRequired> & {
|
|
1445
|
+
type: "multi-select";
|
|
1446
|
+
options: ParamOption[] | ParamOptionSource;
|
|
1447
|
+
allowCustomValues?: boolean;
|
|
1448
|
+
};
|
|
1449
|
+
type HarnessParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<{
|
|
1450
|
+
harnessId: string;
|
|
1451
|
+
model?: string;
|
|
1452
|
+
params?: Record<string, string | boolean>;
|
|
1453
|
+
}, TRequired> & {
|
|
1454
|
+
type: "harness";
|
|
1455
|
+
};
|
|
1456
|
+
type TemplateParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string, TRequired> & {
|
|
1457
|
+
type: "template";
|
|
1458
|
+
templateType: string;
|
|
1459
|
+
};
|
|
1460
|
+
type ResourceParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<ResourceRef, TRequired> & {
|
|
1461
|
+
type: "resource";
|
|
1462
|
+
resourceType: string;
|
|
1463
|
+
};
|
|
1464
|
+
type WorkspaceParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<{
|
|
1465
|
+
providerId: string;
|
|
1466
|
+
params?: JsonObject;
|
|
1467
|
+
}, TRequired> & {
|
|
1468
|
+
type: "workspace";
|
|
1469
|
+
/** Provider ids the user may choose from. Omit to offer every provider. */
|
|
1470
|
+
providers?: string[];
|
|
1471
|
+
};
|
|
1472
|
+
type JsonParam<T = unknown, TRequired extends boolean | undefined = boolean | undefined> = ParamBase<T, TRequired> & {
|
|
1473
|
+
type: "json";
|
|
1474
|
+
};
|
|
1475
|
+
type ListParam<TRequired extends boolean | undefined = boolean | undefined> = ParamBase<string[], TRequired> & {
|
|
1476
|
+
type: "list";
|
|
1477
|
+
};
|
|
1478
|
+
type ParamDescriptor<TValue = unknown, TRequired extends boolean | undefined = boolean | undefined> = TextParam<TRequired> | LongTextParam<TRequired> | MarkdownParam<TRequired> | NumberParam<TRequired> | BooleanParam<TRequired> | SelectParam<TRequired> | MultiSelectParam<TRequired> | FilesParam<TRequired> | HarnessParam<TRequired> | TemplateParam<TRequired> | ResourceParam<TRequired> | WorkspaceParam<TRequired> | JsonParam<TValue, TRequired> | ListParam<TRequired>;
|
|
1479
|
+
type ParamObjectSchema = Record<string, ParamDescriptor>;
|
|
1480
|
+
type ParamValue<TDescriptor extends ParamDescriptor> = TDescriptor extends ParamDescriptor<infer V> ? V : never;
|
|
1481
|
+
type RequiredParamKeys<TSchema extends ParamObjectSchema> = { [K in keyof TSchema]: TSchema[K] extends {
|
|
1482
|
+
required: true;
|
|
1483
|
+
} ? K : never; }[keyof TSchema];
|
|
1484
|
+
type OptionalParamKeys<TSchema extends ParamObjectSchema> = Exclude<keyof TSchema, RequiredParamKeys<TSchema>>;
|
|
1485
|
+
type ParamsOf<TSchema extends ParamObjectSchema> = { [K in RequiredParamKeys<TSchema>]: ParamValue<TSchema[K]>; } & { [K in OptionalParamKeys<TSchema>]?: ParamValue<TSchema[K]>; };
|
|
1486
|
+
//#endregion
|
|
1487
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/view-toolbar-action.d.ts
|
|
1488
|
+
interface ViewToolbarAction<TParams extends Struct = Struct> {
|
|
1489
|
+
id: string;
|
|
1490
|
+
label: Localizable<string>;
|
|
1491
|
+
icon?: string;
|
|
1492
|
+
presentation?: "primary" | "secondary";
|
|
1493
|
+
command: CommandRef<TParams, unknown>;
|
|
1494
|
+
params?: Record<string, unknown>;
|
|
1495
|
+
input?: ParamObjectSchema;
|
|
1496
|
+
submitLabel?: string;
|
|
1497
|
+
when?: string;
|
|
1498
|
+
disabled?: boolean;
|
|
1499
|
+
}
|
|
1500
|
+
//#endregion
|
|
1501
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/kanban-renderer.d.ts
|
|
1502
|
+
type KanbanRendererViewMode = "board" | "list";
|
|
1503
|
+
type KanbanRendererSortDirection = "asc" | "desc";
|
|
1504
|
+
interface KanbanRendererEnumOption {
|
|
1505
|
+
value: string;
|
|
1506
|
+
label: Localizable<string>;
|
|
1507
|
+
color?: string;
|
|
1508
|
+
icon?: string | null;
|
|
1509
|
+
}
|
|
1510
|
+
type KanbanRendererAttributeType = {
|
|
1511
|
+
kind: "enum";
|
|
1512
|
+
options: KanbanRendererEnumOption[];
|
|
1513
|
+
} | {
|
|
1514
|
+
kind: "enum-multi";
|
|
1515
|
+
options: KanbanRendererEnumOption[];
|
|
1516
|
+
} | {
|
|
1517
|
+
kind: "status";
|
|
1518
|
+
statuses: StatusRef;
|
|
1519
|
+
} | {
|
|
1520
|
+
kind: "string";
|
|
1521
|
+
} | {
|
|
1522
|
+
kind: "date";
|
|
1523
|
+
} | {
|
|
1524
|
+
kind: "number";
|
|
1525
|
+
} | {
|
|
1526
|
+
kind: "user";
|
|
1527
|
+
};
|
|
1528
|
+
interface CollectionBadgeItem {
|
|
1529
|
+
id: string;
|
|
1530
|
+
label: string;
|
|
1531
|
+
icon?: string;
|
|
1532
|
+
resource?: ResourceRef;
|
|
1533
|
+
}
|
|
1534
|
+
type KanbanRendererAttributeDisplay = {
|
|
1535
|
+
kind: "badge-list";
|
|
1536
|
+
itemsAttributeId: string;
|
|
1537
|
+
};
|
|
1538
|
+
interface KanbanRendererAttributeDescriptor {
|
|
1539
|
+
id: string;
|
|
1540
|
+
label: Localizable<string>;
|
|
1541
|
+
type: KanbanRendererAttributeType;
|
|
1542
|
+
filterable?: boolean;
|
|
1543
|
+
groupable?: boolean;
|
|
1544
|
+
sortable?: boolean;
|
|
1545
|
+
displayable?: boolean;
|
|
1546
|
+
editable?: boolean;
|
|
1547
|
+
display?: KanbanRendererAttributeDisplay;
|
|
1548
|
+
}
|
|
1549
|
+
interface KanbanRendererSettings {
|
|
1550
|
+
viewMode: KanbanRendererViewMode;
|
|
1551
|
+
columnGrouping: string;
|
|
1552
|
+
rowGrouping: string;
|
|
1553
|
+
ordering: {
|
|
1554
|
+
attributeId: string;
|
|
1555
|
+
direction: KanbanRendererSortDirection;
|
|
1556
|
+
};
|
|
1557
|
+
displayProperties: string[];
|
|
1558
|
+
}
|
|
1559
|
+
type KanbanRendererFilterState = Record<string, string[]>;
|
|
1560
|
+
interface KanbanRendererSavedView {
|
|
1561
|
+
id: string;
|
|
1562
|
+
title: Localizable<string>;
|
|
1563
|
+
settings: KanbanRendererSettings;
|
|
1564
|
+
filters: KanbanRendererFilterState;
|
|
1565
|
+
/** @deprecated Use the renderer's defaultActiveViewId instead. */
|
|
1566
|
+
isDefault?: boolean;
|
|
1567
|
+
}
|
|
1568
|
+
interface KanbanRendererQueryParams {
|
|
1569
|
+
renderer: RendererContext;
|
|
1570
|
+
settings: KanbanRendererSettings;
|
|
1571
|
+
filters: KanbanRendererFilterState;
|
|
1572
|
+
}
|
|
1573
|
+
type KanbanRendererResourceRef = ResourceRef;
|
|
1574
|
+
interface KanbanRendererRow {
|
|
1575
|
+
id: string;
|
|
1576
|
+
title: string;
|
|
1577
|
+
resource?: KanbanRendererResourceRef;
|
|
1578
|
+
attributes: Record<string, unknown>;
|
|
1579
|
+
}
|
|
1580
|
+
interface KanbanRendererColumnAction {
|
|
1581
|
+
id: string;
|
|
1582
|
+
label: Localizable<string>;
|
|
1583
|
+
icon?: string;
|
|
1584
|
+
}
|
|
1585
|
+
interface KanbanRendererBoardColumnConfig {
|
|
1586
|
+
color?: string;
|
|
1587
|
+
canDragIn?: boolean;
|
|
1588
|
+
canDragOut?: boolean;
|
|
1589
|
+
canCreate?: boolean;
|
|
1590
|
+
actions?: KanbanRendererColumnAction[];
|
|
1591
|
+
}
|
|
1592
|
+
interface KanbanRendererQueryResult {
|
|
1593
|
+
rows: KanbanRendererRow[];
|
|
1594
|
+
attributes?: KanbanRendererAttributeDescriptor[];
|
|
1595
|
+
boardColumnConfigs?: Record<string, KanbanRendererBoardColumnConfig>;
|
|
1596
|
+
}
|
|
1597
|
+
interface KanbanRendererCreateRowContribution<TParams extends ParamObjectSchema = ParamObjectSchema> {
|
|
1598
|
+
command: CommandRef<Struct, unknown>;
|
|
1599
|
+
title?: Localizable<string>;
|
|
1600
|
+
submitLabel?: Localizable<string>;
|
|
1601
|
+
columnParam?: string;
|
|
1602
|
+
params?: TParams;
|
|
1603
|
+
attributesParam?: string;
|
|
1604
|
+
attachments?: {
|
|
1605
|
+
command: CommandRef<Struct, unknown>;
|
|
1606
|
+
resourceParam: string;
|
|
1607
|
+
fileParam: string;
|
|
1608
|
+
};
|
|
1609
|
+
labels?: {
|
|
1610
|
+
cancel?: Localizable<string>;
|
|
1611
|
+
properties?: Localizable<string>;
|
|
1612
|
+
submitError?: Localizable<string>;
|
|
1613
|
+
removeFile?: Localizable<string>;
|
|
1614
|
+
};
|
|
1615
|
+
}
|
|
1616
|
+
interface KanbanRendererRowAction<TParams extends Struct = Struct> {
|
|
1617
|
+
id: string;
|
|
1618
|
+
label: Localizable<string>;
|
|
1619
|
+
icon?: string;
|
|
1620
|
+
command: CommandRef<TParams, unknown>;
|
|
1621
|
+
destructive?: boolean;
|
|
1622
|
+
}
|
|
1623
|
+
type KanbanRendererRowActivationHandler = RendererCallback<{
|
|
1624
|
+
row: KanbanRendererRow;
|
|
1625
|
+
}, void>;
|
|
1626
|
+
interface KanbanRendererContribution extends RendererContributionBase {
|
|
1627
|
+
toolbarActions?: ViewToolbarAction[];
|
|
1628
|
+
attributes?: KanbanRendererAttributeDescriptor[];
|
|
1629
|
+
query: RendererCallback<KanbanRendererQueryParams, KanbanRendererQueryResult>;
|
|
1630
|
+
onAttributeChange?: RendererCallback<{
|
|
1631
|
+
rowId: string;
|
|
1632
|
+
attributeId: string;
|
|
1633
|
+
value: unknown;
|
|
1634
|
+
}, unknown>;
|
|
1635
|
+
onReorder?: RendererCallback<{
|
|
1636
|
+
rowId: string;
|
|
1637
|
+
beforeRowId?: string;
|
|
1638
|
+
}, unknown>;
|
|
1639
|
+
onColumnAction?: RendererCallback<{
|
|
1640
|
+
columnId: string;
|
|
1641
|
+
actionId: string;
|
|
1642
|
+
}, unknown>;
|
|
1643
|
+
createRow?: KanbanRendererCreateRowContribution;
|
|
1644
|
+
rowActions?: KanbanRendererRowAction[];
|
|
1645
|
+
onRowActivate?: KanbanRendererRowActivationHandler;
|
|
1646
|
+
defaultSettings?: Partial<KanbanRendererSettings>;
|
|
1647
|
+
defaultFilters?: KanbanRendererFilterState;
|
|
1648
|
+
defaultViews?: KanbanRendererSavedView[];
|
|
1649
|
+
defaultActiveViewId?: string;
|
|
1650
|
+
hideToolbar?: boolean;
|
|
1651
|
+
}
|
|
1652
|
+
//#endregion
|
|
1653
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/contributions.d.ts
|
|
1654
|
+
interface CliContribution {
|
|
1655
|
+
path?: string[];
|
|
1656
|
+
globalAliases?: string[][];
|
|
1657
|
+
description?: Localizable<string>;
|
|
1658
|
+
examples?: string[];
|
|
1659
|
+
hidden?: boolean;
|
|
1660
|
+
}
|
|
1661
|
+
interface WhenExpression {
|
|
1662
|
+
mode?: ModeRef | readonly ModeRef[];
|
|
1663
|
+
source?: CommandSource[];
|
|
1664
|
+
view?: ViewRef | readonly ViewRef[];
|
|
1665
|
+
resourceType?: readonly ResourceKindRef[];
|
|
1666
|
+
metadata?: JsonObject;
|
|
1667
|
+
}
|
|
1668
|
+
interface MenuContribution<TSlotContext extends Struct = Struct, TParams extends Struct = Struct> {
|
|
1669
|
+
slot: SlotRef<TSlotContext, "menu">;
|
|
1670
|
+
label?: Localizable<string>;
|
|
1671
|
+
group?: string;
|
|
1672
|
+
placement?: "first" | "default" | "last";
|
|
1673
|
+
icon?: string;
|
|
1674
|
+
when?: WhenExpression;
|
|
1675
|
+
params?: Partial<TParams>;
|
|
1676
|
+
presentation?: "menu-item" | "button" | "icon-button";
|
|
1677
|
+
}
|
|
1678
|
+
interface CommandPaletteContribution<TParams extends Struct = Struct> {
|
|
1679
|
+
label?: Localizable<string>;
|
|
1680
|
+
group?: string;
|
|
1681
|
+
placement?: "first" | "default" | "last";
|
|
1682
|
+
icon?: string;
|
|
1683
|
+
when?: WhenExpression;
|
|
1684
|
+
params?: Partial<TParams>;
|
|
1685
|
+
}
|
|
1686
|
+
interface ActivityItemContribution<TParams extends Struct = Struct> extends ContributionDefinition<"activity-item"> {
|
|
1687
|
+
title: Localizable<string>;
|
|
1688
|
+
icon: string;
|
|
1689
|
+
/** Mode ids whose activity rail shows this item. */
|
|
1690
|
+
modes: readonly ModeRef[];
|
|
1691
|
+
placement?: "first" | "default" | "last";
|
|
1692
|
+
command: CommandRef<TParams, unknown>;
|
|
1693
|
+
params?: Partial<TParams>;
|
|
1694
|
+
}
|
|
1695
|
+
interface ModeRegionSettings {
|
|
1696
|
+
/** Hide the panel header when the mode supplies its own controls. */
|
|
1697
|
+
readonly showHeader?: boolean;
|
|
1698
|
+
readonly size?: RegionSize;
|
|
1699
|
+
/** Allow dragging this region closed. Explicit hide/show is always available. */
|
|
1700
|
+
readonly collapsible?: boolean;
|
|
1701
|
+
/** Keep a tab visible when this region has only one visible item. */
|
|
1702
|
+
readonly alwaysShowTabs?: boolean;
|
|
1703
|
+
}
|
|
1704
|
+
interface ModeContribution extends ContributionDefinition<"mode"> {
|
|
1705
|
+
label: Localizable<string>;
|
|
1706
|
+
icon?: string;
|
|
1707
|
+
regions: readonly ExtensionPanelRegion[];
|
|
1708
|
+
/** Default theme for this mode. An explicit user choice for the mode takes precedence. */
|
|
1709
|
+
defaultTheme?: ThemeRef;
|
|
1710
|
+
/** Whether side panels may float while this mode is active. Defaults to visible. */
|
|
1711
|
+
floatingPanels?: "visible" | "hidden";
|
|
1712
|
+
/** Replace host chrome with a view, or hide it with false, while the mode is active. */
|
|
1713
|
+
chrome?: Partial<Record<"nav" | "sidenav" | "activity" | "status", ViewRef | false>>;
|
|
1714
|
+
/** Region-level layout policy. The mode owns it; placements cannot set it. */
|
|
1715
|
+
regionSettings?: Readonly<Partial<Record<DockedWorkbenchRegion, ModeRegionSettings>>>;
|
|
1716
|
+
}
|
|
1717
|
+
interface WebviewContribution {
|
|
1718
|
+
entry: PackageAssetDescriptor;
|
|
1719
|
+
title?: Localizable<string>;
|
|
1720
|
+
capabilities?: WebviewCapabilityDeclaration[];
|
|
1721
|
+
}
|
|
1722
|
+
interface SettingsPanelContribution extends ContributionDefinition<"settings-panel"> {
|
|
1723
|
+
view: ViewRef;
|
|
1724
|
+
slot: SettingsSlotRef;
|
|
1725
|
+
section?: SettingsSectionRef;
|
|
1726
|
+
}
|
|
1727
|
+
/** A named group in the settings navigation that an extension's panels can sit under. */
|
|
1728
|
+
interface SettingsSectionContribution extends ContributionDefinition<"settings-section"> {
|
|
1729
|
+
title: Localizable<string>;
|
|
1730
|
+
/** Lower sorts first among sibling sections. */
|
|
1731
|
+
order?: number;
|
|
1732
|
+
}
|
|
1733
|
+
/**
|
|
1734
|
+
* Command palette resource providers contribute dynamic, searchable palette results
|
|
1735
|
+
* (e.g. slides in a presentation) backed by a private query callback. The host queries
|
|
1736
|
+
* matching providers as the user types and refreshes results when a declared event fires.
|
|
1737
|
+
*/
|
|
1738
|
+
interface CommandPaletteResourceQueryParams {
|
|
1739
|
+
projectId?: string;
|
|
1740
|
+
modeId?: string;
|
|
1741
|
+
activeResource?: ResourceRef;
|
|
1742
|
+
providerId: string;
|
|
1743
|
+
query: string;
|
|
1744
|
+
limit: number;
|
|
1745
|
+
}
|
|
1746
|
+
type CommandPaletteResourceTarget = NavigationTarget;
|
|
1747
|
+
interface CommandPaletteResourceItem {
|
|
1748
|
+
id: string;
|
|
1749
|
+
label: string;
|
|
1750
|
+
description?: string;
|
|
1751
|
+
icon?: string;
|
|
1752
|
+
keywords?: string[];
|
|
1753
|
+
target: CommandPaletteResourceTarget;
|
|
1754
|
+
}
|
|
1755
|
+
interface CommandPaletteResourceQueryResult {
|
|
1756
|
+
items: CommandPaletteResourceItem[];
|
|
1757
|
+
}
|
|
1758
|
+
interface CommandPaletteResourceContribution extends ContributionDefinition<"command-palette-resource"> {
|
|
1759
|
+
title: Localizable<string>;
|
|
1760
|
+
resourceKind?: ResourceKindRef;
|
|
1761
|
+
query: RendererCallback<CommandPaletteResourceQueryParams, CommandPaletteResourceQueryResult>;
|
|
1762
|
+
refreshEvents?: readonly RendererEventReference[];
|
|
1763
|
+
}
|
|
1764
|
+
type ExtensionSettingScope = "global" | "project";
|
|
1765
|
+
type ExtensionSettingValueType = "boolean" | "number" | "string" | "array" | "object";
|
|
1766
|
+
type ExtensionSettingValueForType<TType extends ExtensionSettingValueType> = TType extends "boolean" ? boolean : TType extends "number" ? number : TType extends "string" ? string : TType extends "array" ? JsonValue[] : JsonObject;
|
|
1767
|
+
type ExtensionSettingProperty<TType extends ExtensionSettingValueType = ExtensionSettingValueType> = { [TSettingType in TType]: {
|
|
1768
|
+
type: TSettingType;
|
|
1769
|
+
scope: ExtensionSettingScope;
|
|
1770
|
+
default?: ExtensionSettingValueForType<TSettingType>;
|
|
1771
|
+
enum?: ExtensionSettingValueForType<TSettingType>[];
|
|
1772
|
+
title?: Localizable<string>;
|
|
1773
|
+
description?: Localizable<string>;
|
|
1774
|
+
}; }[TType];
|
|
1775
|
+
interface ExtensionSettingsContribution<TProperties extends Record<string, ExtensionSettingProperty> = Record<string, ExtensionSettingProperty>> {
|
|
1776
|
+
properties: TProperties;
|
|
1777
|
+
}
|
|
1778
|
+
interface ArtifactMountContribution extends ContributionDefinition<"artifact-mount"> {
|
|
1779
|
+
/** Relative path under .pstdio/<extension.name>/. */
|
|
1780
|
+
path: string;
|
|
1781
|
+
label: Localizable<string>;
|
|
1782
|
+
}
|
|
1783
|
+
interface TemplateTypeContribution extends ContributionDefinition<"template-type"> {
|
|
1784
|
+
label: Localizable<string>;
|
|
1785
|
+
description?: Localizable<string>;
|
|
1786
|
+
order?: number;
|
|
1787
|
+
commands?: {
|
|
1788
|
+
list: CommandRef;
|
|
1789
|
+
read: CommandRef;
|
|
1790
|
+
save: CommandRef;
|
|
1791
|
+
delete: CommandRef;
|
|
1792
|
+
};
|
|
1793
|
+
}
|
|
1794
|
+
interface TemplateContribution extends ContributionDefinition<"template"> {
|
|
1795
|
+
title: Localizable<string>;
|
|
1796
|
+
type: string;
|
|
1797
|
+
source: PackageAssetDescriptor;
|
|
1798
|
+
description?: Localizable<string>;
|
|
1799
|
+
}
|
|
1800
|
+
interface SkillContribution extends ContributionDefinition<"skill"> {
|
|
1801
|
+
title: Localizable<string>;
|
|
1802
|
+
source: PackageAssetDescriptor;
|
|
1803
|
+
description?: Localizable<string>;
|
|
1804
|
+
}
|
|
1805
|
+
type ThemeMode = "light" | "dark";
|
|
1806
|
+
interface ThemeContribution extends ContributionDefinition<"theme"> {
|
|
1807
|
+
title: Localizable<string>;
|
|
1808
|
+
source: PackageAssetDescriptor;
|
|
1809
|
+
format: "vscode-color-theme";
|
|
1810
|
+
mode?: ThemeMode;
|
|
1811
|
+
description?: Localizable<string>;
|
|
1812
|
+
}
|
|
1813
|
+
interface FileIconThemeContribution extends ContributionDefinition<"file-icon-theme"> {
|
|
1814
|
+
title: Localizable<string>;
|
|
1815
|
+
source: PackageAssetDescriptor;
|
|
1816
|
+
format: "vscode-file-icon-theme";
|
|
1817
|
+
description?: Localizable<string>;
|
|
1818
|
+
}
|
|
1819
|
+
/**
|
|
1820
|
+
* Chord string in TanStack Hotkeys syntax (e.g. "mod+shift+p"). `mod` is
|
|
1821
|
+
* Cmd on macOS and Ctrl elsewhere. Parsing, validation, canonicalization,
|
|
1822
|
+
* and display labels are all delegated to `@tanstack/hotkeys`.
|
|
1823
|
+
*/
|
|
1824
|
+
type KeybindingChord = string;
|
|
1825
|
+
interface KeybindingContribution extends ContributionDefinition<"keybinding"> {
|
|
1826
|
+
/** Default chord. Used on every platform unless an override is provided. */
|
|
1827
|
+
key: KeybindingChord;
|
|
1828
|
+
/** macOS override. */
|
|
1829
|
+
mac?: KeybindingChord;
|
|
1830
|
+
/** Linux override. */
|
|
1831
|
+
linux?: KeybindingChord;
|
|
1832
|
+
/** Windows override. */
|
|
1833
|
+
win?: KeybindingChord;
|
|
1834
|
+
/** Action this chord executes through the shared navigation executor. */
|
|
1835
|
+
action: NavigationTarget;
|
|
1836
|
+
/** Optional gating predicate. The host evaluates it at dispatch time. */
|
|
1837
|
+
when?: WhenExpression;
|
|
1838
|
+
}
|
|
1839
|
+
//#endregion
|
|
1840
|
+
//#region ../pstdio-api-contracts/src/session-messages.d.ts
|
|
1841
|
+
type SessionMessageRole = "user" | "assistant" | "tool" | "system" | "developer";
|
|
1842
|
+
type TextPart = {
|
|
1843
|
+
type: "text";
|
|
1844
|
+
text: string;
|
|
1845
|
+
};
|
|
1846
|
+
type ReasoningPart = {
|
|
1847
|
+
type: "reasoning";
|
|
1848
|
+
text: string;
|
|
1849
|
+
};
|
|
1850
|
+
type ToolPartActionType = "read" | "write" | "execute" | "network" | "other";
|
|
1851
|
+
type ToolPartStatus = "pending" | "running" | "completed" | "failed" | "denied";
|
|
1852
|
+
type ToolPart = {
|
|
1853
|
+
type: "tool";
|
|
1854
|
+
tool: string;
|
|
1855
|
+
callId?: string;
|
|
1856
|
+
actionType?: ToolPartActionType;
|
|
1857
|
+
status?: ToolPartStatus;
|
|
1858
|
+
state?: {
|
|
1859
|
+
status?: string;
|
|
1860
|
+
input?: unknown;
|
|
1861
|
+
output?: unknown;
|
|
1862
|
+
errorText?: string;
|
|
1863
|
+
metadata?: unknown;
|
|
1864
|
+
};
|
|
1865
|
+
};
|
|
1866
|
+
type StepStartPart = {
|
|
1867
|
+
type: "step-start";
|
|
1868
|
+
snapshot?: string;
|
|
1869
|
+
};
|
|
1870
|
+
type StepFinishPart = {
|
|
1871
|
+
type: "step-finish";
|
|
1872
|
+
reason?: string;
|
|
1873
|
+
snapshot?: string;
|
|
1874
|
+
cost?: number;
|
|
1875
|
+
tokens?: unknown;
|
|
1876
|
+
};
|
|
1877
|
+
type PatchPart = {
|
|
1878
|
+
type: "patch";
|
|
1879
|
+
hash?: string;
|
|
1880
|
+
files?: unknown;
|
|
1881
|
+
};
|
|
1882
|
+
type FilePart = {
|
|
1883
|
+
type: "file";
|
|
1884
|
+
fileId?: string;
|
|
1885
|
+
mediaType?: string;
|
|
1886
|
+
filename?: string;
|
|
1887
|
+
size?: number;
|
|
1888
|
+
url: string;
|
|
1889
|
+
};
|
|
1890
|
+
type LoadingPart = {
|
|
1891
|
+
type: "loading";
|
|
1892
|
+
};
|
|
1893
|
+
type ErrorPart = {
|
|
1894
|
+
type: "error";
|
|
1895
|
+
errorType: "timeout" | "crash" | "permission" | "other";
|
|
1896
|
+
message?: string;
|
|
1897
|
+
};
|
|
1898
|
+
type TokenUsagePart = {
|
|
1899
|
+
type: "token_usage";
|
|
1900
|
+
inputTokens: number;
|
|
1901
|
+
outputTokens: number;
|
|
1902
|
+
cacheReadTokens?: number;
|
|
1903
|
+
cacheWriteTokens?: number;
|
|
1904
|
+
};
|
|
1905
|
+
type SessionMessagePart = TextPart | ReasoningPart | ToolPart | StepStartPart | StepFinishPart | PatchPart | FilePart | LoadingPart | ErrorPart | TokenUsagePart;
|
|
1906
|
+
type SessionMessage = {
|
|
1907
|
+
id: string;
|
|
1908
|
+
role: SessionMessageRole;
|
|
1909
|
+
parts: SessionMessagePart[];
|
|
1910
|
+
index?: number;
|
|
1911
|
+
createdAt?: number;
|
|
1912
|
+
modelId?: string;
|
|
1913
|
+
providerId?: string;
|
|
1914
|
+
tokens?: {
|
|
1915
|
+
input?: number;
|
|
1916
|
+
output?: number;
|
|
1917
|
+
reasoning?: number;
|
|
1918
|
+
cache?: {
|
|
1919
|
+
read?: number;
|
|
1920
|
+
write?: number;
|
|
1921
|
+
};
|
|
1922
|
+
};
|
|
1923
|
+
};
|
|
1924
|
+
//#endregion
|
|
1925
|
+
//#region ../pstdio-api-contracts/src/harness.d.ts
|
|
1926
|
+
type JsonPatch = {
|
|
1927
|
+
op: "add" | "replace" | "remove";
|
|
1928
|
+
path: string;
|
|
1929
|
+
value?: unknown;
|
|
1930
|
+
};
|
|
1931
|
+
type AgentCapability = "SessionFork" | "ContextUsage" | "Approvals" | "SessionReattach";
|
|
1932
|
+
type QuestionResponse = {
|
|
1933
|
+
answers: string[][];
|
|
1934
|
+
};
|
|
1935
|
+
type ApprovalRequest = {
|
|
1936
|
+
id: string;
|
|
1937
|
+
toolName: string;
|
|
1938
|
+
toolInput: unknown;
|
|
1939
|
+
toolUseId: string;
|
|
1940
|
+
};
|
|
1941
|
+
type ApprovalResponse = {
|
|
1942
|
+
id: string;
|
|
1943
|
+
decision: "approve" | "deny" | "timeout";
|
|
1944
|
+
};
|
|
1945
|
+
/** "activity": the host kills the session when no events arrive for a while; "provider": the provider self-terminates. */
|
|
1946
|
+
type TimeoutStrategy = "activity" | "provider";
|
|
1947
|
+
type HarnessEventSink = {
|
|
1948
|
+
push(patch: JsonPatch): void;
|
|
1949
|
+
getMessages(): readonly SessionMessage[];
|
|
1950
|
+
};
|
|
1951
|
+
type HarnessAttachment = {
|
|
1952
|
+
fileId: string;
|
|
1953
|
+
fileName: string;
|
|
1954
|
+
mimeType: string | null;
|
|
1955
|
+
sizeBytes: number;
|
|
1956
|
+
localPath: string;
|
|
1957
|
+
url: string;
|
|
1958
|
+
};
|
|
1959
|
+
type HarnessApprovalChannel = {
|
|
1960
|
+
requestApproval(request: ApprovalRequest): Promise<ApprovalResponse>;
|
|
1961
|
+
};
|
|
1962
|
+
type HarnessParamValue = string | boolean;
|
|
1963
|
+
type HarnessParams = Record<string, HarnessParamValue>;
|
|
1964
|
+
type HarnessWorkspaceContext = {
|
|
1965
|
+
workspaceId: string;
|
|
1966
|
+
executionTarget: WorkspaceExecutionTarget;
|
|
1967
|
+
};
|
|
1968
|
+
type HarnessExitStatus = "completed" | "failed" | "cancelled" | "disconnected";
|
|
1969
|
+
type HarnessExit = {
|
|
1970
|
+
status: HarnessExitStatus;
|
|
1971
|
+
};
|
|
1972
|
+
type HarnessSession = {
|
|
1973
|
+
/** Provider-side session id, used to resume/reattach later. */
|
|
1974
|
+
agentSessionId?: string;
|
|
1975
|
+
/** Settles exactly once; the host keys status transitions and persistence off it. */
|
|
1976
|
+
done: Promise<HarnessExit>;
|
|
1977
|
+
/** Called by the host on cancel or on its own activity timeout. */
|
|
1978
|
+
stop(): void | Promise<void>;
|
|
1979
|
+
timeoutStrategy?: TimeoutStrategy;
|
|
1980
|
+
/** Observability only. */
|
|
1981
|
+
pid?: number;
|
|
1982
|
+
};
|
|
1983
|
+
type HarnessStartInput = {
|
|
1984
|
+
prompt: string;
|
|
1985
|
+
/** Host session id (correlation / env injection). */
|
|
1986
|
+
sessionId: string;
|
|
1987
|
+
cwd?: string;
|
|
1988
|
+
workspace?: HarnessWorkspaceContext;
|
|
1989
|
+
model?: string | null;
|
|
1990
|
+
params?: HarnessParams;
|
|
1991
|
+
attachments?: HarnessAttachment[];
|
|
1992
|
+
events: HarnessEventSink;
|
|
1993
|
+
/** Aborted when the host cancels the request that started or resumed this session. */
|
|
1994
|
+
signal?: AbortSignal;
|
|
1995
|
+
};
|
|
1996
|
+
type HarnessResumeInput = HarnessStartInput & {
|
|
1997
|
+
agentSessionId: string;
|
|
1998
|
+
/** Index offset so resumed streams align message patches with existing history. */
|
|
1999
|
+
messageOffset?: number;
|
|
2000
|
+
questionResponse?: QuestionResponse;
|
|
2001
|
+
approvals?: HarnessApprovalChannel;
|
|
2002
|
+
};
|
|
2003
|
+
type HarnessReattachInput = {
|
|
2004
|
+
sessionId: string;
|
|
2005
|
+
agentSessionId: string;
|
|
2006
|
+
cwd?: string;
|
|
2007
|
+
workspace?: HarnessWorkspaceContext;
|
|
2008
|
+
events: HarnessEventSink;
|
|
2009
|
+
/** Aborted when the host stops orphan recovery, including during shutdown. */
|
|
2010
|
+
signal?: AbortSignal;
|
|
2011
|
+
};
|
|
2012
|
+
type HarnessMessagesInput = {
|
|
2013
|
+
agentSessionId: string;
|
|
2014
|
+
cwd?: string;
|
|
2015
|
+
workspace?: HarnessWorkspaceContext;
|
|
2016
|
+
};
|
|
2017
|
+
type HarnessRecoveryInput = {
|
|
2018
|
+
knownMessages: readonly SessionMessage[];
|
|
2019
|
+
nativeMessages: readonly SessionMessage[];
|
|
2020
|
+
cwd?: string;
|
|
2021
|
+
workspace?: HarnessWorkspaceContext;
|
|
2022
|
+
};
|
|
2023
|
+
type HarnessRecoveryResult = {
|
|
2024
|
+
kind: "recovered";
|
|
2025
|
+
messages: SessionMessage[];
|
|
2026
|
+
} | {
|
|
2027
|
+
kind: "conflict";
|
|
2028
|
+
category: string;
|
|
2029
|
+
};
|
|
2030
|
+
//#endregion
|
|
2031
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/harness.d.ts
|
|
2032
|
+
/**
|
|
2033
|
+
* Host context a harness runs against. A structural subset of ExtensionContextBase,
|
|
2034
|
+
* so richer host APIs can be passed without a contract change.
|
|
2035
|
+
*/
|
|
2036
|
+
interface HarnessContext {
|
|
2037
|
+
/** Present when the harness runs on behalf of a project session. */
|
|
2038
|
+
projectId?: string;
|
|
2039
|
+
extensionId: string;
|
|
2040
|
+
/** Extension package name. */
|
|
2041
|
+
name: string;
|
|
2042
|
+
process: ExtensionProcessApi;
|
|
2043
|
+
net: ExtensionNetApi;
|
|
2044
|
+
connections: ExtensionConnectionsApi;
|
|
2045
|
+
logger: ExtensionLoggerApi;
|
|
2046
|
+
state: HarnessStateApi;
|
|
2047
|
+
}
|
|
2048
|
+
interface HarnessStateApi {
|
|
2049
|
+
get<T = unknown>(key: string): Promise<T | undefined>;
|
|
2050
|
+
set<T = unknown>(key: string, value: T): Promise<void>;
|
|
2051
|
+
delete(key: string): Promise<void>;
|
|
2052
|
+
}
|
|
2053
|
+
interface HarnessDetectionResult {
|
|
2054
|
+
available: boolean;
|
|
2055
|
+
version?: string;
|
|
2056
|
+
reason?: string;
|
|
2057
|
+
}
|
|
2058
|
+
/** Where the harness's agent discovers skills. Paths are relative to the repo (dir) and home (globalDir). */
|
|
2059
|
+
interface HarnessSkillsLayout {
|
|
2060
|
+
dir: string;
|
|
2061
|
+
/** Defaults to `dir` when omitted. */
|
|
2062
|
+
globalDir?: string;
|
|
2063
|
+
}
|
|
2064
|
+
/** A reattach error is permanent unless the provider explicitly marks it retryable. */
|
|
2065
|
+
type RetryableHarnessReattachError = Error & {
|
|
2066
|
+
readonly retryable: true;
|
|
2067
|
+
};
|
|
2068
|
+
type HarnessParamDescriptor = (Omit<SelectParam, "options" | "allowCustomValues"> & {
|
|
2069
|
+
options: ParamOption[];
|
|
2070
|
+
}) | BooleanParam;
|
|
2071
|
+
type HarnessParamsSchema = Record<string, HarnessParamDescriptor>;
|
|
2072
|
+
/**
|
|
2073
|
+
* An agent harness contributed by an extension. The host injects the event sink
|
|
2074
|
+
* (and approval channel) and owns the session lifecycle: timeouts, persistence,
|
|
2075
|
+
* and status transitions are keyed off the returned HarnessSession.
|
|
2076
|
+
*/
|
|
2077
|
+
interface HarnessProvider extends ContributionDefinition<"harness"> {
|
|
2078
|
+
label: Localizable<string>;
|
|
2079
|
+
/** Declares skill directories so the host installs project skills for this agent. Absent = no skill setup. */
|
|
2080
|
+
skills?: HarnessSkillsLayout;
|
|
2081
|
+
/** Discrete run params the host can render, persist as defaults, validate, and pass to start/resume. */
|
|
2082
|
+
params?: HarnessParamsSchema;
|
|
2083
|
+
/** Defaults to required. Optional harnesses can run against remote workspace execution targets. */
|
|
2084
|
+
cwdRequirement?: "required" | "optional";
|
|
2085
|
+
capabilities(ctx: HarnessContext): MaybePromise<AgentCapability[]>;
|
|
2086
|
+
detect?(ctx: HarnessContext): MaybePromise<HarnessDetectionResult>;
|
|
2087
|
+
listModels?(ctx: HarnessContext): MaybePromise<AgentModel[]>;
|
|
2088
|
+
start(ctx: HarnessContext, input: HarnessStartInput): MaybePromise<HarnessSession>;
|
|
2089
|
+
resume(ctx: HarnessContext, input: HarnessResumeInput): MaybePromise<HarnessSession>;
|
|
2090
|
+
/** Re-bind after a host restart. Throw a `RetryableHarnessReattachError` only when another attempt may succeed. */
|
|
2091
|
+
reattach?(ctx: HarnessContext, input: HarnessReattachInput): MaybePromise<HarnessSession>;
|
|
2092
|
+
getMessages?(ctx: HarnessContext, input: HarnessMessagesInput): MaybePromise<SessionMessage[]>;
|
|
2093
|
+
recoverMessages?(ctx: HarnessContext, input: HarnessRecoveryInput): MaybePromise<HarnessRecoveryResult>;
|
|
2094
|
+
}
|
|
2520
2095
|
//#endregion
|
|
2521
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/
|
|
2522
|
-
interface
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2096
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/resource-binding.d.ts
|
|
2097
|
+
interface ResourceConstraint {
|
|
2098
|
+
readonly kinds: readonly ResourceKindRef[];
|
|
2099
|
+
}
|
|
2100
|
+
interface ResourceBinding extends ResourceConstraint {
|
|
2101
|
+
readonly view: ViewRef;
|
|
2102
|
+
readonly cardinality: "one" | "many";
|
|
2103
|
+
readonly add?: NavigationTarget;
|
|
2104
|
+
}
|
|
2105
|
+
//#endregion
|
|
2106
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/control-declarations.d.ts
|
|
2107
|
+
interface BaseControl {
|
|
2108
|
+
id: string;
|
|
2109
|
+
name: string;
|
|
2110
|
+
description?: string;
|
|
2111
|
+
/** Locks this one param while the rest of the editor stays editable. */
|
|
2112
|
+
readOnly?: boolean;
|
|
2113
|
+
}
|
|
2114
|
+
interface NumberControl extends BaseControl {
|
|
2115
|
+
type: "number";
|
|
2116
|
+
defaultValue: number;
|
|
2117
|
+
min?: number;
|
|
2118
|
+
max?: number;
|
|
2119
|
+
step?: number;
|
|
2120
|
+
}
|
|
2121
|
+
interface BooleanControl extends BaseControl {
|
|
2122
|
+
type: "boolean";
|
|
2123
|
+
defaultValue: boolean;
|
|
2124
|
+
}
|
|
2125
|
+
interface TextControl extends BaseControl {
|
|
2126
|
+
type: "text";
|
|
2127
|
+
defaultValue: string;
|
|
2128
|
+
singleLine?: boolean;
|
|
2129
|
+
}
|
|
2130
|
+
interface MarkdownControl extends BaseControl {
|
|
2131
|
+
type: "markdown";
|
|
2132
|
+
defaultValue: string;
|
|
2133
|
+
placeholder?: string;
|
|
2134
|
+
}
|
|
2135
|
+
interface SelectionOption {
|
|
2136
|
+
id: string;
|
|
2137
|
+
name: string;
|
|
2138
|
+
icon?: string;
|
|
2139
|
+
/** Palette key (e.g. "blue") applied to the option's icon. */
|
|
2140
|
+
color?: string;
|
|
2141
|
+
description?: string;
|
|
2142
|
+
disabled?: boolean;
|
|
2143
|
+
}
|
|
2144
|
+
/** Parent selector used to swap the option set of a grouped selection. */
|
|
2145
|
+
interface SelectionGroup {
|
|
2146
|
+
id: string;
|
|
2147
|
+
name: string;
|
|
2148
|
+
defaultValue: string;
|
|
2149
|
+
options: SelectionOption[];
|
|
2150
|
+
placeholder?: string;
|
|
2151
|
+
searchable?: boolean;
|
|
2152
|
+
searchPlaceholder?: string;
|
|
2153
|
+
emptyText?: string;
|
|
2154
|
+
disabled?: boolean;
|
|
2155
|
+
}
|
|
2156
|
+
interface SelectionControl extends BaseControl {
|
|
2157
|
+
allowCustomValues?: boolean;
|
|
2158
|
+
type: "selection";
|
|
2159
|
+
defaultValue: string | string[];
|
|
2160
|
+
options: SelectionOption[];
|
|
2161
|
+
multiSelect?: boolean;
|
|
2162
|
+
placeholder?: string;
|
|
2163
|
+
searchable?: boolean;
|
|
2164
|
+
searchPlaceholder?: string;
|
|
2165
|
+
emptyText?: string;
|
|
2166
|
+
group?: SelectionGroup;
|
|
2167
|
+
/** Adds a "clear" row so a single-select can be returned to unset. */
|
|
2168
|
+
clearable?: boolean;
|
|
2169
|
+
/**
|
|
2170
|
+
* Renders the control inert but still as a control — unlike `readOnly`, which
|
|
2171
|
+
* collapses it to plain text and drops the option's icon.
|
|
2172
|
+
*/
|
|
2173
|
+
disabled?: boolean;
|
|
2174
|
+
}
|
|
2175
|
+
interface DateControl extends BaseControl {
|
|
2176
|
+
type: "date";
|
|
2177
|
+
defaultValue: string;
|
|
2178
|
+
min?: string;
|
|
2179
|
+
max?: string;
|
|
2180
|
+
}
|
|
2181
|
+
interface ColorControl extends BaseControl {
|
|
2182
|
+
type: "color";
|
|
2183
|
+
defaultValue: string;
|
|
2184
|
+
}
|
|
2185
|
+
interface ParamEditorReadOnlyImage {
|
|
2186
|
+
src: string;
|
|
2187
|
+
alt: string;
|
|
2188
|
+
}
|
|
2189
|
+
type ParamEditorReadOnlyContent = string | number | boolean | null | Array<string | number | boolean | null> | {
|
|
2190
|
+
type: "image";
|
|
2191
|
+
src: string;
|
|
2192
|
+
alt: string;
|
|
2193
|
+
} | {
|
|
2194
|
+
type: "image-gallery";
|
|
2195
|
+
images: ParamEditorReadOnlyImage[];
|
|
2196
|
+
};
|
|
2197
|
+
/** Serializable display-only value rendered by the read-only Param Editor. */
|
|
2198
|
+
interface ReadOnlyControl extends BaseControl {
|
|
2199
|
+
type: "readOnly";
|
|
2200
|
+
value: ParamEditorReadOnlyContent;
|
|
2201
|
+
}
|
|
2202
|
+
/** A reference the host can open (e.g. another resource tab). */
|
|
2203
|
+
type ResourceRefValue = ResourceRef;
|
|
2204
|
+
/**
|
|
2205
|
+
* Serializable resource chip. Clicking it opens `href` externally, opens `ref` via
|
|
2206
|
+
* `onOpenResource`, or copies `copyText` to the clipboard — whichever is set.
|
|
2207
|
+
*/
|
|
2208
|
+
interface ResourceOption {
|
|
2209
|
+
id: string;
|
|
2210
|
+
name: string;
|
|
2211
|
+
icon?: string;
|
|
2212
|
+
color?: string;
|
|
2213
|
+
description?: string;
|
|
2214
|
+
href?: string;
|
|
2215
|
+
ref?: ResourceRefValue;
|
|
2216
|
+
copyText?: string;
|
|
2217
|
+
}
|
|
2218
|
+
/**
|
|
2219
|
+
* Resource references rendered as tags/chips. View-only by default; set `editable`
|
|
2220
|
+
* to pick from `options` via a dropdown. Value is the selected option id(s), mirroring
|
|
2221
|
+
* {@link SelectionControl}, so it stays JSON-safe across the controls-command boundary.
|
|
2222
|
+
*/
|
|
2223
|
+
interface ResourceControl extends BaseControl {
|
|
2224
|
+
type: "resource";
|
|
2225
|
+
defaultValue: string | string[];
|
|
2226
|
+
options: ResourceOption[];
|
|
2227
|
+
multiSelect?: boolean;
|
|
2228
|
+
editable?: boolean;
|
|
2229
|
+
placeholder?: string;
|
|
2230
|
+
emptyText?: string;
|
|
2231
|
+
}
|
|
2232
|
+
type RangeValue = [number, number];
|
|
2233
|
+
/** Two-handle numeric range control. Values normalize to ordered `[start, end]`. */
|
|
2234
|
+
interface RangeControl extends BaseControl {
|
|
2235
|
+
type: "range";
|
|
2236
|
+
defaultValue: RangeValue;
|
|
2237
|
+
min: number;
|
|
2238
|
+
max: number;
|
|
2239
|
+
step?: number;
|
|
2240
|
+
unit?: string;
|
|
2241
|
+
markerCount?: number;
|
|
2242
|
+
}
|
|
2243
|
+
interface SegmentedOption {
|
|
2244
|
+
id: string;
|
|
2245
|
+
name: string;
|
|
2246
|
+
icon?: string;
|
|
2247
|
+
indicatorColor?: string;
|
|
2248
|
+
}
|
|
2249
|
+
/** Mutually-exclusive mode control rendered as a segmented button group. */
|
|
2250
|
+
interface SegmentedControl extends BaseControl {
|
|
2251
|
+
type: "segmented";
|
|
2252
|
+
defaultValue: string;
|
|
2253
|
+
options: SegmentedOption[];
|
|
2254
|
+
variant?: "default" | "dots";
|
|
2255
|
+
}
|
|
2256
|
+
interface ActionOption {
|
|
2257
|
+
id: string;
|
|
2258
|
+
name: string;
|
|
2259
|
+
icon?: string;
|
|
2260
|
+
disabled?: boolean;
|
|
2261
|
+
}
|
|
2262
|
+
/** Compact command set rendered as an action button row. */
|
|
2263
|
+
interface ActionsControl extends BaseControl {
|
|
2264
|
+
type: "actions";
|
|
2265
|
+
defaultValue?: string;
|
|
2266
|
+
options: ActionOption[];
|
|
2267
|
+
}
|
|
2268
|
+
type AnchorGridValue = "top-left" | "top" | "top-right" | "left" | "center" | "right" | "bottom-left" | "bottom" | "bottom-right";
|
|
2269
|
+
/** Nine-point alignment picker. */
|
|
2270
|
+
interface AnchorGridControl extends BaseControl {
|
|
2271
|
+
type: "anchorGrid";
|
|
2272
|
+
defaultValue: AnchorGridValue;
|
|
2273
|
+
}
|
|
2274
|
+
type VectorValue = {
|
|
2275
|
+
x: number;
|
|
2276
|
+
y: number;
|
|
2277
|
+
};
|
|
2278
|
+
/** Paired x/y numeric control. */
|
|
2279
|
+
interface VectorControl extends BaseControl {
|
|
2280
|
+
type: "vector";
|
|
2281
|
+
defaultValue: VectorValue;
|
|
2282
|
+
coordinateMode?: "cartesian" | "screen";
|
|
2283
|
+
xLabel?: string;
|
|
2284
|
+
yLabel?: string;
|
|
2285
|
+
min?: number;
|
|
2286
|
+
max?: number;
|
|
2287
|
+
step?: number;
|
|
2288
|
+
}
|
|
2289
|
+
type ControlParam = NumberControl | BooleanControl | TextControl | MarkdownControl | SelectionControl | DateControl | ColorControl | ReadOnlyControl | ResourceControl | RangeControl | SegmentedControl | ActionsControl | AnchorGridControl | VectorControl;
|
|
2290
|
+
interface ControlGroup {
|
|
2291
|
+
id: string;
|
|
2292
|
+
title: string;
|
|
2293
|
+
description?: string;
|
|
2294
|
+
params: ControlParam[];
|
|
2295
|
+
collapsible?: boolean;
|
|
2296
|
+
defaultCollapsed?: boolean;
|
|
2297
|
+
}
|
|
2298
|
+
type ControlValue = number | string | boolean | null | string[] | RangeValue | VectorValue;
|
|
2299
|
+
type ControlValueMap = Record<string, ControlValue>;
|
|
2300
|
+
//#endregion
|
|
2301
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/controls.d.ts
|
|
2302
|
+
type ControlsResourceRef = ResourceRef;
|
|
2303
|
+
interface ControlsQueryParams {
|
|
2304
|
+
renderer: RendererContext;
|
|
2305
|
+
}
|
|
2306
|
+
interface ControlsQueryResult {
|
|
2307
|
+
params?: ControlParam[];
|
|
2308
|
+
groups?: ControlGroup[];
|
|
2309
|
+
values?: ControlValueMap;
|
|
2310
|
+
readOnly?: boolean;
|
|
2311
|
+
}
|
|
2312
|
+
interface ControlsUpdateValueInput {
|
|
2313
|
+
renderer: RendererContext;
|
|
2314
|
+
controlId: string;
|
|
2315
|
+
value: ControlValue;
|
|
2316
|
+
values: ControlValueMap;
|
|
2317
|
+
}
|
|
2318
|
+
interface ControlsApplyInput {
|
|
2319
|
+
renderer: RendererContext;
|
|
2320
|
+
values: ControlValueMap;
|
|
2321
|
+
}
|
|
2322
|
+
interface ControlsResetInput {
|
|
2323
|
+
renderer: RendererContext;
|
|
2324
|
+
controlIds?: string[];
|
|
2325
|
+
}
|
|
2326
|
+
/** A native controls view. Its query supplies serializable fields and their current values. */
|
|
2327
|
+
interface ControlsRendererContribution extends RendererContributionBase {
|
|
2328
|
+
query: RendererCallback<ControlsQueryParams, ControlsQueryResult>;
|
|
2329
|
+
onValueChange?: RendererCallback<ControlsUpdateValueInput, unknown>;
|
|
2330
|
+
onApply?: RendererCallback<ControlsApplyInput, unknown>;
|
|
2331
|
+
onReset?: RendererCallback<ControlsResetInput, unknown>;
|
|
2332
|
+
defaultValues?: ControlValueMap;
|
|
2535
2333
|
}
|
|
2536
2334
|
//#endregion
|
|
2537
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/
|
|
2538
|
-
type
|
|
2539
|
-
interface
|
|
2540
|
-
|
|
2541
|
-
path: string;
|
|
2542
|
-
headers?: Record<string, string>;
|
|
2543
|
-
body?: JsonValue;
|
|
2544
|
-
timeoutMs?: number;
|
|
2545
|
-
signal?: AbortSignal;
|
|
2335
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/data-table-renderer.d.ts
|
|
2336
|
+
type DataTableRendererResourceRef = ResourceRef;
|
|
2337
|
+
interface DataTableRendererQueryParams {
|
|
2338
|
+
renderer: RendererContext;
|
|
2546
2339
|
}
|
|
2547
|
-
interface
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2340
|
+
interface DataTableRendererThemeColor {
|
|
2341
|
+
light: string;
|
|
2342
|
+
dark: string;
|
|
2343
|
+
foreground?: {
|
|
2344
|
+
light: string;
|
|
2345
|
+
dark: string;
|
|
2346
|
+
};
|
|
2551
2347
|
}
|
|
2552
|
-
type
|
|
2553
|
-
type: "
|
|
2554
|
-
status: number;
|
|
2555
|
-
headers: Record<string, string>;
|
|
2348
|
+
type DataTableRendererColumnStat = {
|
|
2349
|
+
type: "unique";
|
|
2556
2350
|
} | {
|
|
2557
|
-
type: "
|
|
2558
|
-
|
|
2351
|
+
type: "histogram";
|
|
2352
|
+
bins?: number;
|
|
2559
2353
|
} | {
|
|
2560
|
-
type: "
|
|
2354
|
+
type: "top-values";
|
|
2355
|
+
limit?: number;
|
|
2561
2356
|
};
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2357
|
+
type DataTableRendererColumnRenderer = {
|
|
2358
|
+
type: "json";
|
|
2359
|
+
} | {
|
|
2360
|
+
type: "color-scale";
|
|
2361
|
+
stops: Array<{
|
|
2362
|
+
value: number;
|
|
2363
|
+
color: DataTableRendererThemeColor;
|
|
2364
|
+
}>;
|
|
2365
|
+
} | {
|
|
2366
|
+
type: "categorical-color";
|
|
2367
|
+
categories: Array<{
|
|
2368
|
+
value: string | number | boolean | null;
|
|
2369
|
+
color: DataTableRendererThemeColor;
|
|
2370
|
+
}>;
|
|
2371
|
+
};
|
|
2372
|
+
interface DataTableRendererColumn {
|
|
2373
|
+
id: string;
|
|
2374
|
+
label?: Localizable<string>;
|
|
2375
|
+
description?: Localizable<string>;
|
|
2376
|
+
icon?: string;
|
|
2377
|
+
hidden?: boolean;
|
|
2378
|
+
stat?: DataTableRendererColumnStat;
|
|
2379
|
+
renderer?: DataTableRendererColumnRenderer;
|
|
2565
2380
|
}
|
|
2566
|
-
interface
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2381
|
+
interface DataTableRendererRow {
|
|
2382
|
+
id: string;
|
|
2383
|
+
values: Record<string, JsonValue>;
|
|
2384
|
+
resource?: DataTableRendererResourceRef;
|
|
2570
2385
|
}
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
text: string;
|
|
2577
|
-
};
|
|
2578
|
-
type ReasoningPart = {
|
|
2579
|
-
type: "reasoning";
|
|
2580
|
-
text: string;
|
|
2581
|
-
};
|
|
2582
|
-
type ToolPartActionType = "read" | "write" | "execute" | "network" | "other";
|
|
2583
|
-
type ToolPartStatus = "pending" | "running" | "completed" | "failed" | "denied";
|
|
2584
|
-
type ToolPart = {
|
|
2585
|
-
type: "tool";
|
|
2586
|
-
tool: string;
|
|
2587
|
-
callId?: string;
|
|
2588
|
-
actionType?: ToolPartActionType;
|
|
2589
|
-
status?: ToolPartStatus;
|
|
2590
|
-
state?: {
|
|
2591
|
-
status?: string;
|
|
2592
|
-
input?: unknown;
|
|
2593
|
-
output?: unknown;
|
|
2594
|
-
errorText?: string;
|
|
2595
|
-
metadata?: unknown;
|
|
2596
|
-
};
|
|
2597
|
-
};
|
|
2598
|
-
type StepStartPart = {
|
|
2599
|
-
type: "step-start";
|
|
2600
|
-
snapshot?: string;
|
|
2601
|
-
};
|
|
2602
|
-
type StepFinishPart = {
|
|
2603
|
-
type: "step-finish";
|
|
2604
|
-
reason?: string;
|
|
2605
|
-
snapshot?: string;
|
|
2606
|
-
cost?: number;
|
|
2607
|
-
tokens?: unknown;
|
|
2608
|
-
};
|
|
2609
|
-
type PatchPart = {
|
|
2610
|
-
type: "patch";
|
|
2611
|
-
hash?: string;
|
|
2612
|
-
files?: unknown;
|
|
2613
|
-
};
|
|
2614
|
-
type FilePart = {
|
|
2615
|
-
type: "file";
|
|
2616
|
-
fileId?: string;
|
|
2617
|
-
mediaType?: string;
|
|
2618
|
-
filename?: string;
|
|
2619
|
-
size?: number;
|
|
2620
|
-
url: string;
|
|
2621
|
-
};
|
|
2622
|
-
type LoadingPart = {
|
|
2623
|
-
type: "loading";
|
|
2624
|
-
};
|
|
2625
|
-
type ErrorPart = {
|
|
2626
|
-
type: "error";
|
|
2627
|
-
errorType: "timeout" | "crash" | "permission" | "other";
|
|
2628
|
-
message?: string;
|
|
2629
|
-
};
|
|
2630
|
-
type TokenUsagePart = {
|
|
2631
|
-
type: "token_usage";
|
|
2632
|
-
inputTokens: number;
|
|
2633
|
-
outputTokens: number;
|
|
2634
|
-
cacheReadTokens?: number;
|
|
2635
|
-
cacheWriteTokens?: number;
|
|
2636
|
-
};
|
|
2637
|
-
type SessionMessagePart = TextPart | ReasoningPart | ToolPart | StepStartPart | StepFinishPart | PatchPart | FilePart | LoadingPart | ErrorPart | TokenUsagePart;
|
|
2638
|
-
type SessionMessage = {
|
|
2386
|
+
interface DataTableRendererQueryResult {
|
|
2387
|
+
rows: DataTableRendererRow[];
|
|
2388
|
+
columns?: DataTableRendererColumn[];
|
|
2389
|
+
}
|
|
2390
|
+
interface DataTableRendererRowAction<TParams extends Struct = Struct> {
|
|
2639
2391
|
id: string;
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2392
|
+
label: Localizable<string>;
|
|
2393
|
+
icon?: string;
|
|
2394
|
+
destructive?: boolean;
|
|
2395
|
+
command: CommandRef<TParams, unknown>;
|
|
2396
|
+
}
|
|
2397
|
+
interface DataTableRendererSelectionAction<TParams extends Struct = Struct> {
|
|
2398
|
+
id: string;
|
|
2399
|
+
label: Localizable<string>;
|
|
2400
|
+
icon?: string;
|
|
2401
|
+
destructive?: boolean;
|
|
2402
|
+
command: CommandRef<TParams, unknown>;
|
|
2403
|
+
}
|
|
2404
|
+
type DataTableRendererRowActivationHandler = RendererCallback<{
|
|
2405
|
+
row: DataTableRendererRow;
|
|
2406
|
+
}, void>;
|
|
2407
|
+
interface DataTableRendererContribution extends RendererContributionBase {
|
|
2408
|
+
toolbarActions?: ViewToolbarAction[];
|
|
2409
|
+
columns?: DataTableRendererColumn[];
|
|
2410
|
+
query: RendererCallback<DataTableRendererQueryParams, DataTableRendererQueryResult>;
|
|
2411
|
+
selectionMode?: "none" | "multiple";
|
|
2412
|
+
selectionActions?: DataTableRendererSelectionAction[];
|
|
2413
|
+
rowActions?: DataTableRendererRowAction[];
|
|
2414
|
+
onRowActivate?: DataTableRendererRowActivationHandler;
|
|
2415
|
+
initialPageSize?: number;
|
|
2416
|
+
pageSizeOptions?: number[];
|
|
2417
|
+
}
|
|
2656
2418
|
//#endregion
|
|
2657
|
-
//#region ../pstdio-api-contracts/src/
|
|
2658
|
-
type
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2419
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/tree-renderer.d.ts
|
|
2420
|
+
type TreeRendererResourceRef = ResourceRef;
|
|
2421
|
+
interface TreeRendererState {
|
|
2422
|
+
expandedNodeIds: string[];
|
|
2423
|
+
expandedSectionIds: string[];
|
|
2424
|
+
selectedNodeId?: string;
|
|
2425
|
+
}
|
|
2426
|
+
interface TreeRendererQueryParams {
|
|
2427
|
+
renderer: RendererContext;
|
|
2428
|
+
state?: TreeRendererState;
|
|
2429
|
+
filter?: string;
|
|
2430
|
+
}
|
|
2431
|
+
interface TreeRendererChildrenParams extends TreeRendererQueryParams {
|
|
2432
|
+
node: TreeNode;
|
|
2433
|
+
}
|
|
2434
|
+
interface TreeRendererActionParams extends TreeRendererQueryParams {
|
|
2435
|
+
actionId: string;
|
|
2436
|
+
node?: TreeNode;
|
|
2437
|
+
}
|
|
2438
|
+
type TreeNodeTarget = NavigationTarget;
|
|
2439
|
+
interface TreeAction {
|
|
2668
2440
|
id: string;
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2441
|
+
label?: Localizable<string>;
|
|
2442
|
+
icon?: string;
|
|
2443
|
+
command?: CommandRef<Struct, unknown>;
|
|
2444
|
+
params?: Struct;
|
|
2445
|
+
input?: ParamObjectSchema;
|
|
2446
|
+
submitLabel?: string;
|
|
2447
|
+
when?: string;
|
|
2448
|
+
disabled?: boolean;
|
|
2449
|
+
}
|
|
2450
|
+
interface TreeSectionEmptyState {
|
|
2451
|
+
title: Localizable<string>;
|
|
2452
|
+
description?: Localizable<string>;
|
|
2453
|
+
icon?: string;
|
|
2454
|
+
}
|
|
2455
|
+
type TreeNodeRowVariant = "empty-state";
|
|
2456
|
+
interface TreeNode {
|
|
2457
|
+
id: string;
|
|
2458
|
+
label: Localizable<string>;
|
|
2459
|
+
icon?: string;
|
|
2460
|
+
iconColor?: string;
|
|
2461
|
+
iconTooltip?: string;
|
|
2462
|
+
resource?: TreeRendererResourceRef;
|
|
2463
|
+
target?: TreeNodeTarget;
|
|
2464
|
+
/** Visual row variant for non-data rows such as placeholders. */
|
|
2465
|
+
rowVariant?: TreeNodeRowVariant;
|
|
2466
|
+
actions?: TreeAction[];
|
|
2467
|
+
contextMenuActions?: TreeAction[];
|
|
2468
|
+
collapsible?: boolean;
|
|
2469
|
+
disabled?: boolean;
|
|
2470
|
+
selected?: boolean;
|
|
2471
|
+
children?: TreeNode[];
|
|
2472
|
+
description?: string;
|
|
2473
|
+
contextValue?: string;
|
|
2474
|
+
hiddenByDefault?: boolean;
|
|
2475
|
+
/** Opt in to the tree's hide/show customization menu (header/footer rows). Off by default. */
|
|
2476
|
+
canHide?: boolean;
|
|
2477
|
+
metadata?: JsonObject;
|
|
2478
|
+
}
|
|
2479
|
+
interface TreeViewSection {
|
|
2674
2480
|
id: string;
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
}
|
|
2694
|
-
type
|
|
2695
|
-
type HarnessParams = Record<string, HarnessParamValue>;
|
|
2696
|
-
type HarnessWorkspaceContext = {
|
|
2697
|
-
workspaceId: string;
|
|
2698
|
-
executionTarget: WorkspaceExecutionTarget;
|
|
2699
|
-
};
|
|
2700
|
-
type HarnessExitStatus = "completed" | "failed" | "cancelled" | "disconnected";
|
|
2701
|
-
type HarnessExit = {
|
|
2702
|
-
status: HarnessExitStatus;
|
|
2703
|
-
};
|
|
2704
|
-
type HarnessSession = {
|
|
2705
|
-
/** Provider-side session id, used to resume/reattach later. */
|
|
2706
|
-
agentSessionId?: string;
|
|
2707
|
-
/** Settles exactly once; the host keys status transitions and persistence off it. */
|
|
2708
|
-
done: Promise<HarnessExit>;
|
|
2709
|
-
/** Called by the host on cancel or on its own activity timeout. */
|
|
2710
|
-
stop(): void | Promise<void>;
|
|
2711
|
-
timeoutStrategy?: TimeoutStrategy;
|
|
2712
|
-
/** Observability only. */
|
|
2713
|
-
pid?: number;
|
|
2714
|
-
};
|
|
2715
|
-
type HarnessStartInput = {
|
|
2716
|
-
prompt: string;
|
|
2717
|
-
/** Host session id (correlation / env injection). */
|
|
2718
|
-
sessionId: string;
|
|
2719
|
-
cwd?: string;
|
|
2720
|
-
workspace?: HarnessWorkspaceContext;
|
|
2721
|
-
model?: string | null;
|
|
2722
|
-
params?: HarnessParams;
|
|
2723
|
-
attachments?: HarnessAttachment[];
|
|
2724
|
-
events: HarnessEventSink;
|
|
2725
|
-
/** Aborted when the host cancels the request that started or resumed this session. */
|
|
2726
|
-
signal?: AbortSignal;
|
|
2727
|
-
};
|
|
2728
|
-
type HarnessResumeInput = HarnessStartInput & {
|
|
2729
|
-
agentSessionId: string;
|
|
2730
|
-
/** Index offset so resumed streams align message patches with existing history. */
|
|
2731
|
-
messageOffset?: number;
|
|
2732
|
-
questionResponse?: QuestionResponse;
|
|
2733
|
-
approvals?: HarnessApprovalChannel;
|
|
2734
|
-
};
|
|
2735
|
-
type HarnessReattachInput = {
|
|
2736
|
-
sessionId: string;
|
|
2737
|
-
agentSessionId: string;
|
|
2738
|
-
cwd?: string;
|
|
2739
|
-
workspace?: HarnessWorkspaceContext;
|
|
2740
|
-
events: HarnessEventSink;
|
|
2741
|
-
/** Aborted when the host stops orphan recovery, including during shutdown. */
|
|
2742
|
-
signal?: AbortSignal;
|
|
2743
|
-
};
|
|
2744
|
-
type HarnessMessagesInput = {
|
|
2745
|
-
agentSessionId: string;
|
|
2746
|
-
cwd?: string;
|
|
2747
|
-
workspace?: HarnessWorkspaceContext;
|
|
2748
|
-
};
|
|
2749
|
-
type HarnessRecoveryInput = {
|
|
2750
|
-
knownMessages: readonly SessionMessage[];
|
|
2751
|
-
nativeMessages: readonly SessionMessage[];
|
|
2752
|
-
cwd?: string;
|
|
2753
|
-
workspace?: HarnessWorkspaceContext;
|
|
2754
|
-
};
|
|
2755
|
-
type HarnessRecoveryResult = {
|
|
2756
|
-
kind: "recovered";
|
|
2757
|
-
messages: SessionMessage[];
|
|
2758
|
-
} | {
|
|
2759
|
-
kind: "conflict";
|
|
2760
|
-
category: string;
|
|
2761
|
-
};
|
|
2481
|
+
label?: Localizable<string>;
|
|
2482
|
+
actions?: TreeAction[];
|
|
2483
|
+
collapsible?: boolean;
|
|
2484
|
+
emptyState?: TreeSectionEmptyState;
|
|
2485
|
+
nodes: TreeNode[];
|
|
2486
|
+
hiddenByDefault?: boolean;
|
|
2487
|
+
/** Opt in to the tree's hide/show customization menu (a category). Off by default. */
|
|
2488
|
+
canHide?: boolean;
|
|
2489
|
+
}
|
|
2490
|
+
interface TreeRendererContribution extends RendererContributionBase {
|
|
2491
|
+
searchable?: boolean;
|
|
2492
|
+
searchPlaceholder?: Localizable<string>;
|
|
2493
|
+
header?: RendererCallback<TreeRendererQueryParams, TreeViewSection[]>;
|
|
2494
|
+
body: RendererCallback<TreeRendererQueryParams, TreeViewSection[]>;
|
|
2495
|
+
children?: RendererCallback<TreeRendererChildrenParams, TreeNode[]>;
|
|
2496
|
+
footer?: RendererCallback<TreeRendererQueryParams, TreeViewSection[]>;
|
|
2497
|
+
defaultExpandedSectionIds?: string[];
|
|
2498
|
+
defaultExpandedNodeIds?: string[];
|
|
2499
|
+
}
|
|
2500
|
+
type TreeRendererCommandResult = TreeViewSection[] | TreeNode[] | JsonValue;
|
|
2762
2501
|
//#endregion
|
|
2763
|
-
//#region ../pstdio-api-contracts/src/extension-kernel/types/
|
|
2502
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/views.d.ts
|
|
2503
|
+
type NativeViewBody<Kind extends string, Definition> = {
|
|
2504
|
+
readonly kind: Kind;
|
|
2505
|
+
} & Omit<Definition, "title" | "icon" | "resourceKind">;
|
|
2506
|
+
type WebviewViewBody = {
|
|
2507
|
+
readonly kind: "webview";
|
|
2508
|
+
} & WebviewContribution;
|
|
2509
|
+
type TreeViewBody = NativeViewBody<"tree", TreeRendererContribution>;
|
|
2510
|
+
type FileViewBody = NativeViewBody<"file", FileRendererContribution>;
|
|
2511
|
+
type ControlsViewBody = NativeViewBody<"controls", ControlsRendererContribution>;
|
|
2512
|
+
type KanbanViewBody = NativeViewBody<"kanban", KanbanRendererContribution>;
|
|
2513
|
+
type DataTableViewBody = NativeViewBody<"dataTable", DataTableRendererContribution>;
|
|
2514
|
+
type ViewBody = WebviewViewBody | TreeViewBody | FileViewBody | ControlsViewBody | KanbanViewBody | DataTableViewBody;
|
|
2515
|
+
interface ViewContribution extends ContributionDefinition<"view"> {
|
|
2516
|
+
readonly title: Localizable<string>;
|
|
2517
|
+
readonly icon?: string;
|
|
2518
|
+
readonly body: ViewBody;
|
|
2519
|
+
}
|
|
2520
|
+
type NavigationOwnerRef = ModeRef | PageRef;
|
|
2521
|
+
type NavigationTreeSlot = "header" | "content" | "footer";
|
|
2522
|
+
interface NavigationItemContribution extends ContributionDefinition<"navigation-item"> {
|
|
2523
|
+
readonly owner: NavigationOwnerRef;
|
|
2524
|
+
readonly slot?: NavigationTreeSlot;
|
|
2525
|
+
readonly label: Localizable<string>;
|
|
2526
|
+
readonly icon?: string;
|
|
2527
|
+
readonly group?: string;
|
|
2528
|
+
readonly when?: WhenExpression;
|
|
2529
|
+
readonly action: NavigationTarget;
|
|
2530
|
+
}
|
|
2531
|
+
interface NavigationTreeContribution extends ContributionDefinition<"navigation-tree"> {
|
|
2532
|
+
readonly owner: NavigationOwnerRef;
|
|
2533
|
+
readonly slot?: NavigationTreeSlot;
|
|
2534
|
+
readonly view: ViewRef;
|
|
2535
|
+
/** Project-scoped trees read without a selected resource. Defaults to selection. */
|
|
2536
|
+
readonly resourceScope?: "project" | "selection";
|
|
2537
|
+
}
|
|
2764
2538
|
/**
|
|
2765
|
-
*
|
|
2766
|
-
*
|
|
2539
|
+
* Initial presence of a static placement inside its owner scope.
|
|
2540
|
+
* - "fixed": always open while the owner is active; the user cannot close it.
|
|
2541
|
+
* - "open": open when the owner has no saved state; the user may close it.
|
|
2542
|
+
* - "closed": closed until the user opens it (for example through the Add panel).
|
|
2543
|
+
* A saved user choice wins over "open" and "closed" on the next visit.
|
|
2767
2544
|
*/
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2545
|
+
type PlacementPresence = "fixed" | "open" | "closed";
|
|
2546
|
+
type PlacementItem = {
|
|
2547
|
+
readonly kind: "view";
|
|
2548
|
+
readonly view: ViewRef;
|
|
2549
|
+
readonly presence: PlacementPresence;
|
|
2550
|
+
} | {
|
|
2551
|
+
readonly kind: "binding";
|
|
2552
|
+
readonly binding: ResourceBinding;
|
|
2553
|
+
};
|
|
2554
|
+
type PlacementMountStrategy = "active" | "keep-mounted";
|
|
2555
|
+
interface PlacementTabMenuRow {
|
|
2556
|
+
readonly id: string;
|
|
2557
|
+
readonly label: Localizable<string>;
|
|
2558
|
+
readonly icon?: string;
|
|
2559
|
+
readonly iconColor?: string;
|
|
2560
|
+
readonly selected?: boolean;
|
|
2561
|
+
readonly disabled?: boolean;
|
|
2562
|
+
readonly action?: NavigationTarget;
|
|
2779
2563
|
}
|
|
2780
|
-
interface
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2564
|
+
interface PlacementTabMenuGroup {
|
|
2565
|
+
readonly id: string;
|
|
2566
|
+
readonly rows: readonly PlacementTabMenuRow[];
|
|
2567
|
+
}
|
|
2568
|
+
interface PlacementTabSnapshot extends Struct {
|
|
2569
|
+
readonly label?: Localizable<string>;
|
|
2570
|
+
readonly icon?: string;
|
|
2571
|
+
readonly indicator?: {
|
|
2572
|
+
readonly icon: string;
|
|
2573
|
+
readonly color?: string;
|
|
2574
|
+
readonly label?: Localizable<string>;
|
|
2575
|
+
};
|
|
2576
|
+
readonly menu?: readonly PlacementTabMenuGroup[];
|
|
2577
|
+
}
|
|
2578
|
+
interface PlacementTabPresentation {
|
|
2579
|
+
readonly query: RendererCallback<JsonObject, PlacementTabSnapshot>;
|
|
2580
|
+
readonly refreshEvents?: readonly RendererEventReference[];
|
|
2581
|
+
}
|
|
2582
|
+
interface PlacementPresentation {
|
|
2583
|
+
readonly mountStrategy?: PlacementMountStrategy;
|
|
2584
|
+
readonly hiddenByDefault?: boolean;
|
|
2585
|
+
readonly headerBorderBottom?: boolean;
|
|
2586
|
+
readonly tab?: PlacementTabPresentation;
|
|
2587
|
+
}
|
|
2588
|
+
interface PlacementContribution extends ContributionDefinition<"placement">, PlacementPresentation {
|
|
2589
|
+
readonly mode: ModeRef;
|
|
2590
|
+
readonly item: PlacementItem;
|
|
2591
|
+
readonly region: ExtensionPanelRegion;
|
|
2592
|
+
readonly order?: number;
|
|
2593
|
+
readonly movableTo?: readonly ExtensionPanelRegion[];
|
|
2594
|
+
}
|
|
2595
|
+
interface ViewMenuContribution extends ContributionDefinition<"view-menu"> {
|
|
2596
|
+
readonly owner: ViewRef;
|
|
2597
|
+
readonly view: ViewRef;
|
|
2598
|
+
readonly side: "left" | "right";
|
|
2599
|
+
readonly group?: string;
|
|
2600
|
+
readonly placement?: "first" | "default" | "last";
|
|
2601
|
+
readonly hostTreeHeader?: "default" | "none";
|
|
2602
|
+
readonly hostTreeFooter?: "default" | "none";
|
|
2603
|
+
}
|
|
2604
|
+
//#endregion
|
|
2605
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/pages.d.ts
|
|
2606
|
+
type PageSlotRole = "primary" | "auxiliary";
|
|
2607
|
+
type PageSlotCardinality = "one" | "many";
|
|
2608
|
+
type PageOpenIntent = "preview" | "pin";
|
|
2609
|
+
type PageSlotRegion = ExtensionPanelRegion;
|
|
2610
|
+
interface PageMainView extends PlacementPresentation {
|
|
2611
|
+
readonly kind: "view";
|
|
2612
|
+
readonly view: ViewRef;
|
|
2613
|
+
readonly cardinality: PageSlotCardinality;
|
|
2614
|
+
}
|
|
2615
|
+
interface PageMainPanels {
|
|
2616
|
+
readonly kind: "panels";
|
|
2617
|
+
readonly empty: ViewRef;
|
|
2618
|
+
}
|
|
2619
|
+
type PageMain = PageMainView | PageMainPanels;
|
|
2620
|
+
/** A page-owned panel. Main presentation and routed context belong to the page. */
|
|
2621
|
+
interface PageSlot extends PlacementPresentation {
|
|
2622
|
+
readonly id: string;
|
|
2623
|
+
readonly region: PageSlotRegion;
|
|
2624
|
+
readonly order?: number;
|
|
2625
|
+
readonly item: PlacementItem;
|
|
2626
|
+
readonly openOn?: "page-resource";
|
|
2784
2627
|
}
|
|
2785
|
-
interface
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2628
|
+
interface PageSlotRef {
|
|
2629
|
+
readonly kind: "page-slot";
|
|
2630
|
+
readonly page: PageRef;
|
|
2631
|
+
readonly id: string;
|
|
2789
2632
|
}
|
|
2790
|
-
|
|
2791
|
-
interface
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2633
|
+
type PanelRef = PlacementRef | PageSlotRef;
|
|
2634
|
+
interface PageContribution extends ContributionDefinition<"page"> {
|
|
2635
|
+
readonly title: Localizable<string>;
|
|
2636
|
+
readonly icon?: string;
|
|
2637
|
+
readonly path: string;
|
|
2638
|
+
readonly mode: ModeRef;
|
|
2639
|
+
readonly parent?: PageRef;
|
|
2640
|
+
readonly resource?: ResourceConstraint;
|
|
2641
|
+
readonly main: PageMain;
|
|
2642
|
+
readonly slots: readonly PageSlot[];
|
|
2643
|
+
readonly panels: Readonly<Record<string, PageSlotRef>>;
|
|
2795
2644
|
}
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
readonly
|
|
2645
|
+
type PlacementOwner = {
|
|
2646
|
+
readonly kind: "shell";
|
|
2647
|
+
readonly placementId: string;
|
|
2648
|
+
} | {
|
|
2649
|
+
readonly kind: "mode";
|
|
2650
|
+
readonly modeId: string;
|
|
2651
|
+
readonly placementId: string;
|
|
2652
|
+
} | {
|
|
2653
|
+
readonly kind: "page";
|
|
2654
|
+
readonly pageId: string;
|
|
2655
|
+
readonly slotId: string;
|
|
2799
2656
|
};
|
|
2800
|
-
type
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
label: Localizable<string>;
|
|
2809
|
-
/** Declares skill directories so the host installs project skills for this agent. Absent = no skill setup. */
|
|
2810
|
-
skills?: HarnessSkillsLayout;
|
|
2811
|
-
/** Discrete run params the host can render, persist as defaults, validate, and pass to start/resume. */
|
|
2812
|
-
params?: HarnessParamsSchema;
|
|
2813
|
-
/** Defaults to required. Optional harnesses can run against remote workspace execution targets. */
|
|
2814
|
-
cwdRequirement?: "required" | "optional";
|
|
2815
|
-
capabilities(ctx: HarnessContext): MaybePromise<AgentCapability[]>;
|
|
2816
|
-
detect?(ctx: HarnessContext): MaybePromise<HarnessDetectionResult>;
|
|
2817
|
-
listModels?(ctx: HarnessContext): MaybePromise<AgentModel[]>;
|
|
2818
|
-
start(ctx: HarnessContext, input: HarnessStartInput): MaybePromise<HarnessSession>;
|
|
2819
|
-
resume(ctx: HarnessContext, input: HarnessResumeInput): MaybePromise<HarnessSession>;
|
|
2820
|
-
/** Re-bind after a host restart. Throw a `RetryableHarnessReattachError` only when another attempt may succeed. */
|
|
2821
|
-
reattach?(ctx: HarnessContext, input: HarnessReattachInput): MaybePromise<HarnessSession>;
|
|
2822
|
-
getMessages?(ctx: HarnessContext, input: HarnessMessagesInput): MaybePromise<SessionMessage[]>;
|
|
2823
|
-
recoverMessages?(ctx: HarnessContext, input: HarnessRecoveryInput): MaybePromise<HarnessRecoveryResult>;
|
|
2657
|
+
type PlacementIdentity = PlacementOwner & {
|
|
2658
|
+
readonly instanceKey: string;
|
|
2659
|
+
};
|
|
2660
|
+
interface PageLocation {
|
|
2661
|
+
readonly page: PageRef;
|
|
2662
|
+
readonly resource?: ResourceRef;
|
|
2663
|
+
readonly section?: FileRendererSectionTarget;
|
|
2664
|
+
readonly parent?: PageLocation;
|
|
2824
2665
|
}
|
|
2825
2666
|
//#endregion
|
|
2826
2667
|
//#region ../pstdio-api-contracts/src/extension-kernel/types/statuses.d.ts
|
|
@@ -2858,8 +2699,8 @@ interface StatusBarItemContribution extends ContributionDefinition<"status-bar-i
|
|
|
2858
2699
|
}
|
|
2859
2700
|
//#endregion
|
|
2860
2701
|
//#region ../pstdio-api-contracts/src/extension-kernel/types/extension.d.ts
|
|
2861
|
-
/** Current host extension API version. `engines.pstdio`
|
|
2862
|
-
declare const EXTENSION_API_VERSION = "1.0
|
|
2702
|
+
/** Current host extension API version. `engines.pstdio` declares caret ranges, such as `^0.1.0`. */
|
|
2703
|
+
declare const EXTENSION_API_VERSION = "0.1.0";
|
|
2863
2704
|
type SchemaParams<TSchema extends ParamObjectSchema | undefined> = TSchema extends ParamObjectSchema ? ParamsOf<TSchema> : Record<string, never>;
|
|
2864
2705
|
interface WorkspaceProviderRef {
|
|
2865
2706
|
version: number;
|
|
@@ -3408,33 +3249,228 @@ interface ExtensionContextBase<TSettings extends Record<string, unknown> = Recor
|
|
|
3408
3249
|
logger: ExtensionLoggerApi;
|
|
3409
3250
|
settings: ExtensionSettingsApi<TSettings>;
|
|
3410
3251
|
}
|
|
3411
|
-
interface CommandContext<TSettings extends Record<string, unknown> = Record<string, unknown>> extends ExtensionContextBase<TSettings> {
|
|
3252
|
+
interface CommandContext<TSettings extends Record<string, unknown> = Record<string, unknown>> extends ExtensionContextBase<TSettings> {
|
|
3253
|
+
commandId: string;
|
|
3254
|
+
invocationId: string;
|
|
3255
|
+
/** Aborts when the host cancels this command run. Handlers must stop external side effects when it fires. */
|
|
3256
|
+
signal: AbortSignal;
|
|
3257
|
+
invocation: {
|
|
3258
|
+
readonly source?: CommandSource;
|
|
3259
|
+
readonly attachment?: WorkbenchAttachmentInvocationContext;
|
|
3260
|
+
readonly slot?: SlotInvocationContext;
|
|
3261
|
+
readonly metadata?: JsonObject;
|
|
3262
|
+
};
|
|
3263
|
+
resource?: ResourceRef;
|
|
3264
|
+
attachment?: WorkbenchAttachmentInvocationContext;
|
|
3265
|
+
slot?: SlotInvocationContext;
|
|
3266
|
+
}
|
|
3267
|
+
type CommandMiddlewareContext = CommandContext;
|
|
3268
|
+
type CommandMiddlewareHandler<TParams extends Struct = Struct> = (ctx: CommandMiddlewareContext, params: TParams) => MaybePromise<CommandMiddlewareResult<TParams>>;
|
|
3269
|
+
type CommandRunHandler<TParams extends Struct = Struct, TResult = unknown, TSettings extends Record<string, unknown> = Record<string, unknown>> = (ctx: CommandContext<TSettings>, params: TParams) => MaybePromise<TResult>;
|
|
3270
|
+
type RendererCallback<TInput extends Struct = Struct, TResult = unknown, TSettings extends Record<string, unknown> = Record<string, unknown>> = (ctx: ExtensionContextBase<TSettings>, input: TInput & {
|
|
3271
|
+
renderer: RendererContext;
|
|
3272
|
+
}) => MaybePromise<TResult>;
|
|
3273
|
+
interface EventContext extends ExtensionContextBase {
|
|
3274
|
+
eventId: string;
|
|
3275
|
+
deliveryId: string;
|
|
3276
|
+
}
|
|
3277
|
+
type SetupContext = ExtensionContextBase;
|
|
3278
|
+
type MigrationContext = ExtensionContextBase;
|
|
3279
|
+
//#endregion
|
|
3280
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/file-renderer.d.ts
|
|
3281
|
+
type FileRendererResourceRef = ResourceRef;
|
|
3282
|
+
interface FileRendererSectionAnchor {
|
|
3283
|
+
/** Stable extension-owned tree node id. */
|
|
3284
|
+
id: string;
|
|
3285
|
+
/** Plain heading text as it appears in the Markdown document. */
|
|
3286
|
+
heading: string;
|
|
3287
|
+
/** Zero-based occurrence when the document repeats the same heading text. */
|
|
3288
|
+
occurrence?: number;
|
|
3289
|
+
}
|
|
3290
|
+
interface FileRendererSectionTarget {
|
|
3291
|
+
/** The document outline used for deep-linking and active-heading sync. */
|
|
3292
|
+
anchors: FileRendererSectionAnchor[];
|
|
3293
|
+
}
|
|
3294
|
+
interface FileRendererLoadParams {
|
|
3295
|
+
renderer: RendererContext;
|
|
3296
|
+
}
|
|
3297
|
+
interface FileRendererLoadResult {
|
|
3298
|
+
fileName?: string;
|
|
3299
|
+
mimeType?: string;
|
|
3300
|
+
content?: string;
|
|
3301
|
+
dataUrl?: string;
|
|
3302
|
+
placeholder?: string;
|
|
3303
|
+
/** Override contribution-level save support for one loaded file. */
|
|
3304
|
+
editable?: boolean;
|
|
3305
|
+
/** Request Monaco for text that automatic dispatch would open as markdown. */
|
|
3306
|
+
textRenderer?: "automatic" | "monaco";
|
|
3307
|
+
/** Represent a deliberate no-file selection without an editable blank document. */
|
|
3308
|
+
emptyState?: {
|
|
3309
|
+
title: string;
|
|
3310
|
+
description?: string;
|
|
3311
|
+
};
|
|
3312
|
+
}
|
|
3313
|
+
interface FileRendererSaveParams {
|
|
3314
|
+
renderer: RendererContext;
|
|
3315
|
+
content: string;
|
|
3316
|
+
}
|
|
3317
|
+
interface FileRendererContribution extends RendererContributionBase {
|
|
3318
|
+
load: RendererCallback<FileRendererLoadParams, FileRendererLoadResult>;
|
|
3319
|
+
save?: RendererCallback<FileRendererSaveParams, unknown>;
|
|
3320
|
+
}
|
|
3321
|
+
//#endregion
|
|
3322
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/navigation-target.d.ts
|
|
3323
|
+
interface NavigationTargetPage {
|
|
3324
|
+
kind: "page";
|
|
3325
|
+
page: PageRef;
|
|
3326
|
+
resource?: ResourceRef;
|
|
3327
|
+
section?: FileRendererSectionTarget;
|
|
3328
|
+
open?: PageOpenIntent;
|
|
3329
|
+
parent?: NavigationTargetPage;
|
|
3330
|
+
}
|
|
3331
|
+
interface NavigationTargetPanel {
|
|
3332
|
+
kind: "panel";
|
|
3333
|
+
panel: PanelRef;
|
|
3334
|
+
resource?: ResourceRef;
|
|
3335
|
+
open?: PageOpenIntent;
|
|
3336
|
+
}
|
|
3337
|
+
interface NavigationTargetCommand {
|
|
3338
|
+
kind: "command";
|
|
3339
|
+
target: CommandTarget<JsonObject>;
|
|
3340
|
+
}
|
|
3341
|
+
interface NavigationTargetHref {
|
|
3342
|
+
kind: "href";
|
|
3343
|
+
href: string;
|
|
3344
|
+
}
|
|
3345
|
+
type NavigationTargetItem = NavigationTargetPage | NavigationTargetPanel | NavigationTargetCommand | NavigationTargetHref;
|
|
3346
|
+
interface NavigationTargetCompound {
|
|
3347
|
+
kind: "compound";
|
|
3348
|
+
targets: readonly (NavigationTargetPage | NavigationTargetPanel)[];
|
|
3349
|
+
}
|
|
3350
|
+
type NavigationTarget = NavigationTargetItem | NavigationTargetCompound;
|
|
3351
|
+
//#endregion
|
|
3352
|
+
//#region ../pstdio-api-contracts/src/extension-kernel/types/commands.d.ts
|
|
3353
|
+
type CommandSource = "cli" | "dashboard" | "api" | "schedule" | "event" | "automation" | "command-panel";
|
|
3354
|
+
interface CommandRef<TParams extends Struct = Struct, TResult = unknown> extends ContributionRef<"command"> {
|
|
3355
|
+
params?: TParams;
|
|
3356
|
+
result?: TResult;
|
|
3357
|
+
}
|
|
3358
|
+
interface CommandTarget<TParams extends Struct = Struct> {
|
|
3359
|
+
command: CommandRef<TParams, unknown>;
|
|
3360
|
+
params?: TParams;
|
|
3361
|
+
}
|
|
3362
|
+
interface SerializedError {
|
|
3363
|
+
name?: string;
|
|
3364
|
+
message: string;
|
|
3365
|
+
stack?: string;
|
|
3366
|
+
cause?: JsonValue;
|
|
3367
|
+
}
|
|
3368
|
+
interface WorkbenchAttachmentInvocationContext {
|
|
3369
|
+
target: WorkbenchAttachmentTarget;
|
|
3370
|
+
mode?: string;
|
|
3371
|
+
projectId?: string;
|
|
3372
|
+
resource?: ResourceRef;
|
|
3373
|
+
}
|
|
3374
|
+
interface CommandInvocation<TParams extends Struct = Struct> {
|
|
3375
|
+
params: TParams;
|
|
3376
|
+
resource?: ResourceRef;
|
|
3377
|
+
attachment?: WorkbenchAttachmentInvocationContext;
|
|
3378
|
+
slot?: SlotInvocationContext;
|
|
3379
|
+
metadata?: JsonObject;
|
|
3380
|
+
}
|
|
3381
|
+
interface CommandContinue {
|
|
3382
|
+
type: "continue";
|
|
3383
|
+
}
|
|
3384
|
+
interface CommandPatchParams<TParams extends Struct = Struct> {
|
|
3385
|
+
type: "patchParams";
|
|
3386
|
+
params: Partial<TParams>;
|
|
3387
|
+
}
|
|
3388
|
+
interface CommandReplaceParams<TParams extends Struct = Struct> {
|
|
3389
|
+
type: "replaceParams";
|
|
3390
|
+
params: TParams;
|
|
3391
|
+
}
|
|
3392
|
+
interface CommandReplaceInvocation<TParams extends Struct = Struct> {
|
|
3393
|
+
type: "replaceInvocation";
|
|
3394
|
+
invocation: CommandInvocation<TParams>;
|
|
3395
|
+
}
|
|
3396
|
+
interface CommandReject {
|
|
3397
|
+
type: "reject";
|
|
3398
|
+
code?: string;
|
|
3399
|
+
reason: string;
|
|
3400
|
+
data?: JsonObject;
|
|
3401
|
+
}
|
|
3402
|
+
type CommandMiddlewareResult<TParams extends Struct = Struct> = void | CommandContinue | CommandPatchParams<TParams> | CommandReplaceParams<TParams> | CommandReplaceInvocation<TParams> | CommandReject;
|
|
3403
|
+
interface CommandNotice {
|
|
3404
|
+
type: "info" | "success" | "warning" | "error";
|
|
3405
|
+
title?: string;
|
|
3406
|
+
message: string;
|
|
3407
|
+
metadata?: JsonObject;
|
|
3408
|
+
}
|
|
3409
|
+
interface CommandDiagnostic {
|
|
3410
|
+
code: string;
|
|
3411
|
+
message: string;
|
|
3412
|
+
severity: "info" | "warning" | "error";
|
|
3413
|
+
extensionId?: string;
|
|
3414
|
+
commandId?: string;
|
|
3415
|
+
metadata?: JsonObject;
|
|
3416
|
+
}
|
|
3417
|
+
type CommandOutcome<TResult = unknown> = {
|
|
3418
|
+
ok: true;
|
|
3419
|
+
status: "success";
|
|
3420
|
+
value: TResult;
|
|
3421
|
+
navigationRequests?: NavigationTarget[];
|
|
3422
|
+
notices?: CommandNotice[];
|
|
3423
|
+
diagnostics?: CommandDiagnostic[];
|
|
3424
|
+
} | {
|
|
3425
|
+
ok: false;
|
|
3426
|
+
status: "rejected";
|
|
3427
|
+
code?: string;
|
|
3428
|
+
reason: string;
|
|
3429
|
+
data?: JsonObject;
|
|
3430
|
+
notices?: CommandNotice[];
|
|
3431
|
+
diagnostics?: CommandDiagnostic[];
|
|
3432
|
+
} | {
|
|
3433
|
+
ok: false;
|
|
3434
|
+
status: "error";
|
|
3435
|
+
code?: string;
|
|
3436
|
+
reason: string;
|
|
3437
|
+
error?: SerializedError;
|
|
3438
|
+
notices?: CommandNotice[];
|
|
3439
|
+
diagnostics?: CommandDiagnostic[];
|
|
3440
|
+
};
|
|
3441
|
+
interface CommandHelpersApi {
|
|
3442
|
+
execute<TParams extends Struct = Struct, TResult = unknown>(command: CommandRef<TParams, TResult>, invocation: CommandInvocation<TParams>): Promise<CommandOutcome<TResult>>;
|
|
3443
|
+
continue(): CommandContinue;
|
|
3444
|
+
patchParams<TParams extends Struct = Struct>(params: Partial<TParams>): CommandPatchParams<TParams>;
|
|
3445
|
+
replaceParams<TParams extends Struct = Struct>(params: TParams): CommandReplaceParams<TParams>;
|
|
3446
|
+
replaceInvocation<TParams extends Struct = Struct>(invocation: CommandInvocation<TParams>): CommandReplaceInvocation<TParams>;
|
|
3447
|
+
reject(input: Omit<CommandReject, "type">): CommandReject;
|
|
3448
|
+
}
|
|
3449
|
+
interface CommandRequestedEvent<TParams extends Struct = Struct> {
|
|
3412
3450
|
commandId: string;
|
|
3413
3451
|
invocationId: string;
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
invocation: {
|
|
3417
|
-
readonly source?: CommandSource;
|
|
3418
|
-
readonly attachment?: WorkbenchAttachmentInvocationContext;
|
|
3419
|
-
readonly slot?: SlotInvocationContext;
|
|
3420
|
-
readonly metadata?: JsonObject;
|
|
3421
|
-
};
|
|
3452
|
+
source?: CommandSource;
|
|
3453
|
+
params: TParams;
|
|
3422
3454
|
resource?: ResourceRef;
|
|
3423
|
-
attachment?: WorkbenchAttachmentInvocationContext;
|
|
3424
|
-
slot?: SlotInvocationContext;
|
|
3425
3455
|
}
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
renderer: RendererContext;
|
|
3431
|
-
}) => MaybePromise<TResult>;
|
|
3432
|
-
interface EventContext extends ExtensionContextBase {
|
|
3433
|
-
eventId: string;
|
|
3434
|
-
deliveryId: string;
|
|
3456
|
+
interface CommandStartedEvent<TParams extends Struct = Struct> extends CommandRequestedEvent<TParams> {}
|
|
3457
|
+
interface CommandCompletedEvent<TParams extends Struct = Struct, TResult = unknown> extends CommandStartedEvent<TParams> {
|
|
3458
|
+
result: TResult;
|
|
3459
|
+
elapsedMs: number;
|
|
3435
3460
|
}
|
|
3436
|
-
|
|
3437
|
-
|
|
3461
|
+
interface CommandRejectedEvent<TParams extends Struct = Struct> extends CommandRequestedEvent<TParams> {
|
|
3462
|
+
code?: string;
|
|
3463
|
+
reason: string;
|
|
3464
|
+
data?: JsonObject;
|
|
3465
|
+
}
|
|
3466
|
+
interface CommandFailedEvent<TParams extends Struct = Struct> extends CommandRequestedEvent<TParams> {
|
|
3467
|
+
code?: string;
|
|
3468
|
+
reason: string;
|
|
3469
|
+
error?: SerializedError;
|
|
3470
|
+
elapsedMs: number;
|
|
3471
|
+
}
|
|
3472
|
+
type CommandLifecyclePhase = "requested" | "started" | "completed" | "rejected" | "failed";
|
|
3473
|
+
type CommandLifecycleEventPayload<TPhase extends CommandLifecyclePhase, TParams extends Struct = Struct, TResult = unknown> = TPhase extends "requested" ? CommandRequestedEvent<TParams> : TPhase extends "started" ? CommandStartedEvent<TParams> : TPhase extends "completed" ? CommandCompletedEvent<TParams, TResult> : TPhase extends "rejected" ? CommandRejectedEvent<TParams> : CommandFailedEvent<TParams>;
|
|
3438
3474
|
//#endregion
|
|
3439
3475
|
//#region ../pstdio-api-contracts/src/extension-kernel/types/composition.d.ts
|
|
3440
3476
|
declare const dockedWorkbenchRegions: readonly ["sidenav", "main", "secondary", "side"];
|
|
@@ -3460,6 +3496,14 @@ interface ResourceKindDefinition extends ContributionDefinition<"resource-kind">
|
|
|
3460
3496
|
readonly label?: Localizable<string>;
|
|
3461
3497
|
readonly icon?: string;
|
|
3462
3498
|
readonly menuSlots?: readonly ResourceMenuSlotDefinition[];
|
|
3499
|
+
/**
|
|
3500
|
+
* A command of this extension that returns the current reference for an open
|
|
3501
|
+
* resource, or null. The host runs it with `ctx.resource` set to the open
|
|
3502
|
+
* resource when the page opens and after the extension emits an event, and
|
|
3503
|
+
* shows the returned label, icon, and metadata. Keep metadata the page owns,
|
|
3504
|
+
* such as a selected document, from `ctx.resource`.
|
|
3505
|
+
*/
|
|
3506
|
+
readonly resolve?: CommandRef;
|
|
3463
3507
|
}
|
|
3464
3508
|
interface ResourceHierarchyProvider extends ContributionDefinition<"resource-hierarchy-provider"> {
|
|
3465
3509
|
resourceKind: ResourceKindRef;
|
|
@@ -4141,6 +4185,7 @@ type RequiredOf<TOptions> = TOptions extends {
|
|
|
4141
4185
|
type ParamOptions<TParam extends {
|
|
4142
4186
|
type: string;
|
|
4143
4187
|
}> = Omit<TParam, "type">;
|
|
4188
|
+
type SelectionOptions<TOptions> = TOptions extends ParamOption[] ? ParamOption[] : ParamOptionSource;
|
|
4144
4189
|
/**
|
|
4145
4190
|
* Builders for typed parameter descriptors. Each builder produces a discriminated
|
|
4146
4191
|
* `ParamDescriptor` so the runtime and editor only see fields valid for that type.
|
|
@@ -4152,14 +4197,22 @@ type ParamOptions<TParam extends {
|
|
|
4152
4197
|
* }
|
|
4153
4198
|
*/
|
|
4154
4199
|
declare const params: {
|
|
4200
|
+
valueOf: (key: string) => {
|
|
4201
|
+
kind: "param-value";
|
|
4202
|
+
key: string;
|
|
4203
|
+
};
|
|
4155
4204
|
text: <const TOptions extends ParamOptions<TextParam> | undefined = undefined>(options?: TOptions) => TextParam<RequiredOf<TOptions>>;
|
|
4156
4205
|
longText: <const TOptions extends ParamOptions<LongTextParam> | undefined = undefined>(options?: TOptions) => LongTextParam<RequiredOf<TOptions>>;
|
|
4157
4206
|
markdown: <const TOptions extends ParamOptions<MarkdownParam> | undefined = undefined>(options?: TOptions) => MarkdownParam<RequiredOf<TOptions>>;
|
|
4158
4207
|
files: <const TOptions extends ParamOptions<FilesParam> | undefined = undefined>(options?: TOptions) => FilesParam<RequiredOf<TOptions>>;
|
|
4159
4208
|
number: <const TOptions extends ParamOptions<NumberParam> | undefined = undefined>(options?: TOptions) => NumberParam<RequiredOf<TOptions>>;
|
|
4160
4209
|
boolean: <const TOptions extends ParamOptions<BooleanParam> | undefined = undefined>(options?: TOptions) => BooleanParam<RequiredOf<TOptions>>;
|
|
4161
|
-
select: <const TOptions extends ParamOptions<SelectParam>>(options: TOptions) => SelectParam<RequiredOf<TOptions
|
|
4162
|
-
|
|
4210
|
+
select: <const TOptions extends ParamOptions<SelectParam>>(options: TOptions) => Omit<SelectParam<RequiredOf<TOptions>>, "options"> & {
|
|
4211
|
+
options: SelectionOptions<TOptions["options"]>;
|
|
4212
|
+
};
|
|
4213
|
+
multiSelect: <const TOptions extends ParamOptions<MultiSelectParam>>(options: TOptions) => Omit<MultiSelectParam<RequiredOf<TOptions>>, "options"> & {
|
|
4214
|
+
options: SelectionOptions<TOptions["options"]>;
|
|
4215
|
+
};
|
|
4163
4216
|
harness: <const TOptions extends ParamOptions<HarnessParam> | undefined = undefined>(options?: TOptions) => HarnessParam<RequiredOf<TOptions>>;
|
|
4164
4217
|
workspace: <const TOptions extends ParamOptions<WorkspaceParam> | undefined = undefined>(options?: TOptions) => WorkspaceParam<RequiredOf<TOptions>>;
|
|
4165
4218
|
template: <const TOptions extends Omit<TemplateParam, "type" | "templateType"> & {
|
|
@@ -4374,8 +4427,8 @@ declare const automationRunStatusSchema: z.ZodEnum<{
|
|
|
4374
4427
|
failed: "failed";
|
|
4375
4428
|
cancelled: "cancelled";
|
|
4376
4429
|
running: "running";
|
|
4377
|
-
succeeded: "succeeded";
|
|
4378
4430
|
rejected: "rejected";
|
|
4431
|
+
succeeded: "succeeded";
|
|
4379
4432
|
}>;
|
|
4380
4433
|
declare const issueAutomationTokenInputSchema: z.ZodObject<{
|
|
4381
4434
|
name: z.ZodString;
|
|
@@ -4455,8 +4508,8 @@ declare const automationRunSchema: z.ZodObject<{
|
|
|
4455
4508
|
failed: "failed";
|
|
4456
4509
|
cancelled: "cancelled";
|
|
4457
4510
|
running: "running";
|
|
4458
|
-
succeeded: "succeeded";
|
|
4459
4511
|
rejected: "rejected";
|
|
4512
|
+
succeeded: "succeeded";
|
|
4460
4513
|
}>;
|
|
4461
4514
|
createdAt: z.ZodString;
|
|
4462
4515
|
startedAt: z.ZodNullable<z.ZodString>;
|
|
@@ -4495,6 +4548,151 @@ type AutomationRun = z.infer<typeof automationRunSchema>;
|
|
|
4495
4548
|
type AutomationRunEvent = z.infer<typeof automationRunEventSchema>;
|
|
4496
4549
|
type ListAutomationRunEventsResponse = z.infer<typeof listAutomationRunEventsResponseSchema>;
|
|
4497
4550
|
//#endregion
|
|
4551
|
+
//#region ../pstdio-api-contracts/src/board-views.d.ts
|
|
4552
|
+
declare const boardFieldSchema: z.ZodObject<{
|
|
4553
|
+
id: z.ZodString;
|
|
4554
|
+
label: z.ZodString;
|
|
4555
|
+
kind: z.ZodEnum<{
|
|
4556
|
+
string: "string";
|
|
4557
|
+
number: "number";
|
|
4558
|
+
status: "status";
|
|
4559
|
+
date: "date";
|
|
4560
|
+
enum: "enum";
|
|
4561
|
+
"enum-multi": "enum-multi";
|
|
4562
|
+
user: "user";
|
|
4563
|
+
}>;
|
|
4564
|
+
filterable: z.ZodBoolean;
|
|
4565
|
+
groupable: z.ZodBoolean;
|
|
4566
|
+
sortable: z.ZodBoolean;
|
|
4567
|
+
displayable: z.ZodBoolean;
|
|
4568
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
4569
|
+
value: z.ZodString;
|
|
4570
|
+
label: z.ZodString;
|
|
4571
|
+
}, z.core.$strip>>>;
|
|
4572
|
+
}, z.core.$strip>;
|
|
4573
|
+
declare const boardSummarySchema: z.ZodObject<{
|
|
4574
|
+
id: z.ZodString;
|
|
4575
|
+
title: z.ZodString;
|
|
4576
|
+
extensionId: z.ZodString;
|
|
4577
|
+
fields: z.ZodArray<z.ZodObject<{
|
|
4578
|
+
id: z.ZodString;
|
|
4579
|
+
label: z.ZodString;
|
|
4580
|
+
kind: z.ZodEnum<{
|
|
4581
|
+
string: "string";
|
|
4582
|
+
number: "number";
|
|
4583
|
+
status: "status";
|
|
4584
|
+
date: "date";
|
|
4585
|
+
enum: "enum";
|
|
4586
|
+
"enum-multi": "enum-multi";
|
|
4587
|
+
user: "user";
|
|
4588
|
+
}>;
|
|
4589
|
+
filterable: z.ZodBoolean;
|
|
4590
|
+
groupable: z.ZodBoolean;
|
|
4591
|
+
sortable: z.ZodBoolean;
|
|
4592
|
+
displayable: z.ZodBoolean;
|
|
4593
|
+
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
4594
|
+
value: z.ZodString;
|
|
4595
|
+
label: z.ZodString;
|
|
4596
|
+
}, z.core.$strip>>>;
|
|
4597
|
+
}, z.core.$strip>>;
|
|
4598
|
+
}, z.core.$strip>;
|
|
4599
|
+
declare const boardViewSchema: z.ZodObject<{
|
|
4600
|
+
id: z.ZodString;
|
|
4601
|
+
boardId: z.ZodString;
|
|
4602
|
+
title: z.ZodString;
|
|
4603
|
+
settings: z.ZodObject<{
|
|
4604
|
+
viewMode: z.ZodEnum<{
|
|
4605
|
+
board: "board";
|
|
4606
|
+
list: "list";
|
|
4607
|
+
}>;
|
|
4608
|
+
columnGrouping: z.ZodString;
|
|
4609
|
+
rowGrouping: z.ZodString;
|
|
4610
|
+
ordering: z.ZodObject<{
|
|
4611
|
+
attributeId: z.ZodString;
|
|
4612
|
+
direction: z.ZodEnum<{
|
|
4613
|
+
asc: "asc";
|
|
4614
|
+
desc: "desc";
|
|
4615
|
+
}>;
|
|
4616
|
+
}, z.core.$strip>;
|
|
4617
|
+
displayProperties: z.ZodArray<z.ZodString>;
|
|
4618
|
+
}, z.core.$strip>;
|
|
4619
|
+
filters: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
|
|
4620
|
+
builtIn: z.ZodBoolean;
|
|
4621
|
+
}, z.core.$strip>;
|
|
4622
|
+
declare const boardViewsSchema: z.ZodObject<{
|
|
4623
|
+
views: z.ZodArray<z.ZodObject<{
|
|
4624
|
+
id: z.ZodString;
|
|
4625
|
+
boardId: z.ZodString;
|
|
4626
|
+
title: z.ZodString;
|
|
4627
|
+
settings: z.ZodObject<{
|
|
4628
|
+
viewMode: z.ZodEnum<{
|
|
4629
|
+
board: "board";
|
|
4630
|
+
list: "list";
|
|
4631
|
+
}>;
|
|
4632
|
+
columnGrouping: z.ZodString;
|
|
4633
|
+
rowGrouping: z.ZodString;
|
|
4634
|
+
ordering: z.ZodObject<{
|
|
4635
|
+
attributeId: z.ZodString;
|
|
4636
|
+
direction: z.ZodEnum<{
|
|
4637
|
+
asc: "asc";
|
|
4638
|
+
desc: "desc";
|
|
4639
|
+
}>;
|
|
4640
|
+
}, z.core.$strip>;
|
|
4641
|
+
displayProperties: z.ZodArray<z.ZodString>;
|
|
4642
|
+
}, z.core.$strip>;
|
|
4643
|
+
filters: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
|
|
4644
|
+
builtIn: z.ZodBoolean;
|
|
4645
|
+
}, z.core.$strip>>;
|
|
4646
|
+
defaultViewId: z.ZodString;
|
|
4647
|
+
}, z.core.$strip>;
|
|
4648
|
+
declare const boardViewUpdateSchema: z.ZodObject<{
|
|
4649
|
+
title: z.ZodOptional<z.ZodString>;
|
|
4650
|
+
settings: z.ZodOptional<z.ZodObject<{
|
|
4651
|
+
viewMode: z.ZodOptional<z.ZodEnum<{
|
|
4652
|
+
board: "board";
|
|
4653
|
+
list: "list";
|
|
4654
|
+
}>>;
|
|
4655
|
+
columnGrouping: z.ZodOptional<z.ZodString>;
|
|
4656
|
+
rowGrouping: z.ZodOptional<z.ZodString>;
|
|
4657
|
+
ordering: z.ZodOptional<z.ZodObject<{
|
|
4658
|
+
attributeId: z.ZodString;
|
|
4659
|
+
direction: z.ZodEnum<{
|
|
4660
|
+
asc: "asc";
|
|
4661
|
+
desc: "desc";
|
|
4662
|
+
}>;
|
|
4663
|
+
}, z.core.$strip>>;
|
|
4664
|
+
displayProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
4665
|
+
}, z.core.$strip>>;
|
|
4666
|
+
filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
|
|
4667
|
+
}, z.core.$strict>;
|
|
4668
|
+
declare const boardViewCreateSchema: z.ZodObject<{
|
|
4669
|
+
settings: z.ZodOptional<z.ZodObject<{
|
|
4670
|
+
viewMode: z.ZodOptional<z.ZodEnum<{
|
|
4671
|
+
board: "board";
|
|
4672
|
+
list: "list";
|
|
4673
|
+
}>>;
|
|
4674
|
+
columnGrouping: z.ZodOptional<z.ZodString>;
|
|
4675
|
+
rowGrouping: z.ZodOptional<z.ZodString>;
|
|
4676
|
+
ordering: z.ZodOptional<z.ZodObject<{
|
|
4677
|
+
attributeId: z.ZodString;
|
|
4678
|
+
direction: z.ZodEnum<{
|
|
4679
|
+
asc: "asc";
|
|
4680
|
+
desc: "desc";
|
|
4681
|
+
}>;
|
|
4682
|
+
}, z.core.$strip>>;
|
|
4683
|
+
displayProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
4684
|
+
}, z.core.$strip>>;
|
|
4685
|
+
filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
|
|
4686
|
+
title: z.ZodString;
|
|
4687
|
+
copyFrom: z.ZodOptional<z.ZodString>;
|
|
4688
|
+
}, z.core.$strict>;
|
|
4689
|
+
type BoardSummary = z.infer<typeof boardSummarySchema>;
|
|
4690
|
+
type BoardField = z.infer<typeof boardFieldSchema>;
|
|
4691
|
+
type BoardView = z.infer<typeof boardViewSchema>;
|
|
4692
|
+
type BoardViews = z.infer<typeof boardViewsSchema>;
|
|
4693
|
+
type BoardViewCreate = z.infer<typeof boardViewCreateSchema>;
|
|
4694
|
+
type BoardViewUpdate = z.infer<typeof boardViewUpdateSchema>;
|
|
4695
|
+
//#endregion
|
|
4498
4696
|
//#region ../pstdio-api-contracts/src/extensions/resource-ref.d.ts
|
|
4499
4697
|
declare const extensionResourceRefSchema: z.ZodObject<{
|
|
4500
4698
|
shorthand: z.ZodOptional<z.ZodString>;
|
|
@@ -4779,6 +4977,30 @@ declare const workbenchExtensionViewBodySchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
4779
4977
|
id: z.ZodString;
|
|
4780
4978
|
}, z.core.$strip>;
|
|
4781
4979
|
}, z.core.$strip>>>;
|
|
4980
|
+
toolbarActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
4981
|
+
id: z.ZodString;
|
|
4982
|
+
label: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
4983
|
+
$l10n: z.ZodString;
|
|
4984
|
+
default: z.ZodOptional<z.ZodString>;
|
|
4985
|
+
}, z.core.$strip>]>;
|
|
4986
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
4987
|
+
presentation: z.ZodOptional<z.ZodEnum<{
|
|
4988
|
+
secondary: "secondary";
|
|
4989
|
+
primary: "primary";
|
|
4990
|
+
}>>;
|
|
4991
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
4992
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
4993
|
+
type: z.ZodString;
|
|
4994
|
+
}, z.core.$catchall<z.ZodUnknown>>>>;
|
|
4995
|
+
submitLabel: z.ZodOptional<z.ZodString>;
|
|
4996
|
+
when: z.ZodOptional<z.ZodString>;
|
|
4997
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
4998
|
+
command: z.ZodObject<{
|
|
4999
|
+
extensionId: z.ZodString;
|
|
5000
|
+
kind: z.ZodLiteral<"command">;
|
|
5001
|
+
id: z.ZodString;
|
|
5002
|
+
}, z.core.$strip>;
|
|
5003
|
+
}, z.core.$strip>>>;
|
|
4782
5004
|
}, z.core.$strip>, z.ZodObject<{
|
|
4783
5005
|
queryHandlerId: z.ZodString;
|
|
4784
5006
|
refreshEventIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -4877,6 +5099,30 @@ declare const workbenchExtensionViewBodySchema: z.ZodDiscriminatedUnion<[z.ZodOb
|
|
|
4877
5099
|
id: z.ZodString;
|
|
4878
5100
|
}, z.core.$strip>;
|
|
4879
5101
|
}, z.core.$strip>>>;
|
|
5102
|
+
toolbarActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5103
|
+
id: z.ZodString;
|
|
5104
|
+
label: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
5105
|
+
$l10n: z.ZodString;
|
|
5106
|
+
default: z.ZodOptional<z.ZodString>;
|
|
5107
|
+
}, z.core.$strip>]>;
|
|
5108
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
5109
|
+
presentation: z.ZodOptional<z.ZodEnum<{
|
|
5110
|
+
secondary: "secondary";
|
|
5111
|
+
primary: "primary";
|
|
5112
|
+
}>>;
|
|
5113
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5114
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5115
|
+
type: z.ZodString;
|
|
5116
|
+
}, z.core.$catchall<z.ZodUnknown>>>>;
|
|
5117
|
+
submitLabel: z.ZodOptional<z.ZodString>;
|
|
5118
|
+
when: z.ZodOptional<z.ZodString>;
|
|
5119
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
5120
|
+
command: z.ZodObject<{
|
|
5121
|
+
extensionId: z.ZodString;
|
|
5122
|
+
kind: z.ZodLiteral<"command">;
|
|
5123
|
+
id: z.ZodString;
|
|
5124
|
+
}, z.core.$strip>;
|
|
5125
|
+
}, z.core.$strip>>>;
|
|
4880
5126
|
}, z.core.$strip>], "kind">;
|
|
4881
5127
|
declare const workbenchExtensionViewRecordSchema: z.ZodObject<{
|
|
4882
5128
|
id: z.ZodString;
|
|
@@ -5134,6 +5380,30 @@ declare const workbenchExtensionViewRecordSchema: z.ZodObject<{
|
|
|
5134
5380
|
id: z.ZodString;
|
|
5135
5381
|
}, z.core.$strip>;
|
|
5136
5382
|
}, z.core.$strip>>>;
|
|
5383
|
+
toolbarActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5384
|
+
id: z.ZodString;
|
|
5385
|
+
label: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
5386
|
+
$l10n: z.ZodString;
|
|
5387
|
+
default: z.ZodOptional<z.ZodString>;
|
|
5388
|
+
}, z.core.$strip>]>;
|
|
5389
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
5390
|
+
presentation: z.ZodOptional<z.ZodEnum<{
|
|
5391
|
+
secondary: "secondary";
|
|
5392
|
+
primary: "primary";
|
|
5393
|
+
}>>;
|
|
5394
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5395
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5396
|
+
type: z.ZodString;
|
|
5397
|
+
}, z.core.$catchall<z.ZodUnknown>>>>;
|
|
5398
|
+
submitLabel: z.ZodOptional<z.ZodString>;
|
|
5399
|
+
when: z.ZodOptional<z.ZodString>;
|
|
5400
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
5401
|
+
command: z.ZodObject<{
|
|
5402
|
+
extensionId: z.ZodString;
|
|
5403
|
+
kind: z.ZodLiteral<"command">;
|
|
5404
|
+
id: z.ZodString;
|
|
5405
|
+
}, z.core.$strip>;
|
|
5406
|
+
}, z.core.$strip>>>;
|
|
5137
5407
|
}, z.core.$strip>, z.ZodObject<{
|
|
5138
5408
|
queryHandlerId: z.ZodString;
|
|
5139
5409
|
refreshEventIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -5232,6 +5502,30 @@ declare const workbenchExtensionViewRecordSchema: z.ZodObject<{
|
|
|
5232
5502
|
id: z.ZodString;
|
|
5233
5503
|
}, z.core.$strip>;
|
|
5234
5504
|
}, z.core.$strip>>>;
|
|
5505
|
+
toolbarActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
5506
|
+
id: z.ZodString;
|
|
5507
|
+
label: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
5508
|
+
$l10n: z.ZodString;
|
|
5509
|
+
default: z.ZodOptional<z.ZodString>;
|
|
5510
|
+
}, z.core.$strip>]>;
|
|
5511
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
5512
|
+
presentation: z.ZodOptional<z.ZodEnum<{
|
|
5513
|
+
secondary: "secondary";
|
|
5514
|
+
primary: "primary";
|
|
5515
|
+
}>>;
|
|
5516
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
5517
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
5518
|
+
type: z.ZodString;
|
|
5519
|
+
}, z.core.$catchall<z.ZodUnknown>>>>;
|
|
5520
|
+
submitLabel: z.ZodOptional<z.ZodString>;
|
|
5521
|
+
when: z.ZodOptional<z.ZodString>;
|
|
5522
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
5523
|
+
command: z.ZodObject<{
|
|
5524
|
+
extensionId: z.ZodString;
|
|
5525
|
+
kind: z.ZodLiteral<"command">;
|
|
5526
|
+
id: z.ZodString;
|
|
5527
|
+
}, z.core.$strip>;
|
|
5528
|
+
}, z.core.$strip>>>;
|
|
5235
5529
|
}, z.core.$strip>], "kind">;
|
|
5236
5530
|
}, z.core.$strip>;
|
|
5237
5531
|
declare const workbenchExtensionMetadataSchema: z.ZodObject<{
|
|
@@ -5828,6 +6122,30 @@ declare const workbenchExtensionMetadataSchema: z.ZodObject<{
|
|
|
5828
6122
|
id: z.ZodString;
|
|
5829
6123
|
}, z.core.$strip>;
|
|
5830
6124
|
}, z.core.$strip>>>;
|
|
6125
|
+
toolbarActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6126
|
+
id: z.ZodString;
|
|
6127
|
+
label: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
6128
|
+
$l10n: z.ZodString;
|
|
6129
|
+
default: z.ZodOptional<z.ZodString>;
|
|
6130
|
+
}, z.core.$strip>]>;
|
|
6131
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
6132
|
+
presentation: z.ZodOptional<z.ZodEnum<{
|
|
6133
|
+
secondary: "secondary";
|
|
6134
|
+
primary: "primary";
|
|
6135
|
+
}>>;
|
|
6136
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6137
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6138
|
+
type: z.ZodString;
|
|
6139
|
+
}, z.core.$catchall<z.ZodUnknown>>>>;
|
|
6140
|
+
submitLabel: z.ZodOptional<z.ZodString>;
|
|
6141
|
+
when: z.ZodOptional<z.ZodString>;
|
|
6142
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
6143
|
+
command: z.ZodObject<{
|
|
6144
|
+
extensionId: z.ZodString;
|
|
6145
|
+
kind: z.ZodLiteral<"command">;
|
|
6146
|
+
id: z.ZodString;
|
|
6147
|
+
}, z.core.$strip>;
|
|
6148
|
+
}, z.core.$strip>>>;
|
|
5831
6149
|
}, z.core.$strip>, z.ZodObject<{
|
|
5832
6150
|
queryHandlerId: z.ZodString;
|
|
5833
6151
|
refreshEventIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
@@ -5926,6 +6244,30 @@ declare const workbenchExtensionMetadataSchema: z.ZodObject<{
|
|
|
5926
6244
|
id: z.ZodString;
|
|
5927
6245
|
}, z.core.$strip>;
|
|
5928
6246
|
}, z.core.$strip>>>;
|
|
6247
|
+
toolbarActions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6248
|
+
id: z.ZodString;
|
|
6249
|
+
label: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
6250
|
+
$l10n: z.ZodString;
|
|
6251
|
+
default: z.ZodOptional<z.ZodString>;
|
|
6252
|
+
}, z.core.$strip>]>;
|
|
6253
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
6254
|
+
presentation: z.ZodOptional<z.ZodEnum<{
|
|
6255
|
+
secondary: "secondary";
|
|
6256
|
+
primary: "primary";
|
|
6257
|
+
}>>;
|
|
6258
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
6259
|
+
input: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
6260
|
+
type: z.ZodString;
|
|
6261
|
+
}, z.core.$catchall<z.ZodUnknown>>>>;
|
|
6262
|
+
submitLabel: z.ZodOptional<z.ZodString>;
|
|
6263
|
+
when: z.ZodOptional<z.ZodString>;
|
|
6264
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
6265
|
+
command: z.ZodObject<{
|
|
6266
|
+
extensionId: z.ZodString;
|
|
6267
|
+
kind: z.ZodLiteral<"command">;
|
|
6268
|
+
id: z.ZodString;
|
|
6269
|
+
}, z.core.$strip>;
|
|
6270
|
+
}, z.core.$strip>>>;
|
|
5929
6271
|
}, z.core.$strip>], "kind">;
|
|
5930
6272
|
}, z.core.$strip>>;
|
|
5931
6273
|
viewMenus: z.ZodArray<z.ZodObject<{
|
|
@@ -6106,6 +6448,7 @@ declare const workbenchExtensionMetadataSchema: z.ZodObject<{
|
|
|
6106
6448
|
default: z.ZodOptional<z.ZodString>;
|
|
6107
6449
|
}, z.core.$strip>]>>;
|
|
6108
6450
|
icon: z.ZodOptional<z.ZodString>;
|
|
6451
|
+
resolveCommand: z.ZodOptional<z.ZodString>;
|
|
6109
6452
|
menuSlots: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
6110
6453
|
id: z.ZodString;
|
|
6111
6454
|
placement: z.ZodEnum<{
|
|
@@ -7890,8 +8233,8 @@ declare const listWorkspaceActivityResponseSchema: z.ZodObject<{
|
|
|
7890
8233
|
source_extension_id: z.ZodNullable<z.ZodString>;
|
|
7891
8234
|
event_type: z.ZodString;
|
|
7892
8235
|
actor_type: z.ZodEnum<{
|
|
7893
|
-
agent: "agent";
|
|
7894
8236
|
user: "user";
|
|
8237
|
+
agent: "agent";
|
|
7895
8238
|
system: "system";
|
|
7896
8239
|
}>;
|
|
7897
8240
|
actor_id: z.ZodNullable<z.ZodString>;
|
|
@@ -7937,5 +8280,5 @@ declare const workspaceProviderDescriptorSchema: z.ZodObject<{
|
|
|
7937
8280
|
}, z.core.$strip>;
|
|
7938
8281
|
type WorkspaceProviderDescriptor = z.infer<typeof workspaceProviderDescriptorSchema>;
|
|
7939
8282
|
//#endregion
|
|
7940
|
-
export { WorkbenchExtensionMetadata as $, FollowUpInput as $a, ExtensionSettingScope as $c, HarnessParamDescriptor as $i, SelectParam as $l, ConflictPayload as $n, PageContribution as $o, ExtensionPackageFilesApi as $r, DataTableRendererQueryResult as $s, defineExtensionView as $t, ViewHierarchyParent as $u, EnableInstalledExtensionRequest as A, SessionMessage as Aa, RangeValue as Ac, l10n as Ad, HookDefinition as Ai, KanbanRendererResourceRef as Al, defineHook as An, CommandLifecyclePhase as Ao, ResourceHierarchyProvider as Ar, TreeViewBody as As, TerminalHostEvent as At, WebviewPreferencesSetParams as Au, ConfigureExtensionConnectionInput as B, ExtensionConnectionMethod as Ba, TextControl as Bc, WorkspaceProviderCreateInput as Bi, HarnessParam as Bl, historyValueKey as Bn, CommandRequestedEvent as Bo, CommandRunHandler as Br, TreeRendererChildrenParams as Bs, PageUrlDefinition as Bt, FileRendererLoadResult as Bu, ExtensionSettingsPanelRecord as C, QuestionResponse as Ca, ControlValueMap as Cc, ViewRef as Cd, BehaviourContributions as Ci, KanbanRendererColumnAction as Cl, defineTemplateType as Cn, CommandCompletedEvent as Co, workbenchPanels as Cr, PlacementMountStrategy as Cs, ArtifactMountKey as Ct, WebviewKeyboardEventParams as Cu, ExtensionCommandPaletteResourceRecord as D, LoadingPart as Da, ParamEditorReadOnlyContent as Dc, Localizable as Dd, ExtensionDefinition as Di, KanbanRendererFilterState as Dl, defineWorkspaceType as Dn, CommandHelpersApi as Do, DockedWorkbenchRegion as Dr, PlacementTabMenuRow as Ds, TerminalSessionBridge as Dt, WebviewNotificationResolveParams as Du, ExtensionKeybindingRecord as E, FilePart as Ea, NumberControl as Ec, TerminalSessionRequest$1 as Ed, ExtensionConnectionContribution as Ei, KanbanRendererEnumOption as El, defineViewMenu as En, CommandFailedEvent as Eo, workbenchSlots as Er, PlacementTabMenuGroup as Es, TerminalSessionAdapter as Et, WebviewNotificationDismissParams as Eu, ProjectExtensionInstance as F, TextPart as Fa, SegmentedControl as Fc, AgentModel as Fd, ScheduleContribution as Fi, KanbanRendererSettings as Fl, HistoryConflict as Fn, CommandRef as Fo, ArtifactFile as Fr, TreeAction as Fs, commandEvent as Ft, UiSlotKind as Fu, LocalizableString as G, ExtensionLoggerApi as Ga, CliContribution as Gc, WorkspaceProviderState as Gi, MultiSelectParam as Gl, mergeOrderedHistory as Gn, WorkbenchAttachmentInvocationContext as Go, ExtensionBlobRef as Gr, TreeRendererState as Gs, serializePageUrl as Gt, ExtensionResourcesApi as Gu, ListExtensionConnectionsResponse as H, ExtensionConnectionResponse as Ha, VectorValue as Hc, WorkspaceProviderRef as Hi, ListParam as Hl, reconcileMessageHistory as Hn, CommandStartedEvent as Ho, ExtensionActivityApi as Hr, TreeRendererContribution as Hs, isWorkbenchProjectUrl as Ht, FileRendererSaveParams as Hu, UpgradeProjectExtensionResponse as I, TokenUsagePart as Ia, SegmentedOption as Ic, AgentSkillsLayout as Id, ScheduleExpression as Ii, KanbanRendererSortDirection as Il, HistoryProjection as In, CommandReject as Io, ArtifactMount as Ir, TreeNode as Is, QualifiedRef as It, ResourceBinding as Iu, ExtensionMenuContribution as J, SkillFile as Ja, CommandPaletteResourceItem as Jc, StatusBarItemContribution as Ji, ParamObjectSchema as Jl, eventRef as Jn, NavigationTargetCompound as Jo, ExtensionEventsApi as Jr, DataTableRendererColumn as Js, ExtensionViewModule as Jt, RendererInvocationContext as Ju, ExtensionCommandPaletteContribution as K, ExtensionAutomationApi as Ka, CommandPaletteContribution as Kc, WorkspaceTypeProvider as Ki, NumberParam as Kl, defineSlot as Kn, NavigationTarget as Ko, ExtensionBlobsApi as Kr, TreeSectionEmptyState as Ks, serializeWorkbenchPageUrl as Kt, PackageAssetDescriptor as Ku, CommandExecuteRequest as L, ToolPart as La, SelectionControl as Lc, harnessLocalId as Ld, UiContributions as Li, KanbanRendererViewMode as Ll, HistoryRecoveryInput as Ln, CommandRejectedEvent as Lo, CommandContext as Lr, TreeNodeRowVariant as Ls, qualifyRef as Lt, ResourceConstraint as Lu, InstallMarketplaceExtensionResponse as M, SessionMessageRole as Ma, ResourceControl as Mc, supportsExtensionApiVersion as Md, MiddlewareDefinition as Mi, KanbanRendererRowAction as Ml, CommandResponse as Mn, CommandNotice as Mo, ResourceMenuSlotDefinition as Mr, ViewContribution as Ms, TerminalSessionRequest as Mt, SlotInvocationContext as Mu, ListProjectExtensionsResponse as N, StepFinishPart as Na, ResourceOption as Nc, AgentAvailabilityType as Nd, PackageManifest as Ni, KanbanRendererRowActivationHandler as Nl, unwrapCommandOutcome as Nn, CommandOutcome as No, dockedWorkbenchRegions as Nr, ViewMenuContribution as Ns, TerminalSessionResult as Nt, SlotOptions as Nu, WorkbenchExtensionCommandPaletteResourceRecord as O, PatchPart as Oa, ParamEditorReadOnlyImage as Oc, LocalizedString as Od, ExtensionLoadScope as Oi, KanbanRendererQueryParams as Ol, resourceMenuSlotRef as On, CommandInvocation as Oo, ExtensionPanelRegion as Or, PlacementTabPresentation as Os, TerminalSessionExit as Ot, WebviewNotificationShowParams as Ou, MarketplaceExtension as P, StepStartPart as Pa, ResourceRefValue as Pc, AgentInfo as Pd, ProviderContributions as Pi, KanbanRendererSavedView as Pl, SDK_VERSION as Pn, CommandPatchParams as Po, extensionPanelRegions as Pr, WebviewViewBody as Ps, resourceKey as Pt, SlotRef as Pu, WorkbenchExtensionHarnessRecord as Q, CreateSessionInput as Qa, ExtensionSettingProperty as Qc, HarnessDetectionResult as Qi, ResourceParam as Ql, CommitPayload as Qn, NavigationTargetPanel as Qo, ExtensionNotifyApi as Qr, DataTableRendererQueryParams as Qs, WebviewFilesClient as Qt, ResourceRole as Qu, CommandExecuteResponse as R, ToolPartActionType as Ra, SelectionGroup as Rc, ListActivityResponse as Rd, WorkspaceCapabilities as Ri, BooleanParam as Rl, HistoryRecoveryResult as Rn, CommandReplaceInvocation as Ro, CommandMiddlewareContext as Rr, TreeNodeTarget as Rs, params as Rt, FileRendererContribution as Ru, ExtensionSettingValueRecord as S, JsonPatch as Sa, ControlValue as Sc, ThemeRef as Sd, AssetContributions as Si, KanbanRendererBoardColumnConfig as Sl, defineTemplate as Sn, UpdateNotificationInput as So, workbenchPanelDefinitions as Sr, PlacementItem as Ss, WebviewExtensionEvent as St, WebviewHostCapabilityResults as Su, UpdateExtensionSettingRequest as T, ErrorPart as Ta, MarkdownControl as Tc, TerminalSessionHandle as Td, EXTENSION_API_VERSION as Ti, KanbanRendererCreateRowContribution as Tl, defineView as Tn, CommandDiagnostic as To, workbenchResourceKinds as Tr, PlacementPresentation as Ts, artifactsRead as Tt, WebviewNotificationActionParams as Tu, ExtensionDiagnostic as U, ExtensionConnectionStreamEvent as Ua, ActivityItemContribution as Uc, WorkspaceProviderResolveInput as Ui, LongTextParam as Ul, splitHistoryTurns as Un, CommandTarget as Uo, ExtensionArtifactApi as Ur, TreeRendererQueryParams as Us, parsePageUrl as Ut, FileRendererSectionAnchor as Uu, ExtensionConnectionRecord as V, ExtensionConnectionRequest as Va, VectorControl as Vc, WorkspaceProviderMutationInput as Vi, JsonParam as Vl, mergeHistoryMetadata as Vn, CommandSource as Vo, EventContext as Vr, TreeRendererCommandResult as Vs, ParsedWorkbenchPageUrl as Vt, FileRendererResourceRef as Vu, ExtensionRecord as W, ExtensionConnectionsApi as Wa, ArtifactMountContribution as Wc, WorkspaceProviderResult as Wi, MarkdownParam as Wl, submittedPrompt as Wn, SerializedError as Wo, ExtensionBlobInput as Wr, TreeRendererResourceRef as Ws, parseWorkbenchPageUrl as Wt, FileRendererSectionTarget as Wu, ListExtensionAppearanceResponse as X, UpdateSkillInput as Xa, CommandPaletteResourceQueryResult as Xc, WorkflowStatus as Xi, ParamValue as Xl, isNavigationTarget as Xn, NavigationTargetItem as Xo, ExtensionHarnessInput as Xr, DataTableRendererColumnStat as Xs, ExtensionViewRenderContext as Xt, ResourceRef as Xu, WorkbenchExtensionAutomationRecord as Y, SkillWithContent as Ya, CommandPaletteResourceQueryParams as Yc, StatusContribution as Yi, ParamType as Yl, packageAsset as Yn, NavigationTargetHref as Yo, ExtensionFilesApi as Yr, DataTableRendererColumnRenderer as Ys, ExtensionViewRender as Yt, ResourceAnchor as Yu, ListExtensionCommandsResponse as Z, ApprovalInput as Za, CommandPaletteResourceTarget as Zc, HarnessContext as Zi, ParamsOf as Zl, qualifyNavigationTarget as Zn, NavigationTargetPage as Zo, ExtensionNetApi as Zr, DataTableRendererContribution as Zs, PropsStore as Zt, ResourceRemovedEvent as Zu, CreateProjectInput as _, HarnessRecoveryInput as _a, BaseControl as _c, ResourceKindRef as _d, CreateExtensionWorkspaceInput as _i, WhenExpression as _l, defineSettingsPanel as _n, NotificationActorType as _o, localContributionIdPattern as _r, NavigationItemContribution as _s, WebviewCommandsClient as _t, WebviewFilesListParams as _u, RemoveWorktreeResponse as a, AgentCapability as aa, DataTableRendererThemeColor as ac, JsonPrimitive as ad, ExtensionSkillsApi as ai, KeybindingContribution as al, defineConnection as an, Session as ao, WorktreeRemovedPayload as ar, PageSlot as as, AutomationRunStatus as at, WEBVIEW_HOST_CAPABILITIES as au, FileRecord as b, HarnessSession as ba, ControlGroup as bc, StatusBarSlotRef as bd, ExtensionWorkspaceProvider as bi, KanbanRendererAttributeDisplay as bl, defineStatusBarItem as bn, NotificationPriority as bo, workbenchPageDefinitions as br, NavigationTreeSlot as bs, EXTENSION_EVENTS_SCOPE as bt, WebviewHostCapabilityParams as bu, WorkspaceFileContent as c, HarnessApprovalChannel as ca, ControlsQueryResult as cc, Struct as cd, ExtensionTerminalApi as ci, ModeRegionSettings as cl, defineKeybinding as cn, SessionConversationResponse as co, projectSlots as cr, PageSlotRegion as cs, IssueAutomationTokenInput as ct, WebviewArtifactFile as cu, WorkspaceListItem as d, HarnessExit as da, ControlsResourceRef as dc, ContributionInput as dd, ProcessRunResult as di, SkillContribution as dl, defineNavigationTree as dn, SessionStatus as do, viewDataEvents as dr, PlacementIdentity as ds, ListAutomationTokensResponse as dt, WebviewCommandsExecuteParams as du, HarnessParamsSchema as ea, DataTableRendererResourceRef as ec, RendererContributionBase as ed, ExtensionProcessApi as ei, ExtensionSettingValueForType as el, GuestHost as en, FollowUpResponse as eo, MergePayload as er, PageLocation as es, WorkbenchExtensionViewBody as et, TemplateParam as eu, WorkspaceProviderDescriptor as f, HarnessExitStatus as fa, ControlsUpdateValueInput as fc, ContributionKind as fd, RendererCallback as fi, TemplateContribution as fl, definePage as fn, CreateNotificationInput as fo, workspaceEvents as fr, PlacementOwner as fs, projectPrefix as ft, WebviewDeclarableCapability as fu, sessionAttachmentMimeTypesByExtension as g, HarnessReattachInput as ga, AnchorGridValue as gc, PlacementRef as gd, WorkspaceSyncFile as gi, WebviewContribution as gl, defineSchedule as gn, NotificationAction as go, localContributionIdGrammar as gr, KanbanViewBody as gs, WebviewClientOptions as gt, WebviewFilesDeleteParams as gu, UpdateSettingsInput as h, HarnessParams as ha, AnchorGridControl as hc, PageRef as hd, WorkspaceFilesMount as hi, ThemeMode as hl, defineResourceKind as hn, Notification as ho, isValidLocalContributionId as hr, FileViewBody as hs, WebviewClient as ht, WebviewFileScope as hu, ListWorkspaceFilesInput as i, RetryableHarnessReattachError as ia, DataTableRendererSelectionAction as ic, JsonObject as id, ExtensionSettingsApi as ii, KeybindingChord as il, defineCommandPaletteResource as in, ResolveSessionIdResponse as io, WorkspaceType as ir, PageOpenIntent as is, AutomationRunEvent as it, WEBVIEW_DECLARABLE_CAPABILITIES as iu, EnableInstalledExtensionResponse as j, SessionMessagePart as ja, ReadOnlyControl as jc, parseExtensionApiVersions as jd, LocalExtensionSource as ji, KanbanRendererRow as jl, defineMiddleware as jn, CommandMiddlewareResult as jo, ResourceKindDefinition as jr, ViewBody as js, TerminalSessionOperation as jt, WebviewScopedDeclarableCapability as ju, AddLocalExtensionFolderResponse as k, ReasoningPart as ka, RangeControl as kc, isLocalizedString as kd, ExtensionSourceKind as ki, KanbanRendererQueryResult as kl, defineCommand as kn, CommandLifecycleEventPayload as ko, RegionSize as kr, PlacementTabSnapshot as ks, createTerminalSessionBridge as kt, WebviewPreferencesGetParams as ku, WorkspaceFileEntry as l, HarnessAttachment as la, ControlsRendererContribution as lc, ConnectionRef as ld, MigrationContext as li, SettingsPanelContribution as ll, defineMode as ln, SessionConversationSources as lo, sessionEvents as lr, PageSlotRole as ls, IssueAutomationTokenResponse as lt, WebviewArtifactsReadParams as lu, Settings as m, HarnessParamValue as ma, ActionsControl as mc, ModeRef as md, StorageScope as mi, ThemeContribution as ml, defineResourceHierarchyProvider as mn, ListNotificationsResponse as mo, worktreeEvents as mr, DataTableViewBody as ms, WebviewArtifactsClient as mt, WebviewExtensionSettingSetParams as mu, ListWorkspaceActivityInput as n, HarnessSkillsLayout as na, DataTableRendererRowAction as nc, EventDeliveryResult as nd, ExtensionSessionResource as ni, ExtensionSettingsContribution as nl, defineActivityItem as nn, ListSessionActivityResponse as no, SessionLifecyclePayload as nr, PageMainPanels as ns, AutomationRun as nt, WorkspaceParam as nu, RenameWorkspaceInput as o, ApprovalRequest as oa, ControlsApplyInput as oc, JsonValue as od, ExtensionStorageApi as oi, MenuContribution as ol, defineFileIconTheme as on, SessionAttachment as oo, gitEvents as or, PageSlotCardinality as os, AutomationTokenRecord as ot, WEBVIEW_HOST_CAPABILITY_VERSION as ou, WriteWorkspaceFileInput as p, HarnessMessagesInput as pa, ActionOption as pc, ContributionRef as pd, SetupContext as pi, TemplateTypeContribution as pl, definePlacement as pn, ListNotificationsQuery as po, workspaceSlots as pr, ControlsViewBody as ps, matchesResourceWhen as pt, WebviewExtensionSettingKeyParams as pu, ExtensionCommandRecord as q, Skill as qa, CommandPaletteResourceContribution as qc, StatusActionDefinition as qi, ParamDescriptor as ql, commandRef as qn, NavigationTargetCommand as qo, ExtensionContextBase as qr, TreeViewSection as qs, resolveEventReferenceId as qt, RendererContext as qu, ListWorkspaceActivityResponse as r, HarnessStateApi as ra, DataTableRendererRowActivationHandler as rc, EventRef as rd, ExtensionSessionsApi as ri, FileIconThemeContribution as rl, defineArtifactMount as rn, ResolveSessionIdInput as ro, WorkspaceProvisionPayload as rr, PageMainView as rs, AutomationRunError as rt, ALWAYS_AVAILABLE_WEBVIEW_CAPABILITIES as ru, Workspace as s, ApprovalResponse as sa, ControlsQueryParams as sc, MaybePromise as sd, ExtensionStorageCollectionApi as si, ModeContribution as sl, defineHarness as sn, SessionAttachmentRef as so, projectEvents as sr, PageSlotRef as ss, CreateAutomationRunInput as st, WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES as su, CreateWorkspaceInput as t, HarnessProvider as ta, DataTableRendererRow as tc, RendererEventReference as td, ExtensionProjectContext as ti, ExtensionSettingValueType as tl, defineExtension as tn, ListSessionActivityInput as to, RebasePayload as tr, PageMain as ts, WorkbenchExtensionViewRecord as tt, TextParam as tu, WorkspaceFilesResponse as u, HarnessEventSink as ua, ControlsResetInput as uc, ContributionDefinition as ud, ProcessRunInput as ui, SettingsSectionContribution as ul, defineNavigationItem as un, SessionQueuedMessagesResponse as uo, sessionSlots as ur, PanelRef as us, ListAutomationRunEventsResponse as ut, WebviewCapabilityDeclaration as uu, Project as v, HarnessRecoveryResult as va, BooleanControl as vc, SettingsSectionRef as vd, CreateWorkspaceCommandParams as vi, CollectionBadgeItem as vl, defineSettingsSection as vn, NotificationKind as vo, workbenchModeDefinitions as vr, NavigationOwnerRef as vs, WebviewSettingsClient as vt, WebviewFilesUploadParams as vu, ListExtensionSettingsResponse as w, TimeoutStrategy as wa, DateControl as wc, TerminalEvent as wd, CommandDefinition as wi, KanbanRendererContribution as wl, defineTheme as wn, CommandContinue as wo, workbenchResourceKindDefinitions as wr, PlacementPresence as ws, artifactMountId as wt, WebviewNavigationOpenParams as wu, ExtensionSettingDefinitionRecord as x, HarnessStartInput as xa, ControlParam as xc, StatusRef as xd, ExtensionWorkspacesApi as xi, KanbanRendererAttributeType as xl, defineStatuses as xn, NotificationStatus as xo, workbenchPages as xr, PlacementContribution as xs, WebviewEventsClient as xt, WebviewHostCapabilityResult as xu, UpdateProjectInput as y, HarnessResumeInput as ya, ColorControl as yc, SettingsSlotRef as yd, ExtensionWorkspace as yi, KanbanRendererAttributeDescriptor as yl, defineSkill as yn, NotificationOrigin as yo, workbenchModes as yr, NavigationTreeContribution as ys, createWebviewClient as yt, WebviewHostCapability as yu, DispatchExtensionEventInput as z, ToolPartStatus as za, SelectionOption as zc, ListProjectActivityInput as zd, WorkspaceExecutionTarget as zi, FilesParam as zl, historyMessageKey as zn, CommandReplaceParams as zo, CommandMiddlewareHandler as zr, TreeRendererActionParams as zs, defaultPageResourceCodec as zt, FileRendererLoadParams as zu };
|
|
8283
|
+
export { WorkbenchExtensionMetadata as $, PlacementOwner as $a, KanbanRendererAttributeType as $c, ProcessRunInput as $i, WebviewFilesListParams as $l, commandRef as $n, ControlsUpdateValueInput as $o, CommandRef as $r, HarnessRecoveryResult as $s, resolveEventReferenceId as $t, NotificationActorType as $u, EnableInstalledExtensionRequest as A, WorkspaceProviderMutationInput as Aa, ExtensionSettingProperty as Ac, ResourceKindRef as Ad, EventContext as Ai, ParamType as Al, defineTheme as An, TreeRendererQueryParams as Ao, workbenchResourceKindDefinitions as Ar, ResourceBinding as As, artifactMountId as At, SkillFile as Au, ConfigureExtensionConnectionInput as B, PageContribution as Ba, ModeRegionSettings as Bc, l10n as Bd, ExtensionNetApi as Bi, WEBVIEW_DECLARABLE_CAPABILITIES as Bl, SDK_VERSION as Bn, DataTableRendererQueryResult as Bo, extensionPanelRegions as Br, AgentCapability as Bs, resourceKey as Bt, ResolveSessionIdResponse as Bu, ExtensionSettingsPanelRecord as C, ProviderContributions as Ca, CliContribution as Cc, ContributionDefinition as Cd, FileRendererSectionTarget as Ci, MarkdownParam as Cl, defineSettingsPanel as Cn, TreeNode as Co, localContributionIdPattern as Cr, SegmentedOption as Cs, WebviewCommandsClient as Ct, ExtensionConnectionRequest as Cu, ExtensionCommandPaletteResourceRecord as D, WorkspaceCapabilities as Da, CommandPaletteResourceQueryParams as Dc, ModeRef as Dd, CommandMiddlewareContext as Di, ParamObjectSchema as Dl, defineStatuses as Dn, TreeRendererChildrenParams as Do, workbenchPages as Dr, TextControl as Ds, WebviewEventsClient as Dt, ExtensionLoggerApi as Du, ExtensionKeybindingRecord as E, UiContributions as Ea, CommandPaletteResourceItem as Ec, ContributionRef as Ed, CommandContext as Ei, ParamDescriptor as El, defineStatusBarItem as En, TreeRendererActionParams as Eo, workbenchPageDefinitions as Er, SelectionOption as Es, EXTENSION_EVENTS_SCOPE as Et, ExtensionConnectionsApi as Eu, ProjectExtensionInstance as F, WorkspaceTypeProvider as Fa, FileIconThemeContribution as Fc, ThemeRef as Fd, ExtensionBlobsApi as Fi, SelectParam as Fl, defineCommand as Fn, DataTableRendererColumn as Fo, RegionSize as Fr, HarnessParamsSchema as Fs, createTerminalSessionBridge as Ft, FollowUpInput as Fu, LocalizableString as G, PageOpenIntent as Ga, TemplateTypeContribution as Gc, AgentModel as Gd, ExtensionSessionResource as Gi, WebviewArtifactsReadParams as Gl, historyMessageKey as Gn, DataTableRendererSelectionAction as Go, CommandHelpersApi as Gr, HarnessEventSink as Gs, defaultPageResourceCodec as Gt, SessionConversationSources as Gu, ListExtensionConnectionsResponse as H, PageMain as Ha, SettingsSectionContribution as Hc, supportsExtensionApiVersion as Hd, ExtensionPackageFilesApi as Hi, WEBVIEW_HOST_CAPABILITY_VERSION as Hl, HistoryProjection as Hn, DataTableRendererRow as Ho, CommandContinue as Hr, ApprovalResponse as Hs, QualifiedRef as Ht, SessionAttachment as Hu, UpgradeProjectExtensionResponse as I, StatusActionDefinition as Ia, KeybindingChord as Ic, ViewRef as Id, ExtensionContextBase as Ii, TemplateParam as Il, defineHook as In, DataTableRendererColumnRenderer as Io, ResourceHierarchyProvider as Ir, HarnessProvider as Is, TerminalHostEvent as It, FollowUpResponse as Iu, ExtensionMenuContribution as J, PageSlotRef as Ja, WebviewContribution as Jc, ListActivityResponse as Jd, ExtensionSkillsApi as Ji, WebviewDeclarableCapability as Jl, reconcileMessageHistory as Jn, ControlsQueryParams as Jo, CommandLifecyclePhase as Jr, HarnessMessagesInput as Js, isWorkbenchProjectUrl as Jt, CreateNotificationInput as Ju, ExtensionCommandPaletteContribution as K, PageSlot as Ka, ThemeContribution as Kc, AgentSkillsLayout as Kd, ExtensionSessionsApi as Ki, WebviewCapabilityDeclaration as Kl, historyValueKey as Kn, DataTableRendererThemeColor as Ko, CommandInvocation as Kr, HarnessExit as Ks, PageUrlDefinition as Kt, SessionQueuedMessagesResponse as Ku, CommandExecuteRequest as L, StatusBarItemContribution as La, KeybindingContribution as Lc, Localizable as Ld, ExtensionEventsApi as Li, TextParam as Ll, defineMiddleware as Ln, DataTableRendererColumnStat as Lo, ResourceKindDefinition as Lr, HarnessSkillsLayout as Ls, TerminalSessionOperation as Lt, ListSessionActivityInput as Lu, InstallMarketplaceExtensionResponse as M, WorkspaceProviderResolveInput as Ma, ExtensionSettingValueForType as Mc, SettingsSlotRef as Md, ExtensionArtifactApi as Mi, ParamValueRef as Ml, defineViewMenu as Mn, TreeRendererState as Mo, workbenchSlots as Mr, HarnessContext as Ms, TerminalSessionAdapter as Mt, UpdateSkillInput as Mu, ListProjectExtensionsResponse as N, WorkspaceProviderResult as Na, ExtensionSettingValueType as Nc, StatusBarSlotRef as Nd, ExtensionBlobInput as Ni, ParamsOf as Nl, defineWorkspaceType as Nn, TreeSectionEmptyState as No, DockedWorkbenchRegion as Nr, HarnessDetectionResult as Ns, TerminalSessionBridge as Nt, ApprovalInput as Nu, WorkbenchExtensionCommandPaletteResourceRecord as O, WorkspaceExecutionTarget as Oa, CommandPaletteResourceQueryResult as Oc, PageRef as Od, CommandMiddlewareHandler as Oi, ParamOption as Ol, defineTemplate as On, TreeRendererCommandResult as Oo, workbenchPanelDefinitions as Or, VectorControl as Os, WebviewExtensionEvent as Ot, ExtensionAutomationApi as Ou, MarketplaceExtension as P, WorkspaceProviderState as Pa, ExtensionSettingsContribution as Pc, StatusRef as Pd, ExtensionBlobRef as Pi, ResourceParam as Pl, resourceMenuSlotRef as Pn, TreeViewSection as Po, ExtensionPanelRegion as Pr, HarnessParamDescriptor as Ps, TerminalSessionExit as Pt, CreateSessionInput as Pu, WorkbenchExtensionHarnessRecord as Q, PlacementIdentity as Qa, KanbanRendererAttributeDisplay as Qc, MigrationContext as Qi, WebviewFilesDeleteParams as Ql, defineSlot as Qn, ControlsResourceRef as Qo, CommandPatchParams as Qr, HarnessRecoveryInput as Qs, serializeWorkbenchPageUrl as Qt, NotificationAction as Qu, CommandExecuteResponse as R, StatusContribution as Ra, MenuContribution as Rc, LocalizedString as Rd, ExtensionFilesApi as Ri, WorkspaceParam as Rl, CommandResponse as Rn, DataTableRendererContribution as Ro, ResourceMenuSlotDefinition as Rr, HarnessStateApi as Rs, TerminalSessionRequest as Rt, ListSessionActivityResponse as Ru, ExtensionSettingValueRecord as S, PackageManifest as Sa, ArtifactMountContribution as Sc, ConnectionRef as Sd, FileRendererSectionAnchor as Si, LongTextParam as Sl, defineSchedule as Sn, TreeAction as So, localContributionIdGrammar as Sr, SegmentedControl as Ss, WebviewClientOptions as St, ExtensionConnectionMethod as Su, UpdateExtensionSettingRequest as T, ScheduleExpression as Ta, CommandPaletteResourceContribution as Tc, ContributionKind as Td, ArtifactMount as Ti, NumberParam as Tl, defineSkill as Tn, TreeNodeTarget as To, workbenchModes as Tr, SelectionGroup as Ts, createWebviewClient as Tt, ExtensionConnectionStreamEvent as Tu, ExtensionDiagnostic as U, PageMainPanels as Ua, SkillContribution as Uc, AgentAvailabilityType as Ud, ExtensionProcessApi as Ui, WEBVIEW_SCOPED_DECLARABLE_CAPABILITIES as Ul, HistoryRecoveryInput as Un, DataTableRendererRowAction as Uo, CommandDiagnostic as Ur, HarnessApprovalChannel as Us, qualifyRef as Ut, SessionAttachmentRef as Uu, ExtensionConnectionRecord as V, PageLocation as Va, SettingsPanelContribution as Vc, parseExtensionApiDeclaration as Vd, ExtensionNotifyApi as Vi, WEBVIEW_HOST_CAPABILITIES as Vl, HistoryConflict as Vn, DataTableRendererResourceRef as Vo, CommandCompletedEvent as Vr, ApprovalRequest as Vs, commandEvent as Vt, Session as Vu, ExtensionRecord as W, PageMainView as Wa, TemplateContribution as Wc, AgentInfo as Wd, ExtensionProjectContext as Wi, WebviewArtifactFile as Wl, HistoryRecoveryResult as Wn, DataTableRendererRowActivationHandler as Wo, CommandFailedEvent as Wr, HarnessAttachment as Ws, params as Wt, SessionConversationResponse as Wu, ListExtensionAppearanceResponse as X, PageSlotRole as Xa, CollectionBadgeItem as Xc, ExtensionStorageCollectionApi as Xi, WebviewExtensionSettingSetParams as Xl, submittedPrompt as Xn, ControlsRendererContribution as Xo, CommandNotice as Xr, HarnessParams as Xs, parseWorkbenchPageUrl as Xt, ListNotificationsResponse as Xu, WorkbenchExtensionAutomationRecord as Y, PageSlotRegion as Ya, WhenExpression as Yc, ListProjectActivityInput as Yd, ExtensionStorageApi as Yi, WebviewExtensionSettingKeyParams as Yl, splitHistoryTurns as Yn, ControlsQueryResult as Yo, CommandMiddlewareResult as Yr, HarnessParamValue as Ys, parsePageUrl as Yt, ListNotificationsQuery as Yu, ListExtensionCommandsResponse as Z, PanelRef as Za, KanbanRendererAttributeDescriptor as Zc, ExtensionTerminalApi as Zi, WebviewFileScope as Zl, mergeOrderedHistory as Zn, ControlsResetInput as Zo, CommandOutcome as Zr, HarnessReattachInput as Zs, serializePageUrl as Zt, Notification as Zu, CreateProjectInput as _, ExtensionLoadScope as _a, TokenUsagePart as _c, JsonObject as _d, FileRendererContribution as _i, BooleanParam as _l, defineNavigationTree as _n, TreeViewBody as _o, viewDataEvents as _r, RangeValue as _s, ListAutomationTokensResponse as _t, SlotOptions as _u, RemoveWorktreeResponse as a, WorkspaceSyncFile as aa, TimeoutStrategy as ac, ExtensionResourcesApi as ad, CommandSource as ai, KanbanRendererFilterState as al, defineExtensionView as an, NavigationOwnerRef as ao, ConflictPayload as ar, BooleanControl as as, BoardViewCreate as at, WebviewKeyboardEventParams as au, FileRecord as b, LocalExtensionSource as ba, ToolPartStatus as bc, MaybePromise as bd, FileRendererResourceRef as bi, JsonParam as bl, defineResourceHierarchyProvider as bn, ViewMenuContribution as bo, worktreeEvents as br, ResourceOption as bs, WebviewArtifactsClient as bt, EventDeliveryResult as bu, WorkspaceFileContent as c, ExtensionWorkspace as ca, LoadingPart as cc, RendererInvocationContext as cd, SerializedError as ci, KanbanRendererResourceRef as cl, defineActivityItem as cn, PlacementContribution as co, SessionLifecyclePayload as cr, ControlParam as cs, AutomationRun as ct, WebviewNotificationDismissParams as cu, WorkspaceListItem as d, AssetContributions as da, SessionMessage as dc, ResourceRemovedEvent as dd, NavigationTargetCommand as di, KanbanRendererRowActivationHandler as dl, defineConnection as dn, PlacementPresence as do, WorktreeRemovedPayload as dr, DateControl as ds, AutomationRunStatus as dt, WebviewPreferencesGetParams as du, ProcessRunResult as ea, HarnessResumeInput as ec, NotificationKind as ed, CommandReject as ei, KanbanRendererBoardColumnConfig as el, ExtensionViewModule as en, ControlsViewBody as eo, eventRef as er, ActionOption as es, WorkbenchExtensionViewBody as et, WebviewFilesUploadParams as eu, WorkspaceProviderDescriptor as f, BehaviourContributions as fa, SessionMessagePart as fc, ResourceRole as fd, NavigationTargetCompound as fi, KanbanRendererSavedView as fl, defineFileIconTheme as fn, PlacementPresentation as fo, gitEvents as fr, MarkdownControl as fs, AutomationTokenRecord as ft, WebviewPreferencesSetParams as fu, sessionAttachmentMimeTypesByExtension as g, ExtensionDefinition as ga, TextPart as gc, TerminalSessionRequest$1 as gd, NavigationTargetPanel as gi, ViewToolbarAction as gl, defineNavigationItem as gn, PlacementTabSnapshot as go, sessionSlots as gr, RangeControl as gs, ListAutomationRunEventsResponse as gt, SlotInvocationContext as gu, UpdateSettingsInput as h, ExtensionConnectionContribution as ha, StepStartPart as hc, TerminalSessionHandle as hd, NavigationTargetPage as hi, KanbanRendererViewMode as hl, defineMode as hn, PlacementTabPresentation as ho, sessionEvents as hr, ParamEditorReadOnlyImage as hs, IssueAutomationTokenResponse as ht, RendererEventReference as hu, ListWorkspaceFilesInput as i, WorkspaceFilesMount as ia, QuestionResponse as ic, UpdateNotificationInput as id, CommandRequestedEvent as ii, KanbanRendererEnumOption as il, WebviewFilesClient as in, NavigationItemContribution as io, CommitPayload as ir, BaseControl as is, BoardView as it, WebviewHostCapabilityResults as iu, EnableInstalledExtensionResponse as j, WorkspaceProviderRef as ja, ExtensionSettingScope as jc, SettingsSectionRef as jd, ExtensionActivityApi as ji, ParamValue as jl, defineView as jn, TreeRendererResourceRef as jo, workbenchResourceKinds as jr, ResourceConstraint as js, artifactsRead as jt, SkillWithContent as ju, AddLocalExtensionFolderResponse as k, WorkspaceProviderCreateInput as ka, CommandPaletteResourceTarget as kc, PlacementRef as kd, CommandRunHandler as ki, ParamOptionSource as kl, defineTemplateType as kn, TreeRendererContribution as ko, workbenchPanels as kr, VectorValue as ks, ArtifactMountKey as kt, Skill as ku, WorkspaceFileEntry as l, ExtensionWorkspaceProvider as la, PatchPart as lc, ResourceAnchor as ld, WorkbenchAttachmentInvocationContext as li, KanbanRendererRow as ll, defineArtifactMount as ln, PlacementItem as lo, WorkspaceProvisionPayload as lr, ControlValue as ls, AutomationRunError as lt, WebviewNotificationResolveParams as lu, Settings as m, EXTENSION_API_VERSION as ma, StepFinishPart as mc, TerminalEvent as md, NavigationTargetItem as mi, KanbanRendererSortDirection as ml, defineKeybinding as mn, PlacementTabMenuRow as mo, projectSlots as mr, ParamEditorReadOnlyContent as ms, IssueAutomationTokenInput as mt, RendererContributionBase as mu, ListWorkspaceActivityInput as n, SetupContext as na, HarnessStartInput as nc, NotificationPriority as nd, CommandReplaceInvocation as ni, KanbanRendererContribution as nl, ExtensionViewRenderContext as nn, FileViewBody as no, isNavigationTarget as nr, AnchorGridControl as ns, BoardField as nt, WebviewHostCapabilityParams as nu, RenameWorkspaceInput as o, CreateExtensionWorkspaceInput as oa, ErrorPart as oc, PackageAssetDescriptor as od, CommandStartedEvent as oi, KanbanRendererQueryParams as ol, GuestHost as on, NavigationTreeContribution as oo, MergePayload as or, ColorControl as os, BoardViewUpdate as ot, WebviewNavigationOpenParams as ou, WriteWorkspaceFileInput as p, CommandDefinition as pa, SessionMessageRole as pc, ViewHierarchyParent as pd, NavigationTargetHref as pi, KanbanRendererSettings as pl, defineHarness as pn, PlacementTabMenuGroup as po, projectEvents as pr, NumberControl as ps, CreateAutomationRunInput as pt, WebviewScopedDeclarableCapability as pu, ExtensionCommandRecord as q, PageSlotCardinality as qa, ThemeMode as qc, harnessLocalId as qd, ExtensionSettingsApi as qi, WebviewCommandsExecuteParams as ql, mergeHistoryMetadata as qn, ControlsApplyInput as qo, CommandLifecycleEventPayload as qr, HarnessExitStatus as qs, ParsedWorkbenchPageUrl as qt, SessionStatus as qu, ListWorkspaceActivityResponse as r, StorageScope as ra, JsonPatch as rc, NotificationStatus as rd, CommandReplaceParams as ri, KanbanRendererCreateRowContribution as rl, PropsStore as rn, KanbanViewBody as ro, qualifyNavigationTarget as rr, AnchorGridValue as rs, BoardSummary as rt, WebviewHostCapabilityResult as ru, Workspace as s, CreateWorkspaceCommandParams as sa, FilePart as sc, RendererContext as sd, CommandTarget as si, KanbanRendererQueryResult as sl, defineExtension as sn, NavigationTreeSlot as so, RebasePayload as sr, ControlGroup as ss, BoardViews as st, WebviewNotificationActionParams as su, CreateWorkspaceInput as t, RendererCallback as ta, HarnessSession as tc, NotificationOrigin as td, CommandRejectedEvent as ti, KanbanRendererColumnAction as tl, ExtensionViewRender as tn, DataTableViewBody as to, packageAsset as tr, ActionsControl as ts, WorkbenchExtensionViewRecord as tt, WebviewHostCapability as tu, WorkspaceFilesResponse as u, ExtensionWorkspacesApi as ua, ReasoningPart as uc, ResourceRef as ud, NavigationTarget as ui, KanbanRendererRowAction as ul, defineCommandPaletteResource as un, PlacementMountStrategy as uo, WorkspaceType as ur, ControlValueMap as us, AutomationRunEvent as ut, WebviewNotificationShowParams as uu, Project as v, ExtensionSourceKind as va, ToolPart as vc, JsonPrimitive as vd, FileRendererLoadParams as vi, FilesParam as vl, definePage as vn, ViewBody as vo, workspaceEvents as vr, ReadOnlyControl as vs, projectPrefix as vt, SlotRef as vu, ListExtensionSettingsResponse as w, ScheduleContribution as wa, CommandPaletteContribution as wc, ContributionInput as wd, ArtifactFile as wi, MultiSelectParam as wl, defineSettingsSection as wn, TreeNodeRowVariant as wo, workbenchModeDefinitions as wr, SelectionControl as ws, WebviewSettingsClient as wt, ExtensionConnectionResponse as wu, ExtensionSettingDefinitionRecord as x, MiddlewareDefinition as xa, ActivityItemContribution as xc, Struct as xd, FileRendererSaveParams as xi, ListParam as xl, defineResourceKind as xn, WebviewViewBody as xo, isValidLocalContributionId as xr, ResourceRefValue as xs, WebviewClient as xt, EventRef as xu, UpdateProjectInput as y, HookDefinition as ya, ToolPartActionType as yc, JsonValue as yd, FileRendererLoadResult as yi, HarnessParam as yl, definePlacement as yn, ViewContribution as yo, workspaceSlots as yr, ResourceControl as ys, matchesResourceWhen as yt, UiSlotKind as yu, DispatchExtensionEventInput as z, WorkflowStatus as za, ModeContribution as zc, isLocalizedString as zd, ExtensionHarnessInput as zi, ALWAYS_AVAILABLE_WEBVIEW_CAPABILITIES as zl, unwrapCommandOutcome as zn, DataTableRendererQueryParams as zo, dockedWorkbenchRegions as zr, RetryableHarnessReattachError as zs, TerminalSessionResult as zt, ResolveSessionIdInput as zu };
|
|
7941
8284
|
export {};
|