apify-client 3.0.0-beta.4 → 3.0.0-beta.40

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 (117) hide show
  1. package/README.md +13 -3
  2. package/dist/apify_api_error.d.ts +62 -21
  3. package/dist/apify_api_error.js +96 -23
  4. package/dist/apify_client.d.ts +125 -10
  5. package/dist/apify_client.js +133 -48
  6. package/dist/base/api_client.d.ts +7 -7
  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 +57 -29
  10. package/dist/base/resource_collection_client.d.ts +8 -4
  11. package/dist/base/resource_collection_client.js +26 -15
  12. package/dist/body_parser.d.ts +3 -4
  13. package/dist/body_parser.js +19 -26
  14. package/dist/bundle.js +29 -22
  15. package/dist/bundle.js.map +1 -1
  16. package/dist/generated/api.d.ts +887 -322
  17. package/dist/generated/schemas.d.ts +6717 -0
  18. package/dist/generated/schemas.js +1527 -0
  19. package/dist/http_clients/axios.d.ts +60 -0
  20. package/dist/http_clients/axios.js +117 -0
  21. package/dist/http_clients/base.d.ts +333 -0
  22. package/dist/http_clients/base.js +563 -0
  23. package/dist/http_clients/index.d.ts +4 -0
  24. package/dist/http_clients/index.js +2 -0
  25. package/dist/http_compressors/base.d.ts +40 -0
  26. package/dist/http_compressors/base.js +9 -0
  27. package/dist/http_compressors/brotli.d.ts +33 -0
  28. package/dist/http_compressors/brotli.js +39 -0
  29. package/dist/http_compressors/gzip.d.ts +33 -0
  30. package/dist/http_compressors/gzip.js +39 -0
  31. package/dist/http_compressors/index.d.ts +6 -0
  32. package/dist/http_compressors/index.js +2 -0
  33. package/dist/http_compressors/resolve.d.ts +23 -0
  34. package/dist/http_compressors/resolve.js +27 -0
  35. package/dist/index.d.ts +5 -1
  36. package/dist/index.js +4 -1
  37. package/dist/invalid_response_body_error.d.ts +13 -0
  38. package/dist/invalid_response_body_error.js +17 -0
  39. package/dist/lazy_schema.d.ts +8 -0
  40. package/dist/lazy_schema.js +11 -0
  41. package/dist/models.d.ts +33 -61
  42. package/dist/resource_clients/actor.d.ts +46 -31
  43. package/dist/resource_clients/actor.js +78 -58
  44. package/dist/resource_clients/actor_collection.d.ts +9 -5
  45. package/dist/resource_clients/actor_collection.js +12 -3
  46. package/dist/resource_clients/actor_env_var.d.ts +10 -3
  47. package/dist/resource_clients/actor_env_var.js +17 -6
  48. package/dist/resource_clients/actor_env_var_collection.d.ts +14 -18
  49. package/dist/resource_clients/actor_env_var_collection.js +18 -11
  50. package/dist/resource_clients/actor_version.d.ts +18 -3
  51. package/dist/resource_clients/actor_version.js +20 -9
  52. package/dist/resource_clients/actor_version_collection.d.ts +16 -17
  53. package/dist/resource_clients/actor_version_collection.js +20 -11
  54. package/dist/resource_clients/build.d.ts +18 -6
  55. package/dist/resource_clients/build.js +37 -17
  56. package/dist/resource_clients/build_collection.d.ts +3 -1
  57. package/dist/resource_clients/build_collection.js +5 -1
  58. package/dist/resource_clients/dataset.d.ts +49 -31
  59. package/dist/resource_clients/dataset.js +102 -76
  60. package/dist/resource_clients/dataset_collection.d.ts +6 -2
  61. package/dist/resource_clients/dataset_collection.js +14 -2
  62. package/dist/resource_clients/key_value_store.d.ts +58 -16
  63. package/dist/resource_clients/key_value_store.js +80 -41
  64. package/dist/resource_clients/key_value_store_collection.d.ts +6 -2
  65. package/dist/resource_clients/key_value_store_collection.js +14 -2
  66. package/dist/resource_clients/log.d.ts +11 -19
  67. package/dist/resource_clients/log.js +64 -46
  68. package/dist/resource_clients/request_queue.d.ts +56 -26
  69. package/dist/resource_clients/request_queue.js +197 -116
  70. package/dist/resource_clients/request_queue_collection.d.ts +6 -2
  71. package/dist/resource_clients/request_queue_collection.js +10 -3
  72. package/dist/resource_clients/run.d.ts +52 -18
  73. package/dist/resource_clients/run.js +93 -47
  74. package/dist/resource_clients/run_collection.d.ts +3 -1
  75. package/dist/resource_clients/run_collection.js +5 -1
  76. package/dist/resource_clients/schedule.d.ts +16 -7
  77. package/dist/resource_clients/schedule.js +32 -21
  78. package/dist/resource_clients/schedule_collection.d.ts +6 -2
  79. package/dist/resource_clients/schedule_collection.js +10 -3
  80. package/dist/resource_clients/store_collection.d.ts +3 -1
  81. package/dist/resource_clients/store_collection.js +5 -1
  82. package/dist/resource_clients/task.d.ts +28 -10
  83. package/dist/resource_clients/task.js +71 -46
  84. package/dist/resource_clients/task_collection.d.ts +6 -2
  85. package/dist/resource_clients/task_collection.js +10 -3
  86. package/dist/resource_clients/user.d.ts +17 -8
  87. package/dist/resource_clients/user.js +43 -39
  88. package/dist/resource_clients/webhook.d.ts +14 -5
  89. package/dist/resource_clients/webhook.js +31 -22
  90. package/dist/resource_clients/webhook_collection.d.ts +6 -2
  91. package/dist/resource_clients/webhook_collection.js +10 -3
  92. package/dist/resource_clients/webhook_dispatch.d.ts +4 -1
  93. package/dist/resource_clients/webhook_dispatch.js +8 -2
  94. package/dist/resource_clients/webhook_dispatch_collection.d.ts +3 -1
  95. package/dist/resource_clients/webhook_dispatch_collection.js +5 -1
  96. package/dist/response_validation_error.d.ts +26 -0
  97. package/dist/response_validation_error.js +37 -0
  98. package/dist/runtime/node.d.ts +6 -0
  99. package/dist/runtime/node.js +49 -0
  100. package/dist/runtime/types.d.ts +52 -0
  101. package/dist/runtime/types.js +1 -0
  102. package/dist/runtime/web.d.ts +5 -0
  103. package/dist/runtime/web.js +18 -0
  104. package/dist/schemas.d.ts +15 -0
  105. package/dist/schemas.js +15 -0
  106. package/dist/statistics.d.ts +1 -6
  107. package/dist/statistics.js +2 -2
  108. package/dist/timeouts.d.ts +84 -0
  109. package/dist/timeouts.js +37 -0
  110. package/dist/timezones.d.ts +1 -1
  111. package/dist/utils.d.ts +86 -46
  112. package/dist/utils.js +218 -164
  113. package/package.json +32 -29
  114. package/dist/http_client.d.ts +0 -88
  115. package/dist/http_client.js +0 -255
  116. package/dist/interceptors.d.ts +0 -19
  117. package/dist/interceptors.js +0 -105
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ import { runtime } from '#runtime';
3
+ import { parseArgument } from '../utils.js';
4
+ /** Lowest valid brotli quality, the fastest with the least compression. */
5
+ const MIN_QUALITY = 0;
6
+ /** Highest valid brotli quality, the slowest with the best compression. */
7
+ const MAX_QUALITY = 11;
8
+ /** Middle of the range, where brotli already beats gzip at a comparable CPU cost. */
9
+ const DEFAULT_QUALITY = 6;
10
+ const optionsSchema = z.strictObject({
11
+ quality: z.int().min(MIN_QUALITY).max(MAX_QUALITY).default(DEFAULT_QUALITY),
12
+ });
13
+ /**
14
+ * Compresses request bodies using brotli.
15
+ *
16
+ * Built on the `node:zlib` module, so it works wherever the client runs on Node.js.
17
+ *
18
+ * @example
19
+ * ```javascript
20
+ * import { ApifyClient, BrotliHttpCompressor } from 'apify-client';
21
+ *
22
+ * const client = new ApifyClient({ token: 'my-token', compression: new BrotliHttpCompressor({ quality: 11 }) });
23
+ * ```
24
+ */
25
+ export class BrotliHttpCompressor {
26
+ contentEncoding = 'br';
27
+ #quality;
28
+ /**
29
+ * @param options - Compressor options.
30
+ * @throws {ArgumentValidationError} If `quality` is out of the valid range.
31
+ */
32
+ constructor(options = {}) {
33
+ const { quality } = parseArgument(options, optionsSchema, 'BrotliHttpCompressorOptions');
34
+ this.#quality = quality;
35
+ }
36
+ async compress(data) {
37
+ return runtime.compress(data, { algorithm: 'br', quality: this.#quality });
38
+ }
39
+ }
@@ -0,0 +1,33 @@
1
+ import type { HttpCompressor } from './base.js';
2
+ /**
3
+ * Compresses request bodies using gzip.
4
+ *
5
+ * Built on the `node:zlib` module, so it works wherever the client runs on Node.js.
6
+ *
7
+ * @example
8
+ * ```javascript
9
+ * import { ApifyClient, GzipHttpCompressor } from 'apify-client';
10
+ *
11
+ * const client = new ApifyClient({ token: 'my-token', compression: new GzipHttpCompressor({ quality: 1 }) });
12
+ * ```
13
+ */
14
+ export declare class GzipHttpCompressor implements HttpCompressor {
15
+ #private;
16
+ readonly contentEncoding = "gzip";
17
+ /**
18
+ * @param options - Compressor options.
19
+ * @throws {ArgumentValidationError} If `quality` is out of the valid range.
20
+ */
21
+ constructor(options?: GzipHttpCompressorOptions);
22
+ compress(data: Buffer): Promise<Buffer>;
23
+ }
24
+ /**
25
+ * Options for {@link GzipHttpCompressor}.
26
+ */
27
+ export interface GzipHttpCompressorOptions {
28
+ /**
29
+ * Compression level, from `1` (the fastest) to `9` (the best compression).
30
+ * @default 6
31
+ */
32
+ quality?: number;
33
+ }
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ import { runtime } from '#runtime';
3
+ import { parseArgument } from '../utils.js';
4
+ /** Lowest valid gzip quality, the fastest with the least compression. */
5
+ const MIN_QUALITY = 1;
6
+ /** Highest valid gzip quality, the slowest with the best compression. */
7
+ const MAX_QUALITY = 9;
8
+ /** zlib's own default. The levels above it roughly double the CPU cost for about a percent fewer bytes. */
9
+ const DEFAULT_QUALITY = 6;
10
+ const optionsSchema = z.strictObject({
11
+ quality: z.int().min(MIN_QUALITY).max(MAX_QUALITY).default(DEFAULT_QUALITY),
12
+ });
13
+ /**
14
+ * Compresses request bodies using gzip.
15
+ *
16
+ * Built on the `node:zlib` module, so it works wherever the client runs on Node.js.
17
+ *
18
+ * @example
19
+ * ```javascript
20
+ * import { ApifyClient, GzipHttpCompressor } from 'apify-client';
21
+ *
22
+ * const client = new ApifyClient({ token: 'my-token', compression: new GzipHttpCompressor({ quality: 1 }) });
23
+ * ```
24
+ */
25
+ export class GzipHttpCompressor {
26
+ contentEncoding = 'gzip';
27
+ #quality;
28
+ /**
29
+ * @param options - Compressor options.
30
+ * @throws {ArgumentValidationError} If `quality` is out of the valid range.
31
+ */
32
+ constructor(options = {}) {
33
+ const { quality } = parseArgument(options, optionsSchema, 'GzipHttpCompressorOptions');
34
+ this.#quality = quality;
35
+ }
36
+ async compress(data) {
37
+ return runtime.compress(data, { algorithm: 'gzip', quality: this.#quality });
38
+ }
39
+ }
@@ -0,0 +1,6 @@
1
+ export type { HttpCompressor } from './base.js';
2
+ export { BrotliHttpCompressor } from './brotli.js';
3
+ export type { BrotliHttpCompressorOptions } from './brotli.js';
4
+ export { GzipHttpCompressor } from './gzip.js';
5
+ export type { GzipHttpCompressorOptions } from './gzip.js';
6
+ export type { HttpCompressionAlgorithm } from './resolve.js';
@@ -0,0 +1,2 @@
1
+ export { BrotliHttpCompressor } from './brotli.js';
2
+ export { GzipHttpCompressor } from './gzip.js';
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ import type { HttpCompressor } from './base.js';
3
+ /**
4
+ * Compression algorithms the `compression` option of {@link ApifyClient} accepts by name. Each name selects the
5
+ * matching built-in compressor with its default quality: `'brotli'` a {@link BrotliHttpCompressor}, `'gzip'` a
6
+ * {@link GzipHttpCompressor}. The Apify API also accepts `deflate` and `identity`, which a custom
7
+ * {@link HttpCompressor} covers.
8
+ */
9
+ export type HttpCompressionAlgorithm = 'brotli' | 'gzip';
10
+ /**
11
+ * Schema of the `compression` option: an algorithm name or an {@link HttpCompressor}.
12
+ * @internal
13
+ */
14
+ export declare const compressionSchema: z.ZodUnion<readonly [z.ZodEnum<{
15
+ brotli: "brotli";
16
+ gzip: "gzip";
17
+ }>, z.ZodCustom<HttpCompressor, HttpCompressor>]>;
18
+ /**
19
+ * Turns the `compression` option into a ready-to-use {@link HttpCompressor}: a name into the matching built-in
20
+ * compressor with its default quality, a compressor into itself.
21
+ * @internal
22
+ */
23
+ export declare function resolveCompressor(compression: HttpCompressionAlgorithm | HttpCompressor): HttpCompressor;
@@ -0,0 +1,27 @@
1
+ import { z } from 'zod';
2
+ import { httpCompressorSchema } from './base.js';
3
+ import { BrotliHttpCompressor } from './brotli.js';
4
+ import { GzipHttpCompressor } from './gzip.js';
5
+ /**
6
+ * Schema of the `compression` option: an algorithm name or an {@link HttpCompressor}.
7
+ * @internal
8
+ */
9
+ export const compressionSchema = z.union([
10
+ z.enum(['brotli', 'gzip']),
11
+ httpCompressorSchema,
12
+ ]);
13
+ /**
14
+ * Turns the `compression` option into a ready-to-use {@link HttpCompressor}: a name into the matching built-in
15
+ * compressor with its default quality, a compressor into itself.
16
+ * @internal
17
+ */
18
+ export function resolveCompressor(compression) {
19
+ if (typeof compression !== 'string')
20
+ return compression;
21
+ switch (compression) {
22
+ case 'gzip':
23
+ return new GzipHttpCompressor();
24
+ case 'brotli':
25
+ return new BrotliHttpCompressor();
26
+ }
27
+ }
package/dist/index.d.ts CHANGED
@@ -28,5 +28,9 @@ export * from './resource_clients/webhook_dispatch.js';
28
28
  export * from './resource_clients/webhook_dispatch_collection.js';
29
29
  export * from './apify_api_error.js';
30
30
  export { ArgumentValidationError } from '@apify/validations';
31
- export { InvalidResponseBodyError } from './interceptors.js';
31
+ export * from './response_validation_error.js';
32
+ export * from './invalid_response_body_error.js';
33
+ export * from './http_clients/index.js';
34
+ export * from './http_compressors/index.js';
32
35
  export type { PaginatedList, Dictionary } from './utils.js';
36
+ export type { Timeout, TimeoutOptions, TimeoutTier } from './timeouts.js';
package/dist/index.js CHANGED
@@ -28,4 +28,7 @@ export * from './resource_clients/webhook_dispatch.js';
28
28
  export * from './resource_clients/webhook_dispatch_collection.js';
29
29
  export * from './apify_api_error.js';
30
30
  export { ArgumentValidationError } from '@apify/validations';
31
- export { InvalidResponseBodyError } from './interceptors.js';
31
+ export * from './response_validation_error.js';
32
+ export * from './invalid_response_body_error.js';
33
+ export * from './http_clients/index.js';
34
+ export * from './http_compressors/index.js';
@@ -0,0 +1,13 @@
1
+ import type { HttpResponse } from './http_clients/base.js';
2
+ /**
3
+ * Thrown when a response body does not parse as its content type claims, typically a JSON document cut short by a
4
+ * connection dropped mid-response. The client retries such requests, so the error surfaces once the retries are
5
+ * exhausted.
6
+ */
7
+ export declare class InvalidResponseBodyError extends Error {
8
+ code: string;
9
+ /** The response whose body did not parse, with the body as the transport returned it. */
10
+ response: HttpResponse;
11
+ cause: Error;
12
+ constructor(response: HttpResponse, cause: Error);
13
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Thrown when a response body does not parse as its content type claims, typically a JSON document cut short by a
3
+ * connection dropped mid-response. The client retries such requests, so the error surfaces once the retries are
4
+ * exhausted.
5
+ */
6
+ export class InvalidResponseBodyError extends Error {
7
+ code;
8
+ /** The response whose body did not parse, with the body as the transport returned it. */
9
+ response;
10
+ constructor(response, cause) {
11
+ super(`Response body could not be parsed.\nCause:${cause.message}`);
12
+ this.name = this.constructor.name;
13
+ this.code = 'invalid-response-body';
14
+ this.response = response;
15
+ this.cause = cause;
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Wraps the construction of a zod schema so it runs on the first call and only once.
3
+ *
4
+ * The generated response schemas are exported this way: a couple of hundred `z.looseObject()` calls at import time
5
+ * would cost more than importing zod itself, so each schema is built by the first response validated against it and
6
+ * kept for the rest of the process.
7
+ */
8
+ export declare function lazySchema<T>(build: () => T): () => T;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Wraps the construction of a zod schema so it runs on the first call and only once.
3
+ *
4
+ * The generated response schemas are exported this way: a couple of hundred `z.looseObject()` calls at import time
5
+ * would cost more than importing zod itself, so each schema is built by the first response validated against it and
6
+ * kept for the rest of the process.
7
+ */
8
+ export function lazySchema(build) {
9
+ let schema;
10
+ return () => (schema ??= build());
11
+ }
package/dist/models.d.ts CHANGED
@@ -48,6 +48,12 @@ export declare enum WebhookDispatchStatus {
48
48
  Succeeded = "SUCCEEDED",
49
49
  Failed = "FAILED"
50
50
  }
51
+ /**
52
+ * Machine-readable type of an error returned by the Apify API, carried by `ApifyApiError.type`.
53
+ *
54
+ * Declared here, next to the other spec-derived types, and re-exported from `./apify_api_error`.
55
+ */
56
+ export type ApifyApiErrorType = Schemas['ErrorType'];
51
57
  /**
52
58
  * Fields the API returns on a dataset that the OpenAPI spec does not describe yet.
53
59
  *
@@ -59,9 +65,9 @@ export interface DatasetSpecGaps {
59
65
  }
60
66
  export interface DatasetRePointed {
61
67
  stats?: DatasetStats;
68
+ generalAccess?: STORAGE_GENERAL_ACCESS | null;
62
69
  }
63
70
  export interface DatasetSpecNarrowings {
64
- generalAccess?: STORAGE_GENERAL_ACCESS | null;
65
71
  consoleUrl?: string;
66
72
  }
67
73
  /**
@@ -145,8 +151,6 @@ export interface KeyValueStoreSpecGaps {
145
151
  }
146
152
  export interface KeyValueStoreRePointed {
147
153
  stats?: KeyValueStoreStats;
148
- }
149
- export interface KeyValueStoreSpecNarrowings {
150
154
  generalAccess?: STORAGE_GENERAL_ACCESS | null;
151
155
  }
152
156
  /**
@@ -155,7 +159,7 @@ export interface KeyValueStoreSpecNarrowings {
155
159
  * Key-value stores are used to store arbitrary data records or files. Each record is identified
156
160
  * by a unique key and can contain any data - JSON objects, strings, binary files, etc.
157
161
  */
158
- export interface KeyValueStore extends Omit<Schemas['KeyValueStore'], keyof KeyValueStoreRePointed | keyof KeyValueStoreSpecNarrowings>, KeyValueStoreRePointed, KeyValueStoreSpecNarrowings, KeyValueStoreSpecGaps {
162
+ export interface KeyValueStore extends Omit<Schemas['KeyValueStore'], keyof KeyValueStoreRePointed>, KeyValueStoreRePointed, KeyValueStoreSpecGaps {
159
163
  }
160
164
  /** Statistics about Key-Value Store usage and storage. */
161
165
  export interface KeyValueStoreStats extends GeneratedKeyValueStoreStats {
@@ -215,7 +219,7 @@ export interface ActorVersionRePointed {
215
219
  envVars?: ActorEnvironmentVariable[] | null;
216
220
  }
217
221
  export interface ActorVersionClientNarrowings {
218
- sourceType: ActorSourceType;
222
+ sourceType: `${ActorSourceType}`;
219
223
  }
220
224
  /**
221
225
  * Fields every Actor version carries, whatever its source type.
@@ -224,26 +228,26 @@ export interface ActorVersionClientNarrowings {
224
228
  * keeps a union discriminated on `sourceType` instead, because that narrows the source location down
225
229
  * to the single field which applies -- so the four are dropped here and reinstated per variant.
226
230
  */
227
- export interface BaseActorVersion<SourceType extends ActorSourceType> extends Omit<GeneratedVersion, keyof ActorVersionClientNarrowings | keyof ActorVersionRePointed | ActorVersionSourceLocation>, ActorVersionRePointed {
231
+ export interface BaseActorVersion<SourceType extends `${ActorSourceType}`> extends Omit<GeneratedVersion, keyof ActorVersionClientNarrowings | keyof ActorVersionRePointed | ActorVersionSourceLocation>, ActorVersionRePointed {
228
232
  sourceType: SourceType;
229
233
  }
230
234
  /**
231
235
  * An Actor version whose source code is stored on the Apify platform.
232
236
  * @since Added in 2.6.1
233
237
  */
234
- export interface ActorVersionSourceFiles extends BaseActorVersion<ActorSourceType.SourceFiles> {
238
+ export interface ActorVersionSourceFiles extends BaseActorVersion<`${ActorSourceType.SourceFiles}`> {
235
239
  sourceFiles: (ActorVersionSourceFile | ActorVersionSourceFolder)[];
236
240
  }
237
241
  /** An Actor version built from a Git repository. */
238
- export interface ActorVersionGitRepo extends BaseActorVersion<ActorSourceType.GitRepo> {
242
+ export interface ActorVersionGitRepo extends BaseActorVersion<`${ActorSourceType.GitRepo}`> {
239
243
  gitRepoUrl: NonNullable<GeneratedVersion['gitRepoUrl']>;
240
244
  }
241
245
  /** An Actor version built from a downloadable tarball or ZIP archive. */
242
- export interface ActorVersionTarball extends BaseActorVersion<ActorSourceType.Tarball> {
246
+ export interface ActorVersionTarball extends BaseActorVersion<`${ActorSourceType.Tarball}`> {
243
247
  tarballUrl: NonNullable<GeneratedVersion['tarballUrl']>;
244
248
  }
245
249
  /** An Actor version built from a GitHub Gist. */
246
- export interface ActorVersionGitHubGist extends BaseActorVersion<ActorSourceType.GitHubGist> {
250
+ export interface ActorVersionGitHubGist extends BaseActorVersion<`${ActorSourceType.GitHubGist}`> {
247
251
  gitHubGistUrl: NonNullable<GeneratedVersion['gitHubGistUrl']>;
248
252
  }
249
253
  /**
@@ -252,7 +256,7 @@ export interface ActorVersionGitHubGist extends BaseActorVersion<ActorSourceType
252
256
  * It carries no source location of its own, so it adds nothing to `BaseActorVersion`; the variant
253
257
  * exists so that `SOURCE_CODE`, which both the spec and `@apify/consts` list, is representable.
254
258
  */
255
- export interface ActorVersionSourceCode extends BaseActorVersion<ActorSourceType.SourceCode> {
259
+ export interface ActorVersionSourceCode extends BaseActorVersion<`${ActorSourceType.SourceCode}`> {
256
260
  }
257
261
  /** A version of an Actor, discriminated on where its source code comes from. */
258
262
  export type ActorVersion = ActorVersionSourceFiles | ActorVersionGitRepo | ActorVersionTarball | ActorVersionGitHubGist | ActorVersionSourceCode;
@@ -310,11 +314,7 @@ export interface ActorDefinitionSpecGaps {
310
314
  */
311
315
  output?: object | null;
312
316
  }
313
- export interface ActorDefinitionSpecNarrowings {
314
- readme?: string | null;
315
- input?: object | null;
316
- changelog?: string | null;
317
- }
317
+ type GeneratedActorDefinition = Schemas['ActorDefinition'];
318
318
  /**
319
319
  * Actor definition from the `.actor/actor.json` file.
320
320
  *
@@ -322,7 +322,7 @@ export interface ActorDefinitionSpecNarrowings {
322
322
  * @see https://docs.apify.com/platform/actors/development/actor-definition/actor-json
323
323
  * @since Added in 2.11.0
324
324
  */
325
- export interface ActorDefinition extends Omit<Schemas['ActorDefinition'], keyof ActorDefinitionSpecNarrowings>, ActorDefinitionSpecNarrowings, ActorDefinitionSpecGaps {
325
+ export interface ActorDefinition extends GeneratedActorDefinition, ActorDefinitionSpecGaps {
326
326
  }
327
327
  export interface ActorChargeEventRePointed {
328
328
  eventTieredPricingUsd?: TieredPricingPerEvent;
@@ -571,6 +571,7 @@ export interface ActorRun extends Omit<Schemas['Run'], keyof ActorRunRePointed |
571
571
  }
572
572
  type GeneratedTaskStats = Schemas['TaskStats'];
573
573
  type GeneratedTaskOptions = Schemas['TaskOptions'];
574
+ type GeneratedTaskPublicConfig = Schemas['TaskPublicConfig'];
574
575
  type GeneratedCurrentPricingInfo = Schemas['CurrentPricingInfo'];
575
576
  /** Statistics about Actor task usage. */
576
577
  export interface TaskStats extends GeneratedTaskStats {
@@ -586,39 +587,13 @@ export interface TaskOptions extends GeneratedTaskOptions {
586
587
  * {@apilink TaskClient.unpublish} to change the publication state.
587
588
  * @since Added in 2.25.0
588
589
  */
589
- export interface TaskPublicConfig {
590
- publishedAt: Date | null;
591
- seoTitle?: string | null;
592
- seoDescription?: string | null;
593
- categorization?: string | null;
594
- inputSchemaFields?: string[] | null;
595
- datasetName?: string | null;
596
- datasetView?: string | null;
597
- }
598
- /**
599
- * Fields the API returns on a task that the OpenAPI spec does not describe yet.
600
- *
601
- * TODO: Remove once the spec covers it.
602
- */
603
- export interface TaskSpecGaps {
604
- description?: string;
605
- /**
606
- * Whether the task is published on its public landing page. Derived from
607
- * `publicConfig.publishedAt` -- set it on update to publish or unpublish the task.
608
- * @since Added in 2.25.0
609
- */
610
- isPublic?: boolean;
611
- /**
612
- * @since Added in 2.25.0
613
- */
614
- publicConfig?: TaskPublicConfig | null;
590
+ export interface TaskPublicConfig extends GeneratedTaskPublicConfig {
615
591
  }
616
592
  export interface TaskRePointed {
617
593
  stats?: TaskStats | null;
618
594
  options?: TaskOptions | null;
619
595
  actorStandby?: ActorStandby | null;
620
- }
621
- export interface TaskSpecNarrowings {
596
+ publicConfig?: TaskPublicConfig | null;
622
597
  input?: Dictionary | Dictionary[] | null;
623
598
  }
624
599
  /**
@@ -627,7 +602,7 @@ export interface TaskSpecNarrowings {
627
602
  * Tasks are saved Actor configurations with input and settings that can be executed
628
603
  * repeatedly without having to specify the full input each time.
629
604
  */
630
- export interface Task extends Omit<Schemas['Task'], keyof TaskRePointed | keyof TaskSpecNarrowings>, TaskRePointed, TaskSpecNarrowings, TaskSpecGaps {
605
+ export interface Task extends Omit<Schemas['Task'], keyof TaskRePointed>, TaskRePointed {
631
606
  }
632
607
  export interface TaskListRePointed {
633
608
  stats?: TaskStats | null;
@@ -635,7 +610,7 @@ export interface TaskListRePointed {
635
610
  /**
636
611
  * Fields the API returns on a listed task that the OpenAPI spec does not describe yet.
637
612
  *
638
- * `description` is deliberately not here, although `TaskSpecGaps` claims it on the full resource: the
613
+ * `description` is deliberately not here, although the spec has it on the full `Task` resource: the
639
614
  * list endpoint publishes a smaller set of fields, and that is one of the fields it leaves out.
640
615
  *
641
616
  * TODO: Remove once the spec covers it.
@@ -756,7 +731,7 @@ export interface ScheduledActorRunInput extends GeneratedScheduleActionRunInput
756
731
  export interface ScheduledActorRunOptions extends GeneratedTaskOptions {
757
732
  }
758
733
  export interface ScheduleActionRunActorRePointed {
759
- type: ScheduleActions.RunActor;
734
+ type: `${ScheduleActions.RunActor}`;
760
735
  runInput?: ScheduledActorRunInput | null;
761
736
  runOptions?: ScheduledActorRunOptions | null;
762
737
  }
@@ -764,13 +739,17 @@ export interface ScheduleActionRunActorRePointed {
764
739
  export interface ScheduleActionRunActor extends Omit<Schemas['ScheduleActionRunActor'], keyof ScheduleActionRunActorRePointed>, ScheduleActionRunActorRePointed {
765
740
  }
766
741
  export interface ScheduleActionRunActorTaskRePointed {
767
- type: ScheduleActions.RunActorTask;
742
+ type: `${ScheduleActions.RunActorTask}`;
768
743
  }
769
744
  /** Scheduled action to run an Actor task. */
770
745
  export interface ScheduleActionRunActorTask extends Omit<Schemas['ScheduleActionRunActorTask'], keyof ScheduleActionRunActorTaskRePointed>, ScheduleActionRunActorTaskRePointed {
771
746
  }
772
747
  /** Union type representing all possible scheduled actions. */
773
748
  export type ScheduleAction = ScheduleActionRunActor | ScheduleActionRunActorTask;
749
+ type GeneratedScheduleInvoked = Schemas['ScheduleInvoked'];
750
+ /** One entry of a schedule's log: an invocation of the schedule and how it went. */
751
+ export interface ScheduleInvoked extends GeneratedScheduleInvoked {
752
+ }
774
753
  export interface ScheduleRePointed {
775
754
  actions: ScheduleAction[];
776
755
  }
@@ -850,11 +829,8 @@ export interface UserPlan extends Omit<Schemas['Plan'], keyof UserPlanRePointed>
850
829
  export interface UserRePointed {
851
830
  profile?: UserProfile;
852
831
  proxy?: UserProxy;
853
- }
854
- export interface UserSpecNarrowings {
855
832
  plan?: UserPlan;
856
833
  effectivePlatformFeatures?: EffectivePlatformFeatures;
857
- isPaying?: boolean;
858
834
  }
859
835
  /**
860
836
  * A user account.
@@ -862,7 +838,7 @@ export interface UserSpecNarrowings {
862
838
  * The private fields are only populated for `GET /v2/users/me`, which needs a token; the public
863
839
  * endpoint returns the username and profile alone.
864
840
  */
865
- export interface User extends Omit<Schemas['UserPrivateInfo'], keyof UserRePointed | keyof UserSpecNarrowings>, UserRePointed, UserSpecNarrowings {
841
+ export interface User extends Omit<Schemas['UserPrivateInfo'], keyof UserRePointed>, UserRePointed {
866
842
  }
867
843
  /**
868
844
  * The start and end of a billing cycle.
@@ -897,11 +873,8 @@ export interface ServiceUsage {
897
873
  export interface DailyServiceUsageRePointed {
898
874
  serviceUsage: ServiceUsage;
899
875
  }
900
- export interface DailyServiceUsageClientConversions {
901
- date: Date;
902
- }
903
876
  /** A single day's usage within a monthly cycle. The spec names this schema `DailyServiceUsages`. */
904
- export interface DailyServiceUsage extends Omit<Schemas['DailyServiceUsages'], keyof DailyServiceUsageRePointed | keyof DailyServiceUsageClientConversions>, DailyServiceUsageRePointed, DailyServiceUsageClientConversions {
877
+ export interface DailyServiceUsage extends Omit<Schemas['DailyServiceUsages'], keyof DailyServiceUsageRePointed>, DailyServiceUsageRePointed {
905
878
  }
906
879
  export interface MonthlyUsageRePointed {
907
880
  usageCycle: UsageCycle;
@@ -954,21 +927,20 @@ export interface RequestQueueStats extends GeneratedRequestQueueStats {
954
927
  /**
955
928
  * Fields the API returns on a request queue that the OpenAPI spec does not describe yet.
956
929
  *
957
- * The spec does carry `username` and `expireAt` on `RequestQueueShort`, the listing shape, and simply
958
- * omits both from the full `RequestQueue` schema. `title` is absent from either.
930
+ * The spec does carry `username` on `RequestQueueShort`, the listing shape, and simply omits it from the
931
+ * full `RequestQueue` schema. `title` is absent from either.
959
932
  *
960
933
  * TODO: Remove once the spec covers them.
961
934
  */
962
935
  export interface RequestQueueSpecGaps {
963
936
  title?: string;
964
937
  username?: string;
965
- expireAt?: Date;
966
938
  }
967
939
  export interface RequestQueueRePointed {
968
940
  stats?: RequestQueueStats;
941
+ generalAccess?: STORAGE_GENERAL_ACCESS | null;
969
942
  }
970
943
  export interface RequestQueueSpecNarrowings {
971
- generalAccess?: STORAGE_GENERAL_ACCESS | null;
972
944
  consoleUrl?: string;
973
945
  }
974
946
  /**