@seamapi/http 0.18.0 → 0.18.1

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 (49) hide show
  1. package/connect.d.ts +2 -0
  2. package/index.d.ts +2 -0
  3. package/lib/seam/connect/action-attempt-types.d.ts +17 -0
  4. package/lib/seam/connect/api-error-types.d.ts +8 -0
  5. package/lib/seam/connect/auth.d.ts +10 -0
  6. package/lib/seam/connect/client.d.ts +10 -0
  7. package/lib/seam/connect/error-interceptor.d.ts +1 -0
  8. package/lib/seam/connect/index.d.ts +10 -0
  9. package/lib/seam/connect/openapi.d.ts +2 -0
  10. package/lib/seam/connect/options.d.ts +54 -0
  11. package/lib/seam/connect/parse-options.d.ts +17 -0
  12. package/lib/seam/connect/resolve-action-attempt.d.ts +21 -0
  13. package/lib/seam/connect/routes/access-codes-unmanaged.d.ts +36 -0
  14. package/lib/seam/connect/routes/access-codes.d.ts +50 -0
  15. package/lib/seam/connect/routes/acs-access-groups.d.ts +36 -0
  16. package/lib/seam/connect/routes/acs-credential-pools.d.ts +20 -0
  17. package/lib/seam/connect/routes/acs-credential-provisioning-automations.d.ts +20 -0
  18. package/lib/seam/connect/routes/acs-credentials.d.ts +44 -0
  19. package/lib/seam/connect/routes/acs-entrances.d.ts +32 -0
  20. package/lib/seam/connect/routes/acs-systems.d.ts +24 -0
  21. package/lib/seam/connect/routes/acs-users.d.ts +60 -0
  22. package/lib/seam/connect/routes/acs.d.ts +28 -0
  23. package/lib/seam/connect/routes/action-attempts.d.ts +24 -0
  24. package/lib/seam/connect/routes/client-sessions.d.ts +44 -0
  25. package/lib/seam/connect/routes/connect-webviews.d.ts +36 -0
  26. package/lib/seam/connect/routes/connected-accounts.d.ts +32 -0
  27. package/lib/seam/connect/routes/devices-unmanaged.d.ts +28 -0
  28. package/lib/seam/connect/routes/devices.d.ts +38 -0
  29. package/lib/seam/connect/routes/events.d.ts +24 -0
  30. package/lib/seam/connect/routes/index.d.ts +28 -0
  31. package/lib/seam/connect/routes/locks.d.ts +32 -0
  32. package/lib/seam/connect/routes/networks.d.ts +24 -0
  33. package/lib/seam/connect/routes/noise-sensors-noise-thresholds.d.ts +36 -0
  34. package/lib/seam/connect/routes/noise-sensors.d.ts +16 -0
  35. package/lib/seam/connect/routes/phones.d.ts +24 -0
  36. package/lib/seam/connect/routes/thermostats-climate-setting-schedules.d.ts +36 -0
  37. package/lib/seam/connect/routes/thermostats.d.ts +50 -0
  38. package/lib/seam/connect/routes/user-identities-enrollment-automations.d.ts +28 -0
  39. package/lib/seam/connect/routes/user-identities.d.ts +62 -0
  40. package/lib/seam/connect/routes/webhooks.d.ts +36 -0
  41. package/lib/seam/connect/routes/workspaces.d.ts +32 -0
  42. package/lib/seam/connect/seam-http-error.d.ts +20 -0
  43. package/lib/seam/connect/seam-http-multi-workspace.d.ts +12 -0
  44. package/lib/seam/connect/seam-http.d.ts +31 -0
  45. package/lib/seam/connect/token.d.ts +13 -0
  46. package/lib/version.d.ts +2 -0
  47. package/lib/version.js +1 -1
  48. package/package.json +3 -3
  49. package/src/lib/version.ts +1 -1
@@ -0,0 +1,36 @@
1
+ import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect';
2
+ import type { SetNonNullable } from 'type-fest';
3
+ import { type Client } from '../../../../lib/seam/connect/client.js';
4
+ import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from '../../../../lib/seam/connect/options.js';
5
+ export declare class SeamHttpWebhooks {
6
+ client: Client;
7
+ readonly defaults: Required<SeamHttpRequestOptions>;
8
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
9
+ static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpWebhooks;
10
+ static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWebhooks;
11
+ static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWebhooks;
12
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpWebhooks>;
13
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpWebhooks;
14
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpWebhooks;
15
+ updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise<void>;
16
+ create(body?: WebhooksCreateBody): Promise<WebhooksCreateResponse['webhook']>;
17
+ delete(body?: WebhooksDeleteBody): Promise<void>;
18
+ get(body?: WebhooksGetParams): Promise<WebhooksGetResponse['webhook']>;
19
+ list(body?: WebhooksListParams): Promise<WebhooksListResponse['webhooks']>;
20
+ update(body?: WebhooksUpdateBody): Promise<void>;
21
+ }
22
+ export type WebhooksCreateBody = RouteRequestBody<'/webhooks/create'>;
23
+ export type WebhooksCreateResponse = SetNonNullable<Required<RouteResponse<'/webhooks/create'>>>;
24
+ export type WebhooksCreateOptions = never;
25
+ export type WebhooksDeleteBody = RouteRequestBody<'/webhooks/delete'>;
26
+ export type WebhooksDeleteResponse = SetNonNullable<Required<RouteResponse<'/webhooks/delete'>>>;
27
+ export type WebhooksDeleteOptions = never;
28
+ export type WebhooksGetParams = RouteRequestBody<'/webhooks/get'>;
29
+ export type WebhooksGetResponse = SetNonNullable<Required<RouteResponse<'/webhooks/get'>>>;
30
+ export type WebhooksGetOptions = never;
31
+ export type WebhooksListParams = RouteRequestBody<'/webhooks/list'>;
32
+ export type WebhooksListResponse = SetNonNullable<Required<RouteResponse<'/webhooks/list'>>>;
33
+ export type WebhooksListOptions = never;
34
+ export type WebhooksUpdateBody = RouteRequestBody<'/webhooks/update'>;
35
+ export type WebhooksUpdateResponse = SetNonNullable<Required<RouteResponse<'/webhooks/update'>>>;
36
+ export type WebhooksUpdateOptions = never;
@@ -0,0 +1,32 @@
1
+ import type { RouteRequestBody, RouteResponse } from '@seamapi/types/connect';
2
+ import type { SetNonNullable } from 'type-fest';
3
+ import { type Client } from '../../../../lib/seam/connect/client.js';
4
+ import { type SeamHttpFromPublishableKeyOptions, type SeamHttpOptions, type SeamHttpOptionsWithApiKey, type SeamHttpOptionsWithClient, type SeamHttpOptionsWithClientSessionToken, type SeamHttpOptionsWithConsoleSessionToken, type SeamHttpOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from '../../../../lib/seam/connect/options.js';
5
+ export declare class SeamHttpWorkspaces {
6
+ client: Client;
7
+ readonly defaults: Required<SeamHttpRequestOptions>;
8
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
9
+ static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttpWorkspaces;
10
+ static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttpWorkspaces;
11
+ static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttpWorkspaces;
12
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttpWorkspaces>;
13
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttpWorkspaces;
14
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttpWorkspaces;
15
+ updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise<void>;
16
+ create(body?: WorkspacesCreateBody): Promise<WorkspacesCreateResponse['workspace']>;
17
+ get(body?: WorkspacesGetParams): Promise<WorkspacesGetResponse['workspace']>;
18
+ list(body?: WorkspacesListParams): Promise<WorkspacesListResponse['workspaces']>;
19
+ resetSandbox(body?: WorkspacesResetSandboxBody): Promise<void>;
20
+ }
21
+ export type WorkspacesCreateBody = RouteRequestBody<'/workspaces/create'>;
22
+ export type WorkspacesCreateResponse = SetNonNullable<Required<RouteResponse<'/workspaces/create'>>>;
23
+ export type WorkspacesCreateOptions = never;
24
+ export type WorkspacesGetParams = RouteRequestBody<'/workspaces/get'>;
25
+ export type WorkspacesGetResponse = SetNonNullable<Required<RouteResponse<'/workspaces/get'>>>;
26
+ export type WorkspacesGetOptions = never;
27
+ export type WorkspacesListParams = RouteRequestBody<'/workspaces/list'>;
28
+ export type WorkspacesListResponse = SetNonNullable<Required<RouteResponse<'/workspaces/list'>>>;
29
+ export type WorkspacesListOptions = never;
30
+ export type WorkspacesResetSandboxBody = RouteRequestBody<'/workspaces/reset_sandbox'>;
31
+ export type WorkspacesResetSandboxResponse = SetNonNullable<Required<RouteResponse<'/workspaces/reset_sandbox'>>>;
32
+ export type WorkspacesResetSandboxOptions = never;
@@ -0,0 +1,20 @@
1
+ import type { ApiError } from './api-error-types.js';
2
+ export declare class SeamHttpApiError extends Error {
3
+ code: string;
4
+ statusCode: number;
5
+ requestId: string;
6
+ data?: unknown;
7
+ constructor(error: ApiError, statusCode: number, requestId: string);
8
+ }
9
+ export declare const isSeamHttpApiError: (error: unknown) => error is SeamHttpApiError;
10
+ export declare class SeamHttpUnauthorizedError extends SeamHttpApiError {
11
+ code: 'unauthorized';
12
+ statusCode: 401;
13
+ constructor(requestId: string);
14
+ }
15
+ export declare const isSeamHttpUnauthorizedError: (error: unknown) => error is SeamHttpUnauthorizedError;
16
+ export declare class SeamHttpInvalidInputError extends SeamHttpApiError {
17
+ code: 'invalid_input';
18
+ constructor(error: ApiError, statusCode: number, requestId: string);
19
+ }
20
+ export declare const isSeamHttpInvalidInputError: (error: unknown) => error is SeamHttpInvalidInputError;
@@ -0,0 +1,12 @@
1
+ import { type Client } from './client.js';
2
+ import { type SeamHttpMultiWorkspaceOptions, type SeamHttpMultiWorkspaceOptionsWithClient, type SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, type SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, type SeamHttpRequestOptions } from './options.js';
3
+ import { SeamHttpWorkspaces } from './routes/index.js';
4
+ export declare class SeamHttpMultiWorkspace {
5
+ client: Client;
6
+ readonly defaults: Required<SeamHttpRequestOptions>;
7
+ constructor(options: SeamHttpMultiWorkspaceOptions);
8
+ static fromClient(client: SeamHttpMultiWorkspaceOptionsWithClient['client'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithClient, 'client'>): SeamHttpMultiWorkspace;
9
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken['consoleSessionToken'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithConsoleSessionToken, 'consoleSessionToken'>): SeamHttpMultiWorkspace;
10
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken['personalAccessToken'], options?: Omit<SeamHttpMultiWorkspaceOptionsWithPersonalAccessToken, 'personalAccessToken'>): SeamHttpMultiWorkspace;
11
+ get workspaces(): Pick<SeamHttpWorkspaces, 'create' | 'list'>;
12
+ }
@@ -0,0 +1,31 @@
1
+ import { type Client } from './client.js';
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, SeamHttpNetworks, SeamHttpNoiseSensors, SeamHttpPhones, SeamHttpThermostats, SeamHttpUserIdentities, SeamHttpWebhooks, SeamHttpWorkspaces } from './routes/index.js';
4
+ export declare class SeamHttp {
5
+ client: Client;
6
+ readonly defaults: Required<SeamHttpRequestOptions>;
7
+ constructor(apiKeyOrOptions?: string | SeamHttpOptions);
8
+ static fromClient(client: SeamHttpOptionsWithClient['client'], options?: Omit<SeamHttpOptionsWithClient, 'client'>): SeamHttp;
9
+ static fromApiKey(apiKey: SeamHttpOptionsWithApiKey['apiKey'], options?: Omit<SeamHttpOptionsWithApiKey, 'apiKey'>): SeamHttp;
10
+ static fromClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken'], options?: Omit<SeamHttpOptionsWithClientSessionToken, 'clientSessionToken'>): SeamHttp;
11
+ static fromPublishableKey(publishableKey: string, userIdentifierKey: string, options?: SeamHttpFromPublishableKeyOptions): Promise<SeamHttp>;
12
+ static fromConsoleSessionToken(consoleSessionToken: SeamHttpOptionsWithConsoleSessionToken['consoleSessionToken'], workspaceId: SeamHttpOptionsWithConsoleSessionToken['workspaceId'], options?: Omit<SeamHttpOptionsWithConsoleSessionToken, 'consoleSessionToken' | 'workspaceId'>): SeamHttp;
13
+ static fromPersonalAccessToken(personalAccessToken: SeamHttpOptionsWithPersonalAccessToken['personalAccessToken'], workspaceId: SeamHttpOptionsWithPersonalAccessToken['workspaceId'], options?: Omit<SeamHttpOptionsWithPersonalAccessToken, 'personalAccessToken' | 'workspaceId'>): SeamHttp;
14
+ updateClientSessionToken(clientSessionToken: SeamHttpOptionsWithClientSessionToken['clientSessionToken']): Promise<void>;
15
+ get accessCodes(): SeamHttpAccessCodes;
16
+ get acs(): SeamHttpAcs;
17
+ get actionAttempts(): SeamHttpActionAttempts;
18
+ get clientSessions(): SeamHttpClientSessions;
19
+ get connectedAccounts(): SeamHttpConnectedAccounts;
20
+ get connectWebviews(): SeamHttpConnectWebviews;
21
+ get devices(): SeamHttpDevices;
22
+ get events(): SeamHttpEvents;
23
+ get locks(): SeamHttpLocks;
24
+ get networks(): SeamHttpNetworks;
25
+ get noiseSensors(): SeamHttpNoiseSensors;
26
+ get phones(): SeamHttpPhones;
27
+ get thermostats(): SeamHttpThermostats;
28
+ get userIdentities(): SeamHttpUserIdentities;
29
+ get webhooks(): SeamHttpWebhooks;
30
+ get workspaces(): Omit<SeamHttpWorkspaces, 'create'>;
31
+ }
@@ -0,0 +1,13 @@
1
+ export declare const tokenPrefix = "seam_";
2
+ export declare const accessTokenPrefix = "seam_at";
3
+ export declare const jwtPrefix = "ey";
4
+ export declare const clientSessionTokenPrefix = "seam_cst";
5
+ export declare const publishableKeyTokenPrefix = "seam_pk";
6
+ export declare const isAccessToken: (token: string) => boolean;
7
+ export declare const isJwt: (token: string) => boolean;
8
+ export declare const isSeamToken: (token: string) => boolean;
9
+ export declare const isApiKey: (token: string) => boolean;
10
+ export declare const isClientSessionToken: (token: string) => boolean;
11
+ export declare const isPublishableKey: (token: string) => boolean;
12
+ export declare const isConsoleSessionToken: (token: string) => boolean;
13
+ export declare const isPersonalAccessToken: (token: string) => boolean;
@@ -0,0 +1,2 @@
1
+ declare const seamapiJavascriptHttpVersion = "0.18.1";
2
+ export default seamapiJavascriptHttpVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiJavascriptHttpVersion = '0.18.0';
1
+ const seamapiJavascriptHttpVersion = '0.18.1';
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": "0.18.0",
3
+ "version": "0.18.1",
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": ">= 9.0.0"
85
85
  },
86
86
  "peerDependencies": {
87
- "@seamapi/types": "^1.111.0",
87
+ "@seamapi/types": "^1.113.2",
88
88
  "type-fest": "^4.0.0"
89
89
  },
90
90
  "peerDependenciesMeta": {
@@ -103,7 +103,7 @@
103
103
  },
104
104
  "devDependencies": {
105
105
  "@seamapi/fake-seam-connect": "^1.44.2",
106
- "@seamapi/types": "^1.111.0",
106
+ "@seamapi/types": "^1.113.2",
107
107
  "@types/eslint": "^8.44.2",
108
108
  "@types/node": "^20.8.10",
109
109
  "ava": "^5.0.1",
@@ -1,3 +1,3 @@
1
- const seamapiJavascriptHttpVersion = '0.18.0'
1
+ const seamapiJavascriptHttpVersion = '0.18.1'
2
2
 
3
3
  export default seamapiJavascriptHttpVersion