@bctrl/cli 0.1.2 → 0.1.4

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 (42) hide show
  1. package/README.md +95 -97
  2. package/dist/api/auth.d.ts +5 -6
  3. package/dist/api/auth.js +4 -5
  4. package/dist/api/client.d.ts +1 -0
  5. package/dist/api/client.js +3 -0
  6. package/dist/api/errors.js +2 -2
  7. package/dist/commands/ai/index.js +59 -102
  8. package/dist/commands/{browser → api-key}/index.d.ts +1 -1
  9. package/dist/commands/api-key/index.js +47 -0
  10. package/dist/commands/auth/login.js +2 -1
  11. package/dist/commands/auth/status.js +5 -0
  12. package/dist/commands/browser-extension/index.d.ts +3 -0
  13. package/dist/commands/browser-extension/index.js +86 -0
  14. package/dist/commands/file/index.js +9 -3
  15. package/dist/commands/{invocation → help}/index.d.ts +1 -1
  16. package/dist/commands/help/index.js +17 -0
  17. package/dist/commands/proxy/index.d.ts +3 -0
  18. package/dist/commands/proxy/index.js +66 -0
  19. package/dist/commands/run/index.js +205 -155
  20. package/dist/commands/runtime/index.js +265 -116
  21. package/dist/commands/shared/help.js +1 -1
  22. package/dist/commands/shared/rest.d.ts +1 -0
  23. package/dist/commands/shared/rest.js +14 -6
  24. package/dist/commands/space/index.js +17 -32
  25. package/dist/commands/space/list.d.ts +1 -11
  26. package/dist/commands/space/list.js +14 -23
  27. package/dist/commands/subaccount/index.js +29 -80
  28. package/dist/commands/tool/index.js +15 -7
  29. package/dist/commands/tool-call/index.js +6 -1
  30. package/dist/commands/toolset/index.js +6 -3
  31. package/dist/commands/usage/index.d.ts +3 -0
  32. package/dist/commands/usage/index.js +13 -0
  33. package/dist/commands/vault/index.js +104 -25
  34. package/dist/config/auth-store.d.ts +10 -12
  35. package/dist/config/auth-store.js +4 -5
  36. package/dist/factory.js +1 -1
  37. package/dist/generated/help.d.ts +125 -110
  38. package/dist/generated/help.js +175 -141
  39. package/dist/root.js +10 -4
  40. package/package.json +47 -47
  41. package/dist/commands/browser/index.js +0 -53
  42. package/dist/commands/invocation/index.js +0 -36
@@ -1,44 +1,20 @@
1
1
  export declare const CLI_HELP_COMMANDS: {
2
- readonly "runtime.create": {
3
- readonly kind: "command";
4
- readonly command: "runtime.create";
2
+ readonly "runtimes.create": {
3
+ readonly kind: "topic";
4
+ readonly topic: "runtimes.create";
5
+ readonly aliases: readonly ["runtime.create", "bctrl runtime create"];
6
+ readonly title: "Create a runtime";
5
7
  readonly summary: "Create a browser runtime definition. This does not start the browser.";
6
- readonly usage: "bctrl runtime create [flags]";
7
- readonly flags: readonly [{
8
- readonly name: "--space";
9
- readonly value: "<id>";
10
- readonly description: "Owning space id.";
11
- readonly mapsTo: "input.spaceId";
12
- }, {
13
- readonly name: "--name";
14
- readonly value: "<name>";
15
- readonly description: "Runtime name.";
16
- readonly mapsTo: "input.name";
17
- }, {
18
- readonly name: "--config-file";
19
- readonly value: "<path>";
20
- readonly description: "Read runtime config JSON from a file.";
21
- readonly mapsTo: "input.config";
22
- }, {
23
- readonly name: "--metadata-file";
24
- readonly value: "<path>";
25
- readonly description: "Read runtime metadata JSON from a file.";
26
- readonly mapsTo: "input.metadata";
27
- }, {
28
- readonly name: "--input";
29
- readonly value: "<path>";
30
- readonly description: "Read the full JSON request body from a file, or - for stdin.";
31
- }];
32
8
  readonly input: {
33
9
  readonly fields: readonly [{
34
10
  readonly name: "spaceId";
35
- readonly type: "uuid";
36
- readonly required: true;
11
+ readonly type: "uuid | \"default\"";
12
+ readonly required: false;
37
13
  }, {
38
14
  readonly name: "type";
39
15
  readonly type: "\"browser\"";
40
16
  readonly values: readonly ["\"browser\""];
41
- readonly required: true;
17
+ readonly required: false;
42
18
  }, {
43
19
  readonly name: "name";
44
20
  readonly type: "string";
@@ -58,14 +34,18 @@ export declare const CLI_HELP_COMMANDS: {
58
34
  readonly name: "id";
59
35
  readonly type: "uuid";
60
36
  readonly required: true;
37
+ }, {
38
+ readonly name: "spaceId";
39
+ readonly type: "uuid";
40
+ readonly required: true;
61
41
  }, {
62
42
  readonly name: "name";
63
43
  readonly type: "string";
64
44
  readonly required: true;
65
45
  }, {
66
46
  readonly name: "type";
67
- readonly type: "\"browser\" | \"desktop\" | \"spreadsheet\"";
68
- readonly values: readonly ["\"browser\"", "\"desktop\"", "\"spreadsheet\""];
47
+ readonly type: "\"browser\"";
48
+ readonly values: readonly ["\"browser\""];
69
49
  readonly required: true;
70
50
  }, {
71
51
  readonly name: "status";
@@ -76,13 +56,17 @@ export declare const CLI_HELP_COMMANDS: {
76
56
  readonly name: "activeRunId";
77
57
  readonly type: "uuid | null";
78
58
  readonly required: true;
59
+ }, {
60
+ readonly name: "lastActivityAt";
61
+ readonly type: "datetime";
62
+ readonly required: false;
79
63
  }, {
80
64
  readonly name: "createdAt";
81
- readonly type: "string";
65
+ readonly type: "datetime";
82
66
  readonly required: true;
83
67
  }, {
84
68
  readonly name: "updatedAt";
85
- readonly type: "string";
69
+ readonly type: "datetime";
86
70
  readonly required: true;
87
71
  }, {
88
72
  readonly name: "config";
@@ -94,110 +78,141 @@ export declare const CLI_HELP_COMMANDS: {
94
78
  readonly required: false;
95
79
  }];
96
80
  };
81
+ readonly api: {
82
+ readonly method: "POST";
83
+ readonly path: "/v1/runtimes";
84
+ readonly operationId: "runtimes.create";
85
+ readonly requestFields: readonly ["spaceId", "type", "name", "config", "metadata"];
86
+ readonly responseFields: readonly ["id", "spaceId", "name", "type", "status", "activeRunId", "lastActivityAt", "createdAt", "updatedAt", "config", "metadata"];
87
+ };
88
+ readonly sdk: readonly [{
89
+ readonly language: "typescript";
90
+ readonly package: "@bctrl/sdk";
91
+ readonly method: "client.runtimes.create";
92
+ }];
93
+ readonly cli: {
94
+ readonly command: "bctrl runtime create";
95
+ readonly usage: "bctrl runtime create [flags]";
96
+ readonly flags: readonly [{
97
+ readonly name: "--space";
98
+ readonly value: "<id>";
99
+ readonly description: "Owning space id.";
100
+ }, {
101
+ readonly name: "--name";
102
+ readonly value: "<name>";
103
+ readonly description: "Runtime name.";
104
+ }, {
105
+ readonly name: "--profile";
106
+ readonly description: "Persist browser state across runtime starts.";
107
+ }, {
108
+ readonly name: "--proxy";
109
+ readonly value: "<id-or-url>";
110
+ readonly description: "Saved proxy id or inline custom proxy URL.";
111
+ }, {
112
+ readonly name: "--device";
113
+ readonly value: "<desktop|mobile>";
114
+ readonly description: "Fingerprint device filter.";
115
+ }, {
116
+ readonly name: "--os";
117
+ readonly value: "<windows|macos|android|ios>";
118
+ readonly description: "Fingerprint OS filter.";
119
+ }, {
120
+ readonly name: "--browser";
121
+ readonly value: "<chrome|edge|safari>";
122
+ readonly description: "Fingerprint browser filter.";
123
+ }, {
124
+ readonly name: "--browser-version";
125
+ readonly value: "<version>";
126
+ readonly description: "Fingerprint browser version filter.";
127
+ }, {
128
+ readonly name: "--locale";
129
+ readonly value: "<locale>";
130
+ readonly description: "Fingerprint locale/language filter; repeat to set an ordered language stack.";
131
+ }, {
132
+ readonly name: "--config-file";
133
+ readonly value: "<path>";
134
+ readonly description: "Read runtime config JSON from a file.";
135
+ }, {
136
+ readonly name: "--metadata-file";
137
+ readonly value: "<path>";
138
+ readonly description: "Read runtime metadata JSON from a file.";
139
+ }, {
140
+ readonly name: "--input";
141
+ readonly value: "<path>";
142
+ readonly description: "Read the full JSON request body from a file, or - for stdin.";
143
+ }];
144
+ };
97
145
  readonly examples: readonly [{
146
+ readonly audience: "cli";
98
147
  readonly command: "bctrl runtime create --space sp_123 --name checkout-test";
99
148
  }, {
149
+ readonly audience: "cli";
150
+ readonly command: "bctrl runtime create --name mobile-de --proxy pxy_123 --device mobile --os ios --browser safari --locale de-DE --locale de";
151
+ }, {
152
+ readonly audience: "cli";
100
153
  readonly command: "bctrl runtime create --input runtime.json";
101
154
  }];
102
155
  readonly next: readonly [{
156
+ readonly topic: "runtimes.start";
103
157
  readonly command: "bctrl runtime start <runtimeId>";
104
158
  }];
105
159
  };
106
- readonly "runtime.start": {
107
- readonly kind: "command";
108
- readonly command: "runtime.start";
160
+ readonly "runtimes.start": {
161
+ readonly kind: "topic";
162
+ readonly topic: "runtimes.start";
163
+ readonly aliases: readonly ["runtime.start", "bctrl runtime start"];
164
+ readonly title: "Start a runtime";
109
165
  readonly summary: "Start a runtime and open its active run.";
110
- readonly usage: "bctrl runtime start <runtimeId>";
111
166
  readonly output: {
112
167
  readonly fields: readonly [{
113
- readonly name: "runtime";
114
- readonly type: "object";
115
- readonly required: true;
116
- }, {
117
- readonly name: "run";
118
- readonly type: "object";
119
- readonly required: true;
120
- }];
121
- };
122
- readonly examples: readonly [{
123
- readonly command: "bctrl runtime start rt_123";
124
- }];
125
- readonly next: readonly [{
126
- readonly command: "bctrl runtime connection create <runtimeId>";
127
- }];
128
- };
129
- readonly "runtime.connection.create": {
130
- readonly kind: "command";
131
- readonly command: "runtime.connection.create";
132
- readonly summary: "Create a short-lived CDP connection lease for a started runtime.";
133
- readonly usage: "bctrl runtime connection create <runtimeId> [flags]";
134
- readonly flags: readonly [{
135
- readonly name: "--protocol";
136
- readonly value: "<protocol>";
137
- readonly description: "Connection protocol. Defaults to cdp.";
138
- readonly mapsTo: "input.protocol";
139
- }, {
140
- readonly name: "--input";
141
- readonly value: "<path>";
142
- readonly description: "Read the full JSON request body from a file, or - for stdin.";
143
- }];
144
- readonly input: {
145
- readonly fields: readonly [{
146
- readonly name: "protocol";
147
- readonly type: "\"cdp\"";
148
- readonly values: readonly ["\"cdp\""];
149
- readonly required: true;
150
- }, {
151
- readonly name: "options";
152
- readonly type: "object";
153
- readonly required: false;
154
- }];
155
- };
156
- readonly output: {
157
- readonly fields: readonly [{
158
- readonly name: "id";
168
+ readonly name: "runtimeId";
159
169
  readonly type: "uuid";
160
170
  readonly required: true;
161
- }, {
162
- readonly name: "protocol";
163
- readonly type: "\"cdp\" | \"cua\" | \"rdp\" | \"vnc\" | \"mcp\" | \"http\"";
164
- readonly values: readonly ["\"cdp\"", "\"cua\"", "\"rdp\"", "\"vnc\"", "\"mcp\"", "\"http\""];
165
- readonly required: true;
166
- }, {
167
- readonly name: "status";
168
- readonly type: "\"active\" | \"expired\" | \"revoked\" | \"closed\"";
169
- readonly values: readonly ["\"active\"", "\"expired\"", "\"revoked\"", "\"closed\""];
170
- readonly required: true;
171
171
  }, {
172
172
  readonly name: "runId";
173
173
  readonly type: "uuid";
174
174
  readonly required: true;
175
175
  }, {
176
- readonly name: "createdAt";
177
- readonly type: "datetime";
176
+ readonly name: "status";
177
+ readonly type: "\"active\" | \"stopped\" | \"failed\"";
178
+ readonly values: readonly ["\"active\"", "\"stopped\"", "\"failed\""];
178
179
  readonly required: true;
179
180
  }, {
180
- readonly name: "expiresAt";
181
- readonly type: "datetime | null";
181
+ readonly name: "connectUrl";
182
+ readonly type: "string";
182
183
  readonly required: true;
183
184
  }, {
184
- readonly name: "closedAt";
185
- readonly type: "datetime | null";
186
- readonly required: false;
187
- }, {
188
- readonly name: "revokedAt";
189
- readonly type: "datetime | null";
190
- readonly required: false;
185
+ readonly name: "protocol";
186
+ readonly type: "\"cdp\"";
187
+ readonly values: readonly ["\"cdp\""];
188
+ readonly required: true;
191
189
  }, {
192
- readonly name: "endpoint";
193
- readonly type: "object";
190
+ readonly name: "started";
191
+ readonly type: "boolean";
194
192
  readonly required: true;
195
193
  }];
196
194
  };
195
+ readonly api: {
196
+ readonly method: "POST";
197
+ readonly path: "/v1/runtimes/{runtimeId}/start";
198
+ readonly operationId: "runtimes.start";
199
+ readonly responseFields: readonly ["runtimeId", "runId", "status", "connectUrl", "protocol", "started"];
200
+ };
201
+ readonly sdk: readonly [{
202
+ readonly language: "typescript";
203
+ readonly package: "@bctrl/sdk";
204
+ readonly method: "client.runtimes.start";
205
+ }];
206
+ readonly cli: {
207
+ readonly command: "bctrl runtime start";
208
+ readonly usage: "bctrl runtime start <runtimeId>";
209
+ };
197
210
  readonly examples: readonly [{
198
- readonly command: "bctrl runtime connection create rt_123";
211
+ readonly audience: "cli";
212
+ readonly command: "bctrl runtime start rt_123";
199
213
  }];
200
214
  readonly next: readonly [{
215
+ readonly topic: "runs.activity.list";
201
216
  readonly command: "bctrl run events <runId>";
202
217
  }];
203
218
  };