@lusor/sdk 0.0.0-stage → 1.0.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.
- package/CHANGELOG.md +27 -0
- package/LICENSE +21 -0
- package/LICENSE-APACHE-2.0.txt +177 -0
- package/README.md +108 -2
- package/THIRD_PARTY_NOTICES.md +21 -0
- package/dist/BaseClient.d.ts +54 -0
- package/dist/BaseClient.js +43 -0
- package/dist/Client.d.ts +68 -0
- package/dist/Client.js +105 -0
- package/dist/api/errors/BadGatewayError.d.ts +7 -0
- package/dist/api/errors/BadGatewayError.js +17 -0
- package/dist/api/errors/BadRequestError.d.ts +5 -0
- package/dist/api/errors/BadRequestError.js +17 -0
- package/dist/api/errors/ConflictError.d.ts +7 -0
- package/dist/api/errors/ConflictError.js +17 -0
- package/dist/api/errors/ForbiddenError.d.ts +7 -0
- package/dist/api/errors/ForbiddenError.js +17 -0
- package/dist/api/errors/GatewayTimeoutError.d.ts +7 -0
- package/dist/api/errors/GatewayTimeoutError.js +17 -0
- package/dist/api/errors/GoneError.d.ts +5 -0
- package/dist/api/errors/GoneError.js +17 -0
- package/dist/api/errors/InternalServerError.d.ts +7 -0
- package/dist/api/errors/InternalServerError.js +17 -0
- package/dist/api/errors/NotFoundError.d.ts +7 -0
- package/dist/api/errors/NotFoundError.js +17 -0
- package/dist/api/errors/PaymentRequiredError.d.ts +7 -0
- package/dist/api/errors/PaymentRequiredError.js +17 -0
- package/dist/api/errors/PreconditionFailedError.d.ts +7 -0
- package/dist/api/errors/PreconditionFailedError.js +17 -0
- package/dist/api/errors/ServiceUnavailableError.d.ts +7 -0
- package/dist/api/errors/ServiceUnavailableError.js +17 -0
- package/dist/api/errors/TooManyRequestsError.d.ts +7 -0
- package/dist/api/errors/TooManyRequestsError.js +17 -0
- package/dist/api/errors/UnauthorizedError.d.ts +7 -0
- package/dist/api/errors/UnauthorizedError.js +17 -0
- package/dist/api/errors/UnprocessableEntityError.d.ts +7 -0
- package/dist/api/errors/UnprocessableEntityError.js +17 -0
- package/dist/api/errors/index.d.ts +14 -0
- package/dist/api/errors/index.js +14 -0
- package/dist/api/index.d.ts +3 -0
- package/dist/api/index.js +3 -0
- package/dist/api/resources/agents/client/Client.d.ts +209 -0
- package/dist/api/resources/agents/client/Client.js +596 -0
- package/dist/api/resources/agents/client/index.d.ts +1 -0
- package/dist/api/resources/agents/client/index.js +1 -0
- package/dist/api/resources/agents/client/requests/ArchiveAgentsRequest.d.ts +13 -0
- package/dist/api/resources/agents/client/requests/ArchiveAgentsRequest.js +2 -0
- package/dist/api/resources/agents/client/requests/CreateAgentInput.d.ts +53 -0
- package/dist/api/resources/agents/client/requests/CreateAgentInput.js +2 -0
- package/dist/api/resources/agents/client/requests/GetAgentsRequest.d.ts +16 -0
- package/dist/api/resources/agents/client/requests/GetAgentsRequest.js +2 -0
- package/dist/api/resources/agents/client/requests/ListAgentsRequest.d.ts +16 -0
- package/dist/api/resources/agents/client/requests/ListAgentsRequest.js +2 -0
- package/dist/api/resources/agents/client/requests/ListArchivedAgentsRequest.d.ts +12 -0
- package/dist/api/resources/agents/client/requests/ListArchivedAgentsRequest.js +2 -0
- package/dist/api/resources/agents/client/requests/RestoreAgentsRequest.d.ts +13 -0
- package/dist/api/resources/agents/client/requests/RestoreAgentsRequest.js +2 -0
- package/dist/api/resources/agents/client/requests/RetargetQueueAgentsRequest.d.ts +13 -0
- package/dist/api/resources/agents/client/requests/RetargetQueueAgentsRequest.js +2 -0
- package/dist/api/resources/agents/client/requests/UpdateAgentInput.d.ts +30 -0
- package/dist/api/resources/agents/client/requests/UpdateAgentInput.js +2 -0
- package/dist/api/resources/agents/client/requests/index.d.ts +8 -0
- package/dist/api/resources/agents/client/requests/index.js +1 -0
- package/dist/api/resources/agents/exports.d.ts +3 -0
- package/dist/api/resources/agents/exports.js +4 -0
- package/dist/api/resources/agents/index.d.ts +3 -0
- package/dist/api/resources/agents/index.js +3 -0
- package/dist/api/resources/agents/resources/index.d.ts +3 -0
- package/dist/api/resources/agents/resources/index.js +3 -0
- package/dist/api/resources/agents/resources/turns/client/Client.d.ts +100 -0
- package/dist/api/resources/agents/resources/turns/client/Client.js +240 -0
- package/dist/api/resources/agents/resources/turns/client/index.d.ts +1 -0
- package/dist/api/resources/agents/resources/turns/client/index.js +1 -0
- package/dist/api/resources/agents/resources/turns/client/requests/CancelTurnsRequest.d.ts +16 -0
- package/dist/api/resources/agents/resources/turns/client/requests/CancelTurnsRequest.js +2 -0
- package/dist/api/resources/agents/resources/turns/client/requests/CreateAgentTurnInput.d.ts +23 -0
- package/dist/api/resources/agents/resources/turns/client/requests/CreateAgentTurnInput.js +2 -0
- package/dist/api/resources/agents/resources/turns/client/requests/ListTurnsRequest.d.ts +20 -0
- package/dist/api/resources/agents/resources/turns/client/requests/ListTurnsRequest.js +2 -0
- package/dist/api/resources/agents/resources/turns/client/requests/index.d.ts +3 -0
- package/dist/api/resources/agents/resources/turns/client/requests/index.js +1 -0
- package/dist/api/resources/agents/resources/turns/exports.d.ts +2 -0
- package/dist/api/resources/agents/resources/turns/exports.js +3 -0
- package/dist/api/resources/agents/resources/turns/index.d.ts +2 -0
- package/dist/api/resources/agents/resources/turns/index.js +2 -0
- package/dist/api/resources/agents/resources/turns/types/CancelTurnsResponse.d.ts +14 -0
- package/dist/api/resources/agents/resources/turns/types/CancelTurnsResponse.js +2 -0
- package/dist/api/resources/agents/resources/turns/types/index.d.ts +1 -0
- package/dist/api/resources/agents/resources/turns/types/index.js +1 -0
- package/dist/api/resources/agents/types/RetargetQueueAgentsResponse.d.ts +4 -0
- package/dist/api/resources/agents/types/RetargetQueueAgentsResponse.js +2 -0
- package/dist/api/resources/agents/types/index.d.ts +1 -0
- package/dist/api/resources/agents/types/index.js +1 -0
- package/dist/api/resources/appInstalls/client/Client.d.ts +216 -0
- package/dist/api/resources/appInstalls/client/Client.js +591 -0
- package/dist/api/resources/appInstalls/client/index.d.ts +1 -0
- package/dist/api/resources/appInstalls/client/index.js +1 -0
- package/dist/api/resources/appInstalls/client/requests/AppInstallBatchInput.d.ts +16 -0
- package/dist/api/resources/appInstalls/client/requests/AppInstallBatchInput.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/AppStoreInstallInput.d.ts +21 -0
- package/dist/api/resources/appInstalls/client/requests/AppStoreInstallInput.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/CancelBatchAppInstallsRequest.d.ts +15 -0
- package/dist/api/resources/appInstalls/client/requests/CancelBatchAppInstallsRequest.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/CreateAppInstallsRequest.d.ts +19 -0
- package/dist/api/resources/appInstalls/client/requests/CreateAppInstallsRequest.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/EventsAppInstallsRequest.d.ts +13 -0
- package/dist/api/resources/appInstalls/client/requests/EventsAppInstallsRequest.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/GetActiveBatchAppInstallsRequest.d.ts +13 -0
- package/dist/api/resources/appInstalls/client/requests/GetActiveBatchAppInstallsRequest.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/ListAppInstallsRequest.d.ts +15 -0
- package/dist/api/resources/appInstalls/client/requests/ListAppInstallsRequest.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/UninstallAppInstallsRequest.d.ts +15 -0
- package/dist/api/resources/appInstalls/client/requests/UninstallAppInstallsRequest.js +2 -0
- package/dist/api/resources/appInstalls/client/requests/index.d.ts +8 -0
- package/dist/api/resources/appInstalls/client/requests/index.js +1 -0
- package/dist/api/resources/appInstalls/exports.d.ts +2 -0
- package/dist/api/resources/appInstalls/exports.js +3 -0
- package/dist/api/resources/appInstalls/index.d.ts +2 -0
- package/dist/api/resources/appInstalls/index.js +2 -0
- package/dist/api/resources/appInstalls/types/CancelBatchAppInstallsResponse.d.ts +3 -0
- package/dist/api/resources/appInstalls/types/CancelBatchAppInstallsResponse.js +2 -0
- package/dist/api/resources/appInstalls/types/CreateAppInstallsResponse.d.ts +4 -0
- package/dist/api/resources/appInstalls/types/CreateAppInstallsResponse.js +2 -0
- package/dist/api/resources/appInstalls/types/ListAppInstallsResponse.d.ts +4 -0
- package/dist/api/resources/appInstalls/types/ListAppInstallsResponse.js +2 -0
- package/dist/api/resources/appInstalls/types/UninstallAppInstallsResponse.d.ts +4 -0
- package/dist/api/resources/appInstalls/types/UninstallAppInstallsResponse.js +2 -0
- package/dist/api/resources/appInstalls/types/index.d.ts +4 -0
- package/dist/api/resources/appInstalls/types/index.js +4 -0
- package/dist/api/resources/catalog/client/Client.d.ts +46 -0
- package/dist/api/resources/catalog/client/Client.js +144 -0
- package/dist/api/resources/catalog/client/index.d.ts +1 -0
- package/dist/api/resources/catalog/client/index.js +1 -0
- package/dist/api/resources/catalog/client/requests/GetAppIconCatalogRequest.d.ts +16 -0
- package/dist/api/resources/catalog/client/requests/GetAppIconCatalogRequest.js +2 -0
- package/dist/api/resources/catalog/client/requests/ListAppsCatalogRequest.d.ts +12 -0
- package/dist/api/resources/catalog/client/requests/ListAppsCatalogRequest.js +2 -0
- package/dist/api/resources/catalog/client/requests/index.d.ts +2 -0
- package/dist/api/resources/catalog/client/requests/index.js +1 -0
- package/dist/api/resources/catalog/exports.d.ts +2 -0
- package/dist/api/resources/catalog/exports.js +3 -0
- package/dist/api/resources/catalog/index.d.ts +2 -0
- package/dist/api/resources/catalog/index.js +2 -0
- package/dist/api/resources/catalog/types/ListAppsCatalogResponse.d.ts +4 -0
- package/dist/api/resources/catalog/types/ListAppsCatalogResponse.js +2 -0
- package/dist/api/resources/catalog/types/index.d.ts +1 -0
- package/dist/api/resources/catalog/types/index.js +1 -0
- package/dist/api/resources/datasets/client/Client.d.ts +109 -0
- package/dist/api/resources/datasets/client/Client.js +303 -0
- package/dist/api/resources/datasets/client/index.d.ts +1 -0
- package/dist/api/resources/datasets/client/index.js +1 -0
- package/dist/api/resources/datasets/client/requests/DeleteDatasetsRequest.d.ts +10 -0
- package/dist/api/resources/datasets/client/requests/DeleteDatasetsRequest.js +2 -0
- package/dist/api/resources/datasets/client/requests/GetDatasetsRequest.d.ts +10 -0
- package/dist/api/resources/datasets/client/requests/GetDatasetsRequest.js +2 -0
- package/dist/api/resources/datasets/client/requests/PromoteDatasetInput.d.ts +13 -0
- package/dist/api/resources/datasets/client/requests/PromoteDatasetInput.js +2 -0
- package/dist/api/resources/datasets/client/requests/UpdateDatasetInput.d.ts +13 -0
- package/dist/api/resources/datasets/client/requests/UpdateDatasetInput.js +2 -0
- package/dist/api/resources/datasets/client/requests/index.d.ts +4 -0
- package/dist/api/resources/datasets/client/requests/index.js +1 -0
- package/dist/api/resources/datasets/exports.d.ts +2 -0
- package/dist/api/resources/datasets/exports.js +3 -0
- package/dist/api/resources/datasets/index.d.ts +1 -0
- package/dist/api/resources/datasets/index.js +1 -0
- package/dist/api/resources/devices/client/Client.d.ts +979 -0
- package/dist/api/resources/devices/client/Client.js +2576 -0
- package/dist/api/resources/devices/client/index.d.ts +1 -0
- package/dist/api/resources/devices/client/index.js +1 -0
- package/dist/api/resources/devices/client/requests/BackDevicesRequest.d.ts +46 -0
- package/dist/api/resources/devices/client/requests/BackDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ChainRequest.d.ts +50 -0
- package/dist/api/resources/devices/client/requests/ChainRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ClearDevicesRequest.d.ts +46 -0
- package/dist/api/resources/devices/client/requests/ClearDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ClearGeoDevicesRequest.d.ts +39 -0
- package/dist/api/resources/devices/client/requests/ClearGeoDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/DeployDevicesRequest.d.ts +15 -0
- package/dist/api/resources/devices/client/requests/DeployDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/DeviceDeployPreviewInput.d.ts +41 -0
- package/dist/api/resources/devices/client/requests/DeviceDeployPreviewInput.js +13 -0
- package/dist/api/resources/devices/client/requests/DeviceGeoInput.d.ts +48 -0
- package/dist/api/resources/devices/client/requests/DeviceGeoInput.js +2 -0
- package/dist/api/resources/devices/client/requests/DeviceLanguageInput.d.ts +44 -0
- package/dist/api/resources/devices/client/requests/DeviceLanguageInput.js +2 -0
- package/dist/api/resources/devices/client/requests/GetAdvertisingIdDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/GetAdvertisingIdDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/GetGeoDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/GetGeoDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/GetIdentityDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/GetIdentityDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/GetInternetLocationDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/GetInternetLocationDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/GetLanguageDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/GetLanguageDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/GetResetDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/GetResetDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/GetStaticIpDevicesRequest.d.ts +15 -0
- package/dist/api/resources/devices/client/requests/GetStaticIpDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/HomeDevicesRequest.d.ts +46 -0
- package/dist/api/resources/devices/client/requests/HomeDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/KeyInput.d.ts +47 -0
- package/dist/api/resources/devices/client/requests/KeyInput.js +2 -0
- package/dist/api/resources/devices/client/requests/ListDevicesRequest.d.ts +12 -0
- package/dist/api/resources/devices/client/requests/ListDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ListInWorkspaceDevicesRequest.d.ts +10 -0
- package/dist/api/resources/devices/client/requests/ListInWorkspaceDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ListInternetLocationsRequest.d.ts +10 -0
- package/dist/api/resources/devices/client/requests/ListInternetLocationsRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/OccupancyDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/OccupancyDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/PreviewRemoveDevicesRequest.d.ts +17 -0
- package/dist/api/resources/devices/client/requests/PreviewRemoveDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/RecentDevicesRequest.d.ts +46 -0
- package/dist/api/resources/devices/client/requests/RecentDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/RemoveDevicesRequest.d.ts +18 -0
- package/dist/api/resources/devices/client/requests/RemoveDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ResetAdvertisingIdDevicesRequest.d.ts +39 -0
- package/dist/api/resources/devices/client/requests/ResetAdvertisingIdDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ScreenshotDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/ScreenshotDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/SetIdentityDevicesRequest.d.ts +42 -0
- package/dist/api/resources/devices/client/requests/SetIdentityDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/ShellInput.d.ts +45 -0
- package/dist/api/resources/devices/client/requests/ShellInput.js +2 -0
- package/dist/api/resources/devices/client/requests/StartAppInput.d.ts +58 -0
- package/dist/api/resources/devices/client/requests/StartAppInput.js +2 -0
- package/dist/api/resources/devices/client/requests/StateDevicesRequest.d.ts +13 -0
- package/dist/api/resources/devices/client/requests/StateDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/StopAppInput.d.ts +51 -0
- package/dist/api/resources/devices/client/requests/StopAppInput.js +2 -0
- package/dist/api/resources/devices/client/requests/SwipeInput.d.ts +61 -0
- package/dist/api/resources/devices/client/requests/SwipeInput.js +2 -0
- package/dist/api/resources/devices/client/requests/TakeScreenshotDevicesRequest.d.ts +46 -0
- package/dist/api/resources/devices/client/requests/TakeScreenshotDevicesRequest.js +2 -0
- package/dist/api/resources/devices/client/requests/TapInput.d.ts +58 -0
- package/dist/api/resources/devices/client/requests/TapInput.js +2 -0
- package/dist/api/resources/devices/client/requests/TypeTextInput.d.ts +60 -0
- package/dist/api/resources/devices/client/requests/TypeTextInput.js +2 -0
- package/dist/api/resources/devices/client/requests/index.d.ts +35 -0
- package/dist/api/resources/devices/client/requests/index.js +1 -0
- package/dist/api/resources/devices/exports.d.ts +3 -0
- package/dist/api/resources/devices/exports.js +4 -0
- package/dist/api/resources/devices/index.d.ts +3 -0
- package/dist/api/resources/devices/index.js +3 -0
- package/dist/api/resources/devices/resources/index.d.ts +3 -0
- package/dist/api/resources/devices/resources/index.js +3 -0
- package/dist/api/resources/devices/resources/sessions/client/Client.d.ts +62 -0
- package/dist/api/resources/devices/resources/sessions/client/Client.js +162 -0
- package/dist/api/resources/devices/resources/sessions/client/index.d.ts +1 -0
- package/dist/api/resources/devices/resources/sessions/client/index.js +1 -0
- package/dist/api/resources/devices/resources/sessions/client/requests/CreateSessionInput.d.ts +57 -0
- package/dist/api/resources/devices/resources/sessions/client/requests/CreateSessionInput.js +2 -0
- package/dist/api/resources/devices/resources/sessions/client/requests/ListSessionsRequest.d.ts +16 -0
- package/dist/api/resources/devices/resources/sessions/client/requests/ListSessionsRequest.js +2 -0
- package/dist/api/resources/devices/resources/sessions/client/requests/index.d.ts +2 -0
- package/dist/api/resources/devices/resources/sessions/client/requests/index.js +1 -0
- package/dist/api/resources/devices/resources/sessions/exports.d.ts +2 -0
- package/dist/api/resources/devices/resources/sessions/exports.js +3 -0
- package/dist/api/resources/devices/resources/sessions/index.d.ts +2 -0
- package/dist/api/resources/devices/resources/sessions/index.js +2 -0
- package/dist/api/resources/devices/resources/sessions/types/ListSessionsResponse.d.ts +4 -0
- package/dist/api/resources/devices/resources/sessions/types/ListSessionsResponse.js +2 -0
- package/dist/api/resources/devices/resources/sessions/types/index.d.ts +1 -0
- package/dist/api/resources/devices/resources/sessions/types/index.js +1 -0
- package/dist/api/resources/devices/types/ClearGeoDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/ClearGeoDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/DeployDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/DeployDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/GetAdvertisingIdDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/GetAdvertisingIdDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/GetGeoDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/GetGeoDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/GetIdentityDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/GetIdentityDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/GetInternetLocationDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/GetInternetLocationDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/GetLanguageDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/GetLanguageDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/GetResetDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/GetResetDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/GetStaticIpDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/GetStaticIpDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/ListDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/ListDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/ListInWorkspaceDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/ListInWorkspaceDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/ListInternetLocationsResponse.d.ts +9 -0
- package/dist/api/resources/devices/types/ListInternetLocationsResponse.js +2 -0
- package/dist/api/resources/devices/types/OccupancyDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/OccupancyDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/PreviewDeployDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/PreviewDeployDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/PreviewRemoveDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/PreviewRemoveDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/RemoveDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/RemoveDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/ResetAdvertisingIdDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/ResetAdvertisingIdDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/SetGeoDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/SetGeoDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/SetIdentityDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/SetIdentityDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/SetLanguageDevicesResponse.d.ts +4 -0
- package/dist/api/resources/devices/types/SetLanguageDevicesResponse.js +2 -0
- package/dist/api/resources/devices/types/index.d.ts +20 -0
- package/dist/api/resources/devices/types/index.js +20 -0
- package/dist/api/resources/emails/client/Client.d.ts +212 -0
- package/dist/api/resources/emails/client/Client.js +537 -0
- package/dist/api/resources/emails/client/index.d.ts +1 -0
- package/dist/api/resources/emails/client/index.js +1 -0
- package/dist/api/resources/emails/client/requests/EmailAddressAddInput.d.ts +16 -0
- package/dist/api/resources/emails/client/requests/EmailAddressAddInput.js +2 -0
- package/dist/api/resources/emails/client/requests/ListAddressesEmailsRequest.d.ts +12 -0
- package/dist/api/resources/emails/client/requests/ListAddressesEmailsRequest.js +2 -0
- package/dist/api/resources/emails/client/requests/ListMessagesEmailsRequest.d.ts +20 -0
- package/dist/api/resources/emails/client/requests/ListMessagesEmailsRequest.js +2 -0
- package/dist/api/resources/emails/client/requests/PreviewAddAddressEmailsRequest.d.ts +17 -0
- package/dist/api/resources/emails/client/requests/PreviewAddAddressEmailsRequest.js +2 -0
- package/dist/api/resources/emails/client/requests/PreviewRemoveAddressEmailsRequest.d.ts +20 -0
- package/dist/api/resources/emails/client/requests/PreviewRemoveAddressEmailsRequest.js +2 -0
- package/dist/api/resources/emails/client/requests/RemoveAddressEmailsRequest.d.ts +21 -0
- package/dist/api/resources/emails/client/requests/RemoveAddressEmailsRequest.js +2 -0
- package/dist/api/resources/emails/client/requests/index.d.ts +6 -0
- package/dist/api/resources/emails/client/requests/index.js +1 -0
- package/dist/api/resources/emails/exports.d.ts +2 -0
- package/dist/api/resources/emails/exports.js +3 -0
- package/dist/api/resources/emails/index.d.ts +2 -0
- package/dist/api/resources/emails/index.js +2 -0
- package/dist/api/resources/emails/types/AddAddressEmailsResponse.d.ts +4 -0
- package/dist/api/resources/emails/types/AddAddressEmailsResponse.js +2 -0
- package/dist/api/resources/emails/types/PreviewAddAddressEmailsResponse.d.ts +4 -0
- package/dist/api/resources/emails/types/PreviewAddAddressEmailsResponse.js +2 -0
- package/dist/api/resources/emails/types/PreviewRemoveAddressEmailsResponse.d.ts +4 -0
- package/dist/api/resources/emails/types/PreviewRemoveAddressEmailsResponse.js +2 -0
- package/dist/api/resources/emails/types/RemoveAddressEmailsResponse.d.ts +4 -0
- package/dist/api/resources/emails/types/RemoveAddressEmailsResponse.js +2 -0
- package/dist/api/resources/emails/types/index.d.ts +4 -0
- package/dist/api/resources/emails/types/index.js +4 -0
- package/dist/api/resources/files/client/Client.d.ts +69 -0
- package/dist/api/resources/files/client/Client.js +205 -0
- package/dist/api/resources/files/client/index.d.ts +1 -0
- package/dist/api/resources/files/client/index.js +1 -0
- package/dist/api/resources/files/client/requests/DownloadFilesRequest.d.ts +16 -0
- package/dist/api/resources/files/client/requests/DownloadFilesRequest.js +2 -0
- package/dist/api/resources/files/client/requests/GetFilesRequest.d.ts +16 -0
- package/dist/api/resources/files/client/requests/GetFilesRequest.js +2 -0
- package/dist/api/resources/files/client/requests/ListFilesRequest.d.ts +13 -0
- package/dist/api/resources/files/client/requests/ListFilesRequest.js +2 -0
- package/dist/api/resources/files/client/requests/index.d.ts +3 -0
- package/dist/api/resources/files/client/requests/index.js +1 -0
- package/dist/api/resources/files/exports.d.ts +2 -0
- package/dist/api/resources/files/exports.js +3 -0
- package/dist/api/resources/files/index.d.ts +2 -0
- package/dist/api/resources/files/index.js +2 -0
- package/dist/api/resources/files/types/DownloadFilesResponse.d.ts +4 -0
- package/dist/api/resources/files/types/DownloadFilesResponse.js +2 -0
- package/dist/api/resources/files/types/GetFilesResponse.d.ts +4 -0
- package/dist/api/resources/files/types/GetFilesResponse.js +2 -0
- package/dist/api/resources/files/types/ListFilesResponse.d.ts +4 -0
- package/dist/api/resources/files/types/ListFilesResponse.js +2 -0
- package/dist/api/resources/files/types/index.d.ts +3 -0
- package/dist/api/resources/files/types/index.js +3 -0
- package/dist/api/resources/health/client/Client.d.ts +29 -0
- package/dist/api/resources/health/client/Client.js +57 -0
- package/dist/api/resources/health/client/index.d.ts +1 -0
- package/dist/api/resources/health/client/index.js +1 -0
- package/dist/api/resources/health/exports.d.ts +2 -0
- package/dist/api/resources/health/exports.js +3 -0
- package/dist/api/resources/health/index.d.ts +2 -0
- package/dist/api/resources/health/index.js +2 -0
- package/dist/api/resources/health/types/CheckHealthResponse.d.ts +4 -0
- package/dist/api/resources/health/types/CheckHealthResponse.js +2 -0
- package/dist/api/resources/health/types/index.d.ts +1 -0
- package/dist/api/resources/health/types/index.js +1 -0
- package/dist/api/resources/index.d.ts +42 -0
- package/dist/api/resources/index.js +42 -0
- package/dist/api/resources/modelKeys/client/Client.d.ts +94 -0
- package/dist/api/resources/modelKeys/client/Client.js +224 -0
- package/dist/api/resources/modelKeys/client/index.d.ts +1 -0
- package/dist/api/resources/modelKeys/client/index.js +1 -0
- package/dist/api/resources/modelKeys/client/requests/DeleteModelKeysRequest.d.ts +13 -0
- package/dist/api/resources/modelKeys/client/requests/DeleteModelKeysRequest.js +2 -0
- package/dist/api/resources/modelKeys/client/requests/ListModelKeysRequest.d.ts +10 -0
- package/dist/api/resources/modelKeys/client/requests/ListModelKeysRequest.js +2 -0
- package/dist/api/resources/modelKeys/client/requests/ModelKeyInput.d.ts +16 -0
- package/dist/api/resources/modelKeys/client/requests/ModelKeyInput.js +2 -0
- package/dist/api/resources/modelKeys/client/requests/index.d.ts +3 -0
- package/dist/api/resources/modelKeys/client/requests/index.js +1 -0
- package/dist/api/resources/modelKeys/exports.d.ts +2 -0
- package/dist/api/resources/modelKeys/exports.js +3 -0
- package/dist/api/resources/modelKeys/index.d.ts +2 -0
- package/dist/api/resources/modelKeys/index.js +2 -0
- package/dist/api/resources/modelKeys/types/DeleteModelKeysRequestProvider.d.ts +5 -0
- package/dist/api/resources/modelKeys/types/DeleteModelKeysRequestProvider.js +5 -0
- package/dist/api/resources/modelKeys/types/ListModelKeysResponse.d.ts +4 -0
- package/dist/api/resources/modelKeys/types/ListModelKeysResponse.js +2 -0
- package/dist/api/resources/modelKeys/types/SetModelKeysRequestProvider.d.ts +5 -0
- package/dist/api/resources/modelKeys/types/SetModelKeysRequestProvider.js +5 -0
- package/dist/api/resources/modelKeys/types/SetModelKeysResponse.d.ts +4 -0
- package/dist/api/resources/modelKeys/types/SetModelKeysResponse.js +2 -0
- package/dist/api/resources/modelKeys/types/index.d.ts +4 -0
- package/dist/api/resources/modelKeys/types/index.js +4 -0
- package/dist/api/resources/notifications/client/Client.d.ts +98 -0
- package/dist/api/resources/notifications/client/Client.js +264 -0
- package/dist/api/resources/notifications/client/index.d.ts +1 -0
- package/dist/api/resources/notifications/client/index.js +1 -0
- package/dist/api/resources/notifications/client/requests/GetSettingsNotificationsRequest.d.ts +13 -0
- package/dist/api/resources/notifications/client/requests/GetSettingsNotificationsRequest.js +2 -0
- package/dist/api/resources/notifications/client/requests/ListAppsNotificationsRequest.d.ts +13 -0
- package/dist/api/resources/notifications/client/requests/ListAppsNotificationsRequest.js +2 -0
- package/dist/api/resources/notifications/client/requests/ListNotificationsRequest.d.ts +17 -0
- package/dist/api/resources/notifications/client/requests/ListNotificationsRequest.js +2 -0
- package/dist/api/resources/notifications/client/requests/ListRulesNotificationsRequest.d.ts +10 -0
- package/dist/api/resources/notifications/client/requests/ListRulesNotificationsRequest.js +2 -0
- package/dist/api/resources/notifications/client/requests/index.d.ts +4 -0
- package/dist/api/resources/notifications/client/requests/index.js +1 -0
- package/dist/api/resources/notifications/exports.d.ts +2 -0
- package/dist/api/resources/notifications/exports.js +3 -0
- package/dist/api/resources/notifications/index.d.ts +2 -0
- package/dist/api/resources/notifications/index.js +2 -0
- package/dist/api/resources/notifications/types/GetSettingsNotificationsResponse.d.ts +4 -0
- package/dist/api/resources/notifications/types/GetSettingsNotificationsResponse.js +2 -0
- package/dist/api/resources/notifications/types/ListAppsNotificationsResponse.d.ts +4 -0
- package/dist/api/resources/notifications/types/ListAppsNotificationsResponse.js +2 -0
- package/dist/api/resources/notifications/types/ListNotificationsResponse.d.ts +4 -0
- package/dist/api/resources/notifications/types/ListNotificationsResponse.js +2 -0
- package/dist/api/resources/notifications/types/ListRulesNotificationsResponse.d.ts +4 -0
- package/dist/api/resources/notifications/types/ListRulesNotificationsResponse.js +2 -0
- package/dist/api/resources/notifications/types/index.d.ts +4 -0
- package/dist/api/resources/notifications/types/index.js +4 -0
- package/dist/api/resources/phoneNumbers/client/Client.d.ts +92 -0
- package/dist/api/resources/phoneNumbers/client/Client.js +219 -0
- package/dist/api/resources/phoneNumbers/client/index.d.ts +1 -0
- package/dist/api/resources/phoneNumbers/client/index.js +1 -0
- package/dist/api/resources/phoneNumbers/client/requests/GetPhoneNumbersRequest.d.ts +13 -0
- package/dist/api/resources/phoneNumbers/client/requests/GetPhoneNumbersRequest.js +2 -0
- package/dist/api/resources/phoneNumbers/client/requests/ListMessagesPhoneNumbersRequest.d.ts +19 -0
- package/dist/api/resources/phoneNumbers/client/requests/ListMessagesPhoneNumbersRequest.js +2 -0
- package/dist/api/resources/phoneNumbers/client/requests/ListPhoneNumbersRequest.d.ts +10 -0
- package/dist/api/resources/phoneNumbers/client/requests/ListPhoneNumbersRequest.js +2 -0
- package/dist/api/resources/phoneNumbers/client/requests/index.d.ts +3 -0
- package/dist/api/resources/phoneNumbers/client/requests/index.js +1 -0
- package/dist/api/resources/phoneNumbers/exports.d.ts +2 -0
- package/dist/api/resources/phoneNumbers/exports.js +3 -0
- package/dist/api/resources/phoneNumbers/index.d.ts +1 -0
- package/dist/api/resources/phoneNumbers/index.js +1 -0
- package/dist/api/resources/secrets/client/Client.d.ts +80 -0
- package/dist/api/resources/secrets/client/Client.js +192 -0
- package/dist/api/resources/secrets/client/index.d.ts +1 -0
- package/dist/api/resources/secrets/client/index.js +1 -0
- package/dist/api/resources/secrets/client/requests/GetSecretsRequest.d.ts +10 -0
- package/dist/api/resources/secrets/client/requests/GetSecretsRequest.js +2 -0
- package/dist/api/resources/secrets/client/requests/ListSecretsRequest.d.ts +10 -0
- package/dist/api/resources/secrets/client/requests/ListSecretsRequest.js +2 -0
- package/dist/api/resources/secrets/client/requests/ListTagsSecretsRequest.d.ts +10 -0
- package/dist/api/resources/secrets/client/requests/ListTagsSecretsRequest.js +2 -0
- package/dist/api/resources/secrets/client/requests/index.d.ts +3 -0
- package/dist/api/resources/secrets/client/requests/index.js +1 -0
- package/dist/api/resources/secrets/exports.d.ts +2 -0
- package/dist/api/resources/secrets/exports.js +3 -0
- package/dist/api/resources/secrets/index.d.ts +2 -0
- package/dist/api/resources/secrets/index.js +2 -0
- package/dist/api/resources/secrets/types/GetSecretsResponse.d.ts +4 -0
- package/dist/api/resources/secrets/types/GetSecretsResponse.js +2 -0
- package/dist/api/resources/secrets/types/ListTagsSecretsResponse.d.ts +4 -0
- package/dist/api/resources/secrets/types/ListTagsSecretsResponse.js +2 -0
- package/dist/api/resources/secrets/types/index.d.ts +2 -0
- package/dist/api/resources/secrets/types/index.js +2 -0
- package/dist/api/resources/sessions/client/Client.d.ts +442 -0
- package/dist/api/resources/sessions/client/Client.js +1241 -0
- package/dist/api/resources/sessions/client/index.d.ts +1 -0
- package/dist/api/resources/sessions/client/index.js +1 -0
- package/dist/api/resources/sessions/client/requests/AnswerHitlInput.d.ts +18 -0
- package/dist/api/resources/sessions/client/requests/AnswerHitlInput.js +2 -0
- package/dist/api/resources/sessions/client/requests/ArtifactsSessionsRequest.d.ts +16 -0
- package/dist/api/resources/sessions/client/requests/ArtifactsSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/BreakdownSessionsRequest.d.ts +10 -0
- package/dist/api/resources/sessions/client/requests/BreakdownSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/CancelQueuedSessionsRequest.d.ts +18 -0
- package/dist/api/resources/sessions/client/requests/CancelQueuedSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/ContinueSessionInput.d.ts +24 -0
- package/dist/api/resources/sessions/client/requests/ContinueSessionInput.js +2 -0
- package/dist/api/resources/sessions/client/requests/EventsSessionsRequest.d.ts +12 -0
- package/dist/api/resources/sessions/client/requests/EventsSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/GetLegacySessionsRequest.d.ts +16 -0
- package/dist/api/resources/sessions/client/requests/GetLegacySessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/GetSessionsRequest.d.ts +10 -0
- package/dist/api/resources/sessions/client/requests/GetSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/GetUiStateSessionsRequest.d.ts +19 -0
- package/dist/api/resources/sessions/client/requests/GetUiStateSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/HistoryPolicySessionsRequest.d.ts +12 -0
- package/dist/api/resources/sessions/client/requests/HistoryPolicySessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/ListSessionsRequest.d.ts +78 -0
- package/dist/api/resources/sessions/client/requests/ListSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/RecordingSessionsRequest.d.ts +16 -0
- package/dist/api/resources/sessions/client/requests/RecordingSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/ReplayFrameSessionsRequest.d.ts +19 -0
- package/dist/api/resources/sessions/client/requests/ReplayFrameSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/ReplaySessionsRequest.d.ts +16 -0
- package/dist/api/resources/sessions/client/requests/ReplaySessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/StatusSessionsRequest.d.ts +16 -0
- package/dist/api/resources/sessions/client/requests/StatusSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/StopSessionsRequest.d.ts +19 -0
- package/dist/api/resources/sessions/client/requests/StopSessionsRequest.js +2 -0
- package/dist/api/resources/sessions/client/requests/UpdateSessionInput.d.ts +13 -0
- package/dist/api/resources/sessions/client/requests/UpdateSessionInput.js +2 -0
- package/dist/api/resources/sessions/client/requests/index.d.ts +17 -0
- package/dist/api/resources/sessions/client/requests/index.js +1 -0
- package/dist/api/resources/sessions/exports.d.ts +3 -0
- package/dist/api/resources/sessions/exports.js +4 -0
- package/dist/api/resources/sessions/index.d.ts +3 -0
- package/dist/api/resources/sessions/index.js +3 -0
- package/dist/api/resources/sessions/resources/index.d.ts +3 -0
- package/dist/api/resources/sessions/resources/index.js +3 -0
- package/dist/api/resources/sessions/resources/liveView/client/Client.d.ts +210 -0
- package/dist/api/resources/sessions/resources/liveView/client/Client.js +616 -0
- package/dist/api/resources/sessions/resources/liveView/client/index.d.ts +1 -0
- package/dist/api/resources/sessions/resources/liveView/client/index.js +1 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/ConnectLiveViewRequest.d.ts +13 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/ConnectLiveViewRequest.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/EventsLiveViewRequest.d.ts +16 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/EventsLiveViewRequest.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/IceServersLiveViewRequest.d.ts +16 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/IceServersLiveViewRequest.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/KeepaliveLiveViewRequest.d.ts +13 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/KeepaliveLiveViewRequest.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/RequestFrameLiveViewRequest.d.ts +13 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/RequestFrameLiveViewRequest.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/StartLiveViewRequest.d.ts +13 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/StartLiveViewRequest.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/StreamSignalInput.d.ts +30 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/StreamSignalInput.js +11 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/StreamStopInput.d.ts +15 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/StreamStopInput.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/index.d.ts +8 -0
- package/dist/api/resources/sessions/resources/liveView/client/requests/index.js +1 -0
- package/dist/api/resources/sessions/resources/liveView/exports.d.ts +2 -0
- package/dist/api/resources/sessions/resources/liveView/exports.js +3 -0
- package/dist/api/resources/sessions/resources/liveView/index.d.ts +2 -0
- package/dist/api/resources/sessions/resources/liveView/index.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/types/IceServersLiveViewResponse.d.ts +4 -0
- package/dist/api/resources/sessions/resources/liveView/types/IceServersLiveViewResponse.js +2 -0
- package/dist/api/resources/sessions/resources/liveView/types/index.d.ts +1 -0
- package/dist/api/resources/sessions/resources/liveView/types/index.js +1 -0
- package/dist/api/resources/sessions/types/BreakdownSessionsResponse.d.ts +18 -0
- package/dist/api/resources/sessions/types/BreakdownSessionsResponse.js +10 -0
- package/dist/api/resources/sessions/types/EventsSessionsResponse.d.ts +4 -0
- package/dist/api/resources/sessions/types/EventsSessionsResponse.js +2 -0
- package/dist/api/resources/sessions/types/HistoryPolicySessionsResponse.d.ts +4 -0
- package/dist/api/resources/sessions/types/HistoryPolicySessionsResponse.js +2 -0
- package/dist/api/resources/sessions/types/ListSessionsRequestStatusMode.d.ts +5 -0
- package/dist/api/resources/sessions/types/ListSessionsRequestStatusMode.js +5 -0
- package/dist/api/resources/sessions/types/ListSessionsResponse.d.ts +4 -0
- package/dist/api/resources/sessions/types/ListSessionsResponse.js +2 -0
- package/dist/api/resources/sessions/types/index.d.ts +5 -0
- package/dist/api/resources/sessions/types/index.js +5 -0
- package/dist/api/resources/skills/client/Client.d.ts +106 -0
- package/dist/api/resources/skills/client/Client.js +310 -0
- package/dist/api/resources/skills/client/index.d.ts +1 -0
- package/dist/api/resources/skills/client/index.js +1 -0
- package/dist/api/resources/skills/client/requests/CreateSkillInput.d.ts +44 -0
- package/dist/api/resources/skills/client/requests/CreateSkillInput.js +2 -0
- package/dist/api/resources/skills/client/requests/DeleteSkillsRequest.d.ts +10 -0
- package/dist/api/resources/skills/client/requests/DeleteSkillsRequest.js +2 -0
- package/dist/api/resources/skills/client/requests/GetSkillsRequest.d.ts +10 -0
- package/dist/api/resources/skills/client/requests/GetSkillsRequest.js +2 -0
- package/dist/api/resources/skills/client/requests/ListSkillsRequest.d.ts +9 -0
- package/dist/api/resources/skills/client/requests/ListSkillsRequest.js +2 -0
- package/dist/api/resources/skills/client/requests/UpdateSkillsRequest.d.ts +20 -0
- package/dist/api/resources/skills/client/requests/UpdateSkillsRequest.js +2 -0
- package/dist/api/resources/skills/client/requests/index.d.ts +5 -0
- package/dist/api/resources/skills/client/requests/index.js +1 -0
- package/dist/api/resources/skills/exports.d.ts +2 -0
- package/dist/api/resources/skills/exports.js +3 -0
- package/dist/api/resources/skills/index.d.ts +2 -0
- package/dist/api/resources/skills/index.js +2 -0
- package/dist/api/resources/skills/types/ListSkillsRequestScope.d.ts +5 -0
- package/dist/api/resources/skills/types/ListSkillsRequestScope.js +5 -0
- package/dist/api/resources/skills/types/ListSkillsResponse.d.ts +4 -0
- package/dist/api/resources/skills/types/ListSkillsResponse.js +2 -0
- package/dist/api/resources/skills/types/index.d.ts +2 -0
- package/dist/api/resources/skills/types/index.js +2 -0
- package/dist/api/resources/workspaces/client/Client.d.ts +34 -0
- package/dist/api/resources/workspaces/client/Client.js +72 -0
- package/dist/api/resources/workspaces/client/index.d.ts +1 -0
- package/dist/api/resources/workspaces/client/index.js +1 -0
- package/dist/api/resources/workspaces/client/requests/GetWorkspacesRequest.d.ts +10 -0
- package/dist/api/resources/workspaces/client/requests/GetWorkspacesRequest.js +2 -0
- package/dist/api/resources/workspaces/client/requests/index.d.ts +1 -0
- package/dist/api/resources/workspaces/client/requests/index.js +1 -0
- package/dist/api/resources/workspaces/exports.d.ts +2 -0
- package/dist/api/resources/workspaces/exports.js +3 -0
- package/dist/api/resources/workspaces/index.d.ts +2 -0
- package/dist/api/resources/workspaces/index.js +2 -0
- package/dist/api/resources/workspaces/types/GetWorkspacesResponse.d.ts +4 -0
- package/dist/api/resources/workspaces/types/GetWorkspacesResponse.js +2 -0
- package/dist/api/resources/workspaces/types/index.d.ts +1 -0
- package/dist/api/resources/workspaces/types/index.js +1 -0
- package/dist/api/types/Agent.d.ts +19 -0
- package/dist/api/types/Agent.js +2 -0
- package/dist/api/types/AgentDetail.d.ts +9 -0
- package/dist/api/types/AgentDetail.js +2 -0
- package/dist/api/types/AgentDetailResponse.d.ts +4 -0
- package/dist/api/types/AgentDetailResponse.js +2 -0
- package/dist/api/types/AgentDevice.d.ts +7 -0
- package/dist/api/types/AgentDevice.js +2 -0
- package/dist/api/types/AgentDeviceInput.d.ts +6 -0
- package/dist/api/types/AgentDeviceInput.js +2 -0
- package/dist/api/types/AgentListResponse.d.ts +8 -0
- package/dist/api/types/AgentListResponse.js +2 -0
- package/dist/api/types/AgentTurn.d.ts +14 -0
- package/dist/api/types/AgentTurn.js +2 -0
- package/dist/api/types/AgentTurnDispatchResponse.d.ts +29 -0
- package/dist/api/types/AgentTurnDispatchResponse.js +14 -0
- package/dist/api/types/AgentTurnPage.d.ts +7 -0
- package/dist/api/types/AgentTurnPage.js +2 -0
- package/dist/api/types/AgentTurnPageResponse.d.ts +4 -0
- package/dist/api/types/AgentTurnPageResponse.js +2 -0
- package/dist/api/types/AnswerHitlResult.d.ts +26 -0
- package/dist/api/types/AnswerHitlResult.js +13 -0
- package/dist/api/types/AppInstall.d.ts +36 -0
- package/dist/api/types/AppInstall.js +22 -0
- package/dist/api/types/AppInstallBatch.d.ts +39 -0
- package/dist/api/types/AppInstallBatch.js +28 -0
- package/dist/api/types/AppInstallBatchStarted.d.ts +19 -0
- package/dist/api/types/AppInstallBatchStarted.js +13 -0
- package/dist/api/types/AppInstallEvent.d.ts +16 -0
- package/dist/api/types/AppInstallEvent.js +8 -0
- package/dist/api/types/AppStoreInstallResponse.d.ts +31 -0
- package/dist/api/types/AppStoreInstallResponse.js +14 -0
- package/dist/api/types/ArchiveAgentResponse.d.ts +10 -0
- package/dist/api/types/ArchiveAgentResponse.js +2 -0
- package/dist/api/types/BackChainStep.d.ts +5 -0
- package/dist/api/types/BackChainStep.js +2 -0
- package/dist/api/types/BadRequestErrorBody.d.ts +2 -0
- package/dist/api/types/BadRequestErrorBody.js +2 -0
- package/dist/api/types/Busy.d.ts +19 -0
- package/dist/api/types/Busy.js +9 -0
- package/dist/api/types/CancelQueuedFollowupResult.d.ts +8 -0
- package/dist/api/types/CancelQueuedFollowupResult.js +2 -0
- package/dist/api/types/CaptureField.d.ts +7 -0
- package/dist/api/types/CaptureField.js +2 -0
- package/dist/api/types/CaptureOnlyFilter.d.ts +8 -0
- package/dist/api/types/CaptureOnlyFilter.js +8 -0
- package/dist/api/types/CaptureOptions.d.ts +20 -0
- package/dist/api/types/CaptureOptions.js +2 -0
- package/dist/api/types/CaptureResponse.d.ts +56 -0
- package/dist/api/types/CaptureResponse.js +2 -0
- package/dist/api/types/CaptureVerbosity.d.ts +12 -0
- package/dist/api/types/CaptureVerbosity.js +12 -0
- package/dist/api/types/CatalogApp.d.ts +11 -0
- package/dist/api/types/CatalogApp.js +2 -0
- package/dist/api/types/ChainCapturePolicy.d.ts +12 -0
- package/dist/api/types/ChainCapturePolicy.js +12 -0
- package/dist/api/types/ChainResponse.d.ts +6 -0
- package/dist/api/types/ChainResponse.js +2 -0
- package/dist/api/types/ChainStep.d.ts +45 -0
- package/dist/api/types/ChainStep.js +2 -0
- package/dist/api/types/ChainStepResponse.d.ts +14 -0
- package/dist/api/types/ChainStepResponse.js +2 -0
- package/dist/api/types/ChainVerb.d.ts +16 -0
- package/dist/api/types/ChainVerb.js +16 -0
- package/dist/api/types/ClearChainStep.d.ts +5 -0
- package/dist/api/types/ClearChainStep.js +2 -0
- package/dist/api/types/ContinueSessionResult.d.ts +25 -0
- package/dist/api/types/ContinueSessionResult.js +7 -0
- package/dist/api/types/CreateSessionResult.d.ts +13 -0
- package/dist/api/types/CreateSessionResult.js +7 -0
- package/dist/api/types/Dataset.d.ts +18 -0
- package/dist/api/types/Dataset.js +7 -0
- package/dist/api/types/DatasetColumn.d.ts +5 -0
- package/dist/api/types/DatasetColumn.js +2 -0
- package/dist/api/types/DatasetColumnType.d.ts +6 -0
- package/dist/api/types/DatasetColumnType.js +6 -0
- package/dist/api/types/DatasetListResponse.d.ts +4 -0
- package/dist/api/types/DatasetListResponse.js +2 -0
- package/dist/api/types/DatasetOutput.d.ts +12 -0
- package/dist/api/types/DatasetOutput.js +2 -0
- package/dist/api/types/DatasetResponse.d.ts +4 -0
- package/dist/api/types/DatasetResponse.js +2 -0
- package/dist/api/types/DeleteDatasetResponse.d.ts +3 -0
- package/dist/api/types/DeleteDatasetResponse.js +2 -0
- package/dist/api/types/Device.d.ts +41 -0
- package/dist/api/types/Device.js +16 -0
- package/dist/api/types/DeviceAdvertisingIdReset.d.ts +6 -0
- package/dist/api/types/DeviceAdvertisingIdReset.js +2 -0
- package/dist/api/types/DeviceChangeConfirmInput.d.ts +4 -0
- package/dist/api/types/DeviceChangeConfirmInput.js +2 -0
- package/dist/api/types/DeviceChangePreview.d.ts +36 -0
- package/dist/api/types/DeviceChangePreview.js +7 -0
- package/dist/api/types/DeviceChangeResult.d.ts +9 -0
- package/dist/api/types/DeviceChangeResult.js +2 -0
- package/dist/api/types/DeviceControlError.d.ts +15 -0
- package/dist/api/types/DeviceControlError.js +15 -0
- package/dist/api/types/DeviceControlInProgress.d.ts +7 -0
- package/dist/api/types/DeviceControlInProgress.js +7 -0
- package/dist/api/types/DeviceControlState.d.ts +18 -0
- package/dist/api/types/DeviceControlState.js +18 -0
- package/dist/api/types/DeviceGeo.d.ts +37 -0
- package/dist/api/types/DeviceGeo.js +18 -0
- package/dist/api/types/DeviceIdentity.d.ts +9 -0
- package/dist/api/types/DeviceIdentity.js +2 -0
- package/dist/api/types/DeviceIdentityFields.d.ts +16 -0
- package/dist/api/types/DeviceIdentityFields.js +2 -0
- package/dist/api/types/DeviceInternetLocation.d.ts +28 -0
- package/dist/api/types/DeviceInternetLocation.js +16 -0
- package/dist/api/types/DeviceLanguage.d.ts +8 -0
- package/dist/api/types/DeviceLanguage.js +2 -0
- package/dist/api/types/DeviceOccupancy.d.ts +39 -0
- package/dist/api/types/DeviceOccupancy.js +2 -0
- package/dist/api/types/DeviceRemoveResult.d.ts +8 -0
- package/dist/api/types/DeviceRemoveResult.js +2 -0
- package/dist/api/types/DeviceReset.d.ts +35 -0
- package/dist/api/types/DeviceReset.js +20 -0
- package/dist/api/types/DeviceState.d.ts +21 -0
- package/dist/api/types/DeviceState.js +2 -0
- package/dist/api/types/DeviceStaticIp.d.ts +18 -0
- package/dist/api/types/DeviceStaticIp.js +10 -0
- package/dist/api/types/DeviceStaticIpStatus.d.ts +17 -0
- package/dist/api/types/DeviceStaticIpStatus.js +10 -0
- package/dist/api/types/EmailAddress.d.ts +11 -0
- package/dist/api/types/EmailAddress.js +2 -0
- package/dist/api/types/EmailAddressListResponse.d.ts +4 -0
- package/dist/api/types/EmailAddressListResponse.js +2 -0
- package/dist/api/types/EmailMessage.d.ts +15 -0
- package/dist/api/types/EmailMessage.js +2 -0
- package/dist/api/types/EmailMessageListResponse.d.ts +6 -0
- package/dist/api/types/EmailMessageListResponse.js +2 -0
- package/dist/api/types/EmptyChainStepParams.d.ts +6 -0
- package/dist/api/types/EmptyChainStepParams.js +2 -0
- package/dist/api/types/EmptyVerbInput.d.ts +9 -0
- package/dist/api/types/EmptyVerbInput.js +2 -0
- package/dist/api/types/ErrorResponse.d.ts +4 -0
- package/dist/api/types/ErrorResponse.js +2 -0
- package/dist/api/types/HistoryPolicy.d.ts +17 -0
- package/dist/api/types/HistoryPolicy.js +2 -0
- package/dist/api/types/HomeChainStep.d.ts +5 -0
- package/dist/api/types/HomeChainStep.js +2 -0
- package/dist/api/types/IceServer.d.ts +8 -0
- package/dist/api/types/IceServer.js +2 -0
- package/dist/api/types/IceServerIssuance.d.ts +13 -0
- package/dist/api/types/IceServerIssuance.js +2 -0
- package/dist/api/types/InboxAddressAddResult.d.ts +18 -0
- package/dist/api/types/InboxAddressAddResult.js +2 -0
- package/dist/api/types/InboxAddressPreview.d.ts +34 -0
- package/dist/api/types/InboxAddressPreview.js +7 -0
- package/dist/api/types/InboxAddressRemoveResult.d.ts +13 -0
- package/dist/api/types/InboxAddressRemoveResult.js +2 -0
- package/dist/api/types/KeyChainStep.d.ts +5 -0
- package/dist/api/types/KeyChainStep.js +2 -0
- package/dist/api/types/KeyChainStepParams.d.ts +3 -0
- package/dist/api/types/KeyChainStepParams.js +2 -0
- package/dist/api/types/LegacySession.d.ts +21 -0
- package/dist/api/types/LegacySession.js +11 -0
- package/dist/api/types/ModelKey.d.ts +14 -0
- package/dist/api/types/ModelKey.js +8 -0
- package/dist/api/types/NotificationApp.d.ts +6 -0
- package/dist/api/types/NotificationApp.js +2 -0
- package/dist/api/types/NotificationFeedItem.d.ts +34 -0
- package/dist/api/types/NotificationFeedItem.js +2 -0
- package/dist/api/types/NotificationRule.d.ts +41 -0
- package/dist/api/types/NotificationRule.js +12 -0
- package/dist/api/types/NotificationSettings.d.ts +29 -0
- package/dist/api/types/NotificationSettings.js +2 -0
- package/dist/api/types/PhoneNumber.d.ts +34 -0
- package/dist/api/types/PhoneNumber.js +18 -0
- package/dist/api/types/PhoneNumberListResponse.d.ts +4 -0
- package/dist/api/types/PhoneNumberListResponse.js +2 -0
- package/dist/api/types/PhoneNumberMessage.d.ts +9 -0
- package/dist/api/types/PhoneNumberMessage.js +2 -0
- package/dist/api/types/PhoneNumberMessageListResponse.d.ts +6 -0
- package/dist/api/types/PhoneNumberMessageListResponse.js +2 -0
- package/dist/api/types/PhoneNumberResponse.d.ts +4 -0
- package/dist/api/types/PhoneNumberResponse.js +2 -0
- package/dist/api/types/RecentChainStep.d.ts +5 -0
- package/dist/api/types/RecentChainStep.js +2 -0
- package/dist/api/types/RecordingFinalizationStatus.d.ts +11 -0
- package/dist/api/types/RecordingFinalizationStatus.js +11 -0
- package/dist/api/types/RetargetQueuedTurnsResult.d.ts +10 -0
- package/dist/api/types/RetargetQueuedTurnsResult.js +2 -0
- package/dist/api/types/ScreenshotChainStep.d.ts +5 -0
- package/dist/api/types/ScreenshotChainStep.js +2 -0
- package/dist/api/types/SecretTag.d.ts +6 -0
- package/dist/api/types/SecretTag.js +2 -0
- package/dist/api/types/SessionArtifacts.d.ts +29 -0
- package/dist/api/types/SessionArtifacts.js +2 -0
- package/dist/api/types/SessionDetail.d.ts +15 -0
- package/dist/api/types/SessionDetail.js +2 -0
- package/dist/api/types/SessionEvent.d.ts +10 -0
- package/dist/api/types/SessionEvent.js +2 -0
- package/dist/api/types/SessionRecording.d.ts +20 -0
- package/dist/api/types/SessionRecording.js +9 -0
- package/dist/api/types/SessionRecordingResponse.d.ts +8 -0
- package/dist/api/types/SessionRecordingResponse.js +2 -0
- package/dist/api/types/SessionRecordingSegment.d.ts +11 -0
- package/dist/api/types/SessionRecordingSegment.js +2 -0
- package/dist/api/types/SessionReplayFrame.d.ts +24 -0
- package/dist/api/types/SessionReplayFrame.js +10 -0
- package/dist/api/types/SessionReplayResponse.d.ts +4 -0
- package/dist/api/types/SessionReplayResponse.js +2 -0
- package/dist/api/types/SessionStatusV2.d.ts +11 -0
- package/dist/api/types/SessionStatusV2.js +11 -0
- package/dist/api/types/SessionStatusView.d.ts +9 -0
- package/dist/api/types/SessionStatusView.js +2 -0
- package/dist/api/types/SessionV2.d.ts +42 -0
- package/dist/api/types/SessionV2.js +2 -0
- package/dist/api/types/ShellResult.d.ts +6 -0
- package/dist/api/types/ShellResult.js +2 -0
- package/dist/api/types/Skill.d.ts +17 -0
- package/dist/api/types/Skill.js +2 -0
- package/dist/api/types/StartAppChainStep.d.ts +5 -0
- package/dist/api/types/StartAppChainStep.js +2 -0
- package/dist/api/types/StartAppChainStepParams.d.ts +12 -0
- package/dist/api/types/StartAppChainStepParams.js +2 -0
- package/dist/api/types/StopAppChainStep.d.ts +5 -0
- package/dist/api/types/StopAppChainStep.js +2 -0
- package/dist/api/types/StopAppChainStepParams.d.ts +7 -0
- package/dist/api/types/StopAppChainStepParams.js +2 -0
- package/dist/api/types/StopSessionResult.d.ts +7 -0
- package/dist/api/types/StopSessionResult.js +2 -0
- package/dist/api/types/StreamCommandResult.d.ts +10 -0
- package/dist/api/types/StreamCommandResult.js +2 -0
- package/dist/api/types/StreamSignalEvent.d.ts +23 -0
- package/dist/api/types/StreamSignalEvent.js +12 -0
- package/dist/api/types/StreamStartInput.d.ts +12 -0
- package/dist/api/types/StreamStartInput.js +2 -0
- package/dist/api/types/StreamViewerInput.d.ts +6 -0
- package/dist/api/types/StreamViewerInput.js +2 -0
- package/dist/api/types/SwipeChainStep.d.ts +5 -0
- package/dist/api/types/SwipeChainStep.js +2 -0
- package/dist/api/types/SwipeChainStepParams.d.ts +8 -0
- package/dist/api/types/SwipeChainStepParams.js +2 -0
- package/dist/api/types/TapChainStep.d.ts +5 -0
- package/dist/api/types/TapChainStep.js +2 -0
- package/dist/api/types/TapChainStepParams.d.ts +13 -0
- package/dist/api/types/TapChainStepParams.js +2 -0
- package/dist/api/types/TapResult.d.ts +12 -0
- package/dist/api/types/TapResult.js +2 -0
- package/dist/api/types/TypeChainStep.d.ts +5 -0
- package/dist/api/types/TypeChainStep.js +2 -0
- package/dist/api/types/TypeChainStepParams.d.ts +5 -0
- package/dist/api/types/TypeChainStepParams.js +2 -0
- package/dist/api/types/ValidationErrorResponse.d.ts +4 -0
- package/dist/api/types/ValidationErrorResponse.js +2 -0
- package/dist/api/types/VerbResult.d.ts +12 -0
- package/dist/api/types/VerbResult.js +2 -0
- package/dist/api/types/VerbResultWithOptionalCapture.d.ts +4 -0
- package/dist/api/types/VerbResultWithOptionalCapture.js +2 -0
- package/dist/api/types/WaitChainStep.d.ts +5 -0
- package/dist/api/types/WaitChainStep.js +2 -0
- package/dist/api/types/WaitChainStepParams.d.ts +11 -0
- package/dist/api/types/WaitChainStepParams.js +2 -0
- package/dist/api/types/Workspace.d.ts +7 -0
- package/dist/api/types/Workspace.js +2 -0
- package/dist/api/types/WorkspaceFile.d.ts +20 -0
- package/dist/api/types/WorkspaceFile.js +8 -0
- package/dist/api/types/WorkspaceFileDownload.d.ts +8 -0
- package/dist/api/types/WorkspaceFileDownload.js +2 -0
- package/dist/api/types/WorkspaceScopeInput.d.ts +4 -0
- package/dist/api/types/WorkspaceScopeInput.js +2 -0
- package/dist/api/types/WorkspaceSecret.d.ts +26 -0
- package/dist/api/types/WorkspaceSecret.js +2 -0
- package/dist/api/types/WorkspaceSecretListResponse.d.ts +4 -0
- package/dist/api/types/WorkspaceSecretListResponse.js +2 -0
- package/dist/api/types/index.d.ts +133 -0
- package/dist/api/types/index.js +133 -0
- package/dist/auth/HeaderAuthProvider.d.ts +20 -0
- package/dist/auth/HeaderAuthProvider.js +33 -0
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.js +1 -0
- package/dist/core/auth/AuthProvider.d.ts +8 -0
- package/dist/core/auth/AuthProvider.js +6 -0
- package/dist/core/auth/AuthRequest.d.ts +9 -0
- package/dist/core/auth/AuthRequest.js +1 -0
- package/dist/core/auth/BasicAuth.d.ts +8 -0
- package/dist/core/auth/BasicAuth.js +29 -0
- package/dist/core/auth/BearerToken.d.ts +7 -0
- package/dist/core/auth/BearerToken.js +13 -0
- package/dist/core/auth/NoOpAuthProvider.d.ts +5 -0
- package/dist/core/auth/NoOpAuthProvider.js +5 -0
- package/dist/core/auth/index.d.ts +5 -0
- package/dist/core/auth/index.js +4 -0
- package/dist/core/base64.d.ts +2 -0
- package/dist/core/base64.js +22 -0
- package/dist/core/exports.d.ts +1 -0
- package/dist/core/exports.js +1 -0
- package/dist/core/fetcher/APIResponse.d.ts +20 -0
- package/dist/core/fetcher/APIResponse.js +1 -0
- package/dist/core/fetcher/BinaryResponse.d.ts +19 -0
- package/dist/core/fetcher/BinaryResponse.js +14 -0
- package/dist/core/fetcher/EndpointMetadata.d.ts +13 -0
- package/dist/core/fetcher/EndpointMetadata.js +1 -0
- package/dist/core/fetcher/EndpointSupplier.d.ts +12 -0
- package/dist/core/fetcher/EndpointSupplier.js +10 -0
- package/dist/core/fetcher/Fetcher.d.ts +56 -0
- package/dist/core/fetcher/Fetcher.js +223 -0
- package/dist/core/fetcher/Headers.d.ts +2 -0
- package/dist/core/fetcher/Headers.js +83 -0
- package/dist/core/fetcher/HttpResponsePromise.d.ts +58 -0
- package/dist/core/fetcher/HttpResponsePromise.js +90 -0
- package/dist/core/fetcher/RawResponse.d.ts +29 -0
- package/dist/core/fetcher/RawResponse.js +40 -0
- package/dist/core/fetcher/Supplier.d.ts +4 -0
- package/dist/core/fetcher/Supplier.js +10 -0
- package/dist/core/fetcher/createRequestUrl.d.ts +1 -0
- package/dist/core/fetcher/createRequestUrl.js +5 -0
- package/dist/core/fetcher/getErrorResponseBody.d.ts +1 -0
- package/dist/core/fetcher/getErrorResponseBody.js +30 -0
- package/dist/core/fetcher/getFetchFn.d.ts +1 -0
- package/dist/core/fetcher/getFetchFn.js +3 -0
- package/dist/core/fetcher/getHeader.d.ts +1 -0
- package/dist/core/fetcher/getHeader.js +8 -0
- package/dist/core/fetcher/getRequestBody.d.ts +7 -0
- package/dist/core/fetcher/getRequestBody.js +13 -0
- package/dist/core/fetcher/getResponseBody.d.ts +1 -0
- package/dist/core/fetcher/getResponseBody.js +66 -0
- package/dist/core/fetcher/index.d.ts +13 -0
- package/dist/core/fetcher/index.js +7 -0
- package/dist/core/fetcher/makePassthroughRequest.d.ts +49 -0
- package/dist/core/fetcher/makePassthroughRequest.js +144 -0
- package/dist/core/fetcher/makeRequest.d.ts +6 -0
- package/dist/core/fetcher/makeRequest.js +57 -0
- package/dist/core/fetcher/redactUrl.d.ts +2 -0
- package/dist/core/fetcher/redactUrl.js +84 -0
- package/dist/core/fetcher/requestWithRetries.d.ts +1 -0
- package/dist/core/fetcher/requestWithRetries.js +56 -0
- package/dist/core/fetcher/signals.d.ts +5 -0
- package/dist/core/fetcher/signals.js +29 -0
- package/dist/core/headers.d.ts +2 -0
- package/dist/core/headers.js +27 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.js +7 -0
- package/dist/core/json.d.ts +15 -0
- package/dist/core/json.js +19 -0
- package/dist/core/logging/exports.d.ts +18 -0
- package/dist/core/logging/exports.js +9 -0
- package/dist/core/logging/index.d.ts +1 -0
- package/dist/core/logging/index.js +1 -0
- package/dist/core/logging/logger.d.ts +126 -0
- package/dist/core/logging/logger.js +140 -0
- package/dist/core/requestBody.d.ts +12 -0
- package/dist/core/requestBody.js +23 -0
- package/dist/core/runtime/index.d.ts +1 -0
- package/dist/core/runtime/index.js +1 -0
- package/dist/core/runtime/runtime.d.ts +28 -0
- package/dist/core/runtime/runtime.js +171 -0
- package/dist/core/stream/Stream.d.ts +100 -0
- package/dist/core/stream/Stream.js +428 -0
- package/dist/core/stream/index.d.ts +2 -0
- package/dist/core/stream/index.js +1 -0
- package/dist/core/url/QueryStringBuilder.d.ts +47 -0
- package/dist/core/url/QueryStringBuilder.js +78 -0
- package/dist/core/url/encodePathParam.d.ts +1 -0
- package/dist/core/url/encodePathParam.js +18 -0
- package/dist/core/url/index.d.ts +4 -0
- package/dist/core/url/index.js +4 -0
- package/dist/core/url/join.d.ts +1 -0
- package/dist/core/url/join.js +65 -0
- package/dist/core/url/qs.d.ts +7 -0
- package/dist/core/url/qs.js +76 -0
- package/dist/environments.d.ts +4 -0
- package/dist/environments.js +4 -0
- package/dist/errors/LusorError.d.ts +15 -0
- package/dist/errors/LusorError.js +38 -0
- package/dist/errors/LusorTimeoutError.d.ts +6 -0
- package/dist/errors/LusorTimeoutError.js +15 -0
- package/dist/errors/handleNonStatusCodeError.d.ts +2 -0
- package/dist/errors/handleNonStatusCodeError.js +32 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.js +2 -0
- package/dist/exports.d.ts +1 -0
- package/dist/exports.js +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +5 -0
- package/package.json +54 -4
|
@@ -0,0 +1,2576 @@
|
|
|
1
|
+
// This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
import { normalizeClientOptionsWithAuth } from "../../../../BaseClient.js";
|
|
3
|
+
import * as core from "../../../../core/index.js";
|
|
4
|
+
import { mergeHeaders, mergeOnlyDefinedHeaders } from "../../../../core/headers.js";
|
|
5
|
+
import { mergeAdditionalBodyParameters } from "../../../../core/requestBody.js";
|
|
6
|
+
import * as environments from "../../../../environments.js";
|
|
7
|
+
import { handleNonStatusCodeError } from "../../../../errors/handleNonStatusCodeError.js";
|
|
8
|
+
import * as errors from "../../../../errors/index.js";
|
|
9
|
+
import * as Lusor from "../../../index.js";
|
|
10
|
+
import { SessionsClient } from "../resources/sessions/client/Client.js";
|
|
11
|
+
/**
|
|
12
|
+
* The phones in your workspace, and reads of their current screen and
|
|
13
|
+
* UI tree.
|
|
14
|
+
*/
|
|
15
|
+
export class DevicesClient {
|
|
16
|
+
_options;
|
|
17
|
+
_sessions;
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this._options = normalizeClientOptionsWithAuth(options);
|
|
20
|
+
}
|
|
21
|
+
get sessions() {
|
|
22
|
+
return (this._sessions ??= new SessionsClient(this._options));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Returns every phone in the API key's workspace, including offline
|
|
26
|
+
* ones. The same list as `GET /v1/workspaces/{workspaceId}/devices`,
|
|
27
|
+
* without needing the workspace id in the path.
|
|
28
|
+
*
|
|
29
|
+
* @param {Lusor.ListDevicesRequest} request
|
|
30
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
31
|
+
*
|
|
32
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
33
|
+
* @throws {@link errors.LusorError}
|
|
34
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* await client.devices.list()
|
|
38
|
+
*/
|
|
39
|
+
list(request = {}, requestOptions) {
|
|
40
|
+
return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions));
|
|
41
|
+
}
|
|
42
|
+
async __list(request = {}, requestOptions) {
|
|
43
|
+
const { workspaceId } = request;
|
|
44
|
+
const _queryParams = {
|
|
45
|
+
workspaceId,
|
|
46
|
+
};
|
|
47
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
48
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
49
|
+
const _response = await core.fetcher({
|
|
50
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
51
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
52
|
+
environments.LusorEnvironment.Production, "v1/devices"),
|
|
53
|
+
method: "GET",
|
|
54
|
+
headers: _headers,
|
|
55
|
+
queryString: core.url
|
|
56
|
+
.queryBuilder()
|
|
57
|
+
.addMany(_queryParams)
|
|
58
|
+
.mergeAdditional(requestOptions?.queryParams)
|
|
59
|
+
.build(),
|
|
60
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
61
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
62
|
+
abortSignal: requestOptions?.abortSignal,
|
|
63
|
+
fetchFn: this._options?.fetch,
|
|
64
|
+
logging: this._options.logging,
|
|
65
|
+
});
|
|
66
|
+
if (_response.ok) {
|
|
67
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
68
|
+
}
|
|
69
|
+
if (_response.error.reason === "status-code") {
|
|
70
|
+
switch (_response.error.statusCode) {
|
|
71
|
+
case 401:
|
|
72
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
73
|
+
default:
|
|
74
|
+
throw new errors.LusorError({
|
|
75
|
+
statusCode: _response.error.statusCode,
|
|
76
|
+
body: _response.error.body,
|
|
77
|
+
rawResponse: _response.rawResponse,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/devices");
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* @param {Lusor.ListInWorkspaceDevicesRequest} request
|
|
85
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
86
|
+
*
|
|
87
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
88
|
+
* @throws {@link Lusor.NotFoundError}
|
|
89
|
+
* @throws {@link errors.LusorError}
|
|
90
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* await client.devices.listInWorkspace({
|
|
94
|
+
* workspaceId: "workspaceId"
|
|
95
|
+
* })
|
|
96
|
+
*/
|
|
97
|
+
listInWorkspace(request, requestOptions) {
|
|
98
|
+
return core.HttpResponsePromise.fromPromise(this.__listInWorkspace(request, requestOptions));
|
|
99
|
+
}
|
|
100
|
+
async __listInWorkspace(request, requestOptions) {
|
|
101
|
+
const { workspaceId } = request;
|
|
102
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
103
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
104
|
+
const _response = await core.fetcher({
|
|
105
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
106
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
107
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices`),
|
|
108
|
+
method: "GET",
|
|
109
|
+
headers: _headers,
|
|
110
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
111
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
112
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
113
|
+
abortSignal: requestOptions?.abortSignal,
|
|
114
|
+
fetchFn: this._options?.fetch,
|
|
115
|
+
logging: this._options.logging,
|
|
116
|
+
});
|
|
117
|
+
if (_response.ok) {
|
|
118
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
119
|
+
}
|
|
120
|
+
if (_response.error.reason === "status-code") {
|
|
121
|
+
switch (_response.error.statusCode) {
|
|
122
|
+
case 401:
|
|
123
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
124
|
+
case 404:
|
|
125
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
126
|
+
default:
|
|
127
|
+
throw new errors.LusorError({
|
|
128
|
+
statusCode: _response.error.statusCode,
|
|
129
|
+
body: _response.error.body,
|
|
130
|
+
rawResponse: _response.rawResponse,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices");
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Quotes `quantity` more Lusor Phones (default 1) on the workspace's
|
|
138
|
+
* Phone plan, as one change: the
|
|
139
|
+
* prorated amount charged today for the rest of the current period,
|
|
140
|
+
* and the next full invoice. Nothing is charged. The quote expires
|
|
141
|
+
* after 10 minutes; confirm it with `POST /devices/deploy`.
|
|
142
|
+
*
|
|
143
|
+
* Phones are deployed into the tenant's Default workspace only; any
|
|
144
|
+
* other workspace answers 409 `default_workspace_only`.
|
|
145
|
+
*
|
|
146
|
+
* **Retries:** safe without an `Idempotency-Key`: a preview only quotes, it changes nothing.
|
|
147
|
+
*
|
|
148
|
+
* @param {Lusor.DeviceDeployPreviewInput} request
|
|
149
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
150
|
+
*
|
|
151
|
+
* @throws {@link Lusor.BadRequestError}
|
|
152
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
153
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
154
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
155
|
+
* @throws {@link Lusor.NotFoundError}
|
|
156
|
+
* @throws {@link Lusor.ConflictError}
|
|
157
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
158
|
+
* @throws {@link errors.LusorError}
|
|
159
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* await client.devices.previewDeploy({
|
|
163
|
+
* workspaceId: "workspaceId"
|
|
164
|
+
* })
|
|
165
|
+
*/
|
|
166
|
+
previewDeploy(request, requestOptions) {
|
|
167
|
+
return core.HttpResponsePromise.fromPromise(this.__previewDeploy(request, requestOptions));
|
|
168
|
+
}
|
|
169
|
+
async __previewDeploy(request, requestOptions) {
|
|
170
|
+
const { workspaceId, ..._body } = request;
|
|
171
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
172
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
173
|
+
const _response = await core.fetcher({
|
|
174
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
175
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
176
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/deploy/preview`),
|
|
177
|
+
method: "POST",
|
|
178
|
+
headers: _headers,
|
|
179
|
+
contentType: "application/json",
|
|
180
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
181
|
+
requestType: "json",
|
|
182
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
183
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
184
|
+
maxRetries: 0,
|
|
185
|
+
abortSignal: requestOptions?.abortSignal,
|
|
186
|
+
fetchFn: this._options?.fetch,
|
|
187
|
+
logging: this._options.logging,
|
|
188
|
+
});
|
|
189
|
+
if (_response.ok) {
|
|
190
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
191
|
+
}
|
|
192
|
+
if (_response.error.reason === "status-code") {
|
|
193
|
+
switch (_response.error.statusCode) {
|
|
194
|
+
case 400:
|
|
195
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
196
|
+
case 401:
|
|
197
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
198
|
+
case 402:
|
|
199
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
200
|
+
case 403:
|
|
201
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
202
|
+
case 404:
|
|
203
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
204
|
+
case 409:
|
|
205
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
206
|
+
case 503:
|
|
207
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
208
|
+
default:
|
|
209
|
+
throw new errors.LusorError({
|
|
210
|
+
statusCode: _response.error.statusCode,
|
|
211
|
+
body: _response.error.body,
|
|
212
|
+
rawResponse: _response.rawResponse,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/deploy/preview");
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Confirms a deploy quote: the Phone plan quantity rises by the quoted
|
|
220
|
+
* number of phones and the quoted amount is charged to the saved card
|
|
221
|
+
* now. If the payment does not go through, the quantity stays
|
|
222
|
+
* unchanged, `paymentPending` is true and no phone is deployed;
|
|
223
|
+
* complete the payment in billing management.
|
|
224
|
+
*
|
|
225
|
+
* Each new phone appears in `GET /devices` once the payment is
|
|
226
|
+
* confirmed (seconds), and is ready to use once it has deployed
|
|
227
|
+
* (minutes).
|
|
228
|
+
*
|
|
229
|
+
* **Retries:** safe without an `Idempotency-Key`: a confirmed `previewId` replays its stored receipt, so it never charges or deploys twice.
|
|
230
|
+
*
|
|
231
|
+
* @param {Lusor.DeployDevicesRequest} request
|
|
232
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
233
|
+
*
|
|
234
|
+
* @throws {@link Lusor.BadRequestError}
|
|
235
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
236
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
237
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
238
|
+
* @throws {@link Lusor.NotFoundError}
|
|
239
|
+
* @throws {@link Lusor.ConflictError}
|
|
240
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
241
|
+
* @throws {@link errors.LusorError}
|
|
242
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* await client.devices.deploy({
|
|
246
|
+
* workspaceId: "workspaceId",
|
|
247
|
+
* body: {
|
|
248
|
+
* previewId: "previewId"
|
|
249
|
+
* }
|
|
250
|
+
* })
|
|
251
|
+
*/
|
|
252
|
+
deploy(request, requestOptions) {
|
|
253
|
+
return core.HttpResponsePromise.fromPromise(this.__deploy(request, requestOptions));
|
|
254
|
+
}
|
|
255
|
+
async __deploy(request, requestOptions) {
|
|
256
|
+
const { workspaceId, body: _body } = request;
|
|
257
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
258
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
259
|
+
const _response = await core.fetcher({
|
|
260
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
261
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
262
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/deploy`),
|
|
263
|
+
method: "POST",
|
|
264
|
+
headers: _headers,
|
|
265
|
+
contentType: "application/json",
|
|
266
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
267
|
+
requestType: "json",
|
|
268
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
269
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
270
|
+
maxRetries: 0,
|
|
271
|
+
abortSignal: requestOptions?.abortSignal,
|
|
272
|
+
fetchFn: this._options?.fetch,
|
|
273
|
+
logging: this._options.logging,
|
|
274
|
+
});
|
|
275
|
+
if (_response.ok) {
|
|
276
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
277
|
+
}
|
|
278
|
+
if (_response.error.reason === "status-code") {
|
|
279
|
+
switch (_response.error.statusCode) {
|
|
280
|
+
case 400:
|
|
281
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
282
|
+
case 401:
|
|
283
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
284
|
+
case 402:
|
|
285
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
286
|
+
case 403:
|
|
287
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
288
|
+
case 404:
|
|
289
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
290
|
+
case 409:
|
|
291
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
292
|
+
case 503:
|
|
293
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
294
|
+
default:
|
|
295
|
+
throw new errors.LusorError({
|
|
296
|
+
statusCode: _response.error.statusCode,
|
|
297
|
+
body: _response.error.body,
|
|
298
|
+
rawResponse: _response.rawResponse,
|
|
299
|
+
});
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/deploy");
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Quotes removing this Lusor Phone from the Phone plan: the plan
|
|
306
|
+
* quantity falls by one and the unused rest of the current period is
|
|
307
|
+
* credited to the account balance (applied to the next invoice).
|
|
308
|
+
* Nothing changes yet. The quote expires after 10 minutes; confirm it
|
|
309
|
+
* with `POST /devices/{deviceId}/remove`.
|
|
310
|
+
*
|
|
311
|
+
* Refused with 409 `device_busy` while a session is running on the
|
|
312
|
+
* phone, and 409 `last_phone` for the plan's last phone (cancel the
|
|
313
|
+
* plan in billing management instead).
|
|
314
|
+
*
|
|
315
|
+
* **Retries:** safe without an `Idempotency-Key`: a preview only quotes, it changes nothing.
|
|
316
|
+
*
|
|
317
|
+
* @param {Lusor.PreviewRemoveDevicesRequest} request
|
|
318
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
319
|
+
*
|
|
320
|
+
* @throws {@link Lusor.BadRequestError}
|
|
321
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
322
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
323
|
+
* @throws {@link Lusor.NotFoundError}
|
|
324
|
+
* @throws {@link Lusor.ConflictError}
|
|
325
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
326
|
+
* @throws {@link errors.LusorError}
|
|
327
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* await client.devices.previewRemove({
|
|
331
|
+
* workspaceId: "workspaceId",
|
|
332
|
+
* deviceId: "deviceId",
|
|
333
|
+
* body: {
|
|
334
|
+
* "key": "value"
|
|
335
|
+
* }
|
|
336
|
+
* })
|
|
337
|
+
*/
|
|
338
|
+
previewRemove(request, requestOptions) {
|
|
339
|
+
return core.HttpResponsePromise.fromPromise(this.__previewRemove(request, requestOptions));
|
|
340
|
+
}
|
|
341
|
+
async __previewRemove(request, requestOptions) {
|
|
342
|
+
const { workspaceId, deviceId, body: _body } = request;
|
|
343
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
344
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
345
|
+
const _response = await core.fetcher({
|
|
346
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
347
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
348
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/remove/preview`),
|
|
349
|
+
method: "POST",
|
|
350
|
+
headers: _headers,
|
|
351
|
+
contentType: "application/json",
|
|
352
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
353
|
+
requestType: "json",
|
|
354
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
355
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
356
|
+
maxRetries: 0,
|
|
357
|
+
abortSignal: requestOptions?.abortSignal,
|
|
358
|
+
fetchFn: this._options?.fetch,
|
|
359
|
+
logging: this._options.logging,
|
|
360
|
+
});
|
|
361
|
+
if (_response.ok) {
|
|
362
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
363
|
+
}
|
|
364
|
+
if (_response.error.reason === "status-code") {
|
|
365
|
+
switch (_response.error.statusCode) {
|
|
366
|
+
case 400:
|
|
367
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
368
|
+
case 401:
|
|
369
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
370
|
+
case 403:
|
|
371
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
372
|
+
case 404:
|
|
373
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
374
|
+
case 409:
|
|
375
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
376
|
+
case 503:
|
|
377
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
378
|
+
default:
|
|
379
|
+
throw new errors.LusorError({
|
|
380
|
+
statusCode: _response.error.statusCode,
|
|
381
|
+
body: _response.error.body,
|
|
382
|
+
rawResponse: _response.rawResponse,
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/remove/preview");
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Confirms a removal quote. This phone, and no other, stops accepting
|
|
390
|
+
* runs at once; the plan quantity falls by one, and the phone is then
|
|
391
|
+
* wiped and released. Its data cannot be recovered. A session started
|
|
392
|
+
* on it since the quote refuses the removal with 409 `device_busy`.
|
|
393
|
+
*
|
|
394
|
+
* **Retries:** safe without an `Idempotency-Key`: a confirmed `previewId` replays its stored receipt, so it never removes twice.
|
|
395
|
+
*
|
|
396
|
+
* @param {Lusor.RemoveDevicesRequest} request
|
|
397
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
398
|
+
*
|
|
399
|
+
* @throws {@link Lusor.BadRequestError}
|
|
400
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
401
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
402
|
+
* @throws {@link Lusor.NotFoundError}
|
|
403
|
+
* @throws {@link Lusor.ConflictError}
|
|
404
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
405
|
+
* @throws {@link errors.LusorError}
|
|
406
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
407
|
+
*
|
|
408
|
+
* @example
|
|
409
|
+
* await client.devices.remove({
|
|
410
|
+
* workspaceId: "workspaceId",
|
|
411
|
+
* deviceId: "deviceId",
|
|
412
|
+
* body: {
|
|
413
|
+
* previewId: "previewId"
|
|
414
|
+
* }
|
|
415
|
+
* })
|
|
416
|
+
*/
|
|
417
|
+
remove(request, requestOptions) {
|
|
418
|
+
return core.HttpResponsePromise.fromPromise(this.__remove(request, requestOptions));
|
|
419
|
+
}
|
|
420
|
+
async __remove(request, requestOptions) {
|
|
421
|
+
const { workspaceId, deviceId, body: _body } = request;
|
|
422
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
423
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
424
|
+
const _response = await core.fetcher({
|
|
425
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
426
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
427
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/remove`),
|
|
428
|
+
method: "POST",
|
|
429
|
+
headers: _headers,
|
|
430
|
+
contentType: "application/json",
|
|
431
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
432
|
+
requestType: "json",
|
|
433
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
434
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
435
|
+
maxRetries: 0,
|
|
436
|
+
abortSignal: requestOptions?.abortSignal,
|
|
437
|
+
fetchFn: this._options?.fetch,
|
|
438
|
+
logging: this._options.logging,
|
|
439
|
+
});
|
|
440
|
+
if (_response.ok) {
|
|
441
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
442
|
+
}
|
|
443
|
+
if (_response.error.reason === "status-code") {
|
|
444
|
+
switch (_response.error.statusCode) {
|
|
445
|
+
case 400:
|
|
446
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
447
|
+
case 401:
|
|
448
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
449
|
+
case 403:
|
|
450
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
451
|
+
case 404:
|
|
452
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
453
|
+
case 409:
|
|
454
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
455
|
+
case 503:
|
|
456
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
457
|
+
default:
|
|
458
|
+
throw new errors.LusorError({
|
|
459
|
+
statusCode: _response.error.statusCode,
|
|
460
|
+
body: _response.error.body,
|
|
461
|
+
rawResponse: _response.rawResponse,
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/remove");
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* The GPS location and timezone the phone reports to apps. In `auto`
|
|
469
|
+
* mode both follow the phone's Internet exit IP and are re-applied
|
|
470
|
+
* after every IP change. In `override` mode they are the values set
|
|
471
|
+
* with `PUT /geo`, and `apply.state` says whether the phone has them
|
|
472
|
+
* yet (`pending`, `applied`, `held` while the phone restarts or
|
|
473
|
+
* resets, or `failed`).
|
|
474
|
+
*
|
|
475
|
+
* @param {Lusor.GetGeoDevicesRequest} request
|
|
476
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
477
|
+
*
|
|
478
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
479
|
+
* @throws {@link Lusor.NotFoundError}
|
|
480
|
+
* @throws {@link Lusor.ConflictError}
|
|
481
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
482
|
+
* @throws {@link errors.LusorError}
|
|
483
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
484
|
+
*
|
|
485
|
+
* @example
|
|
486
|
+
* await client.devices.getGeo({
|
|
487
|
+
* workspaceId: "workspaceId",
|
|
488
|
+
* deviceId: "deviceId"
|
|
489
|
+
* })
|
|
490
|
+
*/
|
|
491
|
+
getGeo(request, requestOptions) {
|
|
492
|
+
return core.HttpResponsePromise.fromPromise(this.__getGeo(request, requestOptions));
|
|
493
|
+
}
|
|
494
|
+
async __getGeo(request, requestOptions) {
|
|
495
|
+
const { workspaceId, deviceId } = request;
|
|
496
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
497
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
498
|
+
const _response = await core.fetcher({
|
|
499
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
500
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
501
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/geo`),
|
|
502
|
+
method: "GET",
|
|
503
|
+
headers: _headers,
|
|
504
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
505
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
506
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
507
|
+
abortSignal: requestOptions?.abortSignal,
|
|
508
|
+
fetchFn: this._options?.fetch,
|
|
509
|
+
logging: this._options.logging,
|
|
510
|
+
});
|
|
511
|
+
if (_response.ok) {
|
|
512
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
513
|
+
}
|
|
514
|
+
if (_response.error.reason === "status-code") {
|
|
515
|
+
switch (_response.error.statusCode) {
|
|
516
|
+
case 401:
|
|
517
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
518
|
+
case 404:
|
|
519
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
520
|
+
case 409:
|
|
521
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
522
|
+
case 502:
|
|
523
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
524
|
+
default:
|
|
525
|
+
throw new errors.LusorError({
|
|
526
|
+
statusCode: _response.error.statusCode,
|
|
527
|
+
body: _response.error.body,
|
|
528
|
+
rawResponse: _response.rawResponse,
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/geo");
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Sets the GPS location and timezone the phone reports, replacing the
|
|
536
|
+
* automatic match to its Internet exit IP. The setting persists across
|
|
537
|
+
* restarts and IP changes until it is cleared with `DELETE /geo`, or
|
|
538
|
+
* until the phone is wiped (Wipe & reset) or removed. It can
|
|
539
|
+
* disagree with the exit IP's country or timezone; that is allowed.
|
|
540
|
+
*
|
|
541
|
+
* The change is stored at once and given to the phone in the
|
|
542
|
+
* background (usually within a minute); read `apply.state` with
|
|
543
|
+
* `GET /geo`. Allowed for an API key on its own workspace and for
|
|
544
|
+
* workspace admins and members.
|
|
545
|
+
*
|
|
546
|
+
* @param {Lusor.DeviceGeoInput} request
|
|
547
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
548
|
+
*
|
|
549
|
+
* @throws {@link Lusor.BadRequestError}
|
|
550
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
551
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
552
|
+
* @throws {@link Lusor.NotFoundError}
|
|
553
|
+
* @throws {@link Lusor.ConflictError}
|
|
554
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
555
|
+
* @throws {@link Lusor.GatewayTimeoutError}
|
|
556
|
+
* @throws {@link errors.LusorError}
|
|
557
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
558
|
+
*
|
|
559
|
+
* @example
|
|
560
|
+
* await client.devices.setGeo({
|
|
561
|
+
* workspaceId: "workspaceId",
|
|
562
|
+
* deviceId: "deviceId",
|
|
563
|
+
* latitude: 1.1,
|
|
564
|
+
* longitude: 1.1,
|
|
565
|
+
* timezone: "timezone"
|
|
566
|
+
* })
|
|
567
|
+
*/
|
|
568
|
+
setGeo(request, requestOptions) {
|
|
569
|
+
return core.HttpResponsePromise.fromPromise(this.__setGeo(request, requestOptions));
|
|
570
|
+
}
|
|
571
|
+
async __setGeo(request, requestOptions) {
|
|
572
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
573
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
574
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
575
|
+
const _response = await core.fetcher({
|
|
576
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
577
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
578
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/geo`),
|
|
579
|
+
method: "PUT",
|
|
580
|
+
headers: _headers,
|
|
581
|
+
contentType: "application/json",
|
|
582
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
583
|
+
requestType: "json",
|
|
584
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
585
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
586
|
+
maxRetries: 0,
|
|
587
|
+
abortSignal: requestOptions?.abortSignal,
|
|
588
|
+
fetchFn: this._options?.fetch,
|
|
589
|
+
logging: this._options.logging,
|
|
590
|
+
});
|
|
591
|
+
if (_response.ok) {
|
|
592
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
593
|
+
}
|
|
594
|
+
if (_response.error.reason === "status-code") {
|
|
595
|
+
switch (_response.error.statusCode) {
|
|
596
|
+
case 400:
|
|
597
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
598
|
+
case 401:
|
|
599
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
600
|
+
case 403:
|
|
601
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
602
|
+
case 404:
|
|
603
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
604
|
+
case 409:
|
|
605
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
606
|
+
case 502:
|
|
607
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
608
|
+
case 504:
|
|
609
|
+
throw new Lusor.GatewayTimeoutError(_response.error.body, _response.rawResponse);
|
|
610
|
+
default:
|
|
611
|
+
throw new errors.LusorError({
|
|
612
|
+
statusCode: _response.error.statusCode,
|
|
613
|
+
body: _response.error.body,
|
|
614
|
+
rawResponse: _response.rawResponse,
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v1/workspaces/{workspaceId}/devices/{deviceId}/geo");
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* Clears a location set with `PUT /geo`. The phone's GPS location and
|
|
622
|
+
* timezone follow its Internet exit IP again and are re-applied now.
|
|
623
|
+
* Clearing when nothing is set changes nothing.
|
|
624
|
+
*
|
|
625
|
+
* @param {Lusor.ClearGeoDevicesRequest} request
|
|
626
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
627
|
+
*
|
|
628
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
629
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
630
|
+
* @throws {@link Lusor.NotFoundError}
|
|
631
|
+
* @throws {@link Lusor.ConflictError}
|
|
632
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
633
|
+
* @throws {@link Lusor.GatewayTimeoutError}
|
|
634
|
+
* @throws {@link errors.LusorError}
|
|
635
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
636
|
+
*
|
|
637
|
+
* @example
|
|
638
|
+
* await client.devices.clearGeo({
|
|
639
|
+
* workspaceId: "workspaceId",
|
|
640
|
+
* deviceId: "deviceId"
|
|
641
|
+
* })
|
|
642
|
+
*/
|
|
643
|
+
clearGeo(request, requestOptions) {
|
|
644
|
+
return core.HttpResponsePromise.fromPromise(this.__clearGeo(request, requestOptions));
|
|
645
|
+
}
|
|
646
|
+
async __clearGeo(request, requestOptions) {
|
|
647
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey } = request;
|
|
648
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
649
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
650
|
+
const _response = await core.fetcher({
|
|
651
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
652
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
653
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/geo`),
|
|
654
|
+
method: "DELETE",
|
|
655
|
+
headers: _headers,
|
|
656
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
657
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
658
|
+
maxRetries: 0,
|
|
659
|
+
abortSignal: requestOptions?.abortSignal,
|
|
660
|
+
fetchFn: this._options?.fetch,
|
|
661
|
+
logging: this._options.logging,
|
|
662
|
+
});
|
|
663
|
+
if (_response.ok) {
|
|
664
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
665
|
+
}
|
|
666
|
+
if (_response.error.reason === "status-code") {
|
|
667
|
+
switch (_response.error.statusCode) {
|
|
668
|
+
case 401:
|
|
669
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
670
|
+
case 403:
|
|
671
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
672
|
+
case 404:
|
|
673
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
674
|
+
case 409:
|
|
675
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
676
|
+
case 502:
|
|
677
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
678
|
+
case 504:
|
|
679
|
+
throw new Lusor.GatewayTimeoutError(_response.error.body, _response.rawResponse);
|
|
680
|
+
default:
|
|
681
|
+
throw new errors.LusorError({
|
|
682
|
+
statusCode: _response.error.statusCode,
|
|
683
|
+
body: _response.error.body,
|
|
684
|
+
rawResponse: _response.rawResponse,
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "DELETE", "/v1/workspaces/{workspaceId}/devices/{deviceId}/geo");
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* `active` is the run currently holding the phone (null when idle;
|
|
692
|
+
* `agentId` is null for a run started without an agent). `queue` lists
|
|
693
|
+
* agent turns waiting for the phone, oldest first. `assigned` lists the
|
|
694
|
+
* agents attached to the phone.
|
|
695
|
+
*
|
|
696
|
+
* @param {Lusor.OccupancyDevicesRequest} request
|
|
697
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
698
|
+
*
|
|
699
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
700
|
+
* @throws {@link Lusor.NotFoundError}
|
|
701
|
+
* @throws {@link errors.LusorError}
|
|
702
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
703
|
+
*
|
|
704
|
+
* @example
|
|
705
|
+
* await client.devices.occupancy({
|
|
706
|
+
* workspaceId: "workspaceId",
|
|
707
|
+
* deviceId: "deviceId"
|
|
708
|
+
* })
|
|
709
|
+
*/
|
|
710
|
+
occupancy(request, requestOptions) {
|
|
711
|
+
return core.HttpResponsePromise.fromPromise(this.__occupancy(request, requestOptions));
|
|
712
|
+
}
|
|
713
|
+
async __occupancy(request, requestOptions) {
|
|
714
|
+
const { workspaceId, deviceId } = request;
|
|
715
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
716
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
717
|
+
const _response = await core.fetcher({
|
|
718
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
719
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
720
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/occupancy`),
|
|
721
|
+
method: "GET",
|
|
722
|
+
headers: _headers,
|
|
723
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
724
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
725
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
726
|
+
abortSignal: requestOptions?.abortSignal,
|
|
727
|
+
fetchFn: this._options?.fetch,
|
|
728
|
+
logging: this._options.logging,
|
|
729
|
+
});
|
|
730
|
+
if (_response.ok) {
|
|
731
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
732
|
+
}
|
|
733
|
+
if (_response.error.reason === "status-code") {
|
|
734
|
+
switch (_response.error.statusCode) {
|
|
735
|
+
case 401:
|
|
736
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
737
|
+
case 404:
|
|
738
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
739
|
+
default:
|
|
740
|
+
throw new errors.LusorError({
|
|
741
|
+
statusCode: _response.error.statusCode,
|
|
742
|
+
body: _response.error.body,
|
|
743
|
+
rawResponse: _response.rawResponse,
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/occupancy");
|
|
748
|
+
}
|
|
749
|
+
/**
|
|
750
|
+
* `rotating`: the countries a phone can be bought in or moved to on the
|
|
751
|
+
* residential route. `persistent`: the countries a static IP is sold in.
|
|
752
|
+
* ISO 3166-1 alpha-2 codes, lowercase. Any other country answers 400
|
|
753
|
+
* `unsupported_country` at purchase and on a location change.
|
|
754
|
+
*
|
|
755
|
+
* @param {Lusor.ListInternetLocationsRequest} request
|
|
756
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
757
|
+
*
|
|
758
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
759
|
+
* @throws {@link Lusor.NotFoundError}
|
|
760
|
+
* @throws {@link errors.LusorError}
|
|
761
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
762
|
+
*
|
|
763
|
+
* @example
|
|
764
|
+
* await client.devices.listInternetLocations({
|
|
765
|
+
* workspaceId: "workspaceId"
|
|
766
|
+
* })
|
|
767
|
+
*/
|
|
768
|
+
listInternetLocations(request, requestOptions) {
|
|
769
|
+
return core.HttpResponsePromise.fromPromise(this.__listInternetLocations(request, requestOptions));
|
|
770
|
+
}
|
|
771
|
+
async __listInternetLocations(request, requestOptions) {
|
|
772
|
+
const { workspaceId } = request;
|
|
773
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
774
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
775
|
+
const _response = await core.fetcher({
|
|
776
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
777
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
778
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/internet/locations`),
|
|
779
|
+
method: "GET",
|
|
780
|
+
headers: _headers,
|
|
781
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
782
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
783
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
784
|
+
abortSignal: requestOptions?.abortSignal,
|
|
785
|
+
fetchFn: this._options?.fetch,
|
|
786
|
+
logging: this._options.logging,
|
|
787
|
+
});
|
|
788
|
+
if (_response.ok) {
|
|
789
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
790
|
+
}
|
|
791
|
+
if (_response.error.reason === "status-code") {
|
|
792
|
+
switch (_response.error.statusCode) {
|
|
793
|
+
case 401:
|
|
794
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
795
|
+
case 404:
|
|
796
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
797
|
+
default:
|
|
798
|
+
throw new errors.LusorError({
|
|
799
|
+
statusCode: _response.error.statusCode,
|
|
800
|
+
body: _response.error.body,
|
|
801
|
+
rawResponse: _response.rawResponse,
|
|
802
|
+
});
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/internet/locations");
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* The country the phone's Internet traffic exits from, and whether the
|
|
809
|
+
* phone is on its static IP (`route: "static"`) or the shared
|
|
810
|
+
* residential route (`route: "residential"`). `applied` is `pending`
|
|
811
|
+
* until the phone's route is recorded.
|
|
812
|
+
*
|
|
813
|
+
* @param {Lusor.GetInternetLocationDevicesRequest} request
|
|
814
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
815
|
+
*
|
|
816
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
817
|
+
* @throws {@link Lusor.NotFoundError}
|
|
818
|
+
* @throws {@link Lusor.ConflictError}
|
|
819
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
820
|
+
* @throws {@link errors.LusorError}
|
|
821
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
822
|
+
*
|
|
823
|
+
* @example
|
|
824
|
+
* await client.devices.getInternetLocation({
|
|
825
|
+
* workspaceId: "workspaceId",
|
|
826
|
+
* deviceId: "deviceId"
|
|
827
|
+
* })
|
|
828
|
+
*/
|
|
829
|
+
getInternetLocation(request, requestOptions) {
|
|
830
|
+
return core.HttpResponsePromise.fromPromise(this.__getInternetLocation(request, requestOptions));
|
|
831
|
+
}
|
|
832
|
+
async __getInternetLocation(request, requestOptions) {
|
|
833
|
+
const { workspaceId, deviceId } = request;
|
|
834
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
835
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
836
|
+
const _response = await core.fetcher({
|
|
837
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
838
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
839
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/internet-location`),
|
|
840
|
+
method: "GET",
|
|
841
|
+
headers: _headers,
|
|
842
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
843
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
844
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
845
|
+
abortSignal: requestOptions?.abortSignal,
|
|
846
|
+
fetchFn: this._options?.fetch,
|
|
847
|
+
logging: this._options.logging,
|
|
848
|
+
});
|
|
849
|
+
if (_response.ok) {
|
|
850
|
+
return {
|
|
851
|
+
data: _response.body,
|
|
852
|
+
rawResponse: _response.rawResponse,
|
|
853
|
+
};
|
|
854
|
+
}
|
|
855
|
+
if (_response.error.reason === "status-code") {
|
|
856
|
+
switch (_response.error.statusCode) {
|
|
857
|
+
case 401:
|
|
858
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
859
|
+
case 404:
|
|
860
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
861
|
+
case 409:
|
|
862
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
863
|
+
case 503:
|
|
864
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
865
|
+
default:
|
|
866
|
+
throw new errors.LusorError({
|
|
867
|
+
statusCode: _response.error.statusCode,
|
|
868
|
+
body: _response.error.body,
|
|
869
|
+
rawResponse: _response.rawResponse,
|
|
870
|
+
});
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/internet-location");
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* Without `operation`, returns the phone's static IP state. With the
|
|
877
|
+
* `operation` id returned when a static IP was requested, returns that
|
|
878
|
+
* operation's outcome: `200` once it settled, `202` while it is still
|
|
879
|
+
* in progress (poll again).
|
|
880
|
+
*
|
|
881
|
+
* @param {Lusor.GetStaticIpDevicesRequest} request
|
|
882
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
883
|
+
*
|
|
884
|
+
* @throws {@link Lusor.BadRequestError}
|
|
885
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
886
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
887
|
+
* @throws {@link Lusor.NotFoundError}
|
|
888
|
+
* @throws {@link Lusor.ConflictError}
|
|
889
|
+
* @throws {@link Lusor.TooManyRequestsError}
|
|
890
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
891
|
+
* @throws {@link errors.LusorError}
|
|
892
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
893
|
+
*
|
|
894
|
+
* @example
|
|
895
|
+
* await client.devices.getStaticIp({
|
|
896
|
+
* workspaceId: "workspaceId",
|
|
897
|
+
* deviceId: "deviceId"
|
|
898
|
+
* })
|
|
899
|
+
*/
|
|
900
|
+
getStaticIp(request, requestOptions) {
|
|
901
|
+
return core.HttpResponsePromise.fromPromise(this.__getStaticIp(request, requestOptions));
|
|
902
|
+
}
|
|
903
|
+
async __getStaticIp(request, requestOptions) {
|
|
904
|
+
const { workspaceId, deviceId, operation } = request;
|
|
905
|
+
const _queryParams = {
|
|
906
|
+
operation,
|
|
907
|
+
};
|
|
908
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
909
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
910
|
+
const _response = await core.fetcher({
|
|
911
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
912
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
913
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/static-ip`),
|
|
914
|
+
method: "GET",
|
|
915
|
+
headers: _headers,
|
|
916
|
+
queryString: core.url
|
|
917
|
+
.queryBuilder()
|
|
918
|
+
.addMany(_queryParams)
|
|
919
|
+
.mergeAdditional(requestOptions?.queryParams)
|
|
920
|
+
.build(),
|
|
921
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
922
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
923
|
+
abortSignal: requestOptions?.abortSignal,
|
|
924
|
+
fetchFn: this._options?.fetch,
|
|
925
|
+
logging: this._options.logging,
|
|
926
|
+
});
|
|
927
|
+
if (_response.ok) {
|
|
928
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
929
|
+
}
|
|
930
|
+
if (_response.error.reason === "status-code") {
|
|
931
|
+
switch (_response.error.statusCode) {
|
|
932
|
+
case 400:
|
|
933
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
934
|
+
case 401:
|
|
935
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
936
|
+
case 402:
|
|
937
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
938
|
+
case 404:
|
|
939
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
940
|
+
case 409:
|
|
941
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
942
|
+
case 429:
|
|
943
|
+
throw new Lusor.TooManyRequestsError(_response.error.body, _response.rawResponse);
|
|
944
|
+
case 503:
|
|
945
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
946
|
+
default:
|
|
947
|
+
throw new errors.LusorError({
|
|
948
|
+
statusCode: _response.error.statusCode,
|
|
949
|
+
body: _response.error.body,
|
|
950
|
+
rawResponse: _response.rawResponse,
|
|
951
|
+
});
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/static-ip");
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* The state of the phone's most recent wipe and reset: `idle` (none
|
|
958
|
+
* has run), `running`, `succeeded`, `refused` (it did not start; see
|
|
959
|
+
* `reason`), or `failed`.
|
|
960
|
+
*
|
|
961
|
+
* @param {Lusor.GetResetDevicesRequest} request
|
|
962
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
963
|
+
*
|
|
964
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
965
|
+
* @throws {@link Lusor.NotFoundError}
|
|
966
|
+
* @throws {@link Lusor.ConflictError}
|
|
967
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
968
|
+
* @throws {@link errors.LusorError}
|
|
969
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
970
|
+
*
|
|
971
|
+
* @example
|
|
972
|
+
* await client.devices.getReset({
|
|
973
|
+
* workspaceId: "workspaceId",
|
|
974
|
+
* deviceId: "deviceId"
|
|
975
|
+
* })
|
|
976
|
+
*/
|
|
977
|
+
getReset(request, requestOptions) {
|
|
978
|
+
return core.HttpResponsePromise.fromPromise(this.__getReset(request, requestOptions));
|
|
979
|
+
}
|
|
980
|
+
async __getReset(request, requestOptions) {
|
|
981
|
+
const { workspaceId, deviceId } = request;
|
|
982
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
983
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
984
|
+
const _response = await core.fetcher({
|
|
985
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
986
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
987
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/reset`),
|
|
988
|
+
method: "GET",
|
|
989
|
+
headers: _headers,
|
|
990
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
991
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
992
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
993
|
+
abortSignal: requestOptions?.abortSignal,
|
|
994
|
+
fetchFn: this._options?.fetch,
|
|
995
|
+
logging: this._options.logging,
|
|
996
|
+
});
|
|
997
|
+
if (_response.ok) {
|
|
998
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
999
|
+
}
|
|
1000
|
+
if (_response.error.reason === "status-code") {
|
|
1001
|
+
switch (_response.error.statusCode) {
|
|
1002
|
+
case 401:
|
|
1003
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1004
|
+
case 404:
|
|
1005
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1006
|
+
case 409:
|
|
1007
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1008
|
+
case 502:
|
|
1009
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
1010
|
+
default:
|
|
1011
|
+
throw new errors.LusorError({
|
|
1012
|
+
statusCode: _response.error.statusCode,
|
|
1013
|
+
body: _response.error.body,
|
|
1014
|
+
rawResponse: _response.rawResponse,
|
|
1015
|
+
});
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/reset");
|
|
1019
|
+
}
|
|
1020
|
+
/**
|
|
1021
|
+
* Captures the current UI tree and screen dimensions. The `a11yTree`
|
|
1022
|
+
* field carries the formatted element tree (with 1-based interactive
|
|
1023
|
+
* indices) used by `POST /tap { index }`.
|
|
1024
|
+
*
|
|
1025
|
+
* On a Lusor Phone, an API-key read meters phone minutes like any
|
|
1026
|
+
* other direct action.
|
|
1027
|
+
*
|
|
1028
|
+
* @param {Lusor.StateDevicesRequest} request
|
|
1029
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1030
|
+
*
|
|
1031
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1032
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1033
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1034
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
1035
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1036
|
+
* @throws {@link errors.LusorError}
|
|
1037
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1038
|
+
*
|
|
1039
|
+
* @example
|
|
1040
|
+
* await client.devices.state({
|
|
1041
|
+
* workspaceId: "workspaceId",
|
|
1042
|
+
* deviceId: "deviceId"
|
|
1043
|
+
* })
|
|
1044
|
+
*/
|
|
1045
|
+
state(request, requestOptions) {
|
|
1046
|
+
return core.HttpResponsePromise.fromPromise(this.__state(request, requestOptions));
|
|
1047
|
+
}
|
|
1048
|
+
async __state(request, requestOptions) {
|
|
1049
|
+
const { workspaceId, deviceId } = request;
|
|
1050
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1051
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
1052
|
+
const _response = await core.fetcher({
|
|
1053
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1054
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1055
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/state`),
|
|
1056
|
+
method: "GET",
|
|
1057
|
+
headers: _headers,
|
|
1058
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1059
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1060
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1061
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1062
|
+
fetchFn: this._options?.fetch,
|
|
1063
|
+
logging: this._options.logging,
|
|
1064
|
+
});
|
|
1065
|
+
if (_response.ok) {
|
|
1066
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1067
|
+
}
|
|
1068
|
+
if (_response.error.reason === "status-code") {
|
|
1069
|
+
switch (_response.error.statusCode) {
|
|
1070
|
+
case 401:
|
|
1071
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1072
|
+
case 402:
|
|
1073
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1074
|
+
case 404:
|
|
1075
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1076
|
+
case 502:
|
|
1077
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
1078
|
+
case 503:
|
|
1079
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1080
|
+
default:
|
|
1081
|
+
throw new errors.LusorError({
|
|
1082
|
+
statusCode: _response.error.statusCode,
|
|
1083
|
+
body: _response.error.body,
|
|
1084
|
+
rawResponse: _response.rawResponse,
|
|
1085
|
+
});
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/state");
|
|
1089
|
+
}
|
|
1090
|
+
/**
|
|
1091
|
+
* Triggers a fresh screenshot on the device and returns the resulting
|
|
1092
|
+
* PNG bytes. Response is binary `image/png`.
|
|
1093
|
+
*
|
|
1094
|
+
* On a Lusor Phone, an API-key read meters phone minutes like any
|
|
1095
|
+
* other direct action.
|
|
1096
|
+
*
|
|
1097
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1098
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1099
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1100
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
1101
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1102
|
+
* @throws {@link errors.LusorError}
|
|
1103
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1104
|
+
*/
|
|
1105
|
+
screenshot(request, requestOptions) {
|
|
1106
|
+
return core.HttpResponsePromise.fromPromise(this.__screenshot(request, requestOptions));
|
|
1107
|
+
}
|
|
1108
|
+
async __screenshot(request, requestOptions) {
|
|
1109
|
+
const { workspaceId, deviceId } = request;
|
|
1110
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1111
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
1112
|
+
const _response = await core.fetcher({
|
|
1113
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1114
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1115
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/screenshot`),
|
|
1116
|
+
method: "GET",
|
|
1117
|
+
headers: _headers,
|
|
1118
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1119
|
+
responseType: "binary-response",
|
|
1120
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1121
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
1122
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1123
|
+
fetchFn: this._options?.fetch,
|
|
1124
|
+
logging: this._options.logging,
|
|
1125
|
+
});
|
|
1126
|
+
if (_response.ok) {
|
|
1127
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1128
|
+
}
|
|
1129
|
+
if (_response.error.reason === "status-code") {
|
|
1130
|
+
switch (_response.error.statusCode) {
|
|
1131
|
+
case 401:
|
|
1132
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1133
|
+
case 402:
|
|
1134
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1135
|
+
case 404:
|
|
1136
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1137
|
+
case 502:
|
|
1138
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
1139
|
+
case 503:
|
|
1140
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1141
|
+
default:
|
|
1142
|
+
throw new errors.LusorError({
|
|
1143
|
+
statusCode: _response.error.statusCode,
|
|
1144
|
+
body: _response.error.body,
|
|
1145
|
+
rawResponse: _response.rawResponse,
|
|
1146
|
+
});
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/screenshot");
|
|
1150
|
+
}
|
|
1151
|
+
/**
|
|
1152
|
+
* Triggers a fresh screenshot on the device and returns
|
|
1153
|
+
* the standard verb envelope. Pass `capture: true` (or
|
|
1154
|
+
* `capture: { screenshot: true, ui: true }`) to receive the
|
|
1155
|
+
* formatted element tree + `screenshot_url` in the same response.
|
|
1156
|
+
*
|
|
1157
|
+
* Unlike `GET /screenshot` (which returns binary PNG), this verb
|
|
1158
|
+
* is the chain-compatible variant — the same shape as `tap`,
|
|
1159
|
+
* `swipe`, etc. so it slots into a `POST /chain` step list.
|
|
1160
|
+
*
|
|
1161
|
+
* @param {Lusor.TakeScreenshotDevicesRequest} request
|
|
1162
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1163
|
+
*
|
|
1164
|
+
* @throws {@link Lusor.BadRequestError}
|
|
1165
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1166
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1167
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1168
|
+
* @throws {@link Lusor.ConflictError}
|
|
1169
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1170
|
+
* @throws {@link errors.LusorError}
|
|
1171
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1172
|
+
*
|
|
1173
|
+
* @example
|
|
1174
|
+
* await client.devices.takeScreenshot({
|
|
1175
|
+
* workspaceId: "workspaceId",
|
|
1176
|
+
* deviceId: "deviceId",
|
|
1177
|
+
* body: {}
|
|
1178
|
+
* })
|
|
1179
|
+
*/
|
|
1180
|
+
takeScreenshot(request, requestOptions) {
|
|
1181
|
+
return core.HttpResponsePromise.fromPromise(this.__takeScreenshot(request, requestOptions));
|
|
1182
|
+
}
|
|
1183
|
+
async __takeScreenshot(request, requestOptions) {
|
|
1184
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, body: _body } = request;
|
|
1185
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1186
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1187
|
+
const _response = await core.fetcher({
|
|
1188
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1189
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1190
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/screenshot`),
|
|
1191
|
+
method: "POST",
|
|
1192
|
+
headers: _headers,
|
|
1193
|
+
contentType: "application/json",
|
|
1194
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1195
|
+
requestType: "json",
|
|
1196
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1197
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1198
|
+
maxRetries: 0,
|
|
1199
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1200
|
+
fetchFn: this._options?.fetch,
|
|
1201
|
+
logging: this._options.logging,
|
|
1202
|
+
});
|
|
1203
|
+
if (_response.ok) {
|
|
1204
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1205
|
+
}
|
|
1206
|
+
if (_response.error.reason === "status-code") {
|
|
1207
|
+
switch (_response.error.statusCode) {
|
|
1208
|
+
case 400:
|
|
1209
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
1210
|
+
case 401:
|
|
1211
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1212
|
+
case 402:
|
|
1213
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1214
|
+
case 404:
|
|
1215
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1216
|
+
case 409:
|
|
1217
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1218
|
+
case 503:
|
|
1219
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1220
|
+
default:
|
|
1221
|
+
throw new errors.LusorError({
|
|
1222
|
+
statusCode: _response.error.statusCode,
|
|
1223
|
+
body: _response.error.body,
|
|
1224
|
+
rawResponse: _response.rawResponse,
|
|
1225
|
+
});
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/screenshot");
|
|
1229
|
+
}
|
|
1230
|
+
/**
|
|
1231
|
+
* Tap an interactive element by `{ index }` (1-based, from
|
|
1232
|
+
* `/state.a11yTree`) OR an explicit `{ x, y }` coordinate. Supplying
|
|
1233
|
+
* both is accepted and `index` wins. At least one of the two forms is
|
|
1234
|
+
* required: supplying neither is a 400, and `x` without `y` is also a
|
|
1235
|
+
* 400 when no `index` is supplied (with `index`, any coordinates are
|
|
1236
|
+
* accepted and ignored).
|
|
1237
|
+
*
|
|
1238
|
+
* Optionally include `capture: true | CaptureOptions` to
|
|
1239
|
+
* return a fresh element tree + screen dimensions in the same
|
|
1240
|
+
* round trip.
|
|
1241
|
+
*
|
|
1242
|
+
* @param {Lusor.TapInput} request
|
|
1243
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1244
|
+
*
|
|
1245
|
+
* @throws {@link Lusor.BadRequestError}
|
|
1246
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1247
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1248
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1249
|
+
* @throws {@link Lusor.ConflictError}
|
|
1250
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1251
|
+
* @throws {@link errors.LusorError}
|
|
1252
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1253
|
+
*
|
|
1254
|
+
* @example
|
|
1255
|
+
* await client.devices.tap({
|
|
1256
|
+
* workspaceId: "workspaceId",
|
|
1257
|
+
* deviceId: "deviceId"
|
|
1258
|
+
* })
|
|
1259
|
+
*/
|
|
1260
|
+
tap(request, requestOptions) {
|
|
1261
|
+
return core.HttpResponsePromise.fromPromise(this.__tap(request, requestOptions));
|
|
1262
|
+
}
|
|
1263
|
+
async __tap(request, requestOptions) {
|
|
1264
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
1265
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1266
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1267
|
+
const _response = await core.fetcher({
|
|
1268
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1269
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1270
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/tap`),
|
|
1271
|
+
method: "POST",
|
|
1272
|
+
headers: _headers,
|
|
1273
|
+
contentType: "application/json",
|
|
1274
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1275
|
+
requestType: "json",
|
|
1276
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1277
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1278
|
+
maxRetries: 0,
|
|
1279
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1280
|
+
fetchFn: this._options?.fetch,
|
|
1281
|
+
logging: this._options.logging,
|
|
1282
|
+
});
|
|
1283
|
+
if (_response.ok) {
|
|
1284
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1285
|
+
}
|
|
1286
|
+
if (_response.error.reason === "status-code") {
|
|
1287
|
+
switch (_response.error.statusCode) {
|
|
1288
|
+
case 400:
|
|
1289
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
1290
|
+
case 401:
|
|
1291
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1292
|
+
case 402:
|
|
1293
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1294
|
+
case 404:
|
|
1295
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1296
|
+
case 409:
|
|
1297
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1298
|
+
case 503:
|
|
1299
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1300
|
+
default:
|
|
1301
|
+
throw new errors.LusorError({
|
|
1302
|
+
statusCode: _response.error.statusCode,
|
|
1303
|
+
body: _response.error.body,
|
|
1304
|
+
rawResponse: _response.rawResponse,
|
|
1305
|
+
});
|
|
1306
|
+
}
|
|
1307
|
+
}
|
|
1308
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/tap");
|
|
1309
|
+
}
|
|
1310
|
+
/**
|
|
1311
|
+
* Optionally include `capture: true | CaptureOptions` to
|
|
1312
|
+
* return a fresh element tree + screen dimensions in the same
|
|
1313
|
+
* round trip.
|
|
1314
|
+
*
|
|
1315
|
+
* @param {Lusor.SwipeInput} request
|
|
1316
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1317
|
+
*
|
|
1318
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1319
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1320
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1321
|
+
* @throws {@link Lusor.ConflictError}
|
|
1322
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1323
|
+
* @throws {@link errors.LusorError}
|
|
1324
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1325
|
+
*
|
|
1326
|
+
* @example
|
|
1327
|
+
* await client.devices.swipe({
|
|
1328
|
+
* workspaceId: "workspaceId",
|
|
1329
|
+
* deviceId: "deviceId",
|
|
1330
|
+
* startX: 1.1,
|
|
1331
|
+
* startY: 1.1,
|
|
1332
|
+
* endX: 1.1,
|
|
1333
|
+
* endY: 1.1
|
|
1334
|
+
* })
|
|
1335
|
+
*/
|
|
1336
|
+
swipe(request, requestOptions) {
|
|
1337
|
+
return core.HttpResponsePromise.fromPromise(this.__swipe(request, requestOptions));
|
|
1338
|
+
}
|
|
1339
|
+
async __swipe(request, requestOptions) {
|
|
1340
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
1341
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1342
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1343
|
+
const _response = await core.fetcher({
|
|
1344
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1345
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1346
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/swipe`),
|
|
1347
|
+
method: "POST",
|
|
1348
|
+
headers: _headers,
|
|
1349
|
+
contentType: "application/json",
|
|
1350
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1351
|
+
requestType: "json",
|
|
1352
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1353
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1354
|
+
maxRetries: 0,
|
|
1355
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1356
|
+
fetchFn: this._options?.fetch,
|
|
1357
|
+
logging: this._options.logging,
|
|
1358
|
+
});
|
|
1359
|
+
if (_response.ok) {
|
|
1360
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1361
|
+
}
|
|
1362
|
+
if (_response.error.reason === "status-code") {
|
|
1363
|
+
switch (_response.error.statusCode) {
|
|
1364
|
+
case 401:
|
|
1365
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1366
|
+
case 402:
|
|
1367
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1368
|
+
case 404:
|
|
1369
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1370
|
+
case 409:
|
|
1371
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1372
|
+
case 503:
|
|
1373
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1374
|
+
default:
|
|
1375
|
+
throw new errors.LusorError({
|
|
1376
|
+
statusCode: _response.error.statusCode,
|
|
1377
|
+
body: _response.error.body,
|
|
1378
|
+
rawResponse: _response.rawResponse,
|
|
1379
|
+
});
|
|
1380
|
+
}
|
|
1381
|
+
}
|
|
1382
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/swipe");
|
|
1383
|
+
}
|
|
1384
|
+
/**
|
|
1385
|
+
* Optionally include `capture: true | CaptureOptions` to
|
|
1386
|
+
* return a fresh element tree + screen dimensions in the same
|
|
1387
|
+
* round trip.
|
|
1388
|
+
*
|
|
1389
|
+
* @param {Lusor.TypeTextInput} request
|
|
1390
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1391
|
+
*
|
|
1392
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1393
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1394
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1395
|
+
* @throws {@link Lusor.ConflictError}
|
|
1396
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1397
|
+
* @throws {@link errors.LusorError}
|
|
1398
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1399
|
+
*
|
|
1400
|
+
* @example
|
|
1401
|
+
* await client.devices.type({
|
|
1402
|
+
* workspaceId: "workspaceId",
|
|
1403
|
+
* deviceId: "deviceId",
|
|
1404
|
+
* text: "text"
|
|
1405
|
+
* })
|
|
1406
|
+
*/
|
|
1407
|
+
type(request, requestOptions) {
|
|
1408
|
+
return core.HttpResponsePromise.fromPromise(this.__type(request, requestOptions));
|
|
1409
|
+
}
|
|
1410
|
+
async __type(request, requestOptions) {
|
|
1411
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
1412
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1413
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1414
|
+
const _response = await core.fetcher({
|
|
1415
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1416
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1417
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/type`),
|
|
1418
|
+
method: "POST",
|
|
1419
|
+
headers: _headers,
|
|
1420
|
+
contentType: "application/json",
|
|
1421
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1422
|
+
requestType: "json",
|
|
1423
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1424
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1425
|
+
maxRetries: 0,
|
|
1426
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1427
|
+
fetchFn: this._options?.fetch,
|
|
1428
|
+
logging: this._options.logging,
|
|
1429
|
+
});
|
|
1430
|
+
if (_response.ok) {
|
|
1431
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1432
|
+
}
|
|
1433
|
+
if (_response.error.reason === "status-code") {
|
|
1434
|
+
switch (_response.error.statusCode) {
|
|
1435
|
+
case 401:
|
|
1436
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1437
|
+
case 402:
|
|
1438
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1439
|
+
case 404:
|
|
1440
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1441
|
+
case 409:
|
|
1442
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1443
|
+
case 503:
|
|
1444
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1445
|
+
default:
|
|
1446
|
+
throw new errors.LusorError({
|
|
1447
|
+
statusCode: _response.error.statusCode,
|
|
1448
|
+
body: _response.error.body,
|
|
1449
|
+
rawResponse: _response.rawResponse,
|
|
1450
|
+
});
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/type");
|
|
1454
|
+
}
|
|
1455
|
+
/**
|
|
1456
|
+
* Send a single Android KeyEvent. Common codes: 66=Enter, 67=Del,
|
|
1457
|
+
* 61=Tab, 111=Esc, 19/20/21/22=DPad.
|
|
1458
|
+
*
|
|
1459
|
+
* Optionally include `capture: true | CaptureOptions` to
|
|
1460
|
+
* return a fresh element tree + screen dimensions in the same
|
|
1461
|
+
* round trip.
|
|
1462
|
+
*
|
|
1463
|
+
* @param {Lusor.KeyInput} request
|
|
1464
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1465
|
+
*
|
|
1466
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1467
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1468
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1469
|
+
* @throws {@link Lusor.ConflictError}
|
|
1470
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1471
|
+
* @throws {@link errors.LusorError}
|
|
1472
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1473
|
+
*
|
|
1474
|
+
* @example
|
|
1475
|
+
* await client.devices.key({
|
|
1476
|
+
* workspaceId: "workspaceId",
|
|
1477
|
+
* deviceId: "deviceId",
|
|
1478
|
+
* keyCode: 1
|
|
1479
|
+
* })
|
|
1480
|
+
*/
|
|
1481
|
+
key(request, requestOptions) {
|
|
1482
|
+
return core.HttpResponsePromise.fromPromise(this.__key(request, requestOptions));
|
|
1483
|
+
}
|
|
1484
|
+
async __key(request, requestOptions) {
|
|
1485
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
1486
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1487
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1488
|
+
const _response = await core.fetcher({
|
|
1489
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1490
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1491
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/key`),
|
|
1492
|
+
method: "POST",
|
|
1493
|
+
headers: _headers,
|
|
1494
|
+
contentType: "application/json",
|
|
1495
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1496
|
+
requestType: "json",
|
|
1497
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1498
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1499
|
+
maxRetries: 0,
|
|
1500
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1501
|
+
fetchFn: this._options?.fetch,
|
|
1502
|
+
logging: this._options.logging,
|
|
1503
|
+
});
|
|
1504
|
+
if (_response.ok) {
|
|
1505
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1506
|
+
}
|
|
1507
|
+
if (_response.error.reason === "status-code") {
|
|
1508
|
+
switch (_response.error.statusCode) {
|
|
1509
|
+
case 401:
|
|
1510
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1511
|
+
case 402:
|
|
1512
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1513
|
+
case 404:
|
|
1514
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1515
|
+
case 409:
|
|
1516
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1517
|
+
case 503:
|
|
1518
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1519
|
+
default:
|
|
1520
|
+
throw new errors.LusorError({
|
|
1521
|
+
statusCode: _response.error.statusCode,
|
|
1522
|
+
body: _response.error.body,
|
|
1523
|
+
rawResponse: _response.rawResponse,
|
|
1524
|
+
});
|
|
1525
|
+
}
|
|
1526
|
+
}
|
|
1527
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/key");
|
|
1528
|
+
}
|
|
1529
|
+
/**
|
|
1530
|
+
* Accepts an optional `capture` field identical in shape to the
|
|
1531
|
+
* parameterised verbs.
|
|
1532
|
+
*
|
|
1533
|
+
* @param {Lusor.ClearDevicesRequest} request
|
|
1534
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1535
|
+
*
|
|
1536
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1537
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1538
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1539
|
+
* @throws {@link Lusor.ConflictError}
|
|
1540
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1541
|
+
* @throws {@link errors.LusorError}
|
|
1542
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1543
|
+
*
|
|
1544
|
+
* @example
|
|
1545
|
+
* await client.devices.clear({
|
|
1546
|
+
* workspaceId: "workspaceId",
|
|
1547
|
+
* deviceId: "deviceId",
|
|
1548
|
+
* body: {}
|
|
1549
|
+
* })
|
|
1550
|
+
*/
|
|
1551
|
+
clear(request, requestOptions) {
|
|
1552
|
+
return core.HttpResponsePromise.fromPromise(this.__clear(request, requestOptions));
|
|
1553
|
+
}
|
|
1554
|
+
async __clear(request, requestOptions) {
|
|
1555
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, body: _body } = request;
|
|
1556
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1557
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1558
|
+
const _response = await core.fetcher({
|
|
1559
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1560
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1561
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/clear`),
|
|
1562
|
+
method: "POST",
|
|
1563
|
+
headers: _headers,
|
|
1564
|
+
contentType: "application/json",
|
|
1565
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1566
|
+
requestType: "json",
|
|
1567
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1568
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1569
|
+
maxRetries: 0,
|
|
1570
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1571
|
+
fetchFn: this._options?.fetch,
|
|
1572
|
+
logging: this._options.logging,
|
|
1573
|
+
});
|
|
1574
|
+
if (_response.ok) {
|
|
1575
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1576
|
+
}
|
|
1577
|
+
if (_response.error.reason === "status-code") {
|
|
1578
|
+
switch (_response.error.statusCode) {
|
|
1579
|
+
case 401:
|
|
1580
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1581
|
+
case 402:
|
|
1582
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1583
|
+
case 404:
|
|
1584
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1585
|
+
case 409:
|
|
1586
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1587
|
+
case 503:
|
|
1588
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1589
|
+
default:
|
|
1590
|
+
throw new errors.LusorError({
|
|
1591
|
+
statusCode: _response.error.statusCode,
|
|
1592
|
+
body: _response.error.body,
|
|
1593
|
+
rawResponse: _response.rawResponse,
|
|
1594
|
+
});
|
|
1595
|
+
}
|
|
1596
|
+
}
|
|
1597
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/clear");
|
|
1598
|
+
}
|
|
1599
|
+
/**
|
|
1600
|
+
* Accepts an optional `capture` field.
|
|
1601
|
+
*
|
|
1602
|
+
* @param {Lusor.BackDevicesRequest} request
|
|
1603
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1604
|
+
*
|
|
1605
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1606
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1607
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1608
|
+
* @throws {@link Lusor.ConflictError}
|
|
1609
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1610
|
+
* @throws {@link errors.LusorError}
|
|
1611
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1612
|
+
*
|
|
1613
|
+
* @example
|
|
1614
|
+
* await client.devices.back({
|
|
1615
|
+
* workspaceId: "workspaceId",
|
|
1616
|
+
* deviceId: "deviceId",
|
|
1617
|
+
* body: {}
|
|
1618
|
+
* })
|
|
1619
|
+
*/
|
|
1620
|
+
back(request, requestOptions) {
|
|
1621
|
+
return core.HttpResponsePromise.fromPromise(this.__back(request, requestOptions));
|
|
1622
|
+
}
|
|
1623
|
+
async __back(request, requestOptions) {
|
|
1624
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, body: _body } = request;
|
|
1625
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1626
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1627
|
+
const _response = await core.fetcher({
|
|
1628
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1629
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1630
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/back`),
|
|
1631
|
+
method: "POST",
|
|
1632
|
+
headers: _headers,
|
|
1633
|
+
contentType: "application/json",
|
|
1634
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1635
|
+
requestType: "json",
|
|
1636
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1637
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1638
|
+
maxRetries: 0,
|
|
1639
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1640
|
+
fetchFn: this._options?.fetch,
|
|
1641
|
+
logging: this._options.logging,
|
|
1642
|
+
});
|
|
1643
|
+
if (_response.ok) {
|
|
1644
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1645
|
+
}
|
|
1646
|
+
if (_response.error.reason === "status-code") {
|
|
1647
|
+
switch (_response.error.statusCode) {
|
|
1648
|
+
case 401:
|
|
1649
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1650
|
+
case 402:
|
|
1651
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1652
|
+
case 404:
|
|
1653
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1654
|
+
case 409:
|
|
1655
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1656
|
+
case 503:
|
|
1657
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1658
|
+
default:
|
|
1659
|
+
throw new errors.LusorError({
|
|
1660
|
+
statusCode: _response.error.statusCode,
|
|
1661
|
+
body: _response.error.body,
|
|
1662
|
+
rawResponse: _response.rawResponse,
|
|
1663
|
+
});
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/back");
|
|
1667
|
+
}
|
|
1668
|
+
/**
|
|
1669
|
+
* Accepts an optional `capture` field.
|
|
1670
|
+
*
|
|
1671
|
+
* @param {Lusor.HomeDevicesRequest} request
|
|
1672
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1673
|
+
*
|
|
1674
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1675
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1676
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1677
|
+
* @throws {@link Lusor.ConflictError}
|
|
1678
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1679
|
+
* @throws {@link errors.LusorError}
|
|
1680
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1681
|
+
*
|
|
1682
|
+
* @example
|
|
1683
|
+
* await client.devices.home({
|
|
1684
|
+
* workspaceId: "workspaceId",
|
|
1685
|
+
* deviceId: "deviceId",
|
|
1686
|
+
* body: {}
|
|
1687
|
+
* })
|
|
1688
|
+
*/
|
|
1689
|
+
home(request, requestOptions) {
|
|
1690
|
+
return core.HttpResponsePromise.fromPromise(this.__home(request, requestOptions));
|
|
1691
|
+
}
|
|
1692
|
+
async __home(request, requestOptions) {
|
|
1693
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, body: _body } = request;
|
|
1694
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1695
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1696
|
+
const _response = await core.fetcher({
|
|
1697
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1698
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1699
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/home`),
|
|
1700
|
+
method: "POST",
|
|
1701
|
+
headers: _headers,
|
|
1702
|
+
contentType: "application/json",
|
|
1703
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1704
|
+
requestType: "json",
|
|
1705
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1706
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1707
|
+
maxRetries: 0,
|
|
1708
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1709
|
+
fetchFn: this._options?.fetch,
|
|
1710
|
+
logging: this._options.logging,
|
|
1711
|
+
});
|
|
1712
|
+
if (_response.ok) {
|
|
1713
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1714
|
+
}
|
|
1715
|
+
if (_response.error.reason === "status-code") {
|
|
1716
|
+
switch (_response.error.statusCode) {
|
|
1717
|
+
case 401:
|
|
1718
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1719
|
+
case 402:
|
|
1720
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1721
|
+
case 404:
|
|
1722
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1723
|
+
case 409:
|
|
1724
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1725
|
+
case 503:
|
|
1726
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1727
|
+
default:
|
|
1728
|
+
throw new errors.LusorError({
|
|
1729
|
+
statusCode: _response.error.statusCode,
|
|
1730
|
+
body: _response.error.body,
|
|
1731
|
+
rawResponse: _response.rawResponse,
|
|
1732
|
+
});
|
|
1733
|
+
}
|
|
1734
|
+
}
|
|
1735
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/home");
|
|
1736
|
+
}
|
|
1737
|
+
/**
|
|
1738
|
+
* Accepts an optional `capture` field.
|
|
1739
|
+
*
|
|
1740
|
+
* @param {Lusor.RecentDevicesRequest} request
|
|
1741
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1742
|
+
*
|
|
1743
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1744
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1745
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1746
|
+
* @throws {@link Lusor.ConflictError}
|
|
1747
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1748
|
+
* @throws {@link errors.LusorError}
|
|
1749
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1750
|
+
*
|
|
1751
|
+
* @example
|
|
1752
|
+
* await client.devices.recent({
|
|
1753
|
+
* workspaceId: "workspaceId",
|
|
1754
|
+
* deviceId: "deviceId",
|
|
1755
|
+
* body: {}
|
|
1756
|
+
* })
|
|
1757
|
+
*/
|
|
1758
|
+
recent(request, requestOptions) {
|
|
1759
|
+
return core.HttpResponsePromise.fromPromise(this.__recent(request, requestOptions));
|
|
1760
|
+
}
|
|
1761
|
+
async __recent(request, requestOptions) {
|
|
1762
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, body: _body } = request;
|
|
1763
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1764
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1765
|
+
const _response = await core.fetcher({
|
|
1766
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1767
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1768
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/recent`),
|
|
1769
|
+
method: "POST",
|
|
1770
|
+
headers: _headers,
|
|
1771
|
+
contentType: "application/json",
|
|
1772
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1773
|
+
requestType: "json",
|
|
1774
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1775
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1776
|
+
maxRetries: 0,
|
|
1777
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1778
|
+
fetchFn: this._options?.fetch,
|
|
1779
|
+
logging: this._options.logging,
|
|
1780
|
+
});
|
|
1781
|
+
if (_response.ok) {
|
|
1782
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1783
|
+
}
|
|
1784
|
+
if (_response.error.reason === "status-code") {
|
|
1785
|
+
switch (_response.error.statusCode) {
|
|
1786
|
+
case 401:
|
|
1787
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1788
|
+
case 402:
|
|
1789
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1790
|
+
case 404:
|
|
1791
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1792
|
+
case 409:
|
|
1793
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1794
|
+
case 503:
|
|
1795
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1796
|
+
default:
|
|
1797
|
+
throw new errors.LusorError({
|
|
1798
|
+
statusCode: _response.error.statusCode,
|
|
1799
|
+
body: _response.error.body,
|
|
1800
|
+
rawResponse: _response.rawResponse,
|
|
1801
|
+
});
|
|
1802
|
+
}
|
|
1803
|
+
}
|
|
1804
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/recent");
|
|
1805
|
+
}
|
|
1806
|
+
/**
|
|
1807
|
+
* Launch an Android app by package name. The `package` and optional
|
|
1808
|
+
* `activity` must be dotted identifiers (for example
|
|
1809
|
+
* `com.android.settings`); anything else is a 400.
|
|
1810
|
+
*
|
|
1811
|
+
* Optionally include `capture: true | CaptureOptions` to
|
|
1812
|
+
* return a fresh element tree + screen dimensions in the same
|
|
1813
|
+
* round trip.
|
|
1814
|
+
*
|
|
1815
|
+
* @param {Lusor.StartAppInput} request
|
|
1816
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1817
|
+
*
|
|
1818
|
+
* @throws {@link Lusor.BadRequestError}
|
|
1819
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1820
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1821
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1822
|
+
* @throws {@link Lusor.ConflictError}
|
|
1823
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1824
|
+
* @throws {@link errors.LusorError}
|
|
1825
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1826
|
+
*
|
|
1827
|
+
* @example
|
|
1828
|
+
* await client.devices.startApp({
|
|
1829
|
+
* workspaceId: "workspaceId",
|
|
1830
|
+
* deviceId: "deviceId",
|
|
1831
|
+
* "package": "package"
|
|
1832
|
+
* })
|
|
1833
|
+
*/
|
|
1834
|
+
startApp(request, requestOptions) {
|
|
1835
|
+
return core.HttpResponsePromise.fromPromise(this.__startApp(request, requestOptions));
|
|
1836
|
+
}
|
|
1837
|
+
async __startApp(request, requestOptions) {
|
|
1838
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
1839
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1840
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1841
|
+
const _response = await core.fetcher({
|
|
1842
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1843
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1844
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/apps/start`),
|
|
1845
|
+
method: "POST",
|
|
1846
|
+
headers: _headers,
|
|
1847
|
+
contentType: "application/json",
|
|
1848
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1849
|
+
requestType: "json",
|
|
1850
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1851
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1852
|
+
maxRetries: 0,
|
|
1853
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1854
|
+
fetchFn: this._options?.fetch,
|
|
1855
|
+
logging: this._options.logging,
|
|
1856
|
+
});
|
|
1857
|
+
if (_response.ok) {
|
|
1858
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1859
|
+
}
|
|
1860
|
+
if (_response.error.reason === "status-code") {
|
|
1861
|
+
switch (_response.error.statusCode) {
|
|
1862
|
+
case 400:
|
|
1863
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
1864
|
+
case 401:
|
|
1865
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1866
|
+
case 402:
|
|
1867
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1868
|
+
case 404:
|
|
1869
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1870
|
+
case 409:
|
|
1871
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1872
|
+
case 503:
|
|
1873
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1874
|
+
default:
|
|
1875
|
+
throw new errors.LusorError({
|
|
1876
|
+
statusCode: _response.error.statusCode,
|
|
1877
|
+
body: _response.error.body,
|
|
1878
|
+
rawResponse: _response.rawResponse,
|
|
1879
|
+
});
|
|
1880
|
+
}
|
|
1881
|
+
}
|
|
1882
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/apps/start");
|
|
1883
|
+
}
|
|
1884
|
+
/**
|
|
1885
|
+
* Force-stop an Android app by package name. The `package` is
|
|
1886
|
+
* validated the same way as `apps/start`.
|
|
1887
|
+
*
|
|
1888
|
+
* Optionally include `capture: true | CaptureOptions` to
|
|
1889
|
+
* return a fresh element tree + screen dimensions in the same
|
|
1890
|
+
* round trip.
|
|
1891
|
+
*
|
|
1892
|
+
* @param {Lusor.StopAppInput} request
|
|
1893
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
1894
|
+
*
|
|
1895
|
+
* @throws {@link Lusor.BadRequestError}
|
|
1896
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
1897
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
1898
|
+
* @throws {@link Lusor.NotFoundError}
|
|
1899
|
+
* @throws {@link Lusor.ConflictError}
|
|
1900
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
1901
|
+
* @throws {@link errors.LusorError}
|
|
1902
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
1903
|
+
*
|
|
1904
|
+
* @example
|
|
1905
|
+
* await client.devices.stopApp({
|
|
1906
|
+
* workspaceId: "workspaceId",
|
|
1907
|
+
* deviceId: "deviceId",
|
|
1908
|
+
* "package": "package"
|
|
1909
|
+
* })
|
|
1910
|
+
*/
|
|
1911
|
+
stopApp(request, requestOptions) {
|
|
1912
|
+
return core.HttpResponsePromise.fromPromise(this.__stopApp(request, requestOptions));
|
|
1913
|
+
}
|
|
1914
|
+
async __stopApp(request, requestOptions) {
|
|
1915
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
1916
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
1917
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
1918
|
+
const _response = await core.fetcher({
|
|
1919
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
1920
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
1921
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/apps/stop`),
|
|
1922
|
+
method: "POST",
|
|
1923
|
+
headers: _headers,
|
|
1924
|
+
contentType: "application/json",
|
|
1925
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
1926
|
+
requestType: "json",
|
|
1927
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
1928
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
1929
|
+
maxRetries: 0,
|
|
1930
|
+
abortSignal: requestOptions?.abortSignal,
|
|
1931
|
+
fetchFn: this._options?.fetch,
|
|
1932
|
+
logging: this._options.logging,
|
|
1933
|
+
});
|
|
1934
|
+
if (_response.ok) {
|
|
1935
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
1936
|
+
}
|
|
1937
|
+
if (_response.error.reason === "status-code") {
|
|
1938
|
+
switch (_response.error.statusCode) {
|
|
1939
|
+
case 400:
|
|
1940
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
1941
|
+
case 401:
|
|
1942
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
1943
|
+
case 402:
|
|
1944
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
1945
|
+
case 404:
|
|
1946
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
1947
|
+
case 409:
|
|
1948
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
1949
|
+
case 503:
|
|
1950
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
1951
|
+
default:
|
|
1952
|
+
throw new errors.LusorError({
|
|
1953
|
+
statusCode: _response.error.statusCode,
|
|
1954
|
+
body: _response.error.body,
|
|
1955
|
+
rawResponse: _response.rawResponse,
|
|
1956
|
+
});
|
|
1957
|
+
}
|
|
1958
|
+
}
|
|
1959
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/apps/stop");
|
|
1960
|
+
}
|
|
1961
|
+
/**
|
|
1962
|
+
* Execute a typed sequence of up to 20 deterministic actions in
|
|
1963
|
+
* order, optionally collecting a UI capture per step. On a Lusor
|
|
1964
|
+
* Phone, an API-key chain meters phone minutes before every step; a
|
|
1965
|
+
* `402` or `503` stops the chain before that step reaches the phone.
|
|
1966
|
+
*
|
|
1967
|
+
* ## Capture resolution rules
|
|
1968
|
+
*
|
|
1969
|
+
* Per-step `capture` always wins. Top-level `capture` supplies
|
|
1970
|
+
* the default policy:
|
|
1971
|
+
*
|
|
1972
|
+
* - `'none'` (default) — no capture on any step.
|
|
1973
|
+
* - `'each'` — capture on every step.
|
|
1974
|
+
* - `'final'` — capture only on the last step.
|
|
1975
|
+
*
|
|
1976
|
+
* ## Step verbs
|
|
1977
|
+
*
|
|
1978
|
+
* `tap`, `swipe`, `type`, `key`, `clear`, `back`, `home`, `recent`,
|
|
1979
|
+
* `start_app`, `stop_app`, `screenshot`, `wait`. Each step has the
|
|
1980
|
+
* same params as the corresponding direct-verb route plus an
|
|
1981
|
+
* optional `capture` override.
|
|
1982
|
+
*
|
|
1983
|
+
* ## Settling
|
|
1984
|
+
*
|
|
1985
|
+
* Steps execute back-to-back with no implicit inter-step delay.
|
|
1986
|
+
* Insert `wait` steps (`{ verb: "wait", params: { duration_ms: N } }`,
|
|
1987
|
+
* 0–60000 ms) where the UI needs time to settle — e.g. after a tap
|
|
1988
|
+
* that opens a screen, or before typing into a freshly focused
|
|
1989
|
+
* field. Cumulative wait duration per chain is capped at 120s so
|
|
1990
|
+
* the worst case stays inside the chain timeout.
|
|
1991
|
+
*
|
|
1992
|
+
* A step that completes with `ok: false` does not stop the chain:
|
|
1993
|
+
* the next step still runs, the top-level `ok` is true only when every
|
|
1994
|
+
* step succeeded, and each step's `ok` shows which one failed.
|
|
1995
|
+
*
|
|
1996
|
+
* A step that errors instead aborts the chain. This happens when the
|
|
1997
|
+
* phone cannot be reached, when a step's capture fails, or when
|
|
1998
|
+
* metering refuses a later step (`402`/`503`). The response is then
|
|
1999
|
+
* that error alone, with no per-step results, and the steps before it
|
|
2000
|
+
* have already run on the phone. Read the screen before you retry a
|
|
2001
|
+
* chain.
|
|
2002
|
+
*
|
|
2003
|
+
* @param {Lusor.ChainRequest} request
|
|
2004
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2005
|
+
*
|
|
2006
|
+
* @throws {@link Lusor.BadRequestError}
|
|
2007
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2008
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
2009
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2010
|
+
* @throws {@link Lusor.ConflictError}
|
|
2011
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
2012
|
+
* @throws {@link errors.LusorError}
|
|
2013
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2014
|
+
*
|
|
2015
|
+
* @example
|
|
2016
|
+
* await client.devices.chain({
|
|
2017
|
+
* workspaceId: "workspaceId",
|
|
2018
|
+
* deviceId: "deviceId",
|
|
2019
|
+
* steps: [{
|
|
2020
|
+
* verb: "tap",
|
|
2021
|
+
* params: {}
|
|
2022
|
+
* }]
|
|
2023
|
+
* })
|
|
2024
|
+
*/
|
|
2025
|
+
chain(request, requestOptions) {
|
|
2026
|
+
return core.HttpResponsePromise.fromPromise(this.__chain(request, requestOptions));
|
|
2027
|
+
}
|
|
2028
|
+
async __chain(request, requestOptions) {
|
|
2029
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
2030
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2031
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
2032
|
+
const _response = await core.fetcher({
|
|
2033
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2034
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2035
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/chain`),
|
|
2036
|
+
method: "POST",
|
|
2037
|
+
headers: _headers,
|
|
2038
|
+
contentType: "application/json",
|
|
2039
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2040
|
+
requestType: "json",
|
|
2041
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
2042
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2043
|
+
maxRetries: 0,
|
|
2044
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2045
|
+
fetchFn: this._options?.fetch,
|
|
2046
|
+
logging: this._options.logging,
|
|
2047
|
+
});
|
|
2048
|
+
if (_response.ok) {
|
|
2049
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
2050
|
+
}
|
|
2051
|
+
if (_response.error.reason === "status-code") {
|
|
2052
|
+
switch (_response.error.statusCode) {
|
|
2053
|
+
case 400:
|
|
2054
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
2055
|
+
case 401:
|
|
2056
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2057
|
+
case 402:
|
|
2058
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
2059
|
+
case 404:
|
|
2060
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2061
|
+
case 409:
|
|
2062
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2063
|
+
case 503:
|
|
2064
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
2065
|
+
default:
|
|
2066
|
+
throw new errors.LusorError({
|
|
2067
|
+
statusCode: _response.error.statusCode,
|
|
2068
|
+
body: _response.error.body,
|
|
2069
|
+
rawResponse: _response.rawResponse,
|
|
2070
|
+
});
|
|
2071
|
+
}
|
|
2072
|
+
}
|
|
2073
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/chain");
|
|
2074
|
+
}
|
|
2075
|
+
/**
|
|
2076
|
+
* Last-resort shell access. The command is checked against a
|
|
2077
|
+
* server-side denylist (shell metacharacters such as `|`, `;`, `&`
|
|
2078
|
+
* and backticks are refused anywhere in the string) and every
|
|
2079
|
+
* attempt, allowed or denied, is audit-logged. The response reports
|
|
2080
|
+
* whether the command ran; command output is not returned.
|
|
2081
|
+
*
|
|
2082
|
+
* @param {Lusor.ShellInput} request
|
|
2083
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2084
|
+
*
|
|
2085
|
+
* @throws {@link Lusor.BadRequestError}
|
|
2086
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2087
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
2088
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
2089
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2090
|
+
* @throws {@link Lusor.ConflictError}
|
|
2091
|
+
* @throws {@link Lusor.ServiceUnavailableError}
|
|
2092
|
+
* @throws {@link errors.LusorError}
|
|
2093
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2094
|
+
*
|
|
2095
|
+
* @example
|
|
2096
|
+
* await client.devices.shell({
|
|
2097
|
+
* workspaceId: "workspaceId",
|
|
2098
|
+
* deviceId: "deviceId",
|
|
2099
|
+
* command: "command"
|
|
2100
|
+
* })
|
|
2101
|
+
*/
|
|
2102
|
+
shell(request, requestOptions) {
|
|
2103
|
+
return core.HttpResponsePromise.fromPromise(this.__shell(request, requestOptions));
|
|
2104
|
+
}
|
|
2105
|
+
async __shell(request, requestOptions) {
|
|
2106
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
2107
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2108
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
2109
|
+
const _response = await core.fetcher({
|
|
2110
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2111
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2112
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/shell`),
|
|
2113
|
+
method: "POST",
|
|
2114
|
+
headers: _headers,
|
|
2115
|
+
contentType: "application/json",
|
|
2116
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2117
|
+
requestType: "json",
|
|
2118
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
2119
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2120
|
+
maxRetries: 0,
|
|
2121
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2122
|
+
fetchFn: this._options?.fetch,
|
|
2123
|
+
logging: this._options.logging,
|
|
2124
|
+
});
|
|
2125
|
+
if (_response.ok) {
|
|
2126
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
2127
|
+
}
|
|
2128
|
+
if (_response.error.reason === "status-code") {
|
|
2129
|
+
switch (_response.error.statusCode) {
|
|
2130
|
+
case 400:
|
|
2131
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
2132
|
+
case 401:
|
|
2133
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2134
|
+
case 402:
|
|
2135
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
2136
|
+
case 403:
|
|
2137
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
2138
|
+
case 404:
|
|
2139
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2140
|
+
case 409:
|
|
2141
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2142
|
+
case 503:
|
|
2143
|
+
throw new Lusor.ServiceUnavailableError(_response.error.body, _response.rawResponse);
|
|
2144
|
+
default:
|
|
2145
|
+
throw new errors.LusorError({
|
|
2146
|
+
statusCode: _response.error.statusCode,
|
|
2147
|
+
body: _response.error.body,
|
|
2148
|
+
rawResponse: _response.rawResponse,
|
|
2149
|
+
});
|
|
2150
|
+
}
|
|
2151
|
+
}
|
|
2152
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/shell");
|
|
2153
|
+
}
|
|
2154
|
+
/**
|
|
2155
|
+
* The language last set through `PUT .../language` and how applying
|
|
2156
|
+
* it ended. `null` fields mean none has been set. `inProgress` names a
|
|
2157
|
+
* change that is still being applied.
|
|
2158
|
+
*
|
|
2159
|
+
* @param {Lusor.GetLanguageDevicesRequest} request
|
|
2160
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2161
|
+
*
|
|
2162
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2163
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2164
|
+
* @throws {@link Lusor.ConflictError}
|
|
2165
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
2166
|
+
* @throws {@link errors.LusorError}
|
|
2167
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2168
|
+
*
|
|
2169
|
+
* @example
|
|
2170
|
+
* await client.devices.getLanguage({
|
|
2171
|
+
* workspaceId: "workspaceId",
|
|
2172
|
+
* deviceId: "deviceId"
|
|
2173
|
+
* })
|
|
2174
|
+
*/
|
|
2175
|
+
getLanguage(request, requestOptions) {
|
|
2176
|
+
return core.HttpResponsePromise.fromPromise(this.__getLanguage(request, requestOptions));
|
|
2177
|
+
}
|
|
2178
|
+
async __getLanguage(request, requestOptions) {
|
|
2179
|
+
const { workspaceId, deviceId } = request;
|
|
2180
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2181
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
2182
|
+
const _response = await core.fetcher({
|
|
2183
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2184
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2185
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/language`),
|
|
2186
|
+
method: "GET",
|
|
2187
|
+
headers: _headers,
|
|
2188
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2189
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2190
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
2191
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2192
|
+
fetchFn: this._options?.fetch,
|
|
2193
|
+
logging: this._options.logging,
|
|
2194
|
+
});
|
|
2195
|
+
if (_response.ok) {
|
|
2196
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
2197
|
+
}
|
|
2198
|
+
if (_response.error.reason === "status-code") {
|
|
2199
|
+
switch (_response.error.statusCode) {
|
|
2200
|
+
case 401:
|
|
2201
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2202
|
+
case 404:
|
|
2203
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2204
|
+
case 409:
|
|
2205
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2206
|
+
case 502:
|
|
2207
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
2208
|
+
default:
|
|
2209
|
+
throw new errors.LusorError({
|
|
2210
|
+
statusCode: _response.error.statusCode,
|
|
2211
|
+
body: _response.error.body,
|
|
2212
|
+
rawResponse: _response.rawResponse,
|
|
2213
|
+
});
|
|
2214
|
+
}
|
|
2215
|
+
}
|
|
2216
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/language");
|
|
2217
|
+
}
|
|
2218
|
+
/**
|
|
2219
|
+
* Sets the phone's system language (and optional region). Answers 202
|
|
2220
|
+
* at once with the change `pending`; read `GET .../language` until
|
|
2221
|
+
* `state` is `applied` or `failed`. The phone may restart to apply it.
|
|
2222
|
+
* Refused with 409 `phone_busy` while a session or live viewer holds
|
|
2223
|
+
* the phone or another change is being applied.
|
|
2224
|
+
*
|
|
2225
|
+
* @param {Lusor.DeviceLanguageInput} request
|
|
2226
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2227
|
+
*
|
|
2228
|
+
* @throws {@link Lusor.BadRequestError}
|
|
2229
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2230
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
2231
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2232
|
+
* @throws {@link Lusor.ConflictError}
|
|
2233
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
2234
|
+
* @throws {@link errors.LusorError}
|
|
2235
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2236
|
+
*
|
|
2237
|
+
* @example
|
|
2238
|
+
* await client.devices.setLanguage({
|
|
2239
|
+
* workspaceId: "workspaceId",
|
|
2240
|
+
* deviceId: "deviceId",
|
|
2241
|
+
* language: "de"
|
|
2242
|
+
* })
|
|
2243
|
+
*/
|
|
2244
|
+
setLanguage(request, requestOptions) {
|
|
2245
|
+
return core.HttpResponsePromise.fromPromise(this.__setLanguage(request, requestOptions));
|
|
2246
|
+
}
|
|
2247
|
+
async __setLanguage(request, requestOptions) {
|
|
2248
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, ..._body } = request;
|
|
2249
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2250
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
2251
|
+
const _response = await core.fetcher({
|
|
2252
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2253
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2254
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/language`),
|
|
2255
|
+
method: "PUT",
|
|
2256
|
+
headers: _headers,
|
|
2257
|
+
contentType: "application/json",
|
|
2258
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2259
|
+
requestType: "json",
|
|
2260
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
2261
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2262
|
+
maxRetries: 0,
|
|
2263
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2264
|
+
fetchFn: this._options?.fetch,
|
|
2265
|
+
logging: this._options.logging,
|
|
2266
|
+
});
|
|
2267
|
+
if (_response.ok) {
|
|
2268
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
2269
|
+
}
|
|
2270
|
+
if (_response.error.reason === "status-code") {
|
|
2271
|
+
switch (_response.error.statusCode) {
|
|
2272
|
+
case 400:
|
|
2273
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
2274
|
+
case 401:
|
|
2275
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2276
|
+
case 403:
|
|
2277
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
2278
|
+
case 404:
|
|
2279
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2280
|
+
case 409:
|
|
2281
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2282
|
+
case 502:
|
|
2283
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
2284
|
+
default:
|
|
2285
|
+
throw new errors.LusorError({
|
|
2286
|
+
statusCode: _response.error.statusCode,
|
|
2287
|
+
body: _response.error.body,
|
|
2288
|
+
rawResponse: _response.rawResponse,
|
|
2289
|
+
});
|
|
2290
|
+
}
|
|
2291
|
+
}
|
|
2292
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v1/workspaces/{workspaceId}/devices/{deviceId}/language");
|
|
2293
|
+
}
|
|
2294
|
+
/**
|
|
2295
|
+
* The identity fields set so far (latest value of each) and how the
|
|
2296
|
+
* last change ended. Fields never set keep the phone's own values and
|
|
2297
|
+
* are absent here.
|
|
2298
|
+
*
|
|
2299
|
+
* @param {Lusor.GetIdentityDevicesRequest} request
|
|
2300
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2301
|
+
*
|
|
2302
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2303
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2304
|
+
* @throws {@link Lusor.ConflictError}
|
|
2305
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
2306
|
+
* @throws {@link errors.LusorError}
|
|
2307
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2308
|
+
*
|
|
2309
|
+
* @example
|
|
2310
|
+
* await client.devices.getIdentity({
|
|
2311
|
+
* workspaceId: "workspaceId",
|
|
2312
|
+
* deviceId: "deviceId"
|
|
2313
|
+
* })
|
|
2314
|
+
*/
|
|
2315
|
+
getIdentity(request, requestOptions) {
|
|
2316
|
+
return core.HttpResponsePromise.fromPromise(this.__getIdentity(request, requestOptions));
|
|
2317
|
+
}
|
|
2318
|
+
async __getIdentity(request, requestOptions) {
|
|
2319
|
+
const { workspaceId, deviceId } = request;
|
|
2320
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2321
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
2322
|
+
const _response = await core.fetcher({
|
|
2323
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2324
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2325
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/identity`),
|
|
2326
|
+
method: "GET",
|
|
2327
|
+
headers: _headers,
|
|
2328
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2329
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2330
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
2331
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2332
|
+
fetchFn: this._options?.fetch,
|
|
2333
|
+
logging: this._options.logging,
|
|
2334
|
+
});
|
|
2335
|
+
if (_response.ok) {
|
|
2336
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
2337
|
+
}
|
|
2338
|
+
if (_response.error.reason === "status-code") {
|
|
2339
|
+
switch (_response.error.statusCode) {
|
|
2340
|
+
case 401:
|
|
2341
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2342
|
+
case 404:
|
|
2343
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2344
|
+
case 409:
|
|
2345
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2346
|
+
case 502:
|
|
2347
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
2348
|
+
default:
|
|
2349
|
+
throw new errors.LusorError({
|
|
2350
|
+
statusCode: _response.error.statusCode,
|
|
2351
|
+
body: _response.error.body,
|
|
2352
|
+
rawResponse: _response.rawResponse,
|
|
2353
|
+
});
|
|
2354
|
+
}
|
|
2355
|
+
}
|
|
2356
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/identity");
|
|
2357
|
+
}
|
|
2358
|
+
/**
|
|
2359
|
+
* Sets the device identity apps read: brand, manufacturer, model,
|
|
2360
|
+
* device codename, product name, build fingerprint and Android ID.
|
|
2361
|
+
* Only the fields sent change. Raw Android properties are refused
|
|
2362
|
+
* (400 `identity_prop_refused`). Answers 202 with the change
|
|
2363
|
+
* `pending`; once written (`state` `applied`, `restartQueued` true)
|
|
2364
|
+
* **the phone restarts** to apply it, which takes a few minutes. The
|
|
2365
|
+
* values persist across restarts and resets; set the old values again
|
|
2366
|
+
* to undo a change.
|
|
2367
|
+
*
|
|
2368
|
+
* @param {Lusor.SetIdentityDevicesRequest} request
|
|
2369
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2370
|
+
*
|
|
2371
|
+
* @throws {@link Lusor.BadRequestError}
|
|
2372
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2373
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
2374
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2375
|
+
* @throws {@link Lusor.ConflictError}
|
|
2376
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
2377
|
+
* @throws {@link errors.LusorError}
|
|
2378
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2379
|
+
*
|
|
2380
|
+
* @example
|
|
2381
|
+
* await client.devices.setIdentity({
|
|
2382
|
+
* workspaceId: "workspaceId",
|
|
2383
|
+
* deviceId: "deviceId",
|
|
2384
|
+
* body: {}
|
|
2385
|
+
* })
|
|
2386
|
+
*/
|
|
2387
|
+
setIdentity(request, requestOptions) {
|
|
2388
|
+
return core.HttpResponsePromise.fromPromise(this.__setIdentity(request, requestOptions));
|
|
2389
|
+
}
|
|
2390
|
+
async __setIdentity(request, requestOptions) {
|
|
2391
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey, body: _body } = request;
|
|
2392
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2393
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
2394
|
+
const _response = await core.fetcher({
|
|
2395
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2396
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2397
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/identity`),
|
|
2398
|
+
method: "PUT",
|
|
2399
|
+
headers: _headers,
|
|
2400
|
+
contentType: "application/json",
|
|
2401
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2402
|
+
requestType: "json",
|
|
2403
|
+
body: mergeAdditionalBodyParameters(_body, requestOptions?.additionalBodyParameters),
|
|
2404
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2405
|
+
maxRetries: 0,
|
|
2406
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2407
|
+
fetchFn: this._options?.fetch,
|
|
2408
|
+
logging: this._options.logging,
|
|
2409
|
+
});
|
|
2410
|
+
if (_response.ok) {
|
|
2411
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
2412
|
+
}
|
|
2413
|
+
if (_response.error.reason === "status-code") {
|
|
2414
|
+
switch (_response.error.statusCode) {
|
|
2415
|
+
case 400:
|
|
2416
|
+
throw new Lusor.BadRequestError(_response.error.body, _response.rawResponse);
|
|
2417
|
+
case 401:
|
|
2418
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2419
|
+
case 403:
|
|
2420
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
2421
|
+
case 404:
|
|
2422
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2423
|
+
case 409:
|
|
2424
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2425
|
+
case 502:
|
|
2426
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
2427
|
+
default:
|
|
2428
|
+
throw new errors.LusorError({
|
|
2429
|
+
statusCode: _response.error.statusCode,
|
|
2430
|
+
body: _response.error.body,
|
|
2431
|
+
rawResponse: _response.rawResponse,
|
|
2432
|
+
});
|
|
2433
|
+
}
|
|
2434
|
+
}
|
|
2435
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "PUT", "/v1/workspaces/{workspaceId}/devices/{deviceId}/identity");
|
|
2436
|
+
}
|
|
2437
|
+
/**
|
|
2438
|
+
* How the last advertising-ID reset ended. The ID itself is not returned.
|
|
2439
|
+
*
|
|
2440
|
+
* @param {Lusor.GetAdvertisingIdDevicesRequest} request
|
|
2441
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2442
|
+
*
|
|
2443
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2444
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2445
|
+
* @throws {@link Lusor.ConflictError}
|
|
2446
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
2447
|
+
* @throws {@link errors.LusorError}
|
|
2448
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2449
|
+
*
|
|
2450
|
+
* @example
|
|
2451
|
+
* await client.devices.getAdvertisingId({
|
|
2452
|
+
* workspaceId: "workspaceId",
|
|
2453
|
+
* deviceId: "deviceId"
|
|
2454
|
+
* })
|
|
2455
|
+
*/
|
|
2456
|
+
getAdvertisingId(request, requestOptions) {
|
|
2457
|
+
return core.HttpResponsePromise.fromPromise(this.__getAdvertisingId(request, requestOptions));
|
|
2458
|
+
}
|
|
2459
|
+
async __getAdvertisingId(request, requestOptions) {
|
|
2460
|
+
const { workspaceId, deviceId } = request;
|
|
2461
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2462
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, requestOptions?.headers);
|
|
2463
|
+
const _response = await core.fetcher({
|
|
2464
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2465
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2466
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/advertising-id`),
|
|
2467
|
+
method: "GET",
|
|
2468
|
+
headers: _headers,
|
|
2469
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2470
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2471
|
+
maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
|
|
2472
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2473
|
+
fetchFn: this._options?.fetch,
|
|
2474
|
+
logging: this._options.logging,
|
|
2475
|
+
});
|
|
2476
|
+
if (_response.ok) {
|
|
2477
|
+
return {
|
|
2478
|
+
data: _response.body,
|
|
2479
|
+
rawResponse: _response.rawResponse,
|
|
2480
|
+
};
|
|
2481
|
+
}
|
|
2482
|
+
if (_response.error.reason === "status-code") {
|
|
2483
|
+
switch (_response.error.statusCode) {
|
|
2484
|
+
case 401:
|
|
2485
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2486
|
+
case 404:
|
|
2487
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2488
|
+
case 409:
|
|
2489
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2490
|
+
case 502:
|
|
2491
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
2492
|
+
default:
|
|
2493
|
+
throw new errors.LusorError({
|
|
2494
|
+
statusCode: _response.error.statusCode,
|
|
2495
|
+
body: _response.error.body,
|
|
2496
|
+
rawResponse: _response.rawResponse,
|
|
2497
|
+
});
|
|
2498
|
+
}
|
|
2499
|
+
}
|
|
2500
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v1/workspaces/{workspaceId}/devices/{deviceId}/advertising-id");
|
|
2501
|
+
}
|
|
2502
|
+
/**
|
|
2503
|
+
* Gives the phone a new Google advertising ID. **Irreversible**: the
|
|
2504
|
+
* previous ID cannot be restored. Answers 202 with the reset
|
|
2505
|
+
* `pending`; read `GET .../advertising-id` until it is `applied` or
|
|
2506
|
+
* `failed`.
|
|
2507
|
+
*
|
|
2508
|
+
* @param {Lusor.ResetAdvertisingIdDevicesRequest} request
|
|
2509
|
+
* @param {DevicesClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
2510
|
+
*
|
|
2511
|
+
* @throws {@link Lusor.UnauthorizedError}
|
|
2512
|
+
* @throws {@link Lusor.PaymentRequiredError}
|
|
2513
|
+
* @throws {@link Lusor.ForbiddenError}
|
|
2514
|
+
* @throws {@link Lusor.NotFoundError}
|
|
2515
|
+
* @throws {@link Lusor.ConflictError}
|
|
2516
|
+
* @throws {@link Lusor.BadGatewayError}
|
|
2517
|
+
* @throws {@link errors.LusorError}
|
|
2518
|
+
* @throws {@link errors.LusorTimeoutError}
|
|
2519
|
+
*
|
|
2520
|
+
* @example
|
|
2521
|
+
* await client.devices.resetAdvertisingId({
|
|
2522
|
+
* workspaceId: "workspaceId",
|
|
2523
|
+
* deviceId: "deviceId"
|
|
2524
|
+
* })
|
|
2525
|
+
*/
|
|
2526
|
+
resetAdvertisingId(request, requestOptions) {
|
|
2527
|
+
return core.HttpResponsePromise.fromPromise(this.__resetAdvertisingId(request, requestOptions));
|
|
2528
|
+
}
|
|
2529
|
+
async __resetAdvertisingId(request, requestOptions) {
|
|
2530
|
+
const { workspaceId, deviceId, "Idempotency-Key": idempotencyKey } = request;
|
|
2531
|
+
const _authRequest = await this._options.authProvider.getAuthRequest();
|
|
2532
|
+
let _headers = mergeHeaders(_authRequest.headers, this._options?.headers, mergeOnlyDefinedHeaders({ "Idempotency-Key": idempotencyKey }), requestOptions?.headers);
|
|
2533
|
+
const _response = await core.fetcher({
|
|
2534
|
+
url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
|
|
2535
|
+
(await core.Supplier.get(this._options.environment)) ??
|
|
2536
|
+
environments.LusorEnvironment.Production, `v1/workspaces/${core.url.encodePathParam(workspaceId)}/devices/${core.url.encodePathParam(deviceId)}/advertising-id/reset`),
|
|
2537
|
+
method: "POST",
|
|
2538
|
+
headers: _headers,
|
|
2539
|
+
queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
|
|
2540
|
+
timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
|
|
2541
|
+
maxRetries: 0,
|
|
2542
|
+
abortSignal: requestOptions?.abortSignal,
|
|
2543
|
+
fetchFn: this._options?.fetch,
|
|
2544
|
+
logging: this._options.logging,
|
|
2545
|
+
});
|
|
2546
|
+
if (_response.ok) {
|
|
2547
|
+
return {
|
|
2548
|
+
data: _response.body,
|
|
2549
|
+
rawResponse: _response.rawResponse,
|
|
2550
|
+
};
|
|
2551
|
+
}
|
|
2552
|
+
if (_response.error.reason === "status-code") {
|
|
2553
|
+
switch (_response.error.statusCode) {
|
|
2554
|
+
case 401:
|
|
2555
|
+
throw new Lusor.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
2556
|
+
case 402:
|
|
2557
|
+
throw new Lusor.PaymentRequiredError(_response.error.body, _response.rawResponse);
|
|
2558
|
+
case 403:
|
|
2559
|
+
throw new Lusor.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
2560
|
+
case 404:
|
|
2561
|
+
throw new Lusor.NotFoundError(_response.error.body, _response.rawResponse);
|
|
2562
|
+
case 409:
|
|
2563
|
+
throw new Lusor.ConflictError(_response.error.body, _response.rawResponse);
|
|
2564
|
+
case 502:
|
|
2565
|
+
throw new Lusor.BadGatewayError(_response.error.body, _response.rawResponse);
|
|
2566
|
+
default:
|
|
2567
|
+
throw new errors.LusorError({
|
|
2568
|
+
statusCode: _response.error.statusCode,
|
|
2569
|
+
body: _response.error.body,
|
|
2570
|
+
rawResponse: _response.rawResponse,
|
|
2571
|
+
});
|
|
2572
|
+
}
|
|
2573
|
+
}
|
|
2574
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v1/workspaces/{workspaceId}/devices/{deviceId}/advertising-id/reset");
|
|
2575
|
+
}
|
|
2576
|
+
}
|