@retab/node 0.0.48 → 0.0.52
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.
- package/README.md +8 -215
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -2
- package/dist/api/documents/client.d.ts +3 -3
- package/dist/api/documents/client.d.ts.map +1 -1
- package/dist/api/documents/client.js +3 -3
- package/dist/api/projects/client.d.ts +15 -0
- package/dist/api/projects/client.d.ts.map +1 -0
- package/dist/api/projects/client.js +43 -0
- package/dist/api/projects/documents/client.d.ts +12 -0
- package/dist/api/projects/documents/client.d.ts.map +1 -0
- package/dist/api/projects/documents/client.js +39 -0
- package/dist/api/projects/iterations/client.d.ts +17 -0
- package/dist/api/projects/iterations/client.d.ts.map +1 -0
- package/dist/api/projects/iterations/client.js +64 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +6 -1
- package/dist/generated_types.d.ts +17837 -40090
- package/dist/generated_types.d.ts.map +1 -1
- package/dist/generated_types.js +309 -979
- package/dist/index.d.ts +7 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/types.d.ts +188 -80
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +22 -1
- package/package.json +6 -9
- package/dist/api/consensus/client.d.ts +0 -7
- package/dist/api/consensus/client.d.ts.map +0 -1
- package/dist/api/consensus/client.js +0 -14
- package/dist/errors.d.ts +0 -34
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -53
- package/dist/resource.d.ts +0 -12
- package/dist/resource.d.ts.map +0 -1
- package/dist/resource.js +0 -19
- package/dist/resources/consensus/completions.d.ts +0 -66
- package/dist/resources/consensus/completions.d.ts.map +0 -1
- package/dist/resources/consensus/completions.js +0 -84
- package/dist/resources/consensus/index.d.ts +0 -72
- package/dist/resources/consensus/index.d.ts.map +0 -1
- package/dist/resources/consensus/index.js +0 -76
- package/dist/resources/consensus/responses.d.ts +0 -69
- package/dist/resources/consensus/responses.d.ts.map +0 -1
- package/dist/resources/consensus/responses.js +0 -99
- package/dist/resources/documents/extractions.d.ts +0 -74
- package/dist/resources/documents/extractions.d.ts.map +0 -1
- package/dist/resources/documents/extractions.js +0 -196
- package/dist/resources/documents/index.d.ts +0 -21
- package/dist/resources/documents/index.d.ts.map +0 -1
- package/dist/resources/documents/index.js +0 -55
- package/dist/resources/evaluations/documents.d.ts +0 -40
- package/dist/resources/evaluations/documents.d.ts.map +0 -1
- package/dist/resources/evaluations/documents.js +0 -123
- package/dist/resources/evaluations/index.d.ts +0 -14
- package/dist/resources/evaluations/index.d.ts.map +0 -1
- package/dist/resources/evaluations/index.js +0 -17
- package/dist/resources/evaluations/iterations.d.ts +0 -50
- package/dist/resources/evaluations/iterations.d.ts.map +0 -1
- package/dist/resources/evaluations/iterations.js +0 -156
- package/dist/resources/files.d.ts +0 -82
- package/dist/resources/files.d.ts.map +0 -1
- package/dist/resources/files.js +0 -150
- package/dist/resources/finetuning.d.ts +0 -105
- package/dist/resources/finetuning.d.ts.map +0 -1
- package/dist/resources/finetuning.js +0 -181
- package/dist/resources/index.d.ts +0 -11
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/resources/index.js +0 -10
- package/dist/resources/models.d.ts +0 -57
- package/dist/resources/models.d.ts.map +0 -1
- package/dist/resources/models.js +0 -72
- package/dist/resources/processors/automations/endpoints.d.ts +0 -90
- package/dist/resources/processors/automations/endpoints.d.ts.map +0 -1
- package/dist/resources/processors/automations/endpoints.js +0 -145
- package/dist/resources/processors/automations/index.d.ts +0 -7
- package/dist/resources/processors/automations/index.d.ts.map +0 -1
- package/dist/resources/processors/automations/index.js +0 -6
- package/dist/resources/processors/automations/links.d.ts +0 -90
- package/dist/resources/processors/automations/links.d.ts.map +0 -1
- package/dist/resources/processors/automations/links.js +0 -149
- package/dist/resources/processors/automations/logs.d.ts +0 -35
- package/dist/resources/processors/automations/logs.d.ts.map +0 -1
- package/dist/resources/processors/automations/logs.js +0 -60
- package/dist/resources/processors/automations/mailboxes.d.ts +0 -102
- package/dist/resources/processors/automations/mailboxes.d.ts.map +0 -1
- package/dist/resources/processors/automations/mailboxes.js +0 -157
- package/dist/resources/processors/automations/outlook.d.ts +0 -114
- package/dist/resources/processors/automations/outlook.d.ts.map +0 -1
- package/dist/resources/processors/automations/outlook.js +0 -170
- package/dist/resources/processors/automations/tests.d.ts +0 -58
- package/dist/resources/processors/automations/tests.d.ts.map +0 -1
- package/dist/resources/processors/automations/tests.js +0 -90
- package/dist/resources/processors/index.d.ts +0 -303
- package/dist/resources/processors/index.d.ts.map +0 -1
- package/dist/resources/processors/index.js +0 -261
- package/dist/resources/schemas.d.ts +0 -63
- package/dist/resources/schemas.d.ts.map +0 -1
- package/dist/resources/schemas.js +0 -183
- package/dist/resources/secrets/external_api_keys.d.ts +0 -61
- package/dist/resources/secrets/external_api_keys.d.ts.map +0 -1
- package/dist/resources/secrets/external_api_keys.js +0 -120
- package/dist/resources/secrets/index.d.ts +0 -14
- package/dist/resources/secrets/index.d.ts.map +0 -1
- package/dist/resources/secrets/index.js +0 -17
- package/dist/resources/secrets/webhooks.d.ts +0 -73
- package/dist/resources/secrets/webhooks.d.ts.map +0 -1
- package/dist/resources/secrets/webhooks.js +0 -145
- package/dist/resources/usage.d.ts +0 -223
- package/dist/resources/usage.d.ts.map +0 -1
- package/dist/resources/usage.js +0 -310
- package/dist/types/ai_models.d.ts +0 -389
- package/dist/types/ai_models.d.ts.map +0 -1
- package/dist/types/ai_models.js +0 -145
- package/dist/types/automations/cron.d.ts +0 -28
- package/dist/types/automations/cron.d.ts.map +0 -1
- package/dist/types/automations/cron.js +0 -1
- package/dist/types/automations/endpoints.d.ts +0 -13
- package/dist/types/automations/endpoints.d.ts.map +0 -1
- package/dist/types/automations/endpoints.js +0 -1
- package/dist/types/automations/index.d.ts +0 -7
- package/dist/types/automations/index.d.ts.map +0 -1
- package/dist/types/automations/index.js +0 -6
- package/dist/types/automations/links.d.ts +0 -15
- package/dist/types/automations/links.d.ts.map +0 -1
- package/dist/types/automations/links.js +0 -1
- package/dist/types/automations/mailboxes.d.ts +0 -18
- package/dist/types/automations/mailboxes.d.ts.map +0 -1
- package/dist/types/automations/mailboxes.js +0 -1
- package/dist/types/automations/outlook.d.ts +0 -37
- package/dist/types/automations/outlook.d.ts.map +0 -1
- package/dist/types/automations/outlook.js +0 -1
- package/dist/types/automations/webhooks.d.ts +0 -13
- package/dist/types/automations/webhooks.d.ts.map +0 -1
- package/dist/types/automations/webhooks.js +0 -1
- package/dist/types/browser_canvas.d.ts +0 -4
- package/dist/types/browser_canvas.d.ts.map +0 -1
- package/dist/types/browser_canvas.js +0 -2
- package/dist/types/chat.d.ts +0 -99
- package/dist/types/chat.d.ts.map +0 -1
- package/dist/types/chat.js +0 -20
- package/dist/types/consensus.d.ts +0 -10
- package/dist/types/consensus.d.ts.map +0 -1
- package/dist/types/consensus.js +0 -1
- package/dist/types/db/annotations.d.ts +0 -108
- package/dist/types/db/annotations.d.ts.map +0 -1
- package/dist/types/db/annotations.js +0 -6
- package/dist/types/db/files.d.ts +0 -133
- package/dist/types/db/files.d.ts.map +0 -1
- package/dist/types/db/files.js +0 -5
- package/dist/types/documents/extractions.d.ts +0 -1849
- package/dist/types/documents/extractions.d.ts.map +0 -1
- package/dist/types/documents/extractions.js +0 -211
- package/dist/types/documents/processing.d.ts +0 -249
- package/dist/types/documents/processing.d.ts.map +0 -1
- package/dist/types/documents/processing.js +0 -6
- package/dist/types/evaluations/iterations.d.ts +0 -41
- package/dist/types/evaluations/iterations.d.ts.map +0 -1
- package/dist/types/evaluations/iterations.js +0 -1
- package/dist/types/jobs/base.d.ts +0 -162
- package/dist/types/jobs/base.d.ts.map +0 -1
- package/dist/types/jobs/base.js +0 -6
- package/dist/types/jobs/specialized.d.ts +0 -200
- package/dist/types/jobs/specialized.d.ts.map +0 -1
- package/dist/types/jobs/specialized.js +0 -37
- package/dist/types/logs.d.ts +0 -92
- package/dist/types/logs.d.ts.map +0 -1
- package/dist/types/logs.js +0 -1
- package/dist/types/mime.d.ts +0 -426
- package/dist/types/mime.d.ts.map +0 -1
- package/dist/types/mime.js +0 -48
- package/dist/types/modalities.d.ts +0 -31
- package/dist/types/modalities.d.ts.map +0 -1
- package/dist/types/modalities.js +0 -109
- package/dist/types/pagination.d.ts +0 -5
- package/dist/types/pagination.d.ts.map +0 -1
- package/dist/types/pagination.js +0 -1
- package/dist/types/schemas/enhancement.d.ts +0 -250
- package/dist/types/schemas/enhancement.d.ts.map +0 -1
- package/dist/types/schemas/enhancement.js +0 -6
- package/dist/types/schemas/generate.d.ts +0 -160
- package/dist/types/schemas/generate.d.ts.map +0 -1
- package/dist/types/schemas/generate.js +0 -19
- package/dist/types/schemas/object.d.ts +0 -116
- package/dist/types/schemas/object.d.ts.map +0 -1
- package/dist/types/schemas/object.js +0 -861
- package/dist/types/secrets/external_api_keys.d.ts +0 -27
- package/dist/types/secrets/external_api_keys.d.ts.map +0 -1
- package/dist/types/secrets/external_api_keys.js +0 -11
- package/dist/types/secrets/index.d.ts +0 -2
- package/dist/types/secrets/index.d.ts.map +0 -1
- package/dist/types/secrets/index.js +0 -1
- package/dist/types/standards.d.ts +0 -37
- package/dist/types/standards.d.ts.map +0 -1
- package/dist/types/standards.js +0 -1
- package/dist/utils/ai_models.d.ts +0 -10
- package/dist/utils/ai_models.d.ts.map +0 -1
- package/dist/utils/ai_models.js +0 -183
- package/dist/utils/batch_processing.d.ts +0 -227
- package/dist/utils/batch_processing.d.ts.map +0 -1
- package/dist/utils/batch_processing.js +0 -268
- package/dist/utils/benchmarking.d.ts +0 -115
- package/dist/utils/benchmarking.d.ts.map +0 -1
- package/dist/utils/benchmarking.js +0 -355
- package/dist/utils/chat.d.ts +0 -70
- package/dist/utils/chat.d.ts.map +0 -1
- package/dist/utils/chat.js +0 -79
- package/dist/utils/cost_calculation.d.ts +0 -26
- package/dist/utils/cost_calculation.d.ts.map +0 -1
- package/dist/utils/cost_calculation.js +0 -99
- package/dist/utils/datasets.d.ts +0 -135
- package/dist/utils/datasets.d.ts.map +0 -1
- package/dist/utils/datasets.js +0 -359
- package/dist/utils/display.d.ts +0 -108
- package/dist/utils/display.d.ts.map +0 -1
- package/dist/utils/display.js +0 -244
- package/dist/utils/hash.d.ts +0 -18
- package/dist/utils/hash.d.ts.map +0 -1
- package/dist/utils/hash.js +0 -31
- package/dist/utils/hashing.d.ts +0 -18
- package/dist/utils/hashing.d.ts.map +0 -1
- package/dist/utils/hashing.js +0 -28
- package/dist/utils/index.d.ts +0 -8
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -10
- package/dist/utils/json_schema.d.ts +0 -18
- package/dist/utils/json_schema.d.ts.map +0 -1
- package/dist/utils/json_schema.js +0 -334
- package/dist/utils/json_schema_utils.d.ts +0 -42
- package/dist/utils/json_schema_utils.d.ts.map +0 -1
- package/dist/utils/json_schema_utils.js +0 -212
- package/dist/utils/jsonl.d.ts +0 -60
- package/dist/utils/jsonl.d.ts.map +0 -1
- package/dist/utils/jsonl.js +0 -259
- package/dist/utils/mime.d.ts +0 -6
- package/dist/utils/mime.d.ts.map +0 -1
- package/dist/utils/mime.js +0 -129
- package/dist/utils/model_cards.d.ts +0 -219
- package/dist/utils/model_cards.d.ts.map +0 -1
- package/dist/utils/model_cards.js +0 -462
- package/dist/utils/prompt_optimization.d.ts +0 -96
- package/dist/utils/prompt_optimization.d.ts.map +0 -1
- package/dist/utils/prompt_optimization.js +0 -275
- package/dist/utils/responses.d.ts +0 -35
- package/dist/utils/responses.d.ts.map +0 -1
- package/dist/utils/responses.js +0 -37
- package/dist/utils/stream.d.ts +0 -13
- package/dist/utils/stream.d.ts.map +0 -1
- package/dist/utils/stream.js +0 -64
- package/dist/utils/stream_context_managers.d.ts +0 -147
- package/dist/utils/stream_context_managers.d.ts.map +0 -1
- package/dist/utils/stream_context_managers.js +0 -380
- package/dist/utils/usage.d.ts +0 -57
- package/dist/utils/usage.d.ts.map +0 -1
- package/dist/utils/usage.js +0 -97
- package/dist/utils/webhook_secrets.d.ts +0 -59
- package/dist/utils/webhook_secrets.d.ts.map +0 -1
- package/dist/utils/webhook_secrets.js +0 -107
- package/dist/utils/zod_to_json_schema.d.ts +0 -11
- package/dist/utils/zod_to_json_schema.d.ts.map +0 -1
- package/dist/utils/zod_to_json_schema.js +0 -123
package/README.md
CHANGED
|
@@ -16,13 +16,15 @@ To install and test the SDK locally using npm link:
|
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
# From the SDK directory
|
|
19
|
-
cd
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
cd open_source/sdk/clients/node
|
|
20
|
+
bun install
|
|
21
|
+
bun run build
|
|
22
|
+
bun link
|
|
23
23
|
|
|
24
24
|
# From your project directory
|
|
25
|
-
|
|
25
|
+
bun link @retab/node
|
|
26
|
+
|
|
27
|
+
bun test tests/
|
|
26
28
|
```
|
|
27
29
|
|
|
28
30
|
## Quick Start
|
|
@@ -51,14 +53,7 @@ const extraction = await retab.documents.extract({
|
|
|
51
53
|
});
|
|
52
54
|
|
|
53
55
|
console.log(extraction.extracted_data);
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Key Features
|
|
57
|
-
|
|
58
|
-
### Document Processing
|
|
59
|
-
Extract structured data from various document formats:
|
|
60
56
|
|
|
61
|
-
```typescript
|
|
62
57
|
// From file path
|
|
63
58
|
const result = await retab.documents.extract({
|
|
64
59
|
document: 'path/to/document.pdf',
|
|
@@ -77,214 +72,12 @@ const result = await retab.documents.extract({
|
|
|
77
72
|
document: 'document.pdf',
|
|
78
73
|
schema: mySchema,
|
|
79
74
|
model: 'gpt-4.1'
|
|
80
|
-
});
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
### Schema Management
|
|
84
|
-
Generate and enhance JSON schemas for your documents:
|
|
85
|
-
|
|
86
|
-
```typescript
|
|
87
|
-
// Generate schema from sample documents
|
|
88
|
-
const schema = await retab.schemas.generate({
|
|
89
|
-
documents: ['invoice1.pdf', 'invoice2.pdf'],
|
|
90
|
-
instructions: 'Extract invoice data including line items'
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
// Enhance existing schema with ground truth data
|
|
94
|
-
const enhanced = await retab.schemas.enhance({
|
|
95
|
-
schema_id: 'existing-schema-id',
|
|
96
|
-
documents: ['sample.pdf'],
|
|
97
|
-
ground_truths: [{ invoice_total: 150.00 }]
|
|
98
|
-
});
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### Multi-Provider AI Support
|
|
102
|
-
Use different AI providers by passing API keys via headers:
|
|
103
|
-
|
|
104
|
-
```typescript
|
|
105
|
-
const retab = new Retab({
|
|
106
|
-
apiKey: 'your-retab-api-key',
|
|
107
|
-
defaultHeaders: {
|
|
108
|
-
'X-OpenAI-Api-Key': 'your-openai-key',
|
|
109
|
-
'X-Anthropic-Api-Key': 'your-anthropic-key',
|
|
110
|
-
'X-xAI-Api-Key': 'your-xai-key',
|
|
111
|
-
'X-Gemini-Api-Key': 'your-gemini-key'
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### Consensus Extraction
|
|
117
|
-
Get multiple AI opinions for higher accuracy:
|
|
118
|
-
|
|
119
|
-
```typescript
|
|
120
|
-
const consensus = await retab.consensus.extract({
|
|
121
|
-
document: 'contract.pdf',
|
|
122
|
-
schema: contractSchema,
|
|
123
|
-
num_extractions: 3,
|
|
124
|
-
models: ['gpt-4o', 'claude-3-5-sonnet-latest', 'grok-2-latest']
|
|
125
|
-
});
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Automation & Webhooks
|
|
129
|
-
Set up automated document processing:
|
|
130
|
-
|
|
131
|
-
```typescript
|
|
132
|
-
// Create webhook endpoint
|
|
133
|
-
const automation = await retab.processors.endpoints.create({
|
|
134
|
-
name: 'Invoice Processor',
|
|
135
|
-
processor_id: 'proc_9dfnjkf2912',
|
|
136
|
-
webhook_url: 'https://your-app.com/webhook'
|
|
137
|
-
});
|
|
138
|
-
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### Schema Types
|
|
142
|
-
The SDK supports multiple schema formats:
|
|
143
|
-
|
|
144
|
-
```typescript
|
|
145
|
-
import { Schema } from '@retab/node';
|
|
146
|
-
|
|
147
|
-
// From JSON Schema
|
|
148
|
-
const schema = Schema.from_json_schema({
|
|
149
|
-
type: 'object',
|
|
150
|
-
properties: {
|
|
151
|
-
name: { type: 'string' }
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
// From Pydantic model (as JSON)
|
|
156
|
-
const schema = Schema.from_pydantic_json({
|
|
157
|
-
type: 'object',
|
|
158
|
-
properties: { /* ... */ }
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
// From Zod schema (as JSON)
|
|
162
|
-
const schema = Schema.from_zod_json({
|
|
163
|
-
/* zod schema JSON representation */
|
|
164
|
-
});
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### Streaming Responses
|
|
168
|
-
For real-time updates:
|
|
169
|
-
|
|
170
|
-
```typescript
|
|
171
|
-
const stream = await retab.documents.extract({
|
|
172
|
-
document: 'large-document.pdf',
|
|
173
|
-
schema: mySchema,
|
|
174
|
-
stream: true
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
for await (const chunk of stream) {
|
|
178
|
-
console.log('Progress:', chunk);
|
|
179
|
-
}
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Idempotency
|
|
183
|
-
Ensure requests are processed only once:
|
|
184
|
-
|
|
185
|
-
```typescript
|
|
186
|
-
const result = await retab.documents.extract({
|
|
187
|
-
document: 'invoice.pdf',
|
|
188
|
-
schema: mySchema
|
|
189
|
-
}, {
|
|
190
|
-
headers: {
|
|
191
|
-
'Idempotency-Key': 'unique-request-id'
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## Configuration
|
|
197
|
-
|
|
198
|
-
### Client Options
|
|
199
|
-
|
|
200
|
-
```typescript
|
|
201
|
-
const retab = new Retab({
|
|
202
|
-
apiKey: 'your-api-key', // Required
|
|
203
|
-
baseUrl: 'https://api.retab.com', // Optional, defaults to production
|
|
204
|
-
timeout: 240000, // Optional, request timeout in ms
|
|
205
|
-
maxRetries: 3, // Optional, retry count
|
|
206
|
-
defaultHeaders: { // Optional, additional headers
|
|
207
|
-
'X-Custom-Header': 'value'
|
|
208
|
-
}
|
|
209
|
-
});
|
|
210
75
|
```
|
|
211
76
|
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
- `RETAB_API_KEY`: Your Retab API key
|
|
215
|
-
- `RETAB_API_BASE_URL`: Override the default API base URL
|
|
216
|
-
- `OPENAI_API_KEY`: OpenAI API key (if not using headers)
|
|
217
|
-
- `ANTHROPIC_API_KEY`: Anthropic API key (if not using headers)
|
|
218
|
-
- `XAI_API_KEY`: xAI API key (if not using headers)
|
|
219
|
-
- `GEMINI_API_KEY`: Gemini API key (if not using headers)
|
|
220
|
-
|
|
221
|
-
## TypeScript Support
|
|
222
|
-
|
|
223
|
-
The SDK is written in TypeScript and provides comprehensive type definitions:
|
|
224
|
-
|
|
225
|
-
```typescript
|
|
226
|
-
import type {
|
|
227
|
-
Document,
|
|
228
|
-
Schema,
|
|
229
|
-
ExtractionResult,
|
|
230
|
-
Model,
|
|
231
|
-
BrowserCanvasSize
|
|
232
|
-
} from '@retab/node';
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
## Error Handling
|
|
236
|
-
|
|
237
|
-
The SDK provides detailed error types:
|
|
238
|
-
|
|
239
|
-
```typescript
|
|
240
|
-
import { RetabError } from '@retab/node';
|
|
241
|
-
|
|
242
|
-
try {
|
|
243
|
-
const result = await retab.documents.extract({
|
|
244
|
-
document: 'file.pdf',
|
|
245
|
-
schema: mySchema
|
|
246
|
-
});
|
|
247
|
-
} catch (error) {
|
|
248
|
-
if (error instanceof RetabError) {
|
|
249
|
-
console.error('API Error:', error.message);
|
|
250
|
-
console.error('Status:', error.status);
|
|
251
|
-
console.error('Details:', error.details);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
## Development
|
|
257
|
-
|
|
258
|
-
### Building from Source
|
|
259
|
-
|
|
260
|
-
```bash
|
|
261
|
-
npm install
|
|
262
|
-
npm run build
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
### Running Tests
|
|
266
|
-
|
|
267
|
-
```bash
|
|
268
|
-
npm test # Run all tests
|
|
269
|
-
npm run test:watch # Watch mode
|
|
270
|
-
npm run test:coverage # With coverage
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
### Linting and Formatting
|
|
274
|
-
|
|
275
|
-
```bash
|
|
276
|
-
npm run lint # Check for linting errors
|
|
277
|
-
npm run format # Format code with Prettier
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
## Requirements
|
|
77
|
+
## Key Features
|
|
281
78
|
|
|
282
|
-
- Node.js >= 16.0.0
|
|
283
|
-
- TypeScript >= 5.0.0 (for development)
|
|
284
79
|
|
|
285
|
-
## License
|
|
286
80
|
|
|
287
|
-
MIT
|
|
288
81
|
|
|
289
82
|
## Support
|
|
290
83
|
|
package/dist/api/client.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AbstractClient, CompositionClient } from "@/client";
|
|
2
2
|
import APIModels from "./models/client";
|
|
3
|
-
import APIConsensus from "./consensus/client";
|
|
4
3
|
import APIDocuments from "./documents/client";
|
|
5
4
|
import APISchemas from "./schemas/client";
|
|
6
5
|
import APIDeployments from "./deployments/client";
|
|
6
|
+
import APIProjects from "./projects/client";
|
|
7
7
|
export default class APIV1 extends CompositionClient {
|
|
8
8
|
constructor(client: AbstractClient);
|
|
9
9
|
models: APIModels;
|
|
10
|
-
consensus: APIConsensus;
|
|
11
10
|
documents: APIDocuments;
|
|
12
11
|
schemas: APISchemas;
|
|
13
12
|
deployments: APIDeployments;
|
|
13
|
+
projects: APIProjects;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,cAAc,MAAM,sBAAsB,CAAC;AAClD,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,iBAAiB;gBACpC,MAAM,EAAE,cAAc;IAIlC,MAAM,YAAuB;IAC7B,SAAS,eAA0B;IACnC,OAAO,aAAwB;IAC/B,WAAW,iBAA4B;IACvC,QAAQ,cAAyB;CACpC"}
|
package/dist/api/client.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { CompositionClient } from "@/client";
|
|
2
2
|
import APIModels from "./models/client";
|
|
3
|
-
import APIConsensus from "./consensus/client";
|
|
4
3
|
import APIDocuments from "./documents/client";
|
|
5
4
|
import APISchemas from "./schemas/client";
|
|
6
5
|
import APIDeployments from "./deployments/client";
|
|
6
|
+
import APIProjects from "./projects/client";
|
|
7
7
|
export default class APIV1 extends CompositionClient {
|
|
8
8
|
constructor(client) {
|
|
9
9
|
super(client);
|
|
10
10
|
this.models = new APIModels(this);
|
|
11
|
-
this.consensus = new APIConsensus(this);
|
|
12
11
|
this.documents = new APIDocuments(this);
|
|
13
12
|
this.schemas = new APISchemas(this);
|
|
14
13
|
this.deployments = new APIDeployments(this);
|
|
14
|
+
this.projects = new APIProjects(this);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -3,9 +3,9 @@ import { DocumentExtractRequest, RetabParsedChatCompletion, ParseRequest, ParseR
|
|
|
3
3
|
export default class APIDocuments extends CompositionClient {
|
|
4
4
|
constructor(client: CompositionClient);
|
|
5
5
|
extract(params: DocumentExtractRequest): Promise<RetabParsedChatCompletion>;
|
|
6
|
-
|
|
6
|
+
extract_stream(params: DocumentExtractRequest): Promise<AsyncGenerator<RetabParsedChatCompletionChunk>>;
|
|
7
7
|
parse(params: ParseRequest): Promise<ParseResult>;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
create_messages(params: DocumentCreateMessageRequest): Promise<DocumentMessage>;
|
|
9
|
+
create_inputs(params: DocumentCreateInputRequest): Promise<DocumentMessage>;
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/documents/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAA2B,sBAAsB,EAAE,yBAAyB,EAA8B,YAAY,EAAE,WAAW,EAA+B,4BAA4B,EAAE,eAAe,EAAmD,0BAA0B,EAA+B,8BAA8B,EAAmC,MAAM,SAAS,CAAC;AAGnZ,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,iBAAiB;gBAC3C,MAAM,EAAE,iBAAiB;IAG/B,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQ3E,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/documents/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAA2B,sBAAsB,EAAE,yBAAyB,EAA8B,YAAY,EAAE,WAAW,EAA+B,4BAA4B,EAAE,eAAe,EAAmD,0BAA0B,EAA+B,8BAA8B,EAAmC,MAAM,SAAS,CAAC;AAGnZ,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,iBAAiB;gBAC3C,MAAM,EAAE,iBAAiB;IAG/B,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQ3E,cAAc,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;IAQvG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;IAOjD,eAAe,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,eAAe,CAAC;IAO/E,aAAa,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC;CAOpF"}
|
|
@@ -12,7 +12,7 @@ export default class APIDocuments extends CompositionClient {
|
|
|
12
12
|
body: request,
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
async
|
|
15
|
+
async extract_stream(params) {
|
|
16
16
|
let request = await ZDocumentExtractRequest.parseAsync(params);
|
|
17
17
|
return this._fetchStream(ZRetabParsedChatCompletionChunk, {
|
|
18
18
|
url: "/v1/documents/extract",
|
|
@@ -27,14 +27,14 @@ export default class APIDocuments extends CompositionClient {
|
|
|
27
27
|
body: await ZParseRequest.parseAsync(params),
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
async
|
|
30
|
+
async create_messages(params) {
|
|
31
31
|
return this._fetchJson(ZDocumentMessage, {
|
|
32
32
|
url: "/v1/documents/create_messages",
|
|
33
33
|
method: "POST",
|
|
34
34
|
body: await ZDocumentCreateMessageRequest.parseAsync(params),
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
async
|
|
37
|
+
async create_inputs(params) {
|
|
38
38
|
return this._fetchJson(ZDocumentMessage, {
|
|
39
39
|
url: "/v1/documents/create_inputs",
|
|
40
40
|
method: "POST",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CompositionClient } from "@/client";
|
|
2
|
+
import { BaseProjectInput, Project, CreateProjectRequest } from "@/types";
|
|
3
|
+
import APIProjectsDocuments from "./documents/client";
|
|
4
|
+
import APIProjectsIterations from "./iterations/client";
|
|
5
|
+
export default class APIProjects extends CompositionClient {
|
|
6
|
+
constructor(client: CompositionClient);
|
|
7
|
+
documents: APIProjectsDocuments;
|
|
8
|
+
iterations: APIProjectsIterations;
|
|
9
|
+
create(body: CreateProjectRequest): Promise<Project>;
|
|
10
|
+
update(projectId: string, body: Partial<BaseProjectInput>): Promise<Project>;
|
|
11
|
+
list(): Promise<Project[]>;
|
|
12
|
+
get(projectId: string): Promise<Project>;
|
|
13
|
+
delete(projectId: string): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/api/projects/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAa,OAAO,EAAiD,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpI,OAAO,oBAAoB,MAAM,oBAAoB,CAAC;AACtD,OAAO,qBAAqB,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,iBAAiB;gBAC1C,MAAM,EAAE,iBAAiB;IAIrC,SAAS,uBAAkC;IAC3C,UAAU,wBAAmC;IAEvC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQpD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5E,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAO1B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOxC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMjD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CompositionClient } from "@/client";
|
|
2
|
+
import { dataArray, ZBaseProject, ZProject, ZCreateProjectRequest } from "@/types";
|
|
3
|
+
import APIProjectsDocuments from "./documents/client";
|
|
4
|
+
import APIProjectsIterations from "./iterations/client";
|
|
5
|
+
export default class APIProjects extends CompositionClient {
|
|
6
|
+
constructor(client) {
|
|
7
|
+
super(client);
|
|
8
|
+
this.documents = new APIProjectsDocuments(this);
|
|
9
|
+
this.iterations = new APIProjectsIterations(this);
|
|
10
|
+
}
|
|
11
|
+
async create(body) {
|
|
12
|
+
return this._fetchJson(ZProject, {
|
|
13
|
+
url: "/v1/projects",
|
|
14
|
+
method: "POST",
|
|
15
|
+
body: await ZCreateProjectRequest.parseAsync(body),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async update(projectId, body) {
|
|
19
|
+
return this._fetchJson(ZProject, {
|
|
20
|
+
url: `/v1/projects/${projectId}`,
|
|
21
|
+
method: "PATCH",
|
|
22
|
+
body: await ZBaseProject.partial().parseAsync(body),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async list() {
|
|
26
|
+
return this._fetchJson(dataArray(ZProject), {
|
|
27
|
+
url: "/v1/projects",
|
|
28
|
+
method: "GET",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async get(projectId) {
|
|
32
|
+
return this._fetchJson(ZProject, {
|
|
33
|
+
url: `/v1/projects/${projectId}`,
|
|
34
|
+
method: "GET",
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async delete(projectId) {
|
|
38
|
+
return this._fetchJson({
|
|
39
|
+
url: `/v1/projects/${projectId}`,
|
|
40
|
+
method: "DELETE",
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CompositionClient } from "@/client";
|
|
2
|
+
import * as z from "zod";
|
|
3
|
+
import { DocumentItemInput, ProjectDocument, ZPatchProjectDocumentRequest } from "@/types";
|
|
4
|
+
export default class APIProjectsDocuments extends CompositionClient {
|
|
5
|
+
constructor(client: CompositionClient);
|
|
6
|
+
create(projectId: string, body: DocumentItemInput): Promise<ProjectDocument>;
|
|
7
|
+
update(projectId: string, documentId: string, body: z.input<typeof ZPatchProjectDocumentRequest>): Promise<ProjectDocument>;
|
|
8
|
+
list(projectId: string): Promise<ProjectDocument[]>;
|
|
9
|
+
get(projectId: string, documentId: string): Promise<ProjectDocument>;
|
|
10
|
+
delete(projectId: string, documentId: string): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/projects/documents/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAmC,eAAe,EAAE,4BAA4B,EAAa,MAAM,SAAS,CAAC;AAEvI,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,iBAAiB;gBACnD,MAAM,EAAE,iBAAiB;IAG/B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ5E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ3H,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAOnD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAOpE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMrE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { CompositionClient } from "@/client";
|
|
2
|
+
import { ZDocumentItem, ZProjectDocument, ZPatchProjectDocumentRequest, dataArray } from "@/types";
|
|
3
|
+
export default class APIProjectsDocuments extends CompositionClient {
|
|
4
|
+
constructor(client) {
|
|
5
|
+
super(client);
|
|
6
|
+
}
|
|
7
|
+
async create(projectId, body) {
|
|
8
|
+
return this._fetchJson(ZProjectDocument, {
|
|
9
|
+
url: `/v1/projects/${projectId}/documents`,
|
|
10
|
+
method: "POST",
|
|
11
|
+
body: await ZDocumentItem.parseAsync(body),
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async update(projectId, documentId, body) {
|
|
15
|
+
return this._fetchJson(ZProjectDocument, {
|
|
16
|
+
url: `/v1/projects/${projectId}/documents/${documentId}`,
|
|
17
|
+
method: "PATCH",
|
|
18
|
+
body: await ZPatchProjectDocumentRequest.parseAsync(body),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async list(projectId) {
|
|
22
|
+
return this._fetchJson(dataArray(ZProjectDocument), {
|
|
23
|
+
url: `/v1/projects/${projectId}/documents`,
|
|
24
|
+
method: "GET",
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async get(projectId, documentId) {
|
|
28
|
+
return this._fetchJson(ZProjectDocument, {
|
|
29
|
+
url: `/v1/projects/${projectId}/documents/${documentId}`,
|
|
30
|
+
method: "GET",
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async delete(projectId, documentId) {
|
|
34
|
+
return this._fetchJson({
|
|
35
|
+
url: `/v1/projects/${projectId}/documents/${documentId}`,
|
|
36
|
+
method: "DELETE",
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CompositionClient } from "@/client";
|
|
2
|
+
import * as z from "zod";
|
|
3
|
+
import { ZInferenceSettings, ZPatchIterationRequest, ZIterationDocumentStatusResponse, ZProcessIterationRequest, Iteration, RetabParsedChatCompletion } from "@/types";
|
|
4
|
+
export default class APIProjectsIterations extends CompositionClient {
|
|
5
|
+
constructor(client: CompositionClient);
|
|
6
|
+
create(projectId: string, body: z.input<typeof ZInferenceSettings>): Promise<Iteration>;
|
|
7
|
+
update(projectId: string, iterationId: string, body: z.input<typeof ZPatchIterationRequest>): Promise<Iteration>;
|
|
8
|
+
list(projectId: string, params?: {
|
|
9
|
+
model?: string;
|
|
10
|
+
}): Promise<Iteration[]>;
|
|
11
|
+
get(projectId: string, iterationId: string): Promise<Iteration>;
|
|
12
|
+
delete(projectId: string, iterationId: string): Promise<void>;
|
|
13
|
+
status(projectId: string, iterationId: string): Promise<z.infer<typeof ZIterationDocumentStatusResponse>>;
|
|
14
|
+
process(projectId: string, iterationId: string, body?: z.input<typeof ZProcessIterationRequest>): Promise<Iteration>;
|
|
15
|
+
process_document(projectId: string, iterationId: string, documentId: string): Promise<RetabParsedChatCompletion>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/api/projects/iterations/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAA2B,sBAAsB,EAAE,gCAAgC,EAAE,wBAAwB,EAAa,SAAS,EAAc,yBAAyB,EAA8B,MAAM,SAAS,CAAC;AAEnP,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,iBAAiB;gBACpD,MAAM,EAAE,iBAAiB;IAG/B,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAYvF,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAQhH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQ1E,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAO/D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;IAOzG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAQpH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAOzH"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { CompositionClient } from "@/client";
|
|
2
|
+
import { ZCreateIterationRequest, ZPatchIterationRequest, ZIterationDocumentStatusResponse, ZProcessIterationRequest, dataArray, ZIteration, ZRetabParsedChatCompletion } from "@/types";
|
|
3
|
+
export default class APIProjectsIterations extends CompositionClient {
|
|
4
|
+
constructor(client) {
|
|
5
|
+
super(client);
|
|
6
|
+
}
|
|
7
|
+
async create(projectId, body) {
|
|
8
|
+
// Wrap the inference settings in the expected structure
|
|
9
|
+
const createRequest = {
|
|
10
|
+
inference_settings: body
|
|
11
|
+
};
|
|
12
|
+
return this._fetchJson(ZIteration, {
|
|
13
|
+
url: `/v1/projects/${projectId}/iterations`,
|
|
14
|
+
method: "POST",
|
|
15
|
+
body: await ZCreateIterationRequest.parseAsync(createRequest),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async update(projectId, iterationId, body) {
|
|
19
|
+
return this._fetchJson(ZIteration, {
|
|
20
|
+
url: `/v1/projects/${projectId}/iterations/${iterationId}`,
|
|
21
|
+
method: "PATCH",
|
|
22
|
+
body: await ZPatchIterationRequest.parseAsync(body),
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async list(projectId, params) {
|
|
26
|
+
return this._fetchJson(dataArray(ZIteration), {
|
|
27
|
+
url: `/v1/projects/${projectId}/iterations`,
|
|
28
|
+
method: "GET",
|
|
29
|
+
params: params,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
async get(projectId, iterationId) {
|
|
33
|
+
return this._fetchJson(ZIteration, {
|
|
34
|
+
url: `/v1/projects/${projectId}/iterations/${iterationId}`,
|
|
35
|
+
method: "GET",
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
async delete(projectId, iterationId) {
|
|
39
|
+
return this._fetchJson({
|
|
40
|
+
url: `/v1/projects/${projectId}/iterations/${iterationId}`,
|
|
41
|
+
method: "DELETE",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
async status(projectId, iterationId) {
|
|
45
|
+
return this._fetchJson(ZIterationDocumentStatusResponse, {
|
|
46
|
+
url: `/v1/projects/${projectId}/iterations/${iterationId}/status`,
|
|
47
|
+
method: "GET",
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async process(projectId, iterationId, body) {
|
|
51
|
+
return this._fetchJson(ZIteration, {
|
|
52
|
+
url: `/v1/projects/${projectId}/iterations/${iterationId}/process`,
|
|
53
|
+
method: "POST",
|
|
54
|
+
body: body ? await ZProcessIterationRequest.parseAsync(body) : {},
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
async process_document(projectId, iterationId, documentId) {
|
|
58
|
+
return this._fetchJson(ZRetabParsedChatCompletion, {
|
|
59
|
+
url: `/v1/projects/${projectId}/iterations/${iterationId}/documents/${documentId}/process`,
|
|
60
|
+
method: "POST",
|
|
61
|
+
body: { stream: false },
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
package/dist/client.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ type FetchParams = {
|
|
|
10
10
|
};
|
|
11
11
|
export declare class AbstractClient {
|
|
12
12
|
protected _fetch(_: FetchParams): Promise<Response>;
|
|
13
|
+
protected _fetchJson(params: FetchParams): Promise<void>;
|
|
13
14
|
protected _fetchJson<ZodSchema extends z.ZodType<any, any, any>>(bodyType: ZodSchema, params: FetchParams): Promise<z.output<ZodSchema>>;
|
|
14
15
|
protected _fetchStream<ZodSchema extends z.ZodType<any, any, any>>(schema: ZodSchema, params: FetchParams): Promise<AsyncGenerator<z.output<ZodSchema>>>;
|
|
15
16
|
}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,kBAAkB,GAAG,qBAAqB,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAyCF,qBAAa,cAAc;IACzB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;cAGnC,UAAU,CAAC,SAAS,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,KAAK,WAAW,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,kBAAkB,GAAG,qBAAqB,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAyCF,qBAAa,cAAc;IACzB,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;cAGnC,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;cAC9C,UAAU,CAAC,SAAS,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;cAc9H,YAAY,CAAC,SAAS,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;CAQ/J;AAED,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;gBACtB,MAAM,EAAE,cAAc;IAIlC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;CAGzD;AAED,qBAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;gBACD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAKzC;AAED,eAAO,MAAM,SAAS,gGAKpB,CAAC;AAEH,KAAK,SAAS,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,EAAE,CAAC;AAC5F,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,SAAS,CAAC;AAEd,qBAAa,aAAc,SAAQ,cAAc;IAC/C,OAAO,EAAE,aAAa,CAAC;gBACX,OAAO,CAAC,EAAE,aAAa;IAK7B,MAAM,CAAC,MAAM,EAAE;QACnB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,QAAQ,CAAC,EAAE,kBAAkB,GAAG,qBAAqB,CAAC;QACtD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC5B,GAAG,OAAO,CAAC,QAAQ,CAAC;CAmDtB"}
|
package/dist/client.js
CHANGED
|
@@ -46,11 +46,16 @@ export class AbstractClient {
|
|
|
46
46
|
_fetch(_) {
|
|
47
47
|
throw new Error("Method not implemented");
|
|
48
48
|
}
|
|
49
|
-
async _fetchJson(
|
|
49
|
+
async _fetchJson(_bodyType, _params) {
|
|
50
|
+
let params = _params || _bodyType;
|
|
51
|
+
let bodyType = _params ? _bodyType : undefined;
|
|
50
52
|
let response = await this._fetch(params);
|
|
51
53
|
if (!response.ok) {
|
|
52
54
|
throw new APIError(response.status, await response.text());
|
|
53
55
|
}
|
|
56
|
+
if (!bodyType) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
54
59
|
if (response.headers.get("Content-Type") !== "application/json")
|
|
55
60
|
throw new APIError(response.status, "Response is not JSON");
|
|
56
61
|
return bodyType.parseAsync(await response.json());
|