apify-client 3.0.0-beta.2 → 3.0.0-beta.20

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 (91) hide show
  1. package/README.md +3 -1
  2. package/dist/apify_api_error.d.ts +60 -19
  3. package/dist/apify_api_error.js +88 -21
  4. package/dist/apify_client.d.ts +22 -3
  5. package/dist/apify_client.js +35 -29
  6. package/dist/base/api_client.d.ts +6 -6
  7. package/dist/base/api_client.js +24 -16
  8. package/dist/base/resource_client.d.ts +23 -9
  9. package/dist/base/resource_client.js +49 -25
  10. package/dist/base/resource_collection_client.d.ts +7 -4
  11. package/dist/base/resource_collection_client.js +21 -15
  12. package/dist/bundle.js +38 -48
  13. package/dist/bundle.js.map +1 -1
  14. package/dist/generated/api.d.ts +287 -214
  15. package/dist/generated/schemas.d.ts +6699 -0
  16. package/dist/generated/schemas.js +1521 -0
  17. package/dist/http_client.d.ts +18 -51
  18. package/dist/http_client.js +79 -42
  19. package/dist/index.d.ts +3 -1
  20. package/dist/index.js +2 -1
  21. package/dist/interceptors.js +22 -4
  22. package/dist/lazy_schema.d.ts +8 -0
  23. package/dist/lazy_schema.js +11 -0
  24. package/dist/models.d.ts +32 -52
  25. package/dist/resource_clients/actor.d.ts +46 -31
  26. package/dist/resource_clients/actor.js +71 -53
  27. package/dist/resource_clients/actor_collection.d.ts +9 -5
  28. package/dist/resource_clients/actor_collection.js +12 -3
  29. package/dist/resource_clients/actor_env_var.d.ts +10 -3
  30. package/dist/resource_clients/actor_env_var.js +17 -6
  31. package/dist/resource_clients/actor_env_var_collection.d.ts +14 -18
  32. package/dist/resource_clients/actor_env_var_collection.js +18 -11
  33. package/dist/resource_clients/actor_version.d.ts +18 -3
  34. package/dist/resource_clients/actor_version.js +20 -9
  35. package/dist/resource_clients/actor_version_collection.d.ts +16 -17
  36. package/dist/resource_clients/actor_version_collection.js +20 -11
  37. package/dist/resource_clients/build.d.ts +18 -6
  38. package/dist/resource_clients/build.js +35 -17
  39. package/dist/resource_clients/build_collection.d.ts +3 -1
  40. package/dist/resource_clients/build_collection.js +5 -1
  41. package/dist/resource_clients/dataset.d.ts +23 -9
  42. package/dist/resource_clients/dataset.js +70 -48
  43. package/dist/resource_clients/dataset_collection.d.ts +6 -2
  44. package/dist/resource_clients/dataset_collection.js +13 -2
  45. package/dist/resource_clients/key_value_store.d.ts +48 -15
  46. package/dist/resource_clients/key_value_store.js +69 -39
  47. package/dist/resource_clients/key_value_store_collection.d.ts +6 -2
  48. package/dist/resource_clients/key_value_store_collection.js +13 -2
  49. package/dist/resource_clients/log.d.ts +9 -19
  50. package/dist/resource_clients/log.js +55 -44
  51. package/dist/resource_clients/request_queue.d.ts +56 -26
  52. package/dist/resource_clients/request_queue.js +178 -113
  53. package/dist/resource_clients/request_queue_collection.d.ts +6 -2
  54. package/dist/resource_clients/request_queue_collection.js +10 -3
  55. package/dist/resource_clients/run.d.ts +51 -17
  56. package/dist/resource_clients/run.js +83 -43
  57. package/dist/resource_clients/run_collection.d.ts +3 -1
  58. package/dist/resource_clients/run_collection.js +5 -1
  59. package/dist/resource_clients/schedule.d.ts +16 -7
  60. package/dist/resource_clients/schedule.js +31 -21
  61. package/dist/resource_clients/schedule_collection.d.ts +6 -2
  62. package/dist/resource_clients/schedule_collection.js +10 -3
  63. package/dist/resource_clients/store_collection.d.ts +3 -1
  64. package/dist/resource_clients/store_collection.js +5 -1
  65. package/dist/resource_clients/task.d.ts +28 -10
  66. package/dist/resource_clients/task.js +67 -44
  67. package/dist/resource_clients/task_collection.d.ts +6 -2
  68. package/dist/resource_clients/task_collection.js +10 -3
  69. package/dist/resource_clients/user.d.ts +17 -8
  70. package/dist/resource_clients/user.js +40 -39
  71. package/dist/resource_clients/webhook.d.ts +14 -5
  72. package/dist/resource_clients/webhook.js +30 -22
  73. package/dist/resource_clients/webhook_collection.d.ts +6 -2
  74. package/dist/resource_clients/webhook_collection.js +10 -3
  75. package/dist/resource_clients/webhook_dispatch.d.ts +4 -1
  76. package/dist/resource_clients/webhook_dispatch.js +8 -2
  77. package/dist/resource_clients/webhook_dispatch_collection.d.ts +3 -1
  78. package/dist/resource_clients/webhook_dispatch_collection.js +5 -1
  79. package/dist/response_validation_error.d.ts +26 -0
  80. package/dist/response_validation_error.js +37 -0
  81. package/dist/schemas.d.ts +15 -0
  82. package/dist/schemas.js +15 -0
  83. package/dist/statistics.d.ts +1 -6
  84. package/dist/statistics.js +2 -2
  85. package/dist/timeouts.d.ts +72 -0
  86. package/dist/timeouts.js +31 -0
  87. package/dist/utils.d.ts +57 -41
  88. package/dist/utils.js +155 -121
  89. package/package.json +36 -35
  90. package/dist/argument_validation_error.d.ts +0 -17
  91. package/dist/argument_validation_error.js +0 -153
@@ -1,7 +1,10 @@
1
1
  import c from 'ansi-colors';
2
+ import { z } from 'zod';
2
3
  import log, { Logger, LogLevel } from '@apify/log';
3
4
  import { ResourceClient } from '../base/resource_client.js';
4
- import { cast, catchNotFoundOrThrow } from '../utils.js';
5
+ import { timeoutOptionsShape } from '../timeouts.js';
6
+ import { cast, catchNotFoundForResourceOrThrow, parseArgument } from '../utils.js';
7
+ const logOptionsSchema = z.strictObject({ raw: z.boolean().optional(), ...timeoutOptionsShape });
5
8
  /**
6
9
  * Client for accessing Actor run or build logs.
7
10
  *
@@ -39,21 +42,25 @@ export class LogClient extends ResourceClient {
39
42
  *
40
43
  * @param options - Log retrieval options.
41
44
  * @param options.raw - If `true`, returns raw log content without any processing. Default is `false`.
42
- * @returns The log content as a string, or `undefined` if it does not exist.
45
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'long'`.
46
+ * @returns The log content as a string, or `undefined` if it does not exist. A chained client such as
47
+ * `run.log()` throws an `ApifyApiError` on a 404, since the run itself may be what is missing.
43
48
  * @see https://docs.apify.com/api/v2/log-get
44
49
  */
45
50
  async get(options = {}) {
51
+ const { timeoutSecs = 'long', ...params } = parseArgument(options, logOptionsSchema, 'LogOptions');
46
52
  const requestOpts = {
47
- url: this._url(),
53
+ url: this.buildUrl(),
48
54
  method: 'GET',
49
- params: this._params(options),
55
+ params: this.buildParams(params),
56
+ timeoutSecs,
50
57
  };
51
58
  try {
52
59
  const response = await this.httpClient.call(requestOpts);
53
60
  return cast(response.data);
54
61
  }
55
62
  catch (err) {
56
- catchNotFoundOrThrow(err);
63
+ catchNotFoundForResourceOrThrow(err, this.id);
57
64
  }
58
65
  return undefined;
59
66
  }
@@ -62,26 +69,30 @@ export class LogClient extends ResourceClient {
62
69
  *
63
70
  * @param options - Log retrieval options.
64
71
  * @param options.raw - If `true`, returns raw log content without any processing. Default is `false`.
65
- * @returns The log content as a Readable stream, or `undefined` if it does not exist.
72
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'long'`.
73
+ * @returns The log content as a Readable stream, or `undefined` if it does not exist. A chained client such as
74
+ * `run.log()` throws an `ApifyApiError` on a 404, since the run itself may be what is missing.
66
75
  * @see https://docs.apify.com/api/v2/log-get
67
76
  */
68
77
  async stream(options = {}) {
78
+ const { timeoutSecs = 'long', raw } = parseArgument(options, logOptionsSchema, 'LogOptions');
69
79
  const params = {
70
80
  stream: true,
71
- raw: options.raw,
81
+ raw,
72
82
  };
73
83
  const requestOpts = {
74
- url: this._url(),
84
+ url: this.buildUrl(),
75
85
  method: 'GET',
76
- params: this._params(params),
86
+ params: this.buildParams(params),
77
87
  responseType: 'stream',
88
+ timeoutSecs,
78
89
  };
79
90
  try {
80
91
  const response = await this.httpClient.call(requestOpts);
81
92
  return cast(response.data);
82
93
  }
83
94
  catch (err) {
84
- catchNotFoundOrThrow(err);
95
+ catchNotFoundForResourceOrThrow(err, this.id);
85
96
  }
86
97
  return undefined;
87
98
  }
@@ -119,39 +130,39 @@ export class LoggerActorRedirect extends Logger {
119
130
  * @since Added in 2.20.0
120
131
  */
121
132
  export class StreamedLog {
122
- destinationLog;
123
- streamBuffer = [];
124
- splitMarker = /(?:\n|^)(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)/g;
125
- relevancyTimeLimit;
126
- logClient;
127
- streamingTask = null;
128
- stopLogging = false;
133
+ #destinationLog;
134
+ #streamBuffer = [];
135
+ #splitMarker = /(?:\n|^)(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)/g;
136
+ #relevancyTimeLimit;
137
+ #logClient;
138
+ #streamingTask = null;
139
+ #stopLogging = false;
129
140
  constructor(options) {
130
141
  const { toLog, logClient, fromStart = true } = options;
131
- this.destinationLog = toLog;
132
- this.logClient = logClient;
133
- this.relevancyTimeLimit = fromStart ? null : new Date();
142
+ this.#destinationLog = toLog;
143
+ this.#logClient = logClient;
144
+ this.#relevancyTimeLimit = fromStart ? null : new Date();
134
145
  }
135
146
  /**
136
147
  * Start log redirection.
137
148
  */
138
149
  start() {
139
- if (this.streamingTask) {
150
+ if (this.#streamingTask) {
140
151
  throw new Error('Streaming task already active');
141
152
  }
142
- this.stopLogging = false;
143
- this.streamingTask = this.streamLog();
153
+ this.#stopLogging = false;
154
+ this.#streamingTask = this.#streamLog();
144
155
  }
145
156
  /**
146
157
  * Stop log redirection.
147
158
  */
148
159
  async stop() {
149
- if (!this.streamingTask) {
160
+ if (!this.#streamingTask) {
150
161
  throw new Error('Streaming task is not active');
151
162
  }
152
- this.stopLogging = true;
163
+ this.#stopLogging = true;
153
164
  try {
154
- await this.streamingTask;
165
+ await this.#streamingTask;
155
166
  }
156
167
  catch (err) {
157
168
  if (!(err instanceof Error && err.name === 'AbortError')) {
@@ -159,30 +170,30 @@ export class StreamedLog {
159
170
  }
160
171
  }
161
172
  finally {
162
- this.streamingTask = null;
173
+ this.#streamingTask = null;
163
174
  }
164
175
  }
165
176
  /**
166
177
  * Get log stream from response and redirect it to another log.
167
178
  */
168
- async streamLog() {
169
- const logStream = await this.logClient.stream({ raw: true });
170
- if (!logStream) {
171
- return;
172
- }
179
+ async #streamLog() {
173
180
  try {
174
- const lastChunkRemainder = await this.logStreamChunks(logStream);
181
+ const logStream = await this.#logClient.stream({ raw: true });
182
+ if (!logStream) {
183
+ return;
184
+ }
185
+ const lastChunkRemainder = await this.#logStreamChunks(logStream);
175
186
  // Process whatever is left when exiting. Maybe it is incomplete, maybe it is last log without EOL.
176
187
  const lastMessage = Buffer.from(lastChunkRemainder).toString().trim();
177
188
  if (lastMessage.length) {
178
- this.destinationLog.info(lastMessage);
189
+ this.#destinationLog.info(lastMessage);
179
190
  }
180
191
  }
181
192
  catch (err) {
182
193
  log.warning(`Log redirection stopped due to error`, err);
183
194
  }
184
195
  }
185
- async logStreamChunks(logStream) {
196
+ async #logStreamChunks(logStream) {
186
197
  // Chunk may be incomplete. Keep remainder for next chunk.
187
198
  let previousChunkRemainder = new Uint8Array();
188
199
  for await (const chunk of logStream) {
@@ -194,10 +205,10 @@ export class StreamedLog {
194
205
  const lastCompleteMessageIndex = chunkWithPreviousRemainder.lastIndexOf(0x0a);
195
206
  previousChunkRemainder = chunkWithPreviousRemainder.slice(lastCompleteMessageIndex);
196
207
  // Push complete part of the chunk to the buffer
197
- this.streamBuffer.push(Buffer.from(chunkWithPreviousRemainder.slice(0, lastCompleteMessageIndex)));
198
- this.logBufferContent();
208
+ this.#streamBuffer.push(Buffer.from(chunkWithPreviousRemainder.slice(0, lastCompleteMessageIndex)));
209
+ this.#logBufferContent();
199
210
  // Keep processing the new data until stopped
200
- if (this.stopLogging) {
211
+ if (this.#stopLogging) {
201
212
  break;
202
213
  }
203
214
  }
@@ -206,26 +217,26 @@ export class StreamedLog {
206
217
  /**
207
218
  * Parse the buffer and log complete messages.
208
219
  */
209
- logBufferContent() {
210
- const allParts = Buffer.concat(this.streamBuffer).toString().split(this.splitMarker).slice(1);
220
+ #logBufferContent() {
221
+ const allParts = Buffer.concat(this.#streamBuffer).toString().split(this.#splitMarker).slice(1);
211
222
  // Parse the buffer parts into complete messages
212
223
  const messageMarkers = allParts.filter((_, i) => i % 2 === 0);
213
224
  const messageContents = allParts.filter((_, i) => i % 2 !== 0);
214
- this.streamBuffer = [];
225
+ this.#streamBuffer = [];
215
226
  messageMarkers.forEach((marker, index) => {
216
227
  const decodedMarker = marker;
217
228
  const decodedContent = messageContents[index];
218
- if (this.relevancyTimeLimit) {
229
+ if (this.#relevancyTimeLimit) {
219
230
  // Log only relevant messages. Ignore too old log messages.
220
231
  const logTime = new Date(decodedMarker);
221
- if (logTime < this.relevancyTimeLimit) {
232
+ if (logTime < this.#relevancyTimeLimit) {
222
233
  return;
223
234
  }
224
235
  }
225
236
  const message = decodedMarker + decodedContent;
226
237
  // Original log level information is not available. Log all on info level. Log level could be guessed for
227
238
  // some logs, but for any multiline logs such guess would be probably correct only for the first line.
228
- this.destinationLog.info(message.trim());
239
+ this.#destinationLog.info(message.trim());
229
240
  });
230
241
  }
231
242
  }
@@ -2,6 +2,16 @@ import type { STORAGE_GENERAL_ACCESS } from '@apify/consts';
2
2
  import type { ApiClientSubResourceOptions } from '../base/api_client.js';
3
3
  import { ResourceClient } from '../base/resource_client.js';
4
4
  import type { RequestQueue, RequestQueueClientAddRequestResult, RequestQueueClientBatchDeleteRequestsResult, RequestQueueClientBatchRequestsOperationResult, RequestQueueClientListAndLockHeadResult, RequestQueueClientListHeadResult, RequestQueueClientListRequestsResult, RequestQueueClientProlongRequestLockResult, RequestQueueClientRequestSchema, RequestQueueClientRequestToAdd, RequestQueueClientRequestToUpdate, RequestQueueClientUnlockRequestsResult } from '../models.js';
5
+ import type { TimeoutOptions } from '../timeouts.js';
6
+ /**
7
+ * A request to add, serialized once up front: `byteLength` decides which batch it goes into, `json` is what the body of
8
+ * that batch is assembled from, and `request` is what the result bookkeeping needs.
9
+ */
10
+ interface SerializedRequestToAdd {
11
+ request: RequestQueueClientRequestToAdd;
12
+ json: string;
13
+ byteLength: number;
14
+ }
5
15
  export type { AllowedHttpMethods, RequestQueue, RequestQueueClientAddRequestResult, RequestQueueClientBatchDeleteRequestsResult, RequestQueueClientBatchRequestsOperationResult, RequestQueueClientListAndLockHeadResult, RequestQueueClientListHeadResult, RequestQueueClientListItem, RequestQueueClientListRequestsResult, RequestQueueClientLockedListItem, RequestQueueClientProlongRequestLockResult, RequestQueueClientRequestSchema, RequestQueueClientRequestToAdd, RequestQueueClientRequestToUpdate, RequestQueueClientUnlockRequestsResult, RequestQueueStats, } from '../models.js';
6
16
  /**
7
17
  * Client for managing a specific Request queue.
@@ -34,8 +44,7 @@ export type { AllowedHttpMethods, RequestQueue, RequestQueueClientAddRequestResu
34
44
  * @see https://docs.apify.com/platform/storage/request-queue
35
45
  */
36
46
  export declare class RequestQueueClient extends ResourceClient {
37
- private clientKey?;
38
- private timeoutMillis?;
47
+ #private;
39
48
  /**
40
49
  * @hidden
41
50
  */
@@ -43,24 +52,30 @@ export declare class RequestQueueClient extends ResourceClient {
43
52
  /**
44
53
  * Gets the Request queue object from the Apify API.
45
54
  *
55
+ * @param options - Request options
56
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
46
57
  * @returns The RequestQueue object, or `undefined` if it does not exist
47
58
  * @see https://docs.apify.com/api/v2/request-queue-get
48
59
  */
49
- get(): Promise<RequestQueue | undefined>;
60
+ get(options?: TimeoutOptions): Promise<RequestQueue | undefined>;
50
61
  /**
51
62
  * Updates the Request queue with specified fields.
52
63
  *
53
64
  * @param newFields - Fields to update in the Request queue
65
+ * @param options - Request options
66
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
54
67
  * @returns The updated RequestQueue object
55
68
  * @see https://docs.apify.com/api/v2/request-queue-put
56
69
  */
57
- update(newFields: RequestQueueClientUpdateOptions): Promise<RequestQueue>;
70
+ update(newFields: RequestQueueClientUpdateOptions, options?: TimeoutOptions): Promise<RequestQueue>;
58
71
  /**
59
72
  * Deletes the Request queue.
60
73
  *
74
+ * @param options - Request options
75
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
61
76
  * @see https://docs.apify.com/api/v2/request-queue-delete
62
77
  */
63
- delete(): Promise<void>;
78
+ delete(options?: TimeoutOptions): Promise<void>;
64
79
  /**
65
80
  * Lists requests from the beginning of the queue (head).
66
81
  *
@@ -68,6 +83,8 @@ export declare class RequestQueueClient extends ResourceClient {
68
83
  * inspecting what requests are waiting to be processed.
69
84
  *
70
85
  * @param options - Options for listing (e.g., limit)
86
+ * @param options.limit - Maximum number of requests to return.
87
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
71
88
  * @returns List of requests from the queue head
72
89
  * @see https://docs.apify.com/api/v2/request-queue-head-get
73
90
  */
@@ -84,6 +101,7 @@ export declare class RequestQueueClient extends ResourceClient {
84
101
  * @param options - Lock configuration
85
102
  * @param options.lockSecs - **Required.** Duration in seconds to lock the requests. After this time, the locks expire and requests can be retrieved by other clients.
86
103
  * @param options.limit - Maximum number of requests to return. Default is 25.
104
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'medium'`.
87
105
  * @returns Object containing `items` (locked requests), `queueModifiedAt`, `hadMultipleClients`, and lock information
88
106
  * @see https://docs.apify.com/api/v2/request-queue-head-lock-post
89
107
  *
@@ -122,6 +140,7 @@ export declare class RequestQueueClient extends ResourceClient {
122
140
  * @param request.payload - HTTP payload for POST/PUT requests (string).
123
141
  * @param options - Additional options
124
142
  * @param options.forefront - If `true`, adds the request to the beginning of the queue. Default is `false` (adds to the end).
143
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
125
144
  * @returns Object with `requestId`, `wasAlreadyPresent`, and `wasAlreadyHandled` flags
126
145
  * @see https://docs.apify.com/api/v2/request-queue-requests-post
127
146
  *
@@ -150,8 +169,8 @@ export declare class RequestQueueClient extends ResourceClient {
150
169
  *
151
170
  * @private
152
171
  */
153
- protected _batchAddRequests(requests: RequestQueueClientRequestToAdd[], options?: RequestQueueClientAddRequestOptions): Promise<RequestQueueClientBatchRequestsOperationResult>;
154
- protected _batchAddRequestsWithRetries(requests: RequestQueueClientRequestToAdd[], options?: RequestQueueClientBatchAddRequestWithRetriesOptions): Promise<RequestQueueClientBatchRequestsOperationResult>;
172
+ protected addRequestBatch(requests: SerializedRequestToAdd[], options?: RequestQueueClientAddRequestOptions): Promise<RequestQueueClientBatchRequestsOperationResult>;
173
+ protected addRequestBatchWithRetries(requests: SerializedRequestToAdd[], options?: RequestQueueClientBatchAddRequestWithRetriesOptions): Promise<RequestQueueClientBatchRequestsOperationResult>;
155
174
  /**
156
175
  * Adds multiple requests to the queue in a single operation.
157
176
  *
@@ -167,6 +186,7 @@ export declare class RequestQueueClient extends ResourceClient {
167
186
  * @param options.maxUnprocessedRequestsRetries - Maximum number of retry attempts for rate-limited requests. Default is 3.
168
187
  * @param options.maxParallel - Maximum number of parallel batch API calls. Default is 5.
169
188
  * @param options.minDelayBetweenUnprocessedRequestsRetriesMillis - Minimum delay before retrying rate-limited requests. Default is 500ms.
189
+ * @param options.timeoutSecs - Timeout for each batch API request. Default is `'medium'`.
170
190
  * @returns Object with `processedRequests` (successfully added) and `unprocessedRequests` (failed after all retries)
171
191
  * @see https://docs.apify.com/api/v2/request-queue-requests-batch-post
172
192
  *
@@ -197,24 +217,30 @@ export declare class RequestQueueClient extends ResourceClient {
197
217
  * Requests can be identified by either their ID or unique key.
198
218
  *
199
219
  * @param requests - Array of requests to delete (by id or uniqueKey)
220
+ * @param options - Request options
221
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
200
222
  * @returns Result containing processed and unprocessed requests
201
223
  * @see https://docs.apify.com/api/v2/request-queue-requests-batch-delete
202
224
  * @since Added in 2.3.0
203
225
  */
204
- batchDeleteRequests(requests: RequestQueueClientRequestToDelete[]): Promise<RequestQueueClientBatchDeleteRequestsResult>;
226
+ batchDeleteRequests(requests: RequestQueueClientRequestToDelete[], options?: TimeoutOptions): Promise<RequestQueueClientBatchDeleteRequestsResult>;
205
227
  /**
206
228
  * Gets a specific request from the queue by its ID.
207
229
  *
208
230
  * @param id - Request ID
231
+ * @param options - Request options
232
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
209
233
  * @returns The request object, or `undefined` if not found
210
234
  * @see https://docs.apify.com/api/v2/request-queue-request-get
211
235
  */
212
- getRequest(id: string): Promise<RequestQueueClientGetRequestResult | undefined>;
236
+ getRequest(id: string, options?: TimeoutOptions): Promise<RequestQueueClientGetRequestResult | undefined>;
213
237
  /**
214
238
  * Updates a request in the queue.
215
239
  *
216
240
  * @param request - The updated request object (must include id)
217
241
  * @param options - Update options such as whether to move to front
242
+ * @param options.forefront - If `true`, moves the request to the beginning of the queue. Default is `false`.
243
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'medium'`.
218
244
  * @returns Information about the updated request
219
245
  * @see https://docs.apify.com/api/v2/request-queue-request-put
220
246
  */
@@ -223,8 +249,10 @@ export declare class RequestQueueClient extends ResourceClient {
223
249
  * Deletes a specific request from the queue.
224
250
  *
225
251
  * @param id - Request ID
252
+ * @param options - Request options
253
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
226
254
  */
227
- deleteRequest(id: string): Promise<void>;
255
+ deleteRequest(id: string, options?: TimeoutOptions): Promise<void>;
228
256
  /**
229
257
  * Prolongs the lock on a request to prevent it from being returned to other clients.
230
258
  *
@@ -236,6 +264,7 @@ export declare class RequestQueueClient extends ResourceClient {
236
264
  * @param options - Lock extension options
237
265
  * @param options.lockSecs - **Required.** New lock duration in seconds from now.
238
266
  * @param options.forefront - If `true`, moves the request to the beginning of the queue when the lock expires. Default is `false`.
267
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'medium'`.
239
268
  * @returns Object with new `lockExpiresAt` timestamp
240
269
  * @see https://docs.apify.com/api/v2/request-queue-request-lock-put
241
270
  *
@@ -259,6 +288,8 @@ export declare class RequestQueueClient extends ResourceClient {
259
288
  *
260
289
  * @param id - Request ID
261
290
  * @param options - Options such as whether to move to front
291
+ * @param options.forefront - If `true`, moves the request to the beginning of the queue. Default is `false`.
292
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'short'`.
262
293
  * @see https://docs.apify.com/api/v2/request-queue-request-lock-delete
263
294
  * @since Added in 2.4.1
264
295
  */
@@ -270,6 +301,7 @@ export declare class RequestQueueClient extends ResourceClient {
270
301
  * queue contents.
271
302
  *
272
303
  * @param options - Pagination options
304
+ * @param options.timeoutSecs - Timeout for each API request. Default is `'medium'`.
273
305
  * @returns List of requests with pagination information
274
306
  * @see https://docs.apify.com/api/v2/request-queue-requests-get
275
307
  * @since Added in 2.5.1
@@ -281,11 +313,13 @@ export declare class RequestQueueClient extends ResourceClient {
281
313
  * This is useful for releasing all locks at once, for example when shutting down
282
314
  * a crawler gracefully.
283
315
  *
316
+ * @param options - Request options
317
+ * @param options.timeoutSecs - Timeout for the API request. Default is `'long'`.
284
318
  * @returns Number of requests that were unlocked
285
319
  * @see https://docs.apify.com/api/v2/request-queue-requests-unlock-post
286
320
  * @since Added in 2.12.5
287
321
  */
288
- unlockRequests(): Promise<RequestQueueClientUnlockRequestsResult>;
322
+ unlockRequests(options?: TimeoutOptions): Promise<RequestQueueClientUnlockRequestsResult>;
289
323
  /**
290
324
  * Returns an async iterable for paginating through all requests in the queue.
291
325
  *
@@ -293,6 +327,7 @@ export declare class RequestQueueClient extends ResourceClient {
293
327
  * automatically handling pagination behind the scenes.
294
328
  *
295
329
  * @param options - Pagination options
330
+ * @param options.timeoutSecs - Timeout for each API request. Default is `'medium'`.
296
331
  * @returns An async iterable of request pages
297
332
  * @see https://docs.apify.com/api/v2/request-queue-requests-get
298
333
  *
@@ -312,6 +347,8 @@ export declare class RequestQueueClient extends ResourceClient {
312
347
  export interface RequestQueueUserOptions {
313
348
  clientKey?: string;
314
349
  /**
350
+ * Cap, in seconds, on the default timeout tier of every request this client sends. An explicit per-call
351
+ * `timeoutSecs` is not capped.
315
352
  * @since Added in 2.2.0
316
353
  */
317
354
  timeoutSecs?: number;
@@ -333,7 +370,7 @@ export interface RequestQueueClientUpdateOptions {
333
370
  /**
334
371
  * Options for listing requests from the queue head.
335
372
  */
336
- export interface RequestQueueClientListHeadOptions {
373
+ export interface RequestQueueClientListHeadOptions extends TimeoutOptions {
337
374
  limit?: number;
338
375
  }
339
376
  /**
@@ -344,13 +381,8 @@ export type RequestQueueListRequestsFilter = 'locked' | 'pending';
344
381
  * Options for listing all requests in the queue.
345
382
  * @since Added in 2.5.1
346
383
  */
347
- export interface RequestQueueClientListRequestsOptions {
384
+ export interface RequestQueueClientListRequestsOptions extends TimeoutOptions {
348
385
  limit?: number;
349
- /**
350
- * Using id of request that does not exist in request queue leads to unpredictable results.
351
- * @deprecated Use `cursor` for pagination instead.
352
- */
353
- exclusiveStartId?: string;
354
386
  /**
355
387
  * @since Added in 2.23.2
356
388
  */
@@ -364,11 +396,9 @@ export interface RequestQueueClientListRequestsOptions {
364
396
  * Options for paginating through requests in the queue.
365
397
  * @since Added in 2.5.1
366
398
  */
367
- export interface RequestQueueClientPaginateRequestsOptions {
399
+ export interface RequestQueueClientPaginateRequestsOptions extends TimeoutOptions {
368
400
  limit?: number;
369
401
  maxPageLimit?: number;
370
- /** @deprecated Use `cursor` for pagination instead. */
371
- exclusiveStartId?: string;
372
402
  /**
373
403
  * @since Added in 2.23.2
374
404
  */
@@ -382,30 +412,30 @@ export interface RequestQueueClientPaginateRequestsOptions {
382
412
  * Options for listing and locking requests from the queue head.
383
413
  * @since Added in 2.4.1
384
414
  */
385
- export interface RequestQueueClientListAndLockHeadOptions {
415
+ export interface RequestQueueClientListAndLockHeadOptions extends TimeoutOptions {
386
416
  lockSecs: number;
387
417
  limit?: number;
388
418
  }
389
- export interface RequestQueueClientAddRequestOptions {
419
+ export interface RequestQueueClientAddRequestOptions extends TimeoutOptions {
390
420
  forefront?: boolean;
391
421
  }
392
422
  /**
393
423
  * @since Added in 2.4.1
394
424
  */
395
- export interface RequestQueueClientProlongRequestLockOptions {
425
+ export interface RequestQueueClientProlongRequestLockOptions extends TimeoutOptions {
396
426
  forefront?: boolean;
397
427
  lockSecs: number;
398
428
  }
399
429
  /**
400
430
  * @since Added in 2.4.1
401
431
  */
402
- export interface RequestQueueClientDeleteRequestLockOptions {
432
+ export interface RequestQueueClientDeleteRequestLockOptions extends TimeoutOptions {
403
433
  forefront?: boolean;
404
434
  }
405
435
  /**
406
436
  * @since Added in 2.3.0
407
437
  */
408
- export interface RequestQueueClientBatchAddRequestWithRetriesOptions {
438
+ export interface RequestQueueClientBatchAddRequestWithRetriesOptions extends TimeoutOptions {
409
439
  forefront?: boolean;
410
440
  maxUnprocessedRequestsRetries?: number;
411
441
  maxParallel?: number;