@vm0/cli 9.151.0 → 9.153.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.
@@ -74083,7 +74083,7 @@ if (DSN) {
74083
74083
  init2({
74084
74084
  dsn: DSN,
74085
74085
  environment: process.env.SENTRY_ENVIRONMENT ?? "production",
74086
- release: "9.151.0",
74086
+ release: "9.153.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.151.0",
74105
+ version: "9.153.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,
@@ -107119,6 +107138,23 @@ var localBrowserHostSchema = external_exports.object({
107119
107138
  var localBrowserHostListResponseSchema = external_exports.object({
107120
107139
  hosts: external_exports.array(localBrowserHostSchema)
107121
107140
  });
107141
+ var localBrowserAuditEventSchema = external_exports.object({
107142
+ id: external_exports.string(),
107143
+ commandId: external_exports.string(),
107144
+ runId: external_exports.string().nullable(),
107145
+ hostId: external_exports.string().nullable(),
107146
+ tabId: external_exports.string().nullable(),
107147
+ kind: localBrowserWriteCommandKindSchema,
107148
+ targetUrl: external_exports.string().nullable(),
107149
+ event: external_exports.enum(["created", "approved", "denied", "completed"]),
107150
+ approvalOutcome: external_exports.enum(["approved", "denied"]).nullable(),
107151
+ redactedResult: external_exports.record(external_exports.string(), external_exports.unknown()).nullable(),
107152
+ error: external_exports.record(external_exports.string(), external_exports.unknown()).nullable(),
107153
+ createdAt: external_exports.string()
107154
+ });
107155
+ var localBrowserAuditEventListResponseSchema = external_exports.object({
107156
+ auditEvents: external_exports.array(localBrowserAuditEventSchema)
107157
+ });
107122
107158
  var localBrowserHostStartResponseSchema = external_exports.object({
107123
107159
  hostId: external_exports.string(),
107124
107160
  hostToken: external_exports.string()
@@ -107126,15 +107162,81 @@ var localBrowserHostStartResponseSchema = external_exports.object({
107126
107162
  var localBrowserHostDeleteResponseSchema = external_exports.object({
107127
107163
  ok: external_exports.literal(true)
107128
107164
  });
107129
- var localBrowserCommandCreateBodySchema = external_exports.object({
107130
- kind: localBrowserReadCommandKindSchema,
107165
+ var localBrowserCommandTargetShape = {
107131
107166
  tabId: tabIdSchema.optional(),
107132
107167
  hostId: external_exports.string().min(1).optional(),
107133
107168
  hostName: hostNameSchema2.optional(),
107134
107169
  timeoutMs: external_exports.number().int().min(1e3).max(6e4).default(15e3)
107170
+ };
107171
+ var localBrowserCommandCreateBodySchema = external_exports.object({
107172
+ kind: localBrowserReadCommandKindSchema,
107173
+ ...localBrowserCommandTargetShape
107174
+ });
107175
+ var localBrowserWriteCommandCreateBodySchema = external_exports.object({
107176
+ kind: localBrowserWriteCommandKindSchema,
107177
+ ...localBrowserCommandTargetShape,
107178
+ selector: cssSelectorSchema.optional(),
107179
+ x: external_exports.number().int().min(0).optional(),
107180
+ y: external_exports.number().int().min(0).optional(),
107181
+ text: external_exports.string().min(1).max(64e3).optional(),
107182
+ direction: external_exports.enum(["up", "down"]).optional(),
107183
+ amount: external_exports.number().int().positive().max(1e4).optional(),
107184
+ url: targetUrlSchema.optional()
107185
+ }).superRefine((body, ctx) => {
107186
+ const requireField = (field, message) => {
107187
+ ctx.addIssue({
107188
+ code: "custom",
107189
+ path: [field],
107190
+ message
107191
+ });
107192
+ };
107193
+ if (body.kind === "page.click") {
107194
+ const hasPoint = body.x !== void 0 && body.y !== void 0;
107195
+ if (!body.selector && !hasPoint) {
107196
+ requireField("selector", "page.click requires selector or x/y");
107197
+ }
107198
+ if (body.x === void 0 !== (body.y === void 0)) {
107199
+ requireField("x", "page.click coordinates require both x and y");
107200
+ }
107201
+ return;
107202
+ }
107203
+ if (body.kind === "page.type") {
107204
+ if (!body.selector) {
107205
+ requireField("selector", "page.type requires selector");
107206
+ }
107207
+ if (!body.text) {
107208
+ requireField("text", "page.type requires text");
107209
+ }
107210
+ return;
107211
+ }
107212
+ if (body.kind === "page.scroll") {
107213
+ if (!body.direction) {
107214
+ requireField("direction", "page.scroll requires direction");
107215
+ }
107216
+ if (!body.amount) {
107217
+ requireField("amount", "page.scroll requires amount");
107218
+ }
107219
+ return;
107220
+ }
107221
+ if (body.kind === "page.navigate" || body.kind === "tabs.open") {
107222
+ if (!body.url) {
107223
+ requireField("url", `${body.kind} requires url`);
107224
+ }
107225
+ return;
107226
+ }
107227
+ if ((body.kind === "tabs.activate" || body.kind === "tabs.close") && !body.tabId) {
107228
+ requireField("tabId", `${body.kind} requires tabId`);
107229
+ }
107135
107230
  });
107136
107231
  var localBrowserCommandPayloadSchema = external_exports.object({
107137
- tabId: tabIdSchema.optional()
107232
+ tabId: tabIdSchema.optional(),
107233
+ selector: cssSelectorSchema.optional(),
107234
+ x: external_exports.number().int().min(0).optional(),
107235
+ y: external_exports.number().int().min(0).optional(),
107236
+ text: external_exports.string().max(64e3).optional(),
107237
+ direction: external_exports.enum(["up", "down"]).optional(),
107238
+ amount: external_exports.number().int().positive().max(1e4).optional(),
107239
+ url: targetUrlSchema.optional()
107138
107240
  });
107139
107241
  var localBrowserTabSchema = external_exports.object({
107140
107242
  id: external_exports.string(),
@@ -107171,7 +107273,11 @@ var localBrowserCommandResultSchema = external_exports.union([
107171
107273
  faviconUrl: external_exports.string().max(2048).optional()
107172
107274
  }).refine((value) => {
107173
107275
  return Object.keys(value).length > 0;
107174
- }, "Metadata result must include at least one field")
107276
+ }, "Metadata result must include at least one field"),
107277
+ external_exports.object({
107278
+ ok: external_exports.literal(true),
107279
+ details: external_exports.string().max(1024).optional()
107280
+ })
107175
107281
  ]);
107176
107282
  var localBrowserCommandErrorSchema = external_exports.object({
107177
107283
  code: localBrowserCommandErrorCodeSchema,
@@ -107179,11 +107285,11 @@ var localBrowserCommandErrorSchema = external_exports.object({
107179
107285
  });
107180
107286
  var localBrowserCommandCreateResponseSchema = external_exports.object({
107181
107287
  commandId: external_exports.string(),
107182
- status: external_exports.literal("queued")
107288
+ status: external_exports.enum(["queued", "pending_approval"])
107183
107289
  });
107184
107290
  var localBrowserCommandResponseSchema = external_exports.object({
107185
107291
  id: external_exports.string(),
107186
- kind: localBrowserReadCommandKindSchema,
107292
+ kind: localBrowserCommandKindSchema,
107187
107293
  status: localBrowserCommandStatusSchema,
107188
107294
  hostId: external_exports.string().nullable(),
107189
107295
  hostName: external_exports.string().nullable(),
@@ -107203,7 +107309,7 @@ var localBrowserHostCommandNextResponseSchema = external_exports.discriminatedUn
107203
107309
  status: external_exports.literal("command"),
107204
107310
  command: external_exports.object({
107205
107311
  id: external_exports.string(),
107206
- kind: localBrowserReadCommandKindSchema,
107312
+ kind: localBrowserCommandKindSchema,
107207
107313
  payload: localBrowserCommandPayloadSchema,
107208
107314
  timeoutMs: external_exports.number().int().positive().nullable()
107209
107315
  })
@@ -107226,6 +107332,10 @@ var localBrowserHostCommandCompleteBodySchema = external_exports.discriminatedUn
107226
107332
  var localBrowserHostCommandCompleteResponseSchema = external_exports.object({
107227
107333
  ok: external_exports.literal(true)
107228
107334
  });
107335
+ var localBrowserCommandApprovalResponseSchema = external_exports.object({
107336
+ commandId: external_exports.string(),
107337
+ status: external_exports.enum(["queued", "failed"])
107338
+ });
107229
107339
  var zeroLocalBrowserDeviceStartContract = c27.router({
107230
107340
  start: {
107231
107341
  method: "POST",
@@ -107344,6 +107454,25 @@ var zeroLocalBrowserHostsContract = c27.router({
107344
107454
  summary: "Delete a local-browser host"
107345
107455
  }
107346
107456
  });
107457
+ var zeroLocalBrowserAuditEventsContract = c27.router({
107458
+ list: {
107459
+ method: "GET",
107460
+ path: "/api/zero/local-browser/audit-events",
107461
+ headers: authHeadersSchema,
107462
+ query: external_exports.object({
107463
+ limit: external_exports.coerce.number().int().min(1).max(200).default(50),
107464
+ commandId: external_exports.string().min(1).optional(),
107465
+ hostId: external_exports.string().min(1).optional(),
107466
+ runId: external_exports.string().min(1).optional()
107467
+ }),
107468
+ responses: {
107469
+ 200: localBrowserAuditEventListResponseSchema,
107470
+ 401: apiErrorSchema,
107471
+ 403: apiErrorSchema
107472
+ },
107473
+ summary: "List local-browser write command audit events"
107474
+ }
107475
+ });
107347
107476
  var zeroLocalBrowserHostSelfContract = c27.router({
107348
107477
  delete: {
107349
107478
  method: "DELETE",
@@ -107389,6 +107518,46 @@ var zeroLocalBrowserCommandContract = c27.router({
107389
107518
  summary: "Get a local-browser command result"
107390
107519
  }
107391
107520
  });
107521
+ var zeroLocalBrowserWriteCommandContract = c27.router({
107522
+ create: {
107523
+ method: "POST",
107524
+ path: "/api/zero/local-browser/write-commands",
107525
+ headers: authHeadersSchema,
107526
+ body: localBrowserWriteCommandCreateBodySchema,
107527
+ responses: {
107528
+ 200: localBrowserCommandCreateResponseSchema,
107529
+ 400: apiErrorSchema,
107530
+ 401: apiErrorSchema,
107531
+ 403: apiErrorSchema,
107532
+ 404: apiErrorSchema,
107533
+ 409: apiErrorSchema
107534
+ },
107535
+ summary: "Create an approved-write local-browser command"
107536
+ }
107537
+ });
107538
+ var zeroLocalBrowserCommandApprovalContract = c27.router({
107539
+ decide: {
107540
+ method: "POST",
107541
+ path: "/api/zero/local-browser/commands/:commandId/approval",
107542
+ pathParams: external_exports.object({
107543
+ commandId: external_exports.string().min(1)
107544
+ }),
107545
+ headers: authHeadersSchema,
107546
+ body: external_exports.object({
107547
+ decision: external_exports.enum(["approve", "deny"]),
107548
+ message: external_exports.string().trim().min(1).max(1024).optional()
107549
+ }),
107550
+ responses: {
107551
+ 200: localBrowserCommandApprovalResponseSchema,
107552
+ 400: apiErrorSchema,
107553
+ 401: apiErrorSchema,
107554
+ 403: apiErrorSchema,
107555
+ 404: apiErrorSchema,
107556
+ 409: apiErrorSchema
107557
+ },
107558
+ summary: "Approve or deny a pending local-browser write command"
107559
+ }
107560
+ });
107392
107561
  var zeroLocalBrowserHostCommandsContract = c27.router({
107393
107562
  next: {
107394
107563
  method: "POST",
@@ -107402,7 +107571,7 @@ var zeroLocalBrowserHostCommandsContract = c27.router({
107402
107571
  400: apiErrorSchema,
107403
107572
  401: apiErrorSchema
107404
107573
  },
107405
- summary: "Claim the next local-browser read command"
107574
+ summary: "Claim the next approved local-browser command"
107406
107575
  },
107407
107576
  complete: {
107408
107577
  method: "POST",
@@ -107419,7 +107588,7 @@ var zeroLocalBrowserHostCommandsContract = c27.router({
107419
107588
  404: apiErrorSchema,
107420
107589
  409: apiErrorSchema
107421
107590
  },
107422
- summary: "Complete a local-browser read command"
107591
+ summary: "Complete a local-browser command"
107423
107592
  }
107424
107593
  });
107425
107594
 
@@ -107478,6 +107647,30 @@ async function createLocalBrowserReadCommand(params) {
107478
107647
  }
107479
107648
  handleError(result, "Failed to create local-browser command");
107480
107649
  }
107650
+ async function createLocalBrowserWriteCommand(params) {
107651
+ const config4 = await getLocalBrowserClientConfig();
107652
+ const client = initClient(zeroLocalBrowserWriteCommandContract, config4);
107653
+ const result = await client.create({
107654
+ body: {
107655
+ kind: params.kind,
107656
+ timeoutMs: params.timeoutMs ?? 15e3,
107657
+ ...params.tabId ? { tabId: params.tabId } : {},
107658
+ ...params.hostId ? { hostId: params.hostId } : {},
107659
+ ...params.hostName ? { hostName: params.hostName } : {},
107660
+ ...params.selector ? { selector: params.selector } : {},
107661
+ ...params.x !== void 0 ? { x: params.x } : {},
107662
+ ...params.y !== void 0 ? { y: params.y } : {},
107663
+ ...params.text ? { text: params.text } : {},
107664
+ ...params.direction ? { direction: params.direction } : {},
107665
+ ...params.amount !== void 0 ? { amount: params.amount } : {},
107666
+ ...params.url ? { url: params.url } : {}
107667
+ }
107668
+ });
107669
+ if (result.status === 200) {
107670
+ return result.body;
107671
+ }
107672
+ handleError(result, "Failed to create local-browser write command");
107673
+ }
107481
107674
  async function getLocalBrowserReadCommand(commandId) {
107482
107675
  const config4 = await getLocalBrowserClientConfig();
107483
107676
  const client = initClient(zeroLocalBrowserCommandContract, config4);
@@ -107487,6 +107680,40 @@ async function getLocalBrowserReadCommand(commandId) {
107487
107680
  }
107488
107681
  handleError(result, "Failed to get local-browser command");
107489
107682
  }
107683
+ async function listLocalBrowserHosts() {
107684
+ const config4 = await getLocalBrowserClientConfig();
107685
+ const client = initClient(zeroLocalBrowserHostsContract, config4);
107686
+ const result = await client.list({});
107687
+ if (result.status === 200) {
107688
+ return result.body;
107689
+ }
107690
+ handleError(result, "Failed to list local-browser hosts");
107691
+ }
107692
+ async function deleteLocalBrowserHost(hostId) {
107693
+ const config4 = await getLocalBrowserClientConfig();
107694
+ const client = initClient(zeroLocalBrowserHostsContract, config4);
107695
+ const result = await client.delete({ params: { hostId } });
107696
+ if (result.status === 200) {
107697
+ return result.body;
107698
+ }
107699
+ handleError(result, "Failed to revoke local-browser host");
107700
+ }
107701
+ async function listLocalBrowserAuditEvents(params) {
107702
+ const config4 = await getLocalBrowserClientConfig();
107703
+ const client = initClient(zeroLocalBrowserAuditEventsContract, config4);
107704
+ const result = await client.list({
107705
+ query: {
107706
+ limit: params.limit ?? 50,
107707
+ ...params.commandId ? { commandId: params.commandId } : {},
107708
+ ...params.hostId ? { hostId: params.hostId } : {},
107709
+ ...params.runId ? { runId: params.runId } : {}
107710
+ }
107711
+ });
107712
+ if (result.status === 200) {
107713
+ return result.body;
107714
+ }
107715
+ handleError(result, "Failed to list local-browser audit events");
107716
+ }
107490
107717
 
107491
107718
  // src/lib/api/domains/web.ts
107492
107719
  init_esm_shims();
@@ -107759,12 +107986,16 @@ async function generateWebImage(options) {
107759
107986
  headers,
107760
107987
  body: JSON.stringify({
107761
107988
  prompt: options.prompt,
107989
+ ...options.model ? { model: options.model } : {},
107762
107990
  ...options.size ? { size: options.size } : {},
107763
107991
  ...options.quality ? { quality: options.quality } : {},
107764
107992
  ...options.background ? { background: options.background } : {},
107765
107993
  ...options.outputFormat ? { outputFormat: options.outputFormat } : {},
107766
107994
  ...options.outputCompression !== void 0 ? { outputCompression: options.outputCompression } : {},
107767
- ...options.moderation ? { moderation: options.moderation } : {}
107995
+ ...options.moderation ? { moderation: options.moderation } : {},
107996
+ ...options.seed !== void 0 ? { seed: options.seed } : {},
107997
+ ...options.safetyTolerance ? { safetyTolerance: options.safetyTolerance } : {},
107998
+ ...options.enhancePrompt !== void 0 ? { enhancePrompt: options.enhancePrompt } : {}
107768
107999
  })
107769
108000
  }
107770
108001
  );
@@ -125004,12 +125235,16 @@ init_esm_shims();
125004
125235
  var c89 = initContract();
125005
125236
  var zeroImageIoGenerateRequestSchema = external_exports.object({
125006
125237
  prompt: external_exports.unknown().optional(),
125238
+ model: external_exports.unknown().optional(),
125007
125239
  size: external_exports.unknown().optional(),
125008
125240
  quality: external_exports.unknown().optional(),
125009
125241
  background: external_exports.unknown().optional(),
125010
125242
  outputFormat: external_exports.unknown().optional(),
125011
125243
  outputCompression: external_exports.unknown().optional(),
125012
- moderation: external_exports.unknown().optional()
125244
+ moderation: external_exports.unknown().optional(),
125245
+ seed: external_exports.unknown().optional(),
125246
+ safetyTolerance: external_exports.unknown().optional(),
125247
+ enhancePrompt: external_exports.unknown().optional()
125013
125248
  }).passthrough();
125014
125249
  var zeroImageIoUsageSchema = external_exports.object({
125015
125250
  textInputTokens: external_exports.number(),
@@ -125025,14 +125260,20 @@ var zeroImageIoGenerateResponseSchema = external_exports.object({
125025
125260
  url: external_exports.string(),
125026
125261
  creditsCharged: external_exports.number(),
125027
125262
  model: external_exports.string(),
125263
+ provider: external_exports.string(),
125028
125264
  imageSize: external_exports.string(),
125029
125265
  quality: external_exports.string(),
125030
125266
  background: external_exports.string(),
125031
125267
  outputFormat: external_exports.string(),
125032
125268
  outputCompression: external_exports.number().optional(),
125033
125269
  moderation: external_exports.string().optional(),
125270
+ safetyTolerance: external_exports.string().optional(),
125034
125271
  revisedPrompt: external_exports.string().optional(),
125035
- usage: zeroImageIoUsageSchema
125272
+ usage: zeroImageIoUsageSchema.optional(),
125273
+ billingCategory: external_exports.string().optional(),
125274
+ billingQuantity: external_exports.number().optional(),
125275
+ sourceUrl: external_exports.string().optional(),
125276
+ seed: external_exports.number().optional()
125036
125277
  });
125037
125278
  var zeroImageIoGenerateContract = c89.router({
125038
125279
  post: {
@@ -126442,8 +126683,7 @@ var FEATURE_SWITCHES = {
126442
126683
  ["remoteAgent" /* RemoteAgent */]: {
126443
126684
  maintainer: "lancy@vm0.ai",
126444
126685
  description: "Enable remote-agent device pairing and local Codex/Claude host heartbeat endpoints.",
126445
- enabled: false,
126446
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
126686
+ enabled: true
126447
126687
  },
126448
126688
  ["lab" /* Lab */]: {
126449
126689
  maintainer: "ethan@vm0.ai",
@@ -126557,8 +126797,7 @@ var FEATURE_SWITCHES = {
126557
126797
  ["privateAgents" /* PrivateAgents */]: {
126558
126798
  maintainer: "ethan@vm0.ai",
126559
126799
  description: "Enable private agents. Private agents are visible only to their owner, are excluded from the workspace public-agent limit, and can only be managed or run by their owner.",
126560
- enabled: false,
126561
- enabledOrgIdHashes: STAFF_ORG_ID_HASHES
126800
+ enabled: true
126562
126801
  },
126563
126802
  ["hostedSites" /* HostedSites */]: {
126564
126803
  maintainer: "lancy@vm0.ai",
@@ -128051,7 +128290,11 @@ export {
128051
128290
  unregisterComputerUseHost,
128052
128291
  getComputerUseHost,
128053
128292
  createLocalBrowserReadCommand,
128293
+ createLocalBrowserWriteCommand,
128054
128294
  getLocalBrowserReadCommand,
128295
+ listLocalBrowserHosts,
128296
+ deleteLocalBrowserHost,
128297
+ listLocalBrowserAuditEvents,
128055
128298
  downloadWebFile,
128056
128299
  uploadWebFile,
128057
128300
  generateWebVoice,
@@ -128108,4 +128351,4 @@ undici/lib/web/fetch/body.js:
128108
128351
  undici/lib/web/websocket/frame.js:
128109
128352
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
128110
128353
  */
128111
- //# sourceMappingURL=chunk-VUZYX6DE.js.map
128354
+ //# sourceMappingURL=chunk-7B5CZ4YO.js.map