@seamapi/http 0.4.0 → 0.6.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 (111) hide show
  1. package/README.md +212 -1
  2. package/dist/connect.cjs +691 -26
  3. package/dist/connect.cjs.map +1 -1
  4. package/dist/connect.d.cts +101 -11
  5. package/lib/seam/connect/auth.js +55 -4
  6. package/lib/seam/connect/auth.js.map +1 -1
  7. package/lib/seam/connect/options.d.ts +11 -1
  8. package/lib/seam/connect/options.js +51 -1
  9. package/lib/seam/connect/options.js.map +1 -1
  10. package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +3 -1
  11. package/lib/seam/connect/routes/access-codes-unmanaged.js +15 -1
  12. package/lib/seam/connect/routes/access-codes-unmanaged.js.map +1 -1
  13. package/lib/seam/connect/routes/access-codes.d.ts +3 -1
  14. package/lib/seam/connect/routes/access-codes.js +15 -1
  15. package/lib/seam/connect/routes/access-codes.js.map +1 -1
  16. package/lib/seam/connect/routes/acs-access-groups.d.ts +3 -10
  17. package/lib/seam/connect/routes/acs-access-groups.js +15 -23
  18. package/lib/seam/connect/routes/acs-access-groups.js.map +1 -1
  19. package/lib/seam/connect/routes/acs-credentials.d.ts +9 -1
  20. package/lib/seam/connect/routes/acs-credentials.js +29 -1
  21. package/lib/seam/connect/routes/acs-credentials.js.map +1 -1
  22. package/lib/seam/connect/routes/acs-systems.d.ts +3 -1
  23. package/lib/seam/connect/routes/acs-systems.js +15 -1
  24. package/lib/seam/connect/routes/acs-systems.js.map +1 -1
  25. package/lib/seam/connect/routes/acs-users.d.ts +3 -1
  26. package/lib/seam/connect/routes/acs-users.js +15 -1
  27. package/lib/seam/connect/routes/acs-users.js.map +1 -1
  28. package/lib/seam/connect/routes/acs.d.ts +3 -1
  29. package/lib/seam/connect/routes/acs.js +15 -1
  30. package/lib/seam/connect/routes/acs.js.map +1 -1
  31. package/lib/seam/connect/routes/action-attempts.d.ts +3 -1
  32. package/lib/seam/connect/routes/action-attempts.js +15 -1
  33. package/lib/seam/connect/routes/action-attempts.js.map +1 -1
  34. package/lib/seam/connect/routes/client-sessions.d.ts +6 -1
  35. package/lib/seam/connect/routes/client-sessions.js +22 -1
  36. package/lib/seam/connect/routes/client-sessions.js.map +1 -1
  37. package/lib/seam/connect/routes/connect-webviews.d.ts +3 -1
  38. package/lib/seam/connect/routes/connect-webviews.js +15 -1
  39. package/lib/seam/connect/routes/connect-webviews.js.map +1 -1
  40. package/lib/seam/connect/routes/connected-accounts.d.ts +3 -1
  41. package/lib/seam/connect/routes/connected-accounts.js +15 -1
  42. package/lib/seam/connect/routes/connected-accounts.js.map +1 -1
  43. package/lib/seam/connect/routes/devices-unmanaged.d.ts +3 -1
  44. package/lib/seam/connect/routes/devices-unmanaged.js +15 -1
  45. package/lib/seam/connect/routes/devices-unmanaged.js.map +1 -1
  46. package/lib/seam/connect/routes/devices.d.ts +3 -1
  47. package/lib/seam/connect/routes/devices.js +15 -1
  48. package/lib/seam/connect/routes/devices.js.map +1 -1
  49. package/lib/seam/connect/routes/events.d.ts +3 -1
  50. package/lib/seam/connect/routes/events.js +15 -1
  51. package/lib/seam/connect/routes/events.js.map +1 -1
  52. package/lib/seam/connect/routes/index.d.ts +1 -0
  53. package/lib/seam/connect/routes/index.js +1 -0
  54. package/lib/seam/connect/routes/index.js.map +1 -1
  55. package/lib/seam/connect/routes/locks.d.ts +3 -1
  56. package/lib/seam/connect/routes/locks.js +15 -1
  57. package/lib/seam/connect/routes/locks.js.map +1 -1
  58. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +3 -1
  59. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js +15 -1
  60. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.js.map +1 -1
  61. package/lib/seam/connect/routes/noise-sensors.d.ts +3 -1
  62. package/lib/seam/connect/routes/noise-sensors.js +15 -1
  63. package/lib/seam/connect/routes/noise-sensors.js.map +1 -1
  64. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +3 -1
  65. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js +15 -1
  66. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.js.map +1 -1
  67. package/lib/seam/connect/routes/thermostats.d.ts +3 -1
  68. package/lib/seam/connect/routes/thermostats.js +15 -1
  69. package/lib/seam/connect/routes/thermostats.js.map +1 -1
  70. package/lib/seam/connect/routes/user-identities.d.ts +38 -0
  71. package/lib/seam/connect/routes/user-identities.js +121 -0
  72. package/lib/seam/connect/routes/user-identities.js.map +1 -0
  73. package/lib/seam/connect/routes/webhooks.d.ts +3 -1
  74. package/lib/seam/connect/routes/webhooks.js +15 -1
  75. package/lib/seam/connect/routes/webhooks.js.map +1 -1
  76. package/lib/seam/connect/routes/workspaces.d.ts +3 -1
  77. package/lib/seam/connect/routes/workspaces.js +15 -1
  78. package/lib/seam/connect/routes/workspaces.js.map +1 -1
  79. package/lib/seam/connect/seam-http.d.ts +5 -2
  80. package/lib/seam/connect/seam-http.js +19 -2
  81. package/lib/seam/connect/seam-http.js.map +1 -1
  82. package/lib/version.d.ts +1 -1
  83. package/lib/version.js +1 -1
  84. package/package.json +2 -2
  85. package/src/lib/seam/connect/auth.ts +95 -3
  86. package/src/lib/seam/connect/options.ts +105 -1
  87. package/src/lib/seam/connect/routes/access-codes-unmanaged.ts +38 -0
  88. package/src/lib/seam/connect/routes/access-codes.ts +38 -0
  89. package/src/lib/seam/connect/routes/acs-access-groups.ts +37 -47
  90. package/src/lib/seam/connect/routes/acs-credentials.ts +68 -0
  91. package/src/lib/seam/connect/routes/acs-systems.ts +38 -0
  92. package/src/lib/seam/connect/routes/acs-users.ts +38 -0
  93. package/src/lib/seam/connect/routes/acs.ts +38 -0
  94. package/src/lib/seam/connect/routes/action-attempts.ts +38 -0
  95. package/src/lib/seam/connect/routes/client-sessions.ts +53 -0
  96. package/src/lib/seam/connect/routes/connect-webviews.ts +38 -0
  97. package/src/lib/seam/connect/routes/connected-accounts.ts +38 -0
  98. package/src/lib/seam/connect/routes/devices-unmanaged.ts +38 -0
  99. package/src/lib/seam/connect/routes/devices.ts +38 -0
  100. package/src/lib/seam/connect/routes/events.ts +38 -0
  101. package/src/lib/seam/connect/routes/index.ts +1 -0
  102. package/src/lib/seam/connect/routes/locks.ts +38 -0
  103. package/src/lib/seam/connect/routes/noise-sensors-noise-thresholds.ts +38 -0
  104. package/src/lib/seam/connect/routes/noise-sensors.ts +38 -0
  105. package/src/lib/seam/connect/routes/thermostats-climate-setting-schedules.ts +38 -0
  106. package/src/lib/seam/connect/routes/thermostats.ts +38 -0
  107. package/src/lib/seam/connect/routes/user-identities.ts +261 -0
  108. package/src/lib/seam/connect/routes/webhooks.ts +38 -0
  109. package/src/lib/seam/connect/routes/workspaces.ts +38 -0
  110. package/src/lib/seam/connect/seam-http.ts +43 -0
  111. package/src/lib/version.ts +1 -1
@@ -13,7 +13,7 @@ interface ClientOptions {
13
13
  }
14
14
  type AxiosRetryConfig = Parameters<AxiosRetry>[1];
15
15
 
16
- type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
16
+ type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken | SeamHttpOptionsWithConsoleSessionToken | SeamHttpOptionsWithPersonalAccessToken;
17
17
  interface SeamHttpCommonOptions extends ClientOptions {
18
18
  endpoint?: string;
19
19
  }
@@ -33,6 +33,16 @@ interface SeamHttpOptionsWithClientSessionToken extends SeamHttpCommonOptions {
33
33
  clientSessionToken: string;
34
34
  }
35
35
  declare const isSeamHttpOptionsWithClientSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClientSessionToken;
36
+ interface SeamHttpOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {
37
+ consoleSessionToken: string;
38
+ workspaceId: string;
39
+ }
40
+ declare const isSeamHttpOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithConsoleSessionToken;
41
+ interface SeamHttpOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {
42
+ personalAccessToken: string;
43
+ workspaceId: string;
44
+ }
45
+ declare const isSeamHttpOptionsWithPersonalAccessToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithPersonalAccessToken;
36
46
  declare class SeamHttpInvalidOptionsError extends Error {
37
47
  constructor(message: string);
38
48
  }
@@ -44,6 +54,8 @@ declare class SeamHttpAccessCodesUnmanaged {
44
54
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAccessCodesUnmanaged;
45
55
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAccessCodesUnmanaged;
46
56
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAccessCodesUnmanaged>;
57
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpAccessCodesUnmanaged;
58
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpAccessCodesUnmanaged;
47
59
  convertToManaged(body?: AccessCodesUnmanagedConvertToManagedBody): Promise<void>;
48
60
  delete(body?: AccessCodesUnmanagedDeleteBody): Promise<void>;
49
61
  get(body?: AccessCodesUnmanagedGetParams): Promise<AccessCodesUnmanagedGetResponse['access_code']>;
@@ -68,6 +80,8 @@ declare class SeamHttpAccessCodes {
68
80
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAccessCodes;
69
81
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAccessCodes;
70
82
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAccessCodes>;
83
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpAccessCodes;
84
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpAccessCodes;
71
85
  get unmanaged(): SeamHttpAccessCodesUnmanaged;
72
86
  create(body?: AccessCodesCreateBody): Promise<AccessCodesCreateResponse['access_code']>;
73
87
  createMultiple(body?: AccessCodesCreateMultipleBody): Promise<AccessCodesCreateMultipleResponse['access_codes']>;
@@ -102,21 +116,16 @@ declare class SeamHttpAcsAccessGroups {
102
116
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsAccessGroups;
103
117
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsAccessGroups;
104
118
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsAccessGroups>;
119
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpAcsAccessGroups;
120
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpAcsAccessGroups;
105
121
  addUser(body?: AcsAccessGroupsAddUserBody): Promise<void>;
106
- create(body?: AcsAccessGroupsCreateBody): Promise<AcsAccessGroupsCreateResponse['acs_access_group']>;
107
- delete(body?: AcsAccessGroupsDeleteBody): Promise<void>;
108
122
  get(body?: AcsAccessGroupsGetParams): Promise<AcsAccessGroupsGetResponse['acs_access_group']>;
109
123
  list(body?: AcsAccessGroupsListParams): Promise<AcsAccessGroupsListResponse['acs_access_groups']>;
110
124
  listUsers(body?: AcsAccessGroupsListUsersParams): Promise<AcsAccessGroupsListUsersResponse['acs_users']>;
111
125
  removeUser(body?: AcsAccessGroupsRemoveUserBody): Promise<void>;
112
- update(body?: AcsAccessGroupsUpdateBody): Promise<void>;
113
126
  }
114
127
  type AcsAccessGroupsAddUserBody = RouteRequestBody<'/acs/access_groups/add_user'>;
115
128
  type AcsAccessGroupsAddUserResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/add_user'>>>;
116
- type AcsAccessGroupsCreateBody = RouteRequestBody<'/acs/access_groups/create'>;
117
- type AcsAccessGroupsCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/create'>>>;
118
- type AcsAccessGroupsDeleteBody = RouteRequestBody<'/acs/access_groups/delete'>;
119
- type AcsAccessGroupsDeleteResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/delete'>>>;
120
129
  type AcsAccessGroupsGetParams = RouteRequestBody<'/acs/access_groups/get'>;
121
130
  type AcsAccessGroupsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/get'>>>;
122
131
  type AcsAccessGroupsListParams = RouteRequestBody<'/acs/access_groups/list'>;
@@ -125,8 +134,6 @@ type AcsAccessGroupsListUsersParams = RouteRequestBody<'/acs/access_groups/list_
125
134
  type AcsAccessGroupsListUsersResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/list_users'>>>;
126
135
  type AcsAccessGroupsRemoveUserBody = RouteRequestBody<'/acs/access_groups/remove_user'>;
127
136
  type AcsAccessGroupsRemoveUserResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/remove_user'>>>;
128
- type AcsAccessGroupsUpdateBody = RouteRequestBody<'/acs/access_groups/update'>;
129
- type AcsAccessGroupsUpdateResponse = SetNonNullable<Required<RouteResponse<'/acs/access_groups/update'>>>;
130
137
 
131
138
  declare class SeamHttpAcsCredentials {
132
139
  client: Client;
@@ -135,11 +142,17 @@ declare class SeamHttpAcsCredentials {
135
142
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsCredentials;
136
143
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsCredentials;
137
144
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsCredentials>;
145
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpAcsCredentials;
146
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpAcsCredentials;
147
+ assign(body?: AcsCredentialsAssignBody): Promise<void>;
138
148
  create(body?: AcsCredentialsCreateBody): Promise<AcsCredentialsCreateResponse['acs_credential']>;
139
149
  delete(body?: AcsCredentialsDeleteBody): Promise<void>;
140
150
  get(body?: AcsCredentialsGetParams): Promise<AcsCredentialsGetResponse['acs_credential']>;
141
151
  list(body?: AcsCredentialsListParams): Promise<AcsCredentialsListResponse['acs_credentials']>;
152
+ unassign(body?: AcsCredentialsUnassignBody): Promise<void>;
142
153
  }
154
+ type AcsCredentialsAssignBody = RouteRequestBody<'/acs/credentials/assign'>;
155
+ type AcsCredentialsAssignResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/assign'>>>;
143
156
  type AcsCredentialsCreateBody = RouteRequestBody<'/acs/credentials/create'>;
144
157
  type AcsCredentialsCreateResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/create'>>>;
145
158
  type AcsCredentialsDeleteBody = RouteRequestBody<'/acs/credentials/delete'>;
@@ -148,6 +161,8 @@ type AcsCredentialsGetParams = RouteRequestBody<'/acs/credentials/get'>;
148
161
  type AcsCredentialsGetResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/get'>>>;
149
162
  type AcsCredentialsListParams = RouteRequestBody<'/acs/credentials/list'>;
150
163
  type AcsCredentialsListResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/list'>>>;
164
+ type AcsCredentialsUnassignBody = RouteRequestBody<'/acs/credentials/unassign'>;
165
+ type AcsCredentialsUnassignResponse = SetNonNullable<Required<RouteResponse<'/acs/credentials/unassign'>>>;
151
166
 
152
167
  declare class SeamHttpAcsSystems {
153
168
  client: Client;
@@ -156,6 +171,8 @@ declare class SeamHttpAcsSystems {
156
171
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsSystems;
157
172
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsSystems;
158
173
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsSystems>;
174
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpAcsSystems;
175
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpAcsSystems;
159
176
  get(body?: AcsSystemsGetParams): Promise<AcsSystemsGetResponse['acs_system']>;
160
177
  list(body?: AcsSystemsListParams): Promise<AcsSystemsListResponse['acs_systems']>;
161
178
  }
@@ -171,6 +188,8 @@ declare class SeamHttpAcsUsers {
171
188
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcsUsers;
172
189
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcsUsers;
173
190
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcsUsers>;
191
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpAcsUsers;
192
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpAcsUsers;
174
193
  addToAccessGroup(body?: AcsUsersAddToAccessGroupBody): Promise<void>;
175
194
  create(body?: AcsUsersCreateBody): Promise<AcsUsersCreateResponse['acs_user']>;
176
195
  delete(body?: AcsUsersDeleteBody): Promise<void>;
@@ -207,6 +226,8 @@ declare class SeamHttpAcs {
207
226
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpAcs;
208
227
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpAcs;
209
228
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpAcs>;
229
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpAcs;
230
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpAcs;
210
231
  get accessGroups(): SeamHttpAcsAccessGroups;
211
232
  get credentials(): SeamHttpAcsCredentials;
212
233
  get systems(): SeamHttpAcsSystems;
@@ -220,6 +241,8 @@ declare class SeamHttpActionAttempts {
220
241
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpActionAttempts;
221
242
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpActionAttempts;
222
243
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpActionAttempts>;
244
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpActionAttempts;
245
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpActionAttempts;
223
246
  get(body?: ActionAttemptsGetParams): Promise<ActionAttemptsGetResponse['action_attempt']>;
224
247
  list(body?: ActionAttemptsListParams): Promise<ActionAttemptsListResponse['action_attempts']>;
225
248
  }
@@ -235,12 +258,15 @@ declare class SeamHttpClientSessions {
235
258
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpClientSessions;
236
259
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpClientSessions;
237
260
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpClientSessions>;
261
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpClientSessions;
262
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpClientSessions;
238
263
  create(body?: ClientSessionsCreateBody): Promise<ClientSessionsCreateResponse['client_session']>;
239
264
  delete(body?: ClientSessionsDeleteBody): Promise<void>;
240
265
  get(body?: ClientSessionsGetParams): Promise<ClientSessionsGetResponse['client_session']>;
241
266
  getOrCreate(body?: ClientSessionsGetOrCreateBody): Promise<ClientSessionsGetOrCreateResponse['client_session']>;
242
267
  grantAccess(body?: ClientSessionsGrantAccessBody): Promise<ClientSessionsGrantAccessResponse['client_session']>;
243
268
  list(body?: ClientSessionsListParams): Promise<ClientSessionsListResponse['client_sessions']>;
269
+ revoke(body?: ClientSessionsRevokeBody): Promise<void>;
244
270
  }
245
271
  type ClientSessionsCreateBody = RouteRequestBody<'/client_sessions/create'>;
246
272
  type ClientSessionsCreateResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/create'>>>;
@@ -254,6 +280,8 @@ type ClientSessionsGrantAccessBody = RouteRequestBody<'/client_sessions/grant_ac
254
280
  type ClientSessionsGrantAccessResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/grant_access'>>>;
255
281
  type ClientSessionsListParams = RouteRequestBody<'/client_sessions/list'>;
256
282
  type ClientSessionsListResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/list'>>>;
283
+ type ClientSessionsRevokeBody = RouteRequestBody<'/client_sessions/revoke'>;
284
+ type ClientSessionsRevokeResponse = SetNonNullable<Required<RouteResponse<'/client_sessions/revoke'>>>;
257
285
 
258
286
  declare class SeamHttpConnectWebviews {
259
287
  client: Client;
@@ -262,6 +290,8 @@ declare class SeamHttpConnectWebviews {
262
290
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpConnectWebviews;
263
291
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpConnectWebviews;
264
292
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpConnectWebviews>;
293
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpConnectWebviews;
294
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpConnectWebviews;
265
295
  create(body?: ConnectWebviewsCreateBody): Promise<ConnectWebviewsCreateResponse['connect_webview']>;
266
296
  delete(body?: ConnectWebviewsDeleteBody): Promise<void>;
267
297
  get(body?: ConnectWebviewsGetParams): Promise<ConnectWebviewsGetResponse['connect_webview']>;
@@ -286,6 +316,8 @@ declare class SeamHttpConnectedAccounts {
286
316
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpConnectedAccounts;
287
317
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpConnectedAccounts;
288
318
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpConnectedAccounts>;
319
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpConnectedAccounts;
320
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpConnectedAccounts;
289
321
  delete(body?: ConnectedAccountsDeleteBody): Promise<void>;
290
322
  get(body?: ConnectedAccountsGetParams): Promise<ConnectedAccountsGetResponse['connected_account']>;
291
323
  list(params?: ConnectedAccountsListParams): Promise<ConnectedAccountsListResponse['connected_accounts']>;
@@ -304,6 +336,8 @@ declare class SeamHttpDevicesUnmanaged {
304
336
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpDevicesUnmanaged;
305
337
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpDevicesUnmanaged;
306
338
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpDevicesUnmanaged>;
339
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpDevicesUnmanaged;
340
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpDevicesUnmanaged;
307
341
  get(body?: DevicesUnmanagedGetParams): Promise<DevicesUnmanagedGetResponse['device']>;
308
342
  list(body?: DevicesUnmanagedListParams): Promise<DevicesUnmanagedListResponse['devices']>;
309
343
  update(body?: DevicesUnmanagedUpdateBody): Promise<void>;
@@ -322,6 +356,8 @@ declare class SeamHttpDevices {
322
356
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpDevices;
323
357
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpDevices;
324
358
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpDevices>;
359
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpDevices;
360
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpDevices;
325
361
  get unmanaged(): SeamHttpDevicesUnmanaged;
326
362
  delete(body?: DevicesDeleteBody): Promise<void>;
327
363
  get(body?: DevicesGetParams): Promise<DevicesGetResponse['device']>;
@@ -347,6 +383,8 @@ declare class SeamHttpEvents {
347
383
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpEvents;
348
384
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpEvents;
349
385
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpEvents>;
386
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpEvents;
387
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpEvents;
350
388
  get(body?: EventsGetParams): Promise<EventsGetResponse['event']>;
351
389
  list(body?: EventsListParams): Promise<EventsListResponse['events']>;
352
390
  }
@@ -362,6 +400,8 @@ declare class SeamHttpLocks {
362
400
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpLocks;
363
401
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpLocks;
364
402
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpLocks>;
403
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpLocks;
404
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpLocks;
365
405
  get(body?: LocksGetParams): Promise<LocksGetResponse['device']>;
366
406
  list(body?: LocksListParams): Promise<LocksListResponse['devices']>;
367
407
  lockDoor(body?: LocksLockDoorBody): Promise<LocksLockDoorResponse['action_attempt']>;
@@ -383,6 +423,8 @@ declare class SeamHttpNoiseSensorsNoiseThresholds {
383
423
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpNoiseSensorsNoiseThresholds;
384
424
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpNoiseSensorsNoiseThresholds;
385
425
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpNoiseSensorsNoiseThresholds>;
426
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpNoiseSensorsNoiseThresholds;
427
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpNoiseSensorsNoiseThresholds;
386
428
  create(body?: NoiseSensorsNoiseThresholdsCreateBody): Promise<void>;
387
429
  delete(body?: NoiseSensorsNoiseThresholdsDeleteBody): Promise<void>;
388
430
  get(body?: NoiseSensorsNoiseThresholdsGetParams): Promise<NoiseSensorsNoiseThresholdsGetResponse['noise_threshold']>;
@@ -407,6 +449,8 @@ declare class SeamHttpNoiseSensors {
407
449
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpNoiseSensors;
408
450
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpNoiseSensors;
409
451
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpNoiseSensors>;
452
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpNoiseSensors;
453
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpNoiseSensors;
410
454
  get noiseThresholds(): SeamHttpNoiseSensorsNoiseThresholds;
411
455
  }
412
456
 
@@ -417,6 +461,8 @@ declare class SeamHttpThermostatsClimateSettingSchedules {
417
461
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpThermostatsClimateSettingSchedules;
418
462
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpThermostatsClimateSettingSchedules;
419
463
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpThermostatsClimateSettingSchedules>;
464
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpThermostatsClimateSettingSchedules;
465
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpThermostatsClimateSettingSchedules;
420
466
  create(body?: ThermostatsClimateSettingSchedulesCreateBody): Promise<ThermostatsClimateSettingSchedulesCreateResponse['climate_setting_schedule']>;
421
467
  delete(body?: ThermostatsClimateSettingSchedulesDeleteBody): Promise<void>;
422
468
  get(body?: ThermostatsClimateSettingSchedulesGetParams): Promise<ThermostatsClimateSettingSchedulesGetResponse['climate_setting_schedule']>;
@@ -441,6 +487,8 @@ declare class SeamHttpThermostats {
441
487
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpThermostats;
442
488
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpThermostats;
443
489
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpThermostats>;
490
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpThermostats;
491
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpThermostats;
444
492
  get climateSettingSchedules(): SeamHttpThermostatsClimateSettingSchedules;
445
493
  cool(body?: ThermostatsCoolBody): Promise<void>;
446
494
  get(body?: ThermostatsGetParams): Promise<ThermostatsGetResponse['thermostat']>;
@@ -468,6 +516,41 @@ type ThermostatsSetFanModeResponse = SetNonNullable<Required<RouteResponse<'/the
468
516
  type ThermostatsUpdateBody = RouteRequestBody<'/thermostats/update'>;
469
517
  type ThermostatsUpdateResponse = SetNonNullable<Required<RouteResponse<'/thermostats/update'>>>;
470
518
 
519
+ declare class SeamHttpUserIdentities {
520
+ client: Client;
521
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
522
+ static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpUserIdentities;
523
+ static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpUserIdentities;
524
+ static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpUserIdentities;
525
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpUserIdentities>;
526
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpUserIdentities;
527
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpUserIdentities;
528
+ addAcsUser(body?: UserIdentitiesAddAcsUserBody): Promise<void>;
529
+ create(body?: UserIdentitiesCreateBody): Promise<UserIdentitiesCreateResponse['user_identity']>;
530
+ get(body?: UserIdentitiesGetParams): Promise<UserIdentitiesGetResponse['user_identity']>;
531
+ grantAccessToDevice(body?: UserIdentitiesGrantAccessToDeviceBody): Promise<void>;
532
+ listAccessibleDevices(body?: UserIdentitiesListAccessibleDevicesParams): Promise<UserIdentitiesListAccessibleDevicesResponse['accessible_devices']>;
533
+ listAcsUsers(body?: UserIdentitiesListAcsUsersParams): Promise<UserIdentitiesListAcsUsersResponse['acs_users']>;
534
+ removeAcsUser(body?: UserIdentitiesRemoveAcsUserBody): Promise<void>;
535
+ revokeAccessToDevice(body?: UserIdentitiesRevokeAccessToDeviceBody): Promise<void>;
536
+ }
537
+ type UserIdentitiesAddAcsUserBody = RouteRequestBody<'/user_identities/add_acs_user'>;
538
+ type UserIdentitiesAddAcsUserResponse = SetNonNullable<Required<RouteResponse<'/user_identities/add_acs_user'>>>;
539
+ type UserIdentitiesCreateBody = RouteRequestBody<'/user_identities/create'>;
540
+ type UserIdentitiesCreateResponse = SetNonNullable<Required<RouteResponse<'/user_identities/create'>>>;
541
+ type UserIdentitiesGetParams = RouteRequestBody<'/user_identities/get'>;
542
+ type UserIdentitiesGetResponse = SetNonNullable<Required<RouteResponse<'/user_identities/get'>>>;
543
+ type UserIdentitiesGrantAccessToDeviceBody = RouteRequestBody<'/user_identities/grant_access_to_device'>;
544
+ type UserIdentitiesGrantAccessToDeviceResponse = SetNonNullable<Required<RouteResponse<'/user_identities/grant_access_to_device'>>>;
545
+ type UserIdentitiesListAccessibleDevicesParams = RouteRequestBody<'/user_identities/list_accessible_devices'>;
546
+ type UserIdentitiesListAccessibleDevicesResponse = SetNonNullable<Required<RouteResponse<'/user_identities/list_accessible_devices'>>>;
547
+ type UserIdentitiesListAcsUsersParams = RouteRequestBody<'/user_identities/list_acs_users'>;
548
+ type UserIdentitiesListAcsUsersResponse = SetNonNullable<Required<RouteResponse<'/user_identities/list_acs_users'>>>;
549
+ type UserIdentitiesRemoveAcsUserBody = RouteRequestBody<'/user_identities/remove_acs_user'>;
550
+ type UserIdentitiesRemoveAcsUserResponse = SetNonNullable<Required<RouteResponse<'/user_identities/remove_acs_user'>>>;
551
+ type UserIdentitiesRevokeAccessToDeviceBody = RouteRequestBody<'/user_identities/revoke_access_to_device'>;
552
+ type UserIdentitiesRevokeAccessToDeviceResponse = SetNonNullable<Required<RouteResponse<'/user_identities/revoke_access_to_device'>>>;
553
+
471
554
  declare class SeamHttpWebhooks {
472
555
  client: Client;
473
556
  constructor(apiKeyOrOptions?: string | SeamHttpOptions);
@@ -475,6 +558,8 @@ declare class SeamHttpWebhooks {
475
558
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWebhooks;
476
559
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWebhooks;
477
560
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpWebhooks>;
561
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpWebhooks;
562
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpWebhooks;
478
563
  create(body?: WebhooksCreateBody): Promise<WebhooksCreateResponse['webhook']>;
479
564
  delete(body?: WebhooksDeleteBody): Promise<void>;
480
565
  get(body?: WebhooksGetParams): Promise<WebhooksGetResponse['webhook']>;
@@ -496,6 +581,8 @@ declare class SeamHttpWorkspaces {
496
581
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWorkspaces;
497
582
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWorkspaces;
498
583
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpWorkspaces>;
584
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpWorkspaces;
585
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpWorkspaces;
499
586
  get(params?: WorkspacesGetParams): Promise<WorkspacesGetResponse['workspace']>;
500
587
  list(params?: WorkspacesListParams): Promise<WorkspacesListResponse['workspaces']>;
501
588
  resetSandbox(body?: WorkspacesResetSandboxBody): Promise<void>;
@@ -514,6 +601,8 @@ declare class SeamHttp {
514
601
  static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttp;
515
602
  static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttp;
516
603
  static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttp>;
604
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttp;
605
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttp;
517
606
  get accessCodes(): SeamHttpAccessCodes;
518
607
  get acs(): SeamHttpAcs;
519
608
  get actionAttempts(): SeamHttpActionAttempts;
@@ -525,6 +614,7 @@ declare class SeamHttp {
525
614
  get locks(): SeamHttpLocks;
526
615
  get noiseSensors(): SeamHttpNoiseSensors;
527
616
  get thermostats(): SeamHttpThermostats;
617
+ get userIdentities(): SeamHttpUserIdentities;
528
618
  get webhooks(): SeamHttpWebhooks;
529
619
  get workspaces(): SeamHttpWorkspaces;
530
620
  }
@@ -560,4 +650,4 @@ declare class UnserializableParamError extends Error {
560
650
  constructor(name: string, message: string);
561
651
  }
562
652
 
563
- export { AccessCodesCreateBody, AccessCodesCreateMultipleBody, AccessCodesCreateMultipleResponse, AccessCodesCreateResponse, AccessCodesDeleteBody, AccessCodesDeleteResponse, AccessCodesGenerateCodeBody, AccessCodesGenerateCodeResponse, AccessCodesGetParams, AccessCodesGetResponse, AccessCodesListParams, AccessCodesListResponse, AccessCodesPullBackupAccessCodeBody, AccessCodesPullBackupAccessCodeResponse, AccessCodesUnmanagedConvertToManagedBody, AccessCodesUnmanagedConvertToManagedResponse, AccessCodesUnmanagedDeleteBody, AccessCodesUnmanagedDeleteResponse, AccessCodesUnmanagedGetParams, AccessCodesUnmanagedGetResponse, AccessCodesUnmanagedListParams, AccessCodesUnmanagedListResponse, AccessCodesUnmanagedUpdateBody, AccessCodesUnmanagedUpdateResponse, AccessCodesUpdateBody, AccessCodesUpdateResponse, AcsAccessGroupsAddUserBody, AcsAccessGroupsAddUserResponse, AcsAccessGroupsCreateBody, AcsAccessGroupsCreateResponse, AcsAccessGroupsDeleteBody, AcsAccessGroupsDeleteResponse, AcsAccessGroupsGetParams, AcsAccessGroupsGetResponse, AcsAccessGroupsListParams, AcsAccessGroupsListResponse, AcsAccessGroupsListUsersParams, AcsAccessGroupsListUsersResponse, AcsAccessGroupsRemoveUserBody, AcsAccessGroupsRemoveUserResponse, AcsAccessGroupsUpdateBody, AcsAccessGroupsUpdateResponse, AcsCredentialsCreateBody, AcsCredentialsCreateResponse, AcsCredentialsDeleteBody, AcsCredentialsDeleteResponse, AcsCredentialsGetParams, AcsCredentialsGetResponse, AcsCredentialsListParams, AcsCredentialsListResponse, AcsSystemsGetParams, AcsSystemsGetResponse, AcsSystemsListParams, AcsSystemsListResponse, AcsUsersAddToAccessGroupBody, AcsUsersAddToAccessGroupResponse, AcsUsersCreateBody, AcsUsersCreateResponse, AcsUsersDeleteBody, AcsUsersDeleteResponse, AcsUsersGetParams, AcsUsersGetResponse, AcsUsersListParams, AcsUsersListResponse, AcsUsersRemoveFromAccessGroupBody, AcsUsersRemoveFromAccessGroupResponse, AcsUsersSuspendBody, AcsUsersSuspendResponse, AcsUsersUnsuspendBody, AcsUsersUnsuspendResponse, AcsUsersUpdateBody, AcsUsersUpdateResponse, ActionAttemptsGetParams, ActionAttemptsGetResponse, ActionAttemptsListParams, ActionAttemptsListResponse, ClientSessionsCreateBody, ClientSessionsCreateResponse, ClientSessionsDeleteBody, ClientSessionsDeleteResponse, ClientSessionsGetOrCreateBody, ClientSessionsGetOrCreateResponse, ClientSessionsGetParams, ClientSessionsGetResponse, ClientSessionsGrantAccessBody, ClientSessionsGrantAccessResponse, ClientSessionsListParams, ClientSessionsListResponse, ConnectWebviewsCreateBody, ConnectWebviewsCreateResponse, ConnectWebviewsDeleteBody, ConnectWebviewsDeleteResponse, ConnectWebviewsGetParams, ConnectWebviewsGetResponse, ConnectWebviewsListParams, ConnectWebviewsListResponse, ConnectWebviewsViewParams, ConnectWebviewsViewResponse, ConnectedAccountsDeleteBody, ConnectedAccountsDeleteResponse, ConnectedAccountsGetParams, ConnectedAccountsGetResponse, ConnectedAccountsListParams, ConnectedAccountsListResponse, DevicesDeleteBody, DevicesDeleteResponse, DevicesGetParams, DevicesGetResponse, DevicesListDeviceProvidersParams, DevicesListDeviceProvidersResponse, DevicesListParams, DevicesListResponse, DevicesUnmanagedGetParams, DevicesUnmanagedGetResponse, DevicesUnmanagedListParams, DevicesUnmanagedListResponse, DevicesUnmanagedUpdateBody, DevicesUnmanagedUpdateResponse, DevicesUpdateBody, DevicesUpdateResponse, EventsGetParams, EventsGetResponse, EventsListParams, EventsListResponse, LocksGetParams, LocksGetResponse, LocksListParams, LocksListResponse, LocksLockDoorBody, LocksLockDoorResponse, LocksUnlockDoorBody, LocksUnlockDoorResponse, NoiseSensorsNoiseThresholdsCreateBody, NoiseSensorsNoiseThresholdsCreateResponse, NoiseSensorsNoiseThresholdsDeleteBody, NoiseSensorsNoiseThresholdsDeleteResponse, NoiseSensorsNoiseThresholdsGetParams, NoiseSensorsNoiseThresholdsGetResponse, NoiseSensorsNoiseThresholdsListParams, NoiseSensorsNoiseThresholdsListResponse, NoiseSensorsNoiseThresholdsUpdateBody, NoiseSensorsNoiseThresholdsUpdateResponse, SeamHttp, SeamHttpAccessCodes, SeamHttpAccessCodesUnmanaged, SeamHttpAcs, SeamHttpAcsAccessGroups, SeamHttpAcsCredentials, SeamHttpAcsSystems, SeamHttpAcsUsers, SeamHttpActionAttempts, SeamHttpApiError, SeamHttpClientSessions, SeamHttpConnectWebviews, SeamHttpConnectedAccounts, SeamHttpDevices, SeamHttpDevicesUnmanaged, SeamHttpEvents, SeamHttpFromPublishableKeyOptions, SeamHttpInvalidInputError, SeamHttpInvalidOptionsError, SeamHttpLocks, SeamHttpNoiseSensors, SeamHttpNoiseSensorsNoiseThresholds, SeamHttpOptions, SeamHttpOptionsFromEnv, SeamHttpOptionsWithApiKey, SeamHttpOptionsWithClient, SeamHttpOptionsWithClientSessionToken, SeamHttpThermostats, SeamHttpThermostatsClimateSettingSchedules, SeamHttpUnauthorizedError, SeamHttpWebhooks, SeamHttpWorkspaces, ThermostatsClimateSettingSchedulesCreateBody, ThermostatsClimateSettingSchedulesCreateResponse, ThermostatsClimateSettingSchedulesDeleteBody, ThermostatsClimateSettingSchedulesDeleteResponse, ThermostatsClimateSettingSchedulesGetParams, ThermostatsClimateSettingSchedulesGetResponse, ThermostatsClimateSettingSchedulesListParams, ThermostatsClimateSettingSchedulesListResponse, ThermostatsClimateSettingSchedulesUpdateBody, ThermostatsClimateSettingSchedulesUpdateResponse, ThermostatsCoolBody, ThermostatsCoolResponse, ThermostatsGetParams, ThermostatsGetResponse, ThermostatsHeatBody, ThermostatsHeatCoolBody, ThermostatsHeatCoolResponse, ThermostatsHeatResponse, ThermostatsListParams, ThermostatsListResponse, ThermostatsOffBody, ThermostatsOffResponse, ThermostatsSetFanModeBody, ThermostatsSetFanModeResponse, ThermostatsUpdateBody, ThermostatsUpdateResponse, UnserializableParamError, WebhooksCreateBody, WebhooksCreateResponse, WebhooksDeleteBody, WebhooksDeleteResponse, WebhooksGetParams, WebhooksGetResponse, WebhooksListParams, WebhooksListResponse, WorkspacesGetParams, WorkspacesGetResponse, WorkspacesListParams, WorkspacesListResponse, WorkspacesResetSandboxBody, WorkspacesResetSandboxResponse, errorInterceptor, isSeamHttpApiError, isSeamHttpInvalidInputError, isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpUnauthorizedError, paramsSerializer };
653
+ export { AccessCodesCreateBody, AccessCodesCreateMultipleBody, AccessCodesCreateMultipleResponse, AccessCodesCreateResponse, AccessCodesDeleteBody, AccessCodesDeleteResponse, AccessCodesGenerateCodeBody, AccessCodesGenerateCodeResponse, AccessCodesGetParams, AccessCodesGetResponse, AccessCodesListParams, AccessCodesListResponse, AccessCodesPullBackupAccessCodeBody, AccessCodesPullBackupAccessCodeResponse, AccessCodesUnmanagedConvertToManagedBody, AccessCodesUnmanagedConvertToManagedResponse, AccessCodesUnmanagedDeleteBody, AccessCodesUnmanagedDeleteResponse, AccessCodesUnmanagedGetParams, AccessCodesUnmanagedGetResponse, AccessCodesUnmanagedListParams, AccessCodesUnmanagedListResponse, AccessCodesUnmanagedUpdateBody, AccessCodesUnmanagedUpdateResponse, AccessCodesUpdateBody, AccessCodesUpdateResponse, AcsAccessGroupsAddUserBody, AcsAccessGroupsAddUserResponse, AcsAccessGroupsGetParams, AcsAccessGroupsGetResponse, AcsAccessGroupsListParams, AcsAccessGroupsListResponse, AcsAccessGroupsListUsersParams, AcsAccessGroupsListUsersResponse, AcsAccessGroupsRemoveUserBody, AcsAccessGroupsRemoveUserResponse, AcsCredentialsAssignBody, AcsCredentialsAssignResponse, AcsCredentialsCreateBody, AcsCredentialsCreateResponse, AcsCredentialsDeleteBody, AcsCredentialsDeleteResponse, AcsCredentialsGetParams, AcsCredentialsGetResponse, AcsCredentialsListParams, AcsCredentialsListResponse, AcsCredentialsUnassignBody, AcsCredentialsUnassignResponse, AcsSystemsGetParams, AcsSystemsGetResponse, AcsSystemsListParams, AcsSystemsListResponse, AcsUsersAddToAccessGroupBody, AcsUsersAddToAccessGroupResponse, AcsUsersCreateBody, AcsUsersCreateResponse, AcsUsersDeleteBody, AcsUsersDeleteResponse, AcsUsersGetParams, AcsUsersGetResponse, AcsUsersListParams, AcsUsersListResponse, AcsUsersRemoveFromAccessGroupBody, AcsUsersRemoveFromAccessGroupResponse, AcsUsersSuspendBody, AcsUsersSuspendResponse, AcsUsersUnsuspendBody, AcsUsersUnsuspendResponse, AcsUsersUpdateBody, AcsUsersUpdateResponse, ActionAttemptsGetParams, ActionAttemptsGetResponse, ActionAttemptsListParams, ActionAttemptsListResponse, ClientSessionsCreateBody, ClientSessionsCreateResponse, ClientSessionsDeleteBody, ClientSessionsDeleteResponse, ClientSessionsGetOrCreateBody, ClientSessionsGetOrCreateResponse, ClientSessionsGetParams, ClientSessionsGetResponse, ClientSessionsGrantAccessBody, ClientSessionsGrantAccessResponse, ClientSessionsListParams, ClientSessionsListResponse, ClientSessionsRevokeBody, ClientSessionsRevokeResponse, ConnectWebviewsCreateBody, ConnectWebviewsCreateResponse, ConnectWebviewsDeleteBody, ConnectWebviewsDeleteResponse, ConnectWebviewsGetParams, ConnectWebviewsGetResponse, ConnectWebviewsListParams, ConnectWebviewsListResponse, ConnectWebviewsViewParams, ConnectWebviewsViewResponse, ConnectedAccountsDeleteBody, ConnectedAccountsDeleteResponse, ConnectedAccountsGetParams, ConnectedAccountsGetResponse, ConnectedAccountsListParams, ConnectedAccountsListResponse, DevicesDeleteBody, DevicesDeleteResponse, DevicesGetParams, DevicesGetResponse, DevicesListDeviceProvidersParams, DevicesListDeviceProvidersResponse, DevicesListParams, DevicesListResponse, DevicesUnmanagedGetParams, DevicesUnmanagedGetResponse, DevicesUnmanagedListParams, DevicesUnmanagedListResponse, DevicesUnmanagedUpdateBody, DevicesUnmanagedUpdateResponse, DevicesUpdateBody, DevicesUpdateResponse, EventsGetParams, EventsGetResponse, EventsListParams, EventsListResponse, LocksGetParams, LocksGetResponse, LocksListParams, LocksListResponse, LocksLockDoorBody, LocksLockDoorResponse, LocksUnlockDoorBody, LocksUnlockDoorResponse, NoiseSensorsNoiseThresholdsCreateBody, NoiseSensorsNoiseThresholdsCreateResponse, NoiseSensorsNoiseThresholdsDeleteBody, NoiseSensorsNoiseThresholdsDeleteResponse, NoiseSensorsNoiseThresholdsGetParams, NoiseSensorsNoiseThresholdsGetResponse, NoiseSensorsNoiseThresholdsListParams, NoiseSensorsNoiseThresholdsListResponse, NoiseSensorsNoiseThresholdsUpdateBody, NoiseSensorsNoiseThresholdsUpdateResponse, SeamHttp, SeamHttpAccessCodes, SeamHttpAccessCodesUnmanaged, SeamHttpAcs, SeamHttpAcsAccessGroups, SeamHttpAcsCredentials, SeamHttpAcsSystems, SeamHttpAcsUsers, SeamHttpActionAttempts, SeamHttpApiError, SeamHttpClientSessions, SeamHttpConnectWebviews, SeamHttpConnectedAccounts, SeamHttpDevices, SeamHttpDevicesUnmanaged, SeamHttpEvents, SeamHttpFromPublishableKeyOptions, SeamHttpInvalidInputError, SeamHttpInvalidOptionsError, SeamHttpLocks, SeamHttpNoiseSensors, SeamHttpNoiseSensorsNoiseThresholds, SeamHttpOptions, SeamHttpOptionsFromEnv, SeamHttpOptionsWithApiKey, SeamHttpOptionsWithClient, SeamHttpOptionsWithClientSessionToken, SeamHttpOptionsWithConsoleSessionToken, SeamHttpOptionsWithPersonalAccessToken, SeamHttpThermostats, SeamHttpThermostatsClimateSettingSchedules, SeamHttpUnauthorizedError, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces, ThermostatsClimateSettingSchedulesCreateBody, ThermostatsClimateSettingSchedulesCreateResponse, ThermostatsClimateSettingSchedulesDeleteBody, ThermostatsClimateSettingSchedulesDeleteResponse, ThermostatsClimateSettingSchedulesGetParams, ThermostatsClimateSettingSchedulesGetResponse, ThermostatsClimateSettingSchedulesListParams, ThermostatsClimateSettingSchedulesListResponse, ThermostatsClimateSettingSchedulesUpdateBody, ThermostatsClimateSettingSchedulesUpdateResponse, ThermostatsCoolBody, ThermostatsCoolResponse, ThermostatsGetParams, ThermostatsGetResponse, ThermostatsHeatBody, ThermostatsHeatCoolBody, ThermostatsHeatCoolResponse, ThermostatsHeatResponse, ThermostatsListParams, ThermostatsListResponse, ThermostatsOffBody, ThermostatsOffResponse, ThermostatsSetFanModeBody, ThermostatsSetFanModeResponse, ThermostatsUpdateBody, ThermostatsUpdateResponse, UnserializableParamError, UserIdentitiesAddAcsUserBody, UserIdentitiesAddAcsUserResponse, UserIdentitiesCreateBody, UserIdentitiesCreateResponse, UserIdentitiesGetParams, UserIdentitiesGetResponse, UserIdentitiesGrantAccessToDeviceBody, UserIdentitiesGrantAccessToDeviceResponse, UserIdentitiesListAccessibleDevicesParams, UserIdentitiesListAccessibleDevicesResponse, UserIdentitiesListAcsUsersParams, UserIdentitiesListAcsUsersResponse, UserIdentitiesRemoveAcsUserBody, UserIdentitiesRemoveAcsUserResponse, UserIdentitiesRevokeAccessToDeviceBody, UserIdentitiesRevokeAccessToDeviceResponse, WebhooksCreateBody, WebhooksCreateResponse, WebhooksDeleteBody, WebhooksDeleteResponse, WebhooksGetParams, WebhooksGetResponse, WebhooksListParams, WebhooksListResponse, WorkspacesGetParams, WorkspacesGetResponse, WorkspacesListParams, WorkspacesListResponse, WorkspacesResetSandboxBody, WorkspacesResetSandboxResponse, errorInterceptor, isSeamHttpApiError, isSeamHttpInvalidInputError, isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, isSeamHttpUnauthorizedError, paramsSerializer };
@@ -1,4 +1,4 @@
1
- import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClientSessionToken, SeamHttpInvalidOptionsError, } from './options.js';
1
+ import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
2
2
  export const getAuthHeaders = (options) => {
3
3
  if ('publishableKey' in options) {
4
4
  return getAuthHeadersForPublishableKey(options.publishableKey);
@@ -9,7 +9,20 @@ export const getAuthHeaders = (options) => {
9
9
  if (isSeamHttpOptionsWithClientSessionToken(options)) {
10
10
  return getAuthHeadersForClientSessionToken(options);
11
11
  }
12
- throw new SeamHttpInvalidOptionsError('Must specify an apiKey, clientSessionToken, or publishableKey');
12
+ if (isSeamHttpOptionsWithConsoleSessionToken(options)) {
13
+ return getAuthHeadersForConsoleSessionToken(options);
14
+ }
15
+ if (isSeamHttpOptionsWithPersonalAccessToken(options)) {
16
+ return getAuthHeadersForPersonalAccessToken(options);
17
+ }
18
+ throw new SeamHttpInvalidOptionsError([
19
+ 'Must specify',
20
+ 'an apiKey,',
21
+ 'clientSessionToken,',
22
+ 'publishableKey,',
23
+ 'consoleSessionToken with a workspaceId',
24
+ 'or personalAccessToken with a workspaceId',
25
+ ].join(' '));
13
26
  };
14
27
  const getAuthHeadersForApiKey = ({ apiKey, }) => {
15
28
  if (isClientSessionToken(apiKey)) {
@@ -49,6 +62,42 @@ const getAuthHeadersForClientSessionToken = ({ clientSessionToken, }) => {
49
62
  'client-session-token': clientSessionToken,
50
63
  };
51
64
  };
65
+ const getAuthHeadersForConsoleSessionToken = ({ consoleSessionToken, workspaceId, }) => {
66
+ if (isAccessToken(consoleSessionToken)) {
67
+ throw new SeamHttpInvalidTokenError('An Access Token cannot be used as a consoleSessionToken');
68
+ }
69
+ if (isClientSessionToken(consoleSessionToken)) {
70
+ throw new SeamHttpInvalidTokenError('A Client Session Token cannot be used as a consoleSessionToken');
71
+ }
72
+ if (isPublishableKey(consoleSessionToken)) {
73
+ throw new SeamHttpInvalidTokenError('A Publishable Key cannot be used as a consoleSessionToken');
74
+ }
75
+ if (!isJwt(consoleSessionToken)) {
76
+ throw new SeamHttpInvalidTokenError(`Unknown or invalid consoleSessionToken format, expected a JWT which starts with ${jwtPrefix}`);
77
+ }
78
+ return {
79
+ authorization: `Bearer ${consoleSessionToken}`,
80
+ 'seam-workspace-id': workspaceId,
81
+ };
82
+ };
83
+ const getAuthHeadersForPersonalAccessToken = ({ personalAccessToken, workspaceId, }) => {
84
+ if (isJwt(personalAccessToken)) {
85
+ throw new SeamHttpInvalidTokenError('A JWT cannot be used as a personalAccessToken');
86
+ }
87
+ if (isClientSessionToken(personalAccessToken)) {
88
+ throw new SeamHttpInvalidTokenError('A Client Session Token cannot be used as a personalAccessToken');
89
+ }
90
+ if (isPublishableKey(personalAccessToken)) {
91
+ throw new SeamHttpInvalidTokenError('A Publishable Key cannot be used as a personalAccessToken');
92
+ }
93
+ if (!isAccessToken(personalAccessToken)) {
94
+ throw new SeamHttpInvalidTokenError(`Unknown or invalid personalAccessToken format, expected token to start with ${accessTokenPrefix}`);
95
+ }
96
+ return {
97
+ authorization: `Bearer ${personalAccessToken}`,
98
+ 'seam-workspace-id': workspaceId,
99
+ };
100
+ };
52
101
  const getAuthHeadersForPublishableKey = (publishableKey) => {
53
102
  if (isJwt(publishableKey)) {
54
103
  throw new SeamHttpInvalidTokenError('A JWT cannot be used as a publishableKey');
@@ -86,11 +135,13 @@ export const warnOnInsecureuserIdentifierKey = (userIdentifierKey) => {
86
135
  }
87
136
  };
88
137
  const tokenPrefix = 'seam_';
138
+ const accessTokenPrefix = 'seam_at';
139
+ const jwtPrefix = 'ey';
89
140
  const clientSessionTokenPrefix = 'seam_cst';
90
141
  const publishableKeyTokenPrefix = 'seam_pk';
91
142
  const isClientSessionToken = (token) => token.startsWith(clientSessionTokenPrefix);
92
- const isAccessToken = (token) => token.startsWith('seam_at');
93
- const isJwt = (token) => token.startsWith('ey');
143
+ const isAccessToken = (token) => token.startsWith(accessTokenPrefix);
144
+ const isJwt = (token) => token.startsWith(jwtPrefix);
94
145
  const isSeamToken = (token) => token.startsWith(tokenPrefix);
95
146
  const isPublishableKey = (token) => token.startsWith(publishableKeyTokenPrefix);
96
147
  // SOURCE: https://stackoverflow.com/a/46181
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/auth.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Client, ClientOptions } from './client.js';
2
- export type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken;
2
+ export type SeamHttpOptions = SeamHttpOptionsFromEnv | SeamHttpOptionsWithClient | SeamHttpOptionsWithApiKey | SeamHttpOptionsWithClientSessionToken | SeamHttpOptionsWithConsoleSessionToken | SeamHttpOptionsWithPersonalAccessToken;
3
3
  interface SeamHttpCommonOptions extends ClientOptions {
4
4
  endpoint?: string;
5
5
  }
@@ -19,6 +19,16 @@ export interface SeamHttpOptionsWithClientSessionToken extends SeamHttpCommonOpt
19
19
  clientSessionToken: string;
20
20
  }
21
21
  export declare const isSeamHttpOptionsWithClientSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithClientSessionToken;
22
+ export interface SeamHttpOptionsWithConsoleSessionToken extends SeamHttpCommonOptions {
23
+ consoleSessionToken: string;
24
+ workspaceId: string;
25
+ }
26
+ export declare const isSeamHttpOptionsWithConsoleSessionToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithConsoleSessionToken;
27
+ export interface SeamHttpOptionsWithPersonalAccessToken extends SeamHttpCommonOptions {
28
+ personalAccessToken: string;
29
+ workspaceId: string;
30
+ }
31
+ export declare const isSeamHttpOptionsWithPersonalAccessToken: (options: SeamHttpOptions) => options is SeamHttpOptionsWithPersonalAccessToken;
22
32
  export declare class SeamHttpInvalidOptionsError extends Error {
23
33
  constructor(message: string);
24
34
  }
@@ -17,6 +17,12 @@ export const isSeamHttpOptionsWithApiKey = (options) => {
17
17
  if ('clientSessionToken' in options && options.clientSessionToken != null) {
18
18
  throw new SeamHttpInvalidOptionsError('The clientSessionToken option cannot be used with the apiKey option');
19
19
  }
20
+ if ('consoleSessionToken' in options && options.consoleSessionToken != null) {
21
+ throw new SeamHttpInvalidOptionsError('The consoleSessionToken option cannot be used with the apiKey option');
22
+ }
23
+ if ('personalAccessToken' in options && options.personalAccessToken != null) {
24
+ throw new SeamHttpInvalidOptionsError('The personalAccessToken option cannot be used with the apiKey option');
25
+ }
20
26
  return true;
21
27
  };
22
28
  export const isSeamHttpOptionsWithClientSessionToken = (options) => {
@@ -25,7 +31,51 @@ export const isSeamHttpOptionsWithClientSessionToken = (options) => {
25
31
  if (options.clientSessionToken == null)
26
32
  return false;
27
33
  if ('apiKey' in options && options.apiKey != null) {
28
- throw new SeamHttpInvalidOptionsError('The clientSessionToken option cannot be used with the apiKey option');
34
+ throw new SeamHttpInvalidOptionsError('The apiKey option cannot be used with the clientSessionToken option');
35
+ }
36
+ if ('consoleSessionToken' in options && options.consoleSessionToken != null) {
37
+ throw new SeamHttpInvalidOptionsError('The consoleSessionToken option cannot be used with the clientSessionToken option');
38
+ }
39
+ if ('personalAccessToken' in options && options.personalAccessToken != null) {
40
+ throw new SeamHttpInvalidOptionsError('The personalAccessToken option cannot be used with the clientSessionToken option');
41
+ }
42
+ return true;
43
+ };
44
+ export const isSeamHttpOptionsWithConsoleSessionToken = (options) => {
45
+ if (!('consoleSessionToken' in options))
46
+ return false;
47
+ if (options.consoleSessionToken == null)
48
+ return false;
49
+ if (!('workspaceId' in options) || options.workspaceId == null) {
50
+ throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a consoleSessionToken');
51
+ }
52
+ if ('apiKey' in options && options.apiKey != null) {
53
+ throw new SeamHttpInvalidOptionsError('The apiKey option cannot be used with the consoleSessionToken option');
54
+ }
55
+ if ('clientSessionToken' in options && options.clientSessionToken != null) {
56
+ throw new SeamHttpInvalidOptionsError('The clientSessionToken option cannot be used with the consoleSessionToken option');
57
+ }
58
+ if ('personalAccessToken' in options && options.personalAccessToken != null) {
59
+ throw new SeamHttpInvalidOptionsError('The personalAccessToken option cannot be used with the consoleSessionToken option');
60
+ }
61
+ return true;
62
+ };
63
+ export const isSeamHttpOptionsWithPersonalAccessToken = (options) => {
64
+ if (!('personalAccessToken' in options))
65
+ return false;
66
+ if (options.personalAccessToken == null)
67
+ return false;
68
+ if (!('workspaceId' in options) || options.workspaceId == null) {
69
+ throw new SeamHttpInvalidOptionsError('Must pass a workspaceId when using a personalAccessToken');
70
+ }
71
+ if ('apiKey' in options && options.apiKey != null) {
72
+ throw new SeamHttpInvalidOptionsError('The apiKey option cannot be used with the personalAccessToken option');
73
+ }
74
+ if ('clientSessionToken' in options && options.clientSessionToken != null) {
75
+ throw new SeamHttpInvalidOptionsError('The clientSessionToken option cannot be used with the personalAccessToken option');
76
+ }
77
+ if ('consoleSessionToken' in options && options.consoleSessionToken != null) {
78
+ throw new SeamHttpInvalidOptionsError('The consoleSessionToken option cannot be used with the personalAccessToken option');
29
79
  }
30
80
  return true;
31
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/options.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,OAAwB,EACc,EAAE;IACxC,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IAExC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAA;IAC/D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,MAAM,IAAI,2BAA2B,CACnC,yEAAyE,IAAI,CAAC,IAAI,CAChF,IAAI,CACL,EAAE,CACJ,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAMD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,OAAwB,EACc,EAAE;IACxC,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IACxC,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IAExC,IAAI,oBAAoB,IAAI,OAAO,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE;QACzE,MAAM,IAAI,2BAA2B,CACnC,qEAAqE,CACtE,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,uCAAuC,GAAG,CACrD,OAAwB,EAC0B,EAAE;IACpD,IAAI,CAAC,CAAC,oBAAoB,IAAI,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IACpD,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI;QAAE,OAAO,KAAK,CAAA;IAEpD,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE;QACjD,MAAM,IAAI,2BAA2B,CACnC,qEAAqE,CACtE,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/options.ts"],"names":[],"mappings":"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"}