@vm0/cli 9.151.0 → 9.152.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/{chunk-VUZYX6DE.js → chunk-T32CMT7F.js} +170 -12
- package/{chunk-VUZYX6DE.js.map → chunk-T32CMT7F.js.map} +1 -1
- package/index.js +9 -9
- package/package.json +1 -1
- package/zero.js +146 -7
- package/zero.js.map +1 -1
|
@@ -74083,7 +74083,7 @@ if (DSN) {
|
|
|
74083
74083
|
init2({
|
|
74084
74084
|
dsn: DSN,
|
|
74085
74085
|
environment: process.env.SENTRY_ENVIRONMENT ?? "production",
|
|
74086
|
-
release: "9.
|
|
74086
|
+
release: "9.152.0",
|
|
74087
74087
|
sendDefaultPii: false,
|
|
74088
74088
|
tracesSampleRate: 0,
|
|
74089
74089
|
shutdownTimeout: 500,
|
|
@@ -74102,7 +74102,7 @@ if (DSN) {
|
|
|
74102
74102
|
}
|
|
74103
74103
|
});
|
|
74104
74104
|
setContext("cli", {
|
|
74105
|
-
version: "9.
|
|
74105
|
+
version: "9.152.0",
|
|
74106
74106
|
command: process.argv.slice(2).join(" ")
|
|
74107
74107
|
});
|
|
74108
74108
|
setContext("runtime", {
|
|
@@ -107049,7 +107049,21 @@ var localBrowserReadCommandKindSchema = external_exports.enum([
|
|
|
107049
107049
|
"page.selection",
|
|
107050
107050
|
"page.metadata"
|
|
107051
107051
|
]);
|
|
107052
|
+
var localBrowserWriteCommandKindSchema = external_exports.enum([
|
|
107053
|
+
"page.click",
|
|
107054
|
+
"page.type",
|
|
107055
|
+
"page.scroll",
|
|
107056
|
+
"page.navigate",
|
|
107057
|
+
"tabs.activate",
|
|
107058
|
+
"tabs.open",
|
|
107059
|
+
"tabs.close"
|
|
107060
|
+
]);
|
|
107061
|
+
var localBrowserCommandKindSchema = external_exports.enum([
|
|
107062
|
+
...localBrowserReadCommandKindSchema.options,
|
|
107063
|
+
...localBrowserWriteCommandKindSchema.options
|
|
107064
|
+
]);
|
|
107052
107065
|
var localBrowserCommandStatusSchema = external_exports.enum([
|
|
107066
|
+
"pending_approval",
|
|
107053
107067
|
"queued",
|
|
107054
107068
|
"running",
|
|
107055
107069
|
"succeeded",
|
|
@@ -107066,6 +107080,11 @@ var hostNameSchema2 = external_exports.string().trim().min(1).max(128);
|
|
|
107066
107080
|
var browserSchema = external_exports.string().trim().min(1).max(64);
|
|
107067
107081
|
var extensionVersionSchema = external_exports.string().trim().min(1).max(64);
|
|
107068
107082
|
var tabIdSchema = external_exports.string().trim().min(1).max(128);
|
|
107083
|
+
var targetUrlSchema = external_exports.string().trim().url().max(2048).refine((value) => {
|
|
107084
|
+
const protocol = new URL(value).protocol;
|
|
107085
|
+
return protocol === "http:" || protocol === "https:";
|
|
107086
|
+
}, "URL must use http or https");
|
|
107087
|
+
var cssSelectorSchema = external_exports.string().trim().min(1).max(1024);
|
|
107069
107088
|
var supportedCapabilitiesSchema = external_exports.array(external_exports.string().trim().min(1).max(128)).max(50);
|
|
107070
107089
|
var localBrowserRuntimeBodySchema = external_exports.object({
|
|
107071
107090
|
hostName: hostNameSchema2,
|
|
@@ -107126,15 +107145,81 @@ var localBrowserHostStartResponseSchema = external_exports.object({
|
|
|
107126
107145
|
var localBrowserHostDeleteResponseSchema = external_exports.object({
|
|
107127
107146
|
ok: external_exports.literal(true)
|
|
107128
107147
|
});
|
|
107129
|
-
var
|
|
107130
|
-
kind: localBrowserReadCommandKindSchema,
|
|
107148
|
+
var localBrowserCommandTargetShape = {
|
|
107131
107149
|
tabId: tabIdSchema.optional(),
|
|
107132
107150
|
hostId: external_exports.string().min(1).optional(),
|
|
107133
107151
|
hostName: hostNameSchema2.optional(),
|
|
107134
107152
|
timeoutMs: external_exports.number().int().min(1e3).max(6e4).default(15e3)
|
|
107153
|
+
};
|
|
107154
|
+
var localBrowserCommandCreateBodySchema = external_exports.object({
|
|
107155
|
+
kind: localBrowserReadCommandKindSchema,
|
|
107156
|
+
...localBrowserCommandTargetShape
|
|
107157
|
+
});
|
|
107158
|
+
var localBrowserWriteCommandCreateBodySchema = external_exports.object({
|
|
107159
|
+
kind: localBrowserWriteCommandKindSchema,
|
|
107160
|
+
...localBrowserCommandTargetShape,
|
|
107161
|
+
selector: cssSelectorSchema.optional(),
|
|
107162
|
+
x: external_exports.number().int().min(0).optional(),
|
|
107163
|
+
y: external_exports.number().int().min(0).optional(),
|
|
107164
|
+
text: external_exports.string().min(1).max(64e3).optional(),
|
|
107165
|
+
direction: external_exports.enum(["up", "down"]).optional(),
|
|
107166
|
+
amount: external_exports.number().int().positive().max(1e4).optional(),
|
|
107167
|
+
url: targetUrlSchema.optional()
|
|
107168
|
+
}).superRefine((body, ctx) => {
|
|
107169
|
+
const requireField = (field, message) => {
|
|
107170
|
+
ctx.addIssue({
|
|
107171
|
+
code: "custom",
|
|
107172
|
+
path: [field],
|
|
107173
|
+
message
|
|
107174
|
+
});
|
|
107175
|
+
};
|
|
107176
|
+
if (body.kind === "page.click") {
|
|
107177
|
+
const hasPoint = body.x !== void 0 && body.y !== void 0;
|
|
107178
|
+
if (!body.selector && !hasPoint) {
|
|
107179
|
+
requireField("selector", "page.click requires selector or x/y");
|
|
107180
|
+
}
|
|
107181
|
+
if (body.x === void 0 !== (body.y === void 0)) {
|
|
107182
|
+
requireField("x", "page.click coordinates require both x and y");
|
|
107183
|
+
}
|
|
107184
|
+
return;
|
|
107185
|
+
}
|
|
107186
|
+
if (body.kind === "page.type") {
|
|
107187
|
+
if (!body.selector) {
|
|
107188
|
+
requireField("selector", "page.type requires selector");
|
|
107189
|
+
}
|
|
107190
|
+
if (!body.text) {
|
|
107191
|
+
requireField("text", "page.type requires text");
|
|
107192
|
+
}
|
|
107193
|
+
return;
|
|
107194
|
+
}
|
|
107195
|
+
if (body.kind === "page.scroll") {
|
|
107196
|
+
if (!body.direction) {
|
|
107197
|
+
requireField("direction", "page.scroll requires direction");
|
|
107198
|
+
}
|
|
107199
|
+
if (!body.amount) {
|
|
107200
|
+
requireField("amount", "page.scroll requires amount");
|
|
107201
|
+
}
|
|
107202
|
+
return;
|
|
107203
|
+
}
|
|
107204
|
+
if (body.kind === "page.navigate" || body.kind === "tabs.open") {
|
|
107205
|
+
if (!body.url) {
|
|
107206
|
+
requireField("url", `${body.kind} requires url`);
|
|
107207
|
+
}
|
|
107208
|
+
return;
|
|
107209
|
+
}
|
|
107210
|
+
if ((body.kind === "tabs.activate" || body.kind === "tabs.close") && !body.tabId) {
|
|
107211
|
+
requireField("tabId", `${body.kind} requires tabId`);
|
|
107212
|
+
}
|
|
107135
107213
|
});
|
|
107136
107214
|
var localBrowserCommandPayloadSchema = external_exports.object({
|
|
107137
|
-
tabId: tabIdSchema.optional()
|
|
107215
|
+
tabId: tabIdSchema.optional(),
|
|
107216
|
+
selector: cssSelectorSchema.optional(),
|
|
107217
|
+
x: external_exports.number().int().min(0).optional(),
|
|
107218
|
+
y: external_exports.number().int().min(0).optional(),
|
|
107219
|
+
text: external_exports.string().max(64e3).optional(),
|
|
107220
|
+
direction: external_exports.enum(["up", "down"]).optional(),
|
|
107221
|
+
amount: external_exports.number().int().positive().max(1e4).optional(),
|
|
107222
|
+
url: targetUrlSchema.optional()
|
|
107138
107223
|
});
|
|
107139
107224
|
var localBrowserTabSchema = external_exports.object({
|
|
107140
107225
|
id: external_exports.string(),
|
|
@@ -107171,7 +107256,11 @@ var localBrowserCommandResultSchema = external_exports.union([
|
|
|
107171
107256
|
faviconUrl: external_exports.string().max(2048).optional()
|
|
107172
107257
|
}).refine((value) => {
|
|
107173
107258
|
return Object.keys(value).length > 0;
|
|
107174
|
-
}, "Metadata result must include at least one field")
|
|
107259
|
+
}, "Metadata result must include at least one field"),
|
|
107260
|
+
external_exports.object({
|
|
107261
|
+
ok: external_exports.literal(true),
|
|
107262
|
+
details: external_exports.string().max(1024).optional()
|
|
107263
|
+
})
|
|
107175
107264
|
]);
|
|
107176
107265
|
var localBrowserCommandErrorSchema = external_exports.object({
|
|
107177
107266
|
code: localBrowserCommandErrorCodeSchema,
|
|
@@ -107179,11 +107268,11 @@ var localBrowserCommandErrorSchema = external_exports.object({
|
|
|
107179
107268
|
});
|
|
107180
107269
|
var localBrowserCommandCreateResponseSchema = external_exports.object({
|
|
107181
107270
|
commandId: external_exports.string(),
|
|
107182
|
-
status: external_exports.
|
|
107271
|
+
status: external_exports.enum(["queued", "pending_approval"])
|
|
107183
107272
|
});
|
|
107184
107273
|
var localBrowserCommandResponseSchema = external_exports.object({
|
|
107185
107274
|
id: external_exports.string(),
|
|
107186
|
-
kind:
|
|
107275
|
+
kind: localBrowserCommandKindSchema,
|
|
107187
107276
|
status: localBrowserCommandStatusSchema,
|
|
107188
107277
|
hostId: external_exports.string().nullable(),
|
|
107189
107278
|
hostName: external_exports.string().nullable(),
|
|
@@ -107203,7 +107292,7 @@ var localBrowserHostCommandNextResponseSchema = external_exports.discriminatedUn
|
|
|
107203
107292
|
status: external_exports.literal("command"),
|
|
107204
107293
|
command: external_exports.object({
|
|
107205
107294
|
id: external_exports.string(),
|
|
107206
|
-
kind:
|
|
107295
|
+
kind: localBrowserCommandKindSchema,
|
|
107207
107296
|
payload: localBrowserCommandPayloadSchema,
|
|
107208
107297
|
timeoutMs: external_exports.number().int().positive().nullable()
|
|
107209
107298
|
})
|
|
@@ -107226,6 +107315,10 @@ var localBrowserHostCommandCompleteBodySchema = external_exports.discriminatedUn
|
|
|
107226
107315
|
var localBrowserHostCommandCompleteResponseSchema = external_exports.object({
|
|
107227
107316
|
ok: external_exports.literal(true)
|
|
107228
107317
|
});
|
|
107318
|
+
var localBrowserCommandApprovalResponseSchema = external_exports.object({
|
|
107319
|
+
commandId: external_exports.string(),
|
|
107320
|
+
status: external_exports.enum(["queued", "failed"])
|
|
107321
|
+
});
|
|
107229
107322
|
var zeroLocalBrowserDeviceStartContract = c27.router({
|
|
107230
107323
|
start: {
|
|
107231
107324
|
method: "POST",
|
|
@@ -107389,6 +107482,46 @@ var zeroLocalBrowserCommandContract = c27.router({
|
|
|
107389
107482
|
summary: "Get a local-browser command result"
|
|
107390
107483
|
}
|
|
107391
107484
|
});
|
|
107485
|
+
var zeroLocalBrowserWriteCommandContract = c27.router({
|
|
107486
|
+
create: {
|
|
107487
|
+
method: "POST",
|
|
107488
|
+
path: "/api/zero/local-browser/write-commands",
|
|
107489
|
+
headers: authHeadersSchema,
|
|
107490
|
+
body: localBrowserWriteCommandCreateBodySchema,
|
|
107491
|
+
responses: {
|
|
107492
|
+
200: localBrowserCommandCreateResponseSchema,
|
|
107493
|
+
400: apiErrorSchema,
|
|
107494
|
+
401: apiErrorSchema,
|
|
107495
|
+
403: apiErrorSchema,
|
|
107496
|
+
404: apiErrorSchema,
|
|
107497
|
+
409: apiErrorSchema
|
|
107498
|
+
},
|
|
107499
|
+
summary: "Create an approved-write local-browser command"
|
|
107500
|
+
}
|
|
107501
|
+
});
|
|
107502
|
+
var zeroLocalBrowserCommandApprovalContract = c27.router({
|
|
107503
|
+
decide: {
|
|
107504
|
+
method: "POST",
|
|
107505
|
+
path: "/api/zero/local-browser/commands/:commandId/approval",
|
|
107506
|
+
pathParams: external_exports.object({
|
|
107507
|
+
commandId: external_exports.string().min(1)
|
|
107508
|
+
}),
|
|
107509
|
+
headers: authHeadersSchema,
|
|
107510
|
+
body: external_exports.object({
|
|
107511
|
+
decision: external_exports.enum(["approve", "deny"]),
|
|
107512
|
+
message: external_exports.string().trim().min(1).max(1024).optional()
|
|
107513
|
+
}),
|
|
107514
|
+
responses: {
|
|
107515
|
+
200: localBrowserCommandApprovalResponseSchema,
|
|
107516
|
+
400: apiErrorSchema,
|
|
107517
|
+
401: apiErrorSchema,
|
|
107518
|
+
403: apiErrorSchema,
|
|
107519
|
+
404: apiErrorSchema,
|
|
107520
|
+
409: apiErrorSchema
|
|
107521
|
+
},
|
|
107522
|
+
summary: "Approve or deny a pending local-browser write command"
|
|
107523
|
+
}
|
|
107524
|
+
});
|
|
107392
107525
|
var zeroLocalBrowserHostCommandsContract = c27.router({
|
|
107393
107526
|
next: {
|
|
107394
107527
|
method: "POST",
|
|
@@ -107402,7 +107535,7 @@ var zeroLocalBrowserHostCommandsContract = c27.router({
|
|
|
107402
107535
|
400: apiErrorSchema,
|
|
107403
107536
|
401: apiErrorSchema
|
|
107404
107537
|
},
|
|
107405
|
-
summary: "Claim the next local-browser
|
|
107538
|
+
summary: "Claim the next approved local-browser command"
|
|
107406
107539
|
},
|
|
107407
107540
|
complete: {
|
|
107408
107541
|
method: "POST",
|
|
@@ -107419,7 +107552,7 @@ var zeroLocalBrowserHostCommandsContract = c27.router({
|
|
|
107419
107552
|
404: apiErrorSchema,
|
|
107420
107553
|
409: apiErrorSchema
|
|
107421
107554
|
},
|
|
107422
|
-
summary: "Complete a local-browser
|
|
107555
|
+
summary: "Complete a local-browser command"
|
|
107423
107556
|
}
|
|
107424
107557
|
});
|
|
107425
107558
|
|
|
@@ -107478,6 +107611,30 @@ async function createLocalBrowserReadCommand(params) {
|
|
|
107478
107611
|
}
|
|
107479
107612
|
handleError(result, "Failed to create local-browser command");
|
|
107480
107613
|
}
|
|
107614
|
+
async function createLocalBrowserWriteCommand(params) {
|
|
107615
|
+
const config4 = await getLocalBrowserClientConfig();
|
|
107616
|
+
const client = initClient(zeroLocalBrowserWriteCommandContract, config4);
|
|
107617
|
+
const result = await client.create({
|
|
107618
|
+
body: {
|
|
107619
|
+
kind: params.kind,
|
|
107620
|
+
timeoutMs: params.timeoutMs ?? 15e3,
|
|
107621
|
+
...params.tabId ? { tabId: params.tabId } : {},
|
|
107622
|
+
...params.hostId ? { hostId: params.hostId } : {},
|
|
107623
|
+
...params.hostName ? { hostName: params.hostName } : {},
|
|
107624
|
+
...params.selector ? { selector: params.selector } : {},
|
|
107625
|
+
...params.x !== void 0 ? { x: params.x } : {},
|
|
107626
|
+
...params.y !== void 0 ? { y: params.y } : {},
|
|
107627
|
+
...params.text ? { text: params.text } : {},
|
|
107628
|
+
...params.direction ? { direction: params.direction } : {},
|
|
107629
|
+
...params.amount !== void 0 ? { amount: params.amount } : {},
|
|
107630
|
+
...params.url ? { url: params.url } : {}
|
|
107631
|
+
}
|
|
107632
|
+
});
|
|
107633
|
+
if (result.status === 200) {
|
|
107634
|
+
return result.body;
|
|
107635
|
+
}
|
|
107636
|
+
handleError(result, "Failed to create local-browser write command");
|
|
107637
|
+
}
|
|
107481
107638
|
async function getLocalBrowserReadCommand(commandId) {
|
|
107482
107639
|
const config4 = await getLocalBrowserClientConfig();
|
|
107483
107640
|
const client = initClient(zeroLocalBrowserCommandContract, config4);
|
|
@@ -128051,6 +128208,7 @@ export {
|
|
|
128051
128208
|
unregisterComputerUseHost,
|
|
128052
128209
|
getComputerUseHost,
|
|
128053
128210
|
createLocalBrowserReadCommand,
|
|
128211
|
+
createLocalBrowserWriteCommand,
|
|
128054
128212
|
getLocalBrowserReadCommand,
|
|
128055
128213
|
downloadWebFile,
|
|
128056
128214
|
uploadWebFile,
|
|
@@ -128108,4 +128266,4 @@ undici/lib/web/fetch/body.js:
|
|
|
128108
128266
|
undici/lib/web/websocket/frame.js:
|
|
128109
128267
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
128110
128268
|
*/
|
|
128111
|
-
//# sourceMappingURL=chunk-
|
|
128269
|
+
//# sourceMappingURL=chunk-T32CMT7F.js.map
|