@airtop/sdk 0.1.18 → 0.1.26-beta0
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/Client.d.ts +6 -0
- package/Client.js +14 -4
- package/README.md +8 -6
- package/api/resources/extensionConfigurations/client/Client.d.ts +50 -0
- package/api/resources/extensionConfigurations/client/Client.js +214 -0
- package/api/resources/extensionConfigurations/client/index.d.ts +1 -0
- package/api/resources/extensionConfigurations/client/index.js +17 -0
- package/api/resources/extensionConfigurations/client/requests/ExtensionConfigurationDeleteRequest.d.ts +13 -0
- package/api/resources/extensionConfigurations/client/requests/index.d.ts +1 -0
- package/api/resources/extensionConfigurations/client/requests/index.js +2 -0
- package/api/resources/extensionConfigurations/index.d.ts +1 -0
- package/api/resources/extensionConfigurations/index.js +17 -0
- package/api/resources/index.d.ts +3 -0
- package/api/resources/index.js +4 -1
- package/api/resources/profiles/client/Client.js +2 -2
- package/api/resources/requests/client/Client.d.ts +34 -0
- package/api/resources/requests/client/Client.js +115 -0
- package/api/resources/requests/client/index.d.ts +1 -0
- package/api/resources/requests/client/index.js +2 -0
- package/api/resources/requests/index.d.ts +1 -0
- package/api/resources/requests/index.js +17 -0
- package/api/resources/sessions/client/Client.js +14 -14
- package/api/resources/windows/client/Client.d.ts +128 -0
- package/api/resources/windows/client/Client.js +717 -26
- package/api/resources/windows/client/requests/AsyncClickRequest.d.ts +29 -0
- package/api/resources/windows/client/requests/AsyncHoverRequest.d.ts +25 -0
- package/api/resources/windows/client/requests/AsyncMonitorRequest.d.ts +27 -0
- package/api/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +29 -0
- package/api/resources/windows/client/requests/AsyncPageQueryRequest.js +5 -0
- package/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +25 -0
- package/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +5 -0
- package/api/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +29 -0
- package/api/resources/windows/client/requests/AsyncPromptContentRequest.js +5 -0
- package/api/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +23 -0
- package/api/resources/windows/client/requests/AsyncScreenshotRequest.js +5 -0
- package/api/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +25 -0
- package/api/resources/windows/client/requests/AsyncSummarizeContentRequest.js +5 -0
- package/api/resources/windows/client/requests/AsyncTypeRequest.d.ts +37 -0
- package/api/resources/windows/client/requests/AsyncTypeRequest.js +5 -0
- package/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +25 -0
- package/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +5 -0
- package/api/resources/windows/client/requests/SessionScrollHandlerRequestBody.d.ts +27 -0
- package/api/resources/windows/client/requests/SessionScrollHandlerRequestBody.js +5 -0
- package/api/resources/windows/client/requests/index.d.ts +11 -0
- package/api/types/AirtopProxyConfiguration.d.ts +9 -0
- package/api/types/AirtopProxyConfiguration.js +5 -0
- package/api/types/AsyncConfig.d.ts +7 -0
- package/api/types/AsyncConfig.js +5 -0
- package/api/types/AsyncSessionAiResponseEnvelope.d.ts +9 -0
- package/api/types/AsyncSessionAiResponseEnvelope.js +5 -0
- package/api/types/BrowserWaitSelectorConfig.d.ts +11 -0
- package/api/types/BrowserWaitSelectorConfig.js +5 -0
- package/api/types/ExtensionConfigurationOutput.d.ts +13 -0
- package/api/types/ExtensionConfigurationOutput.js +5 -0
- package/api/types/ExternalSessionWithConnectionInfo.d.ts +1 -1
- package/api/types/IntervalMonitorConfig.d.ts +9 -0
- package/api/types/IntervalMonitorConfig.js +5 -0
- package/api/types/MonitorConfig.d.ts +14 -0
- package/api/types/MonitorConfig.js +5 -0
- package/api/types/MonitorConfigIncludeVisualAnalysis.d.ts +12 -0
- package/api/types/MonitorConfigIncludeVisualAnalysis.js +11 -0
- package/api/types/MonitorConfigMonitorType.d.ts +11 -0
- package/api/types/MonitorConfigMonitorType.js +10 -0
- package/api/types/PageQueryConfig.d.ts +2 -0
- package/api/types/PaginatedExtractionConfig.d.ts +3 -0
- package/api/types/Proxy.d.ts +9 -6
- package/api/types/ProxyConfigurationKind.d.ts +9 -0
- package/api/types/ProxyConfigurationKind.js +5 -0
- package/api/types/ProxyCredentials.d.ts +11 -0
- package/api/types/ProxyCredentials.js +5 -0
- package/api/types/RequestStatusResponse.d.ts +8 -0
- package/api/types/RequestStatusResponse.js +5 -0
- package/api/types/ScrapeConfig.d.ts +7 -0
- package/api/types/ScrapeConfig.js +5 -0
- package/api/types/ScrollByConfig.d.ts +9 -0
- package/api/types/ScrollByConfig.js +5 -0
- package/api/types/ScrollToEdgeConfig.d.ts +9 -0
- package/api/types/ScrollToEdgeConfig.js +5 -0
- package/api/types/SessionConfigV1.d.ts +5 -1
- package/api/types/SessionConfigV1Proxy.d.ts +4 -4
- package/api/types/VisualAnalysisConfig.d.ts +1 -1
- package/api/types/VisualAnalysisConfigResultSelectionStrategy.d.ts +3 -2
- package/api/types/VisualAnalysisConfigResultSelectionStrategy.js +1 -0
- package/api/types/Window.d.ts +2 -0
- package/api/types/index.d.ts +15 -2
- package/api/types/index.js +15 -2
- package/biome.json +66 -0
- package/config/tsconfig-nobase.json +16 -0
- package/dist/Client.d.ts +6 -0
- package/dist/Client.js +14 -4
- package/dist/api/resources/extensionConfigurations/client/Client.d.ts +50 -0
- package/dist/api/resources/extensionConfigurations/client/Client.js +214 -0
- package/dist/api/resources/extensionConfigurations/client/index.d.ts +1 -0
- package/dist/api/resources/extensionConfigurations/client/index.js +17 -0
- package/dist/api/resources/extensionConfigurations/client/requests/ExtensionConfigurationDeleteRequest.d.ts +13 -0
- package/dist/api/resources/extensionConfigurations/client/requests/ExtensionConfigurationDeleteRequest.js +5 -0
- package/dist/api/resources/extensionConfigurations/client/requests/index.d.ts +1 -0
- package/dist/api/resources/extensionConfigurations/client/requests/index.js +2 -0
- package/dist/api/resources/extensionConfigurations/index.d.ts +1 -0
- package/dist/api/resources/extensionConfigurations/index.js +17 -0
- package/dist/api/resources/index.d.ts +3 -0
- package/dist/api/resources/index.js +4 -1
- package/dist/api/resources/profiles/client/Client.js +2 -2
- package/dist/api/resources/requests/client/Client.d.ts +34 -0
- package/dist/api/resources/requests/client/Client.js +115 -0
- package/dist/api/resources/requests/client/index.d.ts +1 -0
- package/dist/api/resources/requests/client/index.js +2 -0
- package/dist/api/resources/requests/index.d.ts +1 -0
- package/dist/api/resources/requests/index.js +17 -0
- package/dist/api/resources/sessions/client/Client.js +14 -14
- package/dist/api/resources/windows/client/Client.d.ts +128 -0
- package/dist/api/resources/windows/client/Client.js +717 -26
- package/dist/api/resources/windows/client/requests/AsyncClickRequest.d.ts +29 -0
- package/dist/api/resources/windows/client/requests/AsyncClickRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncHoverRequest.d.ts +25 -0
- package/dist/api/resources/windows/client/requests/AsyncHoverRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncMonitorRequest.d.ts +27 -0
- package/dist/api/resources/windows/client/requests/AsyncMonitorRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +29 -0
- package/dist/api/resources/windows/client/requests/AsyncPageQueryRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +25 -0
- package/dist/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +29 -0
- package/dist/api/resources/windows/client/requests/AsyncPromptContentRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +23 -0
- package/dist/api/resources/windows/client/requests/AsyncScreenshotRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +25 -0
- package/dist/api/resources/windows/client/requests/AsyncSummarizeContentRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/AsyncTypeRequest.d.ts +37 -0
- package/dist/api/resources/windows/client/requests/AsyncTypeRequest.js +5 -0
- package/dist/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +25 -0
- package/dist/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +5 -0
- package/dist/api/resources/windows/client/requests/SessionScrollHandlerRequestBody.d.ts +27 -0
- package/dist/api/resources/windows/client/requests/SessionScrollHandlerRequestBody.js +5 -0
- package/dist/api/resources/windows/client/requests/index.d.ts +11 -0
- package/dist/api/types/AirtopProxyConfiguration.d.ts +9 -0
- package/dist/api/types/AirtopProxyConfiguration.js +5 -0
- package/dist/api/types/AsyncConfig.d.ts +7 -0
- package/dist/api/types/AsyncConfig.js +5 -0
- package/dist/api/types/AsyncSessionAiResponseEnvelope.d.ts +9 -0
- package/dist/api/types/AsyncSessionAiResponseEnvelope.js +5 -0
- package/dist/api/types/BrowserWaitSelectorConfig.d.ts +11 -0
- package/dist/api/types/BrowserWaitSelectorConfig.js +5 -0
- package/dist/api/types/ExtensionConfigurationOutput.d.ts +13 -0
- package/dist/api/types/ExtensionConfigurationOutput.js +5 -0
- package/dist/api/types/ExternalSessionWithConnectionInfo.d.ts +1 -1
- package/dist/api/types/IntervalMonitorConfig.d.ts +9 -0
- package/dist/api/types/IntervalMonitorConfig.js +5 -0
- package/dist/api/types/MonitorConfig.d.ts +14 -0
- package/dist/api/types/MonitorConfig.js +5 -0
- package/dist/api/types/MonitorConfigIncludeVisualAnalysis.d.ts +12 -0
- package/dist/api/types/MonitorConfigIncludeVisualAnalysis.js +11 -0
- package/dist/api/types/MonitorConfigMonitorType.d.ts +11 -0
- package/dist/api/types/MonitorConfigMonitorType.js +10 -0
- package/dist/api/types/PageQueryConfig.d.ts +2 -0
- package/dist/api/types/PaginatedExtractionConfig.d.ts +3 -0
- package/dist/api/types/Proxy.d.ts +9 -6
- package/dist/api/types/ProxyConfigurationKind.d.ts +9 -0
- package/dist/api/types/ProxyConfigurationKind.js +5 -0
- package/dist/api/types/ProxyCredentials.d.ts +11 -0
- package/dist/api/types/ProxyCredentials.js +5 -0
- package/dist/api/types/RequestStatusResponse.d.ts +8 -0
- package/dist/api/types/RequestStatusResponse.js +5 -0
- package/dist/api/types/ScrapeConfig.d.ts +7 -0
- package/dist/api/types/ScrapeConfig.js +5 -0
- package/dist/api/types/ScrollByConfig.d.ts +9 -0
- package/dist/api/types/ScrollByConfig.js +5 -0
- package/dist/api/types/ScrollToEdgeConfig.d.ts +9 -0
- package/dist/api/types/ScrollToEdgeConfig.js +5 -0
- package/dist/api/types/SessionConfigV1.d.ts +5 -1
- package/dist/api/types/SessionConfigV1Proxy.d.ts +4 -4
- package/dist/api/types/VisualAnalysisConfig.d.ts +1 -1
- package/dist/api/types/VisualAnalysisConfigResultSelectionStrategy.d.ts +3 -2
- package/dist/api/types/VisualAnalysisConfigResultSelectionStrategy.js +1 -0
- package/dist/api/types/Window.d.ts +2 -0
- package/dist/api/types/index.d.ts +15 -2
- package/dist/api/types/index.js +15 -2
- package/dist/serialization/resources/windows/client/requests/AsyncClickRequest.d.ts +20 -0
- package/dist/serialization/resources/windows/client/requests/AsyncClickRequest.js +41 -0
- package/dist/serialization/resources/windows/client/requests/AsyncHoverRequest.d.ts +19 -0
- package/dist/serialization/resources/windows/client/requests/AsyncHoverRequest.js +40 -0
- package/dist/serialization/resources/windows/client/requests/AsyncMonitorRequest.d.ts +20 -0
- package/dist/serialization/resources/windows/client/requests/AsyncMonitorRequest.js +41 -0
- package/dist/serialization/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +20 -0
- package/dist/serialization/resources/windows/client/requests/AsyncPageQueryRequest.js +41 -0
- package/dist/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +19 -0
- package/dist/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +40 -0
- package/dist/serialization/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +20 -0
- package/dist/serialization/resources/windows/client/requests/AsyncPromptContentRequest.js +41 -0
- package/dist/serialization/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +18 -0
- package/dist/serialization/resources/windows/client/requests/AsyncScreenshotRequest.js +39 -0
- package/dist/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +19 -0
- package/dist/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.js +40 -0
- package/dist/serialization/resources/windows/client/requests/AsyncTypeRequest.d.ts +24 -0
- package/dist/serialization/resources/windows/client/requests/AsyncTypeRequest.js +45 -0
- package/dist/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +18 -0
- package/dist/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +39 -0
- package/dist/serialization/resources/windows/client/requests/SessionScrollHandlerRequestBody.d.ts +21 -0
- package/dist/serialization/resources/windows/client/requests/SessionScrollHandlerRequestBody.js +42 -0
- package/dist/serialization/resources/windows/client/requests/index.d.ts +11 -0
- package/dist/serialization/resources/windows/client/requests/index.js +23 -1
- package/dist/serialization/types/AirtopProxyConfiguration.d.ts +13 -0
- package/dist/serialization/types/{SessionConfigV1ProxyItem.js → AirtopProxyConfiguration.js} +4 -5
- package/dist/serialization/types/AsyncConfig.d.ts +12 -0
- package/{serialization/types/SessionConfigV1ProxyItem.js → dist/serialization/types/AsyncConfig.js} +3 -5
- package/dist/serialization/types/AsyncSessionAiResponseEnvelope.d.ts +15 -0
- package/dist/serialization/types/AsyncSessionAiResponseEnvelope.js +36 -0
- package/dist/serialization/types/BrowserWaitSelectorConfig.d.ts +14 -0
- package/dist/serialization/types/BrowserWaitSelectorConfig.js +35 -0
- package/dist/serialization/types/ExtensionConfigurationOutput.d.ts +15 -0
- package/dist/serialization/types/ExtensionConfigurationOutput.js +36 -0
- package/dist/serialization/types/IntervalMonitorConfig.d.ts +13 -0
- package/dist/serialization/types/IntervalMonitorConfig.js +34 -0
- package/dist/serialization/types/MonitorConfig.d.ts +19 -0
- package/dist/serialization/types/MonitorConfig.js +40 -0
- package/dist/serialization/types/MonitorConfigIncludeVisualAnalysis.d.ts +10 -0
- package/dist/serialization/types/MonitorConfigIncludeVisualAnalysis.js +31 -0
- package/dist/serialization/types/MonitorConfigMonitorType.d.ts +10 -0
- package/dist/serialization/types/MonitorConfigMonitorType.js +31 -0
- package/dist/serialization/types/PageQueryConfig.d.ts +2 -0
- package/dist/serialization/types/PageQueryConfig.js +2 -0
- package/dist/serialization/types/PaginatedExtractionConfig.d.ts +2 -0
- package/dist/serialization/types/PaginatedExtractionConfig.js +2 -0
- package/dist/serialization/types/Proxy.d.ts +4 -6
- package/dist/serialization/types/Proxy.js +3 -5
- package/dist/serialization/types/ProxyConfigurationKind.d.ts +14 -0
- package/dist/serialization/types/{CustomProxy.js → ProxyConfigurationKind.js} +5 -2
- package/dist/serialization/types/ProxyCredentials.d.ts +14 -0
- package/dist/serialization/types/ProxyCredentials.js +35 -0
- package/dist/serialization/types/RequestStatusResponse.d.ts +13 -0
- package/dist/serialization/types/RequestStatusResponse.js +34 -0
- package/dist/serialization/types/ScrapeConfig.d.ts +12 -0
- package/dist/serialization/types/ScrapeConfig.js +33 -0
- package/dist/serialization/types/ScrollByConfig.d.ts +13 -0
- package/dist/serialization/types/ScrollByConfig.js +34 -0
- package/dist/serialization/types/ScrollToEdgeConfig.d.ts +13 -0
- package/dist/serialization/types/ScrollToEdgeConfig.js +34 -0
- package/dist/serialization/types/SessionConfigV1.d.ts +2 -0
- package/dist/serialization/types/SessionConfigV1.js +2 -0
- package/dist/serialization/types/SessionConfigV1Proxy.d.ts +3 -3
- package/dist/serialization/types/SessionConfigV1Proxy.js +4 -4
- package/dist/serialization/types/VisualAnalysisConfigResultSelectionStrategy.d.ts +1 -1
- package/dist/serialization/types/VisualAnalysisConfigResultSelectionStrategy.js +1 -1
- package/dist/serialization/types/Window.d.ts +1 -0
- package/dist/serialization/types/Window.js +1 -0
- package/dist/serialization/types/index.d.ts +15 -2
- package/dist/serialization/types/index.js +15 -2
- package/dist/utils/batch-operate/SessionQueue.d.ts +4 -4
- package/dist/utils/batch-operate/SessionQueue.js +11 -12
- package/dist/utils/batch-operate/WindowQueue.d.ts +3 -3
- package/dist/utils/batch-operate/WindowQueue.js +23 -11
- package/dist/utils/batch-operate/batch-util.d.ts +2 -2
- package/dist/utils/batch-operate/batch-util.js +5 -5
- package/dist/utils/batch-operate/helpers.d.ts +1 -1
- package/dist/utils/batch-operate/types.d.ts +1 -1
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/process-screenshots.d.ts +1 -1
- package/dist/utils/process-screenshots.js +4 -4
- package/dist/wrapper/AirtopClient.d.ts +2 -1
- package/dist/wrapper/AirtopClient.js +6 -3
- package/dist/wrapper/AirtopSessions.d.ts +2 -2
- package/dist/wrapper/AirtopSessions.js +4 -4
- package/dist/wrapper/AirtopWindows.d.ts +19 -9
- package/dist/wrapper/AirtopWindows.js +28 -11
- package/lefthook.yml +23 -0
- package/package.json +9 -3
- package/reference.md +1059 -84
- package/serialization/resources/windows/client/requests/AsyncClickRequest.d.ts +20 -0
- package/serialization/resources/windows/client/requests/AsyncClickRequest.js +41 -0
- package/serialization/resources/windows/client/requests/AsyncHoverRequest.d.ts +19 -0
- package/serialization/resources/windows/client/requests/AsyncHoverRequest.js +40 -0
- package/serialization/resources/windows/client/requests/AsyncMonitorRequest.d.ts +20 -0
- package/serialization/resources/windows/client/requests/AsyncMonitorRequest.js +41 -0
- package/serialization/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +20 -0
- package/serialization/resources/windows/client/requests/AsyncPageQueryRequest.js +41 -0
- package/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +19 -0
- package/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +40 -0
- package/serialization/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +20 -0
- package/serialization/resources/windows/client/requests/AsyncPromptContentRequest.js +41 -0
- package/serialization/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +18 -0
- package/serialization/resources/windows/client/requests/AsyncScreenshotRequest.js +39 -0
- package/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +19 -0
- package/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.js +40 -0
- package/serialization/resources/windows/client/requests/AsyncTypeRequest.d.ts +24 -0
- package/serialization/resources/windows/client/requests/AsyncTypeRequest.js +45 -0
- package/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +18 -0
- package/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +39 -0
- package/serialization/resources/windows/client/requests/SessionScrollHandlerRequestBody.d.ts +21 -0
- package/serialization/resources/windows/client/requests/SessionScrollHandlerRequestBody.js +42 -0
- package/serialization/resources/windows/client/requests/index.d.ts +11 -0
- package/serialization/resources/windows/client/requests/index.js +23 -1
- package/serialization/types/AirtopProxyConfiguration.d.ts +13 -0
- package/serialization/types/AirtopProxyConfiguration.js +34 -0
- package/serialization/types/AsyncConfig.d.ts +12 -0
- package/serialization/types/AsyncConfig.js +33 -0
- package/serialization/types/AsyncSessionAiResponseEnvelope.d.ts +15 -0
- package/serialization/types/AsyncSessionAiResponseEnvelope.js +36 -0
- package/serialization/types/BrowserWaitSelectorConfig.d.ts +14 -0
- package/serialization/types/BrowserWaitSelectorConfig.js +35 -0
- package/serialization/types/ExtensionConfigurationOutput.d.ts +15 -0
- package/serialization/types/ExtensionConfigurationOutput.js +36 -0
- package/serialization/types/IntervalMonitorConfig.d.ts +13 -0
- package/serialization/types/IntervalMonitorConfig.js +34 -0
- package/serialization/types/MonitorConfig.d.ts +19 -0
- package/serialization/types/MonitorConfig.js +40 -0
- package/serialization/types/MonitorConfigIncludeVisualAnalysis.d.ts +10 -0
- package/serialization/types/MonitorConfigIncludeVisualAnalysis.js +31 -0
- package/serialization/types/MonitorConfigMonitorType.d.ts +10 -0
- package/serialization/types/MonitorConfigMonitorType.js +31 -0
- package/serialization/types/PageQueryConfig.d.ts +2 -0
- package/serialization/types/PageQueryConfig.js +2 -0
- package/serialization/types/PaginatedExtractionConfig.d.ts +2 -0
- package/serialization/types/PaginatedExtractionConfig.js +2 -0
- package/serialization/types/Proxy.d.ts +4 -6
- package/serialization/types/Proxy.js +3 -5
- package/serialization/types/ProxyConfigurationKind.d.ts +14 -0
- package/serialization/types/{CustomProxy.js → ProxyConfigurationKind.js} +5 -2
- package/serialization/types/ProxyCredentials.d.ts +14 -0
- package/serialization/types/ProxyCredentials.js +35 -0
- package/serialization/types/RequestStatusResponse.d.ts +13 -0
- package/serialization/types/RequestStatusResponse.js +34 -0
- package/serialization/types/ScrapeConfig.d.ts +12 -0
- package/serialization/types/ScrapeConfig.js +33 -0
- package/serialization/types/ScrollByConfig.d.ts +13 -0
- package/serialization/types/ScrollByConfig.js +34 -0
- package/serialization/types/ScrollToEdgeConfig.d.ts +13 -0
- package/serialization/types/ScrollToEdgeConfig.js +34 -0
- package/serialization/types/SessionConfigV1.d.ts +2 -0
- package/serialization/types/SessionConfigV1.js +2 -0
- package/serialization/types/SessionConfigV1Proxy.d.ts +3 -3
- package/serialization/types/SessionConfigV1Proxy.js +4 -4
- package/serialization/types/VisualAnalysisConfigResultSelectionStrategy.d.ts +1 -1
- package/serialization/types/VisualAnalysisConfigResultSelectionStrategy.js +1 -1
- package/serialization/types/Window.d.ts +1 -0
- package/serialization/types/Window.js +1 -0
- package/serialization/types/index.d.ts +15 -2
- package/serialization/types/index.js +15 -2
- package/utils/batch-operate/SessionQueue.d.ts +4 -4
- package/utils/batch-operate/SessionQueue.js +11 -12
- package/utils/batch-operate/WindowQueue.d.ts +3 -3
- package/utils/batch-operate/WindowQueue.js +23 -11
- package/utils/batch-operate/batch-util.d.ts +2 -2
- package/utils/batch-operate/batch-util.js +5 -5
- package/utils/batch-operate/helpers.d.ts +1 -1
- package/utils/batch-operate/types.d.ts +1 -1
- package/utils/index.d.ts +3 -3
- package/utils/process-screenshots.d.ts +1 -1
- package/utils/process-screenshots.js +4 -4
- package/wrapper/AirtopClient.d.ts +2 -1
- package/wrapper/AirtopClient.js +6 -3
- package/wrapper/AirtopSessions.d.ts +2 -2
- package/wrapper/AirtopSessions.js +4 -4
- package/wrapper/AirtopWindows.d.ts +19 -9
- package/wrapper/AirtopWindows.js +28 -11
- package/api/types/CustomProxy.d.ts +0 -14
- package/api/types/SessionConfigV1ProxyItem.d.ts +0 -12
- package/dist/api/types/CustomProxy.d.ts +0 -14
- package/dist/api/types/SessionConfigV1ProxyItem.d.ts +0 -12
- package/dist/serialization/types/CustomProxy.d.ts +0 -11
- package/dist/serialization/types/SessionConfigV1ProxyItem.d.ts +0 -14
- package/serialization/types/CustomProxy.d.ts +0 -11
- package/serialization/types/SessionConfigV1ProxyItem.d.ts +0 -14
- /package/api/{types/CustomProxy.js → resources/extensionConfigurations/client/requests/ExtensionConfigurationDeleteRequest.js} +0 -0
- /package/api/{types/SessionConfigV1ProxyItem.js → resources/windows/client/requests/AsyncClickRequest.js} +0 -0
- /package/{dist/api/types/CustomProxy.js → api/resources/windows/client/requests/AsyncHoverRequest.js} +0 -0
- /package/{dist/api/types/SessionConfigV1ProxyItem.js → api/resources/windows/client/requests/AsyncMonitorRequest.js} +0 -0
|
@@ -9,6 +9,8 @@ export declare const SessionConfigV1: core.serialization.ObjectSchema<serializer
|
|
|
9
9
|
export declare namespace SessionConfigV1 {
|
|
10
10
|
interface Raw {
|
|
11
11
|
baseProfileId?: string | null;
|
|
12
|
+
extensionConfigurationName?: string | null;
|
|
13
|
+
extensionIds?: string[] | null;
|
|
12
14
|
persistProfile?: boolean | null;
|
|
13
15
|
profileName?: string | null;
|
|
14
16
|
proxy?: SessionConfigV1Proxy.Raw | null;
|
|
@@ -31,6 +31,8 @@ const core = __importStar(require("../../core"));
|
|
|
31
31
|
const SessionConfigV1Proxy_1 = require("./SessionConfigV1Proxy");
|
|
32
32
|
exports.SessionConfigV1 = core.serialization.object({
|
|
33
33
|
baseProfileId: core.serialization.string().optional(),
|
|
34
|
+
extensionConfigurationName: core.serialization.string().optional(),
|
|
35
|
+
extensionIds: core.serialization.list(core.serialization.string()).optional(),
|
|
34
36
|
persistProfile: core.serialization.boolean().optional(),
|
|
35
37
|
profileName: core.serialization.string().optional(),
|
|
36
38
|
proxy: SessionConfigV1Proxy_1.SessionConfigV1Proxy.optional(),
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
import * as serializers from "../index";
|
|
5
5
|
import * as Airtop from "../../api/index";
|
|
6
6
|
import * as core from "../../core";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { Proxy } from "./Proxy";
|
|
8
|
+
import { ProxyConfigurationKind } from "./ProxyConfigurationKind";
|
|
9
9
|
export declare const SessionConfigV1Proxy: core.serialization.Schema<serializers.SessionConfigV1Proxy.Raw, Airtop.SessionConfigV1Proxy>;
|
|
10
10
|
export declare namespace SessionConfigV1Proxy {
|
|
11
|
-
type Raw = boolean |
|
|
11
|
+
type Raw = boolean | Proxy.Raw | ProxyConfigurationKind.Raw[];
|
|
12
12
|
}
|
|
@@ -28,10 +28,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.SessionConfigV1Proxy = void 0;
|
|
30
30
|
const core = __importStar(require("../../core"));
|
|
31
|
-
const
|
|
32
|
-
const
|
|
31
|
+
const Proxy_1 = require("./Proxy");
|
|
32
|
+
const ProxyConfigurationKind_1 = require("./ProxyConfigurationKind");
|
|
33
33
|
exports.SessionConfigV1Proxy = core.serialization.undiscriminatedUnion([
|
|
34
34
|
core.serialization.boolean(),
|
|
35
|
-
|
|
36
|
-
core.serialization.list(
|
|
35
|
+
Proxy_1.Proxy,
|
|
36
|
+
core.serialization.list(ProxyConfigurationKind_1.ProxyConfigurationKind),
|
|
37
37
|
]);
|
|
@@ -6,5 +6,5 @@ import * as Airtop from "../../api/index";
|
|
|
6
6
|
import * as core from "../../core";
|
|
7
7
|
export declare const VisualAnalysisConfigResultSelectionStrategy: core.serialization.Schema<serializers.VisualAnalysisConfigResultSelectionStrategy.Raw, Airtop.VisualAnalysisConfigResultSelectionStrategy>;
|
|
8
8
|
export declare namespace VisualAnalysisConfigResultSelectionStrategy {
|
|
9
|
-
type Raw = "first" | "bestMatch";
|
|
9
|
+
type Raw = "first" | "bestMatch" | "auto";
|
|
10
10
|
}
|
|
@@ -28,4 +28,4 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.VisualAnalysisConfigResultSelectionStrategy = void 0;
|
|
30
30
|
const core = __importStar(require("../../core"));
|
|
31
|
-
exports.VisualAnalysisConfigResultSelectionStrategy = core.serialization.enum_(["first", "bestMatch"]);
|
|
31
|
+
exports.VisualAnalysisConfigResultSelectionStrategy = core.serialization.enum_(["first", "bestMatch", "auto"]);
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from "./AiPromptResponse";
|
|
2
2
|
export * from "./AiResponseEnvelope";
|
|
3
|
+
export * from "./AsyncConfig";
|
|
4
|
+
export * from "./AsyncSessionAiResponseEnvelope";
|
|
3
5
|
export * from "./BrowserWaitNavigationConfigWaitUntil";
|
|
4
6
|
export * from "./BrowserWaitNavigationConfig";
|
|
7
|
+
export * from "./BrowserWaitSelectorConfig";
|
|
5
8
|
export * from "./ClickConfigClickType";
|
|
6
9
|
export * from "./ClickConfig";
|
|
7
10
|
export * from "./ClientProvidedResponseMetadata";
|
|
@@ -10,19 +13,26 @@ export * from "./ErrorBody";
|
|
|
10
13
|
export * from "./ErrorDetail";
|
|
11
14
|
export * from "./ErrorMessage";
|
|
12
15
|
export * from "./ErrorModel";
|
|
16
|
+
export * from "./ExtensionConfigurationOutput";
|
|
13
17
|
export * from "./ExternalSessionAiResponseMetadataStatus";
|
|
14
18
|
export * from "./ExternalSessionAiResponseMetadata";
|
|
15
19
|
export * from "./ExternalSessionAiResponseMetadataUsage";
|
|
16
20
|
export * from "./ExternalSessionConfig";
|
|
17
21
|
export * from "./ExternalSessionWithConnectionInfo";
|
|
22
|
+
export * from "./IntervalMonitorConfig";
|
|
18
23
|
export * from "./Issue";
|
|
19
24
|
export * from "./MicroInteractionConfig";
|
|
25
|
+
export * from "./MonitorConfigIncludeVisualAnalysis";
|
|
26
|
+
export * from "./MonitorConfigMonitorType";
|
|
27
|
+
export * from "./MonitorConfig";
|
|
20
28
|
export * from "./OperationOutcome";
|
|
21
29
|
export * from "./OperationOutcomeResponse";
|
|
22
30
|
export * from "./PageQueryConfig";
|
|
23
31
|
export * from "./PageQueryExperimentalConfig";
|
|
24
32
|
export * from "./PaginatedExtractionConfig";
|
|
25
33
|
export * from "./Pagination";
|
|
34
|
+
export * from "./RequestStatusResponse";
|
|
35
|
+
export * from "./ScrapeConfig";
|
|
26
36
|
export * from "./ScrapeResponse";
|
|
27
37
|
export * from "./ScrapeResponseContent";
|
|
28
38
|
export * from "./ScrapeResponseEnvelope";
|
|
@@ -30,9 +40,12 @@ export * from "./ScrapeResponseOutput";
|
|
|
30
40
|
export * from "./ScreenshotConfig";
|
|
31
41
|
export * from "./ScreenshotMetadata";
|
|
32
42
|
export * from "./ScreenshotRequestConfig";
|
|
43
|
+
export * from "./ScrollByConfig";
|
|
44
|
+
export * from "./ScrollToEdgeConfig";
|
|
45
|
+
export * from "./AirtopProxyConfiguration";
|
|
46
|
+
export * from "./ProxyCredentials";
|
|
33
47
|
export * from "./Proxy";
|
|
34
|
-
export * from "./
|
|
35
|
-
export * from "./SessionConfigV1ProxyItem";
|
|
48
|
+
export * from "./ProxyConfigurationKind";
|
|
36
49
|
export * from "./SessionConfigV1Proxy";
|
|
37
50
|
export * from "./SessionConfigV1";
|
|
38
51
|
export * from "./SessionEventMessage";
|
|
@@ -16,8 +16,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./AiPromptResponse"), exports);
|
|
18
18
|
__exportStar(require("./AiResponseEnvelope"), exports);
|
|
19
|
+
__exportStar(require("./AsyncConfig"), exports);
|
|
20
|
+
__exportStar(require("./AsyncSessionAiResponseEnvelope"), exports);
|
|
19
21
|
__exportStar(require("./BrowserWaitNavigationConfigWaitUntil"), exports);
|
|
20
22
|
__exportStar(require("./BrowserWaitNavigationConfig"), exports);
|
|
23
|
+
__exportStar(require("./BrowserWaitSelectorConfig"), exports);
|
|
21
24
|
__exportStar(require("./ClickConfigClickType"), exports);
|
|
22
25
|
__exportStar(require("./ClickConfig"), exports);
|
|
23
26
|
__exportStar(require("./ClientProvidedResponseMetadata"), exports);
|
|
@@ -26,19 +29,26 @@ __exportStar(require("./ErrorBody"), exports);
|
|
|
26
29
|
__exportStar(require("./ErrorDetail"), exports);
|
|
27
30
|
__exportStar(require("./ErrorMessage"), exports);
|
|
28
31
|
__exportStar(require("./ErrorModel"), exports);
|
|
32
|
+
__exportStar(require("./ExtensionConfigurationOutput"), exports);
|
|
29
33
|
__exportStar(require("./ExternalSessionAiResponseMetadataStatus"), exports);
|
|
30
34
|
__exportStar(require("./ExternalSessionAiResponseMetadata"), exports);
|
|
31
35
|
__exportStar(require("./ExternalSessionAiResponseMetadataUsage"), exports);
|
|
32
36
|
__exportStar(require("./ExternalSessionConfig"), exports);
|
|
33
37
|
__exportStar(require("./ExternalSessionWithConnectionInfo"), exports);
|
|
38
|
+
__exportStar(require("./IntervalMonitorConfig"), exports);
|
|
34
39
|
__exportStar(require("./Issue"), exports);
|
|
35
40
|
__exportStar(require("./MicroInteractionConfig"), exports);
|
|
41
|
+
__exportStar(require("./MonitorConfigIncludeVisualAnalysis"), exports);
|
|
42
|
+
__exportStar(require("./MonitorConfigMonitorType"), exports);
|
|
43
|
+
__exportStar(require("./MonitorConfig"), exports);
|
|
36
44
|
__exportStar(require("./OperationOutcome"), exports);
|
|
37
45
|
__exportStar(require("./OperationOutcomeResponse"), exports);
|
|
38
46
|
__exportStar(require("./PageQueryConfig"), exports);
|
|
39
47
|
__exportStar(require("./PageQueryExperimentalConfig"), exports);
|
|
40
48
|
__exportStar(require("./PaginatedExtractionConfig"), exports);
|
|
41
49
|
__exportStar(require("./Pagination"), exports);
|
|
50
|
+
__exportStar(require("./RequestStatusResponse"), exports);
|
|
51
|
+
__exportStar(require("./ScrapeConfig"), exports);
|
|
42
52
|
__exportStar(require("./ScrapeResponse"), exports);
|
|
43
53
|
__exportStar(require("./ScrapeResponseContent"), exports);
|
|
44
54
|
__exportStar(require("./ScrapeResponseEnvelope"), exports);
|
|
@@ -46,9 +56,12 @@ __exportStar(require("./ScrapeResponseOutput"), exports);
|
|
|
46
56
|
__exportStar(require("./ScreenshotConfig"), exports);
|
|
47
57
|
__exportStar(require("./ScreenshotMetadata"), exports);
|
|
48
58
|
__exportStar(require("./ScreenshotRequestConfig"), exports);
|
|
59
|
+
__exportStar(require("./ScrollByConfig"), exports);
|
|
60
|
+
__exportStar(require("./ScrollToEdgeConfig"), exports);
|
|
61
|
+
__exportStar(require("./AirtopProxyConfiguration"), exports);
|
|
62
|
+
__exportStar(require("./ProxyCredentials"), exports);
|
|
49
63
|
__exportStar(require("./Proxy"), exports);
|
|
50
|
-
__exportStar(require("./
|
|
51
|
-
__exportStar(require("./SessionConfigV1ProxyItem"), exports);
|
|
64
|
+
__exportStar(require("./ProxyConfigurationKind"), exports);
|
|
52
65
|
__exportStar(require("./SessionConfigV1Proxy"), exports);
|
|
53
66
|
__exportStar(require("./SessionConfigV1"), exports);
|
|
54
67
|
__exportStar(require("./SessionEventMessage"), exports);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
1
|
+
import type { EventEmitter } from 'eventemitter3';
|
|
2
|
+
import type { AirtopClient } from '../../wrapper/AirtopClient';
|
|
3
|
+
import type { AirtopSessionConfigV1 } from '../../wrapper/AirtopSessions';
|
|
4
|
+
import type { BatchOperationError, BatchOperationInput, BatchOperationResponse, BatchOperationUrl } from './types';
|
|
5
5
|
export declare class SessionQueue<T> {
|
|
6
6
|
private activePromises;
|
|
7
7
|
private activePromisesMutex;
|
|
@@ -10,9 +10,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.SessionQueue = void 0;
|
|
13
|
-
const helpers_1 = require("./helpers");
|
|
14
|
-
const WindowQueue_1 = require("./WindowQueue");
|
|
15
13
|
const async_mutex_1 = require("async-mutex");
|
|
14
|
+
const WindowQueue_1 = require("./WindowQueue");
|
|
15
|
+
const helpers_1 = require("./helpers");
|
|
16
16
|
class SessionQueue {
|
|
17
17
|
constructor({ maxConcurrentSessions, runEmitter, maxWindowsPerSession, initialBatches, operation, client, sessionConfig, onError, }) {
|
|
18
18
|
this.activePromises = [];
|
|
@@ -24,9 +24,8 @@ class SessionQueue {
|
|
|
24
24
|
this.processingPromisesCount = 0;
|
|
25
25
|
this.sessionPool = [];
|
|
26
26
|
this.sessionPoolMutex = new async_mutex_1.Mutex();
|
|
27
|
-
if (!Number.isInteger(maxConcurrentSessions) ||
|
|
28
|
-
maxConcurrentSessions
|
|
29
|
-
throw new Error("maxConcurrentSessions must be a positive integer");
|
|
27
|
+
if (!Number.isInteger(maxConcurrentSessions) || maxConcurrentSessions <= 0) {
|
|
28
|
+
throw new Error('maxConcurrentSessions must be a positive integer');
|
|
30
29
|
}
|
|
31
30
|
this.maxConcurrentSessions = maxConcurrentSessions;
|
|
32
31
|
this.runEmitter = runEmitter;
|
|
@@ -41,7 +40,7 @@ class SessionQueue {
|
|
|
41
40
|
this.isHalted = false;
|
|
42
41
|
}
|
|
43
42
|
handleHaltEvent() {
|
|
44
|
-
this.client.log(
|
|
43
|
+
this.client.log('Halt event received');
|
|
45
44
|
this.isHalted = true;
|
|
46
45
|
}
|
|
47
46
|
addUrlsToBatchQueue(newBatch) {
|
|
@@ -64,7 +63,7 @@ class SessionQueue {
|
|
|
64
63
|
this.batchQueue = [...this.initialBatches];
|
|
65
64
|
});
|
|
66
65
|
this.processingPromisesCount++;
|
|
67
|
-
this.runEmitter.on(
|
|
66
|
+
this.runEmitter.on('halt', this.handleHaltEvent.bind(this));
|
|
68
67
|
this.latestProcessingPromise = this.processPendingBatches();
|
|
69
68
|
yield this.latestProcessingPromise;
|
|
70
69
|
});
|
|
@@ -75,7 +74,7 @@ class SessionQueue {
|
|
|
75
74
|
yield this.latestProcessingPromise;
|
|
76
75
|
}
|
|
77
76
|
yield this.terminateAllSessions();
|
|
78
|
-
this.runEmitter.removeListener(
|
|
77
|
+
this.runEmitter.removeListener('halt', this.handleHaltEvent);
|
|
79
78
|
return this.results;
|
|
80
79
|
});
|
|
81
80
|
}
|
|
@@ -108,7 +107,7 @@ class SessionQueue {
|
|
|
108
107
|
break;
|
|
109
108
|
const promise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
110
109
|
if (this.isHalted) {
|
|
111
|
-
this.client.log(
|
|
110
|
+
this.client.log('Halt event received, skipping batch');
|
|
112
111
|
return;
|
|
113
112
|
}
|
|
114
113
|
let sessionId;
|
|
@@ -121,7 +120,7 @@ class SessionQueue {
|
|
|
121
120
|
});
|
|
122
121
|
// Otherwise, create a new session
|
|
123
122
|
if (!sessionId) {
|
|
124
|
-
const { data: session, warnings, errors } = yield this.client.sessions.create({
|
|
123
|
+
const { data: session, warnings, errors, } = yield this.client.sessions.create({
|
|
125
124
|
configuration: this.sessionConfig,
|
|
126
125
|
});
|
|
127
126
|
sessionId = session.id;
|
|
@@ -133,7 +132,7 @@ class SessionQueue {
|
|
|
133
132
|
// Return the session to the pool
|
|
134
133
|
yield this.sessionPoolMutex.runExclusive(() => {
|
|
135
134
|
if (!sessionId) {
|
|
136
|
-
throw new Error(
|
|
135
|
+
throw new Error('Missing sessionId, cannot return to pool');
|
|
137
136
|
}
|
|
138
137
|
this.sessionPool.push(sessionId);
|
|
139
138
|
});
|
|
@@ -202,7 +201,7 @@ class SessionQueue {
|
|
|
202
201
|
formatError(error) {
|
|
203
202
|
return error instanceof Error ? error.message : String(error);
|
|
204
203
|
}
|
|
205
|
-
handleErrorAndWarningResponses({ warnings, errors, sessionId, batch }) {
|
|
204
|
+
handleErrorAndWarningResponses({ warnings, errors, sessionId, batch, }) {
|
|
206
205
|
if (!warnings && !errors)
|
|
207
206
|
return;
|
|
208
207
|
const details = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
1
|
+
import type { EventEmitter } from 'eventemitter3';
|
|
2
|
+
import type { AirtopClient } from '../../wrapper/AirtopClient';
|
|
3
|
+
import type { BatchOperationError, BatchOperationInput, BatchOperationResponse, BatchOperationUrl } from './types';
|
|
4
4
|
export declare class WindowQueue<T> {
|
|
5
5
|
private activePromises;
|
|
6
6
|
private urlQueue;
|
|
@@ -18,7 +18,7 @@ class WindowQueue {
|
|
|
18
18
|
this.activePromisesMutex = new async_mutex_1.Mutex();
|
|
19
19
|
this.urlQueueMutex = new async_mutex_1.Mutex();
|
|
20
20
|
if (!Number.isInteger(maxWindowsPerSession) || maxWindowsPerSession <= 0) {
|
|
21
|
-
throw new Error(
|
|
21
|
+
throw new Error('maxWindowsPerSession must be a positive integer');
|
|
22
22
|
}
|
|
23
23
|
this.maxWindowsPerSession = maxWindowsPerSession;
|
|
24
24
|
this.runEmitter = runEmitter;
|
|
@@ -36,13 +36,13 @@ class WindowQueue {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
handleHaltEvent() {
|
|
39
|
-
this.client.log(
|
|
39
|
+
this.client.log('Halt event received');
|
|
40
40
|
this.isHalted = true;
|
|
41
41
|
}
|
|
42
42
|
processInBatches(urls) {
|
|
43
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
44
44
|
const results = [];
|
|
45
|
-
this.runEmitter.on(
|
|
45
|
+
this.runEmitter.on('halt', this.handleHaltEvent.bind(this));
|
|
46
46
|
yield this.urlQueueMutex.runExclusive(() => {
|
|
47
47
|
this.urlQueue = [...urls];
|
|
48
48
|
});
|
|
@@ -80,13 +80,25 @@ class WindowQueue {
|
|
|
80
80
|
url: urlData.url,
|
|
81
81
|
});
|
|
82
82
|
windowId = data.windowId;
|
|
83
|
-
this.handleErrorAndWarningResponses({
|
|
83
|
+
this.handleErrorAndWarningResponses({
|
|
84
|
+
warnings,
|
|
85
|
+
errors,
|
|
86
|
+
sessionId: this.sessionId,
|
|
87
|
+
url: urlData,
|
|
88
|
+
operation: 'window creation',
|
|
89
|
+
});
|
|
84
90
|
if (!windowId) {
|
|
85
91
|
throw new Error(`WindowId not found, errors: ${JSON.stringify(errors)}`);
|
|
86
92
|
}
|
|
87
|
-
const { data: windowInfo, warnings: windowWarnings, errors: windowErrors } = yield this.client.windows.getWindowInfo(this.sessionId, windowId);
|
|
93
|
+
const { data: windowInfo, warnings: windowWarnings, errors: windowErrors, } = yield this.client.windows.getWindowInfo(this.sessionId, windowId);
|
|
88
94
|
liveViewUrl = windowInfo.liveViewUrl;
|
|
89
|
-
this.handleErrorAndWarningResponses({
|
|
95
|
+
this.handleErrorAndWarningResponses({
|
|
96
|
+
warnings: windowWarnings,
|
|
97
|
+
errors: windowErrors,
|
|
98
|
+
sessionId: this.sessionId,
|
|
99
|
+
url: urlData,
|
|
100
|
+
operation: 'window info retrieval',
|
|
101
|
+
});
|
|
90
102
|
// Run the operation on the window
|
|
91
103
|
const result = yield this.operation({
|
|
92
104
|
windowId,
|
|
@@ -100,12 +112,12 @@ class WindowQueue {
|
|
|
100
112
|
results.push(data);
|
|
101
113
|
}
|
|
102
114
|
if (shouldHaltBatch) {
|
|
103
|
-
this.client.log(
|
|
104
|
-
this.runEmitter.emit(
|
|
115
|
+
this.client.log('Emitting halt event');
|
|
116
|
+
this.runEmitter.emit('halt');
|
|
105
117
|
}
|
|
106
118
|
if (additionalUrls && additionalUrls.length > 0) {
|
|
107
119
|
this.client.log(`Emitting addUrls event with urls: ${JSON.stringify(additionalUrls)}`);
|
|
108
|
-
this.runEmitter.emit(
|
|
120
|
+
this.runEmitter.emit('addUrls', additionalUrls);
|
|
109
121
|
}
|
|
110
122
|
}
|
|
111
123
|
}
|
|
@@ -147,7 +159,7 @@ class WindowQueue {
|
|
|
147
159
|
// Wait for all processes to complete
|
|
148
160
|
yield Promise.allSettled(this.activePromises);
|
|
149
161
|
// Remove the halt listener
|
|
150
|
-
this.runEmitter.removeListener(
|
|
162
|
+
this.runEmitter.removeListener('halt', this.handleHaltEvent);
|
|
151
163
|
return results;
|
|
152
164
|
});
|
|
153
165
|
}
|
|
@@ -181,7 +193,7 @@ class WindowQueue {
|
|
|
181
193
|
formatError(error) {
|
|
182
194
|
return error instanceof Error ? error.message : String(error);
|
|
183
195
|
}
|
|
184
|
-
handleErrorAndWarningResponses({ warnings, errors, sessionId, url, operation }) {
|
|
196
|
+
handleErrorAndWarningResponses({ warnings, errors, sessionId, url, operation, }) {
|
|
185
197
|
if (!warnings && !errors)
|
|
186
198
|
return;
|
|
187
199
|
const details = {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { AirtopClient } from
|
|
2
|
-
import type { BatchOperateConfig, BatchOperationInput, BatchOperationResponse, BatchOperationUrl } from
|
|
1
|
+
import type { AirtopClient } from '../../wrapper/AirtopClient';
|
|
2
|
+
import type { BatchOperateConfig, BatchOperationInput, BatchOperationResponse, BatchOperationUrl } from './types';
|
|
3
3
|
export declare const batchOperate: <T>(urls: BatchOperationUrl[], operation: (input: BatchOperationInput) => Promise<BatchOperationResponse<T>>, client: AirtopClient, config?: BatchOperateConfig | undefined) => Promise<T[]>;
|
|
@@ -11,19 +11,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.batchOperate = void 0;
|
|
13
13
|
const eventemitter3_1 = require("eventemitter3");
|
|
14
|
-
const helpers_1 = require("./helpers");
|
|
15
14
|
const SessionQueue_1 = require("./SessionQueue");
|
|
15
|
+
const helpers_1 = require("./helpers");
|
|
16
16
|
const DEFAULT_MAX_WINDOWS_PER_SESSION = 1;
|
|
17
17
|
const DEFAULT_MAX_CONCURRENT_SESSIONS = 30;
|
|
18
18
|
const batchOperate = (urls, operation, // operation to invoke on each url
|
|
19
19
|
client, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
20
|
// Validate the urls before proceeding
|
|
21
21
|
if (!Array.isArray(urls)) {
|
|
22
|
-
throw new Error(
|
|
22
|
+
throw new Error('Please provide a valid list of urls');
|
|
23
23
|
}
|
|
24
24
|
for (const url of urls) {
|
|
25
|
-
if (!url || typeof url !==
|
|
26
|
-
throw new Error(
|
|
25
|
+
if (!url || typeof url !== 'object' || !('url' in url)) {
|
|
26
|
+
throw new Error('Please provide a valid list of urls');
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
const runEmitter = new eventemitter3_1.EventEmitter();
|
|
@@ -40,7 +40,7 @@ client, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
40
40
|
sessionConfig,
|
|
41
41
|
onError,
|
|
42
42
|
});
|
|
43
|
-
runEmitter.on(
|
|
43
|
+
runEmitter.on('addUrls', (additionalUrls) => {
|
|
44
44
|
sessionQueue.addUrlsToBatchQueue(additionalUrls);
|
|
45
45
|
});
|
|
46
46
|
yield sessionQueue.processInitialBatches();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { BatchOperationUrl } from
|
|
1
|
+
import type { BatchOperationUrl } from './types';
|
|
2
2
|
export declare const distributeUrlsToBatches: (urls: BatchOperationUrl[], maxConcurrentSessions: number) => BatchOperationUrl[][];
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
1
|
+
export * from './batch-operate/batch-util';
|
|
2
|
+
export * from './batch-operate/types';
|
|
3
|
+
export * from './process-screenshots';
|
|
@@ -16,8 +16,8 @@ function extractMimeAndBase64(dataUrl) {
|
|
|
16
16
|
return { mimeType: match[1], base64Data: match[2] };
|
|
17
17
|
}
|
|
18
18
|
return {
|
|
19
|
-
mimeType:
|
|
20
|
-
base64Data: dataUrl.replace(/^data:image\/jpeg;base64,/,
|
|
19
|
+
mimeType: 'image/jpeg',
|
|
20
|
+
base64Data: dataUrl.replace(/^data:image\/jpeg;base64,/, ''),
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
function processScreenshots(response) {
|
|
@@ -30,13 +30,13 @@ function processScreenshots(response) {
|
|
|
30
30
|
if (!screenshot.dataUrl) {
|
|
31
31
|
return {
|
|
32
32
|
index,
|
|
33
|
-
error: new Error(
|
|
33
|
+
error: new Error('Screenshot data URL not found'),
|
|
34
34
|
success: false,
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
try {
|
|
38
38
|
const { mimeType, base64Data } = extractMimeAndBase64(screenshot.dataUrl);
|
|
39
|
-
const binaryData = Buffer.from(base64Data,
|
|
39
|
+
const binaryData = Buffer.from(base64Data, 'base64');
|
|
40
40
|
return {
|
|
41
41
|
index,
|
|
42
42
|
binaryData,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AirtopClient as FernClient } from '../Client';
|
|
2
|
+
import { type BatchOperateConfig, type BatchOperationInput, type BatchOperationResponse, type BatchOperationUrl } from '../utils';
|
|
2
3
|
import { AirtopSessions } from './AirtopSessions';
|
|
3
4
|
import { AirtopWindows } from './AirtopWindows';
|
|
4
|
-
import { type BatchOperateConfig, type BatchOperationInput, type BatchOperationResponse, type BatchOperationUrl } from "../utils";
|
|
5
5
|
declare type AugmentedOptions = FernClient.Options & {
|
|
6
6
|
debug?: boolean;
|
|
7
7
|
};
|
|
@@ -17,6 +17,7 @@ export declare class AirtopClient {
|
|
|
17
17
|
get sessions(): AirtopSessions;
|
|
18
18
|
get windows(): AirtopWindows;
|
|
19
19
|
get profiles(): import("../api/resources/profiles/client/Client").Profiles;
|
|
20
|
+
get extensionConfigurations(): import("../api/resources/extensionConfigurations/client/Client").ExtensionConfigurations;
|
|
20
21
|
log(message: string): void;
|
|
21
22
|
warn(message: string): void;
|
|
22
23
|
error(err: any): void;
|
|
@@ -34,10 +34,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
35
|
exports.AirtopClient = void 0;
|
|
36
36
|
const Client_1 = require("../Client"); // alias the Fern generated client
|
|
37
|
+
const core = __importStar(require("../core"));
|
|
38
|
+
const utils_1 = require("../utils");
|
|
37
39
|
const AirtopSessions_1 = require("./AirtopSessions");
|
|
38
40
|
const AirtopWindows_1 = require("./AirtopWindows");
|
|
39
|
-
const utils_1 = require("../utils");
|
|
40
|
-
const core = __importStar(require("../core"));
|
|
41
41
|
class AirtopClient {
|
|
42
42
|
constructor(_options) {
|
|
43
43
|
this._options = _options;
|
|
@@ -47,7 +47,7 @@ class AirtopClient {
|
|
|
47
47
|
const version = require('../package.json').version; //we don't control tsconfig.json so we can't use resolveJsonModule
|
|
48
48
|
if (!_options.fetcher) {
|
|
49
49
|
_options.fetcher = (req) => {
|
|
50
|
-
return core.fetcher(Object.assign(Object.assign({}, req), { headers: Object.assign(Object.assign({}, req.headers), {
|
|
50
|
+
return core.fetcher(Object.assign(Object.assign({}, req), { headers: Object.assign(Object.assign({}, req.headers), { 'x-airtop-sdk-source': 'javascript', 'x-airtop-sdk-version': version }) }));
|
|
51
51
|
};
|
|
52
52
|
}
|
|
53
53
|
this._client = new Client_1.AirtopClient(_options);
|
|
@@ -70,6 +70,9 @@ class AirtopClient {
|
|
|
70
70
|
get profiles() {
|
|
71
71
|
return this._client.profiles;
|
|
72
72
|
}
|
|
73
|
+
get extensionConfigurations() {
|
|
74
|
+
return this._client.extensionConfigurations;
|
|
75
|
+
}
|
|
73
76
|
log(message) {
|
|
74
77
|
if (this.debug) {
|
|
75
78
|
console.log(message);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as Airtop from '../api';
|
|
2
|
-
import { Sessions as SessionsClass, Sessions as SessionsNamespace } from '../api/resources/sessions/client/Client';
|
|
1
|
+
import type * as Airtop from '../api';
|
|
2
|
+
import { Sessions as SessionsClass, type Sessions as SessionsNamespace } from '../api/resources/sessions/client/Client';
|
|
3
3
|
export interface AirtopSessionConfigV1 extends Airtop.SessionConfigV1 {
|
|
4
4
|
skipWaitSessionReady?: boolean;
|
|
5
5
|
}
|
|
@@ -44,17 +44,17 @@ class AirtopSessions extends Client_1.Sessions {
|
|
|
44
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
45
|
const createSessionResponse = yield _super.create.call(this, request, requestOptions);
|
|
46
46
|
if (!createSessionResponse.data) {
|
|
47
|
-
throw new Error(
|
|
47
|
+
throw new Error('Error creating browser session');
|
|
48
48
|
}
|
|
49
49
|
if ((_a = request === null || request === void 0 ? void 0 : request.configuration) === null || _a === void 0 ? void 0 : _a.skipWaitSessionReady) {
|
|
50
50
|
return createSessionResponse;
|
|
51
51
|
}
|
|
52
|
-
this.log(
|
|
52
|
+
this.log(`session created:\n${JSON.stringify(createSessionResponse, null, 2)}`);
|
|
53
53
|
try {
|
|
54
54
|
const event = yield this.waitForSessionReady(createSessionResponse.data.id, requestOptions);
|
|
55
55
|
if (!event) {
|
|
56
56
|
this.log('No browser created, timed out?');
|
|
57
|
-
throw new Error(
|
|
57
|
+
throw new Error('Waiting for session ready timed out');
|
|
58
58
|
}
|
|
59
59
|
const getInfoResponse = yield this.getInfo(createSessionResponse.data.id, requestOptions);
|
|
60
60
|
// Merge the createSessionResponse with any new data from getInfoResponse
|
|
@@ -73,7 +73,7 @@ class AirtopSessions extends Client_1.Sessions {
|
|
|
73
73
|
try {
|
|
74
74
|
for (var sessionEvents_1 = __asyncValues(sessionEvents), sessionEvents_1_1; sessionEvents_1_1 = yield sessionEvents_1.next(), !sessionEvents_1_1.done;) {
|
|
75
75
|
const event = sessionEvents_1_1.value;
|
|
76
|
-
this.log(
|
|
76
|
+
this.log(`status message received:\n${JSON.stringify(event, null, 2)}`);
|
|
77
77
|
const e = event;
|
|
78
78
|
if (e.event === 'status' && e.status === 'running') {
|
|
79
79
|
return event;
|