@rivetkit/engine-runner 2.3.0-rc.1 → 2.3.0-rc.11

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/mod.cjs CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } var _class;// src/mod.ts
2
2
  var _enginerunnerprotocol = require('@rivetkit/engine-runner-protocol'); var protocol = _interopRequireWildcard(_enginerunnerprotocol);
3
+ var _uuid = require('uuid');
3
4
 
4
5
  // src/log.ts
5
6
  var LOGGER;
@@ -513,6 +514,8 @@ function stringifyKvResponseData(data) {
513
514
  }
514
515
 
515
516
  // src/websocket-tunnel-adapter.ts
517
+
518
+
516
519
  var _virtualwebsocket = require('@rivetkit/virtual-websocket');
517
520
  var HIBERNATABLE_SYMBOL = /* @__PURE__ */ Symbol("hibernatable");
518
521
  var WebSocketTunnelAdapter = class {
@@ -570,14 +573,23 @@ var WebSocketTunnelAdapter = class {
570
573
  }
571
574
  messageData = data;
572
575
  } else if (data instanceof ArrayBuffer) {
573
- if (data.byteLength > MAX_PAYLOAD_SIZE) throw new Error("WebSocket message too large");
576
+ if (data.byteLength > MAX_PAYLOAD_SIZE)
577
+ throw new Error("WebSocket message too large");
574
578
  isBinary = true;
575
579
  messageData = data;
576
580
  } else if (ArrayBuffer.isView(data)) {
577
- if (data.byteLength > MAX_PAYLOAD_SIZE) throw new Error("WebSocket message too large");
581
+ if (data.byteLength > MAX_PAYLOAD_SIZE)
582
+ throw new Error("WebSocket message too large");
578
583
  isBinary = true;
579
584
  const view = data;
580
- const buffer = view.buffer instanceof SharedArrayBuffer ? new Uint8Array(view.buffer, view.byteOffset, view.byteLength).slice().buffer : view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength);
585
+ const buffer = view.buffer instanceof SharedArrayBuffer ? new Uint8Array(
586
+ view.buffer,
587
+ view.byteOffset,
588
+ view.byteLength
589
+ ).slice().buffer : view.buffer.slice(
590
+ view.byteOffset,
591
+ view.byteOffset + view.byteLength
592
+ );
581
593
  messageData = buffer;
582
594
  } else {
583
595
  throw new Error("Unsupported data type");
@@ -588,7 +600,11 @@ var WebSocketTunnelAdapter = class {
588
600
  _handleOpen(requestId) {
589
601
  if (this.#readyState !== 0) return;
590
602
  this.#readyState = 1;
591
- this.#ws.dispatchEvent({ type: "open", rivetRequestId: requestId, target: this.#ws });
603
+ this.#ws.dispatchEvent({
604
+ type: "open",
605
+ rivetRequestId: requestId,
606
+ target: this.#ws
607
+ });
592
608
  }
593
609
  // Called by Tunnel when message is received
594
610
  _handleMessage(requestId, data, serverMessageIndex, isBinary) {
@@ -625,7 +641,10 @@ var WebSocketTunnelAdapter = class {
625
641
  expectedIndex,
626
642
  receivedIndex: serverMessageIndex,
627
643
  closeReason,
628
- gap: wrappingSubU16(wrappingSubU16(serverMessageIndex, previousIndex), 1)
644
+ gap: wrappingSubU16(
645
+ wrappingSubU16(serverMessageIndex, previousIndex),
646
+ 1
647
+ )
629
648
  });
630
649
  this.#close(1008, closeReason, true);
631
650
  return true;
@@ -637,7 +656,10 @@ var WebSocketTunnelAdapter = class {
637
656
  if (this.#binaryType === "nodebuffer") {
638
657
  messageData = Buffer.from(data);
639
658
  } else if (this.#binaryType === "arraybuffer") {
640
- messageData = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
659
+ messageData = data.buffer.slice(
660
+ data.byteOffset,
661
+ data.byteOffset + data.byteLength
662
+ );
641
663
  }
642
664
  }
643
665
  this.#ws.dispatchEvent({
@@ -1516,9 +1538,6 @@ async function importWebSocket() {
1516
1538
  }
1517
1539
 
1518
1540
  // src/mod.ts
1519
-
1520
-
1521
- var _uuid = require('uuid');
1522
1541
  var KV_EXPIRE = 3e4;
1523
1542
  var PROTOCOL_VERSION = 7;
1524
1543
  var EVENT_BACKLOG_WARN_THRESHOLD = 1e4;
@@ -1796,9 +1815,12 @@ var Runner = class {
1796
1815
  );
1797
1816
  }
1798
1817
  this.#kvRequests.clear();
1799
- const pegboardWebSocket = this.getPegboardWebSocketIfReady();
1800
- if (pegboardWebSocket) {
1801
- if (immediate) {
1818
+ const pegboardWebSocket = this.#pegboardWebSocket;
1819
+ const readyState = pegboardWebSocket == null ? void 0 : pegboardWebSocket.readyState;
1820
+ const isOpen = readyState === 1;
1821
+ const isConnecting = readyState === 0;
1822
+ if (pegboardWebSocket && (isOpen || isConnecting)) {
1823
+ if (immediate || isConnecting) {
1802
1824
  pegboardWebSocket.close(1e3, "pegboard.runner_shutdown");
1803
1825
  } else {
1804
1826
  try {
@@ -2053,6 +2075,7 @@ var Runner = class {
2053
2075
  const init = message.val;
2054
2076
  if (this.runnerId !== init.runnerId) {
2055
2077
  this.runnerId = init.runnerId;
2078
+ this.#logCached = void 0;
2056
2079
  this.#stopAllActors();
2057
2080
  }
2058
2081
  this.#protocolMetadata = init.metadata;
@@ -2194,7 +2217,7 @@ var Runner = class {
2194
2217
  );
2195
2218
  for (const [_, actor] of this.#actors) {
2196
2219
  const checkpoint = ack.lastEventCheckpoints.find(
2197
- (x) => x.actorId == actor.actorId
2220
+ (x) => x.actorId === actor.actorId
2198
2221
  );
2199
2222
  if (checkpoint) actor.handleAckEvents(checkpoint.index);
2200
2223
  }
@@ -2283,18 +2306,18 @@ var Runner = class {
2283
2306
  });
2284
2307
  await this.#config.onActorStart(actorId, generation, actorConfig);
2285
2308
  instance.actorStartPromise.resolve();
2286
- } catch (err) {
2309
+ } catch (error) {
2287
2310
  (_d = this.log) == null ? void 0 : _d.error({
2288
2311
  msg: "error starting runner actor",
2289
2312
  actorId,
2290
- err
2313
+ error
2291
2314
  });
2292
- instance.actorStartPromise.reject(err);
2315
+ instance.actorStartPromise.reject(error);
2293
2316
  await this.forceStopActor(actorId, generation);
2294
2317
  }
2295
2318
  }
2296
2319
  async #handleCommandStopActor(commandWrapper) {
2297
- const stopCommand = commandWrapper.inner.val;
2320
+ const _stopCommand = commandWrapper.inner.val;
2298
2321
  const actorId = commandWrapper.checkpoint.actorId;
2299
2322
  const generation = commandWrapper.checkpoint.generation;
2300
2323
  await this.forceStopActor(actorId, generation);