@retab/node 1.0.98 → 1.0.99

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 (77) hide show
  1. package/README.md +39 -42
  2. package/dist/api/client.d.ts +4 -0
  3. package/dist/api/client.d.ts.map +1 -1
  4. package/dist/api/client.js +4 -0
  5. package/dist/api/documents/client.d.ts +17 -11
  6. package/dist/api/documents/client.d.ts.map +1 -1
  7. package/dist/api/documents/client.js +81 -34
  8. package/dist/api/edit/client.d.ts +1 -1
  9. package/dist/api/edit/client.js +1 -1
  10. package/dist/api/edit/templates/client.d.ts +1 -75
  11. package/dist/api/edit/templates/client.d.ts.map +1 -1
  12. package/dist/api/edit/templates/client.js +1 -128
  13. package/dist/api/evals/classify/client.d.ts +20 -0
  14. package/dist/api/evals/classify/client.d.ts.map +1 -0
  15. package/dist/api/evals/classify/client.js +25 -0
  16. package/dist/api/evals/client.d.ts +11 -0
  17. package/dist/api/evals/client.d.ts.map +1 -0
  18. package/dist/api/evals/client.js +12 -0
  19. package/dist/api/evals/extract/client.d.ts +287 -0
  20. package/dist/api/evals/extract/client.d.ts.map +1 -0
  21. package/dist/api/evals/extract/client.js +56 -0
  22. package/dist/api/evals/helpers.d.ts +30 -0
  23. package/dist/api/evals/helpers.d.ts.map +1 -0
  24. package/dist/api/evals/helpers.js +46 -0
  25. package/dist/api/evals/schemas.d.ts +6522 -0
  26. package/dist/api/evals/schemas.d.ts.map +1 -0
  27. package/dist/api/evals/schemas.js +219 -0
  28. package/dist/api/evals/split/client.d.ts +105 -0
  29. package/dist/api/evals/split/client.d.ts.map +1 -0
  30. package/dist/api/evals/split/client.js +28 -0
  31. package/dist/api/extractions/client.d.ts +3 -43
  32. package/dist/api/extractions/client.d.ts.map +1 -1
  33. package/dist/api/extractions/client.js +3 -64
  34. package/dist/api/files/client.d.ts +9 -1
  35. package/dist/api/files/client.d.ts.map +1 -1
  36. package/dist/api/files/client.js +7 -1
  37. package/dist/api/jobs/client.d.ts +11 -9
  38. package/dist/api/jobs/client.d.ts.map +1 -1
  39. package/dist/api/jobs/client.js +7 -11
  40. package/dist/api/models/client.d.ts +3 -10
  41. package/dist/api/models/client.d.ts.map +1 -1
  42. package/dist/api/models/client.js +9 -8
  43. package/dist/api/projects/client.d.ts +1640 -4
  44. package/dist/api/projects/client.d.ts.map +1 -1
  45. package/dist/api/projects/client.js +451 -22
  46. package/dist/api/schemas/client.d.ts +3 -0
  47. package/dist/api/schemas/client.d.ts.map +1 -1
  48. package/dist/api/workflows/blocks/client.d.ts +67 -0
  49. package/dist/api/workflows/blocks/client.d.ts.map +1 -0
  50. package/dist/api/workflows/blocks/client.js +132 -0
  51. package/dist/api/workflows/client.d.ts +73 -1
  52. package/dist/api/workflows/client.d.ts.map +1 -1
  53. package/dist/api/workflows/client.js +121 -1
  54. package/dist/api/workflows/edges/client.d.ts +66 -0
  55. package/dist/api/workflows/edges/client.d.ts.map +1 -0
  56. package/dist/api/workflows/edges/client.js +120 -0
  57. package/dist/api/workflows/runs/client.d.ts +57 -113
  58. package/dist/api/workflows/runs/client.d.ts.map +1 -1
  59. package/dist/api/workflows/runs/client.js +111 -112
  60. package/dist/api/workflows/runs/steps/client.d.ts +35 -13
  61. package/dist/api/workflows/runs/steps/client.d.ts.map +1 -1
  62. package/dist/api/workflows/runs/steps/client.js +61 -13
  63. package/dist/client.d.ts +4 -2
  64. package/dist/client.d.ts.map +1 -1
  65. package/dist/client.js +78 -4
  66. package/dist/generated_types.d.ts +7751 -2718
  67. package/dist/generated_types.d.ts.map +1 -1
  68. package/dist/generated_types.js +709 -68
  69. package/dist/mime.d.ts.map +1 -1
  70. package/dist/mime.js +11 -1
  71. package/dist/schema_types.d.ts +2 -2
  72. package/dist/schema_types.d.ts.map +1 -1
  73. package/dist/schema_types.js +2 -2
  74. package/dist/types.d.ts +614 -109
  75. package/dist/types.d.ts.map +1 -1
  76. package/dist/types.js +70 -14
  77. package/package.json +1 -1
@@ -1,136 +1,9 @@
1
1
  import { CompositionClient } from "../../../client.js";
2
- import { ZPaginatedList, ZInferFormSchemaRequest, ZInferFormSchemaResponse, ZMIMEData, ZEditResponse, } from "../../../types.js";
3
- import { ZEditTemplate, } from "../../../generated_types.js";
2
+ import { ZEditResponse, ZInferFormSchemaRequest, ZInferFormSchemaResponse, } from "../../../types.js";
4
3
  export default class APIEditTemplates extends CompositionClient {
5
4
  constructor(client) {
6
5
  super(client);
7
6
  }
8
- /**
9
- * List edit templates with pagination and optional filtering.
10
- *
11
- * @param params - Pagination and filter parameters
12
- * @param options - Optional request options
13
- * @returns PaginatedList of EditTemplate objects
14
- */
15
- async list({ before, after, limit = 10, order = "desc", filename, mime_type, include_embeddings = false, sort_by = "created_at", } = {}, options) {
16
- const params = {
17
- before,
18
- after,
19
- limit,
20
- order,
21
- filename,
22
- mime_type,
23
- include_embeddings,
24
- sort_by,
25
- };
26
- // Remove undefined values
27
- const cleanParams = Object.fromEntries(Object.entries(params).filter(([_, v]) => v !== undefined));
28
- return this._fetchJson(ZPaginatedList, {
29
- url: "/edit/templates",
30
- method: "GET",
31
- params: { ...cleanParams, ...(options?.params || {}) },
32
- headers: options?.headers,
33
- });
34
- }
35
- /**
36
- * Get an edit template by ID.
37
- *
38
- * @param template_id - The ID of the template to retrieve
39
- * @param options - Optional request options
40
- * @returns EditTemplate object
41
- */
42
- async get(template_id, options) {
43
- return this._fetchJson(ZEditTemplate, {
44
- url: `/edit/templates/${template_id}`,
45
- method: "GET",
46
- params: options?.params,
47
- headers: options?.headers,
48
- });
49
- }
50
- /**
51
- * Create a new edit template.
52
- *
53
- * @param params - CreateEditTemplateRequest containing:
54
- * - name: Name of the template
55
- * - document: The document to use as a template (MIMEData, file path, Buffer, or Readable)
56
- * - form_fields: Array of form field definitions
57
- * @param options - Optional request options
58
- * @returns EditTemplate object
59
- */
60
- async create({ name, document, form_fields, }, options) {
61
- const parsedDocument = await ZMIMEData.parseAsync(document);
62
- return this._fetchJson(ZEditTemplate, {
63
- url: "/edit/templates",
64
- method: "POST",
65
- body: {
66
- name,
67
- document: parsedDocument,
68
- form_fields,
69
- ...(options?.body || {}),
70
- },
71
- params: options?.params,
72
- headers: options?.headers,
73
- });
74
- }
75
- /**
76
- * Update an existing edit template.
77
- *
78
- * @param template_id - The ID of the template to update
79
- * @param params - UpdateEditTemplateRequest containing optional fields to update:
80
- * - name: New name for the template
81
- * - form_fields: Updated array of form field definitions
82
- * @param options - Optional request options
83
- * @returns EditTemplate object
84
- */
85
- async update(template_id, { name, form_fields, } = {}, options) {
86
- const body = {};
87
- if (name !== undefined)
88
- body.name = name;
89
- if (form_fields !== undefined)
90
- body.form_fields = form_fields;
91
- return this._fetchJson(ZEditTemplate, {
92
- url: `/edit/templates/${template_id}`,
93
- method: "PATCH",
94
- body: { ...body, ...(options?.body || {}) },
95
- params: options?.params,
96
- headers: options?.headers,
97
- });
98
- }
99
- /**
100
- * Delete an edit template by ID.
101
- *
102
- * @param template_id - The ID of the template to delete
103
- * @param options - Optional request options
104
- */
105
- async delete(template_id, options) {
106
- return this._fetchJson({
107
- url: `/edit/templates/${template_id}`,
108
- method: "DELETE",
109
- params: options?.params,
110
- headers: options?.headers,
111
- });
112
- }
113
- /**
114
- * Duplicate an existing edit template.
115
- *
116
- * @param template_id - The ID of the template to duplicate
117
- * @param params - DuplicateEditTemplateRequest containing optional:
118
- * - name: Name for the duplicated template (defaults to "{original_name} (copy)")
119
- * @param options - Optional request options
120
- * @returns EditTemplate object (the new duplicated template)
121
- */
122
- async duplicate(template_id, { name } = {}, options) {
123
- const body = {};
124
- if (name !== undefined)
125
- body.name = name;
126
- return this._fetchJson(ZEditTemplate, {
127
- url: `/edit/templates/${template_id}/duplicate`,
128
- method: "POST",
129
- body: { ...body, ...(options?.body || {}) },
130
- params: options?.params,
131
- headers: options?.headers,
132
- });
133
- }
134
7
  /**
135
8
  * Generate (infer) form schema from a PDF document.
136
9
  *
@@ -0,0 +1,20 @@
1
+ import { CompositionClient, RequestOptions } from "../../../client.js";
2
+ import { MIMEDataInput } from "../../../types.js";
3
+ export default class APIEvalsClassify extends CompositionClient {
4
+ process({ eval_id, iteration_id, document, model, metadata, ...rest }: {
5
+ eval_id: string;
6
+ iteration_id?: string;
7
+ document?: MIMEDataInput;
8
+ model?: string;
9
+ metadata?: Record<string, string>;
10
+ }, options?: RequestOptions): Promise<{
11
+ usage: {
12
+ credits: number;
13
+ };
14
+ result: {
15
+ reasoning: string;
16
+ classification: string;
17
+ };
18
+ }>;
19
+ }
20
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/evals/classify/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AAGrE,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,iBAAiB;IACrD,OAAO,CAAC,EACV,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACV,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;CAoB9B"}
@@ -0,0 +1,25 @@
1
+ import { CompositionClient } from "../../../client.js";
2
+ import { ZClassifyResponse } from "../../../types.js";
3
+ import { buildProcessMultipartBody } from "../helpers.js";
4
+ export default class APIEvalsClassify extends CompositionClient {
5
+ async process({ eval_id, iteration_id, document, model, metadata, ...rest }, options) {
6
+ if ("documents" in rest) {
7
+ throw new Error("client.evals.classify.process(...) accepts only 'document'.");
8
+ }
9
+ const body = await buildProcessMultipartBody({
10
+ document,
11
+ model,
12
+ metadata,
13
+ extra: options?.body,
14
+ });
15
+ const url = iteration_id ? `/evals/classify/extract/${eval_id}/${iteration_id}` : `/evals/classify/extract/${eval_id}`;
16
+ return this._fetchJson(ZClassifyResponse, {
17
+ url,
18
+ method: "POST",
19
+ body,
20
+ bodyMime: "multipart/form-data",
21
+ params: options?.params,
22
+ headers: options?.headers,
23
+ });
24
+ }
25
+ }
@@ -0,0 +1,11 @@
1
+ import { CompositionClient } from "../../client.js";
2
+ import APIEvalsClassify from "./classify/client.js";
3
+ import APIEvalsExtract from "./extract/client.js";
4
+ import APIEvalsSplit from "./split/client.js";
5
+ export default class APIEvals extends CompositionClient {
6
+ extract: APIEvalsExtract;
7
+ split: APIEvalsSplit;
8
+ classify: APIEvalsClassify;
9
+ constructor(client: CompositionClient);
10
+ }
11
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/evals/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,eAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,iBAAiB;IAC5C,OAAO,EAAE,eAAe,CAAC;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;gBAEtB,MAAM,EAAE,iBAAiB;CAMxC"}
@@ -0,0 +1,12 @@
1
+ import { CompositionClient } from "../../client.js";
2
+ import APIEvalsClassify from "./classify/client.js";
3
+ import APIEvalsExtract from "./extract/client.js";
4
+ import APIEvalsSplit from "./split/client.js";
5
+ export default class APIEvals extends CompositionClient {
6
+ constructor(client) {
7
+ super(client);
8
+ this.extract = new APIEvalsExtract(this);
9
+ this.split = new APIEvalsSplit(this);
10
+ this.classify = new APIEvalsClassify(this);
11
+ }
12
+ }
@@ -0,0 +1,287 @@
1
+ import { CompositionClient, RequestOptions } from "../../../client.js";
2
+ import { MIMEDataInput } from "../../../types.js";
3
+ export default class APIEvalsExtract extends CompositionClient {
4
+ process({ eval_id, iteration_id, document, model, image_resolution_dpi, n_consensus, metadata, extraction_id, ...rest }: {
5
+ eval_id: string;
6
+ iteration_id?: string;
7
+ document?: MIMEDataInput;
8
+ model?: string;
9
+ image_resolution_dpi?: number;
10
+ n_consensus?: number;
11
+ metadata?: Record<string, string>;
12
+ extraction_id?: string;
13
+ }, options?: RequestOptions): Promise<{
14
+ object: "chat.completion";
15
+ id: string;
16
+ model: string;
17
+ choices: {
18
+ message: {
19
+ role: "assistant";
20
+ content?: string | null | undefined;
21
+ tool_calls?: {
22
+ function: {
23
+ arguments: string;
24
+ name: string;
25
+ parsed_arguments?: import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough"> | null | undefined;
26
+ };
27
+ type: "function";
28
+ id: string;
29
+ }[] | null | undefined;
30
+ function_call?: {
31
+ arguments: string;
32
+ name: string;
33
+ } | null | undefined;
34
+ refusal?: string | null | undefined;
35
+ annotations?: {
36
+ type: "url_citation";
37
+ url_citation: {
38
+ url: string;
39
+ title: string;
40
+ end_index: number;
41
+ start_index: number;
42
+ };
43
+ }[] | null | undefined;
44
+ audio?: {
45
+ id: string;
46
+ data: string;
47
+ expires_at: number;
48
+ transcript: string;
49
+ } | null | undefined;
50
+ parsed?: any;
51
+ };
52
+ index: number;
53
+ logprobs?: {
54
+ content?: {
55
+ token: string;
56
+ logprob: number;
57
+ top_logprobs: {
58
+ token: string;
59
+ logprob: number;
60
+ bytes?: number[] | null | undefined;
61
+ }[];
62
+ bytes?: number[] | null | undefined;
63
+ }[] | null | undefined;
64
+ refusal?: {
65
+ token: string;
66
+ logprob: number;
67
+ top_logprobs: {
68
+ token: string;
69
+ logprob: number;
70
+ bytes?: number[] | null | undefined;
71
+ }[];
72
+ bytes?: number[] | null | undefined;
73
+ }[] | null | undefined;
74
+ } | null | undefined;
75
+ finish_reason?: "length" | "tool_calls" | "function_call" | "content_filter" | "stop" | null | undefined;
76
+ key_mapping?: Record<string, string | null | undefined> | null | undefined;
77
+ }[];
78
+ created: number;
79
+ likelihoods?: Record<string, any> | null | undefined;
80
+ extraction_id?: string | null | undefined;
81
+ usage?: {
82
+ credits: number;
83
+ } | {
84
+ completion_tokens: number;
85
+ prompt_tokens: number;
86
+ total_tokens: number;
87
+ completion_tokens_details?: {
88
+ accepted_prediction_tokens?: number | null | undefined;
89
+ audio_tokens?: number | null | undefined;
90
+ reasoning_tokens?: number | null | undefined;
91
+ rejected_prediction_tokens?: number | null | undefined;
92
+ } | null | undefined;
93
+ prompt_tokens_details?: {
94
+ audio_tokens?: number | null | undefined;
95
+ cached_tokens?: number | null | undefined;
96
+ } | null | undefined;
97
+ } | null | undefined;
98
+ service_tier?: "default" | "auto" | "flex" | "scale" | "priority" | null | undefined;
99
+ system_fingerprint?: string | null | undefined;
100
+ request_at?: string | null | undefined;
101
+ first_token_at?: string | null | undefined;
102
+ last_token_at?: string | null | undefined;
103
+ }>;
104
+ processStream({ eval_id, iteration_id, document, model, image_resolution_dpi, n_consensus, metadata, extraction_id, ...rest }: {
105
+ eval_id: string;
106
+ iteration_id?: string;
107
+ document?: MIMEDataInput;
108
+ model?: string;
109
+ image_resolution_dpi?: number;
110
+ n_consensus?: number;
111
+ metadata?: Record<string, string>;
112
+ extraction_id?: string;
113
+ }, options?: RequestOptions): Promise<AsyncGenerator<{
114
+ object: "chat.completion.chunk";
115
+ id: string;
116
+ model: string;
117
+ choices: {
118
+ index: number;
119
+ delta: {
120
+ flat_likelihoods: Record<string, number>;
121
+ flat_parsed: Record<string, any>;
122
+ flat_deleted_keys: string[];
123
+ is_valid_json: boolean;
124
+ role?: "user" | "system" | "assistant" | "developer" | "tool" | null | undefined;
125
+ content?: string | null | undefined;
126
+ tool_calls?: {
127
+ index: number;
128
+ function?: {
129
+ arguments?: string | null | undefined;
130
+ name?: string | null | undefined;
131
+ } | null | undefined;
132
+ type?: "function" | null | undefined;
133
+ id?: string | null | undefined;
134
+ }[] | null | undefined;
135
+ function_call?: {
136
+ arguments?: string | null | undefined;
137
+ name?: string | null | undefined;
138
+ } | null | undefined;
139
+ refusal?: string | null | undefined;
140
+ key_mapping?: Record<string, string | null | undefined> | null | undefined;
141
+ full_parsed?: Record<string, any> | null | undefined;
142
+ };
143
+ logprobs?: {
144
+ content?: {
145
+ token: string;
146
+ logprob: number;
147
+ top_logprobs: {
148
+ token: string;
149
+ logprob: number;
150
+ bytes?: number[] | null | undefined;
151
+ }[];
152
+ bytes?: number[] | null | undefined;
153
+ }[] | null | undefined;
154
+ refusal?: {
155
+ token: string;
156
+ logprob: number;
157
+ top_logprobs: {
158
+ token: string;
159
+ logprob: number;
160
+ bytes?: number[] | null | undefined;
161
+ }[];
162
+ bytes?: number[] | null | undefined;
163
+ }[] | null | undefined;
164
+ } | null | undefined;
165
+ finish_reason?: "length" | "tool_calls" | "function_call" | "content_filter" | "stop" | null | undefined;
166
+ }[];
167
+ created: number;
168
+ extraction_id?: string | null | undefined;
169
+ streaming_error?: {
170
+ code: string;
171
+ message: string;
172
+ details?: Record<string, any> | null | undefined;
173
+ } | null | undefined;
174
+ usage?: {
175
+ completion_tokens: number;
176
+ prompt_tokens: number;
177
+ total_tokens: number;
178
+ completion_tokens_details?: {
179
+ accepted_prediction_tokens?: number | null | undefined;
180
+ audio_tokens?: number | null | undefined;
181
+ reasoning_tokens?: number | null | undefined;
182
+ rejected_prediction_tokens?: number | null | undefined;
183
+ } | null | undefined;
184
+ prompt_tokens_details?: {
185
+ audio_tokens?: number | null | undefined;
186
+ cached_tokens?: number | null | undefined;
187
+ } | null | undefined;
188
+ } | null | undefined;
189
+ service_tier?: "default" | "auto" | "flex" | "scale" | "priority" | null | undefined;
190
+ system_fingerprint?: string | null | undefined;
191
+ request_at?: string | null | undefined;
192
+ first_token_at?: string | null | undefined;
193
+ last_token_at?: string | null | undefined;
194
+ }, any, any>>;
195
+ process_stream(params: {
196
+ eval_id: string;
197
+ iteration_id?: string;
198
+ document?: MIMEDataInput;
199
+ model?: string;
200
+ image_resolution_dpi?: number;
201
+ n_consensus?: number;
202
+ metadata?: Record<string, string>;
203
+ extraction_id?: string;
204
+ }, options?: RequestOptions): Promise<AsyncGenerator<{
205
+ object: "chat.completion.chunk";
206
+ id: string;
207
+ model: string;
208
+ choices: {
209
+ index: number;
210
+ delta: {
211
+ flat_likelihoods: Record<string, number>;
212
+ flat_parsed: Record<string, any>;
213
+ flat_deleted_keys: string[];
214
+ is_valid_json: boolean;
215
+ role?: "user" | "system" | "assistant" | "developer" | "tool" | null | undefined;
216
+ content?: string | null | undefined;
217
+ tool_calls?: {
218
+ index: number;
219
+ function?: {
220
+ arguments?: string | null | undefined;
221
+ name?: string | null | undefined;
222
+ } | null | undefined;
223
+ type?: "function" | null | undefined;
224
+ id?: string | null | undefined;
225
+ }[] | null | undefined;
226
+ function_call?: {
227
+ arguments?: string | null | undefined;
228
+ name?: string | null | undefined;
229
+ } | null | undefined;
230
+ refusal?: string | null | undefined;
231
+ key_mapping?: Record<string, string | null | undefined> | null | undefined;
232
+ full_parsed?: Record<string, any> | null | undefined;
233
+ };
234
+ logprobs?: {
235
+ content?: {
236
+ token: string;
237
+ logprob: number;
238
+ top_logprobs: {
239
+ token: string;
240
+ logprob: number;
241
+ bytes?: number[] | null | undefined;
242
+ }[];
243
+ bytes?: number[] | null | undefined;
244
+ }[] | null | undefined;
245
+ refusal?: {
246
+ token: string;
247
+ logprob: number;
248
+ top_logprobs: {
249
+ token: string;
250
+ logprob: number;
251
+ bytes?: number[] | null | undefined;
252
+ }[];
253
+ bytes?: number[] | null | undefined;
254
+ }[] | null | undefined;
255
+ } | null | undefined;
256
+ finish_reason?: "length" | "tool_calls" | "function_call" | "content_filter" | "stop" | null | undefined;
257
+ }[];
258
+ created: number;
259
+ extraction_id?: string | null | undefined;
260
+ streaming_error?: {
261
+ code: string;
262
+ message: string;
263
+ details?: Record<string, any> | null | undefined;
264
+ } | null | undefined;
265
+ usage?: {
266
+ completion_tokens: number;
267
+ prompt_tokens: number;
268
+ total_tokens: number;
269
+ completion_tokens_details?: {
270
+ accepted_prediction_tokens?: number | null | undefined;
271
+ audio_tokens?: number | null | undefined;
272
+ reasoning_tokens?: number | null | undefined;
273
+ rejected_prediction_tokens?: number | null | undefined;
274
+ } | null | undefined;
275
+ prompt_tokens_details?: {
276
+ audio_tokens?: number | null | undefined;
277
+ cached_tokens?: number | null | undefined;
278
+ } | null | undefined;
279
+ } | null | undefined;
280
+ service_tier?: "default" | "auto" | "flex" | "scale" | "priority" | null | undefined;
281
+ system_fingerprint?: string | null | undefined;
282
+ request_at?: string | null | undefined;
283
+ first_token_at?: string | null | undefined;
284
+ last_token_at?: string | null | undefined;
285
+ }, any, any>>;
286
+ }
287
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/evals/extract/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EACH,aAAa,EAGhB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,iBAAiB;IACpD,OAAO,CAAC,EACV,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,aAAa,EACb,GAAG,IAAI,EACV,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBrB,aAAa,CAAC,EAChB,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,aAAa,EACb,GAAG,IAAI,EACV,EAAE;QACC,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA0BrB,cAAc,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG9B"}
@@ -0,0 +1,56 @@
1
+ import { CompositionClient } from "../../../client.js";
2
+ import { ZRetabParsedChatCompletion, ZRetabParsedChatCompletionChunk, } from "../../../types.js";
3
+ import { buildProcessMultipartBody } from "../helpers.js";
4
+ export default class APIEvalsExtract extends CompositionClient {
5
+ async process({ eval_id, iteration_id, document, model, image_resolution_dpi, n_consensus, metadata, extraction_id, ...rest }, options) {
6
+ if ("documents" in rest) {
7
+ throw new Error("client.evals.extract.process(...) accepts only 'document'.");
8
+ }
9
+ const body = await buildProcessMultipartBody({
10
+ document,
11
+ model,
12
+ image_resolution_dpi,
13
+ n_consensus,
14
+ metadata,
15
+ extraction_id,
16
+ extra: options?.body,
17
+ });
18
+ const url = iteration_id ? `/evals/extract/extract/${eval_id}/${iteration_id}` : `/evals/extract/extract/${eval_id}`;
19
+ return this._fetchJson(ZRetabParsedChatCompletion, {
20
+ url,
21
+ method: "POST",
22
+ body,
23
+ bodyMime: "multipart/form-data",
24
+ params: options?.params,
25
+ headers: options?.headers,
26
+ });
27
+ }
28
+ async processStream({ eval_id, iteration_id, document, model, image_resolution_dpi, n_consensus, metadata, extraction_id, ...rest }, options) {
29
+ if ("documents" in rest) {
30
+ throw new Error("client.evals.extract.processStream(...) accepts only 'document'.");
31
+ }
32
+ const body = await buildProcessMultipartBody({
33
+ document,
34
+ model,
35
+ image_resolution_dpi,
36
+ n_consensus,
37
+ metadata,
38
+ extraction_id,
39
+ extra: options?.body,
40
+ });
41
+ const url = iteration_id
42
+ ? `/evals/extract/extract/${eval_id}/${iteration_id}/stream`
43
+ : `/evals/extract/extract/${eval_id}/stream`;
44
+ return this._fetchStream(ZRetabParsedChatCompletionChunk, {
45
+ url,
46
+ method: "POST",
47
+ body,
48
+ bodyMime: "multipart/form-data",
49
+ params: options?.params,
50
+ headers: options?.headers,
51
+ });
52
+ }
53
+ async process_stream(params, options) {
54
+ return this.processStream(params, options);
55
+ }
56
+ }
@@ -0,0 +1,30 @@
1
+ import * as z from "zod";
2
+ import { MIMEDataInput } from "../../types.js";
3
+ export declare function cleanObject<T extends Record<string, unknown>>(value: T): T;
4
+ export declare function buildListParams({ before, after, limit, order, fields, extra, }?: {
5
+ before?: string;
6
+ after?: string;
7
+ limit?: number;
8
+ order?: "asc" | "desc";
9
+ fields?: string;
10
+ extra?: Record<string, unknown>;
11
+ }): Record<string, unknown>;
12
+ export declare function buildProcessMultipartBody({ document, documents, model, image_resolution_dpi, n_consensus, metadata, extraction_id, extra, }: {
13
+ document?: MIMEDataInput;
14
+ documents?: MIMEDataInput[];
15
+ model?: string;
16
+ image_resolution_dpi?: number;
17
+ n_consensus?: number;
18
+ metadata?: Record<string, string>;
19
+ extraction_id?: string;
20
+ extra?: Record<string, unknown>;
21
+ }): Promise<Record<string, unknown>>;
22
+ export declare function dataPaginatedArray<Schema extends z.ZodTypeAny>(schema: Schema): z.ZodEffects<z.ZodObject<{
23
+ data: z.ZodArray<Schema>;
24
+ } & {
25
+ list_metadata: z.ZodTypeAny;
26
+ }>, z.output<Schema>[], {
27
+ data: z.input<Schema>[];
28
+ list_metadata?: unknown;
29
+ }>;
30
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/api/evals/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAE1D,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAI1E;AAED,wBAAgB,eAAe,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,KAAK,GACR,GAAE;IACC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS/B;AAED,wBAAsB,yBAAyB,CAAC,EAC5C,QAAQ,EACR,SAAS,EACT,KAAK,EACL,oBAAoB,EACpB,WAAW,EACX,QAAQ,EACR,aAAa,EACb,KAAK,GACR,EAAE;IACC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA0BnC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,CACzF,CAAC,CAAC,SAAS,CAAC;IACR,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC5B,GAAG;IACA,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC;CAC/B,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAClB;IACI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CACJ,CAKA"}
@@ -0,0 +1,46 @@
1
+ import * as z from "zod";
2
+ import { mimeToBlob } from "../../mime.js";
3
+ import { ZMIMEData } from "../../types.js";
4
+ export function cleanObject(value) {
5
+ return Object.fromEntries(Object.entries(value).filter(([_, item]) => item !== undefined));
6
+ }
7
+ export function buildListParams({ before, after, limit, order, fields, extra, } = {}) {
8
+ return cleanObject({
9
+ before,
10
+ after,
11
+ limit,
12
+ order,
13
+ fields,
14
+ ...(extra || {}),
15
+ });
16
+ }
17
+ export async function buildProcessMultipartBody({ document, documents, model, image_resolution_dpi, n_consensus, metadata, extraction_id, extra, }) {
18
+ if (!document && !documents?.length) {
19
+ throw new Error("Either document or documents must be provided");
20
+ }
21
+ if (document && documents?.length) {
22
+ throw new Error("Provide either document or documents, not both");
23
+ }
24
+ const body = cleanObject({
25
+ model,
26
+ image_resolution_dpi,
27
+ n_consensus,
28
+ metadata: metadata ? JSON.stringify(metadata) : undefined,
29
+ extraction_id,
30
+ ...(extra || {}),
31
+ });
32
+ if (document) {
33
+ const parsedDocument = await ZMIMEData.parseAsync(document);
34
+ body.document = mimeToBlob(parsedDocument);
35
+ return body;
36
+ }
37
+ const parsedDocuments = await Promise.all((documents || []).map((item) => ZMIMEData.parseAsync(item)));
38
+ body.documents = parsedDocuments.map((item) => mimeToBlob(item));
39
+ return body;
40
+ }
41
+ export function dataPaginatedArray(schema) {
42
+ return z.object({
43
+ data: z.array(schema),
44
+ list_metadata: z.any().optional(),
45
+ }).transform((input) => input.data);
46
+ }