@seamapi/types 1.1084.0 → 1.1086.0

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.
Files changed (52) hide show
  1. package/lib/seam/connect/model-types.d.ts +1 -1
  2. package/lib/seam/connect/models/cameras/camera-live-view-answer.d.ts +9 -0
  3. package/lib/seam/connect/models/cameras/camera-live-view-answer.js +12 -0
  4. package/lib/seam/connect/models/cameras/camera-live-view-answer.js.map +1 -0
  5. package/lib/seam/connect/models/cameras/camera-live-view-session.d.ts +18 -0
  6. package/lib/seam/connect/models/cameras/camera-live-view-session.js +21 -0
  7. package/lib/seam/connect/models/cameras/camera-live-view-session.js.map +1 -0
  8. package/lib/seam/connect/models/cameras/index.d.ts +2 -0
  9. package/lib/seam/connect/models/cameras/index.js +3 -0
  10. package/lib/seam/connect/models/cameras/index.js.map +1 -0
  11. package/lib/seam/connect/models/devices/device-provider.d.ts +4 -1
  12. package/lib/seam/connect/models/devices/device-provider.js +2 -2
  13. package/lib/seam/connect/models/devices/device-provider.js.map +1 -1
  14. package/lib/seam/connect/models/devices/device.d.ts +6 -0
  15. package/lib/seam/connect/models/devices/device.js +3 -0
  16. package/lib/seam/connect/models/devices/device.js.map +1 -1
  17. package/lib/seam/connect/models/devices/unmanaged-device.d.ts +4 -0
  18. package/lib/seam/connect/models/events/devices.d.ts +12 -6
  19. package/lib/seam/connect/models/events/devices.js +7 -3
  20. package/lib/seam/connect/models/events/devices.js.map +1 -1
  21. package/lib/seam/connect/models/events/seam-event.d.ts +6 -3
  22. package/lib/seam/connect/models/index.d.ts +2 -0
  23. package/lib/seam/connect/models/index.js +2 -0
  24. package/lib/seam/connect/models/index.js.map +1 -1
  25. package/lib/seam/connect/models/instant-keys/instant-key-preview.d.ts +6 -6
  26. package/lib/seam/connect/models/media/index.d.ts +1 -0
  27. package/lib/seam/connect/models/media/index.js +2 -0
  28. package/lib/seam/connect/models/media/index.js.map +1 -0
  29. package/lib/seam/connect/models/media/media.d.ts +36 -0
  30. package/lib/seam/connect/models/media/media.js +44 -0
  31. package/lib/seam/connect/models/media/media.js.map +1 -0
  32. package/lib/seam/connect/openapi.js +244 -39
  33. package/lib/seam/connect/openapi.js.map +1 -1
  34. package/lib/seam/connect/route-types.d.ts +124 -18
  35. package/lib/seam/connect/schemas.d.ts +1 -1
  36. package/lib/seam/connect/schemas.js +1 -1
  37. package/lib/seam/connect/schemas.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/lib/seam/connect/internal/schemas.ts +3 -0
  40. package/src/lib/seam/connect/model-types.ts +3 -0
  41. package/src/lib/seam/connect/models/cameras/camera-live-view-answer.ts +16 -0
  42. package/src/lib/seam/connect/models/cameras/camera-live-view-session.ts +28 -0
  43. package/src/lib/seam/connect/models/cameras/index.ts +2 -0
  44. package/src/lib/seam/connect/models/devices/device-provider.ts +2 -2
  45. package/src/lib/seam/connect/models/devices/device.ts +5 -0
  46. package/src/lib/seam/connect/models/events/devices.ts +9 -3
  47. package/src/lib/seam/connect/models/index.ts +2 -0
  48. package/src/lib/seam/connect/models/media/index.ts +1 -0
  49. package/src/lib/seam/connect/models/media/media.ts +55 -0
  50. package/src/lib/seam/connect/openapi.ts +266 -40
  51. package/src/lib/seam/connect/route-types.ts +124 -21
  52. package/src/lib/seam/connect/schemas.ts +3 -0
@@ -14058,6 +14058,8 @@ export type Routes = {
14058
14058
  can_simulate_paid_subscription?: boolean | undefined;
14059
14059
  /** Indicates whether the lock supports configuring automatic locking. */
14060
14060
  can_configure_auto_lock?: boolean | undefined;
14061
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
14062
+ can_stream_live_video?: boolean | undefined;
14061
14063
  }[] | undefined;
14062
14064
  acs_entrances?: {
14063
14065
  /** ID of the [access control system](https://www.seam.co/docs/low-level-apis/access-systems) that contains the [entrance](https://www.seam.co/docs/low-level-apis/access-systems/retrieving-entrance-details). */
@@ -21290,6 +21292,8 @@ export type Routes = {
21290
21292
  can_simulate_paid_subscription?: boolean | undefined;
21291
21293
  /** Indicates whether the lock supports configuring automatic locking. */
21292
21294
  can_configure_auto_lock?: boolean | undefined;
21295
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
21296
+ can_stream_live_video?: boolean | undefined;
21293
21297
  }[] | undefined;
21294
21298
  acs_entrances?: {
21295
21299
  /** ID of the [access control system](https://www.seam.co/docs/low-level-apis/access-systems) that contains the [entrance](https://www.seam.co/docs/low-level-apis/access-systems/retrieving-entrance-details). */
@@ -41917,18 +41921,26 @@ export type Routes = {
41917
41921
  method: 'POST';
41918
41922
  queryParams: {};
41919
41923
  jsonBody: {
41924
+ /** ID of the camera to view. */
41920
41925
  device_id: string;
41926
+ /** Indicates whether to include the camera's audio. */
41921
41927
  include_audio?: boolean;
41928
+ /** Number of seconds for which the live view session is valid, up to 600. */
41922
41929
  duration_seconds?: number;
41923
41930
  };
41924
41931
  commonParams: {};
41925
41932
  formData: {};
41926
41933
  jsonResponse: {
41934
+ /** Represents a short-lived live view session for a single camera. Use the session ID and token to start a WebRTC stream and to stop the session. */
41927
41935
  camera_live_view_session: {
41936
+ /** ID of the camera live view session. */
41928
41937
  camera_live_view_session_id: string;
41938
+ /** ID of the camera. */
41929
41939
  device_id: string;
41930
- expires_at: string;
41940
+ /** Token that authorizes the offer and stop requests for this session. */
41931
41941
  token: string;
41942
+ /** Date and time at which the live view session expires. */
41943
+ expires_at: string;
41932
41944
  };
41933
41945
  };
41934
41946
  maxDuration: undefined;
@@ -41938,16 +41950,21 @@ export type Routes = {
41938
41950
  method: 'POST';
41939
41951
  queryParams: {};
41940
41952
  jsonBody: {
41953
+ /** ID of the camera live view session. */
41941
41954
  camera_live_view_session_id: string;
41955
+ /** Token returned when the camera live view session was created. */
41942
41956
  token: string;
41943
- /** WebRTC SDP, limited to 64 KiB of UTF-8 data. */
41957
+ /** WebRTC SDP offer from the viewer, limited to 64 KiB of UTF-8 data. */
41944
41958
  sdp_offer: string;
41945
41959
  };
41946
41960
  commonParams: {};
41947
41961
  formData: {};
41948
41962
  jsonResponse: {
41949
- /** WebRTC SDP, limited to 64 KiB of UTF-8 data. */
41950
- sdp_answer: string;
41963
+ /** Represents the WebRTC SDP answer that starts streaming video from a camera for a live view session. */
41964
+ camera_live_view_answer: {
41965
+ /** WebRTC SDP answer for the offer, limited to 64 KiB of UTF-8 data. */
41966
+ sdp_answer: string;
41967
+ };
41951
41968
  };
41952
41969
  maxDuration: undefined;
41953
41970
  };
@@ -41956,7 +41973,9 @@ export type Routes = {
41956
41973
  method: 'POST';
41957
41974
  queryParams: {};
41958
41975
  jsonBody: {
41976
+ /** ID of the camera live view session. */
41959
41977
  camera_live_view_session_id: string;
41978
+ /** Token returned when the camera live view session was created. */
41960
41979
  token: string;
41961
41980
  };
41962
41981
  commonParams: {};
@@ -45651,6 +45670,8 @@ export type Routes = {
45651
45670
  can_simulate_paid_subscription?: boolean | undefined;
45652
45671
  /** Indicates whether the lock supports configuring automatic locking. */
45653
45672
  can_configure_auto_lock?: boolean | undefined;
45673
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
45674
+ can_stream_live_video?: boolean | undefined;
45654
45675
  };
45655
45676
  };
45656
45677
  maxDuration: undefined;
@@ -45690,9 +45711,9 @@ export type Routes = {
45690
45711
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
45691
45712
  page_cursor?: (string | undefined) | null;
45692
45713
  /** */
45693
- include_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock')[] | undefined;
45714
+ include_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock' | 'can_stream_live_video')[] | undefined;
45694
45715
  /** */
45695
- exclude_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock')[] | undefined;
45716
+ exclude_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock' | 'can_stream_live_video')[] | undefined;
45696
45717
  /**
45697
45718
  * @deprecated Use `space_id`.*/
45698
45719
  unstable_location_id?: (string | null) | undefined;
@@ -47234,6 +47255,8 @@ export type Routes = {
47234
47255
  can_simulate_paid_subscription?: boolean | undefined;
47235
47256
  /** Indicates whether the lock supports configuring automatic locking. */
47236
47257
  can_configure_auto_lock?: boolean | undefined;
47258
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
47259
+ can_stream_live_video?: boolean | undefined;
47237
47260
  }[];
47238
47261
  /** Information about the current page of results. */
47239
47262
  pagination: {
@@ -47309,6 +47332,8 @@ export type Routes = {
47309
47332
  can_simulate_paid_subscription?: boolean | undefined;
47310
47333
  /** Indicates whether the lock supports configuring automatic locking. */
47311
47334
  can_configure_auto_lock?: boolean | undefined;
47335
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
47336
+ can_stream_live_video?: boolean | undefined;
47312
47337
  }[];
47313
47338
  };
47314
47339
  maxDuration: undefined;
@@ -47926,6 +47951,8 @@ export type Routes = {
47926
47951
  can_simulate_paid_subscription?: boolean | undefined;
47927
47952
  /** Indicates whether the lock supports configuring automatic locking. */
47928
47953
  can_configure_auto_lock?: boolean | undefined;
47954
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
47955
+ can_stream_live_video?: boolean | undefined;
47929
47956
  };
47930
47957
  };
47931
47958
  maxDuration: undefined;
@@ -47957,9 +47984,9 @@ export type Routes = {
47957
47984
  /** Identifies the specific page of results to return, obtained from the previous page's `next_page_cursor`. */
47958
47985
  page_cursor?: (string | undefined) | null;
47959
47986
  /** */
47960
- include_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock')[] | undefined;
47987
+ include_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock' | 'can_stream_live_video')[] | undefined;
47961
47988
  /** */
47962
- exclude_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock')[] | undefined;
47989
+ exclude_if?: ('can_remotely_unlock' | 'can_remotely_lock' | 'can_program_offline_access_codes' | 'can_program_online_access_codes' | 'can_hvac_heat' | 'can_hvac_cool' | 'can_hvac_heat_cool' | 'can_turn_off_hvac' | 'can_activate_weekly_program' | 'can_simulate_removal' | 'can_simulate_connection' | 'can_simulate_disconnection' | 'can_unlock_with_code' | 'can_run_thermostat_programs' | 'can_program_thermostat_programs_as_weekday_weekend' | 'can_program_thermostat_programs_as_different_each_day' | 'can_program_thermostat_programs_as_same_each_day' | 'can_simulate_hub_connection' | 'can_simulate_hub_disconnection' | 'can_simulate_paid_subscription' | 'can_configure_auto_lock' | 'can_stream_live_video')[] | undefined;
47963
47990
  /** String for which to search. Filters returned devices to include all records that satisfy a partial match using `device_id` (full or partial UUID prefix, minimum 4 characters), `connected_account_id`, `display_name`, `custom_metadata` or `location.location_name`. */
47964
47991
  search?: string | undefined;
47965
47992
  /** Numerical limit on the number of devices to return. */
@@ -48457,6 +48484,8 @@ export type Routes = {
48457
48484
  can_simulate_paid_subscription?: boolean | undefined;
48458
48485
  /** Indicates whether the lock supports configuring automatic locking. */
48459
48486
  can_configure_auto_lock?: boolean | undefined;
48487
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
48488
+ can_stream_live_video?: boolean | undefined;
48460
48489
  }[];
48461
48490
  /** Information about the current page of results. */
48462
48491
  pagination: {
@@ -51970,8 +51999,8 @@ export type Routes = {
51970
51999
  image_url?: string | undefined;
51971
52000
  /** URL to a short video clip captured at the time of activation. */
51972
52001
  video_url?: string | undefined;
51973
- /** Status of the recorded clip and thumbnail for this activation, when the camera supports event recordings. `pending` while Seam retrieves the recording, `available` once it is stored, `unavailable` if no recording covers the activation, and `failed` if retrieval failed. */
51974
- media_status?: ('pending' | 'available' | 'unavailable' | 'failed') | undefined;
52002
+ /** IDs of the media, such as a video clip and a thumbnail image, captured for this activation. Use `/media/get` to retrieve each one. */
52003
+ media_ids?: string[] | undefined;
51975
52004
  } | {
51976
52005
  /** ID of the event. */
51977
52006
  event_id: string;
@@ -52002,6 +52031,8 @@ export type Routes = {
52002
52031
  image_url?: string | undefined;
52003
52032
  /** URL to a short video clip captured at the time the doorbell was pressed. */
52004
52033
  video_url?: string | undefined;
52034
+ /** IDs of the media, such as a video clip and a thumbnail image, captured when the doorbell was pressed. Use `/media/get` to retrieve each one. */
52035
+ media_ids?: string[] | undefined;
52005
52036
  } | {
52006
52037
  /** ID of the event. */
52007
52038
  event_id: string;
@@ -55603,8 +55634,8 @@ export type Routes = {
55603
55634
  image_url?: string | undefined;
55604
55635
  /** URL to a short video clip captured at the time of activation. */
55605
55636
  video_url?: string | undefined;
55606
- /** Status of the recorded clip and thumbnail for this activation, when the camera supports event recordings. `pending` while Seam retrieves the recording, `available` once it is stored, `unavailable` if no recording covers the activation, and `failed` if retrieval failed. */
55607
- media_status?: ('pending' | 'available' | 'unavailable' | 'failed') | undefined;
55637
+ /** IDs of the media, such as a video clip and a thumbnail image, captured for this activation. Use `/media/get` to retrieve each one. */
55638
+ media_ids?: string[] | undefined;
55608
55639
  } | {
55609
55640
  /** ID of the event. */
55610
55641
  event_id: string;
@@ -55635,6 +55666,8 @@ export type Routes = {
55635
55666
  image_url?: string | undefined;
55636
55667
  /** URL to a short video clip captured at the time the doorbell was pressed. */
55637
55668
  video_url?: string | undefined;
55669
+ /** IDs of the media, such as a video clip and a thumbnail image, captured when the doorbell was pressed. Use `/media/get` to retrieve each one. */
55670
+ media_ids?: string[] | undefined;
55638
55671
  } | {
55639
55672
  /** ID of the event. */
55640
55673
  event_id: string;
@@ -59228,6 +59261,8 @@ export type Routes = {
59228
59261
  can_simulate_paid_subscription?: boolean | undefined;
59229
59262
  /** Indicates whether the lock supports configuring automatic locking. */
59230
59263
  can_configure_auto_lock?: boolean | undefined;
59264
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
59265
+ can_stream_live_video?: boolean | undefined;
59231
59266
  };
59232
59267
  /** Represents a [device](https://www.seam.co/docs/core-concepts/devices) that has been connected to Seam. */
59233
59268
  device: {
@@ -60761,6 +60796,8 @@ export type Routes = {
60761
60796
  can_simulate_paid_subscription?: boolean | undefined;
60762
60797
  /** Indicates whether the lock supports configuring automatic locking. */
60763
60798
  can_configure_auto_lock?: boolean | undefined;
60799
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
60800
+ can_stream_live_video?: boolean | undefined;
60764
60801
  };
60765
60802
  };
60766
60803
  maxDuration: undefined;
@@ -62317,6 +62354,8 @@ export type Routes = {
62317
62354
  can_simulate_paid_subscription?: boolean | undefined;
62318
62355
  /** Indicates whether the lock supports configuring automatic locking. */
62319
62356
  can_configure_auto_lock?: boolean | undefined;
62357
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
62358
+ can_stream_live_video?: boolean | undefined;
62320
62359
  }[];
62321
62360
  devices: {
62322
62361
  /** ID of the device. */
@@ -63849,6 +63888,8 @@ export type Routes = {
63849
63888
  can_simulate_paid_subscription?: boolean | undefined;
63850
63889
  /** Indicates whether the lock supports configuring automatic locking. */
63851
63890
  can_configure_auto_lock?: boolean | undefined;
63891
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
63892
+ can_stream_live_video?: boolean | undefined;
63852
63893
  }[];
63853
63894
  };
63854
63895
  maxDuration: undefined;
@@ -71239,6 +71280,45 @@ export type Routes = {
71239
71280
  };
71240
71281
  maxDuration: undefined;
71241
71282
  };
71283
+ '/media/get': {
71284
+ route: '/media/get';
71285
+ method: 'GET' | 'POST';
71286
+ queryParams: {};
71287
+ jsonBody: {};
71288
+ commonParams: {
71289
+ /** ID of the media that you want to get. */
71290
+ media_id: string;
71291
+ /** Response format. `json` returns the media object. `redirect` responds with a `302` redirect to the media's download URL, so you can use this endpoint directly as the source of an image or video. */
71292
+ format?: 'json' | 'redirect';
71293
+ };
71294
+ formData: {};
71295
+ jsonResponse: {
71296
+ /** Represents a piece of media, such as a video clip or a thumbnail image, that a device captured for an event. Media is in beta. */
71297
+ media: {
71298
+ /** ID of the media. */
71299
+ media_id: string;
71300
+ /** ID of the workspace that contains the media. */
71301
+ workspace_id: string;
71302
+ /** ID of the device that captured the media. */
71303
+ device_id: string | null;
71304
+ /** ID of the event that the media belongs to. */
71305
+ event_id: string | null;
71306
+ /** Type of the media: a video clip or a still image. */
71307
+ media_type: 'video' | 'image';
71308
+ /** MIME type of the media, such as `video/mp4` or `image/jpeg`. */
71309
+ content_type: string | null;
71310
+ /** Status of the media. `pending` means that Seam is still retrieving the media. `available` means that `url` can be used to download it. `unavailable` means that no media exists for the event, and `failed` means that Seam could not retrieve it. */
71311
+ status: 'pending' | 'available' | 'unavailable' | 'failed';
71312
+ /** Short-lived URL from which you can download the media. Null unless `status` is `available`. The URL expires after about five minutes. Call `/media/get` again for a new URL. */
71313
+ url: string | null;
71314
+ /** Date and time at which the media stops being available. Null when Seam does not know when the media expires. */
71315
+ expires_at: string | null;
71316
+ /** Date and time at which the media was created. */
71317
+ created_at: string;
71318
+ };
71319
+ };
71320
+ maxDuration: undefined;
71321
+ };
71242
71322
  '/noise_sensors/list': {
71243
71323
  route: '/noise_sensors/list';
71244
71324
  method: 'GET' | 'POST';
@@ -72791,6 +72871,8 @@ export type Routes = {
72791
72871
  can_simulate_paid_subscription?: boolean | undefined;
72792
72872
  /** Indicates whether the lock supports configuring automatic locking. */
72793
72873
  can_configure_auto_lock?: boolean | undefined;
72874
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
72875
+ can_stream_live_video?: boolean | undefined;
72794
72876
  }[];
72795
72877
  devices: {
72796
72878
  /** ID of the device. */
@@ -74323,6 +74405,8 @@ export type Routes = {
74323
74405
  can_simulate_paid_subscription?: boolean | undefined;
74324
74406
  /** Indicates whether the lock supports configuring automatic locking. */
74325
74407
  can_configure_auto_lock?: boolean | undefined;
74408
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
74409
+ can_stream_live_video?: boolean | undefined;
74326
74410
  }[];
74327
74411
  };
74328
74412
  maxDuration: undefined;
@@ -87967,8 +88051,8 @@ export type Routes = {
87967
88051
  image_url?: string | undefined;
87968
88052
  /** URL to a short video clip captured at the time of activation. */
87969
88053
  video_url?: string | undefined;
87970
- /** Status of the recorded clip and thumbnail for this activation, when the camera supports event recordings. `pending` while Seam retrieves the recording, `available` once it is stored, `unavailable` if no recording covers the activation, and `failed` if retrieval failed. */
87971
- media_status?: ('pending' | 'available' | 'unavailable' | 'failed') | undefined;
88054
+ /** IDs of the media, such as a video clip and a thumbnail image, captured for this activation. Use `/media/get` to retrieve each one. */
88055
+ media_ids?: string[] | undefined;
87972
88056
  } | {
87973
88057
  /** ID of the event. */
87974
88058
  event_id: string;
@@ -87999,6 +88083,8 @@ export type Routes = {
87999
88083
  image_url?: string | undefined;
88000
88084
  /** URL to a short video clip captured at the time the doorbell was pressed. */
88001
88085
  video_url?: string | undefined;
88086
+ /** IDs of the media, such as a video clip and a thumbnail image, captured when the doorbell was pressed. Use `/media/get` to retrieve each one. */
88087
+ media_ids?: string[] | undefined;
88002
88088
  } | {
88003
88089
  /** ID of the event. */
88004
88090
  event_id: string;
@@ -93620,8 +93706,8 @@ export type Routes = {
93620
93706
  image_url?: string | undefined;
93621
93707
  /** URL to a short video clip captured at the time of activation. */
93622
93708
  video_url?: string | undefined;
93623
- /** Status of the recorded clip and thumbnail for this activation, when the camera supports event recordings. `pending` while Seam retrieves the recording, `available` once it is stored, `unavailable` if no recording covers the activation, and `failed` if retrieval failed. */
93624
- media_status?: ('pending' | 'available' | 'unavailable' | 'failed') | undefined;
93709
+ /** IDs of the media, such as a video clip and a thumbnail image, captured for this activation. Use `/media/get` to retrieve each one. */
93710
+ media_ids?: string[] | undefined;
93625
93711
  } | {
93626
93712
  /** ID of the event. */
93627
93713
  event_id: string;
@@ -93652,6 +93738,8 @@ export type Routes = {
93652
93738
  image_url?: string | undefined;
93653
93739
  /** URL to a short video clip captured at the time the doorbell was pressed. */
93654
93740
  video_url?: string | undefined;
93741
+ /** IDs of the media, such as a video clip and a thumbnail image, captured when the doorbell was pressed. Use `/media/get` to retrieve each one. */
93742
+ media_ids?: string[] | undefined;
93655
93743
  } | {
93656
93744
  /** ID of the event. */
93657
93745
  event_id: string;
@@ -95568,6 +95656,8 @@ export type Routes = {
95568
95656
  can_simulate_paid_subscription?: boolean | undefined;
95569
95657
  /** Indicates whether the lock supports configuring automatic locking. */
95570
95658
  can_configure_auto_lock?: boolean | undefined;
95659
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
95660
+ can_stream_live_video?: boolean | undefined;
95571
95661
  }[] | undefined;
95572
95662
  acs_entrances?: {
95573
95663
  /** ID of the [access control system](https://www.seam.co/docs/low-level-apis/access-systems) that contains the [entrance](https://www.seam.co/docs/low-level-apis/access-systems/retrieving-entrance-details). */
@@ -105521,6 +105611,8 @@ export type Routes = {
105521
105611
  can_simulate_paid_subscription?: boolean | undefined;
105522
105612
  /** Indicates whether the lock supports configuring automatic locking. */
105523
105613
  can_configure_auto_lock?: boolean | undefined;
105614
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
105615
+ can_stream_live_video?: boolean | undefined;
105524
105616
  };
105525
105617
  };
105526
105618
  maxDuration: undefined;
@@ -110783,6 +110875,8 @@ export type Routes = {
110783
110875
  can_simulate_paid_subscription?: boolean | undefined;
110784
110876
  /** Indicates whether the lock supports configuring automatic locking. */
110785
110877
  can_configure_auto_lock?: boolean | undefined;
110878
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
110879
+ can_stream_live_video?: boolean | undefined;
110786
110880
  }[];
110787
110881
  devices: {
110788
110882
  /** ID of the device. */
@@ -112315,6 +112409,8 @@ export type Routes = {
112315
112409
  can_simulate_paid_subscription?: boolean | undefined;
112316
112410
  /** Indicates whether the lock supports configuring automatic locking. */
112317
112411
  can_configure_auto_lock?: boolean | undefined;
112412
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
112413
+ can_stream_live_video?: boolean | undefined;
112318
112414
  }[];
112319
112415
  };
112320
112416
  maxDuration: undefined;
@@ -122241,6 +122337,8 @@ export type Routes = {
122241
122337
  can_simulate_paid_subscription?: boolean | undefined;
122242
122338
  /** Indicates whether the lock supports configuring automatic locking. */
122243
122339
  can_configure_auto_lock?: boolean | undefined;
122340
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
122341
+ can_stream_live_video?: boolean | undefined;
122244
122342
  }[];
122245
122343
  /**
122246
122344
  * @deprecated Use devices.*/
@@ -123775,6 +123873,8 @@ export type Routes = {
123775
123873
  can_simulate_paid_subscription?: boolean | undefined;
123776
123874
  /** Indicates whether the lock supports configuring automatic locking. */
123777
123875
  can_configure_auto_lock?: boolean | undefined;
123876
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
123877
+ can_stream_live_video?: boolean | undefined;
123778
123878
  }[];
123779
123879
  };
123780
123880
  maxDuration: undefined;
@@ -126646,6 +126746,8 @@ export type Routes = {
126646
126746
  can_simulate_paid_subscription?: boolean | undefined;
126647
126747
  /** Indicates whether the lock supports configuring automatic locking. */
126648
126748
  can_configure_auto_lock?: boolean | undefined;
126749
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
126750
+ can_stream_live_video?: boolean | undefined;
126649
126751
  }[] | undefined;
126650
126752
  acs_entrances?: {
126651
126753
  /** ID of the [access control system](https://www.seam.co/docs/low-level-apis/access-systems) that contains the [entrance](https://www.seam.co/docs/low-level-apis/access-systems/retrieving-entrance-details). */
@@ -130229,6 +130331,8 @@ export type Routes = {
130229
130331
  can_simulate_paid_subscription?: boolean | undefined;
130230
130332
  /** Indicates whether the lock supports configuring automatic locking. */
130231
130333
  can_configure_auto_lock?: boolean | undefined;
130334
+ /** Indicates whether the camera supports streaming live video through a camera live view session. */
130335
+ can_stream_live_video?: boolean | undefined;
130232
130336
  }[] | undefined;
130233
130337
  connect_webviews?: {
130234
130338
  /** ID of the Connect Webview. */
@@ -134263,8 +134367,8 @@ export type Routes = {
134263
134367
  image_url?: string | undefined;
134264
134368
  /** URL to a short video clip captured at the time of activation. */
134265
134369
  video_url?: string | undefined;
134266
- /** Status of the recorded clip and thumbnail for this activation, when the camera supports event recordings. `pending` while Seam retrieves the recording, `available` once it is stored, `unavailable` if no recording covers the activation, and `failed` if retrieval failed. */
134267
- media_status?: ('pending' | 'available' | 'unavailable' | 'failed') | undefined;
134370
+ /** IDs of the media, such as a video clip and a thumbnail image, captured for this activation. Use `/media/get` to retrieve each one. */
134371
+ media_ids?: string[] | undefined;
134268
134372
  } | {
134269
134373
  /** ID of the event. */
134270
134374
  event_id: string;
@@ -134295,6 +134399,8 @@ export type Routes = {
134295
134399
  image_url?: string | undefined;
134296
134400
  /** URL to a short video clip captured at the time the doorbell was pressed. */
134297
134401
  video_url?: string | undefined;
134402
+ /** IDs of the media, such as a video clip and a thumbnail image, captured when the doorbell was pressed. Use `/media/get` to retrieve each one. */
134403
+ media_ids?: string[] | undefined;
134298
134404
  } | {
134299
134405
  /** ID of the event. */
134300
134406
  event_id: string;
@@ -1 +1 @@
1
- export { access_code, acs_access_group, acs_credential, acs_encoder, acs_entrance, acs_system, acs_user, action_attempt, batch, bridge, bridge_client_session, client_session, common_failed_action_attempt, common_pending_action_attempt, common_succeeded_action_attempt, connect_webview, connected_account, custom_metadata, customer_portal, customization_profile, device, device_provider, instant_key, magic_link, noise_threshold, pagination, seam_event, staff_member_resource, thermostat_daily_program, thermostat_schedule, thermostat_weekly_program, unmanaged_access_code, unmanaged_acs_access_group, unmanaged_acs_credential, unmanaged_acs_user, unmanaged_device, user_identity, webhook, workspace, } from './models/index.js';
1
+ export { access_code, acs_access_group, acs_credential, acs_encoder, acs_entrance, acs_system, acs_user, action_attempt, batch, bridge, bridge_client_session, camera_live_view_answer, camera_live_view_session, client_session, common_failed_action_attempt, common_pending_action_attempt, common_succeeded_action_attempt, connect_webview, connected_account, custom_metadata, customer_portal, customization_profile, device, device_provider, instant_key, magic_link, media, noise_threshold, pagination, seam_event, staff_member_resource, thermostat_daily_program, thermostat_schedule, thermostat_weekly_program, unmanaged_access_code, unmanaged_acs_access_group, unmanaged_acs_credential, unmanaged_acs_user, unmanaged_device, user_identity, webhook, workspace, } from './models/index.js';
@@ -1,2 +1,2 @@
1
- export { access_code, acs_access_group, acs_credential, acs_encoder, acs_entrance, acs_system, acs_user, action_attempt, batch, bridge, bridge_client_session, client_session, common_failed_action_attempt, common_pending_action_attempt, common_succeeded_action_attempt, connect_webview, connected_account, custom_metadata, customer_portal, customization_profile, device, device_provider, instant_key, magic_link, noise_threshold, pagination, seam_event, staff_member_resource, thermostat_daily_program, thermostat_schedule, thermostat_weekly_program, unmanaged_access_code, unmanaged_acs_access_group, unmanaged_acs_credential, unmanaged_acs_user, unmanaged_device, user_identity, webhook, workspace, } from './models/index.js';
1
+ export { access_code, acs_access_group, acs_credential, acs_encoder, acs_entrance, acs_system, acs_user, action_attempt, batch, bridge, bridge_client_session, camera_live_view_answer, camera_live_view_session, client_session, common_failed_action_attempt, common_pending_action_attempt, common_succeeded_action_attempt, connect_webview, connected_account, custom_metadata, customer_portal, customization_profile, device, device_provider, instant_key, magic_link, media, noise_threshold, pagination, seam_event, staff_member_resource, thermostat_daily_program, thermostat_schedule, thermostat_weekly_program, unmanaged_access_code, unmanaged_acs_access_group, unmanaged_acs_credential, unmanaged_acs_user, unmanaged_device, user_identity, webhook, workspace, } from './models/index.js';
2
2
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,cAAc,EACd,KAAK,EACL,MAAM,EACN,qBAAqB,EACrB,cAAc,EACd,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,GACV,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,cAAc,EACd,KAAK,EACL,MAAM,EACN,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,4BAA4B,EAC5B,6BAA6B,EAC7B,+BAA+B,EAC/B,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,MAAM,EACN,eAAe,EACf,WAAW,EACX,UAAU,EACV,KAAK,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,SAAS,GACV,MAAM,mBAAmB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/types",
3
- "version": "1.1084.0",
3
+ "version": "1.1086.0",
4
4
  "description": "TypeScript types for the Seam API.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -29,6 +29,8 @@ export {
29
29
  bridge_connected_system,
30
30
  building_resource,
31
31
  camera_device_type,
32
+ camera_live_view_answer,
33
+ camera_live_view_session,
32
34
  capabilities,
33
35
  climate_preset,
34
36
  climate_setting,
@@ -61,6 +63,7 @@ export {
61
63
  magic_link,
62
64
  access_code as managed_access_code,
63
65
  device as managed_device,
66
+ media,
64
67
  message_overrides,
65
68
  neutral_resource,
66
69
  noise_sensor_device_type,
@@ -13,6 +13,8 @@ export type {
13
13
  ActionAttempt,
14
14
  Batch,
15
15
  Bridge,
16
+ CameraLiveViewAnswer,
17
+ CameraLiveViewSession,
16
18
  ClientSession,
17
19
  ClimatePreset,
18
20
  ConnectedAccount,
@@ -27,6 +29,7 @@ export type {
27
29
  DeviceWarning,
28
30
  InstantKey,
29
31
  MagicLink,
32
+ Media,
30
33
  NoiseThreshold,
31
34
  Pagination,
32
35
  SeamEvent,
@@ -0,0 +1,16 @@
1
+ import * as z from 'zod/v3'
2
+
3
+ export const camera_live_view_answer = z.object({
4
+ sdp_answer: z
5
+ .string()
6
+ .describe(
7
+ 'WebRTC SDP answer for the offer, limited to 64 KiB of UTF-8 data.',
8
+ ),
9
+ }).describe(`
10
+ ---
11
+ route_path: /cameras/live_views
12
+ ---
13
+ Represents the WebRTC SDP answer that starts streaming video from a camera for a live view session.
14
+ `)
15
+
16
+ export type CameraLiveViewAnswer = z.infer<typeof camera_live_view_answer>
@@ -0,0 +1,28 @@
1
+ import * as z from 'zod/v3'
2
+
3
+ import { datetime } from '../datetime.js'
4
+
5
+ export const camera_live_view_session = z.object({
6
+ camera_live_view_session_id: z
7
+ .string()
8
+ .uuid()
9
+ .describe('ID of the camera live view session.'),
10
+ device_id: z.string().uuid().describe('ID of the camera.'),
11
+ token: z
12
+ .string()
13
+ .min(1)
14
+ .max(512)
15
+ .describe(
16
+ 'Token that authorizes the offer and stop requests for this session.',
17
+ ),
18
+ expires_at: datetime.describe(
19
+ 'Date and time at which the live view session expires.',
20
+ ),
21
+ }).describe(`
22
+ ---
23
+ route_path: /cameras/live_views
24
+ ---
25
+ Represents a short-lived live view session for a single camera. Use the session ID and token to start a WebRTC stream and to stop the session.
26
+ `)
27
+
28
+ export type CameraLiveViewSession = z.infer<typeof camera_live_view_session>
@@ -0,0 +1,2 @@
1
+ export * from './camera-live-view-answer.js'
2
+ export * from './camera-live-view-session.js'
@@ -152,7 +152,7 @@ export const PROVIDER_CATEGORY_MAP = {
152
152
  'yacan',
153
153
  ],
154
154
 
155
- beta: ['salto_ks_accept', 'aqara'],
155
+ beta: ['salto_ks_accept', 'aqara', 'tapo', 'arlo'],
156
156
 
157
157
  thermostats: ['ecobee', 'nest', 'sensi', 'honeywell_resideo', 'first_alert'],
158
158
  noise_sensors: ['minut', 'noiseaware'],
@@ -210,7 +210,7 @@ export const PROVIDER_CATEGORY_CAPABILITY_MAP: Record<
210
210
  > = {
211
211
  stable: ['lock', 'thermostat', 'noise_sensor', 'access_control'],
212
212
  consumer_smartlocks: ['lock'],
213
- beta: ['lock', 'thermostat', 'noise_sensor', 'access_control'],
213
+ beta: ['lock', 'thermostat', 'noise_sensor', 'access_control', 'camera'],
214
214
  thermostats: ['thermostat'],
215
215
  noise_sensors: ['noise_sensor'],
216
216
  access_control_systems: ['access_control'],
@@ -106,6 +106,11 @@ export const device_capability_flags = z
106
106
  .describe(
107
107
  'Indicates whether the lock supports configuring automatic locking.',
108
108
  ),
109
+ can_stream_live_video: z
110
+ .boolean()
111
+ .describe(
112
+ 'Indicates whether the camera supports streaming live video through a camera live view session.',
113
+ ),
109
114
  })
110
115
  .partial()
111
116
 
@@ -852,11 +852,11 @@ export const camera_activated_event = device_event.extend({
852
852
  .url()
853
853
  .optional()
854
854
  .describe('URL to a short video clip captured at the time of activation.'),
855
- media_status: z
856
- .enum(['pending', 'available', 'unavailable', 'failed'])
855
+ media_ids: z
856
+ .array(z.string().uuid())
857
857
  .optional()
858
858
  .describe(
859
- 'Status of the recorded clip and thumbnail for this activation, when the camera supports event recordings. `pending` while Seam retrieves the recording, `available` once it is stored, `unavailable` if no recording covers the activation, and `failed` if retrieval failed.',
859
+ 'IDs of the media, such as a video clip and a thumbnail image, captured for this activation. Use `/media/get` to retrieve each one.',
860
860
  ),
861
861
  }).describe(`
862
862
  ---
@@ -883,6 +883,12 @@ export const device_doorbell_rang_event = device_event.extend({
883
883
  .describe(
884
884
  'URL to a short video clip captured at the time the doorbell was pressed.',
885
885
  ),
886
+ media_ids: z
887
+ .array(z.string().uuid())
888
+ .optional()
889
+ .describe(
890
+ 'IDs of the media, such as a video clip and a thumbnail image, captured when the doorbell was pressed. Use `/media/get` to retrieve each one.',
891
+ ),
886
892
  }).describe(`
887
893
  ---
888
894
  route_path: /devices
@@ -5,6 +5,7 @@ export * from './action-attempts/index.js'
5
5
  export * from './batch.js'
6
6
  export * from './bridges/index.js'
7
7
  export * from './bridges/index.js'
8
+ export * from './cameras/index.js'
8
9
  export * from './client-sessions/index.js'
9
10
  export * from './connect-webviews/index.js'
10
11
  export * from './connected-accounts/index.js'
@@ -19,6 +20,7 @@ export * from './datetime.js'
19
20
  export * from './devices/index.js'
20
21
  export * from './events/index.js'
21
22
  export * from './instant-keys/index.js'
23
+ export * from './media/index.js'
22
24
  export * from './noise-sensors/index.js'
23
25
  export * from './pagination.js'
24
26
  export * from './partner/index.js'
@@ -0,0 +1 @@
1
+ export * from './media.js'