diff --git a/sdk/gen/types.input.ts b/sdk/gen/types.input.ts index a935d5a1c..8a9c79f3e 100644 --- a/sdk/gen/types.input.ts +++ b/sdk/gen/types.input.ts @@ -175,12 +175,7 @@ export interface ColorHsv { * Notifier can be any endpoint that can receive messages, such as speakers, phone numbers, messaging clients, etc. The messages may optionally contain media. */ export interface Notifier { - /** - * If a the media parameter is supplied, the mime type denotes how to send the media within notification. For example, specify 'image/*' to send a video MediaObject as an image. -Passing null uses the native type of the MediaObject. If that is not supported by the notifier, the media will be converted to a compatible type. - */ - sendNotification(title: string, body: string, media: string | MediaObject, mimeType?: string): Promise; - + sendNotification(title: string, body: string, media?: string | MediaObject): Promise; } /** * MediaObject is an intermediate object within Scrypted to represent all media objects. Plugins should use the MediaConverter to convert the Scrypted MediaObject into a desired type, whether it is a externally accessible URL, a Buffer, etc. @@ -1349,6 +1344,17 @@ export interface RTCSignalingSession { } export interface RTCSignalingClientOptions { + /** + * Indicates that this client requires an answer, and is providing an offer. + * If an offer is provided, this has a couple implications: + * The client can only create offers and requires and answer. + * The client does not support trickle ICE. + */ + offer?: RTCSessionDescriptionInit; + /** + * Hint to proxy the feed, as the target client may be inflexible. + */ + proxy?: boolean; capabilities?: { video?: RTCRtpCapabilities; audio?: RTCRtpCapabilities; diff --git a/sdk/scrypted_python/scrypted_sdk/types.py b/sdk/scrypted_python/scrypted_sdk/types.py index 1961d50aa..07414df6f 100644 --- a/sdk/scrypted_python/scrypted_sdk/types.py +++ b/sdk/scrypted_python/scrypted_sdk/types.py @@ -380,6 +380,8 @@ class RTCSessionControl(TypedDict): class RTCSignalingClientOptions(TypedDict): capabilities: Any + offer: RTCSessionDescriptionInit + proxy: bool pass class RTCSignalingClientSession(TypedDict): @@ -657,7 +659,7 @@ class MotionSensor: pass class Notifier: - async def sendNotification(self, title: str, body: str, media: str | MediaObject, mimeType: str = None) -> None: + async def sendNotification(self, title: str, body: str, media: str | MediaObject = None) -> None: pass pass diff --git a/sdk/types/index.d.ts b/sdk/types/index.d.ts index 5c3a1df23..0be42e14c 100644 --- a/sdk/types/index.d.ts +++ b/sdk/types/index.d.ts @@ -316,11 +316,7 @@ export interface ColorHsv { * Notifier can be any endpoint that can receive messages, such as speakers, phone numbers, messaging clients, etc. The messages may optionally contain media. */ export interface Notifier { - /** - * If a the media parameter is supplied, the mime type denotes how to send the media within notification. For example, specify 'image/*' to send a video MediaObject as an image. - Passing null uses the native type of the MediaObject. If that is not supported by the notifier, the media will be converted to a compatible type. - */ - sendNotification(title: string, body: string, media: string | MediaObject, mimeType?: string): Promise; + sendNotification(title: string, body: string, media?: string | MediaObject): Promise; } /** * MediaObject is an intermediate object within Scrypted to represent all media objects. Plugins should use the MediaConverter to convert the Scrypted MediaObject into a desired type, whether it is a externally accessible URL, a Buffer, etc. @@ -1382,6 +1378,17 @@ export interface RTCSignalingSession { addIceCandidate: (candidate: RTCIceCandidateInit) => Promise; } export interface RTCSignalingClientOptions { + /** + * Indicates that this client requires an answer, and is providing an offer. + * If an offer is provided, this has a couple implications: + * The client can only create offers and requires and answer. + * The client does not support trickle ICE. + */ + offer?: RTCSessionDescriptionInit; + /** + * Hint to proxy the feed, as the client may be inflexible. + */ + proxy?: boolean; capabilities?: { video?: RTCRtpCapabilities; audio?: RTCRtpCapabilities; diff --git a/sdk/types/index.ts b/sdk/types/index.ts index c6a868a93..58c88286f 100644 --- a/sdk/types/index.ts +++ b/sdk/types/index.ts @@ -857,12 +857,7 @@ export interface ColorHsv { * Notifier can be any endpoint that can receive messages, such as speakers, phone numbers, messaging clients, etc. The messages may optionally contain media. */ export interface Notifier { - /** - * If a the media parameter is supplied, the mime type denotes how to send the media within notification. For example, specify 'image/*' to send a video MediaObject as an image. -Passing null uses the native type of the MediaObject. If that is not supported by the notifier, the media will be converted to a compatible type. - */ - sendNotification(title: string, body: string, media: string | MediaObject, mimeType?: string): Promise; - + sendNotification(title: string, body: string, media?: string | MediaObject): Promise; } /** * MediaObject is an intermediate object within Scrypted to represent all media objects. Plugins should use the MediaConverter to convert the Scrypted MediaObject into a desired type, whether it is a externally accessible URL, a Buffer, etc. @@ -2031,6 +2026,17 @@ export interface RTCSignalingSession { } export interface RTCSignalingClientOptions { + /** + * Indicates that this client requires an answer, and is providing an offer. + * If an offer is provided, this has a couple implications: + * The client can only create offers and requires and answer. + * The client does not support trickle ICE. + */ + offer?: RTCSessionDescriptionInit; + /** + * Hint to proxy the feed, as the client may be inflexible. + */ + proxy?: boolean; capabilities?: { video?: RTCRtpCapabilities; audio?: RTCRtpCapabilities; diff --git a/sdk/types/scrypted_python/scrypted_sdk/types.py b/sdk/types/scrypted_python/scrypted_sdk/types.py index 1961d50aa..07414df6f 100644 --- a/sdk/types/scrypted_python/scrypted_sdk/types.py +++ b/sdk/types/scrypted_python/scrypted_sdk/types.py @@ -380,6 +380,8 @@ class RTCSessionControl(TypedDict): class RTCSignalingClientOptions(TypedDict): capabilities: Any + offer: RTCSessionDescriptionInit + proxy: bool pass class RTCSignalingClientSession(TypedDict): @@ -657,7 +659,7 @@ class MotionSensor: pass class Notifier: - async def sendNotification(self, title: str, body: str, media: str | MediaObject, mimeType: str = None) -> None: + async def sendNotification(self, title: str, body: str, media: str | MediaObject = None) -> None: pass pass