cyberdesk 1.9.0 → 1.10.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/client/sdk.gen.d.ts +13 -2
- package/dist/client/sdk.gen.js +23 -3
- package/dist/client/types.gen.d.ts +40 -0
- package/dist/index.d.ts +307 -2
- package/dist/index.js +317 -3
- package/package.json +1 -1
package/dist/client/sdk.gen.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Options as ClientOptions, TDataShape, Client } from '@hey-api/client-fetch';
|
|
2
|
-
import type { HealthCheckV1HealthGetData, DatabaseHealthCheckV1HealthDbGetData, ListMachinesV1MachinesGetData, CreateMachineV1MachinesPostData, DeleteMachineV1MachinesMachineIdDeleteData, GetMachineV1MachinesMachineIdGetData, UpdateMachineV1MachinesMachineIdPatchData, ListWorkflowsV1WorkflowsGetData, CreateWorkflowV1WorkflowsPostData, DeleteWorkflowV1WorkflowsWorkflowIdDeleteData, GetWorkflowV1WorkflowsWorkflowIdGetData, UpdateWorkflowV1WorkflowsWorkflowIdPatchData, GetWorkflowVersionsV1WorkflowsWorkflowIdVersionsGetData, ListRunsV1RunsGetData, CreateRunV1RunsPostData, DeleteRunV1RunsRunIdDeleteData, GetRunV1RunsRunIdGetData, UpdateRunV1RunsRunIdPatchData, ListRunAttachmentsV1RunAttachmentsGetData, CreateRunAttachmentV1RunAttachmentsPostData, DeleteRunAttachmentV1RunAttachmentsAttachmentIdDeleteData, GetRunAttachmentV1RunAttachmentsAttachmentIdGetData, UpdateRunAttachmentV1RunAttachmentsAttachmentIdPutData, DownloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGetData, ListConnectionsV1ConnectionsGetData, CreateConnectionV1ConnectionsPostData, DeleteConnectionV1ConnectionsConnectionIdDeleteData, GetConnectionV1ConnectionsConnectionIdGetData, UpdateConnectionV1ConnectionsConnectionIdPatchData, ListRequestLogsV1RequestLogsGetData, CreateRequestLogV1RequestLogsPostData, DeleteRequestLogV1RequestLogsLogIdDeleteData, GetRequestLogV1RequestLogsLogIdGetData, UpdateRequestLogV1RequestLogsLogIdPatchData, ListTrajectoriesV1TrajectoriesGetData, CreateTrajectoryV1TrajectoriesPostData, DeleteTrajectoryV1TrajectoriesTrajectoryIdDeleteData, GetTrajectoryV1TrajectoriesTrajectoryIdGetData, UpdateTrajectoryV1TrajectoriesTrajectoryIdPatchData, GetLatestTrajectoryForWorkflowV1WorkflowsWorkflowIdLatestTrajectoryGetData, GetScreenshotV1ComputerMachineIdDisplayScreenshotGetData, GetDisplayDimensionsV1ComputerMachineIdDisplayDimensionsGetData, KeyboardTypeV1ComputerMachineIdInputKeyboardTypePostData, KeyboardKeyV1ComputerMachineIdInputKeyboardKeyPostData, GetMousePositionV1ComputerMachineIdInputMousePositionGetData, MouseMoveV1ComputerMachineIdInputMouseMovePostData, MouseClickV1ComputerMachineIdInputMouseClickPostData, FsListV1ComputerMachineIdFsListGetData, FsReadV1ComputerMachineIdFsReadGetData, FsWriteV1ComputerMachineIdFsWritePostData, PowershellExecV1ComputerMachineIdShellPowershellExecPostData, PowershellSessionV1ComputerMachineIdShellPowershellSessionPostData, DummyTestEndpointV1TestPostData, RootGetData } from './types.gen';
|
|
2
|
+
import type { HealthCheckV1HealthGetData, DatabaseHealthCheckV1HealthDbGetData, ListMachinesV1MachinesGetData, CreateMachineV1MachinesPostData, DeleteMachineV1MachinesMachineIdDeleteData, GetMachineV1MachinesMachineIdGetData, UpdateMachineV1MachinesMachineIdPatchData, ListWorkflowsV1WorkflowsGetData, CreateWorkflowV1WorkflowsPostData, DeleteWorkflowV1WorkflowsWorkflowIdDeleteData, GetWorkflowV1WorkflowsWorkflowIdGetData, UpdateWorkflowV1WorkflowsWorkflowIdPatchData, GetWorkflowVersionsV1WorkflowsWorkflowIdVersionsGetData, ListRunsV1RunsGetData, CreateRunV1RunsPostData, DeleteRunV1RunsRunIdDeleteData, GetRunV1RunsRunIdGetData, UpdateRunV1RunsRunIdPatchData, ListRunAttachmentsV1RunAttachmentsGetData, CreateRunAttachmentV1RunAttachmentsPostData, DeleteRunAttachmentV1RunAttachmentsAttachmentIdDeleteData, GetRunAttachmentV1RunAttachmentsAttachmentIdGetData, UpdateRunAttachmentV1RunAttachmentsAttachmentIdPutData, GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetData, DownloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGetData, ListConnectionsV1ConnectionsGetData, CreateConnectionV1ConnectionsPostData, DeleteConnectionV1ConnectionsConnectionIdDeleteData, GetConnectionV1ConnectionsConnectionIdGetData, UpdateConnectionV1ConnectionsConnectionIdPatchData, ListRequestLogsV1RequestLogsGetData, CreateRequestLogV1RequestLogsPostData, DeleteRequestLogV1RequestLogsLogIdDeleteData, GetRequestLogV1RequestLogsLogIdGetData, UpdateRequestLogV1RequestLogsLogIdPatchData, ListTrajectoriesV1TrajectoriesGetData, CreateTrajectoryV1TrajectoriesPostData, DeleteTrajectoryV1TrajectoriesTrajectoryIdDeleteData, GetTrajectoryV1TrajectoriesTrajectoryIdGetData, UpdateTrajectoryV1TrajectoriesTrajectoryIdPatchData, GetLatestTrajectoryForWorkflowV1WorkflowsWorkflowIdLatestTrajectoryGetData, GetScreenshotV1ComputerMachineIdDisplayScreenshotGetData, GetDisplayDimensionsV1ComputerMachineIdDisplayDimensionsGetData, KeyboardTypeV1ComputerMachineIdInputKeyboardTypePostData, KeyboardKeyV1ComputerMachineIdInputKeyboardKeyPostData, GetMousePositionV1ComputerMachineIdInputMousePositionGetData, MouseMoveV1ComputerMachineIdInputMouseMovePostData, MouseClickV1ComputerMachineIdInputMouseClickPostData, FsListV1ComputerMachineIdFsListGetData, FsReadV1ComputerMachineIdFsReadGetData, FsWriteV1ComputerMachineIdFsWritePostData, PowershellExecV1ComputerMachineIdShellPowershellExecPostData, PowershellSessionV1ComputerMachineIdShellPowershellSessionPostData, DummyTestEndpointV1TestPostData, RootGetData } from './types.gen';
|
|
3
3
|
export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = ClientOptions<TData, ThrowOnError> & {
|
|
4
4
|
/**
|
|
5
5
|
* You can provide a client instance returned by `createClient()` instead of
|
|
@@ -193,11 +193,22 @@ export declare const getRunAttachmentV1RunAttachmentsAttachmentIdGet: <ThrowOnEr
|
|
|
193
193
|
* Currently only supports updating the expiration date.
|
|
194
194
|
*/
|
|
195
195
|
export declare const updateRunAttachmentV1RunAttachmentsAttachmentIdPut: <ThrowOnError extends boolean = false>(options: Options<UpdateRunAttachmentV1RunAttachmentsAttachmentIdPutData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").RunAttachmentResponse, import("./types.gen").HttpValidationError, ThrowOnError>;
|
|
196
|
+
/**
|
|
197
|
+
* Get Run Attachment Download Url
|
|
198
|
+
* Get a signed download URL for a run attachment file.
|
|
199
|
+
*
|
|
200
|
+
* Returns a signed URL that triggers automatic download when accessed.
|
|
201
|
+
*
|
|
202
|
+
* Args:
|
|
203
|
+
* attachment_id: The ID of the attachment to download
|
|
204
|
+
* expires_in: URL expiration time in seconds (10-3600). Default: 300 (5 minutes)
|
|
205
|
+
*/
|
|
206
|
+
export declare const getRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGet: <ThrowOnError extends boolean = false>(options: Options<GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<import("./types.gen").RunAttachmentDownloadUrlResponse, import("./types.gen").HttpValidationError, ThrowOnError>;
|
|
196
207
|
/**
|
|
197
208
|
* Download Run Attachment
|
|
198
209
|
* Download a run attachment file.
|
|
199
210
|
*
|
|
200
|
-
* Returns the file content as a streaming response.
|
|
211
|
+
* Returns the raw file content as a streaming response.
|
|
201
212
|
*/
|
|
202
213
|
export declare const downloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGet: <ThrowOnError extends boolean = false>(options: Options<DownloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGetData, ThrowOnError>) => import("@hey-api/client-fetch").RequestResult<unknown, import("./types.gen").HttpValidationError, ThrowOnError>;
|
|
203
214
|
/**
|
package/dist/client/sdk.gen.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// This file is auto-generated by @hey-api/openapi-ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
5
|
-
exports.rootGet = exports.dummyTestEndpointV1TestPost = exports.powershellSessionV1ComputerMachineIdShellPowershellSessionPost = exports.powershellExecV1ComputerMachineIdShellPowershellExecPost = void 0;
|
|
4
|
+
exports.fsReadV1ComputerMachineIdFsReadGet = exports.fsListV1ComputerMachineIdFsListGet = exports.mouseClickV1ComputerMachineIdInputMouseClickPost = exports.mouseMoveV1ComputerMachineIdInputMouseMovePost = exports.getMousePositionV1ComputerMachineIdInputMousePositionGet = exports.keyboardKeyV1ComputerMachineIdInputKeyboardKeyPost = exports.keyboardTypeV1ComputerMachineIdInputKeyboardTypePost = exports.getDisplayDimensionsV1ComputerMachineIdDisplayDimensionsGet = exports.getScreenshotV1ComputerMachineIdDisplayScreenshotGet = exports.getLatestTrajectoryForWorkflowV1WorkflowsWorkflowIdLatestTrajectoryGet = exports.updateTrajectoryV1TrajectoriesTrajectoryIdPatch = exports.getTrajectoryV1TrajectoriesTrajectoryIdGet = exports.deleteTrajectoryV1TrajectoriesTrajectoryIdDelete = exports.createTrajectoryV1TrajectoriesPost = exports.listTrajectoriesV1TrajectoriesGet = exports.updateRequestLogV1RequestLogsLogIdPatch = exports.getRequestLogV1RequestLogsLogIdGet = exports.deleteRequestLogV1RequestLogsLogIdDelete = exports.createRequestLogV1RequestLogsPost = exports.listRequestLogsV1RequestLogsGet = exports.updateConnectionV1ConnectionsConnectionIdPatch = exports.getConnectionV1ConnectionsConnectionIdGet = exports.deleteConnectionV1ConnectionsConnectionIdDelete = exports.createConnectionV1ConnectionsPost = exports.listConnectionsV1ConnectionsGet = exports.downloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGet = exports.getRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGet = exports.updateRunAttachmentV1RunAttachmentsAttachmentIdPut = exports.getRunAttachmentV1RunAttachmentsAttachmentIdGet = exports.deleteRunAttachmentV1RunAttachmentsAttachmentIdDelete = exports.createRunAttachmentV1RunAttachmentsPost = exports.listRunAttachmentsV1RunAttachmentsGet = exports.updateRunV1RunsRunIdPatch = exports.getRunV1RunsRunIdGet = exports.deleteRunV1RunsRunIdDelete = exports.createRunV1RunsPost = exports.listRunsV1RunsGet = exports.getWorkflowVersionsV1WorkflowsWorkflowIdVersionsGet = exports.updateWorkflowV1WorkflowsWorkflowIdPatch = exports.getWorkflowV1WorkflowsWorkflowIdGet = exports.deleteWorkflowV1WorkflowsWorkflowIdDelete = exports.createWorkflowV1WorkflowsPost = exports.listWorkflowsV1WorkflowsGet = exports.updateMachineV1MachinesMachineIdPatch = exports.getMachineV1MachinesMachineIdGet = exports.deleteMachineV1MachinesMachineIdDelete = exports.createMachineV1MachinesPost = exports.listMachinesV1MachinesGet = exports.databaseHealthCheckV1HealthDbGet = exports.healthCheckV1HealthGet = void 0;
|
|
5
|
+
exports.rootGet = exports.dummyTestEndpointV1TestPost = exports.powershellSessionV1ComputerMachineIdShellPowershellSessionPost = exports.powershellExecV1ComputerMachineIdShellPowershellExecPost = exports.fsWriteV1ComputerMachineIdFsWritePost = void 0;
|
|
6
6
|
const client_gen_1 = require("./client.gen");
|
|
7
7
|
/**
|
|
8
8
|
* Health Check
|
|
@@ -375,11 +375,31 @@ const updateRunAttachmentV1RunAttachmentsAttachmentIdPut = (options) => {
|
|
|
375
375
|
], url: '/v1/run-attachments/{attachment_id}' }, options), { headers: Object.assign({ 'Content-Type': 'application/json' }, options === null || options === void 0 ? void 0 : options.headers) }));
|
|
376
376
|
};
|
|
377
377
|
exports.updateRunAttachmentV1RunAttachmentsAttachmentIdPut = updateRunAttachmentV1RunAttachmentsAttachmentIdPut;
|
|
378
|
+
/**
|
|
379
|
+
* Get Run Attachment Download Url
|
|
380
|
+
* Get a signed download URL for a run attachment file.
|
|
381
|
+
*
|
|
382
|
+
* Returns a signed URL that triggers automatic download when accessed.
|
|
383
|
+
*
|
|
384
|
+
* Args:
|
|
385
|
+
* attachment_id: The ID of the attachment to download
|
|
386
|
+
* expires_in: URL expiration time in seconds (10-3600). Default: 300 (5 minutes)
|
|
387
|
+
*/
|
|
388
|
+
const getRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGet = (options) => {
|
|
389
|
+
var _a;
|
|
390
|
+
return ((_a = options.client) !== null && _a !== void 0 ? _a : client_gen_1.client).get(Object.assign({ security: [
|
|
391
|
+
{
|
|
392
|
+
scheme: 'bearer',
|
|
393
|
+
type: 'http'
|
|
394
|
+
}
|
|
395
|
+
], url: '/v1/run-attachments/{attachment_id}/download-url' }, options));
|
|
396
|
+
};
|
|
397
|
+
exports.getRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGet = getRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGet;
|
|
378
398
|
/**
|
|
379
399
|
* Download Run Attachment
|
|
380
400
|
* Download a run attachment file.
|
|
381
401
|
*
|
|
382
|
-
* Returns the file content as a streaming response.
|
|
402
|
+
* Returns the raw file content as a streaming response.
|
|
383
403
|
*/
|
|
384
404
|
const downloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGet = (options) => {
|
|
385
405
|
var _a;
|
|
@@ -256,6 +256,19 @@ export type RunAttachmentCreate = {
|
|
|
256
256
|
cleanup_imports_after_run?: boolean;
|
|
257
257
|
expires_at?: string | null;
|
|
258
258
|
};
|
|
259
|
+
/**
|
|
260
|
+
* Response schema for run attachment download URL
|
|
261
|
+
*/
|
|
262
|
+
export type RunAttachmentDownloadUrlResponse = {
|
|
263
|
+
/**
|
|
264
|
+
* Signed URL for downloading the attachment
|
|
265
|
+
*/
|
|
266
|
+
url: string;
|
|
267
|
+
/**
|
|
268
|
+
* Seconds until the URL expires
|
|
269
|
+
*/
|
|
270
|
+
expires_in: number;
|
|
271
|
+
};
|
|
259
272
|
/**
|
|
260
273
|
* Run attachment response schema
|
|
261
274
|
*/
|
|
@@ -966,6 +979,33 @@ export type UpdateRunAttachmentV1RunAttachmentsAttachmentIdPutResponses = {
|
|
|
966
979
|
200: RunAttachmentResponse;
|
|
967
980
|
};
|
|
968
981
|
export type UpdateRunAttachmentV1RunAttachmentsAttachmentIdPutResponse = UpdateRunAttachmentV1RunAttachmentsAttachmentIdPutResponses[keyof UpdateRunAttachmentV1RunAttachmentsAttachmentIdPutResponses];
|
|
982
|
+
export type GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetData = {
|
|
983
|
+
body?: never;
|
|
984
|
+
path: {
|
|
985
|
+
attachment_id: string;
|
|
986
|
+
};
|
|
987
|
+
query?: {
|
|
988
|
+
/**
|
|
989
|
+
* URL expiration time in seconds (10-3600)
|
|
990
|
+
*/
|
|
991
|
+
expires_in?: number;
|
|
992
|
+
};
|
|
993
|
+
url: '/v1/run-attachments/{attachment_id}/download-url';
|
|
994
|
+
};
|
|
995
|
+
export type GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetErrors = {
|
|
996
|
+
/**
|
|
997
|
+
* Validation Error
|
|
998
|
+
*/
|
|
999
|
+
422: HttpValidationError;
|
|
1000
|
+
};
|
|
1001
|
+
export type GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetError = GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetErrors[keyof GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetErrors];
|
|
1002
|
+
export type GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetResponses = {
|
|
1003
|
+
/**
|
|
1004
|
+
* Successful Response
|
|
1005
|
+
*/
|
|
1006
|
+
200: RunAttachmentDownloadUrlResponse;
|
|
1007
|
+
};
|
|
1008
|
+
export type GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetResponse = GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetResponses[keyof GetRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGetResponses];
|
|
969
1009
|
export type DownloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGetData = {
|
|
970
1010
|
body?: never;
|
|
971
1011
|
path: {
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,58 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Cyberdesk TypeScript SDK
|
|
3
|
+
*
|
|
4
|
+
* A comprehensive SDK for interacting with the Cyberdesk Cloud API.
|
|
5
|
+
* Provides typed methods for managing machines, workflows, runs, and more.
|
|
6
|
+
*
|
|
7
|
+
* @module cyberdesk
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createCyberdeskClient } from 'cyberdesk';
|
|
11
|
+
*
|
|
12
|
+
* const client = createCyberdeskClient('your-api-key');
|
|
13
|
+
*
|
|
14
|
+
* // List machines
|
|
15
|
+
* const { data: machines } = await client.machines.list();
|
|
16
|
+
*
|
|
17
|
+
* // Create and run a workflow
|
|
18
|
+
* const { data: workflow } = await client.workflows.create({
|
|
19
|
+
* name: 'My Workflow',
|
|
20
|
+
* main_prompt: 'Perform this task...'
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* const { data: run } = await client.runs.create({
|
|
24
|
+
* workflow_id: workflow.id
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
import { type MachineResponse, type WorkflowResponse, type RunResponse, type ConnectionResponse, type TrajectoryResponse, type PaginatedResponseMachineResponse, type PaginatedResponseWorkflowResponse, type PaginatedResponseRunResponse, type PaginatedResponseConnectionResponse, type PaginatedResponseTrajectoryResponse, type MachineStatus, type RunStatus, type ConnectionStatus, type MachineCreate, type WorkflowCreate, type RunCreate, type FileInput, type ConnectionCreate, type TrajectoryCreate, type MachineUpdate, type WorkflowUpdate, type RunUpdate, type TrajectoryUpdate, type RunAttachmentCreate, type RunAttachmentUpdate, type RunAttachmentResponse, type RunAttachmentDownloadUrlResponse, type AttachmentType, type PaginatedResponseRunAttachmentResponse } from './client/types.gen';
|
|
2
29
|
export * from './client/types.gen';
|
|
3
30
|
export * from './client/sdk.gen';
|
|
4
31
|
export * from './client/client.gen';
|
|
32
|
+
/**
|
|
33
|
+
* Create a Cyberdesk API client
|
|
34
|
+
*
|
|
35
|
+
* @param apiKey - Your Cyberdesk API key
|
|
36
|
+
* @param baseUrl - Optional API base URL (defaults to https://api.cyberdesk.io)
|
|
37
|
+
* @returns Configured client with all API endpoints
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const client = createCyberdeskClient('your-api-key');
|
|
42
|
+
* const machines = await client.machines.list();
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
5
45
|
export declare function createCyberdeskClient(apiKey: string, baseUrl?: string): {
|
|
6
46
|
machines: {
|
|
47
|
+
/**
|
|
48
|
+
* List machines with optional filtering
|
|
49
|
+
*
|
|
50
|
+
* @param params - Optional query parameters
|
|
51
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
52
|
+
* @param params.limit - Maximum number of items to return
|
|
53
|
+
* @param params.status - Filter by machine status
|
|
54
|
+
* @returns Paginated list of machines
|
|
55
|
+
*/
|
|
7
56
|
list: (params?: {
|
|
8
57
|
skip?: number;
|
|
9
58
|
limit?: number;
|
|
@@ -12,18 +61,42 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
12
61
|
data?: PaginatedResponseMachineResponse;
|
|
13
62
|
error?: any;
|
|
14
63
|
}>;
|
|
64
|
+
/**
|
|
65
|
+
* Create a new machine
|
|
66
|
+
*
|
|
67
|
+
* @param data - Machine configuration
|
|
68
|
+
* @returns Created machine details
|
|
69
|
+
*/
|
|
15
70
|
create: (data: MachineCreate) => Promise<{
|
|
16
71
|
data?: MachineResponse;
|
|
17
72
|
error?: any;
|
|
18
73
|
}>;
|
|
74
|
+
/**
|
|
75
|
+
* Get a specific machine by ID
|
|
76
|
+
*
|
|
77
|
+
* @param machineId - The ID of the machine
|
|
78
|
+
* @returns Machine details
|
|
79
|
+
*/
|
|
19
80
|
get: (machineId: string) => Promise<{
|
|
20
81
|
data?: MachineResponse;
|
|
21
82
|
error?: any;
|
|
22
83
|
}>;
|
|
84
|
+
/**
|
|
85
|
+
* Update a machine
|
|
86
|
+
*
|
|
87
|
+
* @param machineId - The ID of the machine to update
|
|
88
|
+
* @param data - Update data (name, status, availability, etc.)
|
|
89
|
+
* @returns Updated machine details
|
|
90
|
+
*/
|
|
23
91
|
update: (machineId: string, data: MachineUpdate) => Promise<{
|
|
24
92
|
data?: MachineResponse;
|
|
25
93
|
error?: any;
|
|
26
94
|
}>;
|
|
95
|
+
/**
|
|
96
|
+
* Delete a machine
|
|
97
|
+
*
|
|
98
|
+
* @param machineId - The ID of the machine to delete
|
|
99
|
+
*/
|
|
27
100
|
delete: (machineId: string) => Promise<({
|
|
28
101
|
data: undefined;
|
|
29
102
|
error: import("./client/types.gen").HttpValidationError;
|
|
@@ -36,6 +109,14 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
36
109
|
}>;
|
|
37
110
|
};
|
|
38
111
|
workflows: {
|
|
112
|
+
/**
|
|
113
|
+
* List workflows
|
|
114
|
+
*
|
|
115
|
+
* @param params - Optional query parameters
|
|
116
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
117
|
+
* @param params.limit - Maximum number of items to return
|
|
118
|
+
* @returns Paginated list of workflows
|
|
119
|
+
*/
|
|
39
120
|
list: (params?: {
|
|
40
121
|
skip?: number;
|
|
41
122
|
limit?: number;
|
|
@@ -43,18 +124,51 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
43
124
|
data?: PaginatedResponseWorkflowResponse;
|
|
44
125
|
error?: any;
|
|
45
126
|
}>;
|
|
127
|
+
/**
|
|
128
|
+
* Create a new workflow
|
|
129
|
+
*
|
|
130
|
+
* @param data - Workflow configuration including name and main prompt
|
|
131
|
+
* @returns Created workflow details
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* const workflow = await client.workflows.create({
|
|
136
|
+
* name: 'My Workflow',
|
|
137
|
+
* main_prompt: 'Perform this task...',
|
|
138
|
+
* includes_file_exports: true
|
|
139
|
+
* });
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
46
142
|
create: (data: WorkflowCreate) => Promise<{
|
|
47
143
|
data?: WorkflowResponse;
|
|
48
144
|
error?: any;
|
|
49
145
|
}>;
|
|
146
|
+
/**
|
|
147
|
+
* Get a specific workflow by ID
|
|
148
|
+
*
|
|
149
|
+
* @param workflowId - The ID of the workflow
|
|
150
|
+
* @returns Workflow details
|
|
151
|
+
*/
|
|
50
152
|
get: (workflowId: string) => Promise<{
|
|
51
153
|
data?: WorkflowResponse;
|
|
52
154
|
error?: any;
|
|
53
155
|
}>;
|
|
156
|
+
/**
|
|
157
|
+
* Update a workflow
|
|
158
|
+
*
|
|
159
|
+
* @param workflowId - The ID of the workflow to update
|
|
160
|
+
* @param data - Update data (name, main_prompt, output_schema, etc.)
|
|
161
|
+
* @returns Updated workflow details
|
|
162
|
+
*/
|
|
54
163
|
update: (workflowId: string, data: WorkflowUpdate) => Promise<{
|
|
55
164
|
data?: WorkflowResponse;
|
|
56
165
|
error?: any;
|
|
57
166
|
}>;
|
|
167
|
+
/**
|
|
168
|
+
* Delete a workflow
|
|
169
|
+
*
|
|
170
|
+
* @param workflowId - The ID of the workflow to delete
|
|
171
|
+
*/
|
|
58
172
|
delete: (workflowId: string) => Promise<({
|
|
59
173
|
data: undefined;
|
|
60
174
|
error: import("./client/types.gen").HttpValidationError;
|
|
@@ -67,6 +181,17 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
67
181
|
}>;
|
|
68
182
|
};
|
|
69
183
|
runs: {
|
|
184
|
+
/**
|
|
185
|
+
* List runs with optional filtering
|
|
186
|
+
*
|
|
187
|
+
* @param params - Optional query parameters
|
|
188
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
189
|
+
* @param params.limit - Maximum number of items to return
|
|
190
|
+
* @param params.status - Filter by run status (scheduling, running, success, cancelled, error)
|
|
191
|
+
* @param params.workflow_id - Filter by workflow ID
|
|
192
|
+
* @param params.machine_id - Filter by machine ID
|
|
193
|
+
* @returns Paginated list of runs
|
|
194
|
+
*/
|
|
70
195
|
list: (params?: {
|
|
71
196
|
skip?: number;
|
|
72
197
|
limit?: number;
|
|
@@ -77,18 +202,60 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
77
202
|
data?: PaginatedResponseRunResponse;
|
|
78
203
|
error?: any;
|
|
79
204
|
}>;
|
|
205
|
+
/**
|
|
206
|
+
* Create a new run
|
|
207
|
+
*
|
|
208
|
+
* @param data - Run configuration
|
|
209
|
+
* @param data.workflow_id - The workflow to run
|
|
210
|
+
* @param data.machine_id - Optional machine ID (auto-selected if not provided)
|
|
211
|
+
* @param data.input_values - Optional input values for workflow variables
|
|
212
|
+
* @param data.file_inputs - Optional files to upload to the machine
|
|
213
|
+
* @returns Created run details
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* const run = await client.runs.create({
|
|
218
|
+
* workflow_id: 'workflow-id',
|
|
219
|
+
* input_values: { prompt: 'Hello' },
|
|
220
|
+
* file_inputs: [{
|
|
221
|
+
* filename: 'data.txt',
|
|
222
|
+
* content: 'base64-encoded-content',
|
|
223
|
+
* target_path: '~/CyberdeskTransfers/',
|
|
224
|
+
* cleanup_imports_after_run: true
|
|
225
|
+
* }]
|
|
226
|
+
* });
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
80
229
|
create: (data: RunCreate) => Promise<{
|
|
81
230
|
data?: RunResponse;
|
|
82
231
|
error?: any;
|
|
83
232
|
}>;
|
|
233
|
+
/**
|
|
234
|
+
* Get a specific run by ID
|
|
235
|
+
*
|
|
236
|
+
* @param runId - The ID of the run
|
|
237
|
+
* @returns Run details including status, output, and attachments
|
|
238
|
+
*/
|
|
84
239
|
get: (runId: string) => Promise<{
|
|
85
240
|
data?: RunResponse;
|
|
86
241
|
error?: any;
|
|
87
242
|
}>;
|
|
243
|
+
/**
|
|
244
|
+
* Update a run
|
|
245
|
+
*
|
|
246
|
+
* @param runId - The ID of the run to update
|
|
247
|
+
* @param data - Update data (status, output_data, error messages, etc.)
|
|
248
|
+
* @returns Updated run details
|
|
249
|
+
*/
|
|
88
250
|
update: (runId: string, data: RunUpdate) => Promise<{
|
|
89
251
|
data?: RunResponse;
|
|
90
252
|
error?: any;
|
|
91
253
|
}>;
|
|
254
|
+
/**
|
|
255
|
+
* Delete a run
|
|
256
|
+
*
|
|
257
|
+
* @param runId - The ID of the run to delete
|
|
258
|
+
*/
|
|
92
259
|
delete: (runId: string) => Promise<({
|
|
93
260
|
data: undefined;
|
|
94
261
|
error: import("./client/types.gen").HttpValidationError;
|
|
@@ -101,6 +268,16 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
101
268
|
}>;
|
|
102
269
|
};
|
|
103
270
|
connections: {
|
|
271
|
+
/**
|
|
272
|
+
* List connections with optional filtering
|
|
273
|
+
*
|
|
274
|
+
* @param params - Optional query parameters
|
|
275
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
276
|
+
* @param params.limit - Maximum number of items to return
|
|
277
|
+
* @param params.machine_id - Filter by machine ID
|
|
278
|
+
* @param params.status - Filter by connection status
|
|
279
|
+
* @returns Paginated list of connections
|
|
280
|
+
*/
|
|
104
281
|
list: (params?: {
|
|
105
282
|
skip?: number;
|
|
106
283
|
limit?: number;
|
|
@@ -110,12 +287,27 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
110
287
|
data?: PaginatedResponseConnectionResponse;
|
|
111
288
|
error?: any;
|
|
112
289
|
}>;
|
|
290
|
+
/**
|
|
291
|
+
* Create a new connection
|
|
292
|
+
*
|
|
293
|
+
* @param data - Connection data including machine ID and websocket info
|
|
294
|
+
* @returns Created connection details
|
|
295
|
+
*/
|
|
113
296
|
create: (data: ConnectionCreate) => Promise<{
|
|
114
297
|
data?: ConnectionResponse;
|
|
115
298
|
error?: any;
|
|
116
299
|
}>;
|
|
117
300
|
};
|
|
118
301
|
trajectories: {
|
|
302
|
+
/**
|
|
303
|
+
* List trajectories with optional filtering
|
|
304
|
+
*
|
|
305
|
+
* @param params - Optional query parameters
|
|
306
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
307
|
+
* @param params.limit - Maximum number of items to return
|
|
308
|
+
* @param params.workflow_id - Filter by workflow ID
|
|
309
|
+
* @returns Paginated list of trajectories
|
|
310
|
+
*/
|
|
119
311
|
list: (params?: {
|
|
120
312
|
skip?: number;
|
|
121
313
|
limit?: number;
|
|
@@ -124,18 +316,48 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
124
316
|
data?: PaginatedResponseTrajectoryResponse;
|
|
125
317
|
error?: any;
|
|
126
318
|
}>;
|
|
319
|
+
/**
|
|
320
|
+
* Create a new trajectory
|
|
321
|
+
*
|
|
322
|
+
* A trajectory represents a recorded sequence of actions for a workflow.
|
|
323
|
+
*
|
|
324
|
+
* @param data - Trajectory data
|
|
325
|
+
* @param data.workflow_id - The workflow this trajectory belongs to
|
|
326
|
+
* @param data.trajectory_data - Array of recorded actions
|
|
327
|
+
* @param data.dimensions - Display dimensions when trajectory was recorded
|
|
328
|
+
* @param data.original_input_values - Input values used during recording
|
|
329
|
+
* @returns Created trajectory details
|
|
330
|
+
*/
|
|
127
331
|
create: (data: TrajectoryCreate) => Promise<{
|
|
128
332
|
data?: TrajectoryResponse;
|
|
129
333
|
error?: any;
|
|
130
334
|
}>;
|
|
335
|
+
/**
|
|
336
|
+
* Get a specific trajectory by ID
|
|
337
|
+
*
|
|
338
|
+
* @param trajectoryId - The ID of the trajectory
|
|
339
|
+
* @returns Trajectory details including recorded actions
|
|
340
|
+
*/
|
|
131
341
|
get: (trajectoryId: string) => Promise<{
|
|
132
342
|
data?: TrajectoryResponse;
|
|
133
343
|
error?: any;
|
|
134
344
|
}>;
|
|
345
|
+
/**
|
|
346
|
+
* Update a trajectory
|
|
347
|
+
*
|
|
348
|
+
* @param trajectoryId - The ID of the trajectory to update
|
|
349
|
+
* @param data - Update data (trajectory_data)
|
|
350
|
+
* @returns Updated trajectory details
|
|
351
|
+
*/
|
|
135
352
|
update: (trajectoryId: string, data: TrajectoryUpdate) => Promise<{
|
|
136
353
|
data?: TrajectoryResponse;
|
|
137
354
|
error?: any;
|
|
138
355
|
}>;
|
|
356
|
+
/**
|
|
357
|
+
* Delete a trajectory
|
|
358
|
+
*
|
|
359
|
+
* @param trajectoryId - The ID of the trajectory to delete
|
|
360
|
+
*/
|
|
139
361
|
delete: (trajectoryId: string) => Promise<({
|
|
140
362
|
data: undefined;
|
|
141
363
|
error: import("./client/types.gen").HttpValidationError;
|
|
@@ -146,12 +368,31 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
146
368
|
request: Request;
|
|
147
369
|
response: Response;
|
|
148
370
|
}>;
|
|
371
|
+
/**
|
|
372
|
+
* Get the latest trajectory for a workflow
|
|
373
|
+
*
|
|
374
|
+
* Returns the most recently created trajectory for the specified workflow.
|
|
375
|
+
* Useful for replaying the latest recorded actions.
|
|
376
|
+
*
|
|
377
|
+
* @param workflowId - The ID of the workflow
|
|
378
|
+
* @returns Latest trajectory for the workflow, or null if none exists
|
|
379
|
+
*/
|
|
149
380
|
getLatestForWorkflow: (workflowId: string) => Promise<{
|
|
150
381
|
data?: TrajectoryResponse;
|
|
151
382
|
error?: any;
|
|
152
383
|
}>;
|
|
153
384
|
};
|
|
154
385
|
run_attachments: {
|
|
386
|
+
/**
|
|
387
|
+
* List run attachments with optional filtering
|
|
388
|
+
*
|
|
389
|
+
* @param params - Optional query parameters
|
|
390
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
391
|
+
* @param params.limit - Maximum number of items to return
|
|
392
|
+
* @param params.run_id - Filter by run ID
|
|
393
|
+
* @param params.attachment_type - Filter by attachment type (input/output)
|
|
394
|
+
* @returns Paginated list of run attachments
|
|
395
|
+
*/
|
|
155
396
|
list: (params?: {
|
|
156
397
|
skip?: number;
|
|
157
398
|
limit?: number;
|
|
@@ -161,22 +402,86 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
161
402
|
data?: PaginatedResponseRunAttachmentResponse;
|
|
162
403
|
error?: any;
|
|
163
404
|
}>;
|
|
405
|
+
/**
|
|
406
|
+
* Create a new run attachment
|
|
407
|
+
*
|
|
408
|
+
* @param data - Attachment data including file content as base64
|
|
409
|
+
* @returns Created attachment details
|
|
410
|
+
*/
|
|
164
411
|
create: (data: RunAttachmentCreate) => Promise<{
|
|
165
412
|
data?: RunAttachmentResponse;
|
|
166
413
|
error?: any;
|
|
167
414
|
}>;
|
|
415
|
+
/**
|
|
416
|
+
* Get run attachment details
|
|
417
|
+
*
|
|
418
|
+
* @param attachmentId - The ID of the attachment
|
|
419
|
+
* @returns Attachment metadata
|
|
420
|
+
*/
|
|
168
421
|
get: (attachmentId: string) => Promise<{
|
|
169
422
|
data?: RunAttachmentResponse;
|
|
170
423
|
error?: any;
|
|
171
424
|
}>;
|
|
425
|
+
/**
|
|
426
|
+
* Get a signed download URL for a run attachment
|
|
427
|
+
*
|
|
428
|
+
* The returned URL will trigger an automatic download when accessed in a browser.
|
|
429
|
+
*
|
|
430
|
+
* @param attachmentId - The ID of the attachment
|
|
431
|
+
* @param expiresIn - URL expiration time in seconds (10-3600). Default: 300 (5 minutes)
|
|
432
|
+
* @returns Object containing the signed URL and expiration time
|
|
433
|
+
*
|
|
434
|
+
* @example
|
|
435
|
+
* ```typescript
|
|
436
|
+
* const { data } = await client.run_attachments.getDownloadUrl('attachment-id', 600);
|
|
437
|
+
* if (data) {
|
|
438
|
+
* console.log(`Download URL: ${data.url}`);
|
|
439
|
+
* console.log(`Expires in: ${data.expires_in} seconds`);
|
|
440
|
+
* }
|
|
441
|
+
* ```
|
|
442
|
+
*/
|
|
443
|
+
getDownloadUrl: (attachmentId: string, expiresIn?: number) => Promise<{
|
|
444
|
+
data?: RunAttachmentDownloadUrlResponse;
|
|
445
|
+
error?: any;
|
|
446
|
+
}>;
|
|
447
|
+
/**
|
|
448
|
+
* Download a run attachment file directly
|
|
449
|
+
*
|
|
450
|
+
* This method returns the raw file content. For a download URL instead,
|
|
451
|
+
* use `getDownloadUrl()`.
|
|
452
|
+
*
|
|
453
|
+
* @param attachmentId - The ID of the attachment to download
|
|
454
|
+
* @returns Raw file data
|
|
455
|
+
*
|
|
456
|
+
* @example
|
|
457
|
+
* ```typescript
|
|
458
|
+
* const { data } = await client.run_attachments.download('attachment-id');
|
|
459
|
+
* if (data) {
|
|
460
|
+
* // Handle raw file bytes
|
|
461
|
+
* const blob = new Blob([data]);
|
|
462
|
+
* }
|
|
463
|
+
* ```
|
|
464
|
+
*/
|
|
172
465
|
download: (attachmentId: string) => Promise<{
|
|
173
466
|
data?: any;
|
|
174
467
|
error?: any;
|
|
175
468
|
}>;
|
|
469
|
+
/**
|
|
470
|
+
* Update a run attachment (e.g., set expiration)
|
|
471
|
+
*
|
|
472
|
+
* @param attachmentId - The ID of the attachment to update
|
|
473
|
+
* @param data - Update data
|
|
474
|
+
* @returns Updated attachment details
|
|
475
|
+
*/
|
|
176
476
|
update: (attachmentId: string, data: RunAttachmentUpdate) => Promise<{
|
|
177
477
|
data?: RunAttachmentResponse;
|
|
178
478
|
error?: any;
|
|
179
479
|
}>;
|
|
480
|
+
/**
|
|
481
|
+
* Delete a run attachment
|
|
482
|
+
*
|
|
483
|
+
* @param attachmentId - The ID of the attachment to delete
|
|
484
|
+
*/
|
|
180
485
|
delete: (attachmentId: string) => Promise<({
|
|
181
486
|
data: undefined;
|
|
182
487
|
error: import("./client/types.gen").HttpValidationError;
|
|
@@ -189,4 +494,4 @@ export declare function createCyberdeskClient(apiKey: string, baseUrl?: string):
|
|
|
189
494
|
}>;
|
|
190
495
|
};
|
|
191
496
|
};
|
|
192
|
-
export type { MachineResponse, WorkflowResponse, RunResponse, ConnectionResponse, TrajectoryResponse, RunAttachmentResponse, FileInput, AttachmentType, PaginatedResponseMachineResponse, PaginatedResponseWorkflowResponse, PaginatedResponseRunResponse, PaginatedResponseConnectionResponse, PaginatedResponseTrajectoryResponse, PaginatedResponseRunAttachmentResponse, };
|
|
497
|
+
export type { MachineResponse, WorkflowResponse, RunResponse, ConnectionResponse, TrajectoryResponse, RunAttachmentResponse, RunAttachmentDownloadUrlResponse, FileInput, AttachmentType, PaginatedResponseMachineResponse, PaginatedResponseWorkflowResponse, PaginatedResponseRunResponse, PaginatedResponseConnectionResponse, PaginatedResponseTrajectoryResponse, PaginatedResponseRunAttachmentResponse, };
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Cyberdesk TypeScript SDK
|
|
4
|
+
*
|
|
5
|
+
* A comprehensive SDK for interacting with the Cyberdesk Cloud API.
|
|
6
|
+
* Provides typed methods for managing machines, workflows, runs, and more.
|
|
7
|
+
*
|
|
8
|
+
* @module cyberdesk
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { createCyberdeskClient } from 'cyberdesk';
|
|
12
|
+
*
|
|
13
|
+
* const client = createCyberdeskClient('your-api-key');
|
|
14
|
+
*
|
|
15
|
+
* // List machines
|
|
16
|
+
* const { data: machines } = await client.machines.list();
|
|
17
|
+
*
|
|
18
|
+
* // Create and run a workflow
|
|
19
|
+
* const { data: workflow } = await client.workflows.create({
|
|
20
|
+
* name: 'My Workflow',
|
|
21
|
+
* main_prompt: 'Perform this task...'
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* const { data: run } = await client.runs.create({
|
|
25
|
+
* workflow_id: workflow.id
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
2
29
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
30
|
if (k2 === undefined) k2 = k;
|
|
4
31
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -32,8 +59,16 @@ __exportStar(require("./client/types.gen"), exports);
|
|
|
32
59
|
__exportStar(require("./client/sdk.gen"), exports);
|
|
33
60
|
__exportStar(require("./client/client.gen"), exports);
|
|
34
61
|
// Configuration
|
|
62
|
+
/** Default API base URL for Cyberdesk Cloud API */
|
|
35
63
|
const DEFAULT_API_BASE_URL = "https://api.cyberdesk.io";
|
|
36
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Create a configured HTTP client with authentication
|
|
66
|
+
*
|
|
67
|
+
* @internal
|
|
68
|
+
* @param apiKey - Your Cyberdesk API key
|
|
69
|
+
* @param baseUrl - API base URL
|
|
70
|
+
* @returns Configured HTTP client
|
|
71
|
+
*/
|
|
37
72
|
function createApiClient(apiKey, baseUrl = DEFAULT_API_BASE_URL) {
|
|
38
73
|
return (0, client_fetch_1.createClient)({
|
|
39
74
|
baseUrl,
|
|
@@ -44,30 +79,70 @@ function createApiClient(apiKey, baseUrl = DEFAULT_API_BASE_URL) {
|
|
|
44
79
|
},
|
|
45
80
|
});
|
|
46
81
|
}
|
|
47
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Create a Cyberdesk API client
|
|
84
|
+
*
|
|
85
|
+
* @param apiKey - Your Cyberdesk API key
|
|
86
|
+
* @param baseUrl - Optional API base URL (defaults to https://api.cyberdesk.io)
|
|
87
|
+
* @returns Configured client with all API endpoints
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const client = createCyberdeskClient('your-api-key');
|
|
92
|
+
* const machines = await client.machines.list();
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
48
95
|
function createCyberdeskClient(apiKey, baseUrl) {
|
|
49
96
|
const client = createApiClient(apiKey, baseUrl);
|
|
50
97
|
return {
|
|
51
98
|
// Machine endpoints
|
|
52
99
|
machines: {
|
|
100
|
+
/**
|
|
101
|
+
* List machines with optional filtering
|
|
102
|
+
*
|
|
103
|
+
* @param params - Optional query parameters
|
|
104
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
105
|
+
* @param params.limit - Maximum number of items to return
|
|
106
|
+
* @param params.status - Filter by machine status
|
|
107
|
+
* @returns Paginated list of machines
|
|
108
|
+
*/
|
|
53
109
|
list: (params) => __awaiter(this, void 0, void 0, function* () {
|
|
54
110
|
return (0, sdk_gen_1.listMachinesV1MachinesGet)({
|
|
55
111
|
client,
|
|
56
112
|
query: params,
|
|
57
113
|
});
|
|
58
114
|
}),
|
|
115
|
+
/**
|
|
116
|
+
* Create a new machine
|
|
117
|
+
*
|
|
118
|
+
* @param data - Machine configuration
|
|
119
|
+
* @returns Created machine details
|
|
120
|
+
*/
|
|
59
121
|
create: (data) => __awaiter(this, void 0, void 0, function* () {
|
|
60
122
|
return (0, sdk_gen_1.createMachineV1MachinesPost)({
|
|
61
123
|
client,
|
|
62
124
|
body: data,
|
|
63
125
|
});
|
|
64
126
|
}),
|
|
127
|
+
/**
|
|
128
|
+
* Get a specific machine by ID
|
|
129
|
+
*
|
|
130
|
+
* @param machineId - The ID of the machine
|
|
131
|
+
* @returns Machine details
|
|
132
|
+
*/
|
|
65
133
|
get: (machineId) => __awaiter(this, void 0, void 0, function* () {
|
|
66
134
|
return (0, sdk_gen_1.getMachineV1MachinesMachineIdGet)({
|
|
67
135
|
client,
|
|
68
136
|
path: { machine_id: machineId },
|
|
69
137
|
});
|
|
70
138
|
}),
|
|
139
|
+
/**
|
|
140
|
+
* Update a machine
|
|
141
|
+
*
|
|
142
|
+
* @param machineId - The ID of the machine to update
|
|
143
|
+
* @param data - Update data (name, status, availability, etc.)
|
|
144
|
+
* @returns Updated machine details
|
|
145
|
+
*/
|
|
71
146
|
update: (machineId, data) => __awaiter(this, void 0, void 0, function* () {
|
|
72
147
|
return (0, sdk_gen_1.updateMachineV1MachinesMachineIdPatch)({
|
|
73
148
|
client,
|
|
@@ -75,6 +150,11 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
75
150
|
body: data,
|
|
76
151
|
});
|
|
77
152
|
}),
|
|
153
|
+
/**
|
|
154
|
+
* Delete a machine
|
|
155
|
+
*
|
|
156
|
+
* @param machineId - The ID of the machine to delete
|
|
157
|
+
*/
|
|
78
158
|
delete: (machineId) => __awaiter(this, void 0, void 0, function* () {
|
|
79
159
|
return (0, sdk_gen_1.deleteMachineV1MachinesMachineIdDelete)({
|
|
80
160
|
client,
|
|
@@ -84,24 +164,60 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
84
164
|
},
|
|
85
165
|
// Workflow endpoints
|
|
86
166
|
workflows: {
|
|
167
|
+
/**
|
|
168
|
+
* List workflows
|
|
169
|
+
*
|
|
170
|
+
* @param params - Optional query parameters
|
|
171
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
172
|
+
* @param params.limit - Maximum number of items to return
|
|
173
|
+
* @returns Paginated list of workflows
|
|
174
|
+
*/
|
|
87
175
|
list: (params) => __awaiter(this, void 0, void 0, function* () {
|
|
88
176
|
return (0, sdk_gen_1.listWorkflowsV1WorkflowsGet)({
|
|
89
177
|
client,
|
|
90
178
|
query: params,
|
|
91
179
|
});
|
|
92
180
|
}),
|
|
181
|
+
/**
|
|
182
|
+
* Create a new workflow
|
|
183
|
+
*
|
|
184
|
+
* @param data - Workflow configuration including name and main prompt
|
|
185
|
+
* @returns Created workflow details
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* const workflow = await client.workflows.create({
|
|
190
|
+
* name: 'My Workflow',
|
|
191
|
+
* main_prompt: 'Perform this task...',
|
|
192
|
+
* includes_file_exports: true
|
|
193
|
+
* });
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
93
196
|
create: (data) => __awaiter(this, void 0, void 0, function* () {
|
|
94
197
|
return (0, sdk_gen_1.createWorkflowV1WorkflowsPost)({
|
|
95
198
|
client,
|
|
96
199
|
body: data,
|
|
97
200
|
});
|
|
98
201
|
}),
|
|
202
|
+
/**
|
|
203
|
+
* Get a specific workflow by ID
|
|
204
|
+
*
|
|
205
|
+
* @param workflowId - The ID of the workflow
|
|
206
|
+
* @returns Workflow details
|
|
207
|
+
*/
|
|
99
208
|
get: (workflowId) => __awaiter(this, void 0, void 0, function* () {
|
|
100
209
|
return (0, sdk_gen_1.getWorkflowV1WorkflowsWorkflowIdGet)({
|
|
101
210
|
client,
|
|
102
211
|
path: { workflow_id: workflowId },
|
|
103
212
|
});
|
|
104
213
|
}),
|
|
214
|
+
/**
|
|
215
|
+
* Update a workflow
|
|
216
|
+
*
|
|
217
|
+
* @param workflowId - The ID of the workflow to update
|
|
218
|
+
* @param data - Update data (name, main_prompt, output_schema, etc.)
|
|
219
|
+
* @returns Updated workflow details
|
|
220
|
+
*/
|
|
105
221
|
update: (workflowId, data) => __awaiter(this, void 0, void 0, function* () {
|
|
106
222
|
return (0, sdk_gen_1.updateWorkflowV1WorkflowsWorkflowIdPatch)({
|
|
107
223
|
client,
|
|
@@ -109,6 +225,11 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
109
225
|
body: data,
|
|
110
226
|
});
|
|
111
227
|
}),
|
|
228
|
+
/**
|
|
229
|
+
* Delete a workflow
|
|
230
|
+
*
|
|
231
|
+
* @param workflowId - The ID of the workflow to delete
|
|
232
|
+
*/
|
|
112
233
|
delete: (workflowId) => __awaiter(this, void 0, void 0, function* () {
|
|
113
234
|
return (0, sdk_gen_1.deleteWorkflowV1WorkflowsWorkflowIdDelete)({
|
|
114
235
|
client,
|
|
@@ -118,24 +239,72 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
118
239
|
},
|
|
119
240
|
// Run endpoints
|
|
120
241
|
runs: {
|
|
242
|
+
/**
|
|
243
|
+
* List runs with optional filtering
|
|
244
|
+
*
|
|
245
|
+
* @param params - Optional query parameters
|
|
246
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
247
|
+
* @param params.limit - Maximum number of items to return
|
|
248
|
+
* @param params.status - Filter by run status (scheduling, running, success, cancelled, error)
|
|
249
|
+
* @param params.workflow_id - Filter by workflow ID
|
|
250
|
+
* @param params.machine_id - Filter by machine ID
|
|
251
|
+
* @returns Paginated list of runs
|
|
252
|
+
*/
|
|
121
253
|
list: (params) => __awaiter(this, void 0, void 0, function* () {
|
|
122
254
|
return (0, sdk_gen_1.listRunsV1RunsGet)({
|
|
123
255
|
client,
|
|
124
256
|
query: params,
|
|
125
257
|
});
|
|
126
258
|
}),
|
|
259
|
+
/**
|
|
260
|
+
* Create a new run
|
|
261
|
+
*
|
|
262
|
+
* @param data - Run configuration
|
|
263
|
+
* @param data.workflow_id - The workflow to run
|
|
264
|
+
* @param data.machine_id - Optional machine ID (auto-selected if not provided)
|
|
265
|
+
* @param data.input_values - Optional input values for workflow variables
|
|
266
|
+
* @param data.file_inputs - Optional files to upload to the machine
|
|
267
|
+
* @returns Created run details
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* const run = await client.runs.create({
|
|
272
|
+
* workflow_id: 'workflow-id',
|
|
273
|
+
* input_values: { prompt: 'Hello' },
|
|
274
|
+
* file_inputs: [{
|
|
275
|
+
* filename: 'data.txt',
|
|
276
|
+
* content: 'base64-encoded-content',
|
|
277
|
+
* target_path: '~/CyberdeskTransfers/',
|
|
278
|
+
* cleanup_imports_after_run: true
|
|
279
|
+
* }]
|
|
280
|
+
* });
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
127
283
|
create: (data) => __awaiter(this, void 0, void 0, function* () {
|
|
128
284
|
return (0, sdk_gen_1.createRunV1RunsPost)({
|
|
129
285
|
client,
|
|
130
286
|
body: data,
|
|
131
287
|
});
|
|
132
288
|
}),
|
|
289
|
+
/**
|
|
290
|
+
* Get a specific run by ID
|
|
291
|
+
*
|
|
292
|
+
* @param runId - The ID of the run
|
|
293
|
+
* @returns Run details including status, output, and attachments
|
|
294
|
+
*/
|
|
133
295
|
get: (runId) => __awaiter(this, void 0, void 0, function* () {
|
|
134
296
|
return (0, sdk_gen_1.getRunV1RunsRunIdGet)({
|
|
135
297
|
client,
|
|
136
298
|
path: { run_id: runId },
|
|
137
299
|
});
|
|
138
300
|
}),
|
|
301
|
+
/**
|
|
302
|
+
* Update a run
|
|
303
|
+
*
|
|
304
|
+
* @param runId - The ID of the run to update
|
|
305
|
+
* @param data - Update data (status, output_data, error messages, etc.)
|
|
306
|
+
* @returns Updated run details
|
|
307
|
+
*/
|
|
139
308
|
update: (runId, data) => __awaiter(this, void 0, void 0, function* () {
|
|
140
309
|
return (0, sdk_gen_1.updateRunV1RunsRunIdPatch)({
|
|
141
310
|
client,
|
|
@@ -143,6 +312,11 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
143
312
|
body: data,
|
|
144
313
|
});
|
|
145
314
|
}),
|
|
315
|
+
/**
|
|
316
|
+
* Delete a run
|
|
317
|
+
*
|
|
318
|
+
* @param runId - The ID of the run to delete
|
|
319
|
+
*/
|
|
146
320
|
delete: (runId) => __awaiter(this, void 0, void 0, function* () {
|
|
147
321
|
return (0, sdk_gen_1.deleteRunV1RunsRunIdDelete)({
|
|
148
322
|
client,
|
|
@@ -152,12 +326,28 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
152
326
|
},
|
|
153
327
|
// Connection endpoints
|
|
154
328
|
connections: {
|
|
329
|
+
/**
|
|
330
|
+
* List connections with optional filtering
|
|
331
|
+
*
|
|
332
|
+
* @param params - Optional query parameters
|
|
333
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
334
|
+
* @param params.limit - Maximum number of items to return
|
|
335
|
+
* @param params.machine_id - Filter by machine ID
|
|
336
|
+
* @param params.status - Filter by connection status
|
|
337
|
+
* @returns Paginated list of connections
|
|
338
|
+
*/
|
|
155
339
|
list: (params) => __awaiter(this, void 0, void 0, function* () {
|
|
156
340
|
return (0, sdk_gen_1.listConnectionsV1ConnectionsGet)({
|
|
157
341
|
client,
|
|
158
342
|
query: params,
|
|
159
343
|
});
|
|
160
344
|
}),
|
|
345
|
+
/**
|
|
346
|
+
* Create a new connection
|
|
347
|
+
*
|
|
348
|
+
* @param data - Connection data including machine ID and websocket info
|
|
349
|
+
* @returns Created connection details
|
|
350
|
+
*/
|
|
161
351
|
create: (data) => __awaiter(this, void 0, void 0, function* () {
|
|
162
352
|
return (0, sdk_gen_1.createConnectionV1ConnectionsPost)({
|
|
163
353
|
client,
|
|
@@ -167,24 +357,58 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
167
357
|
},
|
|
168
358
|
// Trajectory endpoints
|
|
169
359
|
trajectories: {
|
|
360
|
+
/**
|
|
361
|
+
* List trajectories with optional filtering
|
|
362
|
+
*
|
|
363
|
+
* @param params - Optional query parameters
|
|
364
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
365
|
+
* @param params.limit - Maximum number of items to return
|
|
366
|
+
* @param params.workflow_id - Filter by workflow ID
|
|
367
|
+
* @returns Paginated list of trajectories
|
|
368
|
+
*/
|
|
170
369
|
list: (params) => __awaiter(this, void 0, void 0, function* () {
|
|
171
370
|
return (0, sdk_gen_1.listTrajectoriesV1TrajectoriesGet)({
|
|
172
371
|
client,
|
|
173
372
|
query: params,
|
|
174
373
|
});
|
|
175
374
|
}),
|
|
375
|
+
/**
|
|
376
|
+
* Create a new trajectory
|
|
377
|
+
*
|
|
378
|
+
* A trajectory represents a recorded sequence of actions for a workflow.
|
|
379
|
+
*
|
|
380
|
+
* @param data - Trajectory data
|
|
381
|
+
* @param data.workflow_id - The workflow this trajectory belongs to
|
|
382
|
+
* @param data.trajectory_data - Array of recorded actions
|
|
383
|
+
* @param data.dimensions - Display dimensions when trajectory was recorded
|
|
384
|
+
* @param data.original_input_values - Input values used during recording
|
|
385
|
+
* @returns Created trajectory details
|
|
386
|
+
*/
|
|
176
387
|
create: (data) => __awaiter(this, void 0, void 0, function* () {
|
|
177
388
|
return (0, sdk_gen_1.createTrajectoryV1TrajectoriesPost)({
|
|
178
389
|
client,
|
|
179
390
|
body: data,
|
|
180
391
|
});
|
|
181
392
|
}),
|
|
393
|
+
/**
|
|
394
|
+
* Get a specific trajectory by ID
|
|
395
|
+
*
|
|
396
|
+
* @param trajectoryId - The ID of the trajectory
|
|
397
|
+
* @returns Trajectory details including recorded actions
|
|
398
|
+
*/
|
|
182
399
|
get: (trajectoryId) => __awaiter(this, void 0, void 0, function* () {
|
|
183
400
|
return (0, sdk_gen_1.getTrajectoryV1TrajectoriesTrajectoryIdGet)({
|
|
184
401
|
client,
|
|
185
402
|
path: { trajectory_id: trajectoryId },
|
|
186
403
|
});
|
|
187
404
|
}),
|
|
405
|
+
/**
|
|
406
|
+
* Update a trajectory
|
|
407
|
+
*
|
|
408
|
+
* @param trajectoryId - The ID of the trajectory to update
|
|
409
|
+
* @param data - Update data (trajectory_data)
|
|
410
|
+
* @returns Updated trajectory details
|
|
411
|
+
*/
|
|
188
412
|
update: (trajectoryId, data) => __awaiter(this, void 0, void 0, function* () {
|
|
189
413
|
return (0, sdk_gen_1.updateTrajectoryV1TrajectoriesTrajectoryIdPatch)({
|
|
190
414
|
client,
|
|
@@ -192,12 +416,26 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
192
416
|
body: data,
|
|
193
417
|
});
|
|
194
418
|
}),
|
|
419
|
+
/**
|
|
420
|
+
* Delete a trajectory
|
|
421
|
+
*
|
|
422
|
+
* @param trajectoryId - The ID of the trajectory to delete
|
|
423
|
+
*/
|
|
195
424
|
delete: (trajectoryId) => __awaiter(this, void 0, void 0, function* () {
|
|
196
425
|
return (0, sdk_gen_1.deleteTrajectoryV1TrajectoriesTrajectoryIdDelete)({
|
|
197
426
|
client,
|
|
198
427
|
path: { trajectory_id: trajectoryId },
|
|
199
428
|
});
|
|
200
429
|
}),
|
|
430
|
+
/**
|
|
431
|
+
* Get the latest trajectory for a workflow
|
|
432
|
+
*
|
|
433
|
+
* Returns the most recently created trajectory for the specified workflow.
|
|
434
|
+
* Useful for replaying the latest recorded actions.
|
|
435
|
+
*
|
|
436
|
+
* @param workflowId - The ID of the workflow
|
|
437
|
+
* @returns Latest trajectory for the workflow, or null if none exists
|
|
438
|
+
*/
|
|
201
439
|
getLatestForWorkflow: (workflowId) => __awaiter(this, void 0, void 0, function* () {
|
|
202
440
|
return (0, sdk_gen_1.getLatestTrajectoryForWorkflowV1WorkflowsWorkflowIdLatestTrajectoryGet)({
|
|
203
441
|
client,
|
|
@@ -207,31 +445,102 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
207
445
|
},
|
|
208
446
|
// Run Attachment endpoints
|
|
209
447
|
run_attachments: {
|
|
448
|
+
/**
|
|
449
|
+
* List run attachments with optional filtering
|
|
450
|
+
*
|
|
451
|
+
* @param params - Optional query parameters
|
|
452
|
+
* @param params.skip - Number of items to skip (for pagination)
|
|
453
|
+
* @param params.limit - Maximum number of items to return
|
|
454
|
+
* @param params.run_id - Filter by run ID
|
|
455
|
+
* @param params.attachment_type - Filter by attachment type (input/output)
|
|
456
|
+
* @returns Paginated list of run attachments
|
|
457
|
+
*/
|
|
210
458
|
list: (params) => __awaiter(this, void 0, void 0, function* () {
|
|
211
459
|
return (0, sdk_gen_1.listRunAttachmentsV1RunAttachmentsGet)({
|
|
212
460
|
client,
|
|
213
461
|
query: params,
|
|
214
462
|
});
|
|
215
463
|
}),
|
|
464
|
+
/**
|
|
465
|
+
* Create a new run attachment
|
|
466
|
+
*
|
|
467
|
+
* @param data - Attachment data including file content as base64
|
|
468
|
+
* @returns Created attachment details
|
|
469
|
+
*/
|
|
216
470
|
create: (data) => __awaiter(this, void 0, void 0, function* () {
|
|
217
471
|
return (0, sdk_gen_1.createRunAttachmentV1RunAttachmentsPost)({
|
|
218
472
|
client,
|
|
219
473
|
body: data,
|
|
220
474
|
});
|
|
221
475
|
}),
|
|
476
|
+
/**
|
|
477
|
+
* Get run attachment details
|
|
478
|
+
*
|
|
479
|
+
* @param attachmentId - The ID of the attachment
|
|
480
|
+
* @returns Attachment metadata
|
|
481
|
+
*/
|
|
222
482
|
get: (attachmentId) => __awaiter(this, void 0, void 0, function* () {
|
|
223
483
|
return (0, sdk_gen_1.getRunAttachmentV1RunAttachmentsAttachmentIdGet)({
|
|
224
484
|
client,
|
|
225
485
|
path: { attachment_id: attachmentId },
|
|
226
486
|
});
|
|
227
487
|
}),
|
|
488
|
+
/**
|
|
489
|
+
* Get a signed download URL for a run attachment
|
|
490
|
+
*
|
|
491
|
+
* The returned URL will trigger an automatic download when accessed in a browser.
|
|
492
|
+
*
|
|
493
|
+
* @param attachmentId - The ID of the attachment
|
|
494
|
+
* @param expiresIn - URL expiration time in seconds (10-3600). Default: 300 (5 minutes)
|
|
495
|
+
* @returns Object containing the signed URL and expiration time
|
|
496
|
+
*
|
|
497
|
+
* @example
|
|
498
|
+
* ```typescript
|
|
499
|
+
* const { data } = await client.run_attachments.getDownloadUrl('attachment-id', 600);
|
|
500
|
+
* if (data) {
|
|
501
|
+
* console.log(`Download URL: ${data.url}`);
|
|
502
|
+
* console.log(`Expires in: ${data.expires_in} seconds`);
|
|
503
|
+
* }
|
|
504
|
+
* ```
|
|
505
|
+
*/
|
|
506
|
+
getDownloadUrl: (attachmentId, expiresIn) => __awaiter(this, void 0, void 0, function* () {
|
|
507
|
+
return (0, sdk_gen_1.getRunAttachmentDownloadUrlV1RunAttachmentsAttachmentIdDownloadUrlGet)({
|
|
508
|
+
client,
|
|
509
|
+
path: { attachment_id: attachmentId },
|
|
510
|
+
query: expiresIn ? { expires_in: expiresIn } : undefined,
|
|
511
|
+
});
|
|
512
|
+
}),
|
|
513
|
+
/**
|
|
514
|
+
* Download a run attachment file directly
|
|
515
|
+
*
|
|
516
|
+
* This method returns the raw file content. For a download URL instead,
|
|
517
|
+
* use `getDownloadUrl()`.
|
|
518
|
+
*
|
|
519
|
+
* @param attachmentId - The ID of the attachment to download
|
|
520
|
+
* @returns Raw file data
|
|
521
|
+
*
|
|
522
|
+
* @example
|
|
523
|
+
* ```typescript
|
|
524
|
+
* const { data } = await client.run_attachments.download('attachment-id');
|
|
525
|
+
* if (data) {
|
|
526
|
+
* // Handle raw file bytes
|
|
527
|
+
* const blob = new Blob([data]);
|
|
528
|
+
* }
|
|
529
|
+
* ```
|
|
530
|
+
*/
|
|
228
531
|
download: (attachmentId) => __awaiter(this, void 0, void 0, function* () {
|
|
229
|
-
// Note: This endpoint returns a download URL redirect or file data
|
|
230
532
|
return (0, sdk_gen_1.downloadRunAttachmentV1RunAttachmentsAttachmentIdDownloadGet)({
|
|
231
533
|
client,
|
|
232
534
|
path: { attachment_id: attachmentId },
|
|
233
535
|
});
|
|
234
536
|
}),
|
|
537
|
+
/**
|
|
538
|
+
* Update a run attachment (e.g., set expiration)
|
|
539
|
+
*
|
|
540
|
+
* @param attachmentId - The ID of the attachment to update
|
|
541
|
+
* @param data - Update data
|
|
542
|
+
* @returns Updated attachment details
|
|
543
|
+
*/
|
|
235
544
|
update: (attachmentId, data) => __awaiter(this, void 0, void 0, function* () {
|
|
236
545
|
return (0, sdk_gen_1.updateRunAttachmentV1RunAttachmentsAttachmentIdPut)({
|
|
237
546
|
client,
|
|
@@ -239,6 +548,11 @@ function createCyberdeskClient(apiKey, baseUrl) {
|
|
|
239
548
|
body: data,
|
|
240
549
|
});
|
|
241
550
|
}),
|
|
551
|
+
/**
|
|
552
|
+
* Delete a run attachment
|
|
553
|
+
*
|
|
554
|
+
* @param attachmentId - The ID of the attachment to delete
|
|
555
|
+
*/
|
|
242
556
|
delete: (attachmentId) => __awaiter(this, void 0, void 0, function* () {
|
|
243
557
|
return (0, sdk_gen_1.deleteRunAttachmentV1RunAttachmentsAttachmentIdDelete)({
|
|
244
558
|
client,
|