@pstdio/sdk 0.18.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- export type { AttemptExtensionFixResponse, CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, 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 "pstdio-api-contracts";
1
+ export type { AttemptExtensionFixResponse, CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, ExtensionPanelRecord, ExtensionRecord, ExtensionRouteRecord, ExtensionSettingDefinitionRecord, ExtensionSettingsPanelRecord, ExtensionSettingValueRecord, ExtensionTreeItemContribution, ExtensionTreeRendererRecord, InstallMarketplaceExtensionResponse, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, ListExtensionSettingsResponse, ListProjectExtensionsResponse, LocalizableString, MarketplaceExtension, ProjectExtensionInstance, UpdateExtensionSettingRequest, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse, UpgradeProjectExtensionResponse, WorkbenchExtensionAutomationRecord, WorkbenchExtensionCommandPaletteResourceRecord, WorkbenchExtensionControlsRendererRecord, WorkbenchExtensionDataTableRendererRecord, WorkbenchExtensionHarnessRecord, WorkbenchExtensionKanbanRendererRecord, WorkbenchExtensionMetadata, WorkbenchExtensionPanelRecord, WorkbenchExtensionTreeRendererRecord, WorkbenchExtensionViewRecord, } from "pstdio-api-contracts";
@@ -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 { AttemptExtensionFixResponse, CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, 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";
2
+ export type { AttemptExtensionFixResponse, CommandExecuteRequest, CommandExecuteResponse, ExtensionCommandPaletteContribution, ExtensionCommandPaletteResourceRecord, ExtensionCommandRecord, ExtensionControlsRendererRecord, ExtensionDataTableRendererRecord, ExtensionDiagnostic, ExtensionKanbanRendererRecord, ExtensionKeybindingRecord, ExtensionMenuContribution, ExtensionModeRecord, ExtensionPanelRecord, ExtensionRecord, ExtensionRouteRecord, ExtensionSettingDefinitionRecord, ExtensionSettingsPanelRecord, ExtensionSettingValueRecord, ExtensionTreeItemContribution, ExtensionTreeRendererRecord, InstallMarketplaceExtensionResponse, ListExtensionAppearanceResponse, ListExtensionCommandsResponse, ListExtensionSettingsResponse, ListProjectExtensionsResponse, LocalizableString, MarketplaceExtension, ProjectExtensionInstance, UpdateExtensionSettingRequest, UpdateInstalledExtensionTemplateInput, UpdateInstalledExtensionTemplateResponse, UpgradeProjectExtensionResponse, 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";
@@ -7,4 +7,4 @@ export type { Settings, UpdateSettingsInput } from "./settings";
7
7
  export type { UpdateSkillInput } from "./skills";
8
8
  export type { CreateTemplateInput, UpdateTemplateInput } from "./templates";
9
9
  export type { TerminalHostEvent, TerminalSessionOperation, TerminalSessionRequest, TerminalSessionResult, } from "./terminal";
10
- export type { CreateWorkspaceInput, RemoveWorktreeResponse, RenameWorkspaceInput } from "./workspaces";
10
+ export type { CreateWorkspaceInput, ListWorkspaceFilesInput, RemoveWorktreeResponse, RenameWorkspaceInput, WorkspaceFileContent, WorkspaceFileEntry, WorkspaceFilesResponse, WriteWorkspaceFileInput, } from "./workspaces";
package/dist/api/index.js CHANGED
@@ -14168,6 +14168,8 @@ var extensionRendererRecordBaseSchema = exports_external.object({
14168
14168
  emptyDescription: localizableStringSchema.optional()
14169
14169
  });
14170
14170
  var extensionTreeRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14171
+ searchable: exports_external.boolean().optional(),
14172
+ searchPlaceholder: localizableStringSchema.optional(),
14171
14173
  bodyHandlerId: exports_external.string(),
14172
14174
  childrenHandlerId: exports_external.string().optional(),
14173
14175
  footerHandlerId: exports_external.string().optional(),
@@ -14664,10 +14666,18 @@ var projectExtensionInstanceSchema = exports_external.object({
14664
14666
  lastError: jsonObjectSchema.nullable().optional(),
14665
14667
  enabled: exports_external.boolean(),
14666
14668
  config: exports_external.record(exports_external.string(), exports_external.unknown()),
14669
+ canUpgrade: exports_external.boolean(),
14667
14670
  updateAvailable: exports_external.boolean()
14668
14671
  });
14672
+ var marketplaceExtensionSchema = exports_external.object({
14673
+ installName: exports_external.string(),
14674
+ displayName: exports_external.string(),
14675
+ description: exports_external.string(),
14676
+ installed: exports_external.boolean()
14677
+ });
14669
14678
  var listProjectExtensionsResponseSchema = exports_external.object({
14670
- extensions: exports_external.array(projectExtensionInstanceSchema)
14679
+ extensions: exports_external.array(projectExtensionInstanceSchema),
14680
+ marketplace: exports_external.array(marketplaceExtensionSchema)
14671
14681
  });
14672
14682
  var setProjectExtensionEnabledRequestSchema = exports_external.object({
14673
14683
  enabled: exports_external.boolean()
@@ -14679,6 +14689,13 @@ var attemptExtensionFixResponseSchema = exports_external.object({
14679
14689
  sessionId: exports_external.string(),
14680
14690
  title: exports_external.string()
14681
14691
  });
14692
+ var upgradeProjectExtensionResponseSchema = exports_external.object({
14693
+ changed: exports_external.boolean(),
14694
+ extension: projectExtensionInstanceSchema
14695
+ });
14696
+ var installMarketplaceExtensionResponseSchema = exports_external.object({
14697
+ extension: projectExtensionInstanceSchema
14698
+ });
14682
14699
  var updateInstalledExtensionTemplateInputSchema = exports_external.object({
14683
14700
  content: exports_external.string().min(1)
14684
14701
  });
@@ -15110,6 +15127,41 @@ var renameWorkspaceInputSchema = exports_external.object({
15110
15127
  var removeWorktreeResponseSchema = exports_external.object({
15111
15128
  removed: exports_external.boolean()
15112
15129
  });
15130
+ var workspaceFileEntrySchema = exports_external.object({
15131
+ path: exports_external.string(),
15132
+ name: exports_external.string(),
15133
+ type: exports_external.enum(["file", "directory"]),
15134
+ size: exports_external.number().int().nonnegative().optional(),
15135
+ modified_at: exports_external.string().optional()
15136
+ });
15137
+ var workspaceFilesResponseSchema = exports_external.object({
15138
+ workspace_id: exports_external.string(),
15139
+ path: exports_external.string(),
15140
+ entries: exports_external.array(workspaceFileEntrySchema),
15141
+ truncated: exports_external.boolean()
15142
+ });
15143
+ var workspaceFileContentSchema = exports_external.object({
15144
+ workspace_id: exports_external.string(),
15145
+ path: exports_external.string(),
15146
+ file_name: exports_external.string(),
15147
+ mime_type: exports_external.string().optional(),
15148
+ size: exports_external.number().int().nonnegative(),
15149
+ encoding: exports_external.enum(["utf8", "base64"]),
15150
+ content: exports_external.string().optional(),
15151
+ data_url: exports_external.string().optional(),
15152
+ editable: exports_external.boolean()
15153
+ });
15154
+ var writeWorkspaceFileInputSchema = exports_external.object({
15155
+ content: exports_external.string()
15156
+ });
15157
+ var moveWorkspaceEntryInputSchema = exports_external.object({
15158
+ destination_path: exports_external.string().min(1)
15159
+ });
15160
+ var listWorkspaceFilesInputSchema = exports_external.object({
15161
+ path: exports_external.string().optional(),
15162
+ query: exports_external.string().optional(),
15163
+ limit: exports_external.number().int().positive().max(500).optional()
15164
+ });
15113
15165
  export {
15114
15166
  sessionAttachmentMimeTypesByExtension
15115
15167
  };
@@ -1,6 +1,12 @@
1
- import type { CreateWorkspaceInput as ContractCreateWorkspaceInput, ListWorkspaceActivityInput as ContractListWorkspaceActivityInput, ListWorkspaceActivityResponse as ContractListWorkspaceActivityResponse, RemoveWorktreeResponse as ContractRemoveWorktreeResponse, RenameWorkspaceInput as ContractRenameWorkspaceInput } from "pstdio-api-contracts";
1
+ import type { CreateWorkspaceInput as ContractCreateWorkspaceInput, ListWorkspaceActivityInput as ContractListWorkspaceActivityInput, ListWorkspaceActivityResponse as ContractListWorkspaceActivityResponse, ListWorkspaceFilesInput as ContractListWorkspaceFilesInput, MoveWorkspaceEntryInput as ContractMoveWorkspaceEntryInput, RemoveWorktreeResponse as ContractRemoveWorktreeResponse, RenameWorkspaceInput as ContractRenameWorkspaceInput, WorkspaceFileContent as ContractWorkspaceFileContent, WorkspaceFileEntry as ContractWorkspaceFileEntry, WorkspaceFilesResponse as ContractWorkspaceFilesResponse, WriteWorkspaceFileInput as ContractWriteWorkspaceFileInput } from "pstdio-api-contracts";
2
2
  export type CreateWorkspaceInput = ContractCreateWorkspaceInput;
3
3
  export type ListWorkspaceActivityInput = ContractListWorkspaceActivityInput;
4
4
  export type ListWorkspaceActivityResponse = ContractListWorkspaceActivityResponse;
5
5
  export type RemoveWorktreeResponse = ContractRemoveWorktreeResponse;
6
6
  export type RenameWorkspaceInput = ContractRenameWorkspaceInput;
7
+ export type ListWorkspaceFilesInput = ContractListWorkspaceFilesInput;
8
+ export type MoveWorkspaceEntryInput = ContractMoveWorkspaceEntryInput;
9
+ export type WorkspaceFileContent = ContractWorkspaceFileContent;
10
+ export type WorkspaceFileEntry = ContractWorkspaceFileEntry;
11
+ export type WorkspaceFilesResponse = ContractWorkspaceFilesResponse;
12
+ export type WriteWorkspaceFileInput = ContractWriteWorkspaceFileInput;
@@ -532,6 +532,55 @@ var createTemplateClient = (request) => ({
532
532
 
533
533
  // src/client/workspaces.ts
534
534
  var createWorkspaceClient = (request) => ({
535
+ listFiles: (workspaceId, input = {}) => {
536
+ const params = new URLSearchParams;
537
+ if (input.path !== undefined)
538
+ params.append("path", input.path);
539
+ if (input.query !== undefined)
540
+ params.append("query", input.query);
541
+ if (input.limit !== undefined)
542
+ params.append("limit", String(input.limit));
543
+ const query = params.toString();
544
+ return request(`/v1/workspaces/${encodeURIComponent(workspaceId)}/files${query ? `?${query}` : ""}`);
545
+ },
546
+ readFile: (workspaceId, path) => {
547
+ const params = new URLSearchParams({ path });
548
+ return request(`/v1/workspaces/${encodeURIComponent(workspaceId)}/file?${params.toString()}`);
549
+ },
550
+ createDirectory: (workspaceId, path) => {
551
+ const params = new URLSearchParams({ path });
552
+ return request(`/v1/workspaces/${encodeURIComponent(workspaceId)}/directory?${params.toString()}`, {
553
+ method: "POST"
554
+ });
555
+ },
556
+ createFile: (workspaceId, path, input) => {
557
+ const params = new URLSearchParams({ path });
558
+ return request(`/v1/workspaces/${encodeURIComponent(workspaceId)}/file?${params.toString()}`, {
559
+ method: "POST",
560
+ body: input
561
+ });
562
+ },
563
+ writeFile: (workspaceId, path, input) => {
564
+ const params = new URLSearchParams({ path });
565
+ return request(`/v1/workspaces/${encodeURIComponent(workspaceId)}/file?${params.toString()}`, {
566
+ method: "PUT",
567
+ body: input
568
+ });
569
+ },
570
+ moveEntry: (workspaceId, path, destinationPath) => {
571
+ const params = new URLSearchParams({ path });
572
+ const body = { destination_path: destinationPath };
573
+ return request(`/v1/workspaces/${encodeURIComponent(workspaceId)}/entry?${params.toString()}`, {
574
+ method: "PATCH",
575
+ body
576
+ });
577
+ },
578
+ deleteEntry: (workspaceId, path) => {
579
+ const params = new URLSearchParams({ path });
580
+ return request(`/v1/workspaces/${encodeURIComponent(workspaceId)}/entry?${params.toString()}`, {
581
+ method: "DELETE"
582
+ });
583
+ },
535
584
  listActivity: (workspaceId, input = {}) => {
536
585
  const params = new URLSearchParams;
537
586
  if (input.event_type)
@@ -1,4 +1,4 @@
1
- import type { CreateWorkspaceInput, ListWorkspaceActivityInput, ListWorkspaceActivityResponse, RemoveWorktreeResponse, RenameWorkspaceInput } from "pstdio-api-contracts";
1
+ import type { CreateWorkspaceInput, ListWorkspaceActivityInput, ListWorkspaceActivityResponse, ListWorkspaceFilesInput, RemoveWorktreeResponse, RenameWorkspaceInput, WorkspaceFileContent, WorkspaceFileEntry, WorkspaceFilesResponse, WriteWorkspaceFileInput } from "pstdio-api-contracts";
2
2
  import type { Workspace, WorkspaceListItem } from "../resources";
3
3
  import type { RequestFn } from "./request";
4
4
  export type WorkspaceClient = {
@@ -7,6 +7,13 @@ export type WorkspaceClient = {
7
7
  create(input: CreateWorkspaceInput): Promise<Workspace>;
8
8
  rename(workspaceId: string, input: RenameWorkspaceInput): Promise<Workspace>;
9
9
  listActivity(workspaceId: string, input?: ListWorkspaceActivityInput): Promise<ListWorkspaceActivityResponse>;
10
+ listFiles(workspaceId: string, input?: ListWorkspaceFilesInput): Promise<WorkspaceFilesResponse>;
11
+ createDirectory(workspaceId: string, path: string): Promise<WorkspaceFileEntry>;
12
+ createFile(workspaceId: string, path: string, input: WriteWorkspaceFileInput): Promise<WorkspaceFileContent>;
13
+ readFile(workspaceId: string, path: string): Promise<WorkspaceFileContent>;
14
+ writeFile(workspaceId: string, path: string, input: WriteWorkspaceFileInput): Promise<WorkspaceFileContent>;
15
+ moveEntry(workspaceId: string, path: string, destinationPath: string): Promise<void>;
16
+ deleteEntry(workspaceId: string, path: string): Promise<void>;
10
17
  removeWorktree(workspaceId: string): Promise<RemoveWorktreeResponse>;
11
18
  delete(workspaceId: string): Promise<void>;
12
19
  };
@@ -14168,6 +14168,8 @@ var extensionRendererRecordBaseSchema = exports_external.object({
14168
14168
  emptyDescription: localizableStringSchema.optional()
14169
14169
  });
14170
14170
  var extensionTreeRendererRecordSchema = extensionRendererRecordBaseSchema.extend({
14171
+ searchable: exports_external.boolean().optional(),
14172
+ searchPlaceholder: localizableStringSchema.optional(),
14171
14173
  bodyHandlerId: exports_external.string(),
14172
14174
  childrenHandlerId: exports_external.string().optional(),
14173
14175
  footerHandlerId: exports_external.string().optional(),
@@ -14664,10 +14666,18 @@ var projectExtensionInstanceSchema = exports_external.object({
14664
14666
  lastError: jsonObjectSchema.nullable().optional(),
14665
14667
  enabled: exports_external.boolean(),
14666
14668
  config: exports_external.record(exports_external.string(), exports_external.unknown()),
14669
+ canUpgrade: exports_external.boolean(),
14667
14670
  updateAvailable: exports_external.boolean()
14668
14671
  });
14672
+ var marketplaceExtensionSchema = exports_external.object({
14673
+ installName: exports_external.string(),
14674
+ displayName: exports_external.string(),
14675
+ description: exports_external.string(),
14676
+ installed: exports_external.boolean()
14677
+ });
14669
14678
  var listProjectExtensionsResponseSchema = exports_external.object({
14670
- extensions: exports_external.array(projectExtensionInstanceSchema)
14679
+ extensions: exports_external.array(projectExtensionInstanceSchema),
14680
+ marketplace: exports_external.array(marketplaceExtensionSchema)
14671
14681
  });
14672
14682
  var setProjectExtensionEnabledRequestSchema = exports_external.object({
14673
14683
  enabled: exports_external.boolean()
@@ -14679,6 +14689,13 @@ var attemptExtensionFixResponseSchema = exports_external.object({
14679
14689
  sessionId: exports_external.string(),
14680
14690
  title: exports_external.string()
14681
14691
  });
14692
+ var upgradeProjectExtensionResponseSchema = exports_external.object({
14693
+ changed: exports_external.boolean(),
14694
+ extension: projectExtensionInstanceSchema
14695
+ });
14696
+ var installMarketplaceExtensionResponseSchema = exports_external.object({
14697
+ extension: projectExtensionInstanceSchema
14698
+ });
14682
14699
  var updateInstalledExtensionTemplateInputSchema = exports_external.object({
14683
14700
  content: exports_external.string().min(1)
14684
14701
  });
@@ -15110,6 +15127,41 @@ var renameWorkspaceInputSchema = exports_external.object({
15110
15127
  var removeWorktreeResponseSchema = exports_external.object({
15111
15128
  removed: exports_external.boolean()
15112
15129
  });
15130
+ var workspaceFileEntrySchema = exports_external.object({
15131
+ path: exports_external.string(),
15132
+ name: exports_external.string(),
15133
+ type: exports_external.enum(["file", "directory"]),
15134
+ size: exports_external.number().int().nonnegative().optional(),
15135
+ modified_at: exports_external.string().optional()
15136
+ });
15137
+ var workspaceFilesResponseSchema = exports_external.object({
15138
+ workspace_id: exports_external.string(),
15139
+ path: exports_external.string(),
15140
+ entries: exports_external.array(workspaceFileEntrySchema),
15141
+ truncated: exports_external.boolean()
15142
+ });
15143
+ var workspaceFileContentSchema = exports_external.object({
15144
+ workspace_id: exports_external.string(),
15145
+ path: exports_external.string(),
15146
+ file_name: exports_external.string(),
15147
+ mime_type: exports_external.string().optional(),
15148
+ size: exports_external.number().int().nonnegative(),
15149
+ encoding: exports_external.enum(["utf8", "base64"]),
15150
+ content: exports_external.string().optional(),
15151
+ data_url: exports_external.string().optional(),
15152
+ editable: exports_external.boolean()
15153
+ });
15154
+ var writeWorkspaceFileInputSchema = exports_external.object({
15155
+ content: exports_external.string()
15156
+ });
15157
+ var moveWorkspaceEntryInputSchema = exports_external.object({
15158
+ destination_path: exports_external.string().min(1)
15159
+ });
15160
+ var listWorkspaceFilesInputSchema = exports_external.object({
15161
+ path: exports_external.string().optional(),
15162
+ query: exports_external.string().optional(),
15163
+ limit: exports_external.number().int().positive().max(500).optional()
15164
+ });
15113
15165
  export {
15114
15166
  harnessLocalId
15115
15167
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pstdio/sdk",
3
- "version": "0.18.0",
3
+ "version": "0.19.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/pufflyai/prompt-studio"
@@ -53,7 +53,7 @@
53
53
  "mustache": "^4.2.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@types/bun": "latest",
56
+ "@types/bun": "1.3.13",
57
57
  "@types/mustache": "^4.2.6",
58
58
  "pstdio-api-contracts": "workspace:*",
59
59
  "typescript": "6.0.2"