extend-ai 1.0.3 → 1.1.0

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 (48) hide show
  1. package/BaseClient.js +2 -2
  2. package/Client.d.ts +5 -5
  3. package/Client.js +5 -5
  4. package/api/resources/classifyRuns/client/Client.d.ts +1 -1
  5. package/api/resources/classifyRuns/client/Client.js +1 -1
  6. package/api/resources/classifyRuns/types/ClassifyRunsCreateRequestClassifier.d.ts +2 -2
  7. package/api/resources/editRuns/client/Client.d.ts +2 -2
  8. package/api/resources/editRuns/client/Client.js +2 -2
  9. package/api/resources/extractRuns/client/Client.d.ts +1 -1
  10. package/api/resources/extractRuns/client/Client.js +1 -1
  11. package/api/resources/extractRuns/types/ExtractRunsCreateRequestExtractor.d.ts +2 -2
  12. package/api/resources/parseRuns/client/Client.d.ts +1 -1
  13. package/api/resources/parseRuns/client/Client.js +1 -1
  14. package/api/resources/processorRun/client/requests/ProcessorRunCreateRequest.d.ts +1 -1
  15. package/api/resources/splitRuns/client/Client.d.ts +1 -1
  16. package/api/resources/splitRuns/client/Client.js +1 -1
  17. package/api/resources/splitRuns/types/SplitRunsCreateRequestSplitter.d.ts +2 -2
  18. package/api/resources/workflowRuns/client/Client.d.ts +2 -0
  19. package/api/resources/workflowRuns/client/Client.js +2 -0
  20. package/api/types/{ClassifyConfigBaseProcessor.d.ts → ClassifyBaseProcessor.d.ts} +2 -2
  21. package/api/types/{ClassifyConfigBaseProcessor.js → ClassifyBaseProcessor.js} +2 -2
  22. package/api/types/ClassifyConfig.d.ts +1 -2
  23. package/api/types/ClassifyOverrideConfig.d.ts +17 -0
  24. package/api/types/ClassifyOverrideConfig.js +3 -0
  25. package/api/types/ClassifyRequestClassifier.d.ts +2 -2
  26. package/api/types/{ExtractConfigJsonBaseProcessor.d.ts → ExtractBaseProcessor.d.ts} +2 -2
  27. package/api/types/{ExtractConfigJsonBaseProcessor.js → ExtractBaseProcessor.js} +2 -2
  28. package/api/types/ExtractConfigJson.d.ts +1 -2
  29. package/api/types/ExtractOverrideConfigJson.d.ts +22 -0
  30. package/api/types/ExtractOverrideConfigJson.js +3 -0
  31. package/api/types/ExtractRequestExtractor.d.ts +2 -2
  32. package/api/types/ParseConfigAdvancedOptions.d.ts +11 -0
  33. package/api/types/ParseConfigAdvancedOptionsExcelParsingMode.d.ts +13 -0
  34. package/api/types/ParseConfigAdvancedOptionsExcelParsingMode.js +16 -0
  35. package/api/types/{SplitConfigBaseProcessor.d.ts → SplitBaseProcessor.d.ts} +2 -2
  36. package/api/types/{SplitConfigBaseProcessor.js → SplitBaseProcessor.js} +2 -2
  37. package/api/types/SplitConfig.d.ts +1 -2
  38. package/api/types/SplitOverrideConfig.d.ts +17 -0
  39. package/api/types/SplitOverrideConfig.js +3 -0
  40. package/api/types/SplitRequestSplitter.d.ts +2 -2
  41. package/api/types/index.d.ts +7 -3
  42. package/api/types/index.js +7 -3
  43. package/package.json +11 -9
  44. package/reference.md +13 -11
  45. package/version.d.ts +1 -1
  46. package/version.js +1 -1
  47. package/wrapper/schema/configConversion.d.ts +1 -17
  48. package/wrapper/schema/configConversion.js +14 -9
package/BaseClient.js CHANGED
@@ -44,8 +44,8 @@ function normalizeClientOptions(options) {
44
44
  const headers = (0, headers_1.mergeHeaders)({
45
45
  "X-Fern-Language": "JavaScript",
46
46
  "X-Fern-SDK-Name": "extend-ai",
47
- "X-Fern-SDK-Version": "1.0.2",
48
- "User-Agent": "extend-ai/1.0.2",
47
+ "X-Fern-SDK-Version": "1.1.0",
48
+ "User-Agent": "extend-ai/1.1.0",
49
49
  "X-Fern-Runtime": core.RUNTIME.type,
50
50
  "X-Fern-Runtime-Version": core.RUNTIME.version,
51
51
  "x-extend-api-version": (_a = options === null || options === void 0 ? void 0 : options.extendApiVersion) !== null && _a !== void 0 ? _a : "2026-02-09",
package/Client.d.ts CHANGED
@@ -76,7 +76,7 @@ export declare class ExtendClient {
76
76
  /**
77
77
  * Parse a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
78
78
  *
79
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /parse_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
79
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /parse_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
80
80
  *
81
81
  * The Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.
82
82
  *
@@ -106,7 +106,7 @@ export declare class ExtendClient {
106
106
  /**
107
107
  * Edit a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
108
108
  *
109
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /edit_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
109
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /edit_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
110
110
  *
111
111
  * The Edit endpoint allows you to detect and fill form fields in PDF documents.
112
112
  *
@@ -136,7 +136,7 @@ export declare class ExtendClient {
136
136
  /**
137
137
  * Extract structured data from a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
138
138
  *
139
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /extract_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
139
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /extract_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
140
140
  *
141
141
  * The Extract endpoint allows you to extract structured data from files using an existing extractor or an inline configuration.
142
142
  *
@@ -166,7 +166,7 @@ export declare class ExtendClient {
166
166
  /**
167
167
  * Classify a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
168
168
  *
169
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /classify_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
169
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /classify_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
170
170
  *
171
171
  * The Classify endpoint allows you to classify documents using an existing classifier or an inline configuration.
172
172
  *
@@ -196,7 +196,7 @@ export declare class ExtendClient {
196
196
  /**
197
197
  * Split a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
198
198
  *
199
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /split_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
199
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /split_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
200
200
  *
201
201
  * The Split endpoint allows you to split documents into multiple parts using an existing splitter or an inline configuration.
202
202
  *
package/Client.js CHANGED
@@ -174,7 +174,7 @@ class ExtendClient {
174
174
  /**
175
175
  * Parse a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
176
176
  *
177
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /parse_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
177
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /parse_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
178
178
  *
179
179
  * The Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.
180
180
  *
@@ -260,7 +260,7 @@ class ExtendClient {
260
260
  /**
261
261
  * Edit a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
262
262
  *
263
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /edit_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
263
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /edit_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
264
264
  *
265
265
  * The Edit endpoint allows you to detect and fill form fields in PDF documents.
266
266
  *
@@ -342,7 +342,7 @@ class ExtendClient {
342
342
  /**
343
343
  * Extract structured data from a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
344
344
  *
345
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /extract_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
345
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /extract_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
346
346
  *
347
347
  * The Extract endpoint allows you to extract structured data from files using an existing extractor or an inline configuration.
348
348
  *
@@ -424,7 +424,7 @@ class ExtendClient {
424
424
  /**
425
425
  * Classify a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
426
426
  *
427
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /classify_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
427
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /classify_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
428
428
  *
429
429
  * The Classify endpoint allows you to classify documents using an existing classifier or an inline configuration.
430
430
  *
@@ -506,7 +506,7 @@ class ExtendClient {
506
506
  /**
507
507
  * Split a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
508
508
  *
509
- * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /split_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
509
+ * **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /split_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
510
510
  *
511
511
  * The Split endpoint allows you to split documents into multiple parts using an existing splitter or an inline configuration.
512
512
  *
@@ -37,7 +37,7 @@ export declare class ClassifyRunsClient {
37
37
  /**
38
38
  * Classify a document using an existing classifier or an inline configuration.
39
39
  *
40
- * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Classify Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/classify/get-classify-run) endpoint for results.
40
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Classify Run endpoint for results.
41
41
  *
42
42
  * @param {Extend.ClassifyRunsCreateRequest} request
43
43
  * @param {ClassifyRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -143,7 +143,7 @@ class ClassifyRunsClient {
143
143
  /**
144
144
  * Classify a document using an existing classifier or an inline configuration.
145
145
  *
146
- * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Classify Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/classify/get-classify-run) endpoint for results.
146
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Classify Run endpoint for results.
147
147
  *
148
148
  * @param {Extend.ClassifyRunsCreateRequest} request
149
149
  * @param {ClassifyRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -6,6 +6,6 @@ export interface ClassifyRunsCreateRequestClassifier {
6
6
  /** The ID of the classifier to use. */
7
7
  id: string;
8
8
  version?: Extend.ProcessorVersionString;
9
- /** Optional configuration override. If provided, this configuration will override the classifier's saved configuration. */
10
- overrideConfig?: Extend.ClassifyConfig;
9
+ /** Optional partial configuration override. Only the fields you provide will override the classifier's saved configuration. For example, you can pass only `classificationRules` without providing `classifications`. */
10
+ overrideConfig?: Extend.ClassifyOverrideConfig;
11
11
  }
@@ -13,9 +13,9 @@ export declare class EditRunsClient {
13
13
  /**
14
14
  * Edit and manipulate PDF documents by detecting and filling form fields.
15
15
  *
16
- * The Edit Runs endpoint allows you to convert and edit documents and get an edit run ID that can be used to check status and retrieve results with the [Get Edit Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/edit/get-edit-run) endpoint.
16
+ * The Edit Runs endpoint allows you to convert and edit documents and get an edit run ID that can be used to check status and retrieve results with the Get Edit Run endpoint.
17
17
  *
18
- * For more details, see the [Edit File guide](https://docs.extend.ai/2026-02-09/product/editing/edit).
18
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Edit Run endpoint for results.
19
19
  *
20
20
  * @param {Extend.EditRunsCreateRequest} request
21
21
  * @param {EditRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -58,9 +58,9 @@ class EditRunsClient {
58
58
  /**
59
59
  * Edit and manipulate PDF documents by detecting and filling form fields.
60
60
  *
61
- * The Edit Runs endpoint allows you to convert and edit documents and get an edit run ID that can be used to check status and retrieve results with the [Get Edit Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/edit/get-edit-run) endpoint.
61
+ * The Edit Runs endpoint allows you to convert and edit documents and get an edit run ID that can be used to check status and retrieve results with the Get Edit Run endpoint.
62
62
  *
63
- * For more details, see the [Edit File guide](https://docs.extend.ai/2026-02-09/product/editing/edit).
63
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Edit Run endpoint for results.
64
64
  *
65
65
  * @param {Extend.EditRunsCreateRequest} request
66
66
  * @param {EditRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -37,7 +37,7 @@ export declare class ExtractRunsClient {
37
37
  /**
38
38
  * Extract structured data from a file using an existing extractor or an inline configuration.
39
39
  *
40
- * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Extract Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/extract/get-extract-run) endpoint for results.
40
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Extract Run endpoint for results.
41
41
  *
42
42
  * @param {Extend.ExtractRunsCreateRequest} request
43
43
  * @param {ExtractRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -143,7 +143,7 @@ class ExtractRunsClient {
143
143
  /**
144
144
  * Extract structured data from a file using an existing extractor or an inline configuration.
145
145
  *
146
- * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Extract Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/extract/get-extract-run) endpoint for results.
146
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Extract Run endpoint for results.
147
147
  *
148
148
  * @param {Extend.ExtractRunsCreateRequest} request
149
149
  * @param {ExtractRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -6,6 +6,6 @@ export interface ExtractRunsCreateRequestExtractor {
6
6
  /** The ID of the extractor to use. */
7
7
  id: string;
8
8
  version?: Extend.ProcessorVersionString;
9
- /** Optional configuration override. If provided, this configuration will override the extractor's saved configuration. */
10
- overrideConfig?: Extend.ExtractConfigJson;
9
+ /** Optional partial configuration override. Only the fields you provide will override the extractor's saved configuration. For example, you can pass only `advancedOptions` or `extractionRules` without providing a `schema`. */
10
+ overrideConfig?: Extend.ExtractOverrideConfigJson;
11
11
  }
@@ -15,7 +15,7 @@ export declare class ParseRunsClient {
15
15
  *
16
16
  * The Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.
17
17
  *
18
- * For more details, see the [Parse File guide](https://docs.extend.ai/2026-02-09/product/parsing/parse).
18
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Parse Run endpoint for results.
19
19
  *
20
20
  * @param {Extend.ParseRunsCreateRequest} request
21
21
  * @param {ParseRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -60,7 +60,7 @@ class ParseRunsClient {
60
60
  *
61
61
  * The Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.
62
62
  *
63
- * For more details, see the [Parse File guide](https://docs.extend.ai/2026-02-09/product/parsing/parse).
63
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Parse Run endpoint for results.
64
64
  *
65
65
  * @param {Extend.ParseRunsCreateRequest} request
66
66
  * @param {ParseRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -19,7 +19,7 @@ export interface ProcessorRunCreateRequest {
19
19
  /** A raw string to be processed. Can be used in place of file when passing raw text data streams. One of `file` or `rawText` must be provided. */
20
20
  rawText?: string;
21
21
  /**
22
- * Whether to run the processor synchronously. When `true`, the request will wait for the processor run to complete and return the final results. When `false` (default), the request returns immediately with a `PROCESSING` status, and you can poll for completion or use webhooks. For production use cases, we recommending leaving sync off and building around an async integration for more resiliency, unless your use case is predictably fast (e.g. sub < 30 seconds) run time or otherwise have integration constraints that require a synchronous API.
22
+ * Whether to run the processor synchronously. When `true`, the request will wait for the processor run to complete and return the final results. When `false` (default), the request returns immediately with a `PROCESSING` status, and you can poll for completion or use webhooks. For production use cases, we recommending leaving sync off and building around an async integration for more resiliency, unless your use case is predictably fast (e.g. sub < 30 seconds) run time or otherwise have integration constraints that require a synchronous API. See [Async Processing](https://docs.extend.ai/2026-02-09/developers/async-processing) for more details.
23
23
  *
24
24
  * **Timeout**: Synchronous requests have a 5-minute timeout. If the processor run takes longer, it will continue processing asynchronously and you can retrieve the results via the GET endpoint.
25
25
  */
@@ -37,7 +37,7 @@ export declare class SplitRunsClient {
37
37
  /**
38
38
  * Split a document into multiple parts using an existing splitter or an inline configuration.
39
39
  *
40
- * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Split Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/split/get-split-run) endpoint for results.
40
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Split Run endpoint for results.
41
41
  *
42
42
  * @param {Extend.SplitRunsCreateRequest} request
43
43
  * @param {SplitRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -143,7 +143,7 @@ class SplitRunsClient {
143
143
  /**
144
144
  * Split a document into multiple parts using an existing splitter or an inline configuration.
145
145
  *
146
- * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Split Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/split/get-split-run) endpoint for results.
146
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Split Run endpoint for results.
147
147
  *
148
148
  * @param {Extend.SplitRunsCreateRequest} request
149
149
  * @param {SplitRunsClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -6,6 +6,6 @@ export interface SplitRunsCreateRequestSplitter {
6
6
  /** The ID of the splitter to use. */
7
7
  id: string;
8
8
  version?: Extend.ProcessorVersionString;
9
- /** Optional configuration override. If provided, this configuration will override the splitter's saved configuration. */
10
- overrideConfig?: Extend.SplitConfig;
9
+ /** Optional partial configuration override. Only the fields you provide will override the splitter's saved configuration. For example, you can pass only `splitRules` without providing `splitClassifications`. */
10
+ overrideConfig?: Extend.SplitOverrideConfig;
11
11
  }
@@ -35,6 +35,8 @@ export declare class WorkflowRunsClient {
35
35
  /**
36
36
  * Run a workflow with a file. A workflow is a sequence of steps that process files and data in a specific order to achieve a desired outcome.
37
37
  *
38
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Workflow Run endpoint for results.
39
+ *
38
40
  * @param {Extend.WorkflowRunsCreateRequest} request
39
41
  * @param {WorkflowRunsClient.RequestOptions} requestOptions - Request-specific configuration.
40
42
  *
@@ -140,6 +140,8 @@ class WorkflowRunsClient {
140
140
  /**
141
141
  * Run a workflow with a file. A workflow is a sequence of steps that process files and data in a specific order to achieve a desired outcome.
142
142
  *
143
+ * The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Workflow Run endpoint for results.
144
+ *
143
145
  * @param {Extend.WorkflowRunsCreateRequest} request
144
146
  * @param {WorkflowRunsClient.RequestOptions} requestOptions - Request-specific configuration.
145
147
  *
@@ -1,6 +1,6 @@
1
1
  /** The base processor to use. For classifiers, this can be either `"classification_performance"` or `"classification_light"`. Defaults to `"classification_performance"` if not provided. See [Classification Changelog](https://docs.extend.ai/2026-02-09/changelog/classification/classification-performance) for more details. */
2
- export declare const ClassifyConfigBaseProcessor: {
2
+ export declare const ClassifyBaseProcessor: {
3
3
  readonly ClassificationPerformance: "classification_performance";
4
4
  readonly ClassificationLight: "classification_light";
5
5
  };
6
- export type ClassifyConfigBaseProcessor = (typeof ClassifyConfigBaseProcessor)[keyof typeof ClassifyConfigBaseProcessor] | string;
6
+ export type ClassifyBaseProcessor = (typeof ClassifyBaseProcessor)[keyof typeof ClassifyBaseProcessor] | string;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  // This file was auto-generated by Fern from our API Definition.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ClassifyConfigBaseProcessor = void 0;
4
+ exports.ClassifyBaseProcessor = void 0;
5
5
  /** The base processor to use. For classifiers, this can be either `"classification_performance"` or `"classification_light"`. Defaults to `"classification_performance"` if not provided. See [Classification Changelog](https://docs.extend.ai/2026-02-09/changelog/classification/classification-performance) for more details. */
6
- exports.ClassifyConfigBaseProcessor = {
6
+ exports.ClassifyBaseProcessor = {
7
7
  ClassificationPerformance: "classification_performance",
8
8
  ClassificationLight: "classification_light",
9
9
  };
@@ -1,7 +1,6 @@
1
1
  import type * as Extend from "../index";
2
2
  export interface ClassifyConfig {
3
- /** The base processor to use. For classifiers, this can be either `"classification_performance"` or `"classification_light"`. Defaults to `"classification_performance"` if not provided. See [Classification Changelog](https://docs.extend.ai/2026-02-09/changelog/classification/classification-performance) for more details. */
4
- baseProcessor?: Extend.ClassifyConfigBaseProcessor;
3
+ baseProcessor?: Extend.ClassifyBaseProcessor;
5
4
  /** The version of the `"classification_performance"` or `"classification_light"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Classification Changelog](https://docs.extend.ai/2026-02-09/changelog/classification/classification-performance) for more details. */
6
5
  baseVersion?: string;
7
6
  classifications: Extend.Classifications;
@@ -0,0 +1,17 @@
1
+ import type * as Extend from "../index";
2
+ /**
3
+ * Partial configuration override for an existing classifier. All fields are optional — only the fields you provide will override the classifier's saved configuration.
4
+ * For example, you can pass only `classificationRules` without providing `classifications`.
5
+ */
6
+ export interface ClassifyOverrideConfig {
7
+ baseProcessor?: Extend.ClassifyBaseProcessor;
8
+ /** The version of the `"classification_performance"` or `"classification_light"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Classification Changelog](https://docs.extend.ai/2026-02-09/changelog/classification/classification-performance) for more details. */
9
+ baseVersion?: string;
10
+ classifications?: Extend.Classifications;
11
+ /** Custom rules to guide the classification process in natural language. */
12
+ classificationRules?: string;
13
+ /** Advanced configuration options. */
14
+ advancedOptions?: Extend.ClassifyAdvancedOptions;
15
+ /** Configuration options for the parsing process. */
16
+ parseConfig?: Extend.ParseConfig;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -6,6 +6,6 @@ export interface ClassifyRequestClassifier {
6
6
  /** The ID of the classifier to use. */
7
7
  id: string;
8
8
  version?: Extend.ProcessorVersionString;
9
- /** Optional configuration override. If provided, this configuration will override the classifier's saved configuration. */
10
- overrideConfig?: Extend.ClassifyConfig;
9
+ /** Optional partial configuration override. Only the fields you provide will override the classifier's saved configuration. For example, you can pass only `classificationRules` without providing `classifications`. */
10
+ overrideConfig?: Extend.ClassifyOverrideConfig;
11
11
  }
@@ -1,6 +1,6 @@
1
1
  /** The base processor to use. For extractors, this can be either `"extraction_performance"` or `"extraction_light"`. Defaults to `"extraction_performance"` if not provided. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/changelog/extraction/extraction-performance) for more details. */
2
- export declare const ExtractConfigJsonBaseProcessor: {
2
+ export declare const ExtractBaseProcessor: {
3
3
  readonly ExtractionPerformance: "extraction_performance";
4
4
  readonly ExtractionLight: "extraction_light";
5
5
  };
6
- export type ExtractConfigJsonBaseProcessor = (typeof ExtractConfigJsonBaseProcessor)[keyof typeof ExtractConfigJsonBaseProcessor] | string;
6
+ export type ExtractBaseProcessor = (typeof ExtractBaseProcessor)[keyof typeof ExtractBaseProcessor] | string;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  // This file was auto-generated by Fern from our API Definition.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ExtractConfigJsonBaseProcessor = void 0;
4
+ exports.ExtractBaseProcessor = void 0;
5
5
  /** The base processor to use. For extractors, this can be either `"extraction_performance"` or `"extraction_light"`. Defaults to `"extraction_performance"` if not provided. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/changelog/extraction/extraction-performance) for more details. */
6
- exports.ExtractConfigJsonBaseProcessor = {
6
+ exports.ExtractBaseProcessor = {
7
7
  ExtractionPerformance: "extraction_performance",
8
8
  ExtractionLight: "extraction_light",
9
9
  };
@@ -1,7 +1,6 @@
1
1
  import type * as Extend from "../index";
2
2
  export interface ExtractConfigJson {
3
- /** The base processor to use. For extractors, this can be either `"extraction_performance"` or `"extraction_light"`. Defaults to `"extraction_performance"` if not provided. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/changelog/extraction/extraction-performance) for more details. */
4
- baseProcessor?: Extend.ExtractConfigJsonBaseProcessor;
3
+ baseProcessor?: Extend.ExtractBaseProcessor;
5
4
  /** The version of the `"extraction_performance"` or `"extraction_light"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/changelog/extraction/extraction-performance) for more details. */
6
5
  baseVersion?: string;
7
6
  /** Custom rules to guide the extraction process in natural language. */
@@ -0,0 +1,22 @@
1
+ import type * as Extend from "../index";
2
+ /**
3
+ * Partial configuration override for an existing extractor. All fields are optional — only the fields you provide will override the extractor's saved configuration.
4
+ * For example, you can pass only `advancedOptions` or `extractionRules` without providing a `schema`.
5
+ */
6
+ export interface ExtractOverrideConfigJson {
7
+ baseProcessor?: Extend.ExtractBaseProcessor;
8
+ /** The version of the `"extraction_performance"` or `"extraction_light"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Extraction Changelog](https://docs.extend.ai/2026-02-09/changelog/extraction/extraction-performance) for more details. */
9
+ baseVersion?: string;
10
+ /** Custom rules to guide the extraction process in natural language. */
11
+ extractionRules?: string;
12
+ /**
13
+ * JSON Schema definition of the data to extract.
14
+ *
15
+ * See the [JSON Schema guide](https://docs.extend.ai/2026-02-09/product/extraction/schema/json-schema) for details and examples of schema configuration.
16
+ */
17
+ schema?: Extend.JsonObject;
18
+ /** Advanced configuration options. */
19
+ advancedOptions?: Extend.ExtractAdvancedOptions;
20
+ /** Configuration options for the parsing process. */
21
+ parseConfig?: Extend.ParseConfig;
22
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -6,6 +6,6 @@ export interface ExtractRequestExtractor {
6
6
  /** The ID of the extractor to use. */
7
7
  id: string;
8
8
  version?: Extend.ProcessorVersionString;
9
- /** Optional configuration override. If provided, this configuration will override the extractor's saved configuration. */
10
- overrideConfig?: Extend.ExtractConfigJson;
9
+ /** Optional partial configuration override. Only the fields you provide will override the extractor's saved configuration. For example, you can pass only `advancedOptions` or `extractionRules` without providing a `schema`. */
10
+ overrideConfig?: Extend.ExtractOverrideConfigJson;
11
11
  }
@@ -3,6 +3,17 @@ export interface ParseConfigAdvancedOptions {
3
3
  /** Whether to automatically detect and correct page rotation. */
4
4
  pageRotationEnabled?: boolean;
5
5
  pageRanges?: Extend.PageRanges;
6
+ /**
7
+ * Controls how Excel files are parsed.
8
+ *
9
+ * * `basic`: Fast, deterministic parsing.
10
+ * * `advanced`: Enable layout block detection for complex spreadsheets.
11
+ *
12
+ * For `.xls` files, `basic` mode is always used.
13
+ */
14
+ excelParsingMode?: Extend.ParseConfigAdvancedOptionsExcelParsingMode;
15
+ /** Whether to exclude hidden rows, columns, and sheets when parsing Excel files. */
16
+ excelSkipHiddenContent?: boolean;
6
17
  /** Multiplier for the Y-axis threshold used to determine if text blocks should be placed on the same line or not (0.1-5.0, default 1.0). Higher values group elements that are further apart vertically. Only applies when the spatial target is set. */
7
18
  verticalGroupingThreshold?: number;
8
19
  /** Options for returning raw OCR data in the response. */
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Controls how Excel files are parsed.
3
+ *
4
+ * * `basic`: Fast, deterministic parsing.
5
+ * * `advanced`: Enable layout block detection for complex spreadsheets.
6
+ *
7
+ * For `.xls` files, `basic` mode is always used.
8
+ */
9
+ export declare const ParseConfigAdvancedOptionsExcelParsingMode: {
10
+ readonly Basic: "basic";
11
+ readonly Advanced: "advanced";
12
+ };
13
+ export type ParseConfigAdvancedOptionsExcelParsingMode = (typeof ParseConfigAdvancedOptionsExcelParsingMode)[keyof typeof ParseConfigAdvancedOptionsExcelParsingMode] | string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ParseConfigAdvancedOptionsExcelParsingMode = void 0;
5
+ /**
6
+ * Controls how Excel files are parsed.
7
+ *
8
+ * * `basic`: Fast, deterministic parsing.
9
+ * * `advanced`: Enable layout block detection for complex spreadsheets.
10
+ *
11
+ * For `.xls` files, `basic` mode is always used.
12
+ */
13
+ exports.ParseConfigAdvancedOptionsExcelParsingMode = {
14
+ Basic: "basic",
15
+ Advanced: "advanced",
16
+ };
@@ -1,6 +1,6 @@
1
1
  /** The base processor to use. For splitters, this can be either `"splitting_performance"` or `"splitting_light"`. Defaults to `"splitting_performance"` if not provided. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/changelog/splitting/splitting-performance) for more details. */
2
- export declare const SplitConfigBaseProcessor: {
2
+ export declare const SplitBaseProcessor: {
3
3
  readonly SplittingPerformance: "splitting_performance";
4
4
  readonly SplittingLight: "splitting_light";
5
5
  };
6
- export type SplitConfigBaseProcessor = (typeof SplitConfigBaseProcessor)[keyof typeof SplitConfigBaseProcessor] | string;
6
+ export type SplitBaseProcessor = (typeof SplitBaseProcessor)[keyof typeof SplitBaseProcessor] | string;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  // This file was auto-generated by Fern from our API Definition.
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.SplitConfigBaseProcessor = void 0;
4
+ exports.SplitBaseProcessor = void 0;
5
5
  /** The base processor to use. For splitters, this can be either `"splitting_performance"` or `"splitting_light"`. Defaults to `"splitting_performance"` if not provided. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/changelog/splitting/splitting-performance) for more details. */
6
- exports.SplitConfigBaseProcessor = {
6
+ exports.SplitBaseProcessor = {
7
7
  SplittingPerformance: "splitting_performance",
8
8
  SplittingLight: "splitting_light",
9
9
  };
@@ -1,7 +1,6 @@
1
1
  import type * as Extend from "../index";
2
2
  export interface SplitConfig {
3
- /** The base processor to use. For splitters, this can be either `"splitting_performance"` or `"splitting_light"`. Defaults to `"splitting_performance"` if not provided. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/changelog/splitting/splitting-performance) for more details. */
4
- baseProcessor?: Extend.SplitConfigBaseProcessor;
3
+ baseProcessor?: Extend.SplitBaseProcessor;
5
4
  /** The version of the `"splitting_performance"` or `"splitting_light"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/changelog/splitting/splitting-performance) for more details. */
6
5
  baseVersion?: string;
7
6
  splitClassifications: Extend.Classifications;
@@ -0,0 +1,17 @@
1
+ import type * as Extend from "../index";
2
+ /**
3
+ * Partial configuration override for an existing splitter. All fields are optional — only the fields you provide will override the splitter's saved configuration.
4
+ * For example, you can pass only `splitRules` without providing `splitClassifications`.
5
+ */
6
+ export interface SplitOverrideConfig {
7
+ baseProcessor?: Extend.SplitBaseProcessor;
8
+ /** The version of the `"splitting_performance"` or `"splitting_light"` processor to use. If not provided, the latest stable version for the selected `baseProcessor` will be used automatically. See [Splitting Changelog](https://docs.extend.ai/2026-02-09/changelog/splitting/splitting-performance) for more details. */
9
+ baseVersion?: string;
10
+ splitClassifications?: Extend.Classifications;
11
+ /** Custom rules to guide the document splitting process in natural language. */
12
+ splitRules?: string;
13
+ /** Advanced configuration options. */
14
+ advancedOptions?: Extend.SplitAdvancedOptions;
15
+ /** Configuration options for the parsing process. */
16
+ parseConfig?: Extend.ParseConfig;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -6,6 +6,6 @@ export interface SplitRequestSplitter {
6
6
  /** The ID of the splitter to use. */
7
7
  id: string;
8
8
  version?: Extend.ProcessorVersionString;
9
- /** Optional configuration override. If provided, this configuration will override the splitter's saved configuration. */
10
- overrideConfig?: Extend.SplitConfig;
9
+ /** Optional partial configuration override. Only the fields you provide will override the splitter's saved configuration. For example, you can pass only `splitRules` without providing `splitClassifications`. */
10
+ overrideConfig?: Extend.SplitOverrideConfig;
11
11
  }
@@ -38,9 +38,10 @@ export * from "./ClassifierVersionPublishedWebhookEvent";
38
38
  export * from "./ClassifierVersionSummary";
39
39
  export * from "./ClassifyAdvancedOptions";
40
40
  export * from "./ClassifyAdvancedOptionsContext";
41
+ export * from "./ClassifyBaseProcessor";
41
42
  export * from "./ClassifyConfig";
42
- export * from "./ClassifyConfigBaseProcessor";
43
43
  export * from "./ClassifyOutput";
44
+ export * from "./ClassifyOverrideConfig";
44
45
  export * from "./ClassifyRequestClassifier";
45
46
  export * from "./ClassifyRequestFile";
46
47
  export * from "./ClassifyResult";
@@ -91,12 +92,12 @@ export * from "./ExtractAdvancedOptions";
91
92
  export * from "./ExtractAdvancedOptionsArrayCitationStrategy";
92
93
  export * from "./ExtractAdvancedOptionsExcelSheetSelectionStrategy";
93
94
  export * from "./ExtractAdvancedOptionsReviewAgent";
95
+ export * from "./ExtractBaseProcessor";
94
96
  export * from "./ExtractChunkingOptions";
95
97
  export * from "./ExtractChunkingOptionsChunkingStrategy";
96
98
  export * from "./ExtractChunkingOptionsChunkSelectionStrategy";
97
99
  export * from "./ExtractConfig";
98
100
  export * from "./ExtractConfigJson";
99
- export * from "./ExtractConfigJsonBaseProcessor";
100
101
  export * from "./ExtractConfigLegacy";
101
102
  export * from "./ExtractConfigLegacyBaseProcessor";
102
103
  export * from "./ExtractionField";
@@ -111,6 +112,7 @@ export * from "./ExtractOutputJson";
111
112
  export * from "./ExtractOutputLegacy";
112
113
  export * from "./ExtractOutputMetadata";
113
114
  export * from "./ExtractOutputMetadataValue";
115
+ export * from "./ExtractOverrideConfigJson";
114
116
  export * from "./Extractor";
115
117
  export * from "./ExtractorCreatedWebhookEvent";
116
118
  export * from "./ExtractorDeletedWebhookEvent";
@@ -226,6 +228,7 @@ export * from "./PageRangesItem";
226
228
  export * from "./ParentSplit";
227
229
  export * from "./ParseConfig";
228
230
  export * from "./ParseConfigAdvancedOptions";
231
+ export * from "./ParseConfigAdvancedOptionsExcelParsingMode";
229
232
  export * from "./ParseConfigAdvancedOptionsReturnOcr";
230
233
  export * from "./ParseConfigBlockOptions";
231
234
  export * from "./ParseConfigBlockOptionsFigures";
@@ -278,10 +281,11 @@ export * from "./SortBy";
278
281
  export * from "./SortDir";
279
282
  export * from "./SplitAdvancedOptions";
280
283
  export * from "./SplitAdvancedOptionsSplitMethod";
284
+ export * from "./SplitBaseProcessor";
281
285
  export * from "./SplitConfig";
282
- export * from "./SplitConfigBaseProcessor";
283
286
  export * from "./SplitOutput";
284
287
  export * from "./SplitOutputSplitsItem";
288
+ export * from "./SplitOverrideConfig";
285
289
  export * from "./SplitRequestFile";
286
290
  export * from "./SplitRequestSplitter";
287
291
  export * from "./SplitResult";
@@ -54,9 +54,10 @@ __exportStar(require("./ClassifierVersionPublishedWebhookEvent"), exports);
54
54
  __exportStar(require("./ClassifierVersionSummary"), exports);
55
55
  __exportStar(require("./ClassifyAdvancedOptions"), exports);
56
56
  __exportStar(require("./ClassifyAdvancedOptionsContext"), exports);
57
+ __exportStar(require("./ClassifyBaseProcessor"), exports);
57
58
  __exportStar(require("./ClassifyConfig"), exports);
58
- __exportStar(require("./ClassifyConfigBaseProcessor"), exports);
59
59
  __exportStar(require("./ClassifyOutput"), exports);
60
+ __exportStar(require("./ClassifyOverrideConfig"), exports);
60
61
  __exportStar(require("./ClassifyRequestClassifier"), exports);
61
62
  __exportStar(require("./ClassifyRequestFile"), exports);
62
63
  __exportStar(require("./ClassifyResult"), exports);
@@ -107,12 +108,12 @@ __exportStar(require("./ExtractAdvancedOptions"), exports);
107
108
  __exportStar(require("./ExtractAdvancedOptionsArrayCitationStrategy"), exports);
108
109
  __exportStar(require("./ExtractAdvancedOptionsExcelSheetSelectionStrategy"), exports);
109
110
  __exportStar(require("./ExtractAdvancedOptionsReviewAgent"), exports);
111
+ __exportStar(require("./ExtractBaseProcessor"), exports);
110
112
  __exportStar(require("./ExtractChunkingOptions"), exports);
111
113
  __exportStar(require("./ExtractChunkingOptionsChunkingStrategy"), exports);
112
114
  __exportStar(require("./ExtractChunkingOptionsChunkSelectionStrategy"), exports);
113
115
  __exportStar(require("./ExtractConfig"), exports);
114
116
  __exportStar(require("./ExtractConfigJson"), exports);
115
- __exportStar(require("./ExtractConfigJsonBaseProcessor"), exports);
116
117
  __exportStar(require("./ExtractConfigLegacy"), exports);
117
118
  __exportStar(require("./ExtractConfigLegacyBaseProcessor"), exports);
118
119
  __exportStar(require("./ExtractionField"), exports);
@@ -127,6 +128,7 @@ __exportStar(require("./ExtractOutputJson"), exports);
127
128
  __exportStar(require("./ExtractOutputLegacy"), exports);
128
129
  __exportStar(require("./ExtractOutputMetadata"), exports);
129
130
  __exportStar(require("./ExtractOutputMetadataValue"), exports);
131
+ __exportStar(require("./ExtractOverrideConfigJson"), exports);
130
132
  __exportStar(require("./Extractor"), exports);
131
133
  __exportStar(require("./ExtractorCreatedWebhookEvent"), exports);
132
134
  __exportStar(require("./ExtractorDeletedWebhookEvent"), exports);
@@ -242,6 +244,7 @@ __exportStar(require("./PageRangesItem"), exports);
242
244
  __exportStar(require("./ParentSplit"), exports);
243
245
  __exportStar(require("./ParseConfig"), exports);
244
246
  __exportStar(require("./ParseConfigAdvancedOptions"), exports);
247
+ __exportStar(require("./ParseConfigAdvancedOptionsExcelParsingMode"), exports);
245
248
  __exportStar(require("./ParseConfigAdvancedOptionsReturnOcr"), exports);
246
249
  __exportStar(require("./ParseConfigBlockOptions"), exports);
247
250
  __exportStar(require("./ParseConfigBlockOptionsFigures"), exports);
@@ -294,10 +297,11 @@ __exportStar(require("./SortBy"), exports);
294
297
  __exportStar(require("./SortDir"), exports);
295
298
  __exportStar(require("./SplitAdvancedOptions"), exports);
296
299
  __exportStar(require("./SplitAdvancedOptionsSplitMethod"), exports);
300
+ __exportStar(require("./SplitBaseProcessor"), exports);
297
301
  __exportStar(require("./SplitConfig"), exports);
298
- __exportStar(require("./SplitConfigBaseProcessor"), exports);
299
302
  __exportStar(require("./SplitOutput"), exports);
300
303
  __exportStar(require("./SplitOutputSplitsItem"), exports);
304
+ __exportStar(require("./SplitOverrideConfig"), exports);
301
305
  __exportStar(require("./SplitRequestFile"), exports);
302
306
  __exportStar(require("./SplitRequestSplitter"), exports);
303
307
  __exportStar(require("./SplitResult"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extend-ai",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,24 +23,26 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "form-data": "^4.0.4",
26
- "form-data-encoder": "^4.0.2",
27
26
  "formdata-node": "^6.0.3",
28
27
  "node-fetch": "^2.7.0",
29
- "readable-stream": "^4.5.2"
28
+ "readable-stream": "^4.5.2",
29
+ "form-data-encoder": "^4.0.2",
30
+ "zod": "^4.3.6"
30
31
  },
31
32
  "devDependencies": {
32
- "@biomejs/biome": "2.3.11",
33
- "@jest/globals": "^29.7.0",
34
- "@types/jest": "^29.5.14",
35
- "@types/node": "^18.19.70",
36
33
  "@types/node-fetch": "^2.6.12",
37
34
  "@types/readable-stream": "^4.0.18",
35
+ "webpack": "^5.97.1",
36
+ "ts-loader": "^9.5.1",
38
37
  "jest": "^29.7.0",
38
+ "@jest/globals": "^29.7.0",
39
+ "@types/jest": "^29.5.14",
40
+ "ts-jest": "^29.3.4",
39
41
  "jest-environment-jsdom": "^29.7.0",
40
42
  "msw": "2.11.2",
41
- "ts-jest": "^29.3.4",
43
+ "@types/node": "^18.19.70",
42
44
  "typescript": "~5.7.2",
43
- "zod": "^4.3.6"
45
+ "@biomejs/biome": "2.3.11"
44
46
  },
45
47
  "browser": {
46
48
  "fs": false,
package/reference.md CHANGED
@@ -13,7 +13,7 @@
13
13
 
14
14
  Parse a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
15
15
 
16
- **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /parse_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
16
+ **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /parse_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
17
17
 
18
18
  The Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.
19
19
 
@@ -86,7 +86,7 @@ await client.parse({
86
86
 
87
87
  Edit a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
88
88
 
89
- **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /edit_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
89
+ **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /edit_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
90
90
 
91
91
  The Edit endpoint allows you to detect and fill form fields in PDF documents.
92
92
 
@@ -159,7 +159,7 @@ await client.edit({
159
159
 
160
160
  Extract structured data from a file synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
161
161
 
162
- **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /extract_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
162
+ **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /extract_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
163
163
 
164
164
  The Extract endpoint allows you to extract structured data from files using an existing extractor or an inline configuration.
165
165
 
@@ -232,7 +232,7 @@ await client.extract({
232
232
 
233
233
  Classify a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
234
234
 
235
- **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /classify_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
235
+ **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /classify_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
236
236
 
237
237
  The Classify endpoint allows you to classify documents using an existing classifier or an inline configuration.
238
238
 
@@ -305,7 +305,7 @@ await client.classify({
305
305
 
306
306
  Split a document synchronously, waiting for the result before returning. This endpoint has a **5-minute timeout** — if processing takes longer, the request will fail.
307
307
 
308
- **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /split_runs` with webhooks or polling instead, as it provides better reliability for large files and avoids timeout issues.
308
+ **Note:** This endpoint is intended for onboarding and testing only. For production workloads, use `POST /split_runs` with [polling or webhooks](https://docs.extend.ai/2026-02-09/developers/async-processing) instead, as it provides better reliability for large files and avoids timeout issues.
309
309
 
310
310
  The Split endpoint allows you to split documents into multiple parts using an existing splitter or an inline configuration.
311
311
 
@@ -662,7 +662,7 @@ Parse files to get cleaned, chunked target content (e.g. markdown).
662
662
 
663
663
  The Parse endpoint allows you to convert documents into structured, machine-readable formats with fine-grained control over the parsing process. This endpoint is ideal for extracting cleaned document content to be used as context for downstream processing, e.g. RAG pipelines, custom ingestion pipelines, embeddings classification, etc.
664
664
 
665
- For more details, see the [Parse File guide](https://docs.extend.ai/2026-02-09/product/parsing/parse).
665
+ The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Parse Run endpoint for results.
666
666
  </dd>
667
667
  </dl>
668
668
  </dd>
@@ -878,9 +878,9 @@ Example: `"pr_xK9mLPqRtN3vS8wF5hB2cQ"`
878
878
 
879
879
  Edit and manipulate PDF documents by detecting and filling form fields.
880
880
 
881
- The Edit Runs endpoint allows you to convert and edit documents and get an edit run ID that can be used to check status and retrieve results with the [Get Edit Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/edit/get-edit-run) endpoint.
881
+ The Edit Runs endpoint allows you to convert and edit documents and get an edit run ID that can be used to check status and retrieve results with the Get Edit Run endpoint.
882
882
 
883
- For more details, see the [Edit File guide](https://docs.extend.ai/2026-02-09/product/editing/edit).
883
+ The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Edit Run endpoint for results.
884
884
  </dd>
885
885
  </dl>
886
886
  </dd>
@@ -1155,7 +1155,7 @@ await client.extractRuns.list({
1155
1155
 
1156
1156
  Extract structured data from a file using an existing extractor or an inline configuration.
1157
1157
 
1158
- The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Extract Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/extract/get-extract-run) endpoint for results.
1158
+ The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Extract Run endpoint for results.
1159
1159
  </dd>
1160
1160
  </dl>
1161
1161
  </dd>
@@ -2008,7 +2008,7 @@ await client.classifyRuns.list({
2008
2008
 
2009
2009
  Classify a document using an existing classifier or an inline configuration.
2010
2010
 
2011
- The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Classify Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/classify/get-classify-run) endpoint for results.
2011
+ The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Classify Run endpoint for results.
2012
2012
  </dd>
2013
2013
  </dl>
2014
2014
  </dd>
@@ -2861,7 +2861,7 @@ await client.splitRuns.list({
2861
2861
 
2862
2862
  Split a document into multiple parts using an existing splitter or an inline configuration.
2863
2863
 
2864
- The request returns immediately with a `PROCESSING` status. Use webhooks or poll the [Get Split Run](https://docs.extend.ai/2026-02-09/developers/api-reference/endpoints/split/get-split-run) endpoint for results.
2864
+ The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Split Run endpoint for results.
2865
2865
  </dd>
2866
2866
  </dl>
2867
2867
  </dd>
@@ -3779,6 +3779,8 @@ await client.workflowRuns.list({
3779
3779
  <dd>
3780
3780
 
3781
3781
  Run a workflow with a file. A workflow is a sequence of steps that process files and data in a specific order to achieve a desired outcome.
3782
+
3783
+ The request returns immediately with a `PROCESSING` status. Use webhooks or poll the Get Workflow Run endpoint for results.
3782
3784
  </dd>
3783
3785
  </dl>
3784
3786
  </dd>
package/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "1.0.2";
1
+ export declare const SDK_VERSION = "1.1.0";
package/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "1.0.2";
4
+ exports.SDK_VERSION = "1.1.0";
@@ -23,28 +23,12 @@ import * as Extend from "../../api";
23
23
  * }
24
24
  * ```
25
25
  */
26
- export interface TypedExtractConfig<T extends z.ZodRawShape> {
26
+ export interface TypedExtractConfig<T extends z.ZodRawShape> extends Omit<Extend.ExtractConfigJson, "schema"> {
27
27
  /**
28
28
  * Zod object schema defining the data to extract.
29
29
  * The extraction output will be fully typed based on this schema.
30
30
  */
31
31
  schema: z.ZodObject<T>;
32
- /**
33
- * The base processor to use. For extractors, this can be either `"extraction_performance"` or `"extraction_light"`.
34
- * Defaults to `"extraction_performance"` if not provided.
35
- */
36
- baseProcessor?: Extend.ExtractConfigJsonBaseProcessor;
37
- /**
38
- * The version of the `"extraction_performance"` or `"extraction_light"` processor to use.
39
- * If not provided, the latest stable version for the selected `baseProcessor` will be used automatically.
40
- */
41
- baseVersion?: string;
42
- /** Custom rules to guide the extraction process in natural language. */
43
- extractionRules?: string;
44
- /** Advanced configuration options. */
45
- advancedOptions?: Extend.ExtractAdvancedOptions;
46
- /** Configuration options for the parsing process. */
47
- parseConfig?: Extend.ParseConfig;
48
32
  }
49
33
  /**
50
34
  * Type guard to check if a value is a ZodObject.
@@ -5,6 +5,17 @@
5
5
  * Used by ExtendClient.extract(), ExtractRunsClient.createAndPoll(),
6
6
  * ExtractorsClient.create()/update(), and ExtractorVersionsClient.create().
7
7
  */
8
+ var __rest = (this && this.__rest) || function (s, e) {
9
+ var t = {};
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
11
+ t[p] = s[p];
12
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
13
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
14
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
15
+ t[p[i]] = s[p[i]];
16
+ }
17
+ return t;
18
+ };
8
19
  Object.defineProperty(exports, "__esModule", { value: true });
9
20
  exports.isZodObject = isZodObject;
10
21
  exports.isTypedConfig = isTypedConfig;
@@ -31,13 +42,7 @@ function isTypedConfig(config) {
31
42
  */
32
43
  function convertTypedConfigToApiConfig(config) {
33
44
  // Convert zod schema to JSON schema at call time
34
- const jsonSchema = (0, zodToExtendSchema_1.zodToExtendSchema)(config.schema);
35
- return {
36
- baseProcessor: config.baseProcessor,
37
- baseVersion: config.baseVersion,
38
- extractionRules: config.extractionRules,
39
- advancedOptions: config.advancedOptions,
40
- parseConfig: config.parseConfig,
41
- schema: jsonSchema,
42
- };
45
+ const { schema } = config, rest = __rest(config, ["schema"]);
46
+ const jsonSchema = (0, zodToExtendSchema_1.zodToExtendSchema)(schema);
47
+ return Object.assign(Object.assign({}, rest), { schema: jsonSchema });
43
48
  }