@stinkycomputing/sesame-api-client 1.5.0-alpha.1 → 1.5.0-alpha.2

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
@@ -21,8 +21,8 @@ export type { CompositorID, ReplayID, AudioMixerID, INodeConfig, IEncoderConfig,
21
21
  export type { CompositorProperty, AudioMixerProperty, SourceProperty, PropertyValueMap, BaseNodeProperties, MeshNodeProperties, TextNodeProperties, VideoBoxNodeProperties, ImageNodeProperties, EffectBaseProperties, EffectRttProperties, EffectTimecodeProperties, EffectClipPlaneProperties, } from './generated/property-types';
22
22
  export { RPCClient, IClientOptions, IProtobufType } from './rpc-client';
23
23
  export { SesameConnection, ConnectionState, IConnectionOptions, MediaPacketCallback, waitForEvent } from './sesame-connection';
24
- export { WireProtocol, FrameType, FrameHeader, CodecType } from './sesame-wire-protocol';
25
- export type { ParsedFrame, IFrameHeader, IMediaCodecData } from './sesame-wire-protocol';
24
+ export { WireProtocol, FrameType, DataType, FrameHeader, CodecType, parseDataFrame, buildAudioControlFrame, buildTransportControlFrame } from './sesame-wire-protocol';
25
+ export type { ParsedFrame, ParsedDataFrame, IFrameHeader, IMediaCodecData } from './sesame-wire-protocol';
26
26
  export { SesameClient, EaseKind } from './sesame-api-client';
27
27
  export { StatusApi } from './status-api';
28
28
  export { RecorderApi } from './recorder-api';
@@ -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,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,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACzF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzF,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,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC/H,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EACzD,cAAc,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC5G,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC1G,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
@@ -23906,9 +23906,74 @@ import { EventEmitter as EventEmitter2 } from "events";
23906
23906
 
23907
23907
  // src/sesame-wire-protocol.ts
23908
23908
  var FrameType = sesame.v1.wire.FrameType;
23909
+ var DataType = sesame.v1.wire.DataType;
23909
23910
  var FrameHeader = sesame.v1.wire.FrameHeader;
23910
23911
  var MediaCodecData = sesame.v1.wire.MediaCodecData;
23911
23912
  var CodecType = sesame.v1.common.CodecType;
23913
+ function parseDataFrame(frame) {
23914
+ if (!frame.valid || !frame.header || !frame.payload) return null;
23915
+ if (frame.header.type !== sesame.v1.wire.FrameType.FRAME_TYPE_DATA) return null;
23916
+ const d = frame.header.data;
23917
+ if (!d) return null;
23918
+ const trackName = d.trackName ?? "";
23919
+ const payload = frame.payload;
23920
+ try {
23921
+ switch (d.dataType) {
23922
+ case sesame.v1.wire.DataType.DATA_TYPE_JSON: {
23923
+ const text = new TextDecoder().decode(payload);
23924
+ return { dataType: "json", trackName, json: JSON.parse(text) };
23925
+ }
23926
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_STATUS:
23927
+ return {
23928
+ dataType: "transport-status",
23929
+ trackName,
23930
+ event: sesame.v1.status.TransportEvent.decode(payload)
23931
+ };
23932
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_STATE:
23933
+ return {
23934
+ dataType: "audio-state",
23935
+ trackName,
23936
+ status: sesame.v1.audio.AudioMixerStatus.decode(payload)
23937
+ };
23938
+ case sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL:
23939
+ return {
23940
+ dataType: "transport-control",
23941
+ trackName,
23942
+ request: sesame.v1.sources.TransportControlRequest.decode(payload)
23943
+ };
23944
+ case sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL:
23945
+ return {
23946
+ dataType: "audio-control",
23947
+ trackName,
23948
+ request: sesame.v1.audio.AudioControlRequest.decode(payload)
23949
+ };
23950
+ default:
23951
+ return null;
23952
+ }
23953
+ } catch {
23954
+ return null;
23955
+ }
23956
+ }
23957
+ function buildAudioControlFrame(trackName, request) {
23958
+ const payload = sesame.v1.audio.AudioControlRequest.encode(request).finish();
23959
+ return WireProtocol.serialize(
23960
+ {
23961
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
23962
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_AUDIO_CONTROL, trackName }
23963
+ },
23964
+ payload
23965
+ );
23966
+ }
23967
+ function buildTransportControlFrame(trackName, request) {
23968
+ const payload = sesame.v1.sources.TransportControlRequest.encode(request).finish();
23969
+ return WireProtocol.serialize(
23970
+ {
23971
+ type: sesame.v1.wire.FrameType.FRAME_TYPE_DATA,
23972
+ data: { dataType: sesame.v1.wire.DataType.DATA_TYPE_TRANSPORT_CONTROL, trackName }
23973
+ },
23974
+ payload
23975
+ );
23976
+ }
23912
23977
  var PREFIX_SIZE = 4;
23913
23978
  var WireProtocol = class {
23914
23979
  /**
@@ -24389,6 +24454,7 @@ export {
24389
24454
  CodecType,
24390
24455
  CommandList,
24391
24456
  ConnectionState,
24457
+ DataType,
24392
24458
  EaseKind,
24393
24459
  Event,
24394
24460
  FrameHeader,
@@ -24403,8 +24469,11 @@ export {
24403
24469
  SesameConnection,
24404
24470
  StatusApi,
24405
24471
  WireProtocol,
24472
+ buildAudioControlFrame,
24473
+ buildTransportControlFrame,
24406
24474
  getLogger,
24407
24475
  log,
24476
+ parseDataFrame,
24408
24477
  sesame,
24409
24478
  setLogger,
24410
24479
  waitForEvent