@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/dist/utils/jsonl.js
DELETED
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import { createReadStream, createWriteStream } from 'fs';
|
|
3
|
-
import { createInterface } from 'readline';
|
|
4
|
-
import { pipeline } from 'stream/promises';
|
|
5
|
-
import { Transform } from 'stream';
|
|
6
|
-
/**
|
|
7
|
-
* Read JSONL file and return array of parsed objects
|
|
8
|
-
*/
|
|
9
|
-
export async function readJSONL(filePath, options = {}) {
|
|
10
|
-
const { encoding = 'utf8' } = options;
|
|
11
|
-
const results = [];
|
|
12
|
-
const fileStream = createReadStream(filePath, { encoding });
|
|
13
|
-
const rl = createInterface({
|
|
14
|
-
input: fileStream,
|
|
15
|
-
crlfDelay: Infinity, // Handle Windows line endings
|
|
16
|
-
});
|
|
17
|
-
for await (const line of rl) {
|
|
18
|
-
const trimmedLine = line.trim();
|
|
19
|
-
if (trimmedLine) {
|
|
20
|
-
try {
|
|
21
|
-
results.push(JSON.parse(trimmedLine));
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
throw new Error(`Invalid JSON on line ${results.length + 1}: ${error instanceof Error ? error.message : String(error)}`);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return results;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Write array of objects to JSONL file
|
|
32
|
-
*/
|
|
33
|
-
export async function writeJSONL(filePath, data, options = {}) {
|
|
34
|
-
const { encoding = 'utf8' } = options;
|
|
35
|
-
const writeStream = createWriteStream(filePath, { encoding });
|
|
36
|
-
for (const item of data) {
|
|
37
|
-
const jsonLine = JSON.stringify(item) + '\n';
|
|
38
|
-
writeStream.write(jsonLine);
|
|
39
|
-
}
|
|
40
|
-
writeStream.end();
|
|
41
|
-
return new Promise((resolve, reject) => {
|
|
42
|
-
writeStream.on('finish', resolve);
|
|
43
|
-
writeStream.on('error', reject);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Append single object to JSONL file
|
|
48
|
-
*/
|
|
49
|
-
export async function appendJSONL(filePath, data, options = {}) {
|
|
50
|
-
const { encoding = 'utf8' } = options;
|
|
51
|
-
const jsonLine = JSON.stringify(data) + '\n';
|
|
52
|
-
return new Promise((resolve, reject) => {
|
|
53
|
-
fs.appendFile(filePath, jsonLine, { encoding }, (error) => {
|
|
54
|
-
if (error) {
|
|
55
|
-
reject(error);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
resolve();
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Stream JSONL file processing with transformation
|
|
65
|
-
*/
|
|
66
|
-
export async function streamJSONL(inputPath, outputPath, transform, options = {}) {
|
|
67
|
-
const { encoding = 'utf8' } = options;
|
|
68
|
-
const inputStream = createReadStream(inputPath, { encoding });
|
|
69
|
-
const outputStream = createWriteStream(outputPath, { encoding });
|
|
70
|
-
const transformStream = new Transform({
|
|
71
|
-
objectMode: true,
|
|
72
|
-
async transform(chunk, _encoding, callback) {
|
|
73
|
-
try {
|
|
74
|
-
const line = chunk.toString().trim();
|
|
75
|
-
if (line) {
|
|
76
|
-
const parsed = JSON.parse(line);
|
|
77
|
-
const transformed = await transform(parsed);
|
|
78
|
-
const jsonLine = JSON.stringify(transformed) + '\n';
|
|
79
|
-
callback(null, jsonLine);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
callback();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
callback(error instanceof Error ? error : new Error(String(error)));
|
|
87
|
-
}
|
|
88
|
-
},
|
|
89
|
-
});
|
|
90
|
-
const rl = createInterface({
|
|
91
|
-
input: inputStream,
|
|
92
|
-
crlfDelay: Infinity,
|
|
93
|
-
});
|
|
94
|
-
for await (const line of rl) {
|
|
95
|
-
transformStream.write(line);
|
|
96
|
-
}
|
|
97
|
-
transformStream.end();
|
|
98
|
-
await pipeline(transformStream, outputStream);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Validate JSONL file format
|
|
102
|
-
*/
|
|
103
|
-
export async function validateJSONL(filePath) {
|
|
104
|
-
const errors = [];
|
|
105
|
-
let lineNumber = 0;
|
|
106
|
-
try {
|
|
107
|
-
const fileStream = createReadStream(filePath, { encoding: 'utf8' });
|
|
108
|
-
const rl = createInterface({
|
|
109
|
-
input: fileStream,
|
|
110
|
-
crlfDelay: Infinity,
|
|
111
|
-
});
|
|
112
|
-
for await (const line of rl) {
|
|
113
|
-
lineNumber++;
|
|
114
|
-
const trimmedLine = line.trim();
|
|
115
|
-
if (trimmedLine) {
|
|
116
|
-
try {
|
|
117
|
-
JSON.parse(trimmedLine);
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
errors.push(`Line ${lineNumber}: Invalid JSON - ${error instanceof Error ? error.message : String(error)}`);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
errors.push(`File reading error: ${error instanceof Error ? error.message : String(error)}`);
|
|
127
|
-
}
|
|
128
|
-
return {
|
|
129
|
-
valid: errors.length === 0,
|
|
130
|
-
errors,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Count lines in JSONL file
|
|
135
|
-
*/
|
|
136
|
-
export async function countJSONL(filePath) {
|
|
137
|
-
let count = 0;
|
|
138
|
-
const fileStream = createReadStream(filePath, { encoding: 'utf8' });
|
|
139
|
-
const rl = createInterface({
|
|
140
|
-
input: fileStream,
|
|
141
|
-
crlfDelay: Infinity,
|
|
142
|
-
});
|
|
143
|
-
for await (const line of rl) {
|
|
144
|
-
if (line.trim()) {
|
|
145
|
-
count++;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
return count;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Split JSONL file into chunks
|
|
152
|
-
*/
|
|
153
|
-
export async function splitJSONL(inputPath, outputDir, chunkSize, options = {}) {
|
|
154
|
-
const { encoding = 'utf8' } = options;
|
|
155
|
-
const outputFiles = [];
|
|
156
|
-
let currentChunk = 0;
|
|
157
|
-
let currentCount = 0;
|
|
158
|
-
let currentStream = null;
|
|
159
|
-
const getOutputPath = (chunk) => {
|
|
160
|
-
const outputPath = `${outputDir}/chunk_${chunk.toString().padStart(3, '0')}.jsonl`;
|
|
161
|
-
outputFiles.push(outputPath);
|
|
162
|
-
return outputPath;
|
|
163
|
-
};
|
|
164
|
-
const fileStream = createReadStream(inputPath, { encoding });
|
|
165
|
-
const rl = createInterface({
|
|
166
|
-
input: fileStream,
|
|
167
|
-
crlfDelay: Infinity,
|
|
168
|
-
});
|
|
169
|
-
for await (const line of rl) {
|
|
170
|
-
const trimmedLine = line.trim();
|
|
171
|
-
if (trimmedLine) {
|
|
172
|
-
if (currentCount === 0) {
|
|
173
|
-
if (currentStream) {
|
|
174
|
-
currentStream.end();
|
|
175
|
-
}
|
|
176
|
-
currentStream = createWriteStream(getOutputPath(currentChunk), { encoding });
|
|
177
|
-
currentChunk++;
|
|
178
|
-
}
|
|
179
|
-
currentStream.write(trimmedLine + '\n');
|
|
180
|
-
currentCount++;
|
|
181
|
-
if (currentCount >= chunkSize) {
|
|
182
|
-
currentCount = 0;
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
if (currentStream) {
|
|
187
|
-
currentStream.end();
|
|
188
|
-
}
|
|
189
|
-
return outputFiles;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Merge multiple JSONL files
|
|
193
|
-
*/
|
|
194
|
-
export async function mergeJSONL(inputPaths, outputPath, options = {}) {
|
|
195
|
-
const { encoding = 'utf8' } = options;
|
|
196
|
-
const outputStream = createWriteStream(outputPath, { encoding });
|
|
197
|
-
for (const inputPath of inputPaths) {
|
|
198
|
-
const fileStream = createReadStream(inputPath, { encoding });
|
|
199
|
-
const rl = createInterface({
|
|
200
|
-
input: fileStream,
|
|
201
|
-
crlfDelay: Infinity,
|
|
202
|
-
});
|
|
203
|
-
for await (const line of rl) {
|
|
204
|
-
const trimmedLine = line.trim();
|
|
205
|
-
if (trimmedLine) {
|
|
206
|
-
outputStream.write(trimmedLine + '\n');
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
outputStream.end();
|
|
211
|
-
return new Promise((resolve, reject) => {
|
|
212
|
-
outputStream.on('finish', resolve);
|
|
213
|
-
outputStream.on('error', reject);
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Filter JSONL file based on predicate
|
|
218
|
-
*/
|
|
219
|
-
export async function filterJSONL(inputPath, outputPath, predicate, options = {}) {
|
|
220
|
-
const { encoding = 'utf8' } = options;
|
|
221
|
-
let filteredCount = 0;
|
|
222
|
-
const outputStream = createWriteStream(outputPath, { encoding });
|
|
223
|
-
const fileStream = createReadStream(inputPath, { encoding });
|
|
224
|
-
const rl = createInterface({
|
|
225
|
-
input: fileStream,
|
|
226
|
-
crlfDelay: Infinity,
|
|
227
|
-
});
|
|
228
|
-
for await (const line of rl) {
|
|
229
|
-
const trimmedLine = line.trim();
|
|
230
|
-
if (trimmedLine) {
|
|
231
|
-
try {
|
|
232
|
-
const parsed = JSON.parse(trimmedLine);
|
|
233
|
-
if (await predicate(parsed)) {
|
|
234
|
-
outputStream.write(trimmedLine + '\n');
|
|
235
|
-
filteredCount++;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
// Skip invalid JSON lines
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
outputStream.end();
|
|
244
|
-
return new Promise((resolve, reject) => {
|
|
245
|
-
outputStream.on('finish', () => resolve(filteredCount));
|
|
246
|
-
outputStream.on('error', reject);
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
export default {
|
|
250
|
-
readJSONL,
|
|
251
|
-
writeJSONL,
|
|
252
|
-
appendJSONL,
|
|
253
|
-
streamJSONL,
|
|
254
|
-
validateJSONL,
|
|
255
|
-
countJSONL,
|
|
256
|
-
splitJSONL,
|
|
257
|
-
mergeJSONL,
|
|
258
|
-
filterJSONL,
|
|
259
|
-
};
|
package/dist/utils/mime.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { MIMEData } from '../types/mime.js';
|
|
2
|
-
export declare function prepareMimeDocument(document: string | Buffer | MIMEData): MIMEData;
|
|
3
|
-
export declare function prepareMimeDocumentList(documents: Array<string | Buffer | MIMEData>): MIMEData[];
|
|
4
|
-
export declare function getMimeType(filePath: string): string;
|
|
5
|
-
export declare function validateMimeData(data: any): MIMEData;
|
|
6
|
-
//# sourceMappingURL=mime.d.ts.map
|
package/dist/utils/mime.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mime.d.ts","sourceRoot":"","sources":["../../src/utils/mime.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAkB,MAAM,kBAAkB,CAAC;AAE5D,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CA6ClF;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,GAAG,QAAQ,EAAE,CAEhG;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAwEpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,QAAQ,CAEpD"}
|
package/dist/utils/mime.js
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { MIMEDataSchema } from '../types/mime.js';
|
|
4
|
-
export function prepareMimeDocument(document) {
|
|
5
|
-
if (typeof document === 'string') {
|
|
6
|
-
// If it's a file path, read the file
|
|
7
|
-
if (fs.existsSync(document)) {
|
|
8
|
-
const filename = path.basename(document);
|
|
9
|
-
const content = fs.readFileSync(document);
|
|
10
|
-
const base64Content = content.toString('base64');
|
|
11
|
-
const mimeType = getMimeType(document);
|
|
12
|
-
return {
|
|
13
|
-
id: 'doc_' + Date.now(),
|
|
14
|
-
extension: path.extname(filename).slice(1) || 'unknown',
|
|
15
|
-
content: base64Content,
|
|
16
|
-
mime_type: mimeType,
|
|
17
|
-
unique_filename: filename,
|
|
18
|
-
size: content.length,
|
|
19
|
-
filename,
|
|
20
|
-
url: `data:${mimeType};base64,${base64Content}`,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
// Otherwise treat as text content
|
|
24
|
-
const base64Content = Buffer.from(document).toString('base64');
|
|
25
|
-
return {
|
|
26
|
-
id: 'doc_' + Date.now(),
|
|
27
|
-
extension: 'txt',
|
|
28
|
-
content: base64Content,
|
|
29
|
-
mime_type: 'text/plain',
|
|
30
|
-
unique_filename: 'content.txt',
|
|
31
|
-
size: Buffer.byteLength(document),
|
|
32
|
-
filename: 'content.txt',
|
|
33
|
-
url: `data:text/plain;base64,${base64Content}`,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
else if (Buffer.isBuffer(document)) {
|
|
37
|
-
const base64Content = document.toString('base64');
|
|
38
|
-
return {
|
|
39
|
-
id: 'doc_' + Date.now(),
|
|
40
|
-
extension: 'bin',
|
|
41
|
-
content: base64Content,
|
|
42
|
-
mime_type: 'application/octet-stream',
|
|
43
|
-
unique_filename: 'content.bin',
|
|
44
|
-
size: document.length,
|
|
45
|
-
filename: 'content.bin',
|
|
46
|
-
url: `data:application/octet-stream;base64,${base64Content}`,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
return document;
|
|
50
|
-
}
|
|
51
|
-
export function prepareMimeDocumentList(documents) {
|
|
52
|
-
return documents.map(doc => prepareMimeDocument(doc));
|
|
53
|
-
}
|
|
54
|
-
export function getMimeType(filePath) {
|
|
55
|
-
const ext = path.extname(filePath).toLowerCase();
|
|
56
|
-
const mimeTypes = {
|
|
57
|
-
'.pdf': 'application/pdf',
|
|
58
|
-
'.jpg': 'image/jpeg',
|
|
59
|
-
'.jpeg': 'image/jpeg',
|
|
60
|
-
'.png': 'image/png',
|
|
61
|
-
'.gif': 'image/gif',
|
|
62
|
-
'.bmp': 'image/bmp',
|
|
63
|
-
'.tiff': 'image/tiff',
|
|
64
|
-
'.webp': 'image/webp',
|
|
65
|
-
'.txt': 'text/plain',
|
|
66
|
-
'.json': 'application/json',
|
|
67
|
-
'.html': 'text/html',
|
|
68
|
-
'.htm': 'text/html',
|
|
69
|
-
'.xml': 'application/xml',
|
|
70
|
-
'.csv': 'text/csv',
|
|
71
|
-
'.tsv': 'text/tab-separated-values',
|
|
72
|
-
'.md': 'text/markdown',
|
|
73
|
-
'.log': 'text/plain',
|
|
74
|
-
'.yaml': 'application/x-yaml',
|
|
75
|
-
'.yml': 'application/x-yaml',
|
|
76
|
-
'.rtf': 'application/rtf',
|
|
77
|
-
'.ini': 'text/plain',
|
|
78
|
-
'.conf': 'text/plain',
|
|
79
|
-
'.cfg': 'text/plain',
|
|
80
|
-
'.nfo': 'text/plain',
|
|
81
|
-
'.srt': 'text/plain',
|
|
82
|
-
'.sql': 'text/plain',
|
|
83
|
-
'.sh': 'text/x-shellscript',
|
|
84
|
-
'.bat': 'text/plain',
|
|
85
|
-
'.ps1': 'text/plain',
|
|
86
|
-
'.js': 'text/javascript',
|
|
87
|
-
'.jsx': 'text/javascript',
|
|
88
|
-
'.ts': 'text/typescript',
|
|
89
|
-
'.tsx': 'text/typescript',
|
|
90
|
-
'.py': 'text/x-python',
|
|
91
|
-
'.java': 'text/x-java-source',
|
|
92
|
-
'.c': 'text/x-c',
|
|
93
|
-
'.cpp': 'text/x-c++',
|
|
94
|
-
'.cs': 'text/x-csharp',
|
|
95
|
-
'.rb': 'text/x-ruby',
|
|
96
|
-
'.php': 'text/x-php',
|
|
97
|
-
'.swift': 'text/x-swift',
|
|
98
|
-
'.kt': 'text/x-kotlin',
|
|
99
|
-
'.go': 'text/x-go',
|
|
100
|
-
'.rs': 'text/x-rust',
|
|
101
|
-
'.pl': 'text/x-perl',
|
|
102
|
-
'.r': 'text/x-r',
|
|
103
|
-
'.m': 'text/x-objc',
|
|
104
|
-
'.scala': 'text/x-scala',
|
|
105
|
-
'.xls': 'application/vnd.ms-excel',
|
|
106
|
-
'.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
107
|
-
'.ods': 'application/vnd.oasis.opendocument.spreadsheet',
|
|
108
|
-
'.doc': 'application/msword',
|
|
109
|
-
'.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
110
|
-
'.odt': 'application/vnd.oasis.opendocument.text',
|
|
111
|
-
'.ppt': 'application/vnd.ms-powerpoint',
|
|
112
|
-
'.pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
|
113
|
-
'.odp': 'application/vnd.oasis.opendocument.presentation',
|
|
114
|
-
'.mhtml': 'message/rfc822',
|
|
115
|
-
'.eml': 'message/rfc822',
|
|
116
|
-
'.msg': 'application/vnd.ms-outlook',
|
|
117
|
-
'.mp3': 'audio/mpeg',
|
|
118
|
-
'.mp4': 'video/mp4',
|
|
119
|
-
'.mpeg': 'video/mpeg',
|
|
120
|
-
'.mpga': 'audio/mpeg',
|
|
121
|
-
'.m4a': 'audio/mp4',
|
|
122
|
-
'.wav': 'audio/wav',
|
|
123
|
-
'.webm': 'video/webm',
|
|
124
|
-
};
|
|
125
|
-
return mimeTypes[ext] || 'application/octet-stream';
|
|
126
|
-
}
|
|
127
|
-
export function validateMimeData(data) {
|
|
128
|
-
return MIMEDataSchema.parse(data);
|
|
129
|
-
}
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Model cards and AI provider configuration management
|
|
3
|
-
* Equivalent to Python's utils/_model_cards/ directory
|
|
4
|
-
*/
|
|
5
|
-
export interface ModelCard {
|
|
6
|
-
id: string;
|
|
7
|
-
name: string;
|
|
8
|
-
provider: 'openai' | 'anthropic' | 'xai' | 'gemini' | 'custom';
|
|
9
|
-
model_family: string;
|
|
10
|
-
version: string;
|
|
11
|
-
description: string;
|
|
12
|
-
capabilities: ModelCapabilities;
|
|
13
|
-
limitations: ModelLimitations;
|
|
14
|
-
pricing: ModelPricing;
|
|
15
|
-
performance_benchmarks: PerformanceBenchmarks;
|
|
16
|
-
technical_specs: TechnicalSpecs;
|
|
17
|
-
usage_guidelines: UsageGuidelines;
|
|
18
|
-
supported_features: string[];
|
|
19
|
-
deprecated: boolean;
|
|
20
|
-
deprecation_date?: Date;
|
|
21
|
-
replacement_model?: string;
|
|
22
|
-
created_at: Date;
|
|
23
|
-
updated_at: Date;
|
|
24
|
-
}
|
|
25
|
-
export interface ModelCapabilities {
|
|
26
|
-
text_generation: boolean;
|
|
27
|
-
text_analysis: boolean;
|
|
28
|
-
document_extraction: boolean;
|
|
29
|
-
image_understanding: boolean;
|
|
30
|
-
function_calling: boolean;
|
|
31
|
-
json_mode: boolean;
|
|
32
|
-
streaming: boolean;
|
|
33
|
-
batch_processing: boolean;
|
|
34
|
-
fine_tuning: boolean;
|
|
35
|
-
embedding_generation: boolean;
|
|
36
|
-
reasoning: boolean;
|
|
37
|
-
code_generation: boolean;
|
|
38
|
-
multilingual: boolean;
|
|
39
|
-
supported_languages?: string[];
|
|
40
|
-
max_context_window: number;
|
|
41
|
-
max_output_tokens: number;
|
|
42
|
-
}
|
|
43
|
-
export interface ModelLimitations {
|
|
44
|
-
rate_limits: {
|
|
45
|
-
requests_per_minute: number;
|
|
46
|
-
tokens_per_minute: number;
|
|
47
|
-
requests_per_day?: number;
|
|
48
|
-
};
|
|
49
|
-
content_restrictions: string[];
|
|
50
|
-
geographical_restrictions?: string[];
|
|
51
|
-
knowledge_cutoff_date?: Date;
|
|
52
|
-
training_data_cutoff?: Date;
|
|
53
|
-
known_biases?: string[];
|
|
54
|
-
accuracy_limitations?: string[];
|
|
55
|
-
performance_degradation_scenarios?: string[];
|
|
56
|
-
}
|
|
57
|
-
export interface ModelPricing {
|
|
58
|
-
input_tokens_per_1k: number;
|
|
59
|
-
output_tokens_per_1k: number;
|
|
60
|
-
image_tokens_per_1k?: number;
|
|
61
|
-
fine_tuning_training_per_1k?: number;
|
|
62
|
-
fine_tuning_usage_per_1k?: number;
|
|
63
|
-
batch_discount_percentage?: number;
|
|
64
|
-
currency: 'USD' | 'EUR' | 'GBP';
|
|
65
|
-
billing_unit: 'token' | 'request' | 'minute';
|
|
66
|
-
minimum_charge?: number;
|
|
67
|
-
free_tier?: {
|
|
68
|
-
requests_per_month: number;
|
|
69
|
-
tokens_per_month: number;
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
export interface PerformanceBenchmarks {
|
|
73
|
-
accuracy_scores: {
|
|
74
|
-
general_text: number;
|
|
75
|
-
document_extraction: number;
|
|
76
|
-
reasoning: number;
|
|
77
|
-
code_generation: number;
|
|
78
|
-
multilingual: number;
|
|
79
|
-
};
|
|
80
|
-
speed_metrics: {
|
|
81
|
-
average_latency_ms: number;
|
|
82
|
-
tokens_per_second: number;
|
|
83
|
-
throughput_requests_per_minute: number;
|
|
84
|
-
};
|
|
85
|
-
reliability_metrics: {
|
|
86
|
-
uptime_percentage: number;
|
|
87
|
-
error_rate_percentage: number;
|
|
88
|
-
consistency_score: number;
|
|
89
|
-
};
|
|
90
|
-
cost_efficiency: {
|
|
91
|
-
cost_per_accurate_response: number;
|
|
92
|
-
cost_performance_ratio: number;
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
export interface TechnicalSpecs {
|
|
96
|
-
architecture: string;
|
|
97
|
-
parameter_count?: string;
|
|
98
|
-
training_data_size?: string;
|
|
99
|
-
training_compute?: string;
|
|
100
|
-
inference_hardware: string[];
|
|
101
|
-
optimization_techniques: string[];
|
|
102
|
-
supported_formats: {
|
|
103
|
-
input: string[];
|
|
104
|
-
output: string[];
|
|
105
|
-
};
|
|
106
|
-
api_compatibility: {
|
|
107
|
-
openai_compatible: boolean;
|
|
108
|
-
custom_endpoints: boolean;
|
|
109
|
-
webhook_support: boolean;
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
export interface UsageGuidelines {
|
|
113
|
-
recommended_use_cases: string[];
|
|
114
|
-
not_recommended_for: string[];
|
|
115
|
-
best_practices: string[];
|
|
116
|
-
prompt_engineering_tips: string[];
|
|
117
|
-
parameter_recommendations: {
|
|
118
|
-
temperature: {
|
|
119
|
-
creative_tasks: number;
|
|
120
|
-
analytical_tasks: number;
|
|
121
|
-
extraction_tasks: number;
|
|
122
|
-
};
|
|
123
|
-
top_p?: number;
|
|
124
|
-
frequency_penalty?: number;
|
|
125
|
-
presence_penalty?: number;
|
|
126
|
-
};
|
|
127
|
-
context_window_optimization: string[];
|
|
128
|
-
}
|
|
129
|
-
export interface ProviderConfig {
|
|
130
|
-
provider_id: 'openai' | 'anthropic' | 'xai' | 'gemini' | 'custom';
|
|
131
|
-
provider_name: string;
|
|
132
|
-
api_base_url: string;
|
|
133
|
-
authentication: {
|
|
134
|
-
type: 'api_key' | 'oauth' | 'bearer_token' | 'custom';
|
|
135
|
-
header_name: string;
|
|
136
|
-
header_prefix?: string;
|
|
137
|
-
};
|
|
138
|
-
rate_limiting: {
|
|
139
|
-
default_rpm: number;
|
|
140
|
-
default_tpm: number;
|
|
141
|
-
burst_allowance: number;
|
|
142
|
-
backoff_strategy: 'exponential' | 'linear' | 'fixed';
|
|
143
|
-
};
|
|
144
|
-
request_format: {
|
|
145
|
-
content_type: string;
|
|
146
|
-
encoding: string;
|
|
147
|
-
supports_streaming: boolean;
|
|
148
|
-
supports_batch: boolean;
|
|
149
|
-
};
|
|
150
|
-
response_format: {
|
|
151
|
-
content_type: string;
|
|
152
|
-
error_format: 'openai' | 'anthropic' | 'custom';
|
|
153
|
-
streaming_format?: string;
|
|
154
|
-
};
|
|
155
|
-
supported_models: string[];
|
|
156
|
-
model_aliases?: Record<string, string>;
|
|
157
|
-
default_parameters: Record<string, any>;
|
|
158
|
-
health_check: {
|
|
159
|
-
endpoint: string;
|
|
160
|
-
method: 'GET' | 'POST';
|
|
161
|
-
expected_status: number;
|
|
162
|
-
timeout_ms: number;
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
export interface ModelSelectionCriteria {
|
|
166
|
-
task_type: 'extraction' | 'generation' | 'analysis' | 'classification' | 'reasoning';
|
|
167
|
-
accuracy_priority: 'low' | 'medium' | 'high' | 'critical';
|
|
168
|
-
speed_priority: 'low' | 'medium' | 'high' | 'critical';
|
|
169
|
-
cost_priority: 'low' | 'medium' | 'high' | 'critical';
|
|
170
|
-
context_length_required: number;
|
|
171
|
-
output_length_required: number;
|
|
172
|
-
supports_images: boolean;
|
|
173
|
-
supports_function_calling: boolean;
|
|
174
|
-
supports_json_mode: boolean;
|
|
175
|
-
language_requirements?: string[];
|
|
176
|
-
compliance_requirements?: string[];
|
|
177
|
-
geographical_restrictions?: string[];
|
|
178
|
-
}
|
|
179
|
-
export interface ModelRecommendation {
|
|
180
|
-
model_id: string;
|
|
181
|
-
model_name: string;
|
|
182
|
-
provider: string;
|
|
183
|
-
confidence_score: number;
|
|
184
|
-
rationale: string[];
|
|
185
|
-
expected_performance: {
|
|
186
|
-
accuracy: number;
|
|
187
|
-
latency_ms: number;
|
|
188
|
-
cost_per_request: number;
|
|
189
|
-
};
|
|
190
|
-
trade_offs: string[];
|
|
191
|
-
alternative_models: Array<{
|
|
192
|
-
model_id: string;
|
|
193
|
-
reason: string;
|
|
194
|
-
trade_off: string;
|
|
195
|
-
}>;
|
|
196
|
-
}
|
|
197
|
-
export declare const modelCards: Record<string, ModelCard>;
|
|
198
|
-
export declare const providerConfigs: Record<string, ProviderConfig>;
|
|
199
|
-
export declare class ModelCardManager {
|
|
200
|
-
private static instance;
|
|
201
|
-
private cards;
|
|
202
|
-
private configs;
|
|
203
|
-
constructor();
|
|
204
|
-
static getInstance(): ModelCardManager;
|
|
205
|
-
getModelCard(modelId: string): ModelCard | undefined;
|
|
206
|
-
getProviderConfig(providerId: string): ProviderConfig | undefined;
|
|
207
|
-
getAllModels(): ModelCard[];
|
|
208
|
-
getModelsByProvider(providerId: string): ModelCard[];
|
|
209
|
-
recommendModel(criteria: ModelSelectionCriteria): ModelRecommendation[];
|
|
210
|
-
addModelCard(card: ModelCard): void;
|
|
211
|
-
updateModelCard(modelId: string, updates: Partial<ModelCard>): void;
|
|
212
|
-
}
|
|
213
|
-
declare const _default: {
|
|
214
|
-
ModelCardManager: typeof ModelCardManager;
|
|
215
|
-
modelCards: Record<string, ModelCard>;
|
|
216
|
-
providerConfigs: Record<string, ProviderConfig>;
|
|
217
|
-
};
|
|
218
|
-
export default _default;
|
|
219
|
-
//# sourceMappingURL=model_cards.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model_cards.d.ts","sourceRoot":"","sources":["../../src/utils/model_cards.ts"],"names":[],"mappings":"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"}
|