@stinkycomputing/sesame-api-client 1.4.1-alpha.0 → 1.4.1-alpha.10

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.
@@ -0,0 +1,16 @@
1
+ import { RPCClient } from './rpc-client';
2
+ import { sesame } from './proto/api';
3
+ export declare class RecorderApi {
4
+ private rpc;
5
+ /** @internal */
6
+ constructor(rpc: RPCClient<sesame.v1.rpc.SesameAPIService>);
7
+ addClip(recorderId: string, clip: sesame.v1.recorder.IRecorderClip): Promise<void>;
8
+ copyClip(recorderId: string, clipId: number, newClipId: number): Promise<void>;
9
+ removeClip(recorderId: string, id: number): Promise<void>;
10
+ removeAllClips(recorderId: string, protect?: sesame.v1.recorder.IRecorderClipRange[]): Promise<void>;
11
+ verifyClips(recorderId: string): Promise<string[]>;
12
+ getClips(recorderId: string): Promise<sesame.v1.recorder.IRecorderClip[]>;
13
+ setLockedDuration(frames: number): Promise<void>;
14
+ setMetadata(recorderId: string, metadata: sesame.v1.common.ITransportMetadata): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=recorder-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorder-api.d.ts","sourceRoot":"","sources":["../src/recorder-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,WAAW;IAEV,OAAO,CAAC,GAAG;IADvB,gBAAgB;gBACI,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE5D,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa;IAKlE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAK9D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAKzC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE;IAMpF,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMlD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAUzE,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAKhC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB;CAIpF"}
@@ -1,9 +1,7 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import * as protobuf from 'protobufjs/minimal';
3
- import * as WebSocket from 'ws';
4
3
  import { sesame } from './proto/api';
5
4
  import { SesameConnection } from './sesame-connection';
6
- export declare let WS: typeof WebSocket;
7
5
  export interface IProtobufType {
8
6
  encode(message: any, writer?: protobuf.Writer): protobuf.Writer;
9
7
  decode(reader: (protobuf.Reader | Uint8Array), length?: number): any;
@@ -13,11 +11,8 @@ export interface IProtobufType {
13
11
  }
14
12
  /**
15
13
  * RPC Client options
16
- * ------------------
17
- * *Note* - The options inherited from `WebSocket.IClientOptions` are only
18
- * valid when running in node.js, they have no effect in the browser.
19
14
  */
20
- export interface IClientOptions extends WebSocket.ClientOptions {
15
+ export interface IClientOptions {
21
16
  /**
22
17
  * Event names to protobuf types, any event assigned a type will have
23
18
  * its payload decoded before the event is posted.
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../src/rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,KAAK,SAAS,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,IAAI,EAAE,kBAAY,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,kBAAkB,GAAG;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;CACnF;AASD;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,SAAS,CAAC,aAAa;IAC3D;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;KAAC,CAAA;IAC7C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IACvD;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1D;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,KAAK,IAAI,GAAG,IAAI,CAAA;CACzH;AAED;;;;GAIG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,SAAQ,YAAa,YAAW,aAAa;IAEhG;;OAEG;IACH,SAAgB,OAAO,EAAE,cAAc,CAAA;IAEvC;;OAEG;IACH,SAAgB,OAAO,EAAE,CAAC,CAAA;IAE1B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;;OAIG;gBACS,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE;QAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAA;KAAC,EAAE,OAAO,GAAE,cAAmB;IAcvH,OAAO,CAAC,WAAW,CAKlB;IAED,OAAO,CAAC,OAAO,CA2Bd;IAED,OAAO,CAAC,WAAW,CAalB;IAED,OAAO,CAAC,YAAY,CAInB;YAEa,kBAAkB;IAmBhC,OAAO,CAAC,YAAY,CAMnB;IAED,OAAO,CAAC,cAAc,CAcrB;YAEa,eAAe;IAQ7B,OAAO,CAAC,YAAY;CA0BvB;AAED;;;GAGG"}
1
+ {"version":3,"file":"rpc-client.d.ts","sourceRoot":"","sources":["../src/rpc-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAC,UAAU,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,kBAAkB,GAAG;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;CACnF;AASD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;KAAC,CAAA;IAC7C;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IACvD;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAA;IAC1D;;;;OAIG;IACH,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,UAAU,GAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,KAAK,IAAI,GAAG,IAAI,CAAA;CACzH;AAED;;;;GAIG;AACH,qBAAa,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAE,SAAQ,YAAa,YAAW,aAAa;IAEhG;;OAEG;IACH,SAAgB,OAAO,EAAE,cAAc,CAAA;IAEvC;;OAEG;IACH,SAAgB,OAAO,EAAE,CAAC,CAAA;IAE1B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;;OAIG;gBACS,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE;QAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAA;KAAC,EAAE,OAAO,GAAE,cAAmB;IAcvH,OAAO,CAAC,WAAW,CAKlB;IAED,OAAO,CAAC,OAAO,CA2Bd;IAED,OAAO,CAAC,WAAW,CAalB;IAED,OAAO,CAAC,YAAY,CAInB;YAEa,kBAAkB;IAmBhC,OAAO,CAAC,YAAY,CAMnB;IAED,OAAO,CAAC,cAAc,CAcrB;YAEa,eAAe;IAQ7B,OAAO,CAAC,YAAY;CA0BvB;AAED;;;GAGG"}
@@ -3,26 +3,12 @@ import { RPCClient } from './rpc-client';
3
3
  import { sesame } from './proto/api';
4
4
  import { CommandList } from './command-list';
5
5
  import { EventEmitter } from 'events';
6
- import Long from 'long';
7
- export interface IPlaylist {
8
- clips: Array<{
9
- id: number | Long;
10
- recorderId: string;
11
- transitionTime?: number;
12
- speed?: number;
13
- audioRouting?: any;
14
- transitionType?: number;
15
- transitionFadeColor?: {
16
- x: number;
17
- y: number;
18
- z: number;
19
- w: number;
20
- };
21
- audioLevels?: number[];
22
- startTime?: number;
23
- endTime?: number;
24
- }>;
25
- }
6
+ import { StatusApi } from './status-api';
7
+ import { RecorderApi } from './recorder-api';
8
+ import { JobsApi } from './jobs-api';
9
+ export { StatusApi } from './status-api';
10
+ export { RecorderApi } from './recorder-api';
11
+ export { JobsApi } from './jobs-api';
26
12
  export declare enum EaseKind {
27
13
  STEPPED = "stepped",
28
14
  LINEAR = "linear",
@@ -57,7 +43,7 @@ export declare enum EaseKind {
57
43
  BACK_OUT = "backOut",
58
44
  BACK_INOUT = "backInOut"
59
45
  }
60
- interface TopicDataCallback {
46
+ export interface TopicDataCallback {
61
47
  (topic: sesame.v1.common.EventTopic, msg: sesame.v1.status.Event): void;
62
48
  }
63
49
  interface CallbackMessage {
@@ -66,47 +52,22 @@ interface CallbackMessage {
66
52
  export declare class SesameClient extends EventEmitter {
67
53
  private conn;
68
54
  private rpc;
69
- private video_subscription;
55
+ private videoSubscriptionId;
70
56
  private subscriptions;
71
- private errorIsLogged;
57
+ readonly status: StatusApi;
58
+ readonly recorder: RecorderApi;
59
+ readonly jobs: JobsApi;
72
60
  onVideoPacket: VideoCallback;
73
61
  onAudioPacket: AudioCallback;
74
62
  onCallbackMessage: CallbackMessage;
75
63
  isConnected(): boolean;
76
64
  constructor(portOrUrl: number | string);
77
- private send_subscriptions;
78
- get_status(): Promise<sesame.v1.status.Status>;
79
- get_io_devices(): Promise<sesame.v1.status.IODeviceListResponse>;
80
- request_keyframe(outputId: string): Promise<void>;
81
- add_video_subscription(id: string): void;
82
- add_subscription(topic: sesame.v1.common.EventTopic, callback: TopicDataCallback): void;
83
- remove_subscription(topic: sesame.v1.common.EventTopic, callback: TopicDataCallback): void;
65
+ private sendSubscriptions;
66
+ addVideoSubscription(id: string): void;
67
+ addSubscription(topic: sesame.v1.common.EventTopic, callback: TopicDataCallback): void;
68
+ removeSubscription(topic: sesame.v1.common.EventTopic, callback: TopicDataCallback): void;
84
69
  getService(): RPCClient<sesame.v1.rpc.SesameAPIService>;
85
70
  execute(cl: CommandList): Promise<void>;
86
- addClip(recorderId: string, clip: sesame.v1.recorder.IRecorderClip): Promise<void>;
87
- copyClip(recorderId: string, clipId: number, newClipId: number): Promise<void>;
88
- removeClip(recorderId: string, id: number): Promise<void>;
89
- removeAllClips(recorderId: string, protect?: sesame.v1.recorder.IRecorderClipRange[]): Promise<void>;
90
- verifyClips(recorderId: string): Promise<string[]>;
91
- setLockedDuration(frames: number): Promise<void>;
92
- setMetadata(recorderId: string, metadata: sesame.v1.common.ITransportMetadata): Promise<void>;
93
- getClips(recorderId: string): Promise<{
94
- id: number;
95
- startTime: number;
96
- endTime: number;
97
- lockedStart: number;
98
- lockedEnd: number;
99
- userTime: number | undefined;
100
- name: any;
101
- userData: any;
102
- }[]>;
103
- getImportClipStatus(): Promise<sesame.v1.jobs.JobListResponse>;
104
- getExportPlaylistStatus(): Promise<sesame.v1.jobs.JobListResponse>;
105
- exportPlaylist(playlist: IPlaylist, config: sesame.v1.jobs.IExportConfiguration): Promise<void>;
106
- importClip(config: sesame.v1.jobs.IImportConfiguration): Promise<sesame.v1.jobs.JobStatusResponse>;
107
- abortExportJob(jobId: number): Promise<sesame.v1.jobs.JobStatusResponse>;
108
- abortImportJob(jobId: number): Promise<sesame.v1.jobs.JobStatusResponse>;
109
71
  disconnect(): void;
110
72
  }
111
- export {};
112
73
  //# sourceMappingURL=sesame-api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sesame-api-client.d.ts","sourceRoot":"","sources":["../src/sesame-api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sesame-api-client.d.ts","sourceRoot":"","sources":["../src/sesame-api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAoB,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAkB,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,YAAY,gBAAgB;IAC5B,aAAa,iBAAiB;IAC9B,eAAe,mBAAmB;IAClC,QAAQ,YAAY;IACpB,SAAS,aAAa;IACtB,WAAW,eAAe;IAC1B,UAAU,cAAc;IACxB,WAAW,eAAe;IAC1B,aAAa,iBAAiB;IAC9B,UAAU,cAAc;IACxB,WAAW,eAAe;IAC1B,aAAa,iBAAiB;IAC9B,aAAa,iBAAiB;IAC9B,cAAc,kBAAkB;IAChC,gBAAgB,oBAAoB;IACpC,cAAc,kBAAkB;IAChC,eAAe,mBAAmB;IAClC,iBAAiB,qBAAqB;IACtC,WAAW,eAAe;IAC1B,YAAY,gBAAgB;IAC5B,cAAc,kBAAkB;IAChC,SAAS,aAAa;IACtB,UAAU,cAAc;IACxB,YAAY,gBAAgB;IAC5B,UAAU,cAAc;IACxB,WAAW,eAAe;IAC1B,aAAa,iBAAiB;IAC9B,OAAO,WAAW;IAClB,QAAQ,YAAY;IACpB,UAAU,cAAc;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;CACxE;AAED,UAAU,eAAe;IACvB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAOD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,GAAG,CAA4C;IACvD,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,aAAa,CAA2B;IAEhD,SAAgB,MAAM,EAAE,SAAS,CAAC;IAClC,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,SAAgB,IAAI,EAAE,OAAO,CAAC;IAEvB,aAAa,EAAE,aAAa,CAAY;IACxC,aAAa,EAAE,aAAa,CAAY;IACxC,iBAAiB,EAAE,eAAe,CAAY;IAE9C,WAAW,IAAI,OAAO;gBAIjB,SAAS,EAAE,MAAM,GAAG,MAAM;IAkEtC,OAAO,CAAC,iBAAiB;IAYlB,oBAAoB,CAAC,EAAE,EAAE,MAAM;IAK/B,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB;IAU/E,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,iBAAiB;IAKlF,UAAU;IAIJ,OAAO,CAAC,EAAE,EAAE,WAAW;IAO7B,UAAU;CAGlB"}
@@ -1,7 +1,12 @@
1
1
  import { EventEmitter } from 'events';
2
- import WebSocket from 'ws';
3
2
  export type VideoCallback = (id: string, data: Uint8Array) => void;
4
3
  export type AudioCallback = (id: string, data: Uint8Array) => void;
4
+ export declare enum ConnectionState {
5
+ Disconnected = "disconnected",
6
+ Connecting = "connecting",
7
+ Connected = "connected",
8
+ Reconnecting = "reconnecting"
9
+ }
5
10
  export declare function waitForEvent<T>(emitter: EventEmitter, eventName: string | symbol): Promise<T>;
6
11
  export interface IConnectionOptions {
7
12
  autoConnect: boolean;
@@ -14,6 +19,13 @@ export declare class SesameConnection extends EventEmitter {
14
19
  private numRetries;
15
20
  private url;
16
21
  private autoReconnect;
22
+ private _state;
23
+ get state(): ConnectionState;
24
+ private setState;
25
+ private boundMessageHandler;
26
+ private boundOpenHandler;
27
+ private boundCloseHandler;
28
+ private boundErrorHandler;
17
29
  constructor(options: IConnectionOptions);
18
30
  isConnected(): boolean;
19
31
  send(data: Uint8Array): Promise<void>;
@@ -22,14 +34,11 @@ export declare class SesameConnection extends EventEmitter {
22
34
  * Disconnect from the server.
23
35
  */
24
36
  disconnect(): Promise<void>;
37
+ private removeSocketListeners;
25
38
  private retryHandler;
26
39
  private closeHandler;
27
40
  private errorHandler;
28
41
  private openHandler;
29
- protected messageHandler: (event: {
30
- data: any;
31
- type: string;
32
- target: WebSocket;
33
- }) => void;
42
+ protected messageHandler: (event: MessageEvent) => void;
34
43
  }
35
44
  //# sourceMappingURL=sesame-connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sesame-connection.d.ts","sourceRoot":"","sources":["../src/sesame-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,SAAS,MAAM,IAAI,CAAC;AAI3B,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AAEnE,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAI3F;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,aAAa,CAAiB;gBAE1B,OAAO,EAAE,kBAAkB;IAShC,WAAW,IAAI,OAAO;IAIhB,IAAI,CAAC,IAAI,EAAE,UAAU;IASrB,OAAO;IAoBpB;;OAEG;IACU,UAAU;IAUvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAcpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW,CAGlB;IAED,SAAS,CAAC,cAAc,GAAI,OAAO;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAC,UAc9E;CACF"}
1
+ {"version":3,"file":"sesame-connection.d.ts","sourceRoot":"","sources":["../src/sesame-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAIrC,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;AAEnE,oBAAY,eAAe;IACzB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAI3F;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,MAAM,CAAiD;IAE/D,IAAW,KAAK,IAAI,eAAe,CAElC;IAED,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,mBAAmB,CAAuD;IAClF,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,iBAAiB,CAA8C;gBAE3D,OAAO,EAAE,kBAAkB;IAShC,WAAW,IAAI,OAAO;IAIhB,IAAI,CAAC,IAAI,EAAE,UAAU;IASrB,OAAO;IAuBpB;;OAEG;IACU,UAAU;IAcvB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW,CAIlB;IAED,SAAS,CAAC,cAAc,GAAI,OAAO,YAAY,UAc9C;CACF"}
@@ -0,0 +1,11 @@
1
+ import { RPCClient } from './rpc-client';
2
+ import { sesame } from './proto/api';
3
+ export declare class StatusApi {
4
+ private rpc;
5
+ /** @internal */
6
+ constructor(rpc: RPCClient<sesame.v1.rpc.SesameAPIService>);
7
+ getStatus(): Promise<sesame.v1.status.Status>;
8
+ getIODevices(): Promise<sesame.v1.status.IODeviceListResponse>;
9
+ requestKeyframe(outputId: string): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=status-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-api.d.ts","sourceRoot":"","sources":["../src/status-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,SAAS;IAER,OAAO,CAAC,GAAG;IADvB,gBAAgB;gBACI,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE5D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IAI7C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC;IAI9D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stinkycomputing/sesame-api-client",
3
- "version": "1.4.1-alpha.0",
3
+ "version": "1.4.1-alpha.10",
4
4
  "description": "Sesame API client library with protobuf definitions and command list helpers",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.mjs",
@@ -8,14 +8,10 @@
8
8
  "exports": {
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
+ "browser": "./dist/index.browser.mjs",
11
12
  "import": "./dist/index.mjs",
12
13
  "require": "./dist/index.cjs"
13
14
  },
14
- "./browser": {
15
- "types": "./dist/browser.d.ts",
16
- "import": "./dist/browser.mjs",
17
- "require": "./dist/browser.cjs"
18
- },
19
15
  "./proto": {
20
16
  "types": "./dist/proto/api.d.ts",
21
17
  "import": "./dist/proto/api.js",
@@ -50,18 +46,19 @@
50
46
  "dist/**/*",
51
47
  "README.md"
52
48
  ],
49
+ "engines": {
50
+ "node": ">=24"
51
+ },
53
52
  "dependencies": {
54
- "protobufjs": "^7.2.2",
55
- "ws": "^8.13.0",
56
- "long": "^4.0.0"
53
+ "events": "^3.3.0",
54
+ "long": "^4.0.0",
55
+ "protobufjs": "^7.2.2"
57
56
  },
58
57
  "devDependencies": {
59
- "@types/node": "^20.5.10",
60
- "@types/ws": "^8.5.4",
61
58
  "@types/long": "^4.0.0",
62
- "typescript": "^5.5.3",
59
+ "@types/node": "^22.0.0",
60
+ "esbuild": "^0.24.0",
63
61
  "protobufjs-cli": "^1.1.1",
64
- "esbuild": "^0.24.0"
62
+ "typescript": "^5.5.3"
65
63
  }
66
64
  }
67
-