@pstdio/sdk 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/extensions.d.ts +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +87 -1
- package/dist/client/client.d.ts +2 -0
- package/dist/client/extensions.d.ts +2 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +31 -7
- package/dist/client/runtime.d.ts +5 -0
- package/dist/resources/index.js +87 -1
- package/package.json +1 -1
package/dist/api/extensions.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export type { CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, ExtensionNavigationRecord, ExtensionPanelRecord, ExtensionRecord, ExtensionRouteRecord, ExtensionSettingDefinitionRecord, ExtensionSettingsPanelRecord, ExtensionSettingValueRecord, ExtensionTreeItemContribution, ExtensionTreeRendererRecord, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, ListExtensionSettingsResponse, ListProjectExtensionsResponse, LocalizableString, ModeLayoutContributionRecord, ProjectExtensionInstance, UpdateExtensionSettingRequest, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse, WorkbenchExtensionCommandPaletteResourceRecord, WorkbenchExtensionControlsRendererRecord, WorkbenchExtensionDataTableRendererRecord, WorkbenchExtensionKanbanRendererRecord, WorkbenchExtensionMetadata, WorkbenchExtensionPanelRecord, WorkbenchExtensionTreeRendererRecord, } from "pstdio-api-contracts";
|
|
1
|
+
export type { AttemptExtensionFixResponse, CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, ExtensionNavigationRecord, ExtensionPanelRecord, ExtensionRecord, ExtensionRouteRecord, ExtensionSettingDefinitionRecord, ExtensionSettingsPanelRecord, ExtensionSettingValueRecord, ExtensionTreeItemContribution, ExtensionTreeRendererRecord, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, ListExtensionSettingsResponse, ListProjectExtensionsResponse, LocalizableString, ModeLayoutContributionRecord, ProjectExtensionInstance, UpdateExtensionSettingRequest, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse, WorkbenchExtensionAutomationRecord, WorkbenchExtensionCommandPaletteResourceRecord, WorkbenchExtensionControlsRendererRecord, WorkbenchExtensionDataTableRendererRecord, WorkbenchExtensionHarnessRecord, WorkbenchExtensionKanbanRendererRecord, WorkbenchExtensionMetadata, WorkbenchExtensionPanelRecord, WorkbenchExtensionTreeRendererRecord, WorkbenchExtensionViewRecord, } from "pstdio-api-contracts";
|
package/dist/api/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type { CreateNotificationInput, ListNotificationsQuery, ListNotificationsResponse, Notification, NotificationAction, NotificationActionResult, NotificationActorType, NotificationKind, NotificationOrigin, NotificationPriority, NotificationStatus, ResourceRef, UpdateNotificationInput, } from "pstdio-api-contracts";
|
|
2
|
-
export type { CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, ExtensionNavigationRecord, ExtensionPanelRecord, ExtensionRecord, ExtensionRouteRecord, ExtensionSettingDefinitionRecord, ExtensionSettingsPanelRecord, ExtensionSettingValueRecord, ExtensionTreeItemContribution, ExtensionTreeRendererRecord, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, ListExtensionSettingsResponse, ListProjectExtensionsResponse, LocalizableString, ProjectExtensionInstance, UpdateExtensionSettingRequest, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse, WorkbenchExtensionCommandPaletteResourceRecord, WorkbenchExtensionControlsRendererRecord, WorkbenchExtensionDataTableRendererRecord, WorkbenchExtensionKanbanRendererRecord, WorkbenchExtensionMetadata, WorkbenchExtensionPanelRecord, WorkbenchExtensionTreeRendererRecord, } from "./extensions";
|
|
2
|
+
export type { AttemptExtensionFixResponse, CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, ExtensionNavigationRecord, ExtensionPanelRecord, ExtensionRecord, ExtensionRouteRecord, ExtensionSettingDefinitionRecord, ExtensionSettingsPanelRecord, ExtensionSettingValueRecord, ExtensionTreeItemContribution, ExtensionTreeRendererRecord, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, ListExtensionSettingsResponse, ListProjectExtensionsResponse, LocalizableString, ProjectExtensionInstance, UpdateExtensionSettingRequest, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse, WorkbenchExtensionAutomationRecord, WorkbenchExtensionCommandPaletteResourceRecord, WorkbenchExtensionControlsRendererRecord, WorkbenchExtensionDataTableRendererRecord, WorkbenchExtensionHarnessRecord, WorkbenchExtensionKanbanRendererRecord, WorkbenchExtensionMetadata, WorkbenchExtensionPanelRecord, WorkbenchExtensionTreeRendererRecord, WorkbenchExtensionViewRecord, } from "./extensions";
|
|
3
3
|
export type { CreateProjectInput, RegisterRepoInput } from "./projects";
|
|
4
4
|
export type { ApprovalInput, CreateSessionInput, FollowUpInput, ResolveSessionIdInput, ResolveSessionIdResponse, SessionAttachment, SessionAttachmentRef, SessionConversationResponse, } from "./sessions";
|
|
5
5
|
export { sessionAttachmentMimeTypesByExtension } from "./sessions";
|
package/dist/api/index.js
CHANGED
|
@@ -13953,6 +13953,16 @@ var extensionScheduleRecordSchema = exports_external.object({
|
|
|
13953
13953
|
cron: exports_external.string(),
|
|
13954
13954
|
commandId: exports_external.string()
|
|
13955
13955
|
});
|
|
13956
|
+
var workbenchExtensionAutomationRecordSchema = exports_external.object({
|
|
13957
|
+
id: exports_external.string(),
|
|
13958
|
+
localId: exports_external.string(),
|
|
13959
|
+
extensionId: exports_external.string(),
|
|
13960
|
+
extensionInstanceId: exports_external.string().optional(),
|
|
13961
|
+
title: localizableStringSchema,
|
|
13962
|
+
cron: exports_external.string(),
|
|
13963
|
+
commandId: exports_external.string(),
|
|
13964
|
+
enabled: exports_external.boolean()
|
|
13965
|
+
});
|
|
13956
13966
|
var extensionMenuContributionSchema = exports_external.object({
|
|
13957
13967
|
id: exports_external.string(),
|
|
13958
13968
|
extensionId: exports_external.string(),
|
|
@@ -14032,6 +14042,13 @@ var rowActionSchema = exports_external.object({
|
|
|
14032
14042
|
destructive: exports_external.boolean().optional(),
|
|
14033
14043
|
commandId: exports_external.string()
|
|
14034
14044
|
});
|
|
14045
|
+
var selectionActionSchema = exports_external.object({
|
|
14046
|
+
id: exports_external.string(),
|
|
14047
|
+
label: localizableStringSchema,
|
|
14048
|
+
icon: exports_external.string().optional(),
|
|
14049
|
+
destructive: exports_external.boolean().optional(),
|
|
14050
|
+
commandId: exports_external.string()
|
|
14051
|
+
});
|
|
14035
14052
|
var extensionDataTableRendererRecordSchema = exports_external.object({
|
|
14036
14053
|
id: exports_external.string(),
|
|
14037
14054
|
extensionId: exports_external.string(),
|
|
@@ -14039,6 +14056,8 @@ var extensionDataTableRendererRecordSchema = exports_external.object({
|
|
|
14039
14056
|
resourceKind: exports_external.string().optional(),
|
|
14040
14057
|
columns: exports_external.array(dataTableRendererColumnSchema).optional(),
|
|
14041
14058
|
queryCommandId: exports_external.string(),
|
|
14059
|
+
selectionMode: exports_external.enum(["none", "multiple"]).optional(),
|
|
14060
|
+
selectionActions: exports_external.array(selectionActionSchema).optional(),
|
|
14042
14061
|
rowActions: exports_external.array(rowActionSchema).optional(),
|
|
14043
14062
|
initialPageSize: exports_external.number().int().positive().optional(),
|
|
14044
14063
|
pageSizeOptions: exports_external.array(exports_external.number().int().positive()).optional(),
|
|
@@ -14046,6 +14065,22 @@ var extensionDataTableRendererRecordSchema = exports_external.object({
|
|
|
14046
14065
|
emptyDescription: localizableStringSchema.optional()
|
|
14047
14066
|
});
|
|
14048
14067
|
|
|
14068
|
+
// ../pstdio-api-contracts/src/extensions/host-capabilities.ts
|
|
14069
|
+
var extensionHostCapabilitySchema = exports_external.object({
|
|
14070
|
+
version: exports_external.number().int().positive(),
|
|
14071
|
+
since: exports_external.string().optional()
|
|
14072
|
+
});
|
|
14073
|
+
var extensionHostCapabilitiesSchema = exports_external.object({
|
|
14074
|
+
host: exports_external.literal("dashboard"),
|
|
14075
|
+
hostVersion: exports_external.string(),
|
|
14076
|
+
capabilities: exports_external.record(exports_external.string(), extensionHostCapabilitySchema)
|
|
14077
|
+
});
|
|
14078
|
+
var extensionHostCompatibilitySchema = exports_external.object({
|
|
14079
|
+
status: exports_external.enum(["verified", "unverified"]),
|
|
14080
|
+
host: extensionHostCapabilitiesSchema.optional(),
|
|
14081
|
+
diagnostics: exports_external.array(extensionDiagnosticSchema)
|
|
14082
|
+
});
|
|
14083
|
+
|
|
14049
14084
|
// ../pstdio-api-contracts/src/extensions/kanban-renderer.ts
|
|
14050
14085
|
var kanbanRendererEnumOptionSchema = exports_external.object({
|
|
14051
14086
|
value: exports_external.string(),
|
|
@@ -14207,6 +14242,7 @@ var extensionPanelRecordBaseSchema = exports_external.object({
|
|
|
14207
14242
|
id: exports_external.string(),
|
|
14208
14243
|
extensionId: exports_external.string(),
|
|
14209
14244
|
title: localizableStringSchema,
|
|
14245
|
+
icon: exports_external.string().optional(),
|
|
14210
14246
|
region: workbenchRegionSchema,
|
|
14211
14247
|
closable: exports_external.boolean(),
|
|
14212
14248
|
group: exports_external.string().optional(),
|
|
@@ -14250,6 +14286,16 @@ var extensionTreeItemActionSchema = exports_external.discriminatedUnion("kind",
|
|
|
14250
14286
|
exports_external.object({ kind: exports_external.literal("route"), route: exports_external.string() }),
|
|
14251
14287
|
exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() })
|
|
14252
14288
|
]);
|
|
14289
|
+
var extensionActivityItemRecordSchema = exports_external.object({
|
|
14290
|
+
id: exports_external.string(),
|
|
14291
|
+
extensionId: exports_external.string(),
|
|
14292
|
+
title: localizableStringSchema,
|
|
14293
|
+
icon: exports_external.string(),
|
|
14294
|
+
modes: exports_external.array(exports_external.string()),
|
|
14295
|
+
placement: extensionPlacementSchema.optional(),
|
|
14296
|
+
commandId: exports_external.string(),
|
|
14297
|
+
params: jsonObjectSchema.optional()
|
|
14298
|
+
});
|
|
14253
14299
|
var extensionTreeItemContributionSchema = exports_external.object({
|
|
14254
14300
|
id: exports_external.string(),
|
|
14255
14301
|
extensionId: exports_external.string(),
|
|
@@ -14337,6 +14383,7 @@ var extensionSettingsPanelRecordSchema = exports_external.object({
|
|
|
14337
14383
|
scope: workbenchSettingsScopeSchema.optional(),
|
|
14338
14384
|
title: localizableStringSchema,
|
|
14339
14385
|
icon: exports_external.string().optional(),
|
|
14386
|
+
section: exports_external.string().optional(),
|
|
14340
14387
|
webview: extensionWebviewContributionSchema
|
|
14341
14388
|
});
|
|
14342
14389
|
var extensionSettingDefinitionRecordSchema = exports_external.object({
|
|
@@ -14362,6 +14409,13 @@ var updateExtensionSettingRequestSchema = exports_external.object({
|
|
|
14362
14409
|
var workbenchExtensionSettingsPanelRecordSchema = extensionSettingsPanelRecordSchema.extend({
|
|
14363
14410
|
webview: workbenchExtensionWebviewSchema
|
|
14364
14411
|
});
|
|
14412
|
+
var extensionSettingsSectionRecordSchema = exports_external.object({
|
|
14413
|
+
id: exports_external.string(),
|
|
14414
|
+
extensionId: exports_external.string(),
|
|
14415
|
+
title: localizableStringSchema,
|
|
14416
|
+
scope: workbenchSettingsScopeSchema.optional(),
|
|
14417
|
+
order: exports_external.number().optional()
|
|
14418
|
+
});
|
|
14365
14419
|
|
|
14366
14420
|
// ../pstdio-api-contracts/src/extensions/check.ts
|
|
14367
14421
|
var extensionsCheckResponseSchema = exports_external.object({
|
|
@@ -14384,6 +14438,7 @@ var extensionsCheckResponseSchema = exports_external.object({
|
|
|
14384
14438
|
routes: exports_external.array(extensionRouteRecordSchema),
|
|
14385
14439
|
navigation: exports_external.array(extensionNavigationRecordSchema),
|
|
14386
14440
|
treeItems: exports_external.array(extensionTreeItemContributionSchema),
|
|
14441
|
+
activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
|
|
14387
14442
|
settingsPanels: exports_external.array(extensionSettingsPanelRecordSchema),
|
|
14388
14443
|
kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema),
|
|
14389
14444
|
dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
|
|
@@ -14395,7 +14450,20 @@ var extensionsCheckResponseSchema = exports_external.object({
|
|
|
14395
14450
|
settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
|
|
14396
14451
|
templates: exports_external.array(extensionViewLikeSchema),
|
|
14397
14452
|
skills: exports_external.array(extensionViewLikeSchema),
|
|
14398
|
-
diagnostics: exports_external.array(extensionDiagnosticSchema)
|
|
14453
|
+
diagnostics: exports_external.array(extensionDiagnosticSchema),
|
|
14454
|
+
hostCompatibility: extensionHostCompatibilitySchema
|
|
14455
|
+
});
|
|
14456
|
+
var workbenchExtensionHarnessRecordSchema = exports_external.object({
|
|
14457
|
+
id: exports_external.string(),
|
|
14458
|
+
localId: exports_external.string(),
|
|
14459
|
+
extensionId: exports_external.string(),
|
|
14460
|
+
label: localizableStringSchema.optional()
|
|
14461
|
+
});
|
|
14462
|
+
var workbenchExtensionViewRecordSchema = exports_external.object({
|
|
14463
|
+
id: exports_external.string(),
|
|
14464
|
+
localId: exports_external.string(),
|
|
14465
|
+
extensionId: exports_external.string(),
|
|
14466
|
+
title: localizableStringSchema.optional()
|
|
14399
14467
|
});
|
|
14400
14468
|
var workbenchExtensionMetadataSchema = exports_external.object({
|
|
14401
14469
|
extensions: exports_external.array(extensionRecordSchema),
|
|
@@ -14407,6 +14475,8 @@ var workbenchExtensionMetadataSchema = exports_external.object({
|
|
|
14407
14475
|
routes: exports_external.array(workbenchExtensionRouteRecordSchema),
|
|
14408
14476
|
navigation: exports_external.array(extensionNavigationRecordSchema),
|
|
14409
14477
|
treeItems: exports_external.array(extensionTreeItemContributionSchema).optional(),
|
|
14478
|
+
activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
|
|
14479
|
+
settingsSections: exports_external.array(extensionSettingsSectionRecordSchema).optional(),
|
|
14410
14480
|
settingsPanels: exports_external.array(workbenchExtensionSettingsPanelRecordSchema),
|
|
14411
14481
|
kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema).optional(),
|
|
14412
14482
|
dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
|
|
@@ -14416,6 +14486,11 @@ var workbenchExtensionMetadataSchema = exports_external.object({
|
|
|
14416
14486
|
controlsRenderers: exports_external.array(extensionControlsRendererRecordSchema).optional(),
|
|
14417
14487
|
keybindings: exports_external.array(extensionKeybindingRecordSchema).optional(),
|
|
14418
14488
|
settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
|
|
14489
|
+
automations: exports_external.array(workbenchExtensionAutomationRecordSchema).optional(),
|
|
14490
|
+
harnesses: exports_external.array(workbenchExtensionHarnessRecordSchema).optional(),
|
|
14491
|
+
skills: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
|
|
14492
|
+
templates: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
|
|
14493
|
+
themes: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
|
|
14419
14494
|
diagnostics: exports_external.array(extensionDiagnosticSchema)
|
|
14420
14495
|
});
|
|
14421
14496
|
var listExtensionCommandsResponseSchema = exports_external.object({
|
|
@@ -14547,6 +14622,10 @@ var projectExtensionInstanceSchema = exports_external.object({
|
|
|
14547
14622
|
version: exports_external.string().nullable().optional(),
|
|
14548
14623
|
description: exports_external.string().optional(),
|
|
14549
14624
|
sourcePath: exports_external.string(),
|
|
14625
|
+
scope: exports_external.enum(["repo", "global"]),
|
|
14626
|
+
status: exports_external.enum(["pending", "loaded", "error", "missing", "disabled"]),
|
|
14627
|
+
lastLoadedAt: exports_external.string().nullable().optional(),
|
|
14628
|
+
lastError: jsonObjectSchema.nullable().optional(),
|
|
14550
14629
|
enabled: exports_external.boolean(),
|
|
14551
14630
|
config: exports_external.record(exports_external.string(), exports_external.unknown())
|
|
14552
14631
|
});
|
|
@@ -14556,6 +14635,13 @@ var listProjectExtensionsResponseSchema = exports_external.object({
|
|
|
14556
14635
|
var setProjectExtensionEnabledRequestSchema = exports_external.object({
|
|
14557
14636
|
enabled: exports_external.boolean()
|
|
14558
14637
|
});
|
|
14638
|
+
var setExtensionAutomationEnabledRequestSchema = exports_external.object({
|
|
14639
|
+
enabled: exports_external.boolean()
|
|
14640
|
+
});
|
|
14641
|
+
var attemptExtensionFixResponseSchema = exports_external.object({
|
|
14642
|
+
sessionId: exports_external.string(),
|
|
14643
|
+
title: exports_external.string()
|
|
14644
|
+
});
|
|
14559
14645
|
var updateInstalledExtensionTemplateInputSchema = exports_external.object({
|
|
14560
14646
|
content: exports_external.string().min(1)
|
|
14561
14647
|
});
|
package/dist/client/client.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { type ExtensionClient } from "./extensions";
|
|
|
3
3
|
import { type NotificationsClient } from "./notifications";
|
|
4
4
|
import { type ProjectClient } from "./projects";
|
|
5
5
|
import type { ClientOptions } from "./request";
|
|
6
|
+
import { type RuntimeClient } from "./runtime";
|
|
6
7
|
import { type SessionClient } from "./sessions";
|
|
7
8
|
import { type SettingsClient } from "./settings";
|
|
8
9
|
import { type SkillClient } from "./skills";
|
|
@@ -20,5 +21,6 @@ export type PstdioClient = {
|
|
|
20
21
|
extensions: ExtensionClient;
|
|
21
22
|
settings: SettingsClient;
|
|
22
23
|
sync: SyncClient;
|
|
24
|
+
runtime: RuntimeClient;
|
|
23
25
|
};
|
|
24
26
|
export declare const createClient: (options?: ClientOptions) => PstdioClient;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { CommandExecuteRequest, CommandExecuteResponse, DispatchExtensionEventInput, EnableInstalledExtensionRequest, EnableInstalledExtensionResponse, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse } from "pstdio-api-contracts";
|
|
1
|
+
import type { CommandExecuteRequest, CommandExecuteResponse, DispatchExtensionEventInput, EnableInstalledExtensionRequest, EnableInstalledExtensionResponse, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, ListProjectExtensionsResponse, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse } from "pstdio-api-contracts";
|
|
2
2
|
import type { RequestFn } from "./request";
|
|
3
3
|
export type ExtensionClient = {
|
|
4
4
|
enableInstalled(projectId: string, installName: string, request: EnableInstalledExtensionRequest): Promise<EnableInstalledExtensionResponse>;
|
|
5
5
|
updateInstalledTemplate(installName: string, templateKey: string, input: UpdateInstalledExtensionTemplateInput): Promise<UpdateInstalledExtensionTemplateResponse>;
|
|
6
6
|
listAppearance(projectId: string): Promise<ListExtensionAppearanceResponse>;
|
|
7
7
|
listCommands(projectId: string): Promise<ListExtensionCommandsResponse>;
|
|
8
|
+
listProject(projectId: string): Promise<ListProjectExtensionsResponse>;
|
|
8
9
|
execute(commandId: string, request: CommandExecuteRequest): Promise<CommandExecuteResponse>;
|
|
9
10
|
dispatchEvent(projectId: string, input: DispatchExtensionEventInput): Promise<void>;
|
|
10
11
|
};
|
package/dist/client/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export type { ExtensionClient } from "./extensions";
|
|
|
4
4
|
export type { NotificationsClient } from "./notifications";
|
|
5
5
|
export type { ProjectClient } from "./projects";
|
|
6
6
|
export { type ClientOptions, createRequest, PstdioApiError, type RequestFn, type RequestOptions, } from "./request";
|
|
7
|
+
export { createRuntimeClient, type RuntimeClient } from "./runtime";
|
|
7
8
|
export type { ListSessionsInput, SessionClient, SessionStreamConnection, SessionStreamHandlers } from "./sessions";
|
|
8
9
|
export type { SettingsClient } from "./settings";
|
|
9
10
|
export type { SkillClient } from "./skills";
|
package/dist/client/index.js
CHANGED
|
@@ -31,6 +31,7 @@ var createExtensionClient = (request) => ({
|
|
|
31
31
|
}),
|
|
32
32
|
listAppearance: (projectId) => request(`/v1/projects/${projectId}/extensions/appearance`),
|
|
33
33
|
listCommands: (projectId) => request(`/v1/projects/${projectId}/extensions/commands`),
|
|
34
|
+
listProject: (projectId) => request(`/v1/projects/${projectId}/extensions`),
|
|
34
35
|
execute: (commandId, input) => {
|
|
35
36
|
const { projectId, ...body } = input;
|
|
36
37
|
return request(`/v1/projects/${projectId}/extensions/commands/${encodeURIComponent(commandId)}/execute`, {
|
|
@@ -150,15 +151,27 @@ ${hookOutput}` : message;
|
|
|
150
151
|
}
|
|
151
152
|
return `Request failed: ${status}`;
|
|
152
153
|
};
|
|
153
|
-
var
|
|
154
|
+
var processEnvironment = () => typeof process !== "undefined" && process.env ? process.env : undefined;
|
|
155
|
+
var resolveBaseUrl = (options) => options.baseUrl ?? processEnvironment()?.PSTDIO_API_URL ?? "http://127.0.0.1:19840";
|
|
154
156
|
var resolveClientUrl = (baseUrl, path) => path.startsWith("http://") || path.startsWith("https://") ? path : `${baseUrl}${path}`;
|
|
157
|
+
var isSameOriginTarget = (baseUrl, path, url) => {
|
|
158
|
+
if (!path.startsWith("http://") && !path.startsWith("https://"))
|
|
159
|
+
return true;
|
|
160
|
+
try {
|
|
161
|
+
return new URL(url).origin === new URL(baseUrl).origin;
|
|
162
|
+
} catch {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
};
|
|
155
166
|
var resolveFetch = (options) => options.fetch ?? globalThis.fetch;
|
|
167
|
+
var resolveToken = (options) => options.token ?? processEnvironment()?.PSTDIO_API_TOKEN;
|
|
156
168
|
var createRequestHeaders = (options, reqOpts = {}) => {
|
|
157
169
|
const headers = new Headers(reqOpts.headers);
|
|
158
170
|
if (reqOpts.hasJsonBody && !headers.has("content-type"))
|
|
159
171
|
headers.set("content-type", "application/json");
|
|
160
|
-
|
|
161
|
-
|
|
172
|
+
const token = resolveToken(options);
|
|
173
|
+
if (token)
|
|
174
|
+
headers.set("authorization", `Bearer ${token}`);
|
|
162
175
|
return headers;
|
|
163
176
|
};
|
|
164
177
|
var isBinaryBody = (body) => body instanceof ArrayBuffer || ArrayBuffer.isView(body);
|
|
@@ -178,17 +191,20 @@ var createRequest = (options) => {
|
|
|
178
191
|
const baseUrl = resolveBaseUrl(options);
|
|
179
192
|
const fetchFn = resolveFetch(options);
|
|
180
193
|
return async (path, reqOpts = {}) => {
|
|
194
|
+
const url = resolveClientUrl(baseUrl, path);
|
|
181
195
|
const headers = createRequestHeaders(options, {
|
|
182
196
|
headers: reqOpts.headers,
|
|
183
197
|
hasJsonBody: reqOpts.body !== undefined && !isBinaryBody(reqOpts.body)
|
|
184
198
|
});
|
|
185
|
-
|
|
199
|
+
if (!isSameOriginTarget(baseUrl, path, url))
|
|
200
|
+
headers.delete("authorization");
|
|
186
201
|
const response = await fetchFn(url, {
|
|
187
202
|
method: reqOpts.method ?? "GET",
|
|
188
203
|
headers: Object.fromEntries(headers.entries()),
|
|
189
204
|
body: reqOpts.body !== undefined ? serializeRequestBody(reqOpts.body) : undefined,
|
|
190
205
|
signal: reqOpts.signal,
|
|
191
|
-
cache: reqOpts.cache
|
|
206
|
+
cache: reqOpts.cache,
|
|
207
|
+
credentials: "same-origin"
|
|
192
208
|
});
|
|
193
209
|
if (!response.ok) {
|
|
194
210
|
const errorBody = await response.json().catch(() => null);
|
|
@@ -201,6 +217,11 @@ var createRequest = (options) => {
|
|
|
201
217
|
};
|
|
202
218
|
};
|
|
203
219
|
|
|
220
|
+
// src/client/runtime.ts
|
|
221
|
+
var createRuntimeClient = (request) => ({
|
|
222
|
+
provisionBrowserSession: () => request("/runtime/browser-session", { method: "POST" })
|
|
223
|
+
});
|
|
224
|
+
|
|
204
225
|
// src/client/sse.ts
|
|
205
226
|
var parseSseEvent = (part) => {
|
|
206
227
|
let event = "message";
|
|
@@ -467,7 +488,8 @@ var createSyncClient = (clientOptions) => ({
|
|
|
467
488
|
try {
|
|
468
489
|
const response = await resolveFetch(clientOptions)(resolveClientUrl(resolveBaseUrl(clientOptions), buildSyncStreamPath(lastSeq)), {
|
|
469
490
|
headers: Object.fromEntries(createRequestHeaders(clientOptions).entries()),
|
|
470
|
-
signal: abortController.signal
|
|
491
|
+
signal: abortController.signal,
|
|
492
|
+
credentials: "same-origin"
|
|
471
493
|
});
|
|
472
494
|
if (!response.ok || !response.body)
|
|
473
495
|
throw new Error("SSE connection failed");
|
|
@@ -544,11 +566,13 @@ var createClient = (options = {}) => {
|
|
|
544
566
|
notifications: createNotificationsClient(request),
|
|
545
567
|
extensions: createExtensionClient(request),
|
|
546
568
|
settings: createSettingsClient(request),
|
|
547
|
-
sync: createSyncClient(options)
|
|
569
|
+
sync: createSyncClient(options),
|
|
570
|
+
runtime: createRuntimeClient(request)
|
|
548
571
|
};
|
|
549
572
|
};
|
|
550
573
|
export {
|
|
551
574
|
parseSyncDeleteEvent,
|
|
575
|
+
createRuntimeClient,
|
|
552
576
|
createRequest,
|
|
553
577
|
createClient,
|
|
554
578
|
applySyncEvent,
|
package/dist/resources/index.js
CHANGED
|
@@ -13953,6 +13953,16 @@ var extensionScheduleRecordSchema = exports_external.object({
|
|
|
13953
13953
|
cron: exports_external.string(),
|
|
13954
13954
|
commandId: exports_external.string()
|
|
13955
13955
|
});
|
|
13956
|
+
var workbenchExtensionAutomationRecordSchema = exports_external.object({
|
|
13957
|
+
id: exports_external.string(),
|
|
13958
|
+
localId: exports_external.string(),
|
|
13959
|
+
extensionId: exports_external.string(),
|
|
13960
|
+
extensionInstanceId: exports_external.string().optional(),
|
|
13961
|
+
title: localizableStringSchema,
|
|
13962
|
+
cron: exports_external.string(),
|
|
13963
|
+
commandId: exports_external.string(),
|
|
13964
|
+
enabled: exports_external.boolean()
|
|
13965
|
+
});
|
|
13956
13966
|
var extensionMenuContributionSchema = exports_external.object({
|
|
13957
13967
|
id: exports_external.string(),
|
|
13958
13968
|
extensionId: exports_external.string(),
|
|
@@ -14032,6 +14042,13 @@ var rowActionSchema = exports_external.object({
|
|
|
14032
14042
|
destructive: exports_external.boolean().optional(),
|
|
14033
14043
|
commandId: exports_external.string()
|
|
14034
14044
|
});
|
|
14045
|
+
var selectionActionSchema = exports_external.object({
|
|
14046
|
+
id: exports_external.string(),
|
|
14047
|
+
label: localizableStringSchema,
|
|
14048
|
+
icon: exports_external.string().optional(),
|
|
14049
|
+
destructive: exports_external.boolean().optional(),
|
|
14050
|
+
commandId: exports_external.string()
|
|
14051
|
+
});
|
|
14035
14052
|
var extensionDataTableRendererRecordSchema = exports_external.object({
|
|
14036
14053
|
id: exports_external.string(),
|
|
14037
14054
|
extensionId: exports_external.string(),
|
|
@@ -14039,6 +14056,8 @@ var extensionDataTableRendererRecordSchema = exports_external.object({
|
|
|
14039
14056
|
resourceKind: exports_external.string().optional(),
|
|
14040
14057
|
columns: exports_external.array(dataTableRendererColumnSchema).optional(),
|
|
14041
14058
|
queryCommandId: exports_external.string(),
|
|
14059
|
+
selectionMode: exports_external.enum(["none", "multiple"]).optional(),
|
|
14060
|
+
selectionActions: exports_external.array(selectionActionSchema).optional(),
|
|
14042
14061
|
rowActions: exports_external.array(rowActionSchema).optional(),
|
|
14043
14062
|
initialPageSize: exports_external.number().int().positive().optional(),
|
|
14044
14063
|
pageSizeOptions: exports_external.array(exports_external.number().int().positive()).optional(),
|
|
@@ -14046,6 +14065,22 @@ var extensionDataTableRendererRecordSchema = exports_external.object({
|
|
|
14046
14065
|
emptyDescription: localizableStringSchema.optional()
|
|
14047
14066
|
});
|
|
14048
14067
|
|
|
14068
|
+
// ../pstdio-api-contracts/src/extensions/host-capabilities.ts
|
|
14069
|
+
var extensionHostCapabilitySchema = exports_external.object({
|
|
14070
|
+
version: exports_external.number().int().positive(),
|
|
14071
|
+
since: exports_external.string().optional()
|
|
14072
|
+
});
|
|
14073
|
+
var extensionHostCapabilitiesSchema = exports_external.object({
|
|
14074
|
+
host: exports_external.literal("dashboard"),
|
|
14075
|
+
hostVersion: exports_external.string(),
|
|
14076
|
+
capabilities: exports_external.record(exports_external.string(), extensionHostCapabilitySchema)
|
|
14077
|
+
});
|
|
14078
|
+
var extensionHostCompatibilitySchema = exports_external.object({
|
|
14079
|
+
status: exports_external.enum(["verified", "unverified"]),
|
|
14080
|
+
host: extensionHostCapabilitiesSchema.optional(),
|
|
14081
|
+
diagnostics: exports_external.array(extensionDiagnosticSchema)
|
|
14082
|
+
});
|
|
14083
|
+
|
|
14049
14084
|
// ../pstdio-api-contracts/src/extensions/kanban-renderer.ts
|
|
14050
14085
|
var kanbanRendererEnumOptionSchema = exports_external.object({
|
|
14051
14086
|
value: exports_external.string(),
|
|
@@ -14207,6 +14242,7 @@ var extensionPanelRecordBaseSchema = exports_external.object({
|
|
|
14207
14242
|
id: exports_external.string(),
|
|
14208
14243
|
extensionId: exports_external.string(),
|
|
14209
14244
|
title: localizableStringSchema,
|
|
14245
|
+
icon: exports_external.string().optional(),
|
|
14210
14246
|
region: workbenchRegionSchema,
|
|
14211
14247
|
closable: exports_external.boolean(),
|
|
14212
14248
|
group: exports_external.string().optional(),
|
|
@@ -14250,6 +14286,16 @@ var extensionTreeItemActionSchema = exports_external.discriminatedUnion("kind",
|
|
|
14250
14286
|
exports_external.object({ kind: exports_external.literal("route"), route: exports_external.string() }),
|
|
14251
14287
|
exports_external.object({ kind: exports_external.literal("href"), href: exports_external.string() })
|
|
14252
14288
|
]);
|
|
14289
|
+
var extensionActivityItemRecordSchema = exports_external.object({
|
|
14290
|
+
id: exports_external.string(),
|
|
14291
|
+
extensionId: exports_external.string(),
|
|
14292
|
+
title: localizableStringSchema,
|
|
14293
|
+
icon: exports_external.string(),
|
|
14294
|
+
modes: exports_external.array(exports_external.string()),
|
|
14295
|
+
placement: extensionPlacementSchema.optional(),
|
|
14296
|
+
commandId: exports_external.string(),
|
|
14297
|
+
params: jsonObjectSchema.optional()
|
|
14298
|
+
});
|
|
14253
14299
|
var extensionTreeItemContributionSchema = exports_external.object({
|
|
14254
14300
|
id: exports_external.string(),
|
|
14255
14301
|
extensionId: exports_external.string(),
|
|
@@ -14337,6 +14383,7 @@ var extensionSettingsPanelRecordSchema = exports_external.object({
|
|
|
14337
14383
|
scope: workbenchSettingsScopeSchema.optional(),
|
|
14338
14384
|
title: localizableStringSchema,
|
|
14339
14385
|
icon: exports_external.string().optional(),
|
|
14386
|
+
section: exports_external.string().optional(),
|
|
14340
14387
|
webview: extensionWebviewContributionSchema
|
|
14341
14388
|
});
|
|
14342
14389
|
var extensionSettingDefinitionRecordSchema = exports_external.object({
|
|
@@ -14362,6 +14409,13 @@ var updateExtensionSettingRequestSchema = exports_external.object({
|
|
|
14362
14409
|
var workbenchExtensionSettingsPanelRecordSchema = extensionSettingsPanelRecordSchema.extend({
|
|
14363
14410
|
webview: workbenchExtensionWebviewSchema
|
|
14364
14411
|
});
|
|
14412
|
+
var extensionSettingsSectionRecordSchema = exports_external.object({
|
|
14413
|
+
id: exports_external.string(),
|
|
14414
|
+
extensionId: exports_external.string(),
|
|
14415
|
+
title: localizableStringSchema,
|
|
14416
|
+
scope: workbenchSettingsScopeSchema.optional(),
|
|
14417
|
+
order: exports_external.number().optional()
|
|
14418
|
+
});
|
|
14365
14419
|
|
|
14366
14420
|
// ../pstdio-api-contracts/src/extensions/check.ts
|
|
14367
14421
|
var extensionsCheckResponseSchema = exports_external.object({
|
|
@@ -14384,6 +14438,7 @@ var extensionsCheckResponseSchema = exports_external.object({
|
|
|
14384
14438
|
routes: exports_external.array(extensionRouteRecordSchema),
|
|
14385
14439
|
navigation: exports_external.array(extensionNavigationRecordSchema),
|
|
14386
14440
|
treeItems: exports_external.array(extensionTreeItemContributionSchema),
|
|
14441
|
+
activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
|
|
14387
14442
|
settingsPanels: exports_external.array(extensionSettingsPanelRecordSchema),
|
|
14388
14443
|
kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema),
|
|
14389
14444
|
dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
|
|
@@ -14395,7 +14450,20 @@ var extensionsCheckResponseSchema = exports_external.object({
|
|
|
14395
14450
|
settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
|
|
14396
14451
|
templates: exports_external.array(extensionViewLikeSchema),
|
|
14397
14452
|
skills: exports_external.array(extensionViewLikeSchema),
|
|
14398
|
-
diagnostics: exports_external.array(extensionDiagnosticSchema)
|
|
14453
|
+
diagnostics: exports_external.array(extensionDiagnosticSchema),
|
|
14454
|
+
hostCompatibility: extensionHostCompatibilitySchema
|
|
14455
|
+
});
|
|
14456
|
+
var workbenchExtensionHarnessRecordSchema = exports_external.object({
|
|
14457
|
+
id: exports_external.string(),
|
|
14458
|
+
localId: exports_external.string(),
|
|
14459
|
+
extensionId: exports_external.string(),
|
|
14460
|
+
label: localizableStringSchema.optional()
|
|
14461
|
+
});
|
|
14462
|
+
var workbenchExtensionViewRecordSchema = exports_external.object({
|
|
14463
|
+
id: exports_external.string(),
|
|
14464
|
+
localId: exports_external.string(),
|
|
14465
|
+
extensionId: exports_external.string(),
|
|
14466
|
+
title: localizableStringSchema.optional()
|
|
14399
14467
|
});
|
|
14400
14468
|
var workbenchExtensionMetadataSchema = exports_external.object({
|
|
14401
14469
|
extensions: exports_external.array(extensionRecordSchema),
|
|
@@ -14407,6 +14475,8 @@ var workbenchExtensionMetadataSchema = exports_external.object({
|
|
|
14407
14475
|
routes: exports_external.array(workbenchExtensionRouteRecordSchema),
|
|
14408
14476
|
navigation: exports_external.array(extensionNavigationRecordSchema),
|
|
14409
14477
|
treeItems: exports_external.array(extensionTreeItemContributionSchema).optional(),
|
|
14478
|
+
activityItems: exports_external.array(extensionActivityItemRecordSchema).optional(),
|
|
14479
|
+
settingsSections: exports_external.array(extensionSettingsSectionRecordSchema).optional(),
|
|
14410
14480
|
settingsPanels: exports_external.array(workbenchExtensionSettingsPanelRecordSchema),
|
|
14411
14481
|
kanbanRenderers: exports_external.array(extensionKanbanRendererRecordSchema).optional(),
|
|
14412
14482
|
dataTableRenderers: exports_external.array(extensionDataTableRendererRecordSchema).optional(),
|
|
@@ -14416,6 +14486,11 @@ var workbenchExtensionMetadataSchema = exports_external.object({
|
|
|
14416
14486
|
controlsRenderers: exports_external.array(extensionControlsRendererRecordSchema).optional(),
|
|
14417
14487
|
keybindings: exports_external.array(extensionKeybindingRecordSchema).optional(),
|
|
14418
14488
|
settingsDefinitions: exports_external.array(extensionSettingDefinitionRecordSchema).optional(),
|
|
14489
|
+
automations: exports_external.array(workbenchExtensionAutomationRecordSchema).optional(),
|
|
14490
|
+
harnesses: exports_external.array(workbenchExtensionHarnessRecordSchema).optional(),
|
|
14491
|
+
skills: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
|
|
14492
|
+
templates: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
|
|
14493
|
+
themes: exports_external.array(workbenchExtensionViewRecordSchema).optional(),
|
|
14419
14494
|
diagnostics: exports_external.array(extensionDiagnosticSchema)
|
|
14420
14495
|
});
|
|
14421
14496
|
var listExtensionCommandsResponseSchema = exports_external.object({
|
|
@@ -14547,6 +14622,10 @@ var projectExtensionInstanceSchema = exports_external.object({
|
|
|
14547
14622
|
version: exports_external.string().nullable().optional(),
|
|
14548
14623
|
description: exports_external.string().optional(),
|
|
14549
14624
|
sourcePath: exports_external.string(),
|
|
14625
|
+
scope: exports_external.enum(["repo", "global"]),
|
|
14626
|
+
status: exports_external.enum(["pending", "loaded", "error", "missing", "disabled"]),
|
|
14627
|
+
lastLoadedAt: exports_external.string().nullable().optional(),
|
|
14628
|
+
lastError: jsonObjectSchema.nullable().optional(),
|
|
14550
14629
|
enabled: exports_external.boolean(),
|
|
14551
14630
|
config: exports_external.record(exports_external.string(), exports_external.unknown())
|
|
14552
14631
|
});
|
|
@@ -14556,6 +14635,13 @@ var listProjectExtensionsResponseSchema = exports_external.object({
|
|
|
14556
14635
|
var setProjectExtensionEnabledRequestSchema = exports_external.object({
|
|
14557
14636
|
enabled: exports_external.boolean()
|
|
14558
14637
|
});
|
|
14638
|
+
var setExtensionAutomationEnabledRequestSchema = exports_external.object({
|
|
14639
|
+
enabled: exports_external.boolean()
|
|
14640
|
+
});
|
|
14641
|
+
var attemptExtensionFixResponseSchema = exports_external.object({
|
|
14642
|
+
sessionId: exports_external.string(),
|
|
14643
|
+
title: exports_external.string()
|
|
14644
|
+
});
|
|
14559
14645
|
var updateInstalledExtensionTemplateInputSchema = exports_external.object({
|
|
14560
14646
|
content: exports_external.string().min(1)
|
|
14561
14647
|
});
|