@airtop/sdk 0.1.14 → 0.1.15-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.
Files changed (215) hide show
  1. package/Client.d.ts +3 -0
  2. package/Client.js +7 -2
  3. package/README.md +8 -6
  4. package/api/resources/index.d.ts +1 -0
  5. package/api/resources/index.js +2 -1
  6. package/api/resources/profiles/client/Client.js +2 -2
  7. package/api/resources/requests/client/Client.d.ts +34 -0
  8. package/api/resources/requests/client/Client.js +115 -0
  9. package/api/resources/requests/client/index.d.ts +1 -0
  10. package/api/resources/requests/client/index.js +2 -0
  11. package/api/resources/requests/index.d.ts +1 -0
  12. package/api/resources/requests/index.js +17 -0
  13. package/api/resources/sessions/client/Client.js +12 -12
  14. package/api/resources/sessions/types/SessionsEventsResponse.d.ts +4 -4
  15. package/api/resources/sessions/types/index.d.ts +1 -1
  16. package/api/resources/sessions/types/index.js +1 -1
  17. package/api/resources/windows/client/Client.d.ts +116 -0
  18. package/api/resources/windows/client/Client.js +654 -26
  19. package/api/resources/windows/client/requests/AsyncClickRequest.d.ts +29 -0
  20. package/api/resources/windows/client/requests/AsyncClickRequest.js +5 -0
  21. package/api/resources/windows/client/requests/AsyncHoverRequest.d.ts +25 -0
  22. package/api/resources/windows/client/requests/AsyncHoverRequest.js +5 -0
  23. package/api/resources/windows/client/requests/AsyncMonitorRequest.d.ts +27 -0
  24. package/api/resources/windows/client/requests/AsyncMonitorRequest.js +5 -0
  25. package/api/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +29 -0
  26. package/api/resources/windows/client/requests/AsyncPageQueryRequest.js +5 -0
  27. package/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +25 -0
  28. package/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +5 -0
  29. package/api/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +29 -0
  30. package/api/resources/windows/client/requests/AsyncPromptContentRequest.js +5 -0
  31. package/api/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +23 -0
  32. package/api/resources/windows/client/requests/AsyncScreenshotRequest.js +5 -0
  33. package/api/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +25 -0
  34. package/api/resources/windows/client/requests/AsyncSummarizeContentRequest.js +5 -0
  35. package/api/resources/windows/client/requests/AsyncTypeRequest.d.ts +37 -0
  36. package/api/resources/windows/client/requests/AsyncTypeRequest.js +5 -0
  37. package/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +25 -0
  38. package/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +5 -0
  39. package/api/resources/windows/client/requests/index.d.ts +10 -0
  40. package/api/types/AsyncConfig.d.ts +7 -0
  41. package/api/types/AsyncConfig.js +5 -0
  42. package/api/types/AsyncSessionAiResponseEnvelope.d.ts +9 -0
  43. package/api/types/AsyncSessionAiResponseEnvelope.js +5 -0
  44. package/api/types/BrowserWaitSelectorConfig.d.ts +11 -0
  45. package/api/types/BrowserWaitSelectorConfig.js +5 -0
  46. package/api/types/IntervalMonitorConfig.d.ts +9 -0
  47. package/api/types/IntervalMonitorConfig.js +5 -0
  48. package/api/types/MonitorConfig.d.ts +14 -0
  49. package/api/types/MonitorConfig.js +5 -0
  50. package/api/types/MonitorConfigIncludeVisualAnalysis.d.ts +12 -0
  51. package/api/types/MonitorConfigIncludeVisualAnalysis.js +11 -0
  52. package/api/types/MonitorConfigMonitorType.d.ts +11 -0
  53. package/api/types/MonitorConfigMonitorType.js +10 -0
  54. package/api/types/RequestStatusResponse.d.ts +8 -0
  55. package/api/types/RequestStatusResponse.js +5 -0
  56. package/api/types/index.d.ts +8 -0
  57. package/api/types/index.js +8 -0
  58. package/dist/Client.d.ts +3 -0
  59. package/dist/Client.js +7 -2
  60. package/dist/api/resources/index.d.ts +1 -0
  61. package/dist/api/resources/index.js +2 -1
  62. package/dist/api/resources/profiles/client/Client.js +2 -2
  63. package/dist/api/resources/requests/client/Client.d.ts +34 -0
  64. package/dist/api/resources/requests/client/Client.js +115 -0
  65. package/dist/api/resources/requests/client/index.d.ts +1 -0
  66. package/dist/api/resources/requests/client/index.js +2 -0
  67. package/dist/api/resources/requests/index.d.ts +1 -0
  68. package/dist/api/resources/requests/index.js +17 -0
  69. package/dist/api/resources/sessions/client/Client.js +12 -12
  70. package/dist/api/resources/sessions/types/SessionsEventsResponse.d.ts +4 -4
  71. package/dist/api/resources/sessions/types/index.d.ts +1 -1
  72. package/dist/api/resources/sessions/types/index.js +1 -1
  73. package/dist/api/resources/windows/client/Client.d.ts +116 -0
  74. package/dist/api/resources/windows/client/Client.js +654 -26
  75. package/dist/api/resources/windows/client/requests/AsyncClickRequest.d.ts +29 -0
  76. package/dist/api/resources/windows/client/requests/AsyncClickRequest.js +5 -0
  77. package/dist/api/resources/windows/client/requests/AsyncHoverRequest.d.ts +25 -0
  78. package/dist/api/resources/windows/client/requests/AsyncHoverRequest.js +5 -0
  79. package/dist/api/resources/windows/client/requests/AsyncMonitorRequest.d.ts +27 -0
  80. package/dist/api/resources/windows/client/requests/AsyncMonitorRequest.js +5 -0
  81. package/dist/api/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +29 -0
  82. package/dist/api/resources/windows/client/requests/AsyncPageQueryRequest.js +5 -0
  83. package/dist/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +25 -0
  84. package/dist/api/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +5 -0
  85. package/dist/api/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +29 -0
  86. package/dist/api/resources/windows/client/requests/AsyncPromptContentRequest.js +5 -0
  87. package/dist/api/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +23 -0
  88. package/dist/api/resources/windows/client/requests/AsyncScreenshotRequest.js +5 -0
  89. package/dist/api/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +25 -0
  90. package/dist/api/resources/windows/client/requests/AsyncSummarizeContentRequest.js +5 -0
  91. package/dist/api/resources/windows/client/requests/AsyncTypeRequest.d.ts +37 -0
  92. package/dist/api/resources/windows/client/requests/AsyncTypeRequest.js +5 -0
  93. package/dist/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +25 -0
  94. package/dist/api/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +5 -0
  95. package/dist/api/resources/windows/client/requests/index.d.ts +10 -0
  96. package/dist/api/types/AsyncConfig.d.ts +7 -0
  97. package/dist/api/types/AsyncConfig.js +5 -0
  98. package/dist/api/types/AsyncSessionAiResponseEnvelope.d.ts +9 -0
  99. package/dist/api/types/AsyncSessionAiResponseEnvelope.js +5 -0
  100. package/dist/api/types/BrowserWaitSelectorConfig.d.ts +11 -0
  101. package/dist/api/types/BrowserWaitSelectorConfig.js +5 -0
  102. package/dist/api/types/IntervalMonitorConfig.d.ts +9 -0
  103. package/dist/api/types/IntervalMonitorConfig.js +5 -0
  104. package/dist/api/types/MonitorConfig.d.ts +14 -0
  105. package/dist/api/types/MonitorConfig.js +5 -0
  106. package/dist/api/types/MonitorConfigIncludeVisualAnalysis.d.ts +12 -0
  107. package/dist/api/types/MonitorConfigIncludeVisualAnalysis.js +11 -0
  108. package/dist/api/types/MonitorConfigMonitorType.d.ts +11 -0
  109. package/dist/api/types/MonitorConfigMonitorType.js +10 -0
  110. package/dist/api/types/RequestStatusResponse.d.ts +8 -0
  111. package/dist/api/types/RequestStatusResponse.js +5 -0
  112. package/dist/api/types/index.d.ts +8 -0
  113. package/dist/api/types/index.js +8 -0
  114. package/dist/serialization/resources/sessions/types/SessionsEventsResponse.d.ts +5 -5
  115. package/dist/serialization/resources/sessions/types/SessionsEventsResponse.js +2 -2
  116. package/dist/serialization/resources/sessions/types/index.d.ts +1 -1
  117. package/dist/serialization/resources/sessions/types/index.js +1 -1
  118. package/dist/serialization/resources/windows/client/requests/AsyncClickRequest.d.ts +20 -0
  119. package/dist/serialization/resources/windows/client/requests/AsyncClickRequest.js +41 -0
  120. package/dist/serialization/resources/windows/client/requests/AsyncHoverRequest.d.ts +19 -0
  121. package/dist/serialization/resources/windows/client/requests/AsyncHoverRequest.js +40 -0
  122. package/dist/serialization/resources/windows/client/requests/AsyncMonitorRequest.d.ts +20 -0
  123. package/dist/serialization/resources/windows/client/requests/AsyncMonitorRequest.js +41 -0
  124. package/dist/serialization/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +20 -0
  125. package/dist/serialization/resources/windows/client/requests/AsyncPageQueryRequest.js +41 -0
  126. package/dist/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +19 -0
  127. package/dist/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +40 -0
  128. package/dist/serialization/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +20 -0
  129. package/dist/serialization/resources/windows/client/requests/AsyncPromptContentRequest.js +41 -0
  130. package/dist/serialization/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +18 -0
  131. package/dist/serialization/resources/windows/client/requests/AsyncScreenshotRequest.js +39 -0
  132. package/dist/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +19 -0
  133. package/dist/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.js +40 -0
  134. package/dist/serialization/resources/windows/client/requests/AsyncTypeRequest.d.ts +24 -0
  135. package/dist/serialization/resources/windows/client/requests/AsyncTypeRequest.js +45 -0
  136. package/dist/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +18 -0
  137. package/dist/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +39 -0
  138. package/dist/serialization/resources/windows/client/requests/index.d.ts +10 -0
  139. package/dist/serialization/resources/windows/client/requests/index.js +21 -1
  140. package/dist/serialization/types/AsyncConfig.d.ts +12 -0
  141. package/dist/serialization/types/AsyncConfig.js +33 -0
  142. package/dist/serialization/types/AsyncSessionAiResponseEnvelope.d.ts +15 -0
  143. package/dist/serialization/types/AsyncSessionAiResponseEnvelope.js +36 -0
  144. package/dist/serialization/types/BrowserWaitSelectorConfig.d.ts +14 -0
  145. package/dist/serialization/types/BrowserWaitSelectorConfig.js +35 -0
  146. package/dist/serialization/types/IntervalMonitorConfig.d.ts +13 -0
  147. package/dist/serialization/types/IntervalMonitorConfig.js +34 -0
  148. package/dist/serialization/types/MonitorConfig.d.ts +19 -0
  149. package/dist/serialization/types/MonitorConfig.js +40 -0
  150. package/dist/serialization/types/MonitorConfigIncludeVisualAnalysis.d.ts +10 -0
  151. package/dist/serialization/types/MonitorConfigIncludeVisualAnalysis.js +31 -0
  152. package/dist/serialization/types/MonitorConfigMonitorType.d.ts +10 -0
  153. package/dist/serialization/types/MonitorConfigMonitorType.js +31 -0
  154. package/dist/serialization/types/RequestStatusResponse.d.ts +13 -0
  155. package/dist/serialization/types/RequestStatusResponse.js +34 -0
  156. package/dist/serialization/types/index.d.ts +8 -0
  157. package/dist/serialization/types/index.js +8 -0
  158. package/dist/utils/index.d.ts +1 -0
  159. package/dist/utils/index.js +1 -0
  160. package/dist/utils/process-screenshots.d.ts +10 -0
  161. package/dist/utils/process-screenshots.js +59 -0
  162. package/dist/wrapper/AirtopWindows.d.ts +10 -0
  163. package/dist/wrapper/AirtopWindows.js +17 -0
  164. package/package.json +1 -1
  165. package/reference.md +768 -0
  166. package/serialization/resources/sessions/types/SessionsEventsResponse.d.ts +5 -5
  167. package/serialization/resources/sessions/types/SessionsEventsResponse.js +2 -2
  168. package/serialization/resources/sessions/types/index.d.ts +1 -1
  169. package/serialization/resources/sessions/types/index.js +1 -1
  170. package/serialization/resources/windows/client/requests/AsyncClickRequest.d.ts +20 -0
  171. package/serialization/resources/windows/client/requests/AsyncClickRequest.js +41 -0
  172. package/serialization/resources/windows/client/requests/AsyncHoverRequest.d.ts +19 -0
  173. package/serialization/resources/windows/client/requests/AsyncHoverRequest.js +40 -0
  174. package/serialization/resources/windows/client/requests/AsyncMonitorRequest.d.ts +20 -0
  175. package/serialization/resources/windows/client/requests/AsyncMonitorRequest.js +41 -0
  176. package/serialization/resources/windows/client/requests/AsyncPageQueryRequest.d.ts +20 -0
  177. package/serialization/resources/windows/client/requests/AsyncPageQueryRequest.js +41 -0
  178. package/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.d.ts +19 -0
  179. package/serialization/resources/windows/client/requests/AsyncPaginatedExtractionRequest.js +40 -0
  180. package/serialization/resources/windows/client/requests/AsyncPromptContentRequest.d.ts +20 -0
  181. package/serialization/resources/windows/client/requests/AsyncPromptContentRequest.js +41 -0
  182. package/serialization/resources/windows/client/requests/AsyncScreenshotRequest.d.ts +18 -0
  183. package/serialization/resources/windows/client/requests/AsyncScreenshotRequest.js +39 -0
  184. package/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.d.ts +19 -0
  185. package/serialization/resources/windows/client/requests/AsyncSummarizeContentRequest.js +40 -0
  186. package/serialization/resources/windows/client/requests/AsyncTypeRequest.d.ts +24 -0
  187. package/serialization/resources/windows/client/requests/AsyncTypeRequest.js +45 -0
  188. package/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.d.ts +18 -0
  189. package/serialization/resources/windows/client/requests/SessionMonitorHandlerRequestBody.js +39 -0
  190. package/serialization/resources/windows/client/requests/index.d.ts +10 -0
  191. package/serialization/resources/windows/client/requests/index.js +21 -1
  192. package/serialization/types/AsyncConfig.d.ts +12 -0
  193. package/serialization/types/AsyncConfig.js +33 -0
  194. package/serialization/types/AsyncSessionAiResponseEnvelope.d.ts +15 -0
  195. package/serialization/types/AsyncSessionAiResponseEnvelope.js +36 -0
  196. package/serialization/types/BrowserWaitSelectorConfig.d.ts +14 -0
  197. package/serialization/types/BrowserWaitSelectorConfig.js +35 -0
  198. package/serialization/types/IntervalMonitorConfig.d.ts +13 -0
  199. package/serialization/types/IntervalMonitorConfig.js +34 -0
  200. package/serialization/types/MonitorConfig.d.ts +19 -0
  201. package/serialization/types/MonitorConfig.js +40 -0
  202. package/serialization/types/MonitorConfigIncludeVisualAnalysis.d.ts +10 -0
  203. package/serialization/types/MonitorConfigIncludeVisualAnalysis.js +31 -0
  204. package/serialization/types/MonitorConfigMonitorType.d.ts +10 -0
  205. package/serialization/types/MonitorConfigMonitorType.js +31 -0
  206. package/serialization/types/RequestStatusResponse.d.ts +13 -0
  207. package/serialization/types/RequestStatusResponse.js +34 -0
  208. package/serialization/types/index.d.ts +8 -0
  209. package/serialization/types/index.js +8 -0
  210. package/utils/index.d.ts +1 -0
  211. package/utils/index.js +1 -0
  212. package/utils/process-screenshots.d.ts +10 -0
  213. package/utils/process-screenshots.js +59 -0
  214. package/wrapper/AirtopWindows.d.ts +10 -0
  215. package/wrapper/AirtopWindows.js +17 -0
package/Client.d.ts CHANGED
@@ -5,6 +5,7 @@ import * as environments from "./environments";
5
5
  import * as core from "./core";
6
6
  import { Windows } from "./api/resources/windows/client/Client";
7
7
  import { Profiles } from "./api/resources/profiles/client/Client";
8
+ import { Requests } from "./api/resources/requests/client/Client";
8
9
  import { Sessions } from "./api/resources/sessions/client/Client";
9
10
  export declare namespace AirtopClient {
10
11
  interface Options {
@@ -28,6 +29,8 @@ export declare class AirtopClient {
28
29
  get windows(): Windows;
29
30
  protected _profiles: Profiles | undefined;
30
31
  get profiles(): Profiles;
32
+ protected _requests: Requests | undefined;
33
+ get requests(): Requests;
31
34
  protected _sessions: Sessions | undefined;
32
35
  get sessions(): Sessions;
33
36
  }
package/Client.js CHANGED
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AirtopClient = void 0;
7
7
  const Client_1 = require("./api/resources/windows/client/Client");
8
8
  const Client_2 = require("./api/resources/profiles/client/Client");
9
- const Client_3 = require("./api/resources/sessions/client/Client");
9
+ const Client_3 = require("./api/resources/requests/client/Client");
10
+ const Client_4 = require("./api/resources/sessions/client/Client");
10
11
  class AirtopClient {
11
12
  constructor(_options) {
12
13
  this._options = _options;
@@ -19,9 +20,13 @@ class AirtopClient {
19
20
  var _a;
20
21
  return ((_a = this._profiles) !== null && _a !== void 0 ? _a : (this._profiles = new Client_2.Profiles(this._options)));
21
22
  }
23
+ get requests() {
24
+ var _a;
25
+ return ((_a = this._requests) !== null && _a !== void 0 ? _a : (this._requests = new Client_3.Requests(this._options)));
26
+ }
22
27
  get sessions() {
23
28
  var _a;
24
- return ((_a = this._sessions) !== null && _a !== void 0 ? _a : (this._sessions = new Client_3.Sessions(this._options)));
29
+ return ((_a = this._sessions) !== null && _a !== void 0 ? _a : (this._sessions = new Client_4.Sessions(this._options)));
25
30
  }
26
31
  }
27
32
  exports.AirtopClient = AirtopClient;
package/README.md CHANGED
@@ -19,7 +19,9 @@ Instantiate and use the client with the following:
19
19
  import { AirtopClient } from "@airtop/sdk";
20
20
 
21
21
  const client = new AirtopClient({ apiKey: "YOUR_API_KEY" });
22
- await client.windows.create("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b");
22
+ await client.windows.asyncClick("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430", {
23
+ elementDescription: "The login button",
24
+ });
23
25
  ```
24
26
 
25
27
  ## Request And Response Types
@@ -30,7 +32,7 @@ following namespace:
30
32
  ```typescript
31
33
  import { Airtop } from "@airtop/sdk";
32
34
 
33
- const request: Airtop.CreateWindowInputV1Body = {
35
+ const request: Airtop.AsyncClickRequest = {
34
36
  ...
35
37
  };
36
38
  ```
@@ -44,7 +46,7 @@ will be thrown.
44
46
  import { AirtopError } from "@airtop/sdk";
45
47
 
46
48
  try {
47
- await client.windows.create(...);
49
+ await client.windows.asyncClick(...);
48
50
  } catch (err) {
49
51
  if (err instanceof AirtopError) {
50
52
  console.log(err.statusCode);
@@ -71,7 +73,7 @@ A request is deemed retriable when any of the following HTTP status codes is ret
71
73
  Use the `maxRetries` request option to configure this behavior.
72
74
 
73
75
  ```typescript
74
- const response = await client.windows.create(..., {
76
+ const response = await client.windows.asyncClick(..., {
75
77
  maxRetries: 0 // override maxRetries at the request level
76
78
  });
77
79
  ```
@@ -81,7 +83,7 @@ const response = await client.windows.create(..., {
81
83
  The SDK defaults to a 60 second timeout. Use the `timeoutInSeconds` option to configure this behavior.
82
84
 
83
85
  ```typescript
84
- const response = await client.windows.create(..., {
86
+ const response = await client.windows.asyncClick(..., {
85
87
  timeoutInSeconds: 30 // override timeout to 30s
86
88
  });
87
89
  ```
@@ -92,7 +94,7 @@ The SDK allows users to abort requests at any point by passing in an abort signa
92
94
 
93
95
  ```typescript
94
96
  const controller = new AbortController();
95
- const response = await client.windows.create(..., {
97
+ const response = await client.windows.asyncClick(..., {
96
98
  abortSignal: controller.signal
97
99
  });
98
100
  controller.abort(); // aborts the request
@@ -3,6 +3,7 @@ export * from "./windows/types";
3
3
  export * as sessions from "./sessions";
4
4
  export * from "./sessions/types";
5
5
  export * as profiles from "./profiles";
6
+ export * as requests from "./requests";
6
7
  export * from "./windows/client/requests";
7
8
  export * from "./profiles/client/requests";
8
9
  export * from "./sessions/client/requests";
@@ -26,12 +26,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.profiles = exports.sessions = exports.windows = void 0;
29
+ exports.requests = exports.profiles = exports.sessions = exports.windows = void 0;
30
30
  exports.windows = __importStar(require("./windows"));
31
31
  __exportStar(require("./windows/types"), exports);
32
32
  exports.sessions = __importStar(require("./sessions"));
33
33
  __exportStar(require("./sessions/types"), exports);
34
34
  exports.profiles = __importStar(require("./profiles"));
35
+ exports.requests = __importStar(require("./requests"));
35
36
  __exportStar(require("./windows/client/requests"), exports);
36
37
  __exportStar(require("./profiles/client/requests"), exports);
37
38
  __exportStar(require("./sessions/client/requests"), exports);
@@ -84,8 +84,8 @@ class Profiles {
84
84
  Authorization: yield this._getAuthorizationHeader(),
85
85
  "X-Fern-Language": "JavaScript",
86
86
  "X-Fern-SDK-Name": "@airtop/sdk",
87
- "X-Fern-SDK-Version": "0.1.14",
88
- "User-Agent": "@airtop/sdk/0.1.14",
87
+ "X-Fern-SDK-Version": "0.1.16",
88
+ "User-Agent": "@airtop/sdk/0.1.16",
89
89
  "X-Fern-Runtime": core.RUNTIME.type,
90
90
  "X-Fern-Runtime-Version": core.RUNTIME.version,
91
91
  },
@@ -0,0 +1,34 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as environments from "../../../../environments";
5
+ import * as core from "../../../../core";
6
+ import * as Airtop from "../../../index";
7
+ export declare namespace Requests {
8
+ interface Options {
9
+ environment?: core.Supplier<environments.AirtopEnvironment | string>;
10
+ apiKey: core.Supplier<core.BearerToken>;
11
+ fetcher?: core.FetchFunction;
12
+ }
13
+ interface RequestOptions {
14
+ /** The maximum time to wait for a response in seconds. */
15
+ timeoutInSeconds?: number;
16
+ /** The number of times to retry the request. Defaults to 2. */
17
+ maxRetries?: number;
18
+ /** A hook to abort the request. */
19
+ abortSignal?: AbortSignal;
20
+ }
21
+ }
22
+ export declare class Requests {
23
+ protected readonly _options: Requests.Options;
24
+ constructor(_options: Requests.Options);
25
+ /**
26
+ * @param {string} requestId - The ID of the request to check.
27
+ * @param {Requests.RequestOptions} requestOptions - Request-specific configuration.
28
+ *
29
+ * @example
30
+ * await client.requests.getRequestStatus("123e4567-e89b-12d3-a456-426614174000")
31
+ */
32
+ getRequestStatus(requestId: string, requestOptions?: Requests.RequestOptions): Promise<Airtop.RequestStatusResponse>;
33
+ protected _getAuthorizationHeader(): Promise<string>;
34
+ }
@@ -0,0 +1,115 @@
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __importDefault = (this && this.__importDefault) || function (mod) {
38
+ return (mod && mod.__esModule) ? mod : { "default": mod };
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.Requests = void 0;
42
+ const environments = __importStar(require("../../../../environments"));
43
+ const core = __importStar(require("../../../../core"));
44
+ const url_join_1 = __importDefault(require("url-join"));
45
+ const serializers = __importStar(require("../../../../serialization/index"));
46
+ const errors = __importStar(require("../../../../errors/index"));
47
+ class Requests {
48
+ constructor(_options) {
49
+ this._options = _options;
50
+ }
51
+ /**
52
+ * @param {string} requestId - The ID of the request to check.
53
+ * @param {Requests.RequestOptions} requestOptions - Request-specific configuration.
54
+ *
55
+ * @example
56
+ * await client.requests.getRequestStatus("123e4567-e89b-12d3-a456-426614174000")
57
+ */
58
+ getRequestStatus(requestId, requestOptions) {
59
+ var _a, _b;
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ const _response = yield ((_a = this._options.fetcher) !== null && _a !== void 0 ? _a : core.fetcher)({
62
+ url: (0, url_join_1.default)((_b = (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.AirtopEnvironment.Default, `requests/${encodeURIComponent(requestId)}/status`),
63
+ method: "GET",
64
+ headers: {
65
+ Authorization: yield this._getAuthorizationHeader(),
66
+ "X-Fern-Language": "JavaScript",
67
+ "X-Fern-SDK-Name": "@airtop/sdk",
68
+ "X-Fern-SDK-Version": "0.1.16",
69
+ "User-Agent": "@airtop/sdk/0.1.16",
70
+ "X-Fern-Runtime": core.RUNTIME.type,
71
+ "X-Fern-Runtime-Version": core.RUNTIME.version,
72
+ },
73
+ contentType: "application/json",
74
+ requestType: "json",
75
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : 60000,
76
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
77
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
78
+ });
79
+ if (_response.ok) {
80
+ return serializers.RequestStatusResponse.parseOrThrow(_response.body, {
81
+ unrecognizedObjectKeys: "passthrough",
82
+ allowUnrecognizedUnionMembers: true,
83
+ allowUnrecognizedEnumValues: true,
84
+ skipValidation: true,
85
+ breadcrumbsPrefix: ["response"],
86
+ });
87
+ }
88
+ if (_response.error.reason === "status-code") {
89
+ throw new errors.AirtopError({
90
+ statusCode: _response.error.statusCode,
91
+ body: _response.error.body,
92
+ });
93
+ }
94
+ switch (_response.error.reason) {
95
+ case "non-json":
96
+ throw new errors.AirtopError({
97
+ statusCode: _response.error.statusCode,
98
+ body: _response.error.rawBody,
99
+ });
100
+ case "timeout":
101
+ throw new errors.AirtopTimeoutError();
102
+ case "unknown":
103
+ throw new errors.AirtopError({
104
+ message: _response.error.errorMessage,
105
+ });
106
+ }
107
+ });
108
+ }
109
+ _getAuthorizationHeader() {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ return `Bearer ${yield core.Supplier.get(this._options.apiKey)}`;
112
+ });
113
+ }
114
+ }
115
+ exports.Requests = Requests;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from "./client";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./client"), exports);
@@ -94,8 +94,8 @@ class Sessions {
94
94
  Authorization: yield this._getAuthorizationHeader(),
95
95
  "X-Fern-Language": "JavaScript",
96
96
  "X-Fern-SDK-Name": "@airtop/sdk",
97
- "X-Fern-SDK-Version": "0.1.14",
98
- "User-Agent": "@airtop/sdk/0.1.14",
97
+ "X-Fern-SDK-Version": "0.1.16",
98
+ "User-Agent": "@airtop/sdk/0.1.16",
99
99
  "X-Fern-Runtime": core.RUNTIME.type,
100
100
  "X-Fern-Runtime-Version": core.RUNTIME.version,
101
101
  },
@@ -180,8 +180,8 @@ class Sessions {
180
180
  Authorization: yield this._getAuthorizationHeader(),
181
181
  "X-Fern-Language": "JavaScript",
182
182
  "X-Fern-SDK-Name": "@airtop/sdk",
183
- "X-Fern-SDK-Version": "0.1.14",
184
- "User-Agent": "@airtop/sdk/0.1.14",
183
+ "X-Fern-SDK-Version": "0.1.16",
184
+ "User-Agent": "@airtop/sdk/0.1.16",
185
185
  "X-Fern-Runtime": core.RUNTIME.type,
186
186
  "X-Fern-Runtime-Version": core.RUNTIME.version,
187
187
  },
@@ -245,8 +245,8 @@ class Sessions {
245
245
  Authorization: yield this._getAuthorizationHeader(),
246
246
  "X-Fern-Language": "JavaScript",
247
247
  "X-Fern-SDK-Name": "@airtop/sdk",
248
- "X-Fern-SDK-Version": "0.1.14",
249
- "User-Agent": "@airtop/sdk/0.1.14",
248
+ "X-Fern-SDK-Version": "0.1.16",
249
+ "User-Agent": "@airtop/sdk/0.1.16",
250
250
  "X-Fern-Runtime": core.RUNTIME.type,
251
251
  "X-Fern-Runtime-Version": core.RUNTIME.version,
252
252
  },
@@ -332,8 +332,8 @@ class Sessions {
332
332
  Authorization: yield this._getAuthorizationHeader(),
333
333
  "X-Fern-Language": "JavaScript",
334
334
  "X-Fern-SDK-Name": "@airtop/sdk",
335
- "X-Fern-SDK-Version": "0.1.14",
336
- "User-Agent": "@airtop/sdk/0.1.14",
335
+ "X-Fern-SDK-Version": "0.1.16",
336
+ "User-Agent": "@airtop/sdk/0.1.16",
337
337
  "X-Fern-Runtime": core.RUNTIME.type,
338
338
  "X-Fern-Runtime-Version": core.RUNTIME.version,
339
339
  },
@@ -388,8 +388,8 @@ class Sessions {
388
388
  Authorization: yield this._getAuthorizationHeader(),
389
389
  "X-Fern-Language": "JavaScript",
390
390
  "X-Fern-SDK-Name": "@airtop/sdk",
391
- "X-Fern-SDK-Version": "0.1.14",
392
- "User-Agent": "@airtop/sdk/0.1.14",
391
+ "X-Fern-SDK-Version": "0.1.16",
392
+ "User-Agent": "@airtop/sdk/0.1.16",
393
393
  "X-Fern-Runtime": core.RUNTIME.type,
394
394
  "X-Fern-Runtime-Version": core.RUNTIME.version,
395
395
  },
@@ -486,8 +486,8 @@ class Sessions {
486
486
  Authorization: yield this._getAuthorizationHeader(),
487
487
  "X-Fern-Language": "JavaScript",
488
488
  "X-Fern-SDK-Name": "@airtop/sdk",
489
- "X-Fern-SDK-Version": "0.1.14",
490
- "User-Agent": "@airtop/sdk/0.1.14",
489
+ "X-Fern-SDK-Version": "0.1.16",
490
+ "User-Agent": "@airtop/sdk/0.1.16",
491
491
  "X-Fern-Runtime": core.RUNTIME.type,
492
492
  "X-Fern-Runtime-Version": core.RUNTIME.version,
493
493
  },
@@ -5,11 +5,8 @@ import * as Airtop from "../../../index";
5
5
  /**
6
6
  * Each oneOf object in the array represents one possible Server Sent Events (SSE) message, serialized as UTF-8 text according to the SSE specification.
7
7
  */
8
- export declare type SessionsEventsResponse = Airtop.SessionsEventsResponse.SessionEvent | Airtop.SessionsEventsResponse.Status | Airtop.SessionsEventsResponse.Error_ | Airtop.SessionsEventsResponse.WindowEvent;
8
+ export declare type SessionsEventsResponse = Airtop.SessionsEventsResponse.Status | Airtop.SessionsEventsResponse.Error_ | Airtop.SessionsEventsResponse.WindowEvent | Airtop.SessionsEventsResponse.SessionEvent;
9
9
  export declare namespace SessionsEventsResponse {
10
- interface SessionEvent extends Airtop.SessionsEventsResponseSessionEvent {
11
- event: "sessionEvent";
12
- }
13
10
  interface Status extends Airtop.SessionsEventsResponseStatus {
14
11
  event: "status";
15
12
  }
@@ -19,4 +16,7 @@ export declare namespace SessionsEventsResponse {
19
16
  interface WindowEvent extends Airtop.SessionsEventsResponseWindowEvent {
20
17
  event: "windowEvent";
21
18
  }
19
+ interface SessionEvent extends Airtop.SessionsEventsResponseSessionEvent {
20
+ event: "sessionEvent";
21
+ }
22
22
  }
@@ -1,6 +1,6 @@
1
1
  export * from "./SessionsListRequestStatus";
2
- export * from "./SessionsEventsResponseSessionEvent";
3
2
  export * from "./SessionsEventsResponseStatus";
4
3
  export * from "./SessionsEventsResponseError";
5
4
  export * from "./SessionsEventsResponseWindowEvent";
5
+ export * from "./SessionsEventsResponseSessionEvent";
6
6
  export * from "./SessionsEventsResponse";
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./SessionsListRequestStatus"), exports);
18
- __exportStar(require("./SessionsEventsResponseSessionEvent"), exports);
19
18
  __exportStar(require("./SessionsEventsResponseStatus"), exports);
20
19
  __exportStar(require("./SessionsEventsResponseError"), exports);
21
20
  __exportStar(require("./SessionsEventsResponseWindowEvent"), exports);
21
+ __exportStar(require("./SessionsEventsResponseSessionEvent"), exports);
22
22
  __exportStar(require("./SessionsEventsResponse"), exports);
@@ -22,6 +22,112 @@ export declare namespace Windows {
22
22
  export declare class Windows {
23
23
  protected readonly _options: Windows.Options;
24
24
  constructor(_options: Windows.Options);
25
+ /**
26
+ * Execute a click interaction in a specific browser window asynchronously
27
+ *
28
+ * @param {string} sessionId - The session id for the window.
29
+ * @param {string} windowId - The Airtop window id of the browser window.
30
+ * @param {Airtop.AsyncClickRequest} request
31
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
32
+ *
33
+ * @example
34
+ * await client.windows.asyncClick("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430", {
35
+ * elementDescription: "The login button"
36
+ * })
37
+ */
38
+ asyncClick(sessionId: string, windowId: string, request: Airtop.AsyncClickRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
39
+ /**
40
+ * @param {string} sessionId - The session id for the window.
41
+ * @param {string} windowId - The Airtop window id of the browser window.
42
+ * @param {Airtop.AsyncHoverRequest} request
43
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
44
+ *
45
+ * @example
46
+ * await client.windows.asyncHover("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430")
47
+ */
48
+ asyncHover(sessionId: string, windowId: string, request?: Airtop.AsyncHoverRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
49
+ /**
50
+ * @param {string} sessionId - The session id for the window.
51
+ * @param {string} windowId - The Airtop window id of the browser window.
52
+ * @param {Airtop.AsyncMonitorRequest} request
53
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
54
+ *
55
+ * @example
56
+ * await client.windows.asyncMonitor("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430")
57
+ */
58
+ asyncMonitor(sessionId: string, windowId: string, request?: Airtop.AsyncMonitorRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
59
+ /**
60
+ * @param {string} sessionId - The session id for the window.
61
+ * @param {string} windowId - The Airtop window id of the browser window.
62
+ * @param {Airtop.AsyncPageQueryRequest} request
63
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
64
+ *
65
+ * @example
66
+ * await client.windows.asyncPageQuery("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430", {
67
+ * prompt: "What is the main idea of this page?"
68
+ * })
69
+ */
70
+ asyncPageQuery(sessionId: string, windowId: string, request: Airtop.AsyncPageQueryRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
71
+ /**
72
+ * @param {string} sessionId - The session id for the window.
73
+ * @param {string} windowId - The Airtop window id of the browser window.
74
+ * @param {Airtop.AsyncPaginatedExtractionRequest} request
75
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
76
+ *
77
+ * @example
78
+ * await client.windows.asyncPaginatedExtraction("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430")
79
+ */
80
+ asyncPaginatedExtraction(sessionId: string, windowId: string, request?: Airtop.AsyncPaginatedExtractionRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
81
+ /**
82
+ * This endpoint is deprecated. Please use the `pageQuery` endpoint instead.
83
+ *
84
+ * @param {string} sessionId - The session id for the window.
85
+ * @param {string} windowId - The Airtop window id of the browser window.
86
+ * @param {Airtop.AsyncPromptContentRequest} request
87
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
88
+ *
89
+ * @example
90
+ * await client.windows.asyncPromptContent("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430", {
91
+ * prompt: "What is the main idea of this page?"
92
+ * })
93
+ */
94
+ asyncPromptContent(sessionId: string, windowId: string, request: Airtop.AsyncPromptContentRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
95
+ /**
96
+ * Take a screenshot of the current viewport of a browser window asynchronously
97
+ *
98
+ * @param {string} sessionId - The session id for the window.
99
+ * @param {string} windowId - The Airtop window id of the browser window.
100
+ * @param {Airtop.AsyncScreenshotRequest} request
101
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
102
+ *
103
+ * @example
104
+ * await client.windows.asyncScreenshot("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430")
105
+ */
106
+ asyncScreenshot(sessionId: string, windowId: string, request?: Airtop.AsyncScreenshotRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
107
+ /**
108
+ * This endpoint is deprecated. Please use the `pageQuery` endpoint and ask for a summary in the prompt instead.
109
+ *
110
+ * @param {string} sessionId - The session id for the window.
111
+ * @param {string} windowId - The Airtop window id of the browser window to summarize.
112
+ * @param {Airtop.AsyncSummarizeContentRequest} request
113
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
114
+ *
115
+ * @example
116
+ * await client.windows.asyncSummarizeContent("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430")
117
+ */
118
+ asyncSummarizeContent(sessionId: string, windowId: string, request?: Airtop.AsyncSummarizeContentRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
119
+ /**
120
+ * @param {string} sessionId - The session id for the window.
121
+ * @param {string} windowId - The Airtop window id of the browser window.
122
+ * @param {Airtop.AsyncTypeRequest} request
123
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
124
+ *
125
+ * @example
126
+ * await client.windows.asyncType("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430", {
127
+ * text: "Example text"
128
+ * })
129
+ */
130
+ asyncType(sessionId: string, windowId: string, request: Airtop.AsyncTypeRequest, requestOptions?: Windows.RequestOptions): Promise<Airtop.AsyncSessionAiResponseEnvelope>;
25
131
  /**
26
132
  * Creates a new browser window in a session. Optionally, you can specify a url to load on the window upon creation.
27
133
  *
@@ -98,6 +204,16 @@ export declare class Windows {
98
204
  * await client.windows.hover("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430")
99
205
  */
100
206
  hover(sessionId: string, windowId: string, request?: Airtop.SessionHoverHandlerRequestBody, requestOptions?: Windows.RequestOptions): Promise<Airtop.AiPromptResponse>;
207
+ /**
208
+ * @param {string} sessionId - The session id for the window.
209
+ * @param {string} windowId - The Airtop window id of the browser window.
210
+ * @param {Airtop.SessionMonitorHandlerRequestBody} request
211
+ * @param {Windows.RequestOptions} requestOptions - Request-specific configuration.
212
+ *
213
+ * @example
214
+ * await client.windows.monitor("6aac6f73-bd89-4a76-ab32-5a6c422e8b0b", "0334da2a-91b0-42c5-6156-76a5eba87430")
215
+ */
216
+ monitor(sessionId: string, windowId: string, request?: Airtop.SessionMonitorHandlerRequestBody, requestOptions?: Windows.RequestOptions): Promise<Airtop.AiPromptResponse>;
101
217
  /**
102
218
  * Submit a prompt that queries the content of a specific browser window. You may extract content from the page, or ask a question about the page and allow the AI to answer it (ex. Is the user logged in?).
103
219
  *