@bctrl/sdk 1.0.1 → 1.0.2

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.
Files changed (279) hide show
  1. package/README.md +24 -29
  2. package/dist/bctrl.d.ts +22 -36
  3. package/dist/bctrl.js +40 -75
  4. package/dist/browsers.d.ts +24 -0
  5. package/dist/browsers.js +82 -0
  6. package/dist/errors.d.ts +49 -43
  7. package/dist/errors.js +83 -120
  8. package/dist/files.d.ts +31 -0
  9. package/dist/files.js +97 -0
  10. package/dist/http.d.ts +18 -0
  11. package/dist/http.js +135 -0
  12. package/dist/index.d.ts +9 -12
  13. package/dist/index.js +8 -23
  14. package/dist/invocations.d.ts +24 -0
  15. package/dist/invocations.js +66 -0
  16. package/dist/pagination.d.ts +2 -0
  17. package/dist/pagination.js +13 -0
  18. package/dist/runs.d.ts +38 -0
  19. package/dist/runs.js +99 -0
  20. package/dist/runtimes.d.ts +73 -0
  21. package/dist/runtimes.js +205 -0
  22. package/dist/spaces.d.ts +41 -0
  23. package/dist/spaces.js +96 -0
  24. package/dist/types.d.ts +386 -0
  25. package/dist/types.js +1 -0
  26. package/dist/utils.d.ts +4 -0
  27. package/dist/utils.js +27 -0
  28. package/dist/version.js +2 -2
  29. package/package.json +12 -31
  30. package/dist/agents/browser-use/index.d.ts +0 -1
  31. package/dist/agents/browser-use/index.js +0 -9
  32. package/dist/agents/browser-use/namespace.d.ts +0 -39
  33. package/dist/agents/browser-use/namespace.js +0 -93
  34. package/dist/agents/index.d.ts +0 -2
  35. package/dist/agents/index.js +0 -17
  36. package/dist/agents/stagehand/core.d.ts +0 -93
  37. package/dist/agents/stagehand/core.js +0 -144
  38. package/dist/agents/stagehand/index.d.ts +0 -3
  39. package/dist/agents/stagehand/index.js +0 -24
  40. package/dist/agents/stagehand/namespace.d.ts +0 -51
  41. package/dist/agents/stagehand/namespace.js +0 -65
  42. package/dist/ai-credentials/client.d.ts +0 -12
  43. package/dist/ai-credentials/client.js +0 -70
  44. package/dist/ai-credentials/index.d.ts +0 -1
  45. package/dist/ai-credentials/index.js +0 -1
  46. package/dist/base/event-binding.d.ts +0 -7
  47. package/dist/base/event-binding.js +0 -23
  48. package/dist/base/types.d.ts +0 -109
  49. package/dist/base/types.js +0 -4
  50. package/dist/browser-extensions/client.d.ts +0 -15
  51. package/dist/browser-extensions/client.js +0 -72
  52. package/dist/browser-extensions/index.d.ts +0 -2
  53. package/dist/browser-extensions/index.js +0 -1
  54. package/dist/browser-profiles/client.d.ts +0 -11
  55. package/dist/browser-profiles/client.js +0 -63
  56. package/dist/browser-profiles/index.d.ts +0 -1
  57. package/dist/browser-profiles/index.js +0 -1
  58. package/dist/captcha/index.d.ts +0 -1
  59. package/dist/captcha/index.js +0 -1
  60. package/dist/captcha/namespace.d.ts +0 -34
  61. package/dist/captcha/namespace.js +0 -41
  62. package/dist/client/index.d.ts +0 -1
  63. package/dist/client/index.js +0 -1
  64. package/dist/client/rpc.d.ts +0 -83
  65. package/dist/client/rpc.js +0 -354
  66. package/dist/config.d.ts +0 -5
  67. package/dist/config.js +0 -28
  68. package/dist/constants/browser.d.ts +0 -2
  69. package/dist/constants/browser.js +0 -1
  70. package/dist/contracts/agent-tools.d.ts +0 -45
  71. package/dist/contracts/agent-tools.js +0 -31
  72. package/dist/contracts/automation.d.ts +0 -265
  73. package/dist/contracts/automation.js +0 -109
  74. package/dist/contracts/browser-management.d.ts +0 -179
  75. package/dist/contracts/browser-management.js +0 -95
  76. package/dist/contracts/browser-use.d.ts +0 -136
  77. package/dist/contracts/browser-use.js +0 -93
  78. package/dist/contracts/captcha.d.ts +0 -114
  79. package/dist/contracts/captcha.js +0 -40
  80. package/dist/contracts/desktop.d.ts +0 -223
  81. package/dist/contracts/desktop.js +0 -121
  82. package/dist/contracts/drivers/playwright.d.ts +0 -2008
  83. package/dist/contracts/drivers/playwright.js +0 -2033
  84. package/dist/contracts/drivers/puppeteer.d.ts +0 -1221
  85. package/dist/contracts/drivers/puppeteer.js +0 -941
  86. package/dist/contracts/drivers/selenium.d.ts +0 -156
  87. package/dist/contracts/drivers/selenium.js +0 -61
  88. package/dist/contracts/drivers/stagehand.d.ts +0 -155
  89. package/dist/contracts/drivers/stagehand.js +0 -7
  90. package/dist/contracts/extensions.d.ts +0 -13
  91. package/dist/contracts/extensions.js +0 -9
  92. package/dist/contracts/index.d.ts +0 -13
  93. package/dist/contracts/index.js +0 -13
  94. package/dist/contracts/public-api.d.ts +0 -360
  95. package/dist/contracts/public-api.js +0 -17
  96. package/dist/contracts/runtime.d.ts +0 -81
  97. package/dist/contracts/runtime.js +0 -16
  98. package/dist/contracts/stagehand.d.ts +0 -253
  99. package/dist/contracts/stagehand.js +0 -145
  100. package/dist/contracts/storage.d.ts +0 -51
  101. package/dist/contracts/storage.js +0 -56
  102. package/dist/contracts/vault.d.ts +0 -119
  103. package/dist/contracts/vault.js +0 -112
  104. package/dist/contracts/version.d.ts +0 -3
  105. package/dist/contracts/version.js +0 -16
  106. package/dist/desktop.d.ts +0 -2
  107. package/dist/desktop.js +0 -3
  108. package/dist/drivers/desktop/index.d.ts +0 -65
  109. package/dist/drivers/desktop/index.js +0 -68
  110. package/dist/drivers/desktop/session.d.ts +0 -313
  111. package/dist/drivers/desktop/session.js +0 -432
  112. package/dist/drivers/playwright/event-emitter.d.ts +0 -160
  113. package/dist/drivers/playwright/event-emitter.js +0 -297
  114. package/dist/drivers/playwright/generated/api-request-context.d.ts +0 -137
  115. package/dist/drivers/playwright/generated/api-request-context.js +0 -154
  116. package/dist/drivers/playwright/generated/api-response.d.ts +0 -119
  117. package/dist/drivers/playwright/generated/api-response.js +0 -123
  118. package/dist/drivers/playwright/generated/browser-context.d.ts +0 -284
  119. package/dist/drivers/playwright/generated/browser-context.js +0 -458
  120. package/dist/drivers/playwright/generated/browser.d.ts +0 -120
  121. package/dist/drivers/playwright/generated/browser.js +0 -151
  122. package/dist/drivers/playwright/generated/clock.d.ts +0 -80
  123. package/dist/drivers/playwright/generated/clock.js +0 -94
  124. package/dist/drivers/playwright/generated/console-message.d.ts +0 -94
  125. package/dist/drivers/playwright/generated/console-message.js +0 -89
  126. package/dist/drivers/playwright/generated/coverage.d.ts +0 -57
  127. package/dist/drivers/playwright/generated/coverage.js +0 -66
  128. package/dist/drivers/playwright/generated/dialog.d.ts +0 -79
  129. package/dist/drivers/playwright/generated/dialog.js +0 -80
  130. package/dist/drivers/playwright/generated/element-handle.d.ts +0 -399
  131. package/dist/drivers/playwright/generated/element-handle.js +0 -501
  132. package/dist/drivers/playwright/generated/frame-locator.d.ts +0 -34
  133. package/dist/drivers/playwright/generated/frame-locator.js +0 -63
  134. package/dist/drivers/playwright/generated/frame.d.ts +0 -557
  135. package/dist/drivers/playwright/generated/frame.js +0 -634
  136. package/dist/drivers/playwright/generated/js-handle.d.ts +0 -72
  137. package/dist/drivers/playwright/generated/js-handle.js +0 -92
  138. package/dist/drivers/playwright/generated/keyboard.d.ts +0 -103
  139. package/dist/drivers/playwright/generated/keyboard.js +0 -113
  140. package/dist/drivers/playwright/generated/locator.d.ts +0 -795
  141. package/dist/drivers/playwright/generated/locator.js +0 -974
  142. package/dist/drivers/playwright/generated/mouse.d.ts +0 -97
  143. package/dist/drivers/playwright/generated/mouse.js +0 -109
  144. package/dist/drivers/playwright/generated/page.d.ts +0 -762
  145. package/dist/drivers/playwright/generated/page.js +0 -988
  146. package/dist/drivers/playwright/generated/touchscreen.d.ts +0 -34
  147. package/dist/drivers/playwright/generated/touchscreen.js +0 -37
  148. package/dist/drivers/playwright/generated/tracing.d.ts +0 -78
  149. package/dist/drivers/playwright/generated/tracing.js +0 -80
  150. package/dist/drivers/playwright/generated/worker.d.ts +0 -53
  151. package/dist/drivers/playwright/generated/worker.js +0 -59
  152. package/dist/drivers/playwright/index.d.ts +0 -19
  153. package/dist/drivers/playwright/index.js +0 -20
  154. package/dist/drivers/playwright/remote-base.d.ts +0 -62
  155. package/dist/drivers/playwright/remote-base.js +0 -86
  156. package/dist/drivers/playwright/types.d.ts +0 -148
  157. package/dist/drivers/playwright/types.js +0 -8
  158. package/dist/drivers/puppeteer/errors.d.ts +0 -50
  159. package/dist/drivers/puppeteer/errors.js +0 -71
  160. package/dist/drivers/puppeteer/event-emitter.d.ts +0 -145
  161. package/dist/drivers/puppeteer/event-emitter.js +0 -259
  162. package/dist/drivers/puppeteer/generated/accessibility.d.ts +0 -77
  163. package/dist/drivers/puppeteer/generated/accessibility.js +0 -74
  164. package/dist/drivers/puppeteer/generated/browser-context.d.ts +0 -116
  165. package/dist/drivers/puppeteer/generated/browser-context.js +0 -168
  166. package/dist/drivers/puppeteer/generated/browser.d.ts +0 -169
  167. package/dist/drivers/puppeteer/generated/browser.js +0 -246
  168. package/dist/drivers/puppeteer/generated/console-message.d.ts +0 -54
  169. package/dist/drivers/puppeteer/generated/console-message.js +0 -69
  170. package/dist/drivers/puppeteer/generated/coverage.d.ts +0 -49
  171. package/dist/drivers/puppeteer/generated/coverage.js +0 -57
  172. package/dist/drivers/puppeteer/generated/dialog.d.ts +0 -46
  173. package/dist/drivers/puppeteer/generated/dialog.js +0 -60
  174. package/dist/drivers/puppeteer/generated/element-handle.d.ts +0 -261
  175. package/dist/drivers/puppeteer/generated/element-handle.js +0 -341
  176. package/dist/drivers/puppeteer/generated/file-chooser.d.ts +0 -34
  177. package/dist/drivers/puppeteer/generated/file-chooser.js +0 -43
  178. package/dist/drivers/puppeteer/generated/frame.d.ts +0 -221
  179. package/dist/drivers/puppeteer/generated/frame.js +0 -302
  180. package/dist/drivers/puppeteer/generated/http-request.d.ts +0 -195
  181. package/dist/drivers/puppeteer/generated/http-request.js +0 -243
  182. package/dist/drivers/puppeteer/generated/http-response.d.ts +0 -142
  183. package/dist/drivers/puppeteer/generated/http-response.js +0 -169
  184. package/dist/drivers/puppeteer/generated/js-handle.d.ts +0 -104
  185. package/dist/drivers/puppeteer/generated/js-handle.js +0 -125
  186. package/dist/drivers/puppeteer/generated/keyboard.d.ts +0 -79
  187. package/dist/drivers/puppeteer/generated/keyboard.js +0 -89
  188. package/dist/drivers/puppeteer/generated/locator.d.ts +0 -141
  189. package/dist/drivers/puppeteer/generated/locator.js +0 -164
  190. package/dist/drivers/puppeteer/generated/mouse.d.ts +0 -74
  191. package/dist/drivers/puppeteer/generated/mouse.js +0 -94
  192. package/dist/drivers/puppeteer/generated/page.d.ts +0 -604
  193. package/dist/drivers/puppeteer/generated/page.js +0 -776
  194. package/dist/drivers/puppeteer/generated/target.d.ts +0 -105
  195. package/dist/drivers/puppeteer/generated/target.js +0 -123
  196. package/dist/drivers/puppeteer/generated/touchscreen.d.ts +0 -87
  197. package/dist/drivers/puppeteer/generated/touchscreen.js +0 -103
  198. package/dist/drivers/puppeteer/generated/tracing.d.ts +0 -38
  199. package/dist/drivers/puppeteer/generated/tracing.js +0 -43
  200. package/dist/drivers/puppeteer/generated/web-worker.d.ts +0 -63
  201. package/dist/drivers/puppeteer/generated/web-worker.js +0 -73
  202. package/dist/drivers/puppeteer/index.d.ts +0 -21
  203. package/dist/drivers/puppeteer/index.js +0 -23
  204. package/dist/drivers/puppeteer/remote-base.d.ts +0 -57
  205. package/dist/drivers/puppeteer/remote-base.js +0 -79
  206. package/dist/drivers/puppeteer/types.d.ts +0 -178
  207. package/dist/drivers/puppeteer/types.js +0 -8
  208. package/dist/drivers/selenium/driver.d.ts +0 -28
  209. package/dist/drivers/selenium/driver.js +0 -169
  210. package/dist/drivers/selenium/element.d.ts +0 -34
  211. package/dist/drivers/selenium/element.js +0 -73
  212. package/dist/drivers/selenium/index.d.ts +0 -3
  213. package/dist/drivers/selenium/index.js +0 -5
  214. package/dist/drivers/selenium/types.d.ts +0 -2
  215. package/dist/drivers/selenium/types.js +0 -12
  216. package/dist/drivers/stagehand/generated/context.d.ts +0 -127
  217. package/dist/drivers/stagehand/generated/context.js +0 -153
  218. package/dist/drivers/stagehand/generated/locator.d.ts +0 -324
  219. package/dist/drivers/stagehand/generated/locator.js +0 -368
  220. package/dist/drivers/stagehand/generated/page.d.ts +0 -377
  221. package/dist/drivers/stagehand/generated/page.js +0 -439
  222. package/dist/drivers/stagehand/generated/response.d.ts +0 -197
  223. package/dist/drivers/stagehand/generated/response.js +0 -232
  224. package/dist/drivers/stagehand/index.d.ts +0 -5
  225. package/dist/drivers/stagehand/index.js +0 -8
  226. package/dist/drivers/stagehand/types.d.ts +0 -1
  227. package/dist/drivers/stagehand/types.js +0 -7
  228. package/dist/extensions/client.d.ts +0 -47
  229. package/dist/extensions/client.js +0 -154
  230. package/dist/extensions/index.d.ts +0 -1
  231. package/dist/extensions/index.js +0 -1
  232. package/dist/internal/dev-client.d.ts +0 -5
  233. package/dist/internal/dev-client.js +0 -9
  234. package/dist/internal/rpc-targets.d.ts +0 -17
  235. package/dist/internal/rpc-targets.js +0 -58
  236. package/dist/internal/serialization.d.ts +0 -32
  237. package/dist/internal/serialization.js +0 -42
  238. package/dist/internal/transport.d.ts +0 -24
  239. package/dist/internal/transport.js +0 -29
  240. package/dist/playwright.d.ts +0 -1
  241. package/dist/playwright.js +0 -2
  242. package/dist/puppeteer.d.ts +0 -1
  243. package/dist/puppeteer.js +0 -2
  244. package/dist/selenium.d.ts +0 -1
  245. package/dist/selenium.js +0 -2
  246. package/dist/stagehand.d.ts +0 -1
  247. package/dist/stagehand.js +0 -2
  248. package/dist/storage/client.d.ts +0 -151
  249. package/dist/storage/client.js +0 -329
  250. package/dist/storage/index.d.ts +0 -2
  251. package/dist/storage/index.js +0 -4
  252. package/dist/telemetry.d.ts +0 -18
  253. package/dist/telemetry.js +0 -93
  254. package/dist/updates/client.d.ts +0 -8
  255. package/dist/updates/client.js +0 -128
  256. package/dist/updates/index.d.ts +0 -1
  257. package/dist/updates/index.js +0 -1
  258. package/dist/utils/http.d.ts +0 -39
  259. package/dist/utils/http.js +0 -88
  260. package/dist/utils/index.d.ts +0 -4
  261. package/dist/utils/index.js +0 -4
  262. package/dist/utils/logger.d.ts +0 -27
  263. package/dist/utils/logger.js +0 -74
  264. package/dist/utils/schema.d.ts +0 -17
  265. package/dist/utils/schema.js +0 -31
  266. package/dist/utils/url.d.ts +0 -5
  267. package/dist/utils/url.js +0 -7
  268. package/dist/vault/client.d.ts +0 -43
  269. package/dist/vault/client.js +0 -123
  270. package/dist/vault/index.d.ts +0 -1
  271. package/dist/vault/index.js +0 -1
  272. package/dist/workspaces/browser-runtime.d.ts +0 -251
  273. package/dist/workspaces/browser-runtime.js +0 -1025
  274. package/dist/workspaces/client.d.ts +0 -48
  275. package/dist/workspaces/client.js +0 -222
  276. package/dist/workspaces/index.d.ts +0 -2
  277. package/dist/workspaces/index.js +0 -2
  278. package/dist/workspaces/runtime-event-pump.d.ts +0 -65
  279. package/dist/workspaces/runtime-event-pump.js +0 -716
@@ -1,48 +0,0 @@
1
- import type { BrowserRuntimeCreateRequest, Operation, OperationWaitRequest, OperationWaitResponse, Runtime, Workspace, WorkspaceArtifact, WorkspaceArtifactsListQuery, WorkspaceCreateRequest, WorkspaceExecuteRequest, WorkspaceExecuteResponse, WorkspaceHelpRequest, WorkspaceHelpResponse, WorkspaceStateQuery, WorkspaceStateResponse, RuntimeLiveEmbedRequest } from '../contracts/public-api.js';
2
- import { type BrowserRuntimeLiveEmbed, type BrowserRuntimeRecordingEmbed, RuntimeNamespace } from './browser-runtime.js';
3
- declare class WorkspaceOperationsClient {
4
- private readonly workspaceClient;
5
- constructor(workspaceClient: WorkspaceClient);
6
- get(operationId: string): Promise<Operation>;
7
- wait(operationId: string, request?: OperationWaitRequest): Promise<OperationWaitResponse>;
8
- cancel(operationId: string): Promise<Operation>;
9
- }
10
- declare class WorkspaceArtifactsClient {
11
- private readonly workspaceClient;
12
- constructor(workspaceClient: WorkspaceClient);
13
- list(query?: WorkspaceArtifactsListQuery): Promise<WorkspaceArtifact[]>;
14
- get(artifactId: string): Promise<WorkspaceArtifact>;
15
- }
16
- export declare class WorkspaceClient {
17
- readonly baseUrl: string;
18
- readonly apiKey: string;
19
- readonly runtimes: RuntimeNamespace;
20
- readonly operations: WorkspaceOperationsClient;
21
- readonly artifacts: WorkspaceArtifactsClient;
22
- private workspaceValue;
23
- constructor(baseUrl: string, apiKey: string, workspace: Workspace);
24
- get id(): string;
25
- get name(): string;
26
- get mounts(): Workspace['mounts'];
27
- get workspace(): Workspace;
28
- refresh(): Promise<Workspace>;
29
- state(query?: WorkspaceStateQuery): Promise<WorkspaceStateResponse>;
30
- help(request?: WorkspaceHelpRequest): Promise<WorkspaceHelpResponse>;
31
- execute(request: WorkspaceExecuteRequest): Promise<WorkspaceExecuteResponse>;
32
- createBrowserRuntime(request: BrowserRuntimeCreateRequest): Promise<Runtime>;
33
- stopRuntime(alias: string): Promise<Runtime>;
34
- getRuntime(alias: string): Promise<Runtime | null>;
35
- private toAbsoluteUrl;
36
- embedRuntimeLive(alias: string, request?: RuntimeLiveEmbedRequest): Promise<BrowserRuntimeLiveEmbed>;
37
- embedRuntimeRecording(alias: string): Promise<BrowserRuntimeRecordingEmbed>;
38
- listRuntimes(): Promise<Runtime[]>;
39
- }
40
- export declare class WorkspacesClient {
41
- private readonly baseUrl;
42
- private readonly apiKey;
43
- constructor(baseUrl: string, apiKey: string);
44
- create(request: WorkspaceCreateRequest): Promise<WorkspaceClient>;
45
- open(id: string): Promise<WorkspaceClient>;
46
- list(): Promise<Workspace[]>;
47
- }
48
- export {};
@@ -1,222 +0,0 @@
1
- import { fetchWithTimeout, parseErrorDetails, parseJsonResponse } from '../utils/http.js';
2
- import { SDK_VERSION } from '../version.js';
3
- import { RuntimeNamespace, } from './browser-runtime.js';
4
- function buildHeaders(apiKey, withJsonBody = false) {
5
- const headers = {
6
- 'x-sdk-version': SDK_VERSION,
7
- Authorization: `Bearer ${apiKey}`,
8
- };
9
- if (withJsonBody) {
10
- headers['Content-Type'] = 'application/json';
11
- }
12
- return headers;
13
- }
14
- async function expectJson(response, context) {
15
- if (!response.ok) {
16
- const details = parseErrorDetails(await response.text());
17
- throw new Error(`${context}: ${details.message}`);
18
- }
19
- return parseJsonResponse(response, context);
20
- }
21
- class WorkspaceOperationsClient {
22
- workspaceClient;
23
- constructor(workspaceClient) {
24
- this.workspaceClient = workspaceClient;
25
- }
26
- async get(operationId) {
27
- const response = await fetchWithTimeout(`${this.workspaceClient.baseUrl}/operations/${encodeURIComponent(operationId)}`, {
28
- headers: buildHeaders(this.workspaceClient.apiKey),
29
- });
30
- return expectJson(response, 'Get operation');
31
- }
32
- async wait(operationId, request = {}) {
33
- const response = await fetchWithTimeout(`${this.workspaceClient.baseUrl}/operations/${encodeURIComponent(operationId)}/wait`, {
34
- method: 'POST',
35
- headers: buildHeaders(this.workspaceClient.apiKey, true),
36
- body: JSON.stringify(request),
37
- }, (request.timeoutMs ?? 30_000) + 5_000);
38
- return expectJson(response, 'Wait for operation');
39
- }
40
- async cancel(operationId) {
41
- const response = await fetchWithTimeout(`${this.workspaceClient.baseUrl}/operations/${encodeURIComponent(operationId)}/cancel`, {
42
- method: 'POST',
43
- headers: buildHeaders(this.workspaceClient.apiKey),
44
- });
45
- return expectJson(response, 'Cancel operation');
46
- }
47
- }
48
- class WorkspaceArtifactsClient {
49
- workspaceClient;
50
- constructor(workspaceClient) {
51
- this.workspaceClient = workspaceClient;
52
- }
53
- async list(query = {}) {
54
- const params = new URLSearchParams();
55
- if (query.runtime)
56
- params.set('runtime', query.runtime);
57
- if (query.limit !== undefined)
58
- params.set('limit', String(query.limit));
59
- const suffix = params.toString() ? `?${params.toString()}` : '';
60
- const response = await fetchWithTimeout(`${this.workspaceClient.baseUrl}/workspaces/${encodeURIComponent(this.workspaceClient.id)}/artifacts${suffix}`, {
61
- headers: buildHeaders(this.workspaceClient.apiKey),
62
- });
63
- const data = await expectJson(response, 'List workspace artifacts');
64
- return data.artifacts;
65
- }
66
- async get(artifactId) {
67
- const response = await fetchWithTimeout(`${this.workspaceClient.baseUrl}/workspaces/${encodeURIComponent(this.workspaceClient.id)}/artifacts/${encodeURIComponent(artifactId)}`, {
68
- headers: buildHeaders(this.workspaceClient.apiKey),
69
- });
70
- return expectJson(response, 'Get workspace artifact');
71
- }
72
- }
73
- export class WorkspaceClient {
74
- baseUrl;
75
- apiKey;
76
- runtimes;
77
- operations;
78
- artifacts;
79
- workspaceValue;
80
- constructor(baseUrl, apiKey, workspace) {
81
- this.baseUrl = baseUrl;
82
- this.apiKey = apiKey;
83
- this.workspaceValue = workspace;
84
- this.runtimes = new RuntimeNamespace(this);
85
- this.operations = new WorkspaceOperationsClient(this);
86
- this.artifacts = new WorkspaceArtifactsClient(this);
87
- }
88
- get id() {
89
- return this.workspaceValue.id;
90
- }
91
- get name() {
92
- return this.workspaceValue.name;
93
- }
94
- get mounts() {
95
- return this.workspaceValue.mounts;
96
- }
97
- get workspace() {
98
- return this.workspaceValue;
99
- }
100
- async refresh() {
101
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}`, {
102
- headers: buildHeaders(this.apiKey),
103
- });
104
- this.workspaceValue = await expectJson(response, 'Get workspace');
105
- return this.workspaceValue;
106
- }
107
- async state(query = {}) {
108
- const params = new URLSearchParams();
109
- if (query.runtime) {
110
- params.set('runtime', query.runtime);
111
- }
112
- const suffix = params.toString() ? `?${params.toString()}` : '';
113
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/state${suffix}`, {
114
- headers: buildHeaders(this.apiKey),
115
- });
116
- return expectJson(response, 'Workspace state');
117
- }
118
- async help(request = {}) {
119
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/help`, {
120
- method: 'POST',
121
- headers: buildHeaders(this.apiKey, true),
122
- body: JSON.stringify(request),
123
- });
124
- return expectJson(response, 'Workspace help');
125
- }
126
- async execute(request) {
127
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/execute`, {
128
- method: 'POST',
129
- headers: buildHeaders(this.apiKey, true),
130
- body: JSON.stringify(request),
131
- });
132
- return expectJson(response, 'Workspace execute');
133
- }
134
- async createBrowserRuntime(request) {
135
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/runtimes`, {
136
- method: 'POST',
137
- headers: buildHeaders(this.apiKey, true),
138
- body: JSON.stringify(request),
139
- });
140
- return expectJson(response, 'Create runtime');
141
- }
142
- async stopRuntime(alias) {
143
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/runtimes/${encodeURIComponent(alias)}/stop`, {
144
- method: 'POST',
145
- headers: buildHeaders(this.apiKey),
146
- });
147
- return expectJson(response, 'Stop runtime');
148
- }
149
- async getRuntime(alias) {
150
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/runtimes/${encodeURIComponent(alias)}`, {
151
- headers: buildHeaders(this.apiKey),
152
- });
153
- if (response.status === 404) {
154
- return null;
155
- }
156
- return expectJson(response, 'Get runtime');
157
- }
158
- toAbsoluteUrl(pathOrUrl) {
159
- return new URL(pathOrUrl, this.baseUrl).toString();
160
- }
161
- async embedRuntimeLive(alias, request = {}) {
162
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/runtimes/${encodeURIComponent(alias)}/embed/live`, {
163
- method: 'POST',
164
- headers: buildHeaders(this.apiKey, true),
165
- body: JSON.stringify(request),
166
- });
167
- const data = await expectJson(response, 'Mint live runtime embed');
168
- return {
169
- ...data,
170
- iframeUrl: this.toAbsoluteUrl(data.iframeUrl),
171
- };
172
- }
173
- async embedRuntimeRecording(alias) {
174
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/runtimes/${encodeURIComponent(alias)}/embed/recording`, {
175
- method: 'POST',
176
- headers: buildHeaders(this.apiKey),
177
- });
178
- const data = await expectJson(response, 'Mint recording runtime embed');
179
- return {
180
- ...data,
181
- iframeUrl: this.toAbsoluteUrl(data.iframeUrl),
182
- };
183
- }
184
- async listRuntimes() {
185
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(this.id)}/runtimes`, {
186
- headers: buildHeaders(this.apiKey),
187
- });
188
- const data = await expectJson(response, 'List runtimes');
189
- return data.runtimes;
190
- }
191
- }
192
- export class WorkspacesClient {
193
- baseUrl;
194
- apiKey;
195
- constructor(baseUrl, apiKey) {
196
- this.baseUrl = baseUrl;
197
- this.apiKey = apiKey;
198
- }
199
- async create(request) {
200
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces`, {
201
- method: 'POST',
202
- headers: buildHeaders(this.apiKey, true),
203
- body: JSON.stringify(request),
204
- });
205
- const workspace = await expectJson(response, 'Create workspace');
206
- return new WorkspaceClient(this.baseUrl, this.apiKey, workspace);
207
- }
208
- async open(id) {
209
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces/${encodeURIComponent(id)}`, {
210
- headers: buildHeaders(this.apiKey),
211
- });
212
- const workspace = await expectJson(response, 'Open workspace');
213
- return new WorkspaceClient(this.baseUrl, this.apiKey, workspace);
214
- }
215
- async list() {
216
- const response = await fetchWithTimeout(`${this.baseUrl}/workspaces`, {
217
- headers: buildHeaders(this.apiKey),
218
- });
219
- const data = await expectJson(response, 'List workspaces');
220
- return data.workspaces;
221
- }
222
- }
@@ -1,2 +0,0 @@
1
- export { WorkspaceClient, WorkspacesClient } from './client.js';
2
- export { BrowserRuntimeAccessor, BrowserRuntimeClient, BrowserRuntimeBuilder, PlaywrightBrowserRuntimeClient, PuppeteerBrowserRuntimeClient, StagehandBrowserRuntimeClient, SeleniumBrowserRuntimeClient, type BrowserRuntimeLiveEmbed, type BrowserRuntimeRecordingEmbed, type RuntimePuppeteerPage, type RuntimeRunRequest, type RuntimeStagehandPage, type AnyBrowserRuntimeClient, } from './browser-runtime.js';
@@ -1,2 +0,0 @@
1
- export { WorkspaceClient, WorkspacesClient } from './client.js';
2
- export { BrowserRuntimeAccessor, BrowserRuntimeClient, BrowserRuntimeBuilder, PlaywrightBrowserRuntimeClient, PuppeteerBrowserRuntimeClient, StagehandBrowserRuntimeClient, SeleniumBrowserRuntimeClient, } from './browser-runtime.js';
@@ -1,65 +0,0 @@
1
- import type { RuntimeEventsWaitRequest, RuntimeEventsWaitResponse } from '../contracts/public-api.js';
2
- type DialogAction = 'accept' | 'dismiss';
3
- interface EmitterLike {
4
- emit(event: string, payload: unknown): boolean;
5
- listenerCount(event: string): number;
6
- }
7
- interface ClosableEmitterLike extends EmitterLike {
8
- markClosed?: () => void;
9
- }
10
- export type RuntimeEventMap = Record<string, string>;
11
- export interface RuntimePageEmitterRegistration {
12
- pageId: string;
13
- emitter: ClosableEmitterLike;
14
- eventMap: RuntimeEventMap;
15
- createPage?: (pageId: string) => unknown;
16
- callDialogAction?: (dialogId: string, action: DialogAction, promptText?: string) => Promise<void>;
17
- }
18
- export interface RuntimeContextEmitterRegistration {
19
- contextId: string;
20
- emitter: EmitterLike;
21
- eventMap: RuntimeEventMap;
22
- createPage?: (pageId: string) => unknown;
23
- }
24
- export interface RuntimeEventPumpWaiter {
25
- wait(request?: RuntimeEventsWaitRequest, options?: {
26
- signal?: AbortSignal;
27
- }): Promise<RuntimeEventsWaitResponse>;
28
- }
29
- export declare class RuntimeEventPump {
30
- private readonly waiter;
31
- private readonly pageEmitters;
32
- private readonly pageEmitterRecords;
33
- private readonly contextEmitters;
34
- private readonly contextEmitterRecords;
35
- private readonly activeBindingCounts;
36
- private readonly activeBackendTypeCounts;
37
- private activeBindingTotal;
38
- private cursor;
39
- private disposed;
40
- private currentEventTypesKey;
41
- private waitAbortController;
42
- private waitPromise;
43
- constructor(waiter: RuntimeEventPumpWaiter);
44
- registerPageEmitter(registration: RuntimePageEmitterRegistration): void;
45
- registerContextEmitter(registration: RuntimeContextEmitterRegistration): void;
46
- close(): Promise<void>;
47
- private bindingKey;
48
- private activeBackendTypes;
49
- private backendTypesKey;
50
- private updateCursor;
51
- private incrementBinding;
52
- private decrementBinding;
53
- private reconfigureLoopIfNeeded;
54
- private ensureLoop;
55
- private runWaitLoop;
56
- private dispatchRuntimeEvent;
57
- private dispatchPageEvent;
58
- private dispatchContextEvent;
59
- private unregisterPageEmitter;
60
- private unregisterContextEmitter;
61
- private createPageForEvent;
62
- private buildPagePayload;
63
- private buildContextPayload;
64
- }
65
- export {};