@opengeni/agent-proto 0.1.0 → 0.2.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeni/agent-proto",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Generated TypeScript wire-protocol types for the OpenGeni self-hosted agent — the control-plane side of the single-source-of-truth codegen from agent/proto/opengeni_agent.proto.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -10,13 +10,13 @@
10
10
  },
11
11
  "type": "module",
12
12
  "sideEffects": false,
13
- "main": "./src/index.ts",
14
- "module": "./src/index.ts",
15
- "types": "./src/index.ts",
13
+ "main": "./dist/index.js",
14
+ "module": "./dist/index.js",
15
+ "types": "./dist/index.d.ts",
16
16
  "exports": {
17
17
  ".": {
18
- "types": "./src/index.ts",
19
- "default": "./src/index.ts"
18
+ "types": "./dist/index.d.ts",
19
+ "import": "./dist/index.js"
20
20
  }
21
21
  },
22
22
  "files": [
@@ -807,11 +807,21 @@ export interface EnrollmentCredentials {
807
807
  agentId: string;
808
808
  workspaceId: string;
809
809
  /**
810
- * NATS Account credentials (creds-file body) for the control plane connection.
811
- * Account isolation is the tenancy boundary.
810
+ * The NATS CONNECT AUTH-TOKEN the agent presents (the signed `oge_` enrollment
811
+ * bearer). The server runs with AUTH CALLOUT (dossier §10.1 / M-AUTH): on connect
812
+ * the agent passes this as the auth-token; nats-server issues an authorization
813
+ * request to the control-plane's callout responder, which validates the bearer
814
+ * and returns a SIGNED user JWT scoping the connection to pub/sub ONLY
815
+ * `agent.<ws>.>` (+ `_INBOX.>`). That per-subject scope IS the per-workspace
816
+ * tenancy boundary — there is NO per-machine creds file to ship. (Field name kept
817
+ * for proto stability; it now carries the bearer, not an operator creds-file body.)
812
818
  */
813
819
  natsCredentials: string;
814
- /** The NATS server URL(s) to dial. */
820
+ /**
821
+ * The NATS server URL(s) to dial. For the control plane these are `wss://` URLs
822
+ * (the relay-symmetric TLS ingress) so the agent rides the same TLS endpoint as
823
+ * the stream relay — no separate public TCP load balancer (dossier M-AUTH).
824
+ */
815
825
  natsUrls: string[];
816
826
  /** The relay edge base URL for opening stream channels. */
817
827
  relayUrl: string;
@@ -1066,6 +1076,39 @@ export interface DesktopEnsureResponse {
1066
1076
  display: Display | undefined;
1067
1077
  }
1068
1078
 
1079
+ /**
1080
+ * Inject one synthetic computer-use input event on the machine's desktop — the
1081
+ * CONTROL-PLANE twin of the relay DesktopInput (the agent drives its OWN screen
1082
+ * for computer-use; there is no human viewer channel). Reuses the relay
1083
+ * DesktopInput event shapes; there is no channel_id (this goes straight to the
1084
+ * display, not a relay channel). Injection is gated on consented_screen_control:
1085
+ * an ungated call fails with ERROR_CODE_CONSENT_REQUIRED and never touches the OS.
1086
+ */
1087
+ export interface DesktopInputRequest {
1088
+ event: { $case: "pointer"; pointer: PointerEvent } | { $case: "key"; key: KeyEvent } | {
1089
+ $case: "scroll";
1090
+ scroll: ScrollEvent;
1091
+ } | undefined;
1092
+ }
1093
+
1094
+ export interface DesktopInputResponse {
1095
+ }
1096
+
1097
+ /**
1098
+ * Capture a single screenshot of the machine's desktop as a PNG. A VIEW op: it
1099
+ * needs a display, NOT screen-control consent (the view/control decoupling), so
1100
+ * it is not consent-gated. Returns the encoded image plus its geometry so the
1101
+ * caller can size a canvas without decoding.
1102
+ */
1103
+ export interface DesktopScreenshotRequest {
1104
+ }
1105
+
1106
+ export interface DesktopScreenshotResponse {
1107
+ png: Uint8Array;
1108
+ width: number;
1109
+ height: number;
1110
+ }
1111
+
1069
1112
  /**
1070
1113
  * The agent's periodic liveness ping. Carries a metrics sample so the control
1071
1114
  * plane can upsert the machine's last-sample without a separate RPC. The
@@ -1263,6 +1306,8 @@ export interface ControlRequest {
1263
1306
  | { $case: "desktopEnsure"; desktopEnsure: DesktopEnsureRequest }
1264
1307
  | { $case: "metrics"; metrics: MetricsRequest }
1265
1308
  | { $case: "updateMayProceed"; updateMayProceed: UpdateMayProceedRequest }
1309
+ | { $case: "desktopInput"; desktopInput: DesktopInputRequest }
1310
+ | { $case: "desktopScreenshot"; desktopScreenshot: DesktopScreenshotRequest }
1266
1311
  | undefined;
1267
1312
  }
1268
1313
 
@@ -1291,6 +1336,8 @@ export interface ControlResponse {
1291
1336
  | { $case: "desktopEnsure"; desktopEnsure: DesktopEnsureResponse }
1292
1337
  | { $case: "metrics"; metrics: MetricsSample }
1293
1338
  | { $case: "updateMayProceed"; updateMayProceed: UpdateMayProceedResponse }
1339
+ | { $case: "desktopInput"; desktopInput: DesktopInputResponse }
1340
+ | { $case: "desktopScreenshot"; desktopScreenshot: DesktopScreenshotResponse }
1294
1341
  | undefined;
1295
1342
  }
1296
1343
 
@@ -5743,6 +5790,297 @@ export const DesktopEnsureResponse: MessageFns<DesktopEnsureResponse> = {
5743
5790
  },
5744
5791
  };
5745
5792
 
5793
+ function createBaseDesktopInputRequest(): DesktopInputRequest {
5794
+ return { event: undefined };
5795
+ }
5796
+
5797
+ export const DesktopInputRequest: MessageFns<DesktopInputRequest> = {
5798
+ encode(message: DesktopInputRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
5799
+ switch (message.event?.$case) {
5800
+ case "pointer":
5801
+ PointerEvent.encode(message.event.pointer, writer.uint32(10).fork()).join();
5802
+ break;
5803
+ case "key":
5804
+ KeyEvent.encode(message.event.key, writer.uint32(18).fork()).join();
5805
+ break;
5806
+ case "scroll":
5807
+ ScrollEvent.encode(message.event.scroll, writer.uint32(26).fork()).join();
5808
+ break;
5809
+ }
5810
+ return writer;
5811
+ },
5812
+
5813
+ decode(input: BinaryReader | Uint8Array, length?: number): DesktopInputRequest {
5814
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5815
+ const end = length === undefined ? reader.len : reader.pos + length;
5816
+ const message = createBaseDesktopInputRequest();
5817
+ while (reader.pos < end) {
5818
+ const tag = reader.uint32();
5819
+ switch (tag >>> 3) {
5820
+ case 1: {
5821
+ if (tag !== 10) {
5822
+ break;
5823
+ }
5824
+
5825
+ message.event = { $case: "pointer", pointer: PointerEvent.decode(reader, reader.uint32()) };
5826
+ continue;
5827
+ }
5828
+ case 2: {
5829
+ if (tag !== 18) {
5830
+ break;
5831
+ }
5832
+
5833
+ message.event = { $case: "key", key: KeyEvent.decode(reader, reader.uint32()) };
5834
+ continue;
5835
+ }
5836
+ case 3: {
5837
+ if (tag !== 26) {
5838
+ break;
5839
+ }
5840
+
5841
+ message.event = { $case: "scroll", scroll: ScrollEvent.decode(reader, reader.uint32()) };
5842
+ continue;
5843
+ }
5844
+ }
5845
+ if ((tag & 7) === 4 || tag === 0) {
5846
+ break;
5847
+ }
5848
+ reader.skip(tag & 7);
5849
+ }
5850
+ return message;
5851
+ },
5852
+
5853
+ fromJSON(object: any): DesktopInputRequest {
5854
+ return {
5855
+ event: isSet(object.pointer)
5856
+ ? { $case: "pointer", pointer: PointerEvent.fromJSON(object.pointer) }
5857
+ : isSet(object.key)
5858
+ ? { $case: "key", key: KeyEvent.fromJSON(object.key) }
5859
+ : isSet(object.scroll)
5860
+ ? { $case: "scroll", scroll: ScrollEvent.fromJSON(object.scroll) }
5861
+ : undefined,
5862
+ };
5863
+ },
5864
+
5865
+ toJSON(message: DesktopInputRequest): unknown {
5866
+ const obj: any = {};
5867
+ if (message.event?.$case === "pointer") {
5868
+ obj.pointer = PointerEvent.toJSON(message.event.pointer);
5869
+ } else if (message.event?.$case === "key") {
5870
+ obj.key = KeyEvent.toJSON(message.event.key);
5871
+ } else if (message.event?.$case === "scroll") {
5872
+ obj.scroll = ScrollEvent.toJSON(message.event.scroll);
5873
+ }
5874
+ return obj;
5875
+ },
5876
+
5877
+ create<I extends Exact<DeepPartial<DesktopInputRequest>, I>>(base?: I): DesktopInputRequest {
5878
+ return DesktopInputRequest.fromPartial(base ?? ({} as any));
5879
+ },
5880
+ fromPartial<I extends Exact<DeepPartial<DesktopInputRequest>, I>>(object: I): DesktopInputRequest {
5881
+ const message = createBaseDesktopInputRequest();
5882
+ switch (object.event?.$case) {
5883
+ case "pointer": {
5884
+ if (object.event?.pointer !== undefined && object.event?.pointer !== null) {
5885
+ message.event = { $case: "pointer", pointer: PointerEvent.fromPartial(object.event.pointer) };
5886
+ }
5887
+ break;
5888
+ }
5889
+ case "key": {
5890
+ if (object.event?.key !== undefined && object.event?.key !== null) {
5891
+ message.event = { $case: "key", key: KeyEvent.fromPartial(object.event.key) };
5892
+ }
5893
+ break;
5894
+ }
5895
+ case "scroll": {
5896
+ if (object.event?.scroll !== undefined && object.event?.scroll !== null) {
5897
+ message.event = { $case: "scroll", scroll: ScrollEvent.fromPartial(object.event.scroll) };
5898
+ }
5899
+ break;
5900
+ }
5901
+ }
5902
+ return message;
5903
+ },
5904
+ };
5905
+
5906
+ function createBaseDesktopInputResponse(): DesktopInputResponse {
5907
+ return {};
5908
+ }
5909
+
5910
+ export const DesktopInputResponse: MessageFns<DesktopInputResponse> = {
5911
+ encode(_: DesktopInputResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
5912
+ return writer;
5913
+ },
5914
+
5915
+ decode(input: BinaryReader | Uint8Array, length?: number): DesktopInputResponse {
5916
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5917
+ const end = length === undefined ? reader.len : reader.pos + length;
5918
+ const message = createBaseDesktopInputResponse();
5919
+ while (reader.pos < end) {
5920
+ const tag = reader.uint32();
5921
+ switch (tag >>> 3) {
5922
+ }
5923
+ if ((tag & 7) === 4 || tag === 0) {
5924
+ break;
5925
+ }
5926
+ reader.skip(tag & 7);
5927
+ }
5928
+ return message;
5929
+ },
5930
+
5931
+ fromJSON(_: any): DesktopInputResponse {
5932
+ return {};
5933
+ },
5934
+
5935
+ toJSON(_: DesktopInputResponse): unknown {
5936
+ const obj: any = {};
5937
+ return obj;
5938
+ },
5939
+
5940
+ create<I extends Exact<DeepPartial<DesktopInputResponse>, I>>(base?: I): DesktopInputResponse {
5941
+ return DesktopInputResponse.fromPartial(base ?? ({} as any));
5942
+ },
5943
+ fromPartial<I extends Exact<DeepPartial<DesktopInputResponse>, I>>(_: I): DesktopInputResponse {
5944
+ const message = createBaseDesktopInputResponse();
5945
+ return message;
5946
+ },
5947
+ };
5948
+
5949
+ function createBaseDesktopScreenshotRequest(): DesktopScreenshotRequest {
5950
+ return {};
5951
+ }
5952
+
5953
+ export const DesktopScreenshotRequest: MessageFns<DesktopScreenshotRequest> = {
5954
+ encode(_: DesktopScreenshotRequest, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
5955
+ return writer;
5956
+ },
5957
+
5958
+ decode(input: BinaryReader | Uint8Array, length?: number): DesktopScreenshotRequest {
5959
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
5960
+ const end = length === undefined ? reader.len : reader.pos + length;
5961
+ const message = createBaseDesktopScreenshotRequest();
5962
+ while (reader.pos < end) {
5963
+ const tag = reader.uint32();
5964
+ switch (tag >>> 3) {
5965
+ }
5966
+ if ((tag & 7) === 4 || tag === 0) {
5967
+ break;
5968
+ }
5969
+ reader.skip(tag & 7);
5970
+ }
5971
+ return message;
5972
+ },
5973
+
5974
+ fromJSON(_: any): DesktopScreenshotRequest {
5975
+ return {};
5976
+ },
5977
+
5978
+ toJSON(_: DesktopScreenshotRequest): unknown {
5979
+ const obj: any = {};
5980
+ return obj;
5981
+ },
5982
+
5983
+ create<I extends Exact<DeepPartial<DesktopScreenshotRequest>, I>>(base?: I): DesktopScreenshotRequest {
5984
+ return DesktopScreenshotRequest.fromPartial(base ?? ({} as any));
5985
+ },
5986
+ fromPartial<I extends Exact<DeepPartial<DesktopScreenshotRequest>, I>>(_: I): DesktopScreenshotRequest {
5987
+ const message = createBaseDesktopScreenshotRequest();
5988
+ return message;
5989
+ },
5990
+ };
5991
+
5992
+ function createBaseDesktopScreenshotResponse(): DesktopScreenshotResponse {
5993
+ return { png: new Uint8Array(0), width: 0, height: 0 };
5994
+ }
5995
+
5996
+ export const DesktopScreenshotResponse: MessageFns<DesktopScreenshotResponse> = {
5997
+ encode(message: DesktopScreenshotResponse, writer: BinaryWriter = new BinaryWriter()): BinaryWriter {
5998
+ if (message.png.length !== 0) {
5999
+ writer.uint32(10).bytes(message.png);
6000
+ }
6001
+ if (message.width !== 0) {
6002
+ writer.uint32(16).uint32(message.width);
6003
+ }
6004
+ if (message.height !== 0) {
6005
+ writer.uint32(24).uint32(message.height);
6006
+ }
6007
+ return writer;
6008
+ },
6009
+
6010
+ decode(input: BinaryReader | Uint8Array, length?: number): DesktopScreenshotResponse {
6011
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
6012
+ const end = length === undefined ? reader.len : reader.pos + length;
6013
+ const message = createBaseDesktopScreenshotResponse();
6014
+ while (reader.pos < end) {
6015
+ const tag = reader.uint32();
6016
+ switch (tag >>> 3) {
6017
+ case 1: {
6018
+ if (tag !== 10) {
6019
+ break;
6020
+ }
6021
+
6022
+ message.png = reader.bytes();
6023
+ continue;
6024
+ }
6025
+ case 2: {
6026
+ if (tag !== 16) {
6027
+ break;
6028
+ }
6029
+
6030
+ message.width = reader.uint32();
6031
+ continue;
6032
+ }
6033
+ case 3: {
6034
+ if (tag !== 24) {
6035
+ break;
6036
+ }
6037
+
6038
+ message.height = reader.uint32();
6039
+ continue;
6040
+ }
6041
+ }
6042
+ if ((tag & 7) === 4 || tag === 0) {
6043
+ break;
6044
+ }
6045
+ reader.skip(tag & 7);
6046
+ }
6047
+ return message;
6048
+ },
6049
+
6050
+ fromJSON(object: any): DesktopScreenshotResponse {
6051
+ return {
6052
+ png: isSet(object.png) ? bytesFromBase64(object.png) : new Uint8Array(0),
6053
+ width: isSet(object.width) ? globalThis.Number(object.width) : 0,
6054
+ height: isSet(object.height) ? globalThis.Number(object.height) : 0,
6055
+ };
6056
+ },
6057
+
6058
+ toJSON(message: DesktopScreenshotResponse): unknown {
6059
+ const obj: any = {};
6060
+ if (message.png.length !== 0) {
6061
+ obj.png = base64FromBytes(message.png);
6062
+ }
6063
+ if (message.width !== 0) {
6064
+ obj.width = Math.round(message.width);
6065
+ }
6066
+ if (message.height !== 0) {
6067
+ obj.height = Math.round(message.height);
6068
+ }
6069
+ return obj;
6070
+ },
6071
+
6072
+ create<I extends Exact<DeepPartial<DesktopScreenshotResponse>, I>>(base?: I): DesktopScreenshotResponse {
6073
+ return DesktopScreenshotResponse.fromPartial(base ?? ({} as any));
6074
+ },
6075
+ fromPartial<I extends Exact<DeepPartial<DesktopScreenshotResponse>, I>>(object: I): DesktopScreenshotResponse {
6076
+ const message = createBaseDesktopScreenshotResponse();
6077
+ message.png = object.png ?? new Uint8Array(0);
6078
+ message.width = object.width ?? 0;
6079
+ message.height = object.height ?? 0;
6080
+ return message;
6081
+ },
6082
+ };
6083
+
5746
6084
  function createBaseHeartbeat(): Heartbeat {
5747
6085
  return { seq: "0", uptimeMs: "0", activeSessions: 0, metrics: undefined, draining: false };
5748
6086
  }
@@ -7580,6 +7918,12 @@ export const ControlRequest: MessageFns<ControlRequest> = {
7580
7918
  case "updateMayProceed":
7581
7919
  UpdateMayProceedRequest.encode(message.op.updateMayProceed, writer.uint32(226).fork()).join();
7582
7920
  break;
7921
+ case "desktopInput":
7922
+ DesktopInputRequest.encode(message.op.desktopInput, writer.uint32(234).fork()).join();
7923
+ break;
7924
+ case "desktopScreenshot":
7925
+ DesktopScreenshotRequest.encode(message.op.desktopScreenshot, writer.uint32(242).fork()).join();
7926
+ break;
7583
7927
  }
7584
7928
  return writer;
7585
7929
  },
@@ -7762,6 +8106,25 @@ export const ControlRequest: MessageFns<ControlRequest> = {
7762
8106
  };
7763
8107
  continue;
7764
8108
  }
8109
+ case 29: {
8110
+ if (tag !== 234) {
8111
+ break;
8112
+ }
8113
+
8114
+ message.op = { $case: "desktopInput", desktopInput: DesktopInputRequest.decode(reader, reader.uint32()) };
8115
+ continue;
8116
+ }
8117
+ case 30: {
8118
+ if (tag !== 242) {
8119
+ break;
8120
+ }
8121
+
8122
+ message.op = {
8123
+ $case: "desktopScreenshot",
8124
+ desktopScreenshot: DesktopScreenshotRequest.decode(reader, reader.uint32()),
8125
+ };
8126
+ continue;
8127
+ }
7765
8128
  }
7766
8129
  if ((tag & 7) === 4 || tag === 0) {
7767
8130
  break;
@@ -7843,6 +8206,17 @@ export const ControlRequest: MessageFns<ControlRequest> = {
7843
8206
  ? { $case: "updateMayProceed", updateMayProceed: UpdateMayProceedRequest.fromJSON(object.updateMayProceed) }
7844
8207
  : isSet(object.update_may_proceed)
7845
8208
  ? { $case: "updateMayProceed", updateMayProceed: UpdateMayProceedRequest.fromJSON(object.update_may_proceed) }
8209
+ : isSet(object.desktopInput)
8210
+ ? { $case: "desktopInput", desktopInput: DesktopInputRequest.fromJSON(object.desktopInput) }
8211
+ : isSet(object.desktop_input)
8212
+ ? { $case: "desktopInput", desktopInput: DesktopInputRequest.fromJSON(object.desktop_input) }
8213
+ : isSet(object.desktopScreenshot)
8214
+ ? { $case: "desktopScreenshot", desktopScreenshot: DesktopScreenshotRequest.fromJSON(object.desktopScreenshot) }
8215
+ : isSet(object.desktop_screenshot)
8216
+ ? {
8217
+ $case: "desktopScreenshot",
8218
+ desktopScreenshot: DesktopScreenshotRequest.fromJSON(object.desktop_screenshot),
8219
+ }
7846
8220
  : undefined,
7847
8221
  };
7848
8222
  },
@@ -7893,6 +8267,10 @@ export const ControlRequest: MessageFns<ControlRequest> = {
7893
8267
  obj.metrics = MetricsRequest.toJSON(message.op.metrics);
7894
8268
  } else if (message.op?.$case === "updateMayProceed") {
7895
8269
  obj.updateMayProceed = UpdateMayProceedRequest.toJSON(message.op.updateMayProceed);
8270
+ } else if (message.op?.$case === "desktopInput") {
8271
+ obj.desktopInput = DesktopInputRequest.toJSON(message.op.desktopInput);
8272
+ } else if (message.op?.$case === "desktopScreenshot") {
8273
+ obj.desktopScreenshot = DesktopScreenshotRequest.toJSON(message.op.desktopScreenshot);
7896
8274
  }
7897
8275
  return obj;
7898
8276
  },
@@ -8025,6 +8403,21 @@ export const ControlRequest: MessageFns<ControlRequest> = {
8025
8403
  }
8026
8404
  break;
8027
8405
  }
8406
+ case "desktopInput": {
8407
+ if (object.op?.desktopInput !== undefined && object.op?.desktopInput !== null) {
8408
+ message.op = { $case: "desktopInput", desktopInput: DesktopInputRequest.fromPartial(object.op.desktopInput) };
8409
+ }
8410
+ break;
8411
+ }
8412
+ case "desktopScreenshot": {
8413
+ if (object.op?.desktopScreenshot !== undefined && object.op?.desktopScreenshot !== null) {
8414
+ message.op = {
8415
+ $case: "desktopScreenshot",
8416
+ desktopScreenshot: DesktopScreenshotRequest.fromPartial(object.op.desktopScreenshot),
8417
+ };
8418
+ }
8419
+ break;
8420
+ }
8028
8421
  }
8029
8422
  return message;
8030
8423
  },
@@ -8100,6 +8493,12 @@ export const ControlResponse: MessageFns<ControlResponse> = {
8100
8493
  case "updateMayProceed":
8101
8494
  UpdateMayProceedResponse.encode(message.result.updateMayProceed, writer.uint32(226).fork()).join();
8102
8495
  break;
8496
+ case "desktopInput":
8497
+ DesktopInputResponse.encode(message.result.desktopInput, writer.uint32(234).fork()).join();
8498
+ break;
8499
+ case "desktopScreenshot":
8500
+ DesktopScreenshotResponse.encode(message.result.desktopScreenshot, writer.uint32(242).fork()).join();
8501
+ break;
8103
8502
  }
8104
8503
  return writer;
8105
8504
  },
@@ -8285,6 +8684,28 @@ export const ControlResponse: MessageFns<ControlResponse> = {
8285
8684
  };
8286
8685
  continue;
8287
8686
  }
8687
+ case 29: {
8688
+ if (tag !== 234) {
8689
+ break;
8690
+ }
8691
+
8692
+ message.result = {
8693
+ $case: "desktopInput",
8694
+ desktopInput: DesktopInputResponse.decode(reader, reader.uint32()),
8695
+ };
8696
+ continue;
8697
+ }
8698
+ case 30: {
8699
+ if (tag !== 242) {
8700
+ break;
8701
+ }
8702
+
8703
+ message.result = {
8704
+ $case: "desktopScreenshot",
8705
+ desktopScreenshot: DesktopScreenshotResponse.decode(reader, reader.uint32()),
8706
+ };
8707
+ continue;
8708
+ }
8288
8709
  }
8289
8710
  if ((tag & 7) === 4 || tag === 0) {
8290
8711
  break;
@@ -8366,6 +8787,20 @@ export const ControlResponse: MessageFns<ControlResponse> = {
8366
8787
  ? { $case: "updateMayProceed", updateMayProceed: UpdateMayProceedResponse.fromJSON(object.updateMayProceed) }
8367
8788
  : isSet(object.update_may_proceed)
8368
8789
  ? { $case: "updateMayProceed", updateMayProceed: UpdateMayProceedResponse.fromJSON(object.update_may_proceed) }
8790
+ : isSet(object.desktopInput)
8791
+ ? { $case: "desktopInput", desktopInput: DesktopInputResponse.fromJSON(object.desktopInput) }
8792
+ : isSet(object.desktop_input)
8793
+ ? { $case: "desktopInput", desktopInput: DesktopInputResponse.fromJSON(object.desktop_input) }
8794
+ : isSet(object.desktopScreenshot)
8795
+ ? {
8796
+ $case: "desktopScreenshot",
8797
+ desktopScreenshot: DesktopScreenshotResponse.fromJSON(object.desktopScreenshot),
8798
+ }
8799
+ : isSet(object.desktop_screenshot)
8800
+ ? {
8801
+ $case: "desktopScreenshot",
8802
+ desktopScreenshot: DesktopScreenshotResponse.fromJSON(object.desktop_screenshot),
8803
+ }
8369
8804
  : undefined,
8370
8805
  };
8371
8806
  },
@@ -8416,6 +8851,10 @@ export const ControlResponse: MessageFns<ControlResponse> = {
8416
8851
  obj.metrics = MetricsSample.toJSON(message.result.metrics);
8417
8852
  } else if (message.result?.$case === "updateMayProceed") {
8418
8853
  obj.updateMayProceed = UpdateMayProceedResponse.toJSON(message.result.updateMayProceed);
8854
+ } else if (message.result?.$case === "desktopInput") {
8855
+ obj.desktopInput = DesktopInputResponse.toJSON(message.result.desktopInput);
8856
+ } else if (message.result?.$case === "desktopScreenshot") {
8857
+ obj.desktopScreenshot = DesktopScreenshotResponse.toJSON(message.result.desktopScreenshot);
8419
8858
  }
8420
8859
  return obj;
8421
8860
  },
@@ -8550,6 +8989,24 @@ export const ControlResponse: MessageFns<ControlResponse> = {
8550
8989
  }
8551
8990
  break;
8552
8991
  }
8992
+ case "desktopInput": {
8993
+ if (object.result?.desktopInput !== undefined && object.result?.desktopInput !== null) {
8994
+ message.result = {
8995
+ $case: "desktopInput",
8996
+ desktopInput: DesktopInputResponse.fromPartial(object.result.desktopInput),
8997
+ };
8998
+ }
8999
+ break;
9000
+ }
9001
+ case "desktopScreenshot": {
9002
+ if (object.result?.desktopScreenshot !== undefined && object.result?.desktopScreenshot !== null) {
9003
+ message.result = {
9004
+ $case: "desktopScreenshot",
9005
+ desktopScreenshot: DesktopScreenshotResponse.fromPartial(object.result.desktopScreenshot),
9006
+ };
9007
+ }
9008
+ break;
9009
+ }
8553
9010
  }
8554
9011
  return message;
8555
9012
  },