@rivetkit/engine-runner-protocol 2.0.24-rc.1 → 2.0.24

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/dist/index.d.ts CHANGED
@@ -10,6 +10,15 @@ declare function writeId(bc: bare.ByteCursor, x: Id): void;
10
10
  type Json = string;
11
11
  declare function readJson(bc: bare.ByteCursor): Json;
12
12
  declare function writeJson(bc: bare.ByteCursor, x: Json): void;
13
+ type GatewayId = ArrayBuffer;
14
+ declare function readGatewayId(bc: bare.ByteCursor): GatewayId;
15
+ declare function writeGatewayId(bc: bare.ByteCursor, x: GatewayId): void;
16
+ type RequestId = ArrayBuffer;
17
+ declare function readRequestId(bc: bare.ByteCursor): RequestId;
18
+ declare function writeRequestId(bc: bare.ByteCursor, x: RequestId): void;
19
+ type MessageIndex = u16;
20
+ declare function readMessageIndex(bc: bare.ByteCursor): MessageIndex;
21
+ declare function writeMessageIndex(bc: bare.ByteCursor, x: MessageIndex): void;
13
22
  /**
14
23
  * Basic types
15
24
  */
@@ -21,6 +30,9 @@ declare function readKvValue(bc: bare.ByteCursor): KvValue;
21
30
  declare function writeKvValue(bc: bare.ByteCursor, x: KvValue): void;
22
31
  type KvMetadata = {
23
32
  readonly version: ArrayBuffer;
33
+ /**
34
+ * TODO: Rename to update_ts
35
+ */
24
36
  readonly createTs: i64;
25
37
  };
26
38
  declare function readKvMetadata(bc: bare.ByteCursor): KvMetadata;
@@ -244,10 +256,17 @@ type EventWrapper = {
244
256
  };
245
257
  declare function readEventWrapper(bc: bare.ByteCursor): EventWrapper;
246
258
  declare function writeEventWrapper(bc: bare.ByteCursor, x: EventWrapper): void;
259
+ type HibernatingRequest = {
260
+ readonly gatewayId: GatewayId;
261
+ readonly requestId: RequestId;
262
+ };
263
+ declare function readHibernatingRequest(bc: bare.ByteCursor): HibernatingRequest;
264
+ declare function writeHibernatingRequest(bc: bare.ByteCursor, x: HibernatingRequest): void;
247
265
  type CommandStartActor = {
248
266
  readonly actorId: Id;
249
267
  readonly generation: u32;
250
268
  readonly config: ActorConfig;
269
+ readonly hibernatingRequests: readonly HibernatingRequest[];
251
270
  };
252
271
  declare function readCommandStartActor(bc: bare.ByteCursor): CommandStartActor;
253
272
  declare function writeCommandStartActor(bc: bare.ByteCursor, x: CommandStartActor): void;
@@ -272,19 +291,23 @@ type CommandWrapper = {
272
291
  };
273
292
  declare function readCommandWrapper(bc: bare.ByteCursor): CommandWrapper;
274
293
  declare function writeCommandWrapper(bc: bare.ByteCursor, x: CommandWrapper): void;
275
- type RequestId = ArrayBuffer;
276
- declare function readRequestId(bc: bare.ByteCursor): RequestId;
277
- declare function writeRequestId(bc: bare.ByteCursor, x: RequestId): void;
278
- /**
279
- * UUIDv4
280
- */
281
- type MessageId = ArrayBuffer;
294
+ type MessageId = {
295
+ /**
296
+ * Globally unique ID
297
+ */
298
+ readonly gatewayId: GatewayId;
299
+ /**
300
+ * Unique ID to the gateway
301
+ */
302
+ readonly requestId: RequestId;
303
+ /**
304
+ * Unique ID to the request
305
+ */
306
+ readonly messageIndex: MessageIndex;
307
+ };
282
308
  declare function readMessageId(bc: bare.ByteCursor): MessageId;
283
309
  declare function writeMessageId(bc: bare.ByteCursor, x: MessageId): void;
284
- /**
285
- * Ack
286
- */
287
- type TunnelAck = null;
310
+ type DeprecatedTunnelAck = null;
288
311
  /**
289
312
  * HTTP
290
313
  */
@@ -331,7 +354,6 @@ type ToClientWebSocketOpen = {
331
354
  declare function readToClientWebSocketOpen(bc: bare.ByteCursor): ToClientWebSocketOpen;
332
355
  declare function writeToClientWebSocketOpen(bc: bare.ByteCursor, x: ToClientWebSocketOpen): void;
333
356
  type ToClientWebSocketMessage = {
334
- readonly index: u16;
335
357
  readonly data: ArrayBuffer;
336
358
  readonly binary: boolean;
337
359
  };
@@ -345,7 +367,6 @@ declare function readToClientWebSocketClose(bc: bare.ByteCursor): ToClientWebSoc
345
367
  declare function writeToClientWebSocketClose(bc: bare.ByteCursor, x: ToClientWebSocketClose): void;
346
368
  type ToServerWebSocketOpen = {
347
369
  readonly canHibernate: boolean;
348
- readonly lastMsgIndex: i64;
349
370
  };
350
371
  declare function readToServerWebSocketOpen(bc: bare.ByteCursor): ToServerWebSocketOpen;
351
372
  declare function writeToServerWebSocketOpen(bc: bare.ByteCursor, x: ToServerWebSocketOpen): void;
@@ -356,14 +377,14 @@ type ToServerWebSocketMessage = {
356
377
  declare function readToServerWebSocketMessage(bc: bare.ByteCursor): ToServerWebSocketMessage;
357
378
  declare function writeToServerWebSocketMessage(bc: bare.ByteCursor, x: ToServerWebSocketMessage): void;
358
379
  type ToServerWebSocketMessageAck = {
359
- readonly index: u16;
380
+ readonly index: MessageIndex;
360
381
  };
361
382
  declare function readToServerWebSocketMessageAck(bc: bare.ByteCursor): ToServerWebSocketMessageAck;
362
383
  declare function writeToServerWebSocketMessageAck(bc: bare.ByteCursor, x: ToServerWebSocketMessageAck): void;
363
384
  type ToServerWebSocketClose = {
364
385
  readonly code: u16 | null;
365
386
  readonly reason: string | null;
366
- readonly retry: boolean;
387
+ readonly hibernate: boolean;
367
388
  };
368
389
  declare function readToServerWebSocketClose(bc: bare.ByteCursor): ToServerWebSocketClose;
369
390
  declare function writeToServerWebSocketClose(bc: bare.ByteCursor, x: ToServerWebSocketClose): void;
@@ -371,8 +392,8 @@ declare function writeToServerWebSocketClose(bc: bare.ByteCursor, x: ToServerWeb
371
392
  * To Server
372
393
  */
373
394
  type ToServerTunnelMessageKind = {
374
- readonly tag: "TunnelAck";
375
- readonly val: TunnelAck;
395
+ readonly tag: "DeprecatedTunnelAck";
396
+ readonly val: DeprecatedTunnelAck;
376
397
  }
377
398
  /**
378
399
  * HTTP
@@ -406,7 +427,6 @@ type ToServerTunnelMessageKind = {
406
427
  declare function readToServerTunnelMessageKind(bc: bare.ByteCursor): ToServerTunnelMessageKind;
407
428
  declare function writeToServerTunnelMessageKind(bc: bare.ByteCursor, x: ToServerTunnelMessageKind): void;
408
429
  type ToServerTunnelMessage = {
409
- readonly requestId: RequestId;
410
430
  readonly messageId: MessageId;
411
431
  readonly messageKind: ToServerTunnelMessageKind;
412
432
  };
@@ -416,8 +436,8 @@ declare function writeToServerTunnelMessage(bc: bare.ByteCursor, x: ToServerTunn
416
436
  * To Client
417
437
  */
418
438
  type ToClientTunnelMessageKind = {
419
- readonly tag: "TunnelAck";
420
- readonly val: TunnelAck;
439
+ readonly tag: "DeprecatedTunnelAck";
440
+ readonly val: DeprecatedTunnelAck;
421
441
  }
422
442
  /**
423
443
  * HTTP
@@ -448,13 +468,8 @@ type ToClientTunnelMessageKind = {
448
468
  declare function readToClientTunnelMessageKind(bc: bare.ByteCursor): ToClientTunnelMessageKind;
449
469
  declare function writeToClientTunnelMessageKind(bc: bare.ByteCursor, x: ToClientTunnelMessageKind): void;
450
470
  type ToClientTunnelMessage = {
451
- readonly requestId: RequestId;
452
471
  readonly messageId: MessageId;
453
472
  readonly messageKind: ToClientTunnelMessageKind;
454
- /**
455
- * Should be stripped before sending to the runner.
456
- */
457
- readonly gatewayReplyTo: string | null;
458
473
  };
459
474
  declare function readToClientTunnelMessage(bc: bare.ByteCursor): ToClientTunnelMessage;
460
475
  declare function writeToClientTunnelMessage(bc: bare.ByteCursor, x: ToClientTunnelMessage): void;
@@ -571,11 +586,61 @@ declare function readToClient(bc: bare.ByteCursor): ToClient;
571
586
  declare function writeToClient(bc: bare.ByteCursor, x: ToClient): void;
572
587
  declare function encodeToClient(x: ToClient, config?: Partial<bare.Config>): Uint8Array;
573
588
  declare function decodeToClient(bytes: Uint8Array): ToClient;
589
+ /**
590
+ * MARK: To Runner
591
+ */
592
+ type ToRunnerPing = {
593
+ readonly gatewayId: GatewayId;
594
+ readonly requestId: RequestId;
595
+ readonly ts: i64;
596
+ };
597
+ declare function readToRunnerPing(bc: bare.ByteCursor): ToRunnerPing;
598
+ declare function writeToRunnerPing(bc: bare.ByteCursor, x: ToRunnerPing): void;
599
+ /**
600
+ * We have to re-declare the entire union since BARE will not generate the
601
+ * ser/de for ToClient if it's not a top-level type
602
+ */
603
+ type ToRunner = {
604
+ readonly tag: "ToRunnerPing";
605
+ readonly val: ToRunnerPing;
606
+ } | {
607
+ readonly tag: "ToClientInit";
608
+ readonly val: ToClientInit;
609
+ } | {
610
+ readonly tag: "ToClientClose";
611
+ readonly val: ToClientClose;
612
+ } | {
613
+ readonly tag: "ToClientCommands";
614
+ readonly val: ToClientCommands;
615
+ } | {
616
+ readonly tag: "ToClientAckEvents";
617
+ readonly val: ToClientAckEvents;
618
+ } | {
619
+ readonly tag: "ToClientKvResponse";
620
+ readonly val: ToClientKvResponse;
621
+ } | {
622
+ readonly tag: "ToClientTunnelMessage";
623
+ readonly val: ToClientTunnelMessage;
624
+ };
625
+ declare function readToRunner(bc: bare.ByteCursor): ToRunner;
626
+ declare function writeToRunner(bc: bare.ByteCursor, x: ToRunner): void;
627
+ declare function encodeToRunner(x: ToRunner, config?: Partial<bare.Config>): Uint8Array;
628
+ declare function decodeToRunner(bytes: Uint8Array): ToRunner;
574
629
  /**
575
630
  * MARK: To Gateway
576
631
  */
632
+ type ToGatewayPong = {
633
+ readonly requestId: RequestId;
634
+ readonly ts: i64;
635
+ };
636
+ declare function readToGatewayPong(bc: bare.ByteCursor): ToGatewayPong;
637
+ declare function writeToGatewayPong(bc: bare.ByteCursor, x: ToGatewayPong): void;
577
638
  type ToGateway = {
578
- readonly message: ToServerTunnelMessage;
639
+ readonly tag: "ToGatewayPong";
640
+ readonly val: ToGatewayPong;
641
+ } | {
642
+ readonly tag: "ToServerTunnelMessage";
643
+ readonly val: ToServerTunnelMessage;
579
644
  };
580
645
  declare function readToGateway(bc: bare.ByteCursor): ToGateway;
581
646
  declare function writeToGateway(bc: bare.ByteCursor, x: ToGateway): void;
@@ -598,4 +663,4 @@ declare function writeToServerlessServer(bc: bare.ByteCursor, x: ToServerlessSer
598
663
  declare function encodeToServerlessServer(x: ToServerlessServer, config?: Partial<bare.Config>): Uint8Array;
599
664
  declare function decodeToServerlessServer(bytes: Uint8Array): ToServerlessServer;
600
665
 
601
- export { type ActorConfig, type ActorIntent, type ActorIntentSleep, type ActorIntentStop, type ActorName, type ActorState, type ActorStateRunning, type ActorStateStopped, type Command, type CommandStartActor, type CommandStopActor, type CommandWrapper, type Event, type EventActorIntent, type EventActorSetAlarm, type EventActorStateUpdate, type EventWrapper, type Id, type Json, type KvDeleteRequest, type KvDeleteResponse, type KvDropRequest, type KvDropResponse, type KvErrorResponse, type KvGetRequest, type KvGetResponse, type KvKey, type KvListAllQuery, type KvListPrefixQuery, type KvListQuery, type KvListRangeQuery, type KvListRequest, type KvListResponse, type KvMetadata, type KvPutRequest, type KvPutResponse, type KvRequestData, type KvResponseData, type KvValue, type MessageId, type ProtocolMetadata, type RequestId, StopCode, type ToClient, type ToClientAckEvents, type ToClientClose, type ToClientCommands, type ToClientInit, type ToClientKvResponse, type ToClientRequestAbort, type ToClientRequestChunk, type ToClientRequestStart, type ToClientTunnelMessage, type ToClientTunnelMessageKind, type ToClientWebSocketClose, type ToClientWebSocketMessage, type ToClientWebSocketOpen, type ToGateway, type ToServer, type ToServerAckCommands, type ToServerEvents, type ToServerInit, type ToServerKvRequest, type ToServerPing, type ToServerResponseAbort, type ToServerResponseChunk, type ToServerResponseStart, type ToServerStopping, type ToServerTunnelMessage, type ToServerTunnelMessageKind, type ToServerWebSocketClose, type ToServerWebSocketMessage, type ToServerWebSocketMessageAck, type ToServerWebSocketOpen, type ToServerlessServer, type ToServerlessServerInit, type TunnelAck, decodeToClient, decodeToGateway, decodeToServer, decodeToServerlessServer, encodeToClient, encodeToGateway, encodeToServer, encodeToServerlessServer, type i64, readActorConfig, readActorIntent, readActorName, readActorState, readActorStateStopped, readCommand, readCommandStartActor, readCommandStopActor, readCommandWrapper, readEvent, readEventActorIntent, readEventActorSetAlarm, readEventActorStateUpdate, readEventWrapper, readId, readJson, readKvDeleteRequest, readKvErrorResponse, readKvGetRequest, readKvGetResponse, readKvKey, readKvListPrefixQuery, readKvListQuery, readKvListRangeQuery, readKvListRequest, readKvListResponse, readKvMetadata, readKvPutRequest, readKvRequestData, readKvResponseData, readKvValue, readMessageId, readProtocolMetadata, readRequestId, readStopCode, readToClient, readToClientAckEvents, readToClientCommands, readToClientInit, readToClientKvResponse, readToClientRequestChunk, readToClientRequestStart, readToClientTunnelMessage, readToClientTunnelMessageKind, readToClientWebSocketClose, readToClientWebSocketMessage, readToClientWebSocketOpen, readToGateway, readToServer, readToServerAckCommands, readToServerEvents, readToServerInit, readToServerKvRequest, readToServerPing, readToServerResponseChunk, readToServerResponseStart, readToServerTunnelMessage, readToServerTunnelMessageKind, readToServerWebSocketClose, readToServerWebSocketMessage, readToServerWebSocketMessageAck, readToServerWebSocketOpen, readToServerlessServer, readToServerlessServerInit, type u16, type u32, type u64, writeActorConfig, writeActorIntent, writeActorName, writeActorState, writeActorStateStopped, writeCommand, writeCommandStartActor, writeCommandStopActor, writeCommandWrapper, writeEvent, writeEventActorIntent, writeEventActorSetAlarm, writeEventActorStateUpdate, writeEventWrapper, writeId, writeJson, writeKvDeleteRequest, writeKvErrorResponse, writeKvGetRequest, writeKvGetResponse, writeKvKey, writeKvListPrefixQuery, writeKvListQuery, writeKvListRangeQuery, writeKvListRequest, writeKvListResponse, writeKvMetadata, writeKvPutRequest, writeKvRequestData, writeKvResponseData, writeKvValue, writeMessageId, writeProtocolMetadata, writeRequestId, writeStopCode, writeToClient, writeToClientAckEvents, writeToClientCommands, writeToClientInit, writeToClientKvResponse, writeToClientRequestChunk, writeToClientRequestStart, writeToClientTunnelMessage, writeToClientTunnelMessageKind, writeToClientWebSocketClose, writeToClientWebSocketMessage, writeToClientWebSocketOpen, writeToGateway, writeToServer, writeToServerAckCommands, writeToServerEvents, writeToServerInit, writeToServerKvRequest, writeToServerPing, writeToServerResponseChunk, writeToServerResponseStart, writeToServerTunnelMessage, writeToServerTunnelMessageKind, writeToServerWebSocketClose, writeToServerWebSocketMessage, writeToServerWebSocketMessageAck, writeToServerWebSocketOpen, writeToServerlessServer, writeToServerlessServerInit };
666
+ export { type ActorConfig, type ActorIntent, type ActorIntentSleep, type ActorIntentStop, type ActorName, type ActorState, type ActorStateRunning, type ActorStateStopped, type Command, type CommandStartActor, type CommandStopActor, type CommandWrapper, type DeprecatedTunnelAck, type Event, type EventActorIntent, type EventActorSetAlarm, type EventActorStateUpdate, type EventWrapper, type GatewayId, type HibernatingRequest, type Id, type Json, type KvDeleteRequest, type KvDeleteResponse, type KvDropRequest, type KvDropResponse, type KvErrorResponse, type KvGetRequest, type KvGetResponse, type KvKey, type KvListAllQuery, type KvListPrefixQuery, type KvListQuery, type KvListRangeQuery, type KvListRequest, type KvListResponse, type KvMetadata, type KvPutRequest, type KvPutResponse, type KvRequestData, type KvResponseData, type KvValue, type MessageId, type MessageIndex, type ProtocolMetadata, type RequestId, StopCode, type ToClient, type ToClientAckEvents, type ToClientClose, type ToClientCommands, type ToClientInit, type ToClientKvResponse, type ToClientRequestAbort, type ToClientRequestChunk, type ToClientRequestStart, type ToClientTunnelMessage, type ToClientTunnelMessageKind, type ToClientWebSocketClose, type ToClientWebSocketMessage, type ToClientWebSocketOpen, type ToGateway, type ToGatewayPong, type ToRunner, type ToRunnerPing, type ToServer, type ToServerAckCommands, type ToServerEvents, type ToServerInit, type ToServerKvRequest, type ToServerPing, type ToServerResponseAbort, type ToServerResponseChunk, type ToServerResponseStart, type ToServerStopping, type ToServerTunnelMessage, type ToServerTunnelMessageKind, type ToServerWebSocketClose, type ToServerWebSocketMessage, type ToServerWebSocketMessageAck, type ToServerWebSocketOpen, type ToServerlessServer, type ToServerlessServerInit, decodeToClient, decodeToGateway, decodeToRunner, decodeToServer, decodeToServerlessServer, encodeToClient, encodeToGateway, encodeToRunner, encodeToServer, encodeToServerlessServer, type i64, readActorConfig, readActorIntent, readActorName, readActorState, readActorStateStopped, readCommand, readCommandStartActor, readCommandStopActor, readCommandWrapper, readEvent, readEventActorIntent, readEventActorSetAlarm, readEventActorStateUpdate, readEventWrapper, readGatewayId, readHibernatingRequest, readId, readJson, readKvDeleteRequest, readKvErrorResponse, readKvGetRequest, readKvGetResponse, readKvKey, readKvListPrefixQuery, readKvListQuery, readKvListRangeQuery, readKvListRequest, readKvListResponse, readKvMetadata, readKvPutRequest, readKvRequestData, readKvResponseData, readKvValue, readMessageId, readMessageIndex, readProtocolMetadata, readRequestId, readStopCode, readToClient, readToClientAckEvents, readToClientCommands, readToClientInit, readToClientKvResponse, readToClientRequestChunk, readToClientRequestStart, readToClientTunnelMessage, readToClientTunnelMessageKind, readToClientWebSocketClose, readToClientWebSocketMessage, readToClientWebSocketOpen, readToGateway, readToGatewayPong, readToRunner, readToRunnerPing, readToServer, readToServerAckCommands, readToServerEvents, readToServerInit, readToServerKvRequest, readToServerPing, readToServerResponseChunk, readToServerResponseStart, readToServerTunnelMessage, readToServerTunnelMessageKind, readToServerWebSocketClose, readToServerWebSocketMessage, readToServerWebSocketMessageAck, readToServerWebSocketOpen, readToServerlessServer, readToServerlessServerInit, type u16, type u32, type u64, writeActorConfig, writeActorIntent, writeActorName, writeActorState, writeActorStateStopped, writeCommand, writeCommandStartActor, writeCommandStopActor, writeCommandWrapper, writeEvent, writeEventActorIntent, writeEventActorSetAlarm, writeEventActorStateUpdate, writeEventWrapper, writeGatewayId, writeHibernatingRequest, writeId, writeJson, writeKvDeleteRequest, writeKvErrorResponse, writeKvGetRequest, writeKvGetResponse, writeKvKey, writeKvListPrefixQuery, writeKvListQuery, writeKvListRangeQuery, writeKvListRequest, writeKvListResponse, writeKvMetadata, writeKvPutRequest, writeKvRequestData, writeKvResponseData, writeKvValue, writeMessageId, writeMessageIndex, writeProtocolMetadata, writeRequestId, writeStopCode, writeToClient, writeToClientAckEvents, writeToClientCommands, writeToClientInit, writeToClientKvResponse, writeToClientRequestChunk, writeToClientRequestStart, writeToClientTunnelMessage, writeToClientTunnelMessageKind, writeToClientWebSocketClose, writeToClientWebSocketMessage, writeToClientWebSocketOpen, writeToGateway, writeToGatewayPong, writeToRunner, writeToRunnerPing, writeToServer, writeToServerAckCommands, writeToServerEvents, writeToServerInit, writeToServerKvRequest, writeToServerPing, writeToServerResponseChunk, writeToServerResponseStart, writeToServerTunnelMessage, writeToServerTunnelMessageKind, writeToServerWebSocketClose, writeToServerWebSocketMessage, writeToServerWebSocketMessageAck, writeToServerWebSocketOpen, writeToServerlessServer, writeToServerlessServerInit };
package/dist/index.js CHANGED
@@ -14,6 +14,26 @@ function readJson(bc) {
14
14
  function writeJson(bc, x) {
15
15
  bare.writeString(bc, x);
16
16
  }
17
+ function readGatewayId(bc) {
18
+ return bare.readFixedData(bc, 4);
19
+ }
20
+ function writeGatewayId(bc, x) {
21
+ assert(x.byteLength === 4);
22
+ bare.writeFixedData(bc, x);
23
+ }
24
+ function readRequestId(bc) {
25
+ return bare.readFixedData(bc, 4);
26
+ }
27
+ function writeRequestId(bc, x) {
28
+ assert(x.byteLength === 4);
29
+ bare.writeFixedData(bc, x);
30
+ }
31
+ function readMessageIndex(bc) {
32
+ return bare.readU16(bc);
33
+ }
34
+ function writeMessageIndex(bc, x) {
35
+ bare.writeU16(bc, x);
36
+ }
17
37
  function readKvKey(bc) {
18
38
  return bare.readData(bc);
19
39
  }
@@ -554,17 +574,46 @@ function writeEventWrapper(bc, x) {
554
574
  bare.writeI64(bc, x.index);
555
575
  writeEvent(bc, x.inner);
556
576
  }
577
+ function readHibernatingRequest(bc) {
578
+ return {
579
+ gatewayId: readGatewayId(bc),
580
+ requestId: readRequestId(bc)
581
+ };
582
+ }
583
+ function writeHibernatingRequest(bc, x) {
584
+ writeGatewayId(bc, x.gatewayId);
585
+ writeRequestId(bc, x.requestId);
586
+ }
587
+ function read8(bc) {
588
+ const len = bare.readUintSafe(bc);
589
+ if (len === 0) {
590
+ return [];
591
+ }
592
+ const result = [readHibernatingRequest(bc)];
593
+ for (let i = 1; i < len; i++) {
594
+ result[i] = readHibernatingRequest(bc);
595
+ }
596
+ return result;
597
+ }
598
+ function write8(bc, x) {
599
+ bare.writeUintSafe(bc, x.length);
600
+ for (let i = 0; i < x.length; i++) {
601
+ writeHibernatingRequest(bc, x[i]);
602
+ }
603
+ }
557
604
  function readCommandStartActor(bc) {
558
605
  return {
559
606
  actorId: readId(bc),
560
607
  generation: bare.readU32(bc),
561
- config: readActorConfig(bc)
608
+ config: readActorConfig(bc),
609
+ hibernatingRequests: read8(bc)
562
610
  };
563
611
  }
564
612
  function writeCommandStartActor(bc, x) {
565
613
  writeId(bc, x.actorId);
566
614
  bare.writeU32(bc, x.generation);
567
615
  writeActorConfig(bc, x.config);
616
+ write8(bc, x.hibernatingRequests);
568
617
  }
569
618
  function readCommandStopActor(bc) {
570
619
  return {
@@ -614,21 +663,19 @@ function writeCommandWrapper(bc, x) {
614
663
  bare.writeI64(bc, x.index);
615
664
  writeCommand(bc, x.inner);
616
665
  }
617
- function readRequestId(bc) {
618
- return bare.readFixedData(bc, 16);
619
- }
620
- function writeRequestId(bc, x) {
621
- assert(x.byteLength === 16);
622
- bare.writeFixedData(bc, x);
623
- }
624
666
  function readMessageId(bc) {
625
- return bare.readFixedData(bc, 16);
667
+ return {
668
+ gatewayId: readGatewayId(bc),
669
+ requestId: readRequestId(bc),
670
+ messageIndex: readMessageIndex(bc)
671
+ };
626
672
  }
627
673
  function writeMessageId(bc, x) {
628
- assert(x.byteLength === 16);
629
- bare.writeFixedData(bc, x);
674
+ writeGatewayId(bc, x.gatewayId);
675
+ writeRequestId(bc, x.requestId);
676
+ writeMessageIndex(bc, x.messageIndex);
630
677
  }
631
- function read8(bc) {
678
+ function read9(bc) {
632
679
  const len = bare.readUintSafe(bc);
633
680
  const result = /* @__PURE__ */ new Map();
634
681
  for (let i = 0; i < len; i++) {
@@ -642,7 +689,7 @@ function read8(bc) {
642
689
  }
643
690
  return result;
644
691
  }
645
- function write8(bc, x) {
692
+ function write9(bc, x) {
646
693
  bare.writeUintSafe(bc, x.size);
647
694
  for (const kv of x) {
648
695
  bare.writeString(bc, kv[0]);
@@ -654,7 +701,7 @@ function readToClientRequestStart(bc) {
654
701
  actorId: readId(bc),
655
702
  method: bare.readString(bc),
656
703
  path: bare.readString(bc),
657
- headers: read8(bc),
704
+ headers: read9(bc),
658
705
  body: read6(bc),
659
706
  stream: bare.readBool(bc)
660
707
  };
@@ -663,7 +710,7 @@ function writeToClientRequestStart(bc, x) {
663
710
  writeId(bc, x.actorId);
664
711
  bare.writeString(bc, x.method);
665
712
  bare.writeString(bc, x.path);
666
- write8(bc, x.headers);
713
+ write9(bc, x.headers);
667
714
  write6(bc, x.body);
668
715
  bare.writeBool(bc, x.stream);
669
716
  }
@@ -680,14 +727,14 @@ function writeToClientRequestChunk(bc, x) {
680
727
  function readToServerResponseStart(bc) {
681
728
  return {
682
729
  status: bare.readU16(bc),
683
- headers: read8(bc),
730
+ headers: read9(bc),
684
731
  body: read6(bc),
685
732
  stream: bare.readBool(bc)
686
733
  };
687
734
  }
688
735
  function writeToServerResponseStart(bc, x) {
689
736
  bare.writeU16(bc, x.status);
690
- write8(bc, x.headers);
737
+ write9(bc, x.headers);
691
738
  write6(bc, x.body);
692
739
  bare.writeBool(bc, x.stream);
693
740
  }
@@ -705,30 +752,28 @@ function readToClientWebSocketOpen(bc) {
705
752
  return {
706
753
  actorId: readId(bc),
707
754
  path: bare.readString(bc),
708
- headers: read8(bc)
755
+ headers: read9(bc)
709
756
  };
710
757
  }
711
758
  function writeToClientWebSocketOpen(bc, x) {
712
759
  writeId(bc, x.actorId);
713
760
  bare.writeString(bc, x.path);
714
- write8(bc, x.headers);
761
+ write9(bc, x.headers);
715
762
  }
716
763
  function readToClientWebSocketMessage(bc) {
717
764
  return {
718
- index: bare.readU16(bc),
719
765
  data: bare.readData(bc),
720
766
  binary: bare.readBool(bc)
721
767
  };
722
768
  }
723
769
  function writeToClientWebSocketMessage(bc, x) {
724
- bare.writeU16(bc, x.index);
725
770
  bare.writeData(bc, x.data);
726
771
  bare.writeBool(bc, x.binary);
727
772
  }
728
- function read9(bc) {
773
+ function read10(bc) {
729
774
  return bare.readBool(bc) ? bare.readU16(bc) : null;
730
775
  }
731
- function write9(bc, x) {
776
+ function write10(bc, x) {
732
777
  bare.writeBool(bc, x != null);
733
778
  if (x != null) {
734
779
  bare.writeU16(bc, x);
@@ -736,23 +781,21 @@ function write9(bc, x) {
736
781
  }
737
782
  function readToClientWebSocketClose(bc) {
738
783
  return {
739
- code: read9(bc),
784
+ code: read10(bc),
740
785
  reason: read5(bc)
741
786
  };
742
787
  }
743
788
  function writeToClientWebSocketClose(bc, x) {
744
- write9(bc, x.code);
789
+ write10(bc, x.code);
745
790
  write5(bc, x.reason);
746
791
  }
747
792
  function readToServerWebSocketOpen(bc) {
748
793
  return {
749
- canHibernate: bare.readBool(bc),
750
- lastMsgIndex: bare.readI64(bc)
794
+ canHibernate: bare.readBool(bc)
751
795
  };
752
796
  }
753
797
  function writeToServerWebSocketOpen(bc, x) {
754
798
  bare.writeBool(bc, x.canHibernate);
755
- bare.writeI64(bc, x.lastMsgIndex);
756
799
  }
757
800
  function readToServerWebSocketMessage(bc) {
758
801
  return {
@@ -766,30 +809,30 @@ function writeToServerWebSocketMessage(bc, x) {
766
809
  }
767
810
  function readToServerWebSocketMessageAck(bc) {
768
811
  return {
769
- index: bare.readU16(bc)
812
+ index: readMessageIndex(bc)
770
813
  };
771
814
  }
772
815
  function writeToServerWebSocketMessageAck(bc, x) {
773
- bare.writeU16(bc, x.index);
816
+ writeMessageIndex(bc, x.index);
774
817
  }
775
818
  function readToServerWebSocketClose(bc) {
776
819
  return {
777
- code: read9(bc),
820
+ code: read10(bc),
778
821
  reason: read5(bc),
779
- retry: bare.readBool(bc)
822
+ hibernate: bare.readBool(bc)
780
823
  };
781
824
  }
782
825
  function writeToServerWebSocketClose(bc, x) {
783
- write9(bc, x.code);
826
+ write10(bc, x.code);
784
827
  write5(bc, x.reason);
785
- bare.writeBool(bc, x.retry);
828
+ bare.writeBool(bc, x.hibernate);
786
829
  }
787
830
  function readToServerTunnelMessageKind(bc) {
788
831
  const offset = bc.offset;
789
832
  const tag = bare.readU8(bc);
790
833
  switch (tag) {
791
834
  case 0:
792
- return { tag: "TunnelAck", val: null };
835
+ return { tag: "DeprecatedTunnelAck", val: null };
793
836
  case 1:
794
837
  return { tag: "ToServerResponseStart", val: readToServerResponseStart(bc) };
795
838
  case 2:
@@ -812,7 +855,7 @@ function readToServerTunnelMessageKind(bc) {
812
855
  }
813
856
  function writeToServerTunnelMessageKind(bc, x) {
814
857
  switch (x.tag) {
815
- case "TunnelAck": {
858
+ case "DeprecatedTunnelAck": {
816
859
  bare.writeU8(bc, 0);
817
860
  break;
818
861
  }
@@ -854,13 +897,11 @@ function writeToServerTunnelMessageKind(bc, x) {
854
897
  }
855
898
  function readToServerTunnelMessage(bc) {
856
899
  return {
857
- requestId: readRequestId(bc),
858
900
  messageId: readMessageId(bc),
859
901
  messageKind: readToServerTunnelMessageKind(bc)
860
902
  };
861
903
  }
862
904
  function writeToServerTunnelMessage(bc, x) {
863
- writeRequestId(bc, x.requestId);
864
905
  writeMessageId(bc, x.messageId);
865
906
  writeToServerTunnelMessageKind(bc, x.messageKind);
866
907
  }
@@ -869,7 +910,7 @@ function readToClientTunnelMessageKind(bc) {
869
910
  const tag = bare.readU8(bc);
870
911
  switch (tag) {
871
912
  case 0:
872
- return { tag: "TunnelAck", val: null };
913
+ return { tag: "DeprecatedTunnelAck", val: null };
873
914
  case 1:
874
915
  return { tag: "ToClientRequestStart", val: readToClientRequestStart(bc) };
875
916
  case 2:
@@ -890,7 +931,7 @@ function readToClientTunnelMessageKind(bc) {
890
931
  }
891
932
  function writeToClientTunnelMessageKind(bc, x) {
892
933
  switch (x.tag) {
893
- case "TunnelAck": {
934
+ case "DeprecatedTunnelAck": {
894
935
  bare.writeU8(bc, 0);
895
936
  break;
896
937
  }
@@ -927,19 +968,15 @@ function writeToClientTunnelMessageKind(bc, x) {
927
968
  }
928
969
  function readToClientTunnelMessage(bc) {
929
970
  return {
930
- requestId: readRequestId(bc),
931
971
  messageId: readMessageId(bc),
932
- messageKind: readToClientTunnelMessageKind(bc),
933
- gatewayReplyTo: read5(bc)
972
+ messageKind: readToClientTunnelMessageKind(bc)
934
973
  };
935
974
  }
936
975
  function writeToClientTunnelMessage(bc, x) {
937
- writeRequestId(bc, x.requestId);
938
976
  writeMessageId(bc, x.messageId);
939
977
  writeToClientTunnelMessageKind(bc, x.messageKind);
940
- write5(bc, x.gatewayReplyTo);
941
978
  }
942
- function read10(bc) {
979
+ function read11(bc) {
943
980
  const len = bare.readUintSafe(bc);
944
981
  const result = /* @__PURE__ */ new Map();
945
982
  for (let i = 0; i < len; i++) {
@@ -953,26 +990,26 @@ function read10(bc) {
953
990
  }
954
991
  return result;
955
992
  }
956
- function write10(bc, x) {
993
+ function write11(bc, x) {
957
994
  bare.writeUintSafe(bc, x.size);
958
995
  for (const kv of x) {
959
996
  bare.writeString(bc, kv[0]);
960
997
  writeActorName(bc, kv[1]);
961
998
  }
962
999
  }
963
- function read11(bc) {
964
- return bare.readBool(bc) ? read10(bc) : null;
1000
+ function read12(bc) {
1001
+ return bare.readBool(bc) ? read11(bc) : null;
965
1002
  }
966
- function write11(bc, x) {
1003
+ function write12(bc, x) {
967
1004
  bare.writeBool(bc, x != null);
968
1005
  if (x != null) {
969
- write10(bc, x);
1006
+ write11(bc, x);
970
1007
  }
971
1008
  }
972
- function read12(bc) {
1009
+ function read13(bc) {
973
1010
  return bare.readBool(bc) ? readJson(bc) : null;
974
1011
  }
975
- function write12(bc, x) {
1012
+ function write13(bc, x) {
976
1013
  bare.writeBool(bc, x != null);
977
1014
  if (x != null) {
978
1015
  writeJson(bc, x);
@@ -984,8 +1021,8 @@ function readToServerInit(bc) {
984
1021
  version: bare.readU32(bc),
985
1022
  totalSlots: bare.readU32(bc),
986
1023
  lastCommandIdx: read7(bc),
987
- prepopulateActorNames: read11(bc),
988
- metadata: read12(bc)
1024
+ prepopulateActorNames: read12(bc),
1025
+ metadata: read13(bc)
989
1026
  };
990
1027
  }
991
1028
  function writeToServerInit(bc, x) {
@@ -993,8 +1030,8 @@ function writeToServerInit(bc, x) {
993
1030
  bare.writeU32(bc, x.version);
994
1031
  bare.writeU32(bc, x.totalSlots);
995
1032
  write7(bc, x.lastCommandIdx);
996
- write11(bc, x.prepopulateActorNames);
997
- write12(bc, x.metadata);
1033
+ write12(bc, x.prepopulateActorNames);
1034
+ write13(bc, x.metadata);
998
1035
  }
999
1036
  function readToServerEvents(bc) {
1000
1037
  const len = bare.readUintSafe(bc);
@@ -1247,13 +1284,134 @@ function decodeToClient(bytes) {
1247
1284
  }
1248
1285
  return result;
1249
1286
  }
1250
- function readToGateway(bc) {
1287
+ function readToRunnerPing(bc) {
1288
+ return {
1289
+ gatewayId: readGatewayId(bc),
1290
+ requestId: readRequestId(bc),
1291
+ ts: bare.readI64(bc)
1292
+ };
1293
+ }
1294
+ function writeToRunnerPing(bc, x) {
1295
+ writeGatewayId(bc, x.gatewayId);
1296
+ writeRequestId(bc, x.requestId);
1297
+ bare.writeI64(bc, x.ts);
1298
+ }
1299
+ function readToRunner(bc) {
1300
+ const offset = bc.offset;
1301
+ const tag = bare.readU8(bc);
1302
+ switch (tag) {
1303
+ case 0:
1304
+ return { tag: "ToRunnerPing", val: readToRunnerPing(bc) };
1305
+ case 1:
1306
+ return { tag: "ToClientInit", val: readToClientInit(bc) };
1307
+ case 2:
1308
+ return { tag: "ToClientClose", val: null };
1309
+ case 3:
1310
+ return { tag: "ToClientCommands", val: readToClientCommands(bc) };
1311
+ case 4:
1312
+ return { tag: "ToClientAckEvents", val: readToClientAckEvents(bc) };
1313
+ case 5:
1314
+ return { tag: "ToClientKvResponse", val: readToClientKvResponse(bc) };
1315
+ case 6:
1316
+ return { tag: "ToClientTunnelMessage", val: readToClientTunnelMessage(bc) };
1317
+ default: {
1318
+ bc.offset = offset;
1319
+ throw new bare.BareError(offset, "invalid tag");
1320
+ }
1321
+ }
1322
+ }
1323
+ function writeToRunner(bc, x) {
1324
+ switch (x.tag) {
1325
+ case "ToRunnerPing": {
1326
+ bare.writeU8(bc, 0);
1327
+ writeToRunnerPing(bc, x.val);
1328
+ break;
1329
+ }
1330
+ case "ToClientInit": {
1331
+ bare.writeU8(bc, 1);
1332
+ writeToClientInit(bc, x.val);
1333
+ break;
1334
+ }
1335
+ case "ToClientClose": {
1336
+ bare.writeU8(bc, 2);
1337
+ break;
1338
+ }
1339
+ case "ToClientCommands": {
1340
+ bare.writeU8(bc, 3);
1341
+ writeToClientCommands(bc, x.val);
1342
+ break;
1343
+ }
1344
+ case "ToClientAckEvents": {
1345
+ bare.writeU8(bc, 4);
1346
+ writeToClientAckEvents(bc, x.val);
1347
+ break;
1348
+ }
1349
+ case "ToClientKvResponse": {
1350
+ bare.writeU8(bc, 5);
1351
+ writeToClientKvResponse(bc, x.val);
1352
+ break;
1353
+ }
1354
+ case "ToClientTunnelMessage": {
1355
+ bare.writeU8(bc, 6);
1356
+ writeToClientTunnelMessage(bc, x.val);
1357
+ break;
1358
+ }
1359
+ }
1360
+ }
1361
+ function encodeToRunner(x, config) {
1362
+ const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG;
1363
+ const bc = new bare.ByteCursor(
1364
+ new Uint8Array(fullConfig.initialBufferLength),
1365
+ fullConfig
1366
+ );
1367
+ writeToRunner(bc, x);
1368
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
1369
+ }
1370
+ function decodeToRunner(bytes) {
1371
+ const bc = new bare.ByteCursor(bytes, DEFAULT_CONFIG);
1372
+ const result = readToRunner(bc);
1373
+ if (bc.offset < bc.view.byteLength) {
1374
+ throw new bare.BareError(bc.offset, "remaining bytes");
1375
+ }
1376
+ return result;
1377
+ }
1378
+ function readToGatewayPong(bc) {
1251
1379
  return {
1252
- message: readToServerTunnelMessage(bc)
1380
+ requestId: readRequestId(bc),
1381
+ ts: bare.readI64(bc)
1253
1382
  };
1254
1383
  }
1384
+ function writeToGatewayPong(bc, x) {
1385
+ writeRequestId(bc, x.requestId);
1386
+ bare.writeI64(bc, x.ts);
1387
+ }
1388
+ function readToGateway(bc) {
1389
+ const offset = bc.offset;
1390
+ const tag = bare.readU8(bc);
1391
+ switch (tag) {
1392
+ case 0:
1393
+ return { tag: "ToGatewayPong", val: readToGatewayPong(bc) };
1394
+ case 1:
1395
+ return { tag: "ToServerTunnelMessage", val: readToServerTunnelMessage(bc) };
1396
+ default: {
1397
+ bc.offset = offset;
1398
+ throw new bare.BareError(offset, "invalid tag");
1399
+ }
1400
+ }
1401
+ }
1255
1402
  function writeToGateway(bc, x) {
1256
- writeToServerTunnelMessage(bc, x.message);
1403
+ switch (x.tag) {
1404
+ case "ToGatewayPong": {
1405
+ bare.writeU8(bc, 0);
1406
+ writeToGatewayPong(bc, x.val);
1407
+ break;
1408
+ }
1409
+ case "ToServerTunnelMessage": {
1410
+ bare.writeU8(bc, 1);
1411
+ writeToServerTunnelMessage(bc, x.val);
1412
+ break;
1413
+ }
1414
+ }
1257
1415
  }
1258
1416
  function encodeToGateway(x, config) {
1259
1417
  const fullConfig = config != null ? bare.Config(config) : DEFAULT_CONFIG;
@@ -1322,10 +1480,12 @@ export {
1322
1480
  StopCode,
1323
1481
  decodeToClient,
1324
1482
  decodeToGateway,
1483
+ decodeToRunner,
1325
1484
  decodeToServer,
1326
1485
  decodeToServerlessServer,
1327
1486
  encodeToClient,
1328
1487
  encodeToGateway,
1488
+ encodeToRunner,
1329
1489
  encodeToServer,
1330
1490
  encodeToServerlessServer,
1331
1491
  readActorConfig,
@@ -1342,6 +1502,8 @@ export {
1342
1502
  readEventActorSetAlarm,
1343
1503
  readEventActorStateUpdate,
1344
1504
  readEventWrapper,
1505
+ readGatewayId,
1506
+ readHibernatingRequest,
1345
1507
  readId,
1346
1508
  readJson,
1347
1509
  readKvDeleteRequest,
@@ -1360,6 +1522,7 @@ export {
1360
1522
  readKvResponseData,
1361
1523
  readKvValue,
1362
1524
  readMessageId,
1525
+ readMessageIndex,
1363
1526
  readProtocolMetadata,
1364
1527
  readRequestId,
1365
1528
  readStopCode,
@@ -1376,6 +1539,9 @@ export {
1376
1539
  readToClientWebSocketMessage,
1377
1540
  readToClientWebSocketOpen,
1378
1541
  readToGateway,
1542
+ readToGatewayPong,
1543
+ readToRunner,
1544
+ readToRunnerPing,
1379
1545
  readToServer,
1380
1546
  readToServerAckCommands,
1381
1547
  readToServerEvents,
@@ -1406,6 +1572,8 @@ export {
1406
1572
  writeEventActorSetAlarm,
1407
1573
  writeEventActorStateUpdate,
1408
1574
  writeEventWrapper,
1575
+ writeGatewayId,
1576
+ writeHibernatingRequest,
1409
1577
  writeId,
1410
1578
  writeJson,
1411
1579
  writeKvDeleteRequest,
@@ -1424,6 +1592,7 @@ export {
1424
1592
  writeKvResponseData,
1425
1593
  writeKvValue,
1426
1594
  writeMessageId,
1595
+ writeMessageIndex,
1427
1596
  writeProtocolMetadata,
1428
1597
  writeRequestId,
1429
1598
  writeStopCode,
@@ -1440,6 +1609,9 @@ export {
1440
1609
  writeToClientWebSocketMessage,
1441
1610
  writeToClientWebSocketOpen,
1442
1611
  writeToGateway,
1612
+ writeToGatewayPong,
1613
+ writeToRunner,
1614
+ writeToRunnerPing,
1443
1615
  writeToServer,
1444
1616
  writeToServerAckCommands,
1445
1617
  writeToServerEvents,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivetkit/engine-runner-protocol",
3
- "version": "2.0.24-rc.1",
3
+ "version": "2.0.24",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {