@seamapi/http 1.33.0 → 1.34.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.
@@ -0,0 +1,55 @@
1
+ import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect';
2
+ import { type Client } from '../../../../lib/seam/connect/client.js';
3
+ import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from '../../../../lib/seam/connect/options.js';
4
+ import { SeamHttpRequest } from '../../../../lib/seam/connect/seam-http-request.js';
5
+ import { SeamPaginator } from '../../../../lib/seam/connect/seam-paginator.js';
6
+ import type { SetNonNullable } from '../../../../lib/types.js';
7
+ export declare class SeamHttpSpaces {
8
+ client: Client;
9
+ readonly defaults: Required<SeamHttpRequestOptions>;
10
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
11
+ static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpSpaces;
12
+ static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpSpaces;
13
+ static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpSpaces;
14
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpSpaces>;
15
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpSpaces;
16
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpSpaces;
17
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(request: SeamHttpRequest<TResponse, TResponseKey>): SeamPaginator<TResponse, TResponseKey>;
18
+ updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise<void>;
19
+ addAcsEntrances(body?: SpacesAddAcsEntrancesBody): SeamHttpRequest<void, undefined>;
20
+ addDevices(body?: SpacesAddDevicesBody): SeamHttpRequest<void, undefined>;
21
+ create(body?: SpacesCreateBody): SeamHttpRequest<SpacesCreateResponse, 'space'>;
22
+ delete(body?: SpacesDeleteParams): SeamHttpRequest<void, undefined>;
23
+ get(body?: SpacesGetParams): SeamHttpRequest<SpacesGetResponse, 'space'>;
24
+ list(body?: SpacesListParams): SeamHttpRequest<SpacesListResponse, 'spaces'>;
25
+ removeAcsEntrances(body?: SpacesRemoveAcsEntrancesParams): SeamHttpRequest<void, undefined>;
26
+ removeDevices(body?: SpacesRemoveDevicesParams): SeamHttpRequest<void, undefined>;
27
+ update(body?: SpacesUpdateBody): SeamHttpRequest<SpacesUpdateResponse, 'space'>;
28
+ }
29
+ export type SpacesAddAcsEntrancesBody = RouteRequestBody<'/spaces/add_acs_entrances'>;
30
+ export type SpacesAddAcsEntrancesResponse = SetNonNullable<Required<RouteResponse<'/spaces/add_acs_entrances'>>>;
31
+ export type SpacesAddAcsEntrancesOptions = never;
32
+ export type SpacesAddDevicesBody = RouteRequestBody<'/spaces/add_devices'>;
33
+ export type SpacesAddDevicesResponse = SetNonNullable<Required<RouteResponse<'/spaces/add_devices'>>>;
34
+ export type SpacesAddDevicesOptions = never;
35
+ export type SpacesCreateBody = RouteRequestBody<'/spaces/create'>;
36
+ export type SpacesCreateResponse = SetNonNullable<Required<RouteResponse<'/spaces/create'>>>;
37
+ export type SpacesCreateOptions = never;
38
+ export type SpacesDeleteParams = RouteRequestBody<'/spaces/delete'>;
39
+ export type SpacesDeleteResponse = SetNonNullable<Required<RouteResponse<'/spaces/delete'>>>;
40
+ export type SpacesDeleteOptions = never;
41
+ export type SpacesGetParams = RouteRequestBody<'/spaces/get'>;
42
+ export type SpacesGetResponse = SetNonNullable<Required<RouteResponse<'/spaces/get'>>>;
43
+ export type SpacesGetOptions = never;
44
+ export type SpacesListParams = RouteRequestBody<'/spaces/list'>;
45
+ export type SpacesListResponse = SetNonNullable<Required<RouteResponse<'/spaces/list'>>>;
46
+ export type SpacesListOptions = never;
47
+ export type SpacesRemoveAcsEntrancesParams = RouteRequestBody<'/spaces/remove_acs_entrances'>;
48
+ export type SpacesRemoveAcsEntrancesResponse = SetNonNullable<Required<RouteResponse<'/spaces/remove_acs_entrances'>>>;
49
+ export type SpacesRemoveAcsEntrancesOptions = never;
50
+ export type SpacesRemoveDevicesParams = RouteRequestBody<'/spaces/remove_devices'>;
51
+ export type SpacesRemoveDevicesResponse = SetNonNullable<Required<RouteResponse<'/spaces/remove_devices'>>>;
52
+ export type SpacesRemoveDevicesOptions = never;
53
+ export type SpacesUpdateBody = RouteRequestBody<'/spaces/update'>;
54
+ export type SpacesUpdateResponse = SetNonNullable<Required<RouteResponse<'/spaces/update'>>>;
55
+ export type SpacesUpdateOptions = never;
@@ -0,0 +1,156 @@
1
+ /*
2
+ * Automatically generated by generate-routes.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+ import { getAuthHeadersForClientSessionToken, warnOnInsecureuserIdentifierKey, } from '../../../../lib/seam/connect/auth.js';
6
+ import { createClient } from '../../../../lib/seam/connect/client.js';
7
+ import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from '../../../../lib/seam/connect/options.js';
8
+ import { limitToSeamHttpRequestOptions, parseOptions, } from '../../../../lib/seam/connect/parse-options.js';
9
+ import { SeamHttpRequest } from '../../../../lib/seam/connect/seam-http-request.js';
10
+ import { SeamPaginator } from '../../../../lib/seam/connect/seam-paginator.js';
11
+ import { SeamHttpClientSessions } from './client-sessions.js';
12
+ export class SeamHttpSpaces {
13
+ constructor(apiKeyOrOptions = {}) {
14
+ const options = parseOptions(apiKeyOrOptions);
15
+ this.client = 'client' in options ? options.client : createClient(options);
16
+ this.defaults = limitToSeamHttpRequestOptions(options);
17
+ }
18
+ static fromClient(client, options = {}) {
19
+ const constructorOptions = { ...options, client };
20
+ if (!isSeamHttpOptionsWithClient(constructorOptions)) {
21
+ throw new SeamHttpInvalidOptionsError('Missing client');
22
+ }
23
+ return new SeamHttpSpaces(constructorOptions);
24
+ }
25
+ static fromApiKey(apiKey, options = {}) {
26
+ const constructorOptions = { ...options, apiKey };
27
+ if (!isSeamHttpOptionsWithApiKey(constructorOptions)) {
28
+ throw new SeamHttpInvalidOptionsError('Missing apiKey');
29
+ }
30
+ return new SeamHttpSpaces(constructorOptions);
31
+ }
32
+ static fromClientSessionToken(clientSessionToken, options = {}) {
33
+ const constructorOptions = { ...options, clientSessionToken };
34
+ if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) {
35
+ throw new SeamHttpInvalidOptionsError('Missing clientSessionToken');
36
+ }
37
+ return new SeamHttpSpaces(constructorOptions);
38
+ }
39
+ static async fromPublishableKey(publishableKey, userIdentifierKey, options = {}) {
40
+ warnOnInsecureuserIdentifierKey(userIdentifierKey);
41
+ const clientOptions = parseOptions({ ...options, publishableKey });
42
+ if (isSeamHttpOptionsWithClient(clientOptions)) {
43
+ throw new SeamHttpInvalidOptionsError('The client option cannot be used with SeamHttp.fromPublishableKey');
44
+ }
45
+ const client = createClient(clientOptions);
46
+ const clientSessions = SeamHttpClientSessions.fromClient(client);
47
+ const { token } = await clientSessions.getOrCreate({
48
+ user_identifier_key: userIdentifierKey,
49
+ });
50
+ return SeamHttpSpaces.fromClientSessionToken(token, options);
51
+ }
52
+ static fromConsoleSessionToken(consoleSessionToken, workspaceId, options = {}) {
53
+ const constructorOptions = { ...options, consoleSessionToken, workspaceId };
54
+ if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
55
+ throw new SeamHttpInvalidOptionsError('Missing consoleSessionToken or workspaceId');
56
+ }
57
+ return new SeamHttpSpaces(constructorOptions);
58
+ }
59
+ static fromPersonalAccessToken(personalAccessToken, workspaceId, options = {}) {
60
+ const constructorOptions = { ...options, personalAccessToken, workspaceId };
61
+ if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
62
+ throw new SeamHttpInvalidOptionsError('Missing personalAccessToken or workspaceId');
63
+ }
64
+ return new SeamHttpSpaces(constructorOptions);
65
+ }
66
+ createPaginator(request) {
67
+ return new SeamPaginator(this, request);
68
+ }
69
+ async updateClientSessionToken(clientSessionToken) {
70
+ const { headers } = this.client.defaults;
71
+ const authHeaders = getAuthHeadersForClientSessionToken({
72
+ clientSessionToken,
73
+ });
74
+ for (const key of Object.keys(authHeaders)) {
75
+ if (headers[key] == null) {
76
+ throw new Error('Cannot update a clientSessionToken on a client created without a clientSessionToken');
77
+ }
78
+ }
79
+ this.client.defaults.headers = { ...headers, ...authHeaders };
80
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client);
81
+ await clientSessions.get();
82
+ }
83
+ addAcsEntrances(body) {
84
+ return new SeamHttpRequest(this, {
85
+ pathname: '/spaces/add_acs_entrances',
86
+ method: 'post',
87
+ body,
88
+ responseKey: undefined,
89
+ });
90
+ }
91
+ addDevices(body) {
92
+ return new SeamHttpRequest(this, {
93
+ pathname: '/spaces/add_devices',
94
+ method: 'post',
95
+ body,
96
+ responseKey: undefined,
97
+ });
98
+ }
99
+ create(body) {
100
+ return new SeamHttpRequest(this, {
101
+ pathname: '/spaces/create',
102
+ method: 'post',
103
+ body,
104
+ responseKey: 'space',
105
+ });
106
+ }
107
+ delete(body) {
108
+ return new SeamHttpRequest(this, {
109
+ pathname: '/spaces/delete',
110
+ method: 'post',
111
+ body,
112
+ responseKey: undefined,
113
+ });
114
+ }
115
+ get(body) {
116
+ return new SeamHttpRequest(this, {
117
+ pathname: '/spaces/get',
118
+ method: 'post',
119
+ body,
120
+ responseKey: 'space',
121
+ });
122
+ }
123
+ list(body) {
124
+ return new SeamHttpRequest(this, {
125
+ pathname: '/spaces/list',
126
+ method: 'post',
127
+ body,
128
+ responseKey: 'spaces',
129
+ });
130
+ }
131
+ removeAcsEntrances(body) {
132
+ return new SeamHttpRequest(this, {
133
+ pathname: '/spaces/remove_acs_entrances',
134
+ method: 'post',
135
+ body,
136
+ responseKey: undefined,
137
+ });
138
+ }
139
+ removeDevices(body) {
140
+ return new SeamHttpRequest(this, {
141
+ pathname: '/spaces/remove_devices',
142
+ method: 'post',
143
+ body,
144
+ responseKey: undefined,
145
+ });
146
+ }
147
+ update(body) {
148
+ return new SeamHttpRequest(this, {
149
+ pathname: '/spaces/update',
150
+ method: 'post',
151
+ body,
152
+ responseKey: 'space',
153
+ });
154
+ }
155
+ }
156
+ //# sourceMappingURL=spaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spaces.js","sourceRoot":"","sources":["../../../../src/lib/seam/connect/routes/spaces.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Client } from './client.js';
2
2
  import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from './options.js';
3
- import { SeamHttpAccessCodes, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces } from './routes/index.js';
3
+ import { SeamHttpAccessCodes, SeamHttpAccessGrants, SeamHttpAccessMethods, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpSpaces, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces } from './routes/index.js';
4
4
  import type { SeamHttpRequest } from './seam-http-request.js';
5
5
  import { SeamPaginator } from './seam-paginator.js';
6
6
  export declare class SeamHttp {
@@ -18,6 +18,8 @@ export declare class SeamHttp {
18
18
  createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(request: SeamHttpRequest<TResponse, TResponseKey>): SeamPaginator<TResponse, TResponseKey>;
19
19
  updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise<void>;
20
20
  get accessCodes(): SeamHttpAccessCodes;
21
+ get accessGrants(): SeamHttpAccessGrants;
22
+ get accessMethods(): SeamHttpAccessMethods;
21
23
  get acs(): SeamHttpAcs;
22
24
  get actionAttempts(): SeamHttpActionAttempts;
23
25
  get clientSessions(): SeamHttpClientSessions;
@@ -28,6 +30,7 @@ export declare class SeamHttp {
28
30
  get locks(): SeamHttpLocks;
29
31
  get noiseSensors(): SeamHttpNoiseSensors;
30
32
  get phones(): SeamHttpPhones;
33
+ get spaces(): SeamHttpSpaces;
31
34
  get thermostats(): SeamHttpThermostats;
32
35
  get userIdentities(): SeamHttpUserIdentities;
33
36
  get webhooks(): SeamHttpWebhooks;
@@ -3,7 +3,7 @@ import { getAuthHeadersForClientSessionToken, warnOnInsecureuserIdentifierKey, }
3
3
  import { createClient } from './client.js';
4
4
  import { isSeamHttpOptionsWithApiKey, isSeamHttpOptionsWithClient, isSeamHttpOptionsWithClientSessionToken, isSeamHttpOptionsWithConsoleSessionToken, isSeamHttpOptionsWithPersonalAccessToken, SeamHttpInvalidOptionsError, } from './options.js';
5
5
  import { limitToSeamHttpRequestOptions, parseOptions } from './parse-options.js';
6
- import { SeamHttpAccessCodes, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces, } from './routes/index.js';
6
+ import { SeamHttpAccessCodes, SeamHttpAccessGrants, SeamHttpAccessMethods, SeamHttpAcs, SeamHttpActionAttempts, SeamHttpClientSessions, SeamHttpConnectedAccounts, SeamHttpConnectWebviews, SeamHttpDevices, SeamHttpEvents, SeamHttpLocks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpSpaces, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces, } from './routes/index.js';
7
7
  import { SeamPaginator } from './seam-paginator.js';
8
8
  export class SeamHttp {
9
9
  constructor(apiKeyOrOptions = {}) {
@@ -80,6 +80,12 @@ export class SeamHttp {
80
80
  get accessCodes() {
81
81
  return SeamHttpAccessCodes.fromClient(this.client, this.defaults);
82
82
  }
83
+ get accessGrants() {
84
+ return SeamHttpAccessGrants.fromClient(this.client, this.defaults);
85
+ }
86
+ get accessMethods() {
87
+ return SeamHttpAccessMethods.fromClient(this.client, this.defaults);
88
+ }
83
89
  get acs() {
84
90
  return SeamHttpAcs.fromClient(this.client, this.defaults);
85
91
  }
@@ -110,6 +116,9 @@ export class SeamHttp {
110
116
  get phones() {
111
117
  return SeamHttpPhones.fromClient(this.client, this.defaults);
112
118
  }
119
+ get spaces() {
120
+ return SeamHttpSpaces.fromClient(this.client, this.defaults);
121
+ }
113
122
  get thermostats() {
114
123
  return SeamHttpThermostats.fromClient(this.client, this.defaults);
115
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"seam-http.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seam-http.js","sourceRoot":"","sources":["../../../src/lib/seam/connect/seam-http.ts"],"names":[],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const seamapiJavascriptHttpVersion = "1.33.0";
1
+ declare const seamapiJavascriptHttpVersion = "1.34.0";
2
2
  export default seamapiJavascriptHttpVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiJavascriptHttpVersion = '1.33.0';
1
+ const seamapiJavascriptHttpVersion = '1.34.0';
2
2
  export default seamapiJavascriptHttpVersion;
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/http",
3
- "version": "1.33.0",
3
+ "version": "1.34.0",
4
4
  "description": "JavaScript HTTP client for the Seam API written in TypeScript.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -84,7 +84,7 @@
84
84
  "npm": ">=10.1.0"
85
85
  },
86
86
  "peerDependencies": {
87
- "@seamapi/types": "^1.406.9"
87
+ "@seamapi/types": "^1.410.1"
88
88
  },
89
89
  "peerDependenciesMeta": {
90
90
  "@seamapi/types": {
@@ -98,7 +98,7 @@
98
98
  },
99
99
  "devDependencies": {
100
100
  "@seamapi/fake-seam-connect": "^1.77.0",
101
- "@seamapi/types": "1.406.9",
101
+ "@seamapi/types": "1.410.1",
102
102
  "@swc/core": "^1.11.29",
103
103
  "@types/eslint": "^8.44.2",
104
104
  "@types/jsonwebtoken": "^9.0.6",
@@ -0,0 +1,237 @@
1
+ /*
2
+ * Automatically generated by generate-routes.ts.
3
+ * Do not edit this file or add other files to this directory.
4
+ */
5
+
6
+ import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect'
7
+
8
+ import {
9
+ getAuthHeadersForClientSessionToken,
10
+ warnOnInsecureuserIdentifierKey,
11
+ } from 'lib/seam/connect/auth.js'
12
+ import { type Client, createClient } from 'lib/seam/connect/client.js'
13
+ import {
14
+ isSeamHttpOptionsWithApiKey,
15
+ isSeamHttpOptionsWithClient,
16
+ isSeamHttpOptionsWithClientSessionToken,
17
+ isSeamHttpOptionsWithConsoleSessionToken,
18
+ isSeamHttpOptionsWithPersonalAccessToken,
19
+ type SeamHttpFromPublishableKeyOptions,
20
+ SeamHttpInvalidOptionsError,
21
+ type SeamHttpOptions,
22
+ type SeamHttpOptionsWithApiKey,
23
+ type SeamHttpOptionsWithClient,
24
+ type SeamHttpOptionsWithClientSessionToken,
25
+ type SeamHttpOptionsWithConsoleSessionToken,
26
+ type SeamHttpOptionsWithPersonalAccessToken,
27
+ type SeamHttpRequestOptions,
28
+ } from 'lib/seam/connect/options.js'
29
+ import {
30
+ limitToSeamHttpRequestOptions,
31
+ parseOptions,
32
+ } from 'lib/seam/connect/parse-options.js'
33
+ import { SeamHttpRequest } from 'lib/seam/connect/seam-http-request.js'
34
+ import { SeamPaginator } from 'lib/seam/connect/seam-paginator.js'
35
+ import type { SetNonNullable } from 'lib/types.js'
36
+
37
+ import { SeamHttpClientSessions } from './client-sessions.js'
38
+
39
+ export class SeamHttpAccessGrants {
40
+ client: Client
41
+ readonly defaults: Required<SeamHttpRequestOptions>
42
+
43
+ constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) {
44
+ const options = parseOptions(apiKeyOrOptions)
45
+ this.client = 'client' in options ? options.client : createClient(options)
46
+ this.defaults = limitToSeamHttpRequestOptions(options)
47
+ }
48
+
49
+ static fromClient(
50
+ client: SeamHttpOptionsWithClient['client'],
51
+ options: Omit<SeamHttpOptionsWithClient, 'client'> = {},
52
+ ): SeamHttpAccessGrants {
53
+ const constructorOptions = { ...options, client }
54
+ if (!isSeamHttpOptionsWithClient(constructorOptions)) {
55
+ throw new SeamHttpInvalidOptionsError('Missing client')
56
+ }
57
+ return new SeamHttpAccessGrants(constructorOptions)
58
+ }
59
+
60
+ static fromApiKey(
61
+ apiKey: SeamHttpOptionsWithApiKey['apiKey'],
62
+ options: Omit<SeamHttpOptionsWithApiKey, 'apiKey'> = {},
63
+ ): SeamHttpAccessGrants {
64
+ const constructorOptions = { ...options, apiKey }
65
+ if (!isSeamHttpOptionsWithApiKey(constructorOptions)) {
66
+ throw new SeamHttpInvalidOptionsError('Missing apiKey')
67
+ }
68
+ return new SeamHttpAccessGrants(constructorOptions)
69
+ }
70
+
71
+ static fromClientSessionToken(
72
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
73
+ options: Omit<
74
+ SeamHttpOptionsWithClientSessionToken,
75
+ 'clientSessionToken'
76
+ > = {},
77
+ ): SeamHttpAccessGrants {
78
+ const constructorOptions = { ...options, clientSessionToken }
79
+ if (!isSeamHttpOptionsWithClientSessionToken(constructorOptions)) {
80
+ throw new SeamHttpInvalidOptionsError('Missing clientSessionToken')
81
+ }
82
+ return new SeamHttpAccessGrants(constructorOptions)
83
+ }
84
+
85
+ static async fromPublishableKey(
86
+ publishableKey: string,
87
+ userIdentifierKey: string,
88
+ options: SeamHttpFromPublishableKeyOptions = {},
89
+ ): Promise<SeamHttpAccessGrants> {
90
+ warnOnInsecureuserIdentifierKey(userIdentifierKey)
91
+ const clientOptions = parseOptions({ ...options, publishableKey })
92
+ if (isSeamHttpOptionsWithClient(clientOptions)) {
93
+ throw new SeamHttpInvalidOptionsError(
94
+ 'The client option cannot be used with SeamHttp.fromPublishableKey',
95
+ )
96
+ }
97
+ const client = createClient(clientOptions)
98
+ const clientSessions = SeamHttpClientSessions.fromClient(client)
99
+ const { token } = await clientSessions.getOrCreate({
100
+ user_identifier_key: userIdentifierKey,
101
+ })
102
+ return SeamHttpAccessGrants.fromClientSessionToken(token, options)
103
+ }
104
+
105
+ static fromConsoleSessionToken(
106
+ consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'],
107
+ workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'],
108
+ options: Omit<
109
+ SeamHttpOptionsWithConsoleSessionToken,
110
+ 'consoleSessionToken' | 'workspaceId'
111
+ > = {},
112
+ ): SeamHttpAccessGrants {
113
+ const constructorOptions = { ...options, consoleSessionToken, workspaceId }
114
+ if (!isSeamHttpOptionsWithConsoleSessionToken(constructorOptions)) {
115
+ throw new SeamHttpInvalidOptionsError(
116
+ 'Missing consoleSessionToken or workspaceId',
117
+ )
118
+ }
119
+ return new SeamHttpAccessGrants(constructorOptions)
120
+ }
121
+
122
+ static fromPersonalAccessToken(
123
+ personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'],
124
+ workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'],
125
+ options: Omit<
126
+ SeamHttpOptionsWithPersonalAccessToken,
127
+ 'personalAccessToken' | 'workspaceId'
128
+ > = {},
129
+ ): SeamHttpAccessGrants {
130
+ const constructorOptions = { ...options, personalAccessToken, workspaceId }
131
+ if (!isSeamHttpOptionsWithPersonalAccessToken(constructorOptions)) {
132
+ throw new SeamHttpInvalidOptionsError(
133
+ 'Missing personalAccessToken or workspaceId',
134
+ )
135
+ }
136
+ return new SeamHttpAccessGrants(constructorOptions)
137
+ }
138
+
139
+ createPaginator<const TResponse, const TResponseKey extends keyof TResponse>(
140
+ request: SeamHttpRequest<TResponse, TResponseKey>,
141
+ ): SeamPaginator<TResponse, TResponseKey> {
142
+ return new SeamPaginator<TResponse, TResponseKey>(this, request)
143
+ }
144
+
145
+ async updateClientSessionToken(
146
+ clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'],
147
+ ): Promise<void> {
148
+ const { headers } = this.client.defaults
149
+ const authHeaders = getAuthHeadersForClientSessionToken({
150
+ clientSessionToken,
151
+ })
152
+ for (const key of Object.keys(authHeaders)) {
153
+ if (headers[key] == null) {
154
+ throw new Error(
155
+ 'Cannot update a clientSessionToken on a client created without a clientSessionToken',
156
+ )
157
+ }
158
+ }
159
+ this.client.defaults.headers = { ...headers, ...authHeaders }
160
+ const clientSessions = SeamHttpClientSessions.fromClient(this.client)
161
+ await clientSessions.get()
162
+ }
163
+
164
+ create(
165
+ body?: AccessGrantsCreateBody,
166
+ ): SeamHttpRequest<AccessGrantsCreateResponse, 'access_grant'> {
167
+ return new SeamHttpRequest(this, {
168
+ pathname: '/access_grants/create',
169
+ method: 'post',
170
+ body,
171
+ responseKey: 'access_grant',
172
+ })
173
+ }
174
+
175
+ delete(body?: AccessGrantsDeleteParams): SeamHttpRequest<void, undefined> {
176
+ return new SeamHttpRequest(this, {
177
+ pathname: '/access_grants/delete',
178
+ method: 'post',
179
+ body,
180
+ responseKey: undefined,
181
+ })
182
+ }
183
+
184
+ get(
185
+ body?: AccessGrantsGetParams,
186
+ ): SeamHttpRequest<AccessGrantsGetResponse, 'access_grant'> {
187
+ return new SeamHttpRequest(this, {
188
+ pathname: '/access_grants/get',
189
+ method: 'post',
190
+ body,
191
+ responseKey: 'access_grant',
192
+ })
193
+ }
194
+
195
+ list(
196
+ body?: AccessGrantsListParams,
197
+ ): SeamHttpRequest<AccessGrantsListResponse, 'access_grants'> {
198
+ return new SeamHttpRequest(this, {
199
+ pathname: '/access_grants/list',
200
+ method: 'post',
201
+ body,
202
+ responseKey: 'access_grants',
203
+ })
204
+ }
205
+ }
206
+
207
+ export type AccessGrantsCreateBody = RouteRequestBody<'/access_grants/create'>
208
+
209
+ export type AccessGrantsCreateResponse = SetNonNullable<
210
+ Required<RouteResponse<'/access_grants/create'>>
211
+ >
212
+
213
+ export type AccessGrantsCreateOptions = never
214
+
215
+ export type AccessGrantsDeleteParams = RouteRequestBody<'/access_grants/delete'>
216
+
217
+ export type AccessGrantsDeleteResponse = SetNonNullable<
218
+ Required<RouteResponse<'/access_grants/delete'>>
219
+ >
220
+
221
+ export type AccessGrantsDeleteOptions = never
222
+
223
+ export type AccessGrantsGetParams = RouteRequestBody<'/access_grants/get'>
224
+
225
+ export type AccessGrantsGetResponse = SetNonNullable<
226
+ Required<RouteResponse<'/access_grants/get'>>
227
+ >
228
+
229
+ export type AccessGrantsGetOptions = never
230
+
231
+ export type AccessGrantsListParams = RouteRequestBody<'/access_grants/list'>
232
+
233
+ export type AccessGrantsListResponse = SetNonNullable<
234
+ Required<RouteResponse<'/access_grants/list'>>
235
+ >
236
+
237
+ export type AccessGrantsListOptions = never