@stinkycomputing/sesame-api-client 1.4.1-alpha.8 → 1.4.1-alpha.9

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
@@ -17,7 +17,7 @@ type IEvent = sesame.v1.rpc.IEvent;
17
17
  export { sesame, Message, Request, Response, Event };
18
18
  export type { IMessage, IRequest, IResponse, IEvent };
19
19
  export { CommandList } from './command-list';
20
- export type { CompositorID, ReplayID, AudioMixerID, INodeConfig, IEncoderConfig, IRecorderOutputConfig, ISuperSlowmoRecorderOutputConfig, IOutputConfig, IDecklinkOutputConfig, IAudioMixerChannel, IAudioMixerConfig, ISourceConfig, IRecorderSourceConfig, ISourceTransportConfig, ITransportCommand, IPlaylistClip, IPlaylist, ITransactionOptions, keyframe } from './command-list';
20
+ export type { CompositorID, ReplayID, AudioMixerID, INodeConfig, IEncoderConfig, IRecorderOutputConfig, ISuperSlowmoRecorderOutputConfig, IOutputConfig, IDecklinkOutputConfig, IWebSocketOutputConfig, ISrtOutputConfig, IMoqOutputConfig, ISystemAudioOutputConfig, IAudioMixerChannel, IAudioMixerConfig, ISourceConfig, IFileSourceConfig, IRecorderSourceConfig, IBrowserSourceConfig, IRTTSourceConfig, IDecklinkSourceConfig, ISystemAudioSourceConfig, ISrtSourceConfig, IWebsocketSourceConfig, IMoqSourceConfig, ISourceTransportConfig, ITransportCommand, IPlaylistClip, IPlaylist, ITransactionOptions, keyframe } from './command-list';
21
21
  export { RPCClient, IClientOptions, IProtobufType } from './rpc-client';
22
22
  export { SesameConnection, IConnectionOptions, VideoCallback, AudioCallback, waitForEvent } from './sesame-connection';
23
23
  export { SesameBinaryProtocol, PacketType, CodecType } from './sesame-binary-protocol';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,QAAQ,+BAAyB,CAAC;AACxC,QAAA,MAAM,KAAK,4BAAsB,CAAC;AAElC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;AACzC,KAAK,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,OAAO,8BAAwB,CAAC;AACtC,QAAA,MAAM,QAAQ,+BAAyB,CAAC;AACxC,QAAA,MAAM,KAAK,4BAAsB,CAAC;AAElC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvC,KAAK,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;AACzC,KAAK,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,gCAAgC,EAChC,aAAa,EACb,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/proto/api.js
2
- import * as $protobuf from "protobufjs/minimal";
2
+ import $protobuf from "protobufjs/minimal.js";
3
3
  var $Reader = $protobuf.Reader;
4
4
  var $Writer = $protobuf.Writer;
5
5
  var $util = $protobuf.util;
@@ -20377,8 +20377,8 @@ var sesame = $root.sesame = (() => {
20377
20377
  return jobs;
20378
20378
  }();
20379
20379
  v1.rpc = function() {
20380
- const rpc2 = {};
20381
- rpc2.Message = function() {
20380
+ const rpc = {};
20381
+ rpc.Message = function() {
20382
20382
  function Message2(properties) {
20383
20383
  if (properties) {
20384
20384
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -20540,7 +20540,7 @@ var sesame = $root.sesame = (() => {
20540
20540
  };
20541
20541
  return Message2;
20542
20542
  }();
20543
- rpc2.Request = function() {
20543
+ rpc.Request = function() {
20544
20544
  function Request2(properties) {
20545
20545
  if (properties) {
20546
20546
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -20677,7 +20677,7 @@ var sesame = $root.sesame = (() => {
20677
20677
  };
20678
20678
  return Request2;
20679
20679
  }();
20680
- rpc2.Response = function() {
20680
+ rpc.Response = function() {
20681
20681
  function Response2(properties) {
20682
20682
  if (properties) {
20683
20683
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -20833,7 +20833,7 @@ var sesame = $root.sesame = (() => {
20833
20833
  };
20834
20834
  return Response2;
20835
20835
  }();
20836
- rpc2.Event = function() {
20836
+ rpc.Event = function() {
20837
20837
  function Event2(properties) {
20838
20838
  if (properties) {
20839
20839
  for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i)
@@ -20994,7 +20994,7 @@ var sesame = $root.sesame = (() => {
20994
20994
  };
20995
20995
  return Event2;
20996
20996
  }();
20997
- rpc2.SesameAPIService = function() {
20997
+ rpc.SesameAPIService = function() {
20998
20998
  function SesameAPIService(rpcImpl, requestDelimited, responseDelimited) {
20999
20999
  $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
21000
21000
  }
@@ -21052,7 +21052,7 @@ var sesame = $root.sesame = (() => {
21052
21052
  }, "name", { value: "RequestIODeviceList" });
21053
21053
  return SesameAPIService;
21054
21054
  }();
21055
- return rpc2;
21055
+ return rpc;
21056
21056
  }();
21057
21057
  return v1;
21058
21058
  }();
@@ -21068,7 +21068,7 @@ var CommandList = class {
21068
21068
  add(item, timeOffsetMs, transaction) {
21069
21069
  item.timeOffsetUs = (timeOffsetMs || 0) * 1e3;
21070
21070
  if (transaction) {
21071
- item.transactionDeps = (transaction == null ? void 0 : transaction.dependencies) || [];
21071
+ item.transactionDeps = transaction?.dependencies || [];
21072
21072
  item.transactionId = transaction.transactionId;
21073
21073
  }
21074
21074
  this.cl.commandList.push(item);
@@ -21105,7 +21105,7 @@ var CommandList = class {
21105
21105
  this.cl.commandList.splice(this.cl.commandList.indexOf(item.del), 1);
21106
21106
  });
21107
21107
  }
21108
- get_command_list_msg() {
21108
+ getCommandListMsg() {
21109
21109
  return this.cl;
21110
21110
  }
21111
21111
  callback(event, data, timeOffsetMs) {
@@ -21113,32 +21113,32 @@ var CommandList = class {
21113
21113
  item.callback = { event, data };
21114
21114
  return this.add(item, timeOffsetMs);
21115
21115
  }
21116
- add_compositor(id, width, height, multisample, timeOffsetMs) {
21116
+ compositorAdd(id, width, height, multisample, timeOffsetMs) {
21117
21117
  let item = new sesame.v1.commands.CommandListItem();
21118
21118
  item.addCompositor = { id, multisample, width, height };
21119
21119
  return this.add(item, timeOffsetMs);
21120
21120
  }
21121
- remove_compositor(id, timeOffsetMs) {
21121
+ compositorRemove(id, timeOffsetMs) {
21122
21122
  let item = new sesame.v1.commands.CommandListItem();
21123
21123
  item.removeCompositor = { id };
21124
21124
  return this.add(item, timeOffsetMs);
21125
21125
  }
21126
- clear_compositor(id, timeOffsetMs) {
21126
+ compositorClear(id, timeOffsetMs) {
21127
21127
  let item = new sesame.v1.commands.CommandListItem();
21128
21128
  item.clearCompositor = { id };
21129
21129
  return this.add(item, timeOffsetMs);
21130
21130
  }
21131
- add_source(id, cfg, timeOffsetMs) {
21131
+ sourceAdd(id, cfg, timeOffsetMs) {
21132
21132
  let item = new sesame.v1.commands.CommandListItem();
21133
21133
  item.addSource = { id, config: cfg };
21134
21134
  return this.add(item, timeOffsetMs);
21135
21135
  }
21136
- remove_source(id, timeOffsetMs) {
21136
+ sourceRemove(id, timeOffsetMs) {
21137
21137
  let item = new sesame.v1.commands.CommandListItem();
21138
21138
  item.removeSource = { id };
21139
21139
  return this.add(item, timeOffsetMs);
21140
21140
  }
21141
- add_node(id, cfg, timeOffsetMs) {
21141
+ nodeAdd(id, cfg, timeOffsetMs) {
21142
21142
  let item = new sesame.v1.commands.CommandListItem();
21143
21143
  item.addNode = {
21144
21144
  compositorId: cfg.compositorId,
@@ -21148,12 +21148,12 @@ var CommandList = class {
21148
21148
  };
21149
21149
  return this.add(item, timeOffsetMs);
21150
21150
  }
21151
- remove_node(compositorId, address, timeOffsetMs) {
21151
+ nodeRemove(compositorId, address, timeOffsetMs) {
21152
21152
  let item = new sesame.v1.commands.CommandListItem();
21153
21153
  item.removeNode = { compositorId, address };
21154
21154
  return this.add(item, timeOffsetMs);
21155
21155
  }
21156
- set_property(propertyDomain, addr, prop, val, timeOffsetMs) {
21156
+ propertySet(propertyDomain, addr, prop, val, timeOffsetMs) {
21157
21157
  let item = new sesame.v1.commands.CommandListItem();
21158
21158
  item.setProperty = {
21159
21159
  address: addr,
@@ -21163,7 +21163,7 @@ var CommandList = class {
21163
21163
  };
21164
21164
  return this.add(item, timeOffsetMs);
21165
21165
  }
21166
- add_load_playlist_command(sourceId, playlist) {
21166
+ playlistLoad(sourceId, playlist) {
21167
21167
  const item = new sesame.v1.commands.CommandListItem();
21168
21168
  const loadPlaylistCmd = {
21169
21169
  items: playlist.clips.map((clip) => ({
@@ -21186,13 +21186,13 @@ var CommandList = class {
21186
21186
  item.loadPlaylist = loadPlaylistCmd;
21187
21187
  return this.add(item, 0);
21188
21188
  }
21189
- add_eject_playlist_command(sourceId) {
21189
+ playlistEject(sourceId) {
21190
21190
  const item = new sesame.v1.commands.CommandListItem();
21191
21191
  const ejectPlaylistCmd = { sourceId };
21192
21192
  item.ejectPlaylist = ejectPlaylistCmd;
21193
21193
  return this.add(item, 0);
21194
21194
  }
21195
- add_transport_command(id, msg, timeOffsetMs) {
21195
+ transportCommand(id, msg, timeOffsetMs) {
21196
21196
  let item = new sesame.v1.commands.CommandListItem();
21197
21197
  let transportCmd = { sourceId: id };
21198
21198
  let cmd;
@@ -21265,17 +21265,17 @@ var CommandList = class {
21265
21265
  item.updateSourceTransport = transportCmd;
21266
21266
  return this.add(item, timeOffsetMs, { transactionId: msg.transactionId, dependencies: [] });
21267
21267
  }
21268
- update_source(id, cfg, timeOffsetMs) {
21268
+ sourceUpdate(id, cfg, timeOffsetMs) {
21269
21269
  let item = new sesame.v1.commands.CommandListItem();
21270
21270
  item.updateSource = { id, config: cfg };
21271
21271
  return this.add(item, timeOffsetMs);
21272
21272
  }
21273
- update_source_metadata(id, metadata, timeOffsetMs) {
21273
+ sourceUpdateMetadata(id, metadata, timeOffsetMs) {
21274
21274
  let item = new sesame.v1.commands.CommandListItem();
21275
21275
  item.setSourceMetadata = { sourceId: id, metadata };
21276
21276
  return this.add(item, timeOffsetMs);
21277
21277
  }
21278
- update_source_transport(id, cfg, timeOffsetMs) {
21278
+ sourceUpdateTransport(id, cfg, timeOffsetMs) {
21279
21279
  let item = new sesame.v1.commands.CommandListItem();
21280
21280
  item.updateSourceTransport = {
21281
21281
  sourceId: id,
@@ -21284,47 +21284,47 @@ var CommandList = class {
21284
21284
  };
21285
21285
  return this.add(item, timeOffsetMs);
21286
21286
  }
21287
- add_output(id, cfg, timeOffsetMs) {
21287
+ outputAdd(id, cfg, timeOffsetMs) {
21288
21288
  let item = new sesame.v1.commands.CommandListItem();
21289
21289
  item.addOutput = { id, ...cfg };
21290
21290
  return this.add(item, timeOffsetMs);
21291
21291
  }
21292
- update_output(id, cfg, timeOffsetMs) {
21292
+ outputUpdate(id, cfg, timeOffsetMs) {
21293
21293
  let item = new sesame.v1.commands.CommandListItem();
21294
21294
  item.updateOutput = { id, ...cfg };
21295
21295
  return this.add(item, timeOffsetMs);
21296
21296
  }
21297
- remove_output(id, timeOffsetMs) {
21297
+ outputRemove(id, timeOffsetMs) {
21298
21298
  let item = new sesame.v1.commands.CommandListItem();
21299
21299
  item.removeOutput = { id };
21300
21300
  return this.add(item, timeOffsetMs);
21301
21301
  }
21302
- add_audio_mixer(id, cfg, timeOffsetMs) {
21302
+ audioMixerAdd(id, cfg, timeOffsetMs) {
21303
21303
  let item = new sesame.v1.commands.CommandListItem();
21304
21304
  item.addAudioMixer = { id, config: cfg };
21305
21305
  return this.add(item, timeOffsetMs);
21306
21306
  }
21307
- update_audio_mixer(id, cfg, timeOffsetMs) {
21307
+ audioMixerUpdate(id, cfg, timeOffsetMs) {
21308
21308
  let item = new sesame.v1.commands.CommandListItem();
21309
21309
  item.updateAudioMixer = { id, config: cfg };
21310
21310
  return this.add(item, timeOffsetMs);
21311
21311
  }
21312
- add_audio_mixer_channel(mixerId, cfg, timeOffsetMs) {
21312
+ audioMixerChannelAdd(mixerId, cfg, timeOffsetMs) {
21313
21313
  let item = new sesame.v1.commands.CommandListItem();
21314
21314
  item.addAudioChannel = { mixerId, channelConfig: cfg };
21315
21315
  return this.add(item, timeOffsetMs);
21316
21316
  }
21317
- remove_audio_mixer(mixerId, timeOffsetMs) {
21317
+ audioMixerRemove(mixerId, timeOffsetMs) {
21318
21318
  let item = new sesame.v1.commands.CommandListItem();
21319
21319
  item.removeAudioMixer = { id: mixerId };
21320
21320
  return this.add(item, timeOffsetMs);
21321
21321
  }
21322
- remove_audio_mixer_channel(mixerId, channelId, timeOffsetMs) {
21322
+ audioMixerChannelRemove(mixerId, channelId, timeOffsetMs) {
21323
21323
  let item = new sesame.v1.commands.CommandListItem();
21324
21324
  item.removeAudioChannel = { mixerId, channelId };
21325
21325
  return this.add(item, timeOffsetMs);
21326
21326
  }
21327
- animate_property(propertyDomain, addr, prop, before, after, keyframes, timeOffsetMs) {
21327
+ propertyAnimate(propertyDomain, addr, prop, before, after, keyframes, timeOffsetMs) {
21328
21328
  let item = new sesame.v1.commands.CommandListItem();
21329
21329
  item.animateProperty = {
21330
21330
  address: addr,
@@ -21340,7 +21340,6 @@ var CommandList = class {
21340
21340
 
21341
21341
  // src/rpc-client.ts
21342
21342
  import { EventEmitter } from "events";
21343
- import * as WebSocket from "ws";
21344
21343
 
21345
21344
  // src/logger.ts
21346
21345
  var ConsoleLogger = class {
@@ -21519,7 +21518,6 @@ var RPCClient = class extends EventEmitter {
21519
21518
 
21520
21519
  // src/sesame-connection.ts
21521
21520
  import { EventEmitter as EventEmitter2 } from "events";
21522
- import WebSocket2 from "ws";
21523
21521
 
21524
21522
  // src/sesame-binary-protocol.ts
21525
21523
  var PROTOCOL_MAGIC = 1297302867;
@@ -21782,20 +21780,24 @@ var SesameConnection = class extends EventEmitter2 {
21782
21780
  this.numRetries = 0;
21783
21781
  this.url = "";
21784
21782
  this.autoReconnect = true;
21783
+ /* Bound listeners so we can removeEventListener later */
21784
+ this.boundMessageHandler = (event) => this.messageHandler(event);
21785
+ this.boundOpenHandler = () => this.openHandler();
21786
+ this.boundCloseHandler = () => this.closeHandler();
21787
+ this.boundErrorHandler = (event) => this.errorHandler(event);
21785
21788
  this.openHandler = () => {
21786
21789
  this.numRetries = 0;
21787
21790
  this.emit("open");
21788
21791
  };
21789
21792
  this.messageHandler = (event) => {
21790
- var _a, _b, _c;
21791
21793
  if (event.data instanceof ArrayBuffer) {
21792
21794
  const parsed = SesameBinaryProtocol.parseData(new Uint8Array(event.data));
21793
21795
  if (!parsed.valid) this.emit("error", new Error("Invalid packet received"));
21794
- if (((_a = parsed.header) == null ? void 0 : _a.type) == 1 /* VIDEO_FRAME */) {
21796
+ if (parsed.header?.type == 1 /* VIDEO_FRAME */) {
21795
21797
  this.emit("video-packet", event.data);
21796
- } else if (((_b = parsed.header) == null ? void 0 : _b.type) == 2 /* AUDIO_FRAME */) {
21798
+ } else if (parsed.header?.type == 2 /* AUDIO_FRAME */) {
21797
21799
  this.emit("audio-packet", event.data);
21798
- } else if (((_c = parsed.header) == null ? void 0 : _c.type) == 3 /* RPC */) {
21800
+ } else if (parsed.header?.type == 3 /* RPC */) {
21799
21801
  this.emit("rpc", parsed.payload);
21800
21802
  }
21801
21803
  }
@@ -21805,7 +21807,7 @@ var SesameConnection = class extends EventEmitter2 {
21805
21807
  if (options.autoConnect) this.connect().catch(() => log.debug("failed connect"));
21806
21808
  }
21807
21809
  isConnected() {
21808
- return this.socket !== void 0 && this.socket.readyState === WebSocket2.OPEN;
21810
+ return this.socket !== void 0 && this.socket.readyState === WebSocket.OPEN;
21809
21811
  }
21810
21812
  async send(data) {
21811
21813
  if (!this.isConnected()) throw new Error("Not connected");
@@ -21817,11 +21819,11 @@ var SesameConnection = class extends EventEmitter2 {
21817
21819
  }
21818
21820
  async connect() {
21819
21821
  this.active = true;
21820
- this.socket = new WebSocket2(this.url);
21821
- this.socket.addEventListener("message", (event) => this.messageHandler(event));
21822
- this.socket.addEventListener("open", () => this.openHandler());
21823
- this.socket.addEventListener("close", () => this.closeHandler());
21824
- this.socket.addEventListener("error", (error) => this.errorHandler(error));
21822
+ this.socket = new WebSocket(this.url);
21823
+ this.socket.addEventListener("message", this.boundMessageHandler);
21824
+ this.socket.addEventListener("open", this.boundOpenHandler);
21825
+ this.socket.addEventListener("close", this.boundCloseHandler);
21826
+ this.socket.addEventListener("error", this.boundErrorHandler);
21825
21827
  this.socket.binaryType = "arraybuffer";
21826
21828
  await new Promise((resolve) => {
21827
21829
  const done = () => {
@@ -21842,11 +21844,17 @@ var SesameConnection = class extends EventEmitter2 {
21842
21844
  return;
21843
21845
  }
21844
21846
  const sock = this.socket;
21845
- if (sock.readyState !== WebSocket2.CLOSED) {
21847
+ if (sock.readyState !== WebSocket.CLOSED) {
21846
21848
  sock.close();
21847
21849
  await waitForEvent(this, "close");
21848
21850
  }
21849
- sock.removeAllListeners();
21851
+ this.removeSocketListeners(sock);
21852
+ }
21853
+ removeSocketListeners(sock) {
21854
+ sock.removeEventListener("message", this.boundMessageHandler);
21855
+ sock.removeEventListener("open", this.boundOpenHandler);
21856
+ sock.removeEventListener("close", this.boundCloseHandler);
21857
+ sock.removeEventListener("error", this.boundErrorHandler);
21850
21858
  }
21851
21859
  retryHandler() {
21852
21860
  if (this.active && this.autoReconnect) {
@@ -21856,7 +21864,7 @@ var SesameConnection = class extends EventEmitter2 {
21856
21864
  closeHandler() {
21857
21865
  this.emit("close");
21858
21866
  if (this.socket) {
21859
- this.socket.removeAllListeners();
21867
+ this.removeSocketListeners(this.socket);
21860
21868
  }
21861
21869
  this.socket = void 0;
21862
21870
  if (this.active) {
@@ -21883,8 +21891,8 @@ import { EventEmitter as EventEmitter3 } from "events";
21883
21891
  // src/status-api.ts
21884
21892
  var StatusApi = class {
21885
21893
  /** @internal */
21886
- constructor(rpc2) {
21887
- this.rpc = rpc2;
21894
+ constructor(rpc) {
21895
+ this.rpc = rpc;
21888
21896
  }
21889
21897
  async getStatus() {
21890
21898
  return this.rpc.service.requestStatus(new sesame.v1.common.Empty());
@@ -21900,8 +21908,8 @@ var StatusApi = class {
21900
21908
  // src/recorder-api.ts
21901
21909
  var RecorderApi = class {
21902
21910
  /** @internal */
21903
- constructor(rpc2) {
21904
- this.rpc = rpc2;
21911
+ constructor(rpc) {
21912
+ this.rpc = rpc;
21905
21913
  }
21906
21914
  async addClip(recorderId, clip) {
21907
21915
  const msg = sesame.v1.recorder.RecorderClipAddRequest.create({ clip });
@@ -21921,16 +21929,14 @@ var RecorderApi = class {
21921
21929
  await this.rpc.service.requestRecorderOperation({ recorderId, clearClips: msg });
21922
21930
  }
21923
21931
  async verifyClips(recorderId) {
21924
- var _a;
21925
21932
  const msg = sesame.v1.recorder.RecorderClipsVerifyRequest.create();
21926
21933
  const reply = await this.rpc.service.requestRecorderOperation({ recorderId, verifyClips: msg });
21927
- return ((_a = reply.verifyClipsResponse) == null ? void 0 : _a.errors) || [];
21934
+ return reply.verifyClipsResponse?.errors || [];
21928
21935
  }
21929
21936
  async getClips(recorderId) {
21930
- var _a;
21931
21937
  const msg = sesame.v1.recorder.RecorderClipsGetRequest.create();
21932
21938
  const reply = await this.rpc.service.requestRecorderOperation({ recorderId, getClips: msg });
21933
- if ((_a = reply.getClipsResponse) == null ? void 0 : _a.clips) {
21939
+ if (reply.getClipsResponse?.clips) {
21934
21940
  return reply.getClipsResponse.clips;
21935
21941
  } else {
21936
21942
  throw new Error(`No clips returned: ${JSON.stringify(reply)}`);
@@ -21949,8 +21955,8 @@ var RecorderApi = class {
21949
21955
  // src/jobs-api.ts
21950
21956
  var JobsApi = class {
21951
21957
  /** @internal */
21952
- constructor(rpc2) {
21953
- this.rpc = rpc2;
21958
+ constructor(rpc) {
21959
+ this.rpc = rpc;
21954
21960
  }
21955
21961
  async importClip(config) {
21956
21962
  const msg = sesame.v1.jobs.ImportStartRequest.create();
@@ -22136,8 +22142,8 @@ var SesameClient = class extends EventEmitter3 {
22136
22142
  }
22137
22143
  async execute(cl) {
22138
22144
  cl.filterCreatedAndDestroyedSources();
22139
- if (cl.get_command_list_msg().commandList.length > 0) {
22140
- await this.rpc.service.executeCommandList(cl.get_command_list_msg());
22145
+ if (cl.getCommandListMsg().commandList.length > 0) {
22146
+ await this.rpc.service.executeCommandList(cl.getCommandListMsg());
22141
22147
  }
22142
22148
  }
22143
22149
  disconnect() {