@airtop/sdk 0.1.19 → 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/ExtensionConfigurationDeleteRequest.js +5 -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/AsyncClickRequest.js +5 -0
- package/api/resources/windows/client/requests/AsyncHoverRequest.d.ts +25 -0
- package/api/resources/windows/client/requests/AsyncHoverRequest.js +5 -0
- package/api/resources/windows/client/requests/AsyncMonitorRequest.d.ts +27 -0
- package/api/resources/windows/client/requests/AsyncMonitorRequest.js +5 -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/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/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/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/Window.d.ts +2 -0
- package/api/types/index.d.ts +12 -0
- package/api/types/index.js +12 -0
- 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/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/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/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/Window.d.ts +2 -0
- package/dist/api/types/index.d.ts +12 -0
- package/dist/api/types/index.js +12 -0
- 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/AsyncConfig.d.ts +12 -0
- package/dist/serialization/types/AsyncConfig.js +33 -0
- 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/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/Window.d.ts +1 -0
- package/dist/serialization/types/Window.js +1 -0
- package/dist/serialization/types/index.d.ts +12 -0
- package/dist/serialization/types/index.js +12 -0
- 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/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/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/Window.d.ts +1 -0
- package/serialization/types/Window.js +1 -0
- package/serialization/types/index.d.ts +12 -0
- package/serialization/types/index.js +12 -0
- 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
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This file was auto-generated by Fern from our API Definition.
|
4
|
+
*/
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
6
|
+
if (k2 === undefined) k2 = k;
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
10
|
+
}
|
11
|
+
Object.defineProperty(o, k2, desc);
|
12
|
+
}) : (function(o, m, k, k2) {
|
13
|
+
if (k2 === undefined) k2 = k;
|
14
|
+
o[k2] = m[k];
|
15
|
+
}));
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
18
|
+
}) : function(o, v) {
|
19
|
+
o["default"] = v;
|
20
|
+
});
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
22
|
+
if (mod && mod.__esModule) return mod;
|
23
|
+
var result = {};
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
25
|
+
__setModuleDefault(result, mod);
|
26
|
+
return result;
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.ScrapeConfig = void 0;
|
30
|
+
const core = __importStar(require("../../core"));
|
31
|
+
exports.ScrapeConfig = core.serialization.object({
|
32
|
+
optimizeUrls: core.serialization.string().optional(),
|
33
|
+
});
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
3
|
+
*/
|
4
|
+
import * as serializers from "../index";
|
5
|
+
import * as Airtop from "../../api/index";
|
6
|
+
import * as core from "../../core";
|
7
|
+
export declare const ScrollByConfig: core.serialization.ObjectSchema<serializers.ScrollByConfig.Raw, Airtop.ScrollByConfig>;
|
8
|
+
export declare namespace ScrollByConfig {
|
9
|
+
interface Raw {
|
10
|
+
xAxis?: string | null;
|
11
|
+
yAxis?: string | null;
|
12
|
+
}
|
13
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This file was auto-generated by Fern from our API Definition.
|
4
|
+
*/
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
6
|
+
if (k2 === undefined) k2 = k;
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
10
|
+
}
|
11
|
+
Object.defineProperty(o, k2, desc);
|
12
|
+
}) : (function(o, m, k, k2) {
|
13
|
+
if (k2 === undefined) k2 = k;
|
14
|
+
o[k2] = m[k];
|
15
|
+
}));
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
18
|
+
}) : function(o, v) {
|
19
|
+
o["default"] = v;
|
20
|
+
});
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
22
|
+
if (mod && mod.__esModule) return mod;
|
23
|
+
var result = {};
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
25
|
+
__setModuleDefault(result, mod);
|
26
|
+
return result;
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.ScrollByConfig = void 0;
|
30
|
+
const core = __importStar(require("../../core"));
|
31
|
+
exports.ScrollByConfig = core.serialization.object({
|
32
|
+
xAxis: core.serialization.string().optional(),
|
33
|
+
yAxis: core.serialization.string().optional(),
|
34
|
+
});
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* This file was auto-generated by Fern from our API Definition.
|
3
|
+
*/
|
4
|
+
import * as serializers from "../index";
|
5
|
+
import * as Airtop from "../../api/index";
|
6
|
+
import * as core from "../../core";
|
7
|
+
export declare const ScrollToEdgeConfig: core.serialization.ObjectSchema<serializers.ScrollToEdgeConfig.Raw, Airtop.ScrollToEdgeConfig>;
|
8
|
+
export declare namespace ScrollToEdgeConfig {
|
9
|
+
interface Raw {
|
10
|
+
xAxis?: string | null;
|
11
|
+
yAxis?: string | null;
|
12
|
+
}
|
13
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* This file was auto-generated by Fern from our API Definition.
|
4
|
+
*/
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
6
|
+
if (k2 === undefined) k2 = k;
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
10
|
+
}
|
11
|
+
Object.defineProperty(o, k2, desc);
|
12
|
+
}) : (function(o, m, k, k2) {
|
13
|
+
if (k2 === undefined) k2 = k;
|
14
|
+
o[k2] = m[k];
|
15
|
+
}));
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
18
|
+
}) : function(o, v) {
|
19
|
+
o["default"] = v;
|
20
|
+
});
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
22
|
+
if (mod && mod.__esModule) return mod;
|
23
|
+
var result = {};
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
25
|
+
__setModuleDefault(result, mod);
|
26
|
+
return result;
|
27
|
+
};
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
+
exports.ScrollToEdgeConfig = void 0;
|
30
|
+
const core = __importStar(require("../../core"));
|
31
|
+
exports.ScrollToEdgeConfig = core.serialization.object({
|
32
|
+
xAxis: core.serialization.string().optional(),
|
33
|
+
yAxis: core.serialization.string().optional(),
|
34
|
+
});
|
@@ -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(),
|
@@ -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,6 +40,8 @@ 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";
|
33
45
|
export * from "./AirtopProxyConfiguration";
|
34
46
|
export * from "./ProxyCredentials";
|
35
47
|
export * from "./Proxy";
|
@@ -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,6 +56,8 @@ __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);
|
49
61
|
__exportStar(require("./AirtopProxyConfiguration"), exports);
|
50
62
|
__exportStar(require("./ProxyCredentials"), exports);
|
51
63
|
__exportStar(require("./Proxy"), 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/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;
|
package/wrapper/AirtopClient.js
CHANGED
@@ -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
|
}
|