@vm0/cli 9.265.0 → 9.266.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.
Files changed (101) hide show
  1. package/{agent-Z2FIHSGT.js → agent-WJBV6XSO.js} +6 -6
  2. package/{banking-LGUZ5VNG.js → banking-MZPWKMV2.js} +4 -4
  3. package/{browser-YLIWZZ6D.js → browser-F4J54ATA.js} +13 -33
  4. package/browser-F4J54ATA.js.map +1 -0
  5. package/{chat-EI7BN74G.js → chat-OTLB5LYG.js} +5 -5
  6. package/{chunk-TK3OYU57.js → chunk-4TODUWC7.js} +2 -2
  7. package/{chunk-IW4TR3DM.js → chunk-GHMW55CQ.js} +2 -2
  8. package/{chunk-7ZIFGPRL.js → chunk-HHVHHEJ2.js} +2 -2
  9. package/{chunk-VK5XI46M.js → chunk-JQDFMS4A.js} +2 -2
  10. package/{chunk-YL2ISI5E.js → chunk-M75EI7GB.js} +4 -4
  11. package/{chunk-HYSVCVEH.js → chunk-MIZEZBG6.js} +2 -2
  12. package/{chunk-HCF2BKID.js → chunk-SP2S4QWX.js} +2 -2
  13. package/{chunk-SZUNGLD5.js → chunk-UP5UOL6Z.js} +8 -15
  14. package/chunk-UP5UOL6Z.js.map +1 -0
  15. package/{chunk-K36BESR5.js → chunk-WTB4K3Z6.js} +104 -34
  16. package/chunk-WTB4K3Z6.js.map +1 -0
  17. package/{computer-use-MEF72YRU.js → computer-use-GMGAYWFF.js} +4 -4
  18. package/{connector-ADZC3UUD.js → connector-SPL5EGNH.js} +7 -7
  19. package/{credit-XP5O4KDG.js → credit-ANE66MN5.js} +5 -5
  20. package/{developer-support-EEYI4ZIM.js → developer-support-WNWRPWM5.js} +4 -4
  21. package/{doctor-6IKUKRIN.js → doctor-YEBTJKXS.js} +5 -5
  22. package/{feishu-TMG2N5KK.js → feishu-X6HV3Z75.js} +4 -4
  23. package/{finance-O5MHGWTZ.js → finance-3SLPN5ZX.js} +4 -4
  24. package/{generate-AUPFFQLI.js → generate-VK57QZTH.js} +5 -5
  25. package/{github-CRHENPJV.js → github-KHQGH7UJ.js} +4 -4
  26. package/{goal-MUYVQVAB.js → goal-NP7LA4H5.js} +4 -4
  27. package/{host-V7DG7VT2.js → host-JSCRRZ3J.js} +4 -4
  28. package/{logs-U5AKPOEH.js → logs-AEIWXRS6.js} +5 -5
  29. package/{mail-DBQGZ5QR.js → mail-CMOTFJRW.js} +6 -6
  30. package/{maps-AWH5HB4Y.js → maps-WAWCF444.js} +4 -4
  31. package/{model-D55WMDT2.js → model-O3H5L3R4.js} +5 -5
  32. package/{model-provider-ZGDNIWDF.js → model-provider-NWOG4WDP.js} +5 -5
  33. package/{org-EQUTXVUP.js → org-H2KYZZHL.js} +4 -4
  34. package/package.json +1 -1
  35. package/{people-search-YAEDYHCN.js → people-search-OYHCUQQ5.js} +4 -4
  36. package/{phone-HCJIFH4N.js → phone-XDTMDNGG.js} +4 -4
  37. package/{preference-RNU6XCSS.js → preference-JJG4RC3V.js} +4 -4
  38. package/{resource-OPBBCIDG.js → resource-QCPLW3RQ.js} +4 -4
  39. package/{scrape-5NOKI766.js → scrape-NX44VHU6.js} +4 -4
  40. package/{search-OJF44IQ7.js → search-XMML4Q6A.js} +5 -5
  41. package/{secret-Q6N2AQ7A.js → secret-RYOMS4YU.js} +4 -4
  42. package/{slack-KHAA7PN5.js → slack-WQ7G3WH7.js} +4 -4
  43. package/{teams-C2JNGM46.js → teams-XL2GYS3H.js} +4 -4
  44. package/{telegram-NGPTNBBI.js → telegram-E3ILARSU.js} +4 -4
  45. package/{upgrade-75V657YJ.js → upgrade-B2QEWNOR.js} +3 -3
  46. package/{variable-3DW76KDG.js → variable-I5TBQURO.js} +4 -4
  47. package/{video-V2EXAJCM.js → video-B644TGB2.js} +3 -3
  48. package/{weather-KBKC4WV7.js → weather-ZFYVIQQC.js} +4 -4
  49. package/{web-HRDFN5K6.js → web-6YP4UZZS.js} +4 -4
  50. package/{web-search-OWKG5UTV.js → web-search-3ZBOMLOF.js} +4 -4
  51. package/{whoami-WDMQPK2D.js → whoami-RCMC3HFF.js} +6 -6
  52. package/{workflow-3I3UWWQE.js → workflow-GZ66ZARR.js} +4 -4
  53. package/zero.js +42 -42
  54. package/browser-YLIWZZ6D.js.map +0 -1
  55. package/chunk-K36BESR5.js.map +0 -1
  56. package/chunk-SZUNGLD5.js.map +0 -1
  57. /package/{agent-Z2FIHSGT.js.map → agent-WJBV6XSO.js.map} +0 -0
  58. /package/{banking-LGUZ5VNG.js.map → banking-MZPWKMV2.js.map} +0 -0
  59. /package/{chat-EI7BN74G.js.map → chat-OTLB5LYG.js.map} +0 -0
  60. /package/{chunk-TK3OYU57.js.map → chunk-4TODUWC7.js.map} +0 -0
  61. /package/{chunk-IW4TR3DM.js.map → chunk-GHMW55CQ.js.map} +0 -0
  62. /package/{chunk-7ZIFGPRL.js.map → chunk-HHVHHEJ2.js.map} +0 -0
  63. /package/{chunk-VK5XI46M.js.map → chunk-JQDFMS4A.js.map} +0 -0
  64. /package/{chunk-YL2ISI5E.js.map → chunk-M75EI7GB.js.map} +0 -0
  65. /package/{chunk-HYSVCVEH.js.map → chunk-MIZEZBG6.js.map} +0 -0
  66. /package/{chunk-HCF2BKID.js.map → chunk-SP2S4QWX.js.map} +0 -0
  67. /package/{computer-use-MEF72YRU.js.map → computer-use-GMGAYWFF.js.map} +0 -0
  68. /package/{connector-ADZC3UUD.js.map → connector-SPL5EGNH.js.map} +0 -0
  69. /package/{credit-XP5O4KDG.js.map → credit-ANE66MN5.js.map} +0 -0
  70. /package/{developer-support-EEYI4ZIM.js.map → developer-support-WNWRPWM5.js.map} +0 -0
  71. /package/{doctor-6IKUKRIN.js.map → doctor-YEBTJKXS.js.map} +0 -0
  72. /package/{feishu-TMG2N5KK.js.map → feishu-X6HV3Z75.js.map} +0 -0
  73. /package/{finance-O5MHGWTZ.js.map → finance-3SLPN5ZX.js.map} +0 -0
  74. /package/{generate-AUPFFQLI.js.map → generate-VK57QZTH.js.map} +0 -0
  75. /package/{github-CRHENPJV.js.map → github-KHQGH7UJ.js.map} +0 -0
  76. /package/{goal-MUYVQVAB.js.map → goal-NP7LA4H5.js.map} +0 -0
  77. /package/{host-V7DG7VT2.js.map → host-JSCRRZ3J.js.map} +0 -0
  78. /package/{logs-U5AKPOEH.js.map → logs-AEIWXRS6.js.map} +0 -0
  79. /package/{mail-DBQGZ5QR.js.map → mail-CMOTFJRW.js.map} +0 -0
  80. /package/{maps-AWH5HB4Y.js.map → maps-WAWCF444.js.map} +0 -0
  81. /package/{model-D55WMDT2.js.map → model-O3H5L3R4.js.map} +0 -0
  82. /package/{model-provider-ZGDNIWDF.js.map → model-provider-NWOG4WDP.js.map} +0 -0
  83. /package/{org-EQUTXVUP.js.map → org-H2KYZZHL.js.map} +0 -0
  84. /package/{people-search-YAEDYHCN.js.map → people-search-OYHCUQQ5.js.map} +0 -0
  85. /package/{phone-HCJIFH4N.js.map → phone-XDTMDNGG.js.map} +0 -0
  86. /package/{preference-RNU6XCSS.js.map → preference-JJG4RC3V.js.map} +0 -0
  87. /package/{resource-OPBBCIDG.js.map → resource-QCPLW3RQ.js.map} +0 -0
  88. /package/{scrape-5NOKI766.js.map → scrape-NX44VHU6.js.map} +0 -0
  89. /package/{search-OJF44IQ7.js.map → search-XMML4Q6A.js.map} +0 -0
  90. /package/{secret-Q6N2AQ7A.js.map → secret-RYOMS4YU.js.map} +0 -0
  91. /package/{slack-KHAA7PN5.js.map → slack-WQ7G3WH7.js.map} +0 -0
  92. /package/{teams-C2JNGM46.js.map → teams-XL2GYS3H.js.map} +0 -0
  93. /package/{telegram-NGPTNBBI.js.map → telegram-E3ILARSU.js.map} +0 -0
  94. /package/{upgrade-75V657YJ.js.map → upgrade-B2QEWNOR.js.map} +0 -0
  95. /package/{variable-3DW76KDG.js.map → variable-I5TBQURO.js.map} +0 -0
  96. /package/{video-V2EXAJCM.js.map → video-B644TGB2.js.map} +0 -0
  97. /package/{weather-KBKC4WV7.js.map → weather-ZFYVIQQC.js.map} +0 -0
  98. /package/{web-HRDFN5K6.js.map → web-6YP4UZZS.js.map} +0 -0
  99. /package/{web-search-OWKG5UTV.js.map → web-search-3ZBOMLOF.js.map} +0 -0
  100. /package/{whoami-WDMQPK2D.js.map → whoami-RCMC3HFF.js.map} +0 -0
  101. /package/{workflow-3I3UWWQE.js.map → workflow-GZ66ZARR.js.map} +0 -0
@@ -21,7 +21,7 @@ import {
21
21
  updateOrgModelPoliciesRequestSchema,
22
22
  upsertModelProviderRequestSchema,
23
23
  upsertModelProviderResponseSchema
24
- } from "./chunk-HYSVCVEH.js";
24
+ } from "./chunk-MIZEZBG6.js";
25
25
  import {
26
26
  __commonJS,
27
27
  __esm,
@@ -2008,19 +2008,12 @@ var CHAT_EVENT_TYPES = [
2008
2008
  "run.completed",
2009
2009
  "run.failed",
2010
2010
  "run.cancelled",
2011
- "queue.automation_paused",
2012
- "queue.automation_resumed",
2013
2011
  "control.interrupt",
2014
2012
  "control.revoke",
2015
2013
  "goal.changed",
2016
2014
  "usage.recorded"
2017
2015
  ];
2018
2016
  var chatEventTypeSchema = external_exports.enum(CHAT_EVENT_TYPES);
2019
- var MATERIALIZED_CHAT_EVENT_TYPES = CHAT_EVENT_TYPES.filter(
2020
- (eventType) => {
2021
- return eventType !== "input.goal";
2022
- }
2023
- );
2024
2017
  function revokedChatEventIds(events) {
2025
2018
  return new Set(
2026
2019
  events.flatMap((event) => {
@@ -3689,6 +3682,9 @@ var workflowSnapshotSchema = external_exports.object({
3689
3682
  automationId: external_exports.string().uuid().optional(),
3690
3683
  triggerBrief: external_exports.string().nullable().optional()
3691
3684
  });
3685
+ var goalSnapshotSchema = external_exports.object({
3686
+ objectiveBrief: external_exports.string().min(1)
3687
+ });
3692
3688
  var chatEventBaseSchema = external_exports.object({
3693
3689
  id: external_exports.string(),
3694
3690
  threadId: external_exports.string(),
@@ -3700,9 +3696,7 @@ var chatEventBaseSchema = external_exports.object({
3700
3696
  feishuChatOpenUrl: external_exports.string().url().optional(),
3701
3697
  isGoalRun: external_exports.boolean().optional(),
3702
3698
  runEventId: external_exports.string().optional(),
3703
- goalSnapshot: external_exports.object({
3704
- objectiveBrief: external_exports.string().min(1)
3705
- }).optional(),
3699
+ goalSnapshot: goalSnapshotSchema.optional(),
3706
3700
  revokesEventId: external_exports.string().optional(),
3707
3701
  /** Server-assigned strict position within the chat thread. */
3708
3702
  seqId: external_exports.number().int().positive(),
@@ -3738,6 +3732,23 @@ var inputAutomationEventSchema = chatEventBaseSchema.extend({
3738
3732
  triggerSource: triggerSourceSchema,
3739
3733
  triggerBrief: external_exports.string().nullable()
3740
3734
  }).strict();
3735
+ var inputGoalEventSchema = chatEventBaseSchema.extend({
3736
+ eventType: external_exports.literal("input.goal"),
3737
+ content: external_exports.null(),
3738
+ // Queue association stays server-side; the public event preserves only
3739
+ // the non-sensitive goal snapshot and stream ordering contract.
3740
+ runId: external_exports.never().optional(),
3741
+ runGroupId: external_exports.never().optional(),
3742
+ triggerSource: external_exports.never().optional(),
3743
+ slackMessagePermalink: external_exports.never().optional(),
3744
+ feishuChatOpenUrl: external_exports.never().optional(),
3745
+ isGoalRun: external_exports.never().optional(),
3746
+ runEventId: external_exports.never().optional(),
3747
+ goalSnapshot: goalSnapshotSchema,
3748
+ revokesEventId: external_exports.never().optional(),
3749
+ sequenceNumber: external_exports.never().optional(),
3750
+ workflowSnapshot: external_exports.never().optional()
3751
+ }).strict();
3741
3752
  var inputRejectedEventSchema = chatEventBaseSchema.extend({
3742
3753
  eventType: external_exports.literal("input.rejected"),
3743
3754
  content: external_exports.null(),
@@ -3795,12 +3806,12 @@ var runCancelledEventSchema = chatEventBaseSchema.extend({
3795
3806
  error: external_exports.string().optional(),
3796
3807
  runLifecycleEvent: external_exports.literal("cancelled")
3797
3808
  }).strict();
3798
- var queueAutomationPausedEventSchema = chatEventBaseSchema.extend({
3809
+ var legacyQueueAutomationPausedEventSchema = chatEventBaseSchema.extend({
3799
3810
  eventType: external_exports.literal("queue.automation_paused"),
3800
3811
  content: external_exports.null(),
3801
3812
  pauseReason: external_exports.string().nullable()
3802
3813
  }).strict();
3803
- var queueAutomationResumedEventSchema = chatEventBaseSchema.extend({
3814
+ var legacyQueueAutomationResumedEventSchema = chatEventBaseSchema.extend({
3804
3815
  eventType: external_exports.literal("queue.automation_resumed"),
3805
3816
  content: external_exports.null()
3806
3817
  }).strict();
@@ -3828,6 +3839,7 @@ var usageRecordedEventSchema = chatEventBaseSchema.extend({
3828
3839
  var chatEventSchema = external_exports.discriminatedUnion("eventType", [
3829
3840
  inputPromptEventSchema,
3830
3841
  inputAutomationEventSchema,
3842
+ inputGoalEventSchema,
3831
3843
  inputRejectedEventSchema,
3832
3844
  outputMessageEventSchema,
3833
3845
  outputErrorEventSchema,
@@ -3838,17 +3850,19 @@ var chatEventSchema = external_exports.discriminatedUnion("eventType", [
3838
3850
  runCompletedEventSchema,
3839
3851
  runFailedEventSchema,
3840
3852
  runCancelledEventSchema,
3841
- queueAutomationPausedEventSchema,
3842
- queueAutomationResumedEventSchema,
3843
3853
  controlInterruptEventSchema,
3844
3854
  controlRevokeEventSchema,
3845
3855
  goalChangedEventSchema,
3846
3856
  usageRecordedEventSchema
3847
3857
  ]);
3848
- var chatEventResponseSchema = chatEventSchema;
3849
- if (MATERIALIZED_CHAT_EVENT_TYPES.length !== chatEventSchema.options.length || !chatEventTypeSchema.options.includes("input.goal")) {
3858
+ var chatEventResponseSchema = external_exports.discriminatedUnion("eventType", [
3859
+ ...chatEventSchema.options,
3860
+ legacyQueueAutomationPausedEventSchema,
3861
+ legacyQueueAutomationResumedEventSchema
3862
+ ]);
3863
+ if (CHAT_EVENT_TYPES.length !== chatEventSchema.options.length) {
3850
3864
  throw new Error(
3851
- "ChatEvent schema must cover every materialized event catalog leaf"
3865
+ "ChatEvent schema must cover every registered event catalog leaf"
3852
3866
  );
3853
3867
  }
3854
3868
  var chatThreadDetailSchema = external_exports.object({
@@ -4562,6 +4576,9 @@ var artifactsContract = c13.router({
4562
4576
  summary: "Delete a resumable image artifact edit snapshot for the caller"
4563
4577
  }
4564
4578
  });
4579
+ function isCanonicalChatEventResponse(event) {
4580
+ return event.eventType !== "queue.automation_paused" && event.eventType !== "queue.automation_resumed";
4581
+ }
4565
4582
 
4566
4583
  // ../../packages/api-contracts/src/contracts/zero-agents.ts
4567
4584
  var c14 = initContract();
@@ -6419,7 +6436,7 @@ var SESSION_HISTORY_ENCODING_ZSTD = "zstd";
6419
6436
  var SESSION_HISTORY_DOWNLOAD_SOURCE_CONFIGURED_PUBLIC_ENDPOINT = "configured_public_endpoint";
6420
6437
  var SESSION_HISTORY_DOWNLOAD_SOURCE_DEFAULT_R2_ENDPOINT = "default_r2_endpoint";
6421
6438
  var SESSION_HISTORY_GZIP_MIN_BYTES = 64 * 1024;
6422
- var NETWORK_POLICY_REFRESH_CONNECTOR_REFS_MAX = 256;
6439
+ var NETWORK_POLICY_REFRESH_CONNECTOR_SLUGS_MAX = 256;
6423
6440
  var RUNNER_BUILTIN_FIREWALL_RESOLVE_NAMES_MAX = 512;
6424
6441
  var sessionHistoryEncodingSchema = external_exports.enum([
6425
6442
  SESSION_HISTORY_ENCODING_IDENTITY,
@@ -6897,14 +6914,44 @@ var runnersNetworkPolicyRefreshContract = c23.router({
6897
6914
  runId: external_exports.uuid()
6898
6915
  }),
6899
6916
  body: external_exports.object({
6900
- // TODO(#23619): Rename runner wire fields in a compatibility-safe rollout.
6901
- connectorRefs: external_exports.array(connectorSlugSchema).min(1).max(NETWORK_POLICY_REFRESH_CONNECTOR_REFS_MAX)
6917
+ connectorSlugs: external_exports.array(connectorSlugSchema).min(1).max(NETWORK_POLICY_REFRESH_CONNECTOR_SLUGS_MAX).optional(),
6918
+ // TODO(#23827): Remove after every pre-bridge runner has drained.
6919
+ connectorRefs: external_exports.array(connectorSlugSchema).min(1).max(NETWORK_POLICY_REFRESH_CONNECTOR_SLUGS_MAX).optional()
6920
+ }).superRefine((body, context) => {
6921
+ if (body.connectorSlugs === void 0 && body.connectorRefs === void 0) {
6922
+ context.addIssue({
6923
+ code: "custom",
6924
+ path: ["connectorSlugs"],
6925
+ message: "connectorSlugs or connectorRefs is required"
6926
+ });
6927
+ return;
6928
+ }
6929
+ if (body.connectorSlugs !== void 0 && body.connectorRefs !== void 0) {
6930
+ const connectorSlugs = new Set(body.connectorSlugs);
6931
+ const connectorRefs = new Set(body.connectorRefs);
6932
+ if (connectorSlugs.size !== connectorRefs.size || [...connectorSlugs].some((connectorSlug) => {
6933
+ return !connectorRefs.has(connectorSlug);
6934
+ })) {
6935
+ context.addIssue({
6936
+ code: "custom",
6937
+ path: ["connectorSlugs"],
6938
+ message: "must identify the same connectors as connectorRefs"
6939
+ });
6940
+ }
6941
+ }
6942
+ }).transform((body) => {
6943
+ return {
6944
+ connectorSlugs: [
6945
+ ...new Set(body.connectorSlugs ?? body.connectorRefs ?? [])
6946
+ ]
6947
+ };
6902
6948
  }),
6903
6949
  responses: {
6904
6950
  200: external_exports.object({
6905
6951
  refreshes: external_exports.array(
6906
6952
  external_exports.object({
6907
- // TODO(#23619): Keep the response aligned with the request rollout.
6953
+ connectorSlug: connectorSlugSchema,
6954
+ // TODO(#23827): Remove after every pre-bridge runner has drained.
6908
6955
  connectorRef: connectorSlugSchema,
6909
6956
  networkPolicy: networkPolicySchema,
6910
6957
  nextRefreshAt: external_exports.string().datetime({ offset: true }).nullable()
@@ -7618,8 +7665,7 @@ var webhookUsageEventItemSchema = external_exports.object({
7618
7665
  kind: external_exports.enum(["connector", "model", "image"]),
7619
7666
  provider: external_exports.string().min(1).max(100),
7620
7667
  category: external_exports.string().min(1).max(100),
7621
- quantity: external_exports.number().int().min(0),
7622
- grossCredits: external_exports.number().int().min(0).optional()
7668
+ quantity: external_exports.number().int().min(0)
7623
7669
  }).strict();
7624
7670
  var webhookUsageEventContract = c24.router({
7625
7671
  send: {
@@ -8055,7 +8101,7 @@ async function listZeroChatEvents(options) {
8055
8101
  });
8056
8102
  if (result.status === 200) {
8057
8103
  return {
8058
- events: result.body.events,
8104
+ events: result.body.events.filter(isCanonicalChatEventResponse),
8059
8105
  hasHistoryBefore: result.body.hasHistoryBefore ?? false
8060
8106
  };
8061
8107
  }
@@ -9052,8 +9098,9 @@ async function fetchComputerUsePluginContent(commandId) {
9052
9098
  init_esm_shims();
9053
9099
  var c28 = initContract();
9054
9100
  var ZERO_BROWSER_IDLE_LEASE_MINUTES = 10;
9055
- var ZERO_BROWSER_DEFAULT_MAX_CREDITS = 500;
9056
- var ZERO_BROWSER_MAX_CREDITS = 1e5;
9101
+ var ZERO_BROWSER_SCREEN_WIDTH = 1440;
9102
+ var ZERO_BROWSER_MIN_SCREEN_HEIGHT = 320;
9103
+ var ZERO_BROWSER_MAX_SCREEN_HEIGHT = 3456;
9057
9104
  var zeroBrowserStatusSchema = external_exports.enum([
9058
9105
  "creating",
9059
9106
  "active",
@@ -9067,10 +9114,16 @@ var zeroBrowserSuspensionReasonSchema = external_exports.enum([
9067
9114
  "run_end",
9068
9115
  "idle",
9069
9116
  "timeout",
9117
+ // Historical reason kept for rows written before browser billing was removed.
9070
9118
  "budget",
9071
9119
  "provider",
9072
9120
  "reconcile"
9073
9121
  ]);
9122
+ var zeroBrowserScreenSchema = external_exports.object({
9123
+ width: external_exports.literal(ZERO_BROWSER_SCREEN_WIDTH),
9124
+ height: external_exports.number().int().min(ZERO_BROWSER_MIN_SCREEN_HEIGHT).max(ZERO_BROWSER_MAX_SCREEN_HEIGHT),
9125
+ resizable: external_exports.boolean()
9126
+ });
9074
9127
  var zeroBrowserSessionSchema = external_exports.object({
9075
9128
  id: external_exports.uuid(),
9076
9129
  name: external_exports.string().min(1).max(64),
@@ -9079,9 +9132,15 @@ var zeroBrowserSessionSchema = external_exports.object({
9079
9132
  liveUrl: external_exports.url().nullable(),
9080
9133
  proxyCountryCode: external_exports.string().length(2).nullable(),
9081
9134
  timeoutMinutes: external_exports.number().int().positive(),
9135
+ // Deprecated compatibility fields for clients deployed before browser
9136
+ // billing moved to organization concurrency. Remove after that client
9137
+ // version has drained.
9082
9138
  maxCredits: external_exports.number().int().positive(),
9083
9139
  grossCredits: external_exports.number().int().nonnegative(),
9084
9140
  creditsCharged: external_exports.number().int().nonnegative(),
9141
+ // Optional so a newly deployed frontend remains compatible with the
9142
+ // previous API during rollout. New APIs include it for live instances.
9143
+ screen: zeroBrowserScreenSchema.optional(),
9085
9144
  // When Zero reclaims the live provider instance unless somebody leases it
9086
9145
  // again. Null once no provider instance is running.
9087
9146
  idleExpiresAt: external_exports.iso.datetime().nullable(),
@@ -9094,8 +9153,7 @@ var zeroBrowserCreateRequestSchema = external_exports.object({
9094
9153
  name: external_exports.string().trim().min(1).max(64).default("browser"),
9095
9154
  proxyCountryCode: external_exports.string().trim().length(2).transform((value) => {
9096
9155
  return value.toLowerCase();
9097
- }).nullable().default(null),
9098
- maxCredits: external_exports.number().int().min(1).max(ZERO_BROWSER_MAX_CREDITS).default(ZERO_BROWSER_DEFAULT_MAX_CREDITS)
9156
+ }).nullable().default(null)
9099
9157
  });
9100
9158
  var browserIdParamsSchema = external_exports.object({
9101
9159
  browserId: external_exports.uuid()
@@ -9106,6 +9164,9 @@ var browserGetQuerySchema = external_exports.object({
9106
9164
  var browserResponseSchema = external_exports.object({
9107
9165
  browser: zeroBrowserSessionSchema
9108
9166
  });
9167
+ var browserResizeRequestSchema = external_exports.object({
9168
+ aspectRatio: external_exports.number().positive().finite()
9169
+ });
9109
9170
  var browserAuthorizationRequestTokenPathParamsSchema = external_exports.object({
9110
9171
  requestToken: external_exports.string().min(1)
9111
9172
  });
@@ -9128,7 +9189,6 @@ var browserConnectionResponseSchema = browserResponseSchema.extend({
9128
9189
  var commonErrorResponses = {
9129
9190
  400: apiErrorSchema,
9130
9191
  401: apiErrorSchema,
9131
- 402: apiErrorSchema,
9132
9192
  403: apiErrorSchema,
9133
9193
  404: apiErrorSchema,
9134
9194
  409: apiErrorSchema,
@@ -9202,7 +9262,19 @@ var zeroBrowserContract = c28.router({
9202
9262
  200: browserResponseSchema,
9203
9263
  ...commonErrorResponses
9204
9264
  },
9205
- summary: "Resume a suspended browser from its viewer and start billing it"
9265
+ summary: "Resume a suspended browser from its viewer"
9266
+ },
9267
+ resizeById: {
9268
+ method: "POST",
9269
+ path: "/api/zero/browsers/:browserId/resize",
9270
+ headers: authHeadersSchema,
9271
+ pathParams: browserIdParamsSchema,
9272
+ body: browserResizeRequestSchema,
9273
+ responses: {
9274
+ 200: browserResponseSchema,
9275
+ ...commonErrorResponses
9276
+ },
9277
+ summary: "Resize a live browser to match a viewer aspect ratio"
9206
9278
  },
9207
9279
  current: {
9208
9280
  method: "GET",
@@ -13303,8 +13375,6 @@ export {
13303
13375
  fetchComputerUseScreenshot,
13304
13376
  fetchComputerUsePluginContent,
13305
13377
  ZERO_BROWSER_IDLE_LEASE_MINUTES,
13306
- ZERO_BROWSER_DEFAULT_MAX_CREDITS,
13307
- ZERO_BROWSER_MAX_CREDITS,
13308
13378
  zeroBrowserCreateRequestSchema,
13309
13379
  createBrowserAuthorizationRequest,
13310
13380
  createZeroBrowser,
@@ -13345,4 +13415,4 @@ export {
13345
13415
  getHostedSiteFiles,
13346
13416
  getHostedSiteDeployments
13347
13417
  };
13348
- //# sourceMappingURL=chunk-K36BESR5.js.map
13418
+ //# sourceMappingURL=chunk-WTB4K3Z6.js.map