extend-ai 1.9.0 → 1.10.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 (53) hide show
  1. package/BaseClient.js +2 -2
  2. package/Client.d.ts +3 -0
  3. package/Client.js +43 -38
  4. package/api/resources/editTemplates/client/Client.d.ts +38 -0
  5. package/api/resources/editTemplates/client/Client.js +137 -0
  6. package/api/resources/editTemplates/client/index.d.ts +1 -0
  7. package/api/resources/editTemplates/client/index.js +17 -0
  8. package/api/resources/editTemplates/client/requests/EditTemplatesRetrieveRequest.d.ts +8 -0
  9. package/api/resources/editTemplates/client/requests/EditTemplatesRetrieveRequest.js +3 -0
  10. package/api/resources/editTemplates/client/requests/index.d.ts +1 -0
  11. package/api/resources/editTemplates/client/requests/index.js +2 -0
  12. package/api/resources/editTemplates/index.d.ts +1 -0
  13. package/api/resources/editTemplates/index.js +17 -0
  14. package/api/resources/index.d.ts +2 -0
  15. package/api/resources/index.js +3 -1
  16. package/api/resources/parseRuns/client/Client.d.ts +1 -1
  17. package/api/resources/parseRuns/client/Client.js +4 -2
  18. package/api/resources/parseRuns/client/requests/ParseRunsListRequest.d.ts +8 -0
  19. package/api/resources/webhookEndpoints/client/Client.d.ts +1 -1
  20. package/api/resources/webhookEndpoints/client/Client.js +1 -1
  21. package/api/resources/webhookEndpoints/client/requests/WebhookEndpointsCreateRequest.d.ts +1 -1
  22. package/api/types/ApiVersionEnum.d.ts +1 -9
  23. package/api/types/ApiVersionEnum.js +0 -9
  24. package/api/types/ClassifyRun.d.ts +2 -4
  25. package/api/types/ClassifyRunSummary.d.ts +3 -5
  26. package/api/types/EditConfigAdvancedOptions.d.ts +1 -1
  27. package/api/types/EditRun.d.ts +1 -1
  28. package/api/types/EditTemplate.d.ts +26 -0
  29. package/api/types/EditTemplate.js +3 -0
  30. package/api/types/ExtractAdvancedOptions.d.ts +2 -0
  31. package/api/types/ExtractRun.d.ts +2 -2
  32. package/api/types/ExtractRunSummary.d.ts +3 -3
  33. package/api/types/ParseRun.d.ts +1 -1
  34. package/api/types/ParseRunSource.d.ts +20 -0
  35. package/api/types/ParseRunSource.js +23 -0
  36. package/api/types/ParseRunStatus.d.ts +6 -0
  37. package/api/types/RunUsage.d.ts +14 -1
  38. package/api/types/RunUsageBreakdownEntry.d.ts +12 -0
  39. package/api/types/RunUsageBreakdownEntry.js +3 -0
  40. package/api/types/RunUsageBreakdownEntryObject.d.ts +9 -0
  41. package/api/types/RunUsageBreakdownEntryObject.js +12 -0
  42. package/api/types/RunUsageSummary.d.ts +19 -0
  43. package/api/types/RunUsageSummary.js +3 -0
  44. package/api/types/SplitRun.d.ts +2 -2
  45. package/api/types/SplitRunSummary.d.ts +3 -3
  46. package/api/types/WorkflowRun.d.ts +5 -0
  47. package/api/types/WorkflowRunSummary.d.ts +6 -1
  48. package/api/types/index.d.ts +5 -0
  49. package/api/types/index.js +5 -0
  50. package/package.json +1 -1
  51. package/reference.md +80 -2
  52. package/version.d.ts +1 -1
  53. package/version.js +1 -1
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.9.0",
48
- "User-Agent": "extend-ai/1.9.0",
47
+ "X-Fern-SDK-Version": "1.10.0",
48
+ "User-Agent": "extend-ai/1.10.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
@@ -6,6 +6,7 @@ import { ClassifierVersionsClient } from "./api/resources/classifierVersions/cli
6
6
  import { ClassifyRunsClient } from "./api/resources/classifyRuns/client/Client";
7
7
  import { EditRunsClient } from "./api/resources/editRuns/client/Client";
8
8
  import { EditSchemasClient } from "./api/resources/editSchemas/client/Client";
9
+ import { EditTemplatesClient } from "./api/resources/editTemplates/client/Client";
9
10
  import { EvaluationSetItemsClient } from "./api/resources/evaluationSetItems/client/Client";
10
11
  import { EvaluationSetRunsClient } from "./api/resources/evaluationSetRuns/client/Client";
11
12
  import { EvaluationSetsClient } from "./api/resources/evaluationSets/client/Client";
@@ -38,6 +39,7 @@ export declare class ExtendClient {
38
39
  protected _files: FilesClient | undefined;
39
40
  protected _parseRuns: ParseRunsClient | undefined;
40
41
  protected _editRuns: EditRunsClient | undefined;
42
+ protected _editTemplates: EditTemplatesClient | undefined;
41
43
  protected _editSchemas: EditSchemasClient | undefined;
42
44
  protected _extractRuns: ExtractRunsClient | undefined;
43
45
  protected _extractors: ExtractorsClient | undefined;
@@ -65,6 +67,7 @@ export declare class ExtendClient {
65
67
  get files(): FilesClient;
66
68
  get parseRuns(): ParseRunsClient;
67
69
  get editRuns(): EditRunsClient;
70
+ get editTemplates(): EditTemplatesClient;
68
71
  get editSchemas(): EditSchemasClient;
69
72
  get extractRuns(): ExtractRunsClient;
70
73
  get extractors(): ExtractorsClient;
package/Client.js CHANGED
@@ -63,25 +63,26 @@ const Client_4 = require("./api/resources/classifierVersions/client/Client");
63
63
  const Client_5 = require("./api/resources/classifyRuns/client/Client");
64
64
  const Client_6 = require("./api/resources/editRuns/client/Client");
65
65
  const Client_7 = require("./api/resources/editSchemas/client/Client");
66
- const Client_8 = require("./api/resources/evaluationSetItems/client/Client");
67
- const Client_9 = require("./api/resources/evaluationSetRuns/client/Client");
68
- const Client_10 = require("./api/resources/evaluationSets/client/Client");
69
- const Client_11 = require("./api/resources/extractors/client/Client");
70
- const Client_12 = require("./api/resources/extractorVersions/client/Client");
71
- const Client_13 = require("./api/resources/extractRuns/client/Client");
72
- const Client_14 = require("./api/resources/files/client/Client");
73
- const Client_15 = require("./api/resources/parseRuns/client/Client");
74
- const Client_16 = require("./api/resources/processor/client/Client");
75
- const Client_17 = require("./api/resources/processorRun/client/Client");
76
- const Client_18 = require("./api/resources/processorVersion/client/Client");
77
- const Client_19 = require("./api/resources/splitRuns/client/Client");
78
- const Client_20 = require("./api/resources/splitters/client/Client");
79
- const Client_21 = require("./api/resources/splitterVersions/client/Client");
80
- const Client_22 = require("./api/resources/webhookEndpoints/client/Client");
81
- const Client_23 = require("./api/resources/webhookSubscriptions/client/Client");
82
- const Client_24 = require("./api/resources/workflowRuns/client/Client");
83
- const Client_25 = require("./api/resources/workflows/client/Client");
84
- const Client_26 = require("./api/resources/workflowVersions/client/Client");
66
+ const Client_8 = require("./api/resources/editTemplates/client/Client");
67
+ const Client_9 = require("./api/resources/evaluationSetItems/client/Client");
68
+ const Client_10 = require("./api/resources/evaluationSetRuns/client/Client");
69
+ const Client_11 = require("./api/resources/evaluationSets/client/Client");
70
+ const Client_12 = require("./api/resources/extractors/client/Client");
71
+ const Client_13 = require("./api/resources/extractorVersions/client/Client");
72
+ const Client_14 = require("./api/resources/extractRuns/client/Client");
73
+ const Client_15 = require("./api/resources/files/client/Client");
74
+ const Client_16 = require("./api/resources/parseRuns/client/Client");
75
+ const Client_17 = require("./api/resources/processor/client/Client");
76
+ const Client_18 = require("./api/resources/processorRun/client/Client");
77
+ const Client_19 = require("./api/resources/processorVersion/client/Client");
78
+ const Client_20 = require("./api/resources/splitRuns/client/Client");
79
+ const Client_21 = require("./api/resources/splitters/client/Client");
80
+ const Client_22 = require("./api/resources/splitterVersions/client/Client");
81
+ const Client_23 = require("./api/resources/webhookEndpoints/client/Client");
82
+ const Client_24 = require("./api/resources/webhookSubscriptions/client/Client");
83
+ const Client_25 = require("./api/resources/workflowRuns/client/Client");
84
+ const Client_26 = require("./api/resources/workflows/client/Client");
85
+ const Client_27 = require("./api/resources/workflowVersions/client/Client");
85
86
  const BaseClient_1 = require("./BaseClient");
86
87
  const core = __importStar(require("./core"));
87
88
  const headers_1 = require("./core/headers");
@@ -94,31 +95,35 @@ class ExtendClient {
94
95
  }
95
96
  get files() {
96
97
  var _a;
97
- return ((_a = this._files) !== null && _a !== void 0 ? _a : (this._files = new Client_14.FilesClient(this._options)));
98
+ return ((_a = this._files) !== null && _a !== void 0 ? _a : (this._files = new Client_15.FilesClient(this._options)));
98
99
  }
99
100
  get parseRuns() {
100
101
  var _a;
101
- return ((_a = this._parseRuns) !== null && _a !== void 0 ? _a : (this._parseRuns = new Client_15.ParseRunsClient(this._options)));
102
+ return ((_a = this._parseRuns) !== null && _a !== void 0 ? _a : (this._parseRuns = new Client_16.ParseRunsClient(this._options)));
102
103
  }
103
104
  get editRuns() {
104
105
  var _a;
105
106
  return ((_a = this._editRuns) !== null && _a !== void 0 ? _a : (this._editRuns = new Client_6.EditRunsClient(this._options)));
106
107
  }
108
+ get editTemplates() {
109
+ var _a;
110
+ return ((_a = this._editTemplates) !== null && _a !== void 0 ? _a : (this._editTemplates = new Client_8.EditTemplatesClient(this._options)));
111
+ }
107
112
  get editSchemas() {
108
113
  var _a;
109
114
  return ((_a = this._editSchemas) !== null && _a !== void 0 ? _a : (this._editSchemas = new Client_7.EditSchemasClient(this._options)));
110
115
  }
111
116
  get extractRuns() {
112
117
  var _a;
113
- return ((_a = this._extractRuns) !== null && _a !== void 0 ? _a : (this._extractRuns = new Client_13.ExtractRunsClient(this._options)));
118
+ return ((_a = this._extractRuns) !== null && _a !== void 0 ? _a : (this._extractRuns = new Client_14.ExtractRunsClient(this._options)));
114
119
  }
115
120
  get extractors() {
116
121
  var _a;
117
- return ((_a = this._extractors) !== null && _a !== void 0 ? _a : (this._extractors = new Client_11.ExtractorsClient(this._options)));
122
+ return ((_a = this._extractors) !== null && _a !== void 0 ? _a : (this._extractors = new Client_12.ExtractorsClient(this._options)));
118
123
  }
119
124
  get extractorVersions() {
120
125
  var _a;
121
- return ((_a = this._extractorVersions) !== null && _a !== void 0 ? _a : (this._extractorVersions = new Client_12.ExtractorVersionsClient(this._options)));
126
+ return ((_a = this._extractorVersions) !== null && _a !== void 0 ? _a : (this._extractorVersions = new Client_13.ExtractorVersionsClient(this._options)));
122
127
  }
123
128
  get classifyRuns() {
124
129
  var _a;
@@ -134,39 +139,39 @@ class ExtendClient {
134
139
  }
135
140
  get splitRuns() {
136
141
  var _a;
137
- return ((_a = this._splitRuns) !== null && _a !== void 0 ? _a : (this._splitRuns = new Client_19.SplitRunsClient(this._options)));
142
+ return ((_a = this._splitRuns) !== null && _a !== void 0 ? _a : (this._splitRuns = new Client_20.SplitRunsClient(this._options)));
138
143
  }
139
144
  get splitters() {
140
145
  var _a;
141
- return ((_a = this._splitters) !== null && _a !== void 0 ? _a : (this._splitters = new Client_20.SplittersClient(this._options)));
146
+ return ((_a = this._splitters) !== null && _a !== void 0 ? _a : (this._splitters = new Client_21.SplittersClient(this._options)));
142
147
  }
143
148
  get splitterVersions() {
144
149
  var _a;
145
- return ((_a = this._splitterVersions) !== null && _a !== void 0 ? _a : (this._splitterVersions = new Client_21.SplitterVersionsClient(this._options)));
150
+ return ((_a = this._splitterVersions) !== null && _a !== void 0 ? _a : (this._splitterVersions = new Client_22.SplitterVersionsClient(this._options)));
146
151
  }
147
152
  get workflows() {
148
153
  var _a;
149
- return ((_a = this._workflows) !== null && _a !== void 0 ? _a : (this._workflows = new Client_25.WorkflowsClient(this._options)));
154
+ return ((_a = this._workflows) !== null && _a !== void 0 ? _a : (this._workflows = new Client_26.WorkflowsClient(this._options)));
150
155
  }
151
156
  get workflowVersions() {
152
157
  var _a;
153
- return ((_a = this._workflowVersions) !== null && _a !== void 0 ? _a : (this._workflowVersions = new Client_26.WorkflowVersionsClient(this._options)));
158
+ return ((_a = this._workflowVersions) !== null && _a !== void 0 ? _a : (this._workflowVersions = new Client_27.WorkflowVersionsClient(this._options)));
154
159
  }
155
160
  get workflowRuns() {
156
161
  var _a;
157
- return ((_a = this._workflowRuns) !== null && _a !== void 0 ? _a : (this._workflowRuns = new Client_24.WorkflowRunsClient(this._options)));
162
+ return ((_a = this._workflowRuns) !== null && _a !== void 0 ? _a : (this._workflowRuns = new Client_25.WorkflowRunsClient(this._options)));
158
163
  }
159
164
  get processorRun() {
160
165
  var _a;
161
- return ((_a = this._processorRun) !== null && _a !== void 0 ? _a : (this._processorRun = new Client_17.ProcessorRunClient(this._options)));
166
+ return ((_a = this._processorRun) !== null && _a !== void 0 ? _a : (this._processorRun = new Client_18.ProcessorRunClient(this._options)));
162
167
  }
163
168
  get processor() {
164
169
  var _a;
165
- return ((_a = this._processor) !== null && _a !== void 0 ? _a : (this._processor = new Client_16.ProcessorClient(this._options)));
170
+ return ((_a = this._processor) !== null && _a !== void 0 ? _a : (this._processor = new Client_17.ProcessorClient(this._options)));
166
171
  }
167
172
  get processorVersion() {
168
173
  var _a;
169
- return ((_a = this._processorVersion) !== null && _a !== void 0 ? _a : (this._processorVersion = new Client_18.ProcessorVersionClient(this._options)));
174
+ return ((_a = this._processorVersion) !== null && _a !== void 0 ? _a : (this._processorVersion = new Client_19.ProcessorVersionClient(this._options)));
170
175
  }
171
176
  get batchProcessorRun() {
172
177
  var _a;
@@ -178,23 +183,23 @@ class ExtendClient {
178
183
  }
179
184
  get evaluationSets() {
180
185
  var _a;
181
- return ((_a = this._evaluationSets) !== null && _a !== void 0 ? _a : (this._evaluationSets = new Client_10.EvaluationSetsClient(this._options)));
186
+ return ((_a = this._evaluationSets) !== null && _a !== void 0 ? _a : (this._evaluationSets = new Client_11.EvaluationSetsClient(this._options)));
182
187
  }
183
188
  get evaluationSetItems() {
184
189
  var _a;
185
- return ((_a = this._evaluationSetItems) !== null && _a !== void 0 ? _a : (this._evaluationSetItems = new Client_8.EvaluationSetItemsClient(this._options)));
190
+ return ((_a = this._evaluationSetItems) !== null && _a !== void 0 ? _a : (this._evaluationSetItems = new Client_9.EvaluationSetItemsClient(this._options)));
186
191
  }
187
192
  get evaluationSetRuns() {
188
193
  var _a;
189
- return ((_a = this._evaluationSetRuns) !== null && _a !== void 0 ? _a : (this._evaluationSetRuns = new Client_9.EvaluationSetRunsClient(this._options)));
194
+ return ((_a = this._evaluationSetRuns) !== null && _a !== void 0 ? _a : (this._evaluationSetRuns = new Client_10.EvaluationSetRunsClient(this._options)));
190
195
  }
191
196
  get webhookEndpoints() {
192
197
  var _a;
193
- return ((_a = this._webhookEndpoints) !== null && _a !== void 0 ? _a : (this._webhookEndpoints = new Client_22.WebhookEndpointsClient(this._options)));
198
+ return ((_a = this._webhookEndpoints) !== null && _a !== void 0 ? _a : (this._webhookEndpoints = new Client_23.WebhookEndpointsClient(this._options)));
194
199
  }
195
200
  get webhookSubscriptions() {
196
201
  var _a;
197
- return ((_a = this._webhookSubscriptions) !== null && _a !== void 0 ? _a : (this._webhookSubscriptions = new Client_23.WebhookSubscriptionsClient(this._options)));
202
+ return ((_a = this._webhookSubscriptions) !== null && _a !== void 0 ? _a : (this._webhookSubscriptions = new Client_24.WebhookSubscriptionsClient(this._options)));
198
203
  }
199
204
  /**
200
205
  * 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.
@@ -0,0 +1,38 @@
1
+ import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient";
2
+ import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient";
3
+ import * as core from "../../../../core";
4
+ import * as Extend from "../../../index";
5
+ export declare namespace EditTemplatesClient {
6
+ type Options = BaseClientOptions;
7
+ interface RequestOptions extends BaseRequestOptions {
8
+ }
9
+ }
10
+ export declare class EditTemplatesClient {
11
+ protected readonly _options: NormalizedClientOptionsWithAuth<EditTemplatesClient.Options>;
12
+ constructor(options: EditTemplatesClient.Options);
13
+ /**
14
+ * Retrieve a saved edit template by ID.
15
+ *
16
+ * Use this endpoint to inspect the source file, default edit configuration, and optional schema generation configuration saved on an edit template. You can reuse the returned `config` with `POST /edit` or `POST /edit_runs`, and reuse `schemaConfig` with `POST /edit_schemas/generate`.
17
+ *
18
+ * @param {string} id - The unique identifier for the edit template.
19
+ *
20
+ * Example: `"edt_xK9mLPqRtN3vS8wF5hB2cQ"`
21
+ * @param {Extend.EditTemplatesRetrieveRequest} request
22
+ * @param {EditTemplatesClient.RequestOptions} requestOptions - Request-specific configuration.
23
+ *
24
+ * @throws {@link Extend.BadRequestError}
25
+ * @throws {@link Extend.UnauthorizedError}
26
+ * @throws {@link Extend.PaymentRequiredError}
27
+ * @throws {@link Extend.ForbiddenError}
28
+ * @throws {@link Extend.NotFoundError}
29
+ * @throws {@link Extend.UnprocessableEntityError}
30
+ * @throws {@link Extend.TooManyRequestsError}
31
+ * @throws {@link Extend.InternalServerError}
32
+ *
33
+ * @example
34
+ * await client.editTemplates.retrieve("edit_template_id_here")
35
+ */
36
+ retrieve(id: string, request?: Extend.EditTemplatesRetrieveRequest, requestOptions?: EditTemplatesClient.RequestOptions): core.HttpResponsePromise<Extend.EditTemplate>;
37
+ private __retrieve;
38
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.EditTemplatesClient = void 0;
47
+ const BaseClient_1 = require("../../../../BaseClient");
48
+ const core = __importStar(require("../../../../core"));
49
+ const headers_1 = require("../../../../core/headers");
50
+ const environments = __importStar(require("../../../../environments"));
51
+ const handleNonStatusCodeError_1 = require("../../../../errors/handleNonStatusCodeError");
52
+ const errors = __importStar(require("../../../../errors/index"));
53
+ const Extend = __importStar(require("../../../index"));
54
+ class EditTemplatesClient {
55
+ constructor(options) {
56
+ this._options = (0, BaseClient_1.normalizeClientOptionsWithAuth)(options);
57
+ }
58
+ /**
59
+ * Retrieve a saved edit template by ID.
60
+ *
61
+ * Use this endpoint to inspect the source file, default edit configuration, and optional schema generation configuration saved on an edit template. You can reuse the returned `config` with `POST /edit` or `POST /edit_runs`, and reuse `schemaConfig` with `POST /edit_schemas/generate`.
62
+ *
63
+ * @param {string} id - The unique identifier for the edit template.
64
+ *
65
+ * Example: `"edt_xK9mLPqRtN3vS8wF5hB2cQ"`
66
+ * @param {Extend.EditTemplatesRetrieveRequest} request
67
+ * @param {EditTemplatesClient.RequestOptions} requestOptions - Request-specific configuration.
68
+ *
69
+ * @throws {@link Extend.BadRequestError}
70
+ * @throws {@link Extend.UnauthorizedError}
71
+ * @throws {@link Extend.PaymentRequiredError}
72
+ * @throws {@link Extend.ForbiddenError}
73
+ * @throws {@link Extend.NotFoundError}
74
+ * @throws {@link Extend.UnprocessableEntityError}
75
+ * @throws {@link Extend.TooManyRequestsError}
76
+ * @throws {@link Extend.InternalServerError}
77
+ *
78
+ * @example
79
+ * await client.editTemplates.retrieve("edit_template_id_here")
80
+ */
81
+ retrieve(id, request = {}, requestOptions) {
82
+ return core.HttpResponsePromise.fromPromise(this.__retrieve(id, request, requestOptions));
83
+ }
84
+ __retrieve(id_1) {
85
+ return __awaiter(this, arguments, void 0, function* (id, request = {}, requestOptions) {
86
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
87
+ const { "x-extend-workspace-id": extendWorkspaceId } = request;
88
+ const _authRequest = yield this._options.authProvider.getAuthRequest();
89
+ const _headers = (0, headers_1.mergeHeaders)(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, (0, headers_1.mergeOnlyDefinedHeaders)({
90
+ "x-extend-workspace-id": extendWorkspaceId,
91
+ "x-extend-api-version": (_b = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.extendApiVersion) !== null && _b !== void 0 ? _b : "2026-02-09",
92
+ }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
93
+ const _response = yield ((_c = this._options.fetcher) !== null && _c !== void 0 ? _c : core.fetcher)({
94
+ url: core.url.join((_e = (_d = (yield core.Supplier.get(this._options.baseUrl))) !== null && _d !== void 0 ? _d : (yield core.Supplier.get(this._options.environment))) !== null && _e !== void 0 ? _e : environments.ExtendEnvironment.Production, `edit_templates/${core.url.encodePathParam(id)}`),
95
+ method: "GET",
96
+ headers: _headers,
97
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
98
+ timeoutMs: ((_h = (_f = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _f !== void 0 ? _f : (_g = this._options) === null || _g === void 0 ? void 0 : _g.timeoutInSeconds) !== null && _h !== void 0 ? _h : 300) * 1000,
99
+ maxRetries: (_j = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _j !== void 0 ? _j : (_k = this._options) === null || _k === void 0 ? void 0 : _k.maxRetries,
100
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
101
+ fetchFn: (_l = this._options) === null || _l === void 0 ? void 0 : _l.fetch,
102
+ logging: this._options.logging,
103
+ });
104
+ if (_response.ok) {
105
+ return { data: _response.body, rawResponse: _response.rawResponse };
106
+ }
107
+ if (_response.error.reason === "status-code") {
108
+ switch (_response.error.statusCode) {
109
+ case 400:
110
+ throw new Extend.BadRequestError(_response.error.body, _response.rawResponse);
111
+ case 401:
112
+ throw new Extend.UnauthorizedError(_response.error.body, _response.rawResponse);
113
+ case 402:
114
+ throw new Extend.PaymentRequiredError(_response.error.body, _response.rawResponse);
115
+ case 403:
116
+ throw new Extend.ForbiddenError(_response.error.body, _response.rawResponse);
117
+ case 404:
118
+ throw new Extend.NotFoundError(_response.error.body, _response.rawResponse);
119
+ case 422:
120
+ throw new Extend.UnprocessableEntityError(_response.error.body, _response.rawResponse);
121
+ case 429:
122
+ throw new Extend.TooManyRequestsError(_response.error.body, _response.rawResponse);
123
+ case 500:
124
+ throw new Extend.InternalServerError(_response.error.body, _response.rawResponse);
125
+ default:
126
+ throw new errors.ExtendError({
127
+ statusCode: _response.error.statusCode,
128
+ body: _response.error.body,
129
+ rawResponse: _response.rawResponse,
130
+ });
131
+ }
132
+ }
133
+ return (0, handleNonStatusCodeError_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/edit_templates/{id}");
134
+ });
135
+ }
136
+ }
137
+ exports.EditTemplatesClient = EditTemplatesClient;
@@ -0,0 +1 @@
1
+ export * from "./requests";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./requests"), exports);
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @example
3
+ * {}
4
+ */
5
+ export interface EditTemplatesRetrieveRequest {
6
+ /** The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2026-02-09/developers/authentication) for details on API key scopes. */
7
+ "x-extend-workspace-id"?: string;
8
+ }
@@ -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 });
@@ -0,0 +1 @@
1
+ export type { EditTemplatesRetrieveRequest } from "./EditTemplatesRetrieveRequest";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from "./client";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./client"), exports);
@@ -17,6 +17,8 @@ export * from "./editRuns/types";
17
17
  export * as editSchemas from "./editSchemas";
18
18
  export * from "./editSchemas/client/requests";
19
19
  export * from "./editSchemas/types";
20
+ export * as editTemplates from "./editTemplates";
21
+ export * from "./editTemplates/client/requests";
20
22
  export * as evaluationSetItems from "./evaluationSetItems";
21
23
  export * from "./evaluationSetItems/client/requests";
22
24
  export * from "./evaluationSetItems/types";
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.workflowVersions = exports.workflows = exports.workflowRuns = exports.webhookSubscriptions = exports.webhookEndpoints = exports.splitterVersions = exports.splitters = exports.splitRuns = exports.processorVersion = exports.processorRun = exports.processor = exports.parseRuns = exports.files = exports.extractRuns = exports.extractorVersions = exports.extractors = exports.evaluationSets = exports.evaluationSetRuns = exports.evaluationSetItems = exports.editSchemas = exports.editRuns = exports.classifyRuns = exports.classifierVersions = exports.classifiers = exports.batchRuns = exports.batchProcessorRun = void 0;
39
+ exports.workflowVersions = exports.workflows = exports.workflowRuns = exports.webhookSubscriptions = exports.webhookEndpoints = exports.splitterVersions = exports.splitters = exports.splitRuns = exports.processorVersion = exports.processorRun = exports.processor = exports.parseRuns = exports.files = exports.extractRuns = exports.extractorVersions = exports.extractors = exports.evaluationSets = exports.evaluationSetRuns = exports.evaluationSetItems = exports.editTemplates = exports.editSchemas = exports.editRuns = exports.classifyRuns = exports.classifierVersions = exports.classifiers = exports.batchRuns = exports.batchProcessorRun = void 0;
40
40
  exports.batchProcessorRun = __importStar(require("./batchProcessorRun"));
41
41
  __exportStar(require("./batchProcessorRun/client/requests"), exports);
42
42
  __exportStar(require("./batchProcessorRun/types"), exports);
@@ -56,6 +56,8 @@ __exportStar(require("./editRuns/types"), exports);
56
56
  exports.editSchemas = __importStar(require("./editSchemas"));
57
57
  __exportStar(require("./editSchemas/client/requests"), exports);
58
58
  __exportStar(require("./editSchemas/types"), exports);
59
+ exports.editTemplates = __importStar(require("./editTemplates"));
60
+ __exportStar(require("./editTemplates/client/requests"), exports);
59
61
  exports.evaluationSetItems = __importStar(require("./evaluationSetItems"));
60
62
  __exportStar(require("./evaluationSetItems/client/requests"), exports);
61
63
  __exportStar(require("./evaluationSetItems/types"), exports);
@@ -11,7 +11,7 @@ export declare class ParseRunsClient {
11
11
  protected readonly _options: NormalizedClientOptionsWithAuth<ParseRunsClient.Options>;
12
12
  constructor(options: ParseRunsClient.Options);
13
13
  /**
14
- * List parse runs, with optional filters for status, batch ID, and file name.
14
+ * List parse runs, with optional filters for status, batch ID, source, and file name.
15
15
  *
16
16
  * Returns a paginated list of parse runs. Use `GET /parse_runs/{id}` to retrieve the full result including output for a specific run.
17
17
  *
@@ -56,7 +56,7 @@ class ParseRunsClient {
56
56
  this._options = (0, BaseClient_1.normalizeClientOptionsWithAuth)(options);
57
57
  }
58
58
  /**
59
- * List parse runs, with optional filters for status, batch ID, and file name.
59
+ * List parse runs, with optional filters for status, batch ID, source, and file name.
60
60
  *
61
61
  * Returns a paginated list of parse runs. Use `GET /parse_runs/{id}` to retrieve the full result including output for a specific run.
62
62
  *
@@ -83,10 +83,12 @@ class ParseRunsClient {
83
83
  __list() {
84
84
  return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
85
85
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
86
- const { status, batchId, fileNameContains, nextPageToken, maxPageSize, "x-extend-workspace-id": extendWorkspaceId, } = request;
86
+ const { status, batchId, source, sourceId, fileNameContains, nextPageToken, maxPageSize, "x-extend-workspace-id": extendWorkspaceId, } = request;
87
87
  const _queryParams = {
88
88
  status: status != null ? status : undefined,
89
89
  batchId,
90
+ source: source != null ? source : undefined,
91
+ sourceId,
90
92
  fileNameContains,
91
93
  nextPageToken,
92
94
  maxPageSize,
@@ -14,6 +14,14 @@ export interface ParseRunsListRequest {
14
14
  * Example: `"bpar_Xj8mK2pL9nR4vT7qY5wZ"`
15
15
  */
16
16
  batchId?: string;
17
+ /**
18
+ * Filters parse runs by the source that created them. If not provided, runs from all sources are returned.
19
+ *
20
+ * **Note:** When `batchId` is provided, it takes precedence and this filter is ignored.
21
+ */
22
+ source?: Extend.ParseRunSource;
23
+ /** Filters runs by the source ID. */
24
+ sourceId?: Extend.RunSourceId;
17
25
  /**
18
26
  * Filters runs by the name of the file. Only returns runs where the file name contains this string.
19
27
  *
@@ -56,7 +56,7 @@ export declare class WebhookEndpointsClient {
56
56
  * url: "https://example.com/webhooks",
57
57
  * name: "Production webhook",
58
58
  * enabledEvents: ["extract_run.processed", "workflow.created"],
59
- * apiVersion: "2026-02-09"
59
+ * apiVersion: "apiVersion"
60
60
  * })
61
61
  */
62
62
  create(request: Extend.WebhookEndpointsCreateRequest, requestOptions?: WebhookEndpointsClient.RequestOptions): core.HttpResponsePromise<Extend.WebhookEndpointCreate>;
@@ -171,7 +171,7 @@ class WebhookEndpointsClient {
171
171
  * url: "https://example.com/webhooks",
172
172
  * name: "Production webhook",
173
173
  * enabledEvents: ["extract_run.processed", "workflow.created"],
174
- * apiVersion: "2026-02-09"
174
+ * apiVersion: "apiVersion"
175
175
  * })
176
176
  */
177
177
  create(request, requestOptions) {
@@ -5,7 +5,7 @@ import type * as Extend from "../../../../index";
5
5
  * url: "https://example.com/webhooks",
6
6
  * name: "Production webhook",
7
7
  * enabledEvents: ["extract_run.processed", "workflow.created"],
8
- * apiVersion: "2026-02-09"
8
+ * apiVersion: "apiVersion"
9
9
  * }
10
10
  */
11
11
  export interface WebhookEndpointsCreateRequest {
@@ -1,9 +1 @@
1
- export declare const ApiVersionEnum: {
2
- readonly TwoThousandTwentySix0209: "2026-02-09";
3
- readonly TwoThousandTwentyFive0421: "2025-04-21";
4
- readonly TwoThousandTwentyFour1223: "2024-12-23";
5
- readonly TwoThousandTwentyFour1114: "2024-11-14";
6
- readonly TwoThousandTwentyFour0730: "2024-07-30";
7
- readonly TwoThousandTwentyFour0201: "2024-02-01";
8
- };
9
- export type ApiVersionEnum = (typeof ApiVersionEnum)[keyof typeof ApiVersionEnum] | string;
1
+ export type ApiVersionEnum = string;
@@ -1,12 +1,3 @@
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.ApiVersionEnum = void 0;
5
- exports.ApiVersionEnum = {
6
- TwoThousandTwentySix0209: "2026-02-09",
7
- TwoThousandTwentyFive0421: "2025-04-21",
8
- TwoThousandTwentyFour1223: "2024-12-23",
9
- TwoThousandTwentyFour1114: "2024-11-14",
10
- TwoThousandTwentyFour0730: "2024-07-30",
11
- TwoThousandTwentyFour0201: "2024-02-01",
12
- };
@@ -90,11 +90,9 @@ export interface ClassifyRun {
90
90
  /** The URL to view the classify run in the Extend dashboard. */
91
91
  dashboardUrl: string;
92
92
  /**
93
- * Usage credits consumed by this run.
93
+ * Usage credits consumed by this classify run.
94
94
  *
95
- * **Availability:** This field will not be returned for:
96
- * * Runs created before October 7, 2025
97
- * * Customers on legacy billing systems
95
+ * **Availability:** Present when `status` is `"PROCESSED"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
98
96
  */
99
97
  usage: Extend.RunUsage | null;
100
98
  createdAt: Extend.CreatedAt;
@@ -53,13 +53,11 @@ export interface ClassifyRunSummary {
53
53
  /** The URL to view the classify run in the Extend dashboard. */
54
54
  dashboardUrl: string;
55
55
  /**
56
- * Usage credits consumed by this run.
56
+ * Usage credits consumed by this classify run. Omits `breakdown` — fetch the full classify run by id to see the per-line items.
57
57
  *
58
- * **Availability:** This field will not be returned for:
59
- * * Runs created before October 7, 2025
60
- * * Customers on legacy billing systems
58
+ * **Availability:** Present when `status` is `"PROCESSED"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
61
59
  */
62
- usage: Extend.RunUsage | null;
60
+ usage: Extend.RunUsageSummary | null;
63
61
  createdAt: Extend.CreatedAt;
64
62
  updatedAt: Extend.UpdatedAt;
65
63
  }
@@ -4,7 +4,7 @@
4
4
  export interface EditConfigAdvancedOptions {
5
5
  /** Whether to parse table regions as arrays of objects. Defaults to `false`. */
6
6
  tableParsingEnabled?: boolean;
7
- /** Whether to flatten the PDF (form widgets will not be editable with a PDF edit). Defaults to `true`. */
7
+ /** Whether to flatten PDF forms after editing (makes form fields non-editable). Defaults to `true`. */
8
8
  flattenPdf?: boolean;
9
9
  /** Whether to model radio fields as enums. This ensures only one radio widget is filled. Defaults to false. */
10
10
  radioEnumsEnabled?: boolean;
@@ -62,7 +62,7 @@ export interface EditRun {
62
62
  */
63
63
  metrics: Extend.EditRunMetrics | null;
64
64
  /**
65
- * Usage credits consumed by this run.
65
+ * Usage credits consumed by this edit run.
66
66
  *
67
67
  * **Availability:** Present when `status` is `"PROCESSED"`, the run was created after October 7, 2025, and the customer is on the current billing system.
68
68
  */
@@ -0,0 +1,26 @@
1
+ import type * as Extend from "../index";
2
+ /**
3
+ * A saved edit template. Edit templates contain a source file, default edit configuration, and optional schema generation configuration that can be reused for edit runs.
4
+ */
5
+ export interface EditTemplate {
6
+ /** The type of object. Will always be `"edit_template"`. */
7
+ object: "edit_template";
8
+ /**
9
+ * A unique identifier for the edit template.
10
+ *
11
+ * Example: `"edt_xK9mLPqRtN3vS8wF5hB2cQ"`
12
+ */
13
+ id: string;
14
+ /** The name of the edit template. */
15
+ name: string;
16
+ /** The description of the edit template, if one was provided. */
17
+ description: string | null;
18
+ /** The source file associated with this edit template. */
19
+ file: Extend.FileSummary;
20
+ /** Default edit configuration saved on the template. Empty when no edit configuration was saved. */
21
+ config: Extend.EditConfig;
22
+ /** Optional schema generation configuration saved on the template. */
23
+ schemaConfig: Extend.EditSchemaGenerationConfig | null;
24
+ createdAt: Extend.CreatedAt;
25
+ updatedAt: Extend.UpdatedAt;
26
+ }
@@ -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,8 @@ export interface ExtractAdvancedOptions {
6
6
  advancedMultimodalEnabled?: boolean;
7
7
  /** Whether to enable citations in the output. */
8
8
  citationsEnabled?: boolean;
9
+ /** Whether to include the current date as context for the model during extraction. Defaults to `false`. */
10
+ currentDateEnabled?: boolean;
9
11
  /** Granularity for array citations. This requires citationsEnabled=true and a base processor version that supports property-level array citations (extraction_performance ≥ 4.4.0). */
10
12
  arrayCitationStrategy?: Extend.ExtractAdvancedOptionsArrayCitationStrategy;
11
13
  /** Strategy for handling large arrays in documents. */
@@ -104,9 +104,9 @@ export interface ExtractRun {
104
104
  /** The URL to view the extract run in the Extend dashboard. */
105
105
  dashboardUrl: string;
106
106
  /**
107
- * Usage credits consumed by this run.
107
+ * Usage credits consumed by this extract run.
108
108
  *
109
- * **Availability:** Present when `status` is `"PROCESSED"`.
109
+ * **Availability:** Present when `status` is `"PROCESSED"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
110
110
  */
111
111
  usage: Extend.RunUsage | null;
112
112
  createdAt: Extend.CreatedAt;
@@ -53,11 +53,11 @@ export interface ExtractRunSummary {
53
53
  /** The URL to view the extract run in the Extend dashboard. */
54
54
  dashboardUrl: string;
55
55
  /**
56
- * Usage credits consumed by this run.
56
+ * Usage credits consumed by this extract run. Omits `breakdown` — fetch the full extract run by id to see the per-line items.
57
57
  *
58
- * **Availability:** Present when `status` is `"PROCESSED"`.
58
+ * **Availability:** Present when `status` is `"PROCESSED"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
59
59
  */
60
- usage: Extend.RunUsage | null;
60
+ usage: Extend.RunUsageSummary | null;
61
61
  createdAt: Extend.CreatedAt;
62
62
  updatedAt: Extend.UpdatedAt;
63
63
  }
@@ -79,7 +79,7 @@ export interface ParseRun {
79
79
  /** The configuration used for the parsing process, including any default values that were applied. */
80
80
  config: Extend.ParseConfig;
81
81
  /**
82
- * Usage credits consumed by this run.
82
+ * Usage credits consumed by this parse run.
83
83
  *
84
84
  * **Availability:** Present when `status` is `"PROCESSED"`, the run was created after October 7, 2025, and the customer is on the current billing system.
85
85
  */
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The source that created the parse run:
3
+ * * `"API"` - Created via API
4
+ * * `"STUDIO"` - Created from Studio
5
+ * * `"WORKFLOW_RUN"` - Created from a workflow run
6
+ * * `"ADMIN"` - Created by admin
7
+ * * `"BATCH_PARSER_RUN"` - Created from a batch parse run (via `POST /parse_runs/batch`)
8
+ * * `"EDIT_RUN"` - Created from an edit run
9
+ * * `"DOCUMENT_PROCESSOR_RUN"` - Created from a document processor run
10
+ */
11
+ export declare const ParseRunSource: {
12
+ readonly Api: "API";
13
+ readonly Studio: "STUDIO";
14
+ readonly WorkflowRun: "WORKFLOW_RUN";
15
+ readonly Admin: "ADMIN";
16
+ readonly BatchParserRun: "BATCH_PARSER_RUN";
17
+ readonly EditRun: "EDIT_RUN";
18
+ readonly DocumentProcessorRun: "DOCUMENT_PROCESSOR_RUN";
19
+ };
20
+ export type ParseRunSource = (typeof ParseRunSource)[keyof typeof ParseRunSource] | string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ParseRunSource = void 0;
5
+ /**
6
+ * The source that created the parse run:
7
+ * * `"API"` - Created via API
8
+ * * `"STUDIO"` - Created from Studio
9
+ * * `"WORKFLOW_RUN"` - Created from a workflow run
10
+ * * `"ADMIN"` - Created by admin
11
+ * * `"BATCH_PARSER_RUN"` - Created from a batch parse run (via `POST /parse_runs/batch`)
12
+ * * `"EDIT_RUN"` - Created from an edit run
13
+ * * `"DOCUMENT_PROCESSOR_RUN"` - Created from a document processor run
14
+ */
15
+ exports.ParseRunSource = {
16
+ Api: "API",
17
+ Studio: "STUDIO",
18
+ WorkflowRun: "WORKFLOW_RUN",
19
+ Admin: "ADMIN",
20
+ BatchParserRun: "BATCH_PARSER_RUN",
21
+ EditRun: "EDIT_RUN",
22
+ DocumentProcessorRun: "DOCUMENT_PROCESSOR_RUN",
23
+ };
@@ -31,4 +31,10 @@ export interface ParseRunStatus {
31
31
  * **Availability:** Present when `status` is `"FAILED"`.
32
32
  */
33
33
  failureMessage?: string | null;
34
+ /**
35
+ * Any metadata that was provided when creating the parse run.
36
+ *
37
+ * **Availability:** Present when metadata was provided during creation.
38
+ */
39
+ metadata?: Extend.RunMetadata | null;
34
40
  }
@@ -1,3 +1,4 @@
1
+ import type * as Extend from "../index";
1
2
  /**
2
3
  * Usage credits consumed by a run.
3
4
  *
@@ -8,6 +9,18 @@
8
9
  * For more details on how credits work, see our [Credits Guide](https://docs.extend.ai/2026-02-09/product/general/how-credits-work).
9
10
  */
10
11
  export interface RunUsage {
11
- /** The number of credits consumed for this run. */
12
+ /** The credits consumed by this run. For most run types this is the line item for the run's own work; for `workflow_run` this is the aggregate across all child runs. */
12
13
  credits: number;
14
+ /**
15
+ * The total credits accounted for under this run, including any other runs it was responsible for creating. For example, an extract run on a fresh upload triggers a parse run, so `totalCredits` includes both line items. For runs that didn't trigger any other work — like `parse_run`, `edit_run` and `workflow_run` — `totalCredits` equals `credits`.
16
+ *
17
+ * **Availability:** Present on runs persisted on or after May 14, 2026. Runs persisted before that date will omit this field.
18
+ */
19
+ totalCredits?: number;
20
+ /**
21
+ * The chargeable resources that make up `totalCredits`, including this run itself when it has its own line item. For `workflow_run`, lists every contributing child run sorted by creation time (the workflow itself isn't chargeable and has no line item).
22
+ *
23
+ * **Availability:** Present on runs persisted on or after May 14, 2026. Runs persisted before that date will omit this field.
24
+ */
25
+ breakdown?: Extend.RunUsageBreakdownEntry[];
13
26
  }
@@ -0,0 +1,12 @@
1
+ import type * as Extend from "../index";
2
+ /**
3
+ * One line item in a run's `usage.breakdown`. Each entry corresponds to a concrete chargeable resource that contributed credits to the parent operation.
4
+ */
5
+ export interface RunUsageBreakdownEntry {
6
+ /** The public object type of the contributing resource. Mirrors the top-level `object` field on the corresponding endpoint so callers can fetch the underlying resource by id if they want more detail. */
7
+ object: Extend.RunUsageBreakdownEntryObject;
8
+ /** The id of the contributing resource (e.g. `pr_3UZSj69pYZDKHFuuX57ic`). */
9
+ id: string;
10
+ /** Credits charged to the contributing resource. */
11
+ credits: number;
12
+ }
@@ -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 });
@@ -0,0 +1,9 @@
1
+ /** The public object type of the contributing resource. Mirrors the top-level `object` field on the corresponding endpoint so callers can fetch the underlying resource by id if they want more detail. */
2
+ export declare const RunUsageBreakdownEntryObject: {
3
+ readonly ExtractRun: "extract_run";
4
+ readonly ClassifyRun: "classify_run";
5
+ readonly SplitRun: "split_run";
6
+ readonly ParseRun: "parse_run";
7
+ readonly EditRun: "edit_run";
8
+ };
9
+ export type RunUsageBreakdownEntryObject = (typeof RunUsageBreakdownEntryObject)[keyof typeof RunUsageBreakdownEntryObject] | string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.RunUsageBreakdownEntryObject = void 0;
5
+ /** The public object type of the contributing resource. Mirrors the top-level `object` field on the corresponding endpoint so callers can fetch the underlying resource by id if they want more detail. */
6
+ exports.RunUsageBreakdownEntryObject = {
7
+ ExtractRun: "extract_run",
8
+ ClassifyRun: "classify_run",
9
+ SplitRun: "split_run",
10
+ ParseRun: "parse_run",
11
+ EditRun: "edit_run",
12
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Usage credits consumed by a run. Omits `breakdown` - fetch the full resource by id when you need the breakdown.
3
+ *
4
+ * **Availability:** This field will not be returned for:
5
+ * * Runs created before October 7, 2025
6
+ * * Customers on legacy billing systems
7
+ *
8
+ * For more details on how credits work, see our [Credits Guide](https://docs.extend.ai/2026-02-09/product/general/how-credits-work).
9
+ */
10
+ export interface RunUsageSummary {
11
+ /** The credits consumed by this run. For most run types this is the line item for the run's own work; for `workflow_run` this is the aggregate across all child runs. */
12
+ credits: number;
13
+ /**
14
+ * The total credits accounted for under this run, including any other runs it was responsible for creating. For example, an extract run on a fresh upload triggers a parse run, so `totalCredits` includes both line items. For runs that didn't trigger any other work — like `parse_run`, `edit_run`, and `workflow_run` — `totalCredits` equals `credits`.
15
+ *
16
+ * **Availability:** Present on runs persisted on or after May 14, 2026. Runs persisted before that date will omit this field.
17
+ */
18
+ totalCredits?: number;
19
+ }
@@ -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 });
@@ -90,9 +90,9 @@ export interface SplitRun {
90
90
  /** The URL to view the split run in the Extend dashboard. */
91
91
  dashboardUrl: string;
92
92
  /**
93
- * Usage credits consumed by this run.
93
+ * Usage credits consumed by this split run.
94
94
  *
95
- * **Availability:** Present when `status` is `"PROCESSED"`.
95
+ * **Availability:** Present when `status` is `"PROCESSED"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
96
96
  */
97
97
  usage: Extend.RunUsage | null;
98
98
  createdAt: Extend.CreatedAt;
@@ -53,11 +53,11 @@ export interface SplitRunSummary {
53
53
  /** The URL to view the split run in the Extend dashboard. */
54
54
  dashboardUrl: string;
55
55
  /**
56
- * Usage credits consumed by this run.
56
+ * Usage credits consumed by this split run. Omits `breakdown` — fetch the full split run by id to see the per-line items.
57
57
  *
58
- * **Availability:** Present when `status` is `"PROCESSED"`.
58
+ * **Availability:** Present when `status` is `"PROCESSED"`. Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
59
59
  */
60
- usage: Extend.RunUsage | null;
60
+ usage: Extend.RunUsageSummary | null;
61
61
  createdAt: Extend.CreatedAt;
62
62
  updatedAt: Extend.UpdatedAt;
63
63
  }
@@ -73,5 +73,10 @@ export interface WorkflowRun {
73
73
  endTime: string | null;
74
74
  /** An array of WorkflowStepRun objects. Each WorkflowStepRun represents a single run of a WorkflowStep and contains details about the step's execution and result. */
75
75
  stepRuns: Extend.StepRun[];
76
+ /**
77
+ * Usage credits consumed by this workflow run, including a breakdown of every contributing child run.
78
+ *
79
+ * **Availability:** Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
80
+ */
76
81
  usage: Extend.RunUsage | null;
77
82
  }
@@ -61,5 +61,10 @@ export interface WorkflowRunSummary {
61
61
  rejectionNote: string | null;
62
62
  createdAt: Extend.CreatedAt;
63
63
  updatedAt: Extend.UpdatedAt;
64
- usage: Extend.RunUsage | null;
64
+ /**
65
+ * Usage credits consumed by this workflow run. Omits `breakdown` — fetch the full workflow run by id to see the per-line items for every contributing child run.
66
+ *
67
+ * **Availability:** Will not be returned for runs created before October 7, 2025 or for customers on legacy billing systems.
68
+ */
69
+ usage: Extend.RunUsageSummary | null;
65
70
  }
@@ -92,6 +92,7 @@ export * from "./EditSchemaGenerationConfigAdvancedOptions";
92
92
  export * from "./EditSchemaGenerationMappingMatch";
93
93
  export * from "./EditSchemaGenerationMappingResult";
94
94
  export * from "./EditSchemaGenerationResponse";
95
+ export * from "./EditTemplate";
95
96
  export * from "./EditTextOptions";
96
97
  export * from "./EmptyBlockDetails";
97
98
  export * from "./Enum";
@@ -299,6 +300,7 @@ export * from "./ParseRunOutput";
299
300
  export * from "./ParseRunOutputOcr";
300
301
  export * from "./ParseRunOutputOcrWordsItem";
301
302
  export * from "./ParseRunProcessedWebhookEvent";
303
+ export * from "./ParseRunSource";
302
304
  export * from "./ParseRunStatus";
303
305
  export * from "./ParseRunStatusEnum";
304
306
  export * from "./ParseRunStatusStatus";
@@ -331,6 +333,9 @@ export * from "./RunSecrets";
331
333
  export * from "./RunSource";
332
334
  export * from "./RunSourceId";
333
335
  export * from "./RunUsage";
336
+ export * from "./RunUsageBreakdownEntry";
337
+ export * from "./RunUsageBreakdownEntryObject";
338
+ export * from "./RunUsageSummary";
334
339
  export * from "./SimpleNextEntry";
335
340
  export * from "./SortBy";
336
341
  export * from "./SortDir";
@@ -108,6 +108,7 @@ __exportStar(require("./EditSchemaGenerationConfigAdvancedOptions"), exports);
108
108
  __exportStar(require("./EditSchemaGenerationMappingMatch"), exports);
109
109
  __exportStar(require("./EditSchemaGenerationMappingResult"), exports);
110
110
  __exportStar(require("./EditSchemaGenerationResponse"), exports);
111
+ __exportStar(require("./EditTemplate"), exports);
111
112
  __exportStar(require("./EditTextOptions"), exports);
112
113
  __exportStar(require("./EmptyBlockDetails"), exports);
113
114
  __exportStar(require("./Enum"), exports);
@@ -315,6 +316,7 @@ __exportStar(require("./ParseRunOutput"), exports);
315
316
  __exportStar(require("./ParseRunOutputOcr"), exports);
316
317
  __exportStar(require("./ParseRunOutputOcrWordsItem"), exports);
317
318
  __exportStar(require("./ParseRunProcessedWebhookEvent"), exports);
319
+ __exportStar(require("./ParseRunSource"), exports);
318
320
  __exportStar(require("./ParseRunStatus"), exports);
319
321
  __exportStar(require("./ParseRunStatusEnum"), exports);
320
322
  __exportStar(require("./ParseRunStatusStatus"), exports);
@@ -347,6 +349,9 @@ __exportStar(require("./RunSecrets"), exports);
347
349
  __exportStar(require("./RunSource"), exports);
348
350
  __exportStar(require("./RunSourceId"), exports);
349
351
  __exportStar(require("./RunUsage"), exports);
352
+ __exportStar(require("./RunUsageBreakdownEntry"), exports);
353
+ __exportStar(require("./RunUsageBreakdownEntryObject"), exports);
354
+ __exportStar(require("./RunUsageSummary"), exports);
350
355
  __exportStar(require("./SimpleNextEntry"), exports);
351
356
  __exportStar(require("./SortBy"), exports);
352
357
  __exportStar(require("./SortDir"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "extend-ai",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
package/reference.md CHANGED
@@ -732,7 +732,7 @@ await client.files.upload(createReadStream("path/to/file"), {});
732
732
  <dl>
733
733
  <dd>
734
734
 
735
- List parse runs, with optional filters for status, batch ID, and file name.
735
+ List parse runs, with optional filters for status, batch ID, source, and file name.
736
736
 
737
737
  Returns a paginated list of parse runs. Use `GET /parse_runs/{id}` to retrieve the full result including output for a specific run.
738
738
  </dd>
@@ -1337,6 +1337,84 @@ Example: `"edr_xK9mLPqRtN3vS8wF5hB2cQ"`
1337
1337
  </dl>
1338
1338
 
1339
1339
 
1340
+ </dd>
1341
+ </dl>
1342
+ </details>
1343
+
1344
+ ## EditTemplates
1345
+ <details><summary><code>client.editTemplates.<a href="/src/api/resources/editTemplates/client/Client.ts">retrieve</a>(id, { ...params }) -> Extend.EditTemplate</code></summary>
1346
+ <dl>
1347
+ <dd>
1348
+
1349
+ #### 📝 Description
1350
+
1351
+ <dl>
1352
+ <dd>
1353
+
1354
+ <dl>
1355
+ <dd>
1356
+
1357
+ Retrieve a saved edit template by ID.
1358
+
1359
+ Use this endpoint to inspect the source file, default edit configuration, and optional schema generation configuration saved on an edit template. You can reuse the returned `config` with `POST /edit` or `POST /edit_runs`, and reuse `schemaConfig` with `POST /edit_schemas/generate`.
1360
+ </dd>
1361
+ </dl>
1362
+ </dd>
1363
+ </dl>
1364
+
1365
+ #### 🔌 Usage
1366
+
1367
+ <dl>
1368
+ <dd>
1369
+
1370
+ <dl>
1371
+ <dd>
1372
+
1373
+ ```typescript
1374
+ await client.editTemplates.retrieve("edit_template_id_here");
1375
+
1376
+ ```
1377
+ </dd>
1378
+ </dl>
1379
+ </dd>
1380
+ </dl>
1381
+
1382
+ #### ⚙️ Parameters
1383
+
1384
+ <dl>
1385
+ <dd>
1386
+
1387
+ <dl>
1388
+ <dd>
1389
+
1390
+ **id:** `string`
1391
+
1392
+ The unique identifier for the edit template.
1393
+
1394
+ Example: `"edt_xK9mLPqRtN3vS8wF5hB2cQ"`
1395
+
1396
+ </dd>
1397
+ </dl>
1398
+
1399
+ <dl>
1400
+ <dd>
1401
+
1402
+ **request:** `Extend.EditTemplatesRetrieveRequest`
1403
+
1404
+ </dd>
1405
+ </dl>
1406
+
1407
+ <dl>
1408
+ <dd>
1409
+
1410
+ **requestOptions:** `EditTemplatesClient.RequestOptions`
1411
+
1412
+ </dd>
1413
+ </dl>
1414
+ </dd>
1415
+ </dl>
1416
+
1417
+
1340
1418
  </dd>
1341
1419
  </dl>
1342
1420
  </details>
@@ -7328,7 +7406,7 @@ await client.webhookEndpoints.create({
7328
7406
  url: "https://example.com/webhooks",
7329
7407
  name: "Production webhook",
7330
7408
  enabledEvents: ["extract_run.processed", "workflow.created"],
7331
- apiVersion: "2026-02-09"
7409
+ apiVersion: "apiVersion"
7332
7410
  });
7333
7411
 
7334
7412
  ```
package/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "1.9.0";
1
+ export declare const SDK_VERSION = "1.10.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.9.0";
4
+ exports.SDK_VERSION = "1.10.0";