diff --git a/package-lock.json b/package-lock.json index de265d98..6cfcf1b6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@seamapi/blueprint": "^0.52.2", "@seamapi/fake-seam-connect": "^1.77.0", "@seamapi/smith": "^0.5.2", - "@seamapi/types": "1.764.0", + "@seamapi/types": "1.768.1", "@swc/core": "^1.11.29", "@types/jsonwebtoken": "^9.0.6", "@types/node": "^24.10.9", @@ -49,7 +49,7 @@ "npm": ">=10.9.4" }, "peerDependencies": { - "@seamapi/types": "^1.764.0" + "@seamapi/types": "^1.768.1" }, "peerDependenciesMeta": { "@seamapi/types": { @@ -1405,9 +1405,9 @@ "license": "MIT" }, "node_modules/@seamapi/types": { - "version": "1.764.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.764.0.tgz", - "integrity": "sha512-8DYH3xqnGanW0xUSKut60Vne0BCG0cZ+rI6B1DaTv/2fQ2lLQ50eLGfmvbe5WL8JVQAtuC3JK4IHclvH/vJAOw==", + "version": "1.768.1", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.768.1.tgz", + "integrity": "sha512-BBYgxv+gaE0rz2iekFB5tYm3VzQ8o/xEGbsZy0AXg/FpVtsTxT2f0481XEh6a7UXEJYYEtHZvA7/bXJyXymcnA==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index 681c29e0..f6d767e7 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "npm": ">=10.9.4" }, "peerDependencies": { - "@seamapi/types": "^1.764.0" + "@seamapi/types": "^1.768.1" }, "peerDependenciesMeta": { "@seamapi/types": { @@ -102,7 +102,7 @@ "@seamapi/blueprint": "^0.52.2", "@seamapi/fake-seam-connect": "^1.77.0", "@seamapi/smith": "^0.5.2", - "@seamapi/types": "1.764.0", + "@seamapi/types": "1.768.1", "@swc/core": "^1.11.29", "@types/jsonwebtoken": "^9.0.6", "@types/node": "^24.10.9", diff --git a/src/lib/seam/connect/routes/access-codes/access-codes.ts b/src/lib/seam/connect/routes/access-codes/access-codes.ts index 92dbd2e7..d532118b 100644 --- a/src/lib/seam/connect/routes/access-codes/access-codes.ts +++ b/src/lib/seam/connect/routes/access-codes/access-codes.ts @@ -243,6 +243,11 @@ export class SeamHttpAccessCodes { parameters?: AccessCodesGetTimelineParameters, options: AccessCodesGetTimelineOptions = {}, ): AccessCodesGetTimelineRequest { + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return new SeamHttpRequest(this, { pathname: '/access_codes/get_timeline', method: 'POST', diff --git a/src/lib/seam/connect/routes/customers/reservations/reservations.ts b/src/lib/seam/connect/routes/customers/reservations/reservations.ts index 933e1720..b8d0b567 100644 --- a/src/lib/seam/connect/routes/customers/reservations/reservations.ts +++ b/src/lib/seam/connect/routes/customers/reservations/reservations.ts @@ -44,6 +44,11 @@ export class SeamHttpCustomersReservations { constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) { const options = parseOptions(apiKeyOrOptions) + if (!options.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } this.client = 'client' in options ? options.client : createClient(options) this.defaults = limitToSeamHttpRequestOptions(options) } @@ -167,6 +172,11 @@ export class SeamHttpCustomersReservations { parameters?: CustomersReservationsCreateDeepLinkParameters, options: CustomersReservationsCreateDeepLinkOptions = {}, ): CustomersReservationsCreateDeepLinkRequest { + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return new SeamHttpRequest(this, { pathname: '/customers/reservations/create_deep_link', method: 'POST', diff --git a/src/lib/seam/connect/routes/locks/locks.ts b/src/lib/seam/connect/routes/locks/locks.ts index 3380dd04..dc1b23a5 100644 --- a/src/lib/seam/connect/routes/locks/locks.ts +++ b/src/lib/seam/connect/routes/locks/locks.ts @@ -169,6 +169,19 @@ export class SeamHttpLocks { return SeamHttpLocksSimulate.fromClient(this.client, this.defaults) } + configureAutoLock( + parameters?: LocksConfigureAutoLockParameters, + options: LocksConfigureAutoLockOptions = {}, + ): LocksConfigureAutoLockRequest { + return new SeamHttpRequest(this, { + pathname: '/locks/configure_auto_lock', + method: 'POST', + body: parameters, + responseKey: 'action_attempt', + options, + }) + } + get( parameters?: LocksGetParameters, options: LocksGetOptions = {}, @@ -222,6 +235,31 @@ export class SeamHttpLocks { } } +export type LocksConfigureAutoLockParameters = + RouteRequestBody<'/locks/configure_auto_lock'> + +/** + * @deprecated Use LocksConfigureAutoLockParameters instead. + */ +export type LocksConfigureAutoLockBody = LocksConfigureAutoLockParameters + +/** + * @deprecated Use LocksConfigureAutoLockRequest instead. + */ +export type LocksConfigureAutoLockResponse = SetNonNullable< + Required> +> + +export type LocksConfigureAutoLockRequest = SeamHttpRequest< + LocksConfigureAutoLockResponse, + 'action_attempt' +> + +export type LocksConfigureAutoLockOptions = Pick< + SeamHttpRequestOptions, + 'waitForActionAttempt' +> + export type LocksGetParameters = RouteRequestBody<'/locks/get'> /** diff --git a/src/lib/seam/connect/routes/seam-http-endpoints.ts b/src/lib/seam/connect/routes/seam-http-endpoints.ts index 66e865ba..db4bfb1f 100644 --- a/src/lib/seam/connect/routes/seam-http-endpoints.ts +++ b/src/lib/seam/connect/routes/seam-http-endpoints.ts @@ -522,6 +522,9 @@ import { SeamHttpInstantKeys, } from './instant-keys/index.js' import { + type LocksConfigureAutoLockOptions, + type LocksConfigureAutoLockParameters, + type LocksConfigureAutoLockRequest, type LocksGetOptions, type LocksGetParameters, type LocksGetRequest, @@ -1223,6 +1226,11 @@ export class SeamHttpEndpoints { options?: AccessCodesGetTimelineOptions, ) => AccessCodesGetTimelineRequest { const { client, defaults } = this + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return function accessCodesGetTimeline( ...args: Parameters ): ReturnType { @@ -2669,6 +2677,11 @@ export class SeamHttpEndpoints { options?: CustomersReservationsCreateDeepLinkOptions, ) => CustomersReservationsCreateDeepLinkRequest { const { client, defaults } = this + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return function customersReservationsCreateDeepLink( ...args: Parameters ): ReturnType { @@ -2942,6 +2955,19 @@ export class SeamHttpEndpoints { } } + get '/locks/configure_auto_lock'(): ( + parameters?: LocksConfigureAutoLockParameters, + options?: LocksConfigureAutoLockOptions, + ) => LocksConfigureAutoLockRequest { + const { client, defaults } = this + return function locksConfigureAutoLock( + ...args: Parameters + ): ReturnType { + const seam = SeamHttpLocks.fromClient(client, defaults) + return seam.configureAutoLock(...args) + } + } + get '/locks/get'(): ( parameters?: LocksGetParameters, options?: LocksGetOptions, @@ -3513,6 +3539,11 @@ export class SeamHttpEndpoints { options?: SeamCustomerV1CustomersAutomationsGetOptions, ) => SeamCustomerV1CustomersAutomationsGetRequest { const { client, defaults } = this + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return function seamCustomerV1CustomersAutomationsGet( ...args: Parameters ): ReturnType { @@ -3529,6 +3560,11 @@ export class SeamHttpEndpoints { options?: SeamCustomerV1CustomersAutomationsUpdateOptions, ) => SeamCustomerV1CustomersAutomationsUpdateRequest { const { client, defaults } = this + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return function seamCustomerV1CustomersAutomationsUpdate( ...args: Parameters ): ReturnType { @@ -3563,6 +3599,11 @@ export class SeamHttpEndpoints { options?: SeamCustomerV1CustomersMeOptions, ) => SeamCustomerV1CustomersMeRequest { const { client, defaults } = this + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return function seamCustomerV1CustomersMe( ...args: Parameters ): ReturnType { @@ -3829,6 +3870,11 @@ export class SeamHttpEndpoints { options?: SeamCustomerV1SpacesPushCommonAreasOptions, ) => SeamCustomerV1SpacesPushCommonAreasRequest { const { client, defaults } = this + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return function seamCustomerV1SpacesPushCommonAreas( ...args: Parameters ): ReturnType { @@ -5211,6 +5257,7 @@ export type SeamHttpEndpointMutationPaths = | '/devices/simulate/remove' | '/devices/unmanaged/update' | '/instant_keys/delete' + | '/locks/configure_auto_lock' | '/locks/lock_door' | '/locks/unlock_door' | '/locks/simulate/keypad_code_entry' diff --git a/src/lib/seam/connect/routes/seam/customer/v1/customers/automations/automations.ts b/src/lib/seam/connect/routes/seam/customer/v1/customers/automations/automations.ts index 19929b9a..385d55e4 100644 --- a/src/lib/seam/connect/routes/seam/customer/v1/customers/automations/automations.ts +++ b/src/lib/seam/connect/routes/seam/customer/v1/customers/automations/automations.ts @@ -48,6 +48,11 @@ export class SeamHttpSeamCustomerV1CustomersAutomations { constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) { const options = parseOptions(apiKeyOrOptions) + if (!options.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } this.client = 'client' in options ? options.client : createClient(options) this.defaults = limitToSeamHttpRequestOptions(options) } @@ -174,6 +179,11 @@ export class SeamHttpSeamCustomerV1CustomersAutomations { parameters?: SeamCustomerV1CustomersAutomationsGetParameters, options: SeamCustomerV1CustomersAutomationsGetOptions = {}, ): SeamCustomerV1CustomersAutomationsGetRequest { + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return new SeamHttpRequest(this, { pathname: '/seam/customer/v1/customers/automations/get', method: 'GET', @@ -187,6 +197,11 @@ export class SeamHttpSeamCustomerV1CustomersAutomations { parameters?: SeamCustomerV1CustomersAutomationsUpdateParameters, options: SeamCustomerV1CustomersAutomationsUpdateOptions = {}, ): SeamCustomerV1CustomersAutomationsUpdateRequest { + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return new SeamHttpRequest(this, { pathname: '/seam/customer/v1/customers/automations/update', method: 'PATCH', diff --git a/src/lib/seam/connect/routes/seam/customer/v1/customers/customers.ts b/src/lib/seam/connect/routes/seam/customer/v1/customers/customers.ts index 1134be7e..21c7aa5e 100644 --- a/src/lib/seam/connect/routes/seam/customer/v1/customers/customers.ts +++ b/src/lib/seam/connect/routes/seam/customer/v1/customers/customers.ts @@ -50,6 +50,11 @@ export class SeamHttpSeamCustomerV1Customers { constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) { const options = parseOptions(apiKeyOrOptions) + if (!options.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } this.client = 'client' in options ? options.client : createClient(options) this.defaults = limitToSeamHttpRequestOptions(options) } @@ -201,6 +206,11 @@ export class SeamHttpSeamCustomerV1Customers { parameters?: SeamCustomerV1CustomersMeParameters, options: SeamCustomerV1CustomersMeOptions = {}, ): SeamCustomerV1CustomersMeRequest { + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return new SeamHttpRequest(this, { pathname: '/seam/customer/v1/customers/me', method: 'GET', diff --git a/src/lib/seam/connect/routes/seam/customer/v1/spaces/spaces.ts b/src/lib/seam/connect/routes/seam/customer/v1/spaces/spaces.ts index 1d314c0f..85373764 100644 --- a/src/lib/seam/connect/routes/seam/customer/v1/spaces/spaces.ts +++ b/src/lib/seam/connect/routes/seam/customer/v1/spaces/spaces.ts @@ -44,6 +44,11 @@ export class SeamHttpSeamCustomerV1Spaces { constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) { const options = parseOptions(apiKeyOrOptions) + if (!options.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } this.client = 'client' in options ? options.client : createClient(options) this.defaults = limitToSeamHttpRequestOptions(options) } @@ -221,6 +226,11 @@ export class SeamHttpSeamCustomerV1Spaces { parameters?: SeamCustomerV1SpacesPushCommonAreasParameters, options: SeamCustomerV1SpacesPushCommonAreasOptions = {}, ): SeamCustomerV1SpacesPushCommonAreasRequest { + if (!this.defaults.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } return new SeamHttpRequest(this, { pathname: '/seam/customer/v1/spaces/push_common_areas', method: 'POST', diff --git a/src/lib/seam/connect/routes/seam/customer/v1/v1.ts b/src/lib/seam/connect/routes/seam/customer/v1/v1.ts index 6a29bc20..1ae1f396 100644 --- a/src/lib/seam/connect/routes/seam/customer/v1/v1.ts +++ b/src/lib/seam/connect/routes/seam/customer/v1/v1.ts @@ -56,6 +56,11 @@ export class SeamHttpSeamCustomerV1 { constructor(apiKeyOrOptions: string | SeamHttpOptions = {}) { const options = parseOptions(apiKeyOrOptions) + if (!options.isUndocumentedApiEnabled) { + throw new Error( + 'Cannot use undocumented API without isUndocumentedApiEnabled', + ) + } this.client = 'client' in options ? options.client : createClient(options) this.defaults = limitToSeamHttpRequestOptions(options) }