@bctrl/sdk 1.0.1 → 1.0.3

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 (277) hide show
  1. package/README.md +28 -29
  2. package/dist/bctrl.d.ts +22 -36
  3. package/dist/bctrl.js +40 -75
  4. package/dist/errors.d.ts +49 -43
  5. package/dist/errors.js +83 -120
  6. package/dist/files.d.ts +31 -0
  7. package/dist/files.js +97 -0
  8. package/dist/http.d.ts +18 -0
  9. package/dist/http.js +135 -0
  10. package/dist/index.d.ts +9 -12
  11. package/dist/index.js +7 -23
  12. package/dist/invocations.d.ts +86 -0
  13. package/dist/invocations.js +159 -0
  14. package/dist/pagination.d.ts +2 -0
  15. package/dist/pagination.js +13 -0
  16. package/dist/runs.d.ts +40 -0
  17. package/dist/runs.js +105 -0
  18. package/dist/runtimes.d.ts +69 -0
  19. package/dist/runtimes.js +202 -0
  20. package/dist/spaces.d.ts +40 -0
  21. package/dist/spaces.js +96 -0
  22. package/dist/types.d.ts +413 -0
  23. package/dist/types.js +1 -0
  24. package/dist/utils.d.ts +4 -0
  25. package/dist/utils.js +27 -0
  26. package/dist/version.js +2 -2
  27. package/package.json +4 -21
  28. package/dist/agents/browser-use/index.d.ts +0 -1
  29. package/dist/agents/browser-use/index.js +0 -9
  30. package/dist/agents/browser-use/namespace.d.ts +0 -39
  31. package/dist/agents/browser-use/namespace.js +0 -93
  32. package/dist/agents/index.d.ts +0 -2
  33. package/dist/agents/index.js +0 -17
  34. package/dist/agents/stagehand/core.d.ts +0 -93
  35. package/dist/agents/stagehand/core.js +0 -144
  36. package/dist/agents/stagehand/index.d.ts +0 -3
  37. package/dist/agents/stagehand/index.js +0 -24
  38. package/dist/agents/stagehand/namespace.d.ts +0 -51
  39. package/dist/agents/stagehand/namespace.js +0 -65
  40. package/dist/ai-credentials/client.d.ts +0 -12
  41. package/dist/ai-credentials/client.js +0 -70
  42. package/dist/ai-credentials/index.d.ts +0 -1
  43. package/dist/ai-credentials/index.js +0 -1
  44. package/dist/base/event-binding.d.ts +0 -7
  45. package/dist/base/event-binding.js +0 -23
  46. package/dist/base/types.d.ts +0 -109
  47. package/dist/base/types.js +0 -4
  48. package/dist/browser-extensions/client.d.ts +0 -15
  49. package/dist/browser-extensions/client.js +0 -72
  50. package/dist/browser-extensions/index.d.ts +0 -2
  51. package/dist/browser-extensions/index.js +0 -1
  52. package/dist/browser-profiles/client.d.ts +0 -11
  53. package/dist/browser-profiles/client.js +0 -63
  54. package/dist/browser-profiles/index.d.ts +0 -1
  55. package/dist/browser-profiles/index.js +0 -1
  56. package/dist/captcha/index.d.ts +0 -1
  57. package/dist/captcha/index.js +0 -1
  58. package/dist/captcha/namespace.d.ts +0 -34
  59. package/dist/captcha/namespace.js +0 -41
  60. package/dist/client/index.d.ts +0 -1
  61. package/dist/client/index.js +0 -1
  62. package/dist/client/rpc.d.ts +0 -83
  63. package/dist/client/rpc.js +0 -354
  64. package/dist/config.d.ts +0 -5
  65. package/dist/config.js +0 -28
  66. package/dist/constants/browser.d.ts +0 -2
  67. package/dist/constants/browser.js +0 -1
  68. package/dist/contracts/agent-tools.d.ts +0 -45
  69. package/dist/contracts/agent-tools.js +0 -31
  70. package/dist/contracts/automation.d.ts +0 -265
  71. package/dist/contracts/automation.js +0 -109
  72. package/dist/contracts/browser-management.d.ts +0 -179
  73. package/dist/contracts/browser-management.js +0 -95
  74. package/dist/contracts/browser-use.d.ts +0 -136
  75. package/dist/contracts/browser-use.js +0 -93
  76. package/dist/contracts/captcha.d.ts +0 -114
  77. package/dist/contracts/captcha.js +0 -40
  78. package/dist/contracts/desktop.d.ts +0 -223
  79. package/dist/contracts/desktop.js +0 -121
  80. package/dist/contracts/drivers/playwright.d.ts +0 -2008
  81. package/dist/contracts/drivers/playwright.js +0 -2033
  82. package/dist/contracts/drivers/puppeteer.d.ts +0 -1221
  83. package/dist/contracts/drivers/puppeteer.js +0 -941
  84. package/dist/contracts/drivers/selenium.d.ts +0 -156
  85. package/dist/contracts/drivers/selenium.js +0 -61
  86. package/dist/contracts/drivers/stagehand.d.ts +0 -155
  87. package/dist/contracts/drivers/stagehand.js +0 -7
  88. package/dist/contracts/extensions.d.ts +0 -13
  89. package/dist/contracts/extensions.js +0 -9
  90. package/dist/contracts/index.d.ts +0 -13
  91. package/dist/contracts/index.js +0 -13
  92. package/dist/contracts/public-api.d.ts +0 -360
  93. package/dist/contracts/public-api.js +0 -17
  94. package/dist/contracts/runtime.d.ts +0 -81
  95. package/dist/contracts/runtime.js +0 -16
  96. package/dist/contracts/stagehand.d.ts +0 -253
  97. package/dist/contracts/stagehand.js +0 -145
  98. package/dist/contracts/storage.d.ts +0 -51
  99. package/dist/contracts/storage.js +0 -56
  100. package/dist/contracts/vault.d.ts +0 -119
  101. package/dist/contracts/vault.js +0 -112
  102. package/dist/contracts/version.d.ts +0 -3
  103. package/dist/contracts/version.js +0 -16
  104. package/dist/desktop.d.ts +0 -2
  105. package/dist/desktop.js +0 -3
  106. package/dist/drivers/desktop/index.d.ts +0 -65
  107. package/dist/drivers/desktop/index.js +0 -68
  108. package/dist/drivers/desktop/session.d.ts +0 -313
  109. package/dist/drivers/desktop/session.js +0 -432
  110. package/dist/drivers/playwright/event-emitter.d.ts +0 -160
  111. package/dist/drivers/playwright/event-emitter.js +0 -297
  112. package/dist/drivers/playwright/generated/api-request-context.d.ts +0 -137
  113. package/dist/drivers/playwright/generated/api-request-context.js +0 -154
  114. package/dist/drivers/playwright/generated/api-response.d.ts +0 -119
  115. package/dist/drivers/playwright/generated/api-response.js +0 -123
  116. package/dist/drivers/playwright/generated/browser-context.d.ts +0 -284
  117. package/dist/drivers/playwright/generated/browser-context.js +0 -458
  118. package/dist/drivers/playwright/generated/browser.d.ts +0 -120
  119. package/dist/drivers/playwright/generated/browser.js +0 -151
  120. package/dist/drivers/playwright/generated/clock.d.ts +0 -80
  121. package/dist/drivers/playwright/generated/clock.js +0 -94
  122. package/dist/drivers/playwright/generated/console-message.d.ts +0 -94
  123. package/dist/drivers/playwright/generated/console-message.js +0 -89
  124. package/dist/drivers/playwright/generated/coverage.d.ts +0 -57
  125. package/dist/drivers/playwright/generated/coverage.js +0 -66
  126. package/dist/drivers/playwright/generated/dialog.d.ts +0 -79
  127. package/dist/drivers/playwright/generated/dialog.js +0 -80
  128. package/dist/drivers/playwright/generated/element-handle.d.ts +0 -399
  129. package/dist/drivers/playwright/generated/element-handle.js +0 -501
  130. package/dist/drivers/playwright/generated/frame-locator.d.ts +0 -34
  131. package/dist/drivers/playwright/generated/frame-locator.js +0 -63
  132. package/dist/drivers/playwright/generated/frame.d.ts +0 -557
  133. package/dist/drivers/playwright/generated/frame.js +0 -634
  134. package/dist/drivers/playwright/generated/js-handle.d.ts +0 -72
  135. package/dist/drivers/playwright/generated/js-handle.js +0 -92
  136. package/dist/drivers/playwright/generated/keyboard.d.ts +0 -103
  137. package/dist/drivers/playwright/generated/keyboard.js +0 -113
  138. package/dist/drivers/playwright/generated/locator.d.ts +0 -795
  139. package/dist/drivers/playwright/generated/locator.js +0 -974
  140. package/dist/drivers/playwright/generated/mouse.d.ts +0 -97
  141. package/dist/drivers/playwright/generated/mouse.js +0 -109
  142. package/dist/drivers/playwright/generated/page.d.ts +0 -762
  143. package/dist/drivers/playwright/generated/page.js +0 -988
  144. package/dist/drivers/playwright/generated/touchscreen.d.ts +0 -34
  145. package/dist/drivers/playwright/generated/touchscreen.js +0 -37
  146. package/dist/drivers/playwright/generated/tracing.d.ts +0 -78
  147. package/dist/drivers/playwright/generated/tracing.js +0 -80
  148. package/dist/drivers/playwright/generated/worker.d.ts +0 -53
  149. package/dist/drivers/playwright/generated/worker.js +0 -59
  150. package/dist/drivers/playwright/index.d.ts +0 -19
  151. package/dist/drivers/playwright/index.js +0 -20
  152. package/dist/drivers/playwright/remote-base.d.ts +0 -62
  153. package/dist/drivers/playwright/remote-base.js +0 -86
  154. package/dist/drivers/playwright/types.d.ts +0 -148
  155. package/dist/drivers/playwright/types.js +0 -8
  156. package/dist/drivers/puppeteer/errors.d.ts +0 -50
  157. package/dist/drivers/puppeteer/errors.js +0 -71
  158. package/dist/drivers/puppeteer/event-emitter.d.ts +0 -145
  159. package/dist/drivers/puppeteer/event-emitter.js +0 -259
  160. package/dist/drivers/puppeteer/generated/accessibility.d.ts +0 -77
  161. package/dist/drivers/puppeteer/generated/accessibility.js +0 -74
  162. package/dist/drivers/puppeteer/generated/browser-context.d.ts +0 -116
  163. package/dist/drivers/puppeteer/generated/browser-context.js +0 -168
  164. package/dist/drivers/puppeteer/generated/browser.d.ts +0 -169
  165. package/dist/drivers/puppeteer/generated/browser.js +0 -246
  166. package/dist/drivers/puppeteer/generated/console-message.d.ts +0 -54
  167. package/dist/drivers/puppeteer/generated/console-message.js +0 -69
  168. package/dist/drivers/puppeteer/generated/coverage.d.ts +0 -49
  169. package/dist/drivers/puppeteer/generated/coverage.js +0 -57
  170. package/dist/drivers/puppeteer/generated/dialog.d.ts +0 -46
  171. package/dist/drivers/puppeteer/generated/dialog.js +0 -60
  172. package/dist/drivers/puppeteer/generated/element-handle.d.ts +0 -261
  173. package/dist/drivers/puppeteer/generated/element-handle.js +0 -341
  174. package/dist/drivers/puppeteer/generated/file-chooser.d.ts +0 -34
  175. package/dist/drivers/puppeteer/generated/file-chooser.js +0 -43
  176. package/dist/drivers/puppeteer/generated/frame.d.ts +0 -221
  177. package/dist/drivers/puppeteer/generated/frame.js +0 -302
  178. package/dist/drivers/puppeteer/generated/http-request.d.ts +0 -195
  179. package/dist/drivers/puppeteer/generated/http-request.js +0 -243
  180. package/dist/drivers/puppeteer/generated/http-response.d.ts +0 -142
  181. package/dist/drivers/puppeteer/generated/http-response.js +0 -169
  182. package/dist/drivers/puppeteer/generated/js-handle.d.ts +0 -104
  183. package/dist/drivers/puppeteer/generated/js-handle.js +0 -125
  184. package/dist/drivers/puppeteer/generated/keyboard.d.ts +0 -79
  185. package/dist/drivers/puppeteer/generated/keyboard.js +0 -89
  186. package/dist/drivers/puppeteer/generated/locator.d.ts +0 -141
  187. package/dist/drivers/puppeteer/generated/locator.js +0 -164
  188. package/dist/drivers/puppeteer/generated/mouse.d.ts +0 -74
  189. package/dist/drivers/puppeteer/generated/mouse.js +0 -94
  190. package/dist/drivers/puppeteer/generated/page.d.ts +0 -604
  191. package/dist/drivers/puppeteer/generated/page.js +0 -776
  192. package/dist/drivers/puppeteer/generated/target.d.ts +0 -105
  193. package/dist/drivers/puppeteer/generated/target.js +0 -123
  194. package/dist/drivers/puppeteer/generated/touchscreen.d.ts +0 -87
  195. package/dist/drivers/puppeteer/generated/touchscreen.js +0 -103
  196. package/dist/drivers/puppeteer/generated/tracing.d.ts +0 -38
  197. package/dist/drivers/puppeteer/generated/tracing.js +0 -43
  198. package/dist/drivers/puppeteer/generated/web-worker.d.ts +0 -63
  199. package/dist/drivers/puppeteer/generated/web-worker.js +0 -73
  200. package/dist/drivers/puppeteer/index.d.ts +0 -21
  201. package/dist/drivers/puppeteer/index.js +0 -23
  202. package/dist/drivers/puppeteer/remote-base.d.ts +0 -57
  203. package/dist/drivers/puppeteer/remote-base.js +0 -79
  204. package/dist/drivers/puppeteer/types.d.ts +0 -178
  205. package/dist/drivers/puppeteer/types.js +0 -8
  206. package/dist/drivers/selenium/driver.d.ts +0 -28
  207. package/dist/drivers/selenium/driver.js +0 -169
  208. package/dist/drivers/selenium/element.d.ts +0 -34
  209. package/dist/drivers/selenium/element.js +0 -73
  210. package/dist/drivers/selenium/index.d.ts +0 -3
  211. package/dist/drivers/selenium/index.js +0 -5
  212. package/dist/drivers/selenium/types.d.ts +0 -2
  213. package/dist/drivers/selenium/types.js +0 -12
  214. package/dist/drivers/stagehand/generated/context.d.ts +0 -127
  215. package/dist/drivers/stagehand/generated/context.js +0 -153
  216. package/dist/drivers/stagehand/generated/locator.d.ts +0 -324
  217. package/dist/drivers/stagehand/generated/locator.js +0 -368
  218. package/dist/drivers/stagehand/generated/page.d.ts +0 -377
  219. package/dist/drivers/stagehand/generated/page.js +0 -439
  220. package/dist/drivers/stagehand/generated/response.d.ts +0 -197
  221. package/dist/drivers/stagehand/generated/response.js +0 -232
  222. package/dist/drivers/stagehand/index.d.ts +0 -5
  223. package/dist/drivers/stagehand/index.js +0 -8
  224. package/dist/drivers/stagehand/types.d.ts +0 -1
  225. package/dist/drivers/stagehand/types.js +0 -7
  226. package/dist/extensions/client.d.ts +0 -47
  227. package/dist/extensions/client.js +0 -154
  228. package/dist/extensions/index.d.ts +0 -1
  229. package/dist/extensions/index.js +0 -1
  230. package/dist/internal/dev-client.d.ts +0 -5
  231. package/dist/internal/dev-client.js +0 -9
  232. package/dist/internal/rpc-targets.d.ts +0 -17
  233. package/dist/internal/rpc-targets.js +0 -58
  234. package/dist/internal/serialization.d.ts +0 -32
  235. package/dist/internal/serialization.js +0 -42
  236. package/dist/internal/transport.d.ts +0 -24
  237. package/dist/internal/transport.js +0 -29
  238. package/dist/playwright.d.ts +0 -1
  239. package/dist/playwright.js +0 -2
  240. package/dist/puppeteer.d.ts +0 -1
  241. package/dist/puppeteer.js +0 -2
  242. package/dist/selenium.d.ts +0 -1
  243. package/dist/selenium.js +0 -2
  244. package/dist/stagehand.d.ts +0 -1
  245. package/dist/stagehand.js +0 -2
  246. package/dist/storage/client.d.ts +0 -151
  247. package/dist/storage/client.js +0 -329
  248. package/dist/storage/index.d.ts +0 -2
  249. package/dist/storage/index.js +0 -4
  250. package/dist/telemetry.d.ts +0 -18
  251. package/dist/telemetry.js +0 -93
  252. package/dist/updates/client.d.ts +0 -8
  253. package/dist/updates/client.js +0 -128
  254. package/dist/updates/index.d.ts +0 -1
  255. package/dist/updates/index.js +0 -1
  256. package/dist/utils/http.d.ts +0 -39
  257. package/dist/utils/http.js +0 -88
  258. package/dist/utils/index.d.ts +0 -4
  259. package/dist/utils/index.js +0 -4
  260. package/dist/utils/logger.d.ts +0 -27
  261. package/dist/utils/logger.js +0 -74
  262. package/dist/utils/schema.d.ts +0 -17
  263. package/dist/utils/schema.js +0 -31
  264. package/dist/utils/url.d.ts +0 -5
  265. package/dist/utils/url.js +0 -7
  266. package/dist/vault/client.d.ts +0 -43
  267. package/dist/vault/client.js +0 -123
  268. package/dist/vault/index.d.ts +0 -1
  269. package/dist/vault/index.js +0 -1
  270. package/dist/workspaces/browser-runtime.d.ts +0 -251
  271. package/dist/workspaces/browser-runtime.js +0 -1025
  272. package/dist/workspaces/client.d.ts +0 -48
  273. package/dist/workspaces/client.js +0 -222
  274. package/dist/workspaces/index.d.ts +0 -2
  275. package/dist/workspaces/index.js +0 -2
  276. package/dist/workspaces/runtime-event-pump.d.ts +0 -65
  277. 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 {};