hybridtm 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/hybridtm.d.ts +1 -0
- package/dist/hybridtm.js +21 -1
- package/dist/hybridtm.js.map +1 -1
- package/dist/package.json +35 -0
- package/dist/ts/batchImporter.d.ts +22 -0
- package/dist/ts/batchImporter.js +203 -0
- package/dist/ts/batchImporter.js.map +1 -0
- package/dist/ts/hybridtm.d.ts +67 -0
- package/dist/ts/hybridtm.js +932 -0
- package/dist/ts/hybridtm.js.map +1 -0
- package/dist/ts/hybridtmFactory.d.ts +43 -0
- package/dist/ts/hybridtmFactory.js +165 -0
- package/dist/ts/hybridtmFactory.js.map +1 -0
- package/dist/ts/importOptions.d.ts +21 -0
- package/dist/ts/importOptions.js +24 -0
- package/dist/ts/importOptions.js.map +1 -0
- package/dist/ts/index.d.ts +25 -0
- package/dist/ts/index.js +22 -0
- package/dist/ts/index.js.map +1 -0
- package/dist/ts/langEntry.d.ts +64 -0
- package/dist/ts/langEntry.js +13 -0
- package/dist/ts/langEntry.js.map +1 -0
- package/dist/ts/match.d.ts +22 -0
- package/dist/ts/match.js +38 -0
- package/dist/ts/match.js.map +1 -0
- package/dist/ts/matchQuality.d.ts +16 -0
- package/dist/ts/matchQuality.js +83 -0
- package/dist/ts/matchQuality.js.map +1 -0
- package/dist/ts/pendingEntry.d.ts +24 -0
- package/dist/ts/pendingEntry.js +13 -0
- package/dist/ts/pendingEntry.js.map +1 -0
- package/dist/ts/searchFilters.d.ts +24 -0
- package/dist/ts/searchFilters.js +13 -0
- package/dist/ts/searchFilters.js.map +1 -0
- package/dist/ts/tmxHandler.d.ts +61 -0
- package/dist/ts/tmxHandler.js +347 -0
- package/dist/ts/tmxHandler.js.map +1 -0
- package/dist/ts/tmxReader.d.ts +25 -0
- package/dist/ts/tmxReader.js +51 -0
- package/dist/ts/tmxReader.js.map +1 -0
- package/dist/ts/tmxtest.d.ts +16 -0
- package/dist/ts/tmxtest.js +316 -0
- package/dist/ts/tmxtest.js.map +1 -0
- package/dist/ts/utils.d.ts +17 -0
- package/dist/ts/utils.js +49 -0
- package/dist/ts/utils.js.map +1 -0
- package/dist/ts/xliffHandler.d.ts +67 -0
- package/dist/ts/xliffHandler.js +522 -0
- package/dist/ts/xliffHandler.js.map +1 -0
- package/dist/ts/xliffReader.d.ts +25 -0
- package/dist/ts/xliffReader.js +50 -0
- package/dist/ts/xliffReader.js.map +1 -0
- package/dist/ts/xlifftest.d.ts +54 -0
- package/dist/ts/xlifftest.js +245 -0
- package/dist/ts/xlifftest.js.map +1 -0
- package/package.json +8 -7
package/README.md
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# HybridTM
|
|
2
2
|
|
|
3
|
-
HybridTM is a
|
|
3
|
+
HybridTM is a semantic translation memory engine that stores bilingual content in LanceDB and scores matches by combining semantic embeddings (Xenova/Transformers.js) with the built-in MatchQuality fuzzy metric.
|
|
4
4
|
|
|
5
5
|
## Highlights
|
|
6
6
|
|
|
7
|
-
- Imports XLIFF
|
|
7
|
+
- Imports XLIFF 2.x, TMX 1.4b, and SDLTM files, preserving metadata, notes, and custom properties
|
|
8
8
|
- Generates semantic vectors with any Xenova-compatible text model (default: `HybridTM.QUALITY_MODEL`, LaBSE)
|
|
9
9
|
- Provides `semanticTranslationSearch`, `semanticSearch`, and `concordanceSearch` APIs with metadata-aware filtering
|
|
10
10
|
- Streams data into LanceDB through a JSONL-based batch importer to keep memory usage predictable
|
|
@@ -62,11 +62,12 @@ main().catch((error) => {
|
|
|
62
62
|
});
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
Import XLIFF/TMX content at any time:
|
|
65
|
+
Import XLIFF/TMX/SDLTM content at any time:
|
|
66
66
|
|
|
67
67
|
```typescript
|
|
68
68
|
await tm.importXLIFF('./translations/project.xlf', { minState: 'reviewed' });
|
|
69
69
|
await tm.importTMX('./translations/legacy.tmx');
|
|
70
|
+
await tm.importSDLTM('./translations/legacy.sdltm');
|
|
70
71
|
```
|
|
71
72
|
|
|
72
73
|
`semanticTranslationSearch` automatically pairs every source hit with its matching target segment (same `fileId`, `unitId`, and `segmentIndex`), making the output ready for CAT integrations.
|
package/dist/hybridtm.d.ts
CHANGED
|
@@ -63,4 +63,5 @@ export declare class HybridTM {
|
|
|
63
63
|
deleteLangEntry(fileId: string, unitId: string, lang: string, segmentIndex?: number): Promise<boolean>;
|
|
64
64
|
importXLIFF(filePath: string, options?: ImportOptions): Promise<void>;
|
|
65
65
|
importTMX(filePath: string, options?: ImportOptions): Promise<void>;
|
|
66
|
+
importSDLTM(filePath: string, options?: ImportOptions): Promise<void>;
|
|
66
67
|
}
|
package/dist/hybridtm.js
CHANGED
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
import { connect } from '@lancedb/lancedb';
|
|
13
13
|
import { pipeline } from '@xenova/transformers';
|
|
14
14
|
import { Field, FixedSizeList, Float32, Int32, Schema, Utf8 } from 'apache-arrow';
|
|
15
|
+
import { unlinkSync } from 'node:fs';
|
|
16
|
+
import { tmpdir } from "node:os";
|
|
17
|
+
import { join } from 'node:path';
|
|
18
|
+
import { TMReader } from 'sdltm';
|
|
15
19
|
import { BatchImporter } from './batchImporter.js';
|
|
16
20
|
import { resolveImportOptions } from './importOptions.js';
|
|
17
21
|
import { Match } from './match.js';
|
|
@@ -281,7 +285,8 @@ export class HybridTM {
|
|
|
281
285
|
return undefined;
|
|
282
286
|
};
|
|
283
287
|
const stateValue = str(row.metadataState);
|
|
284
|
-
|
|
288
|
+
const validStatuses = ['initial', 'translated', 'reviewed', 'final'];
|
|
289
|
+
if (stateValue && validStatuses.includes(stateValue)) {
|
|
285
290
|
metadata.state = stateValue;
|
|
286
291
|
}
|
|
287
292
|
const subStateValue = str(row.metadataSubState);
|
|
@@ -908,5 +913,20 @@ export class HybridTM {
|
|
|
908
913
|
const importer = new BatchImporter(this, reader.getTempFilePath(), reader.getEntryCount());
|
|
909
914
|
await importer.import();
|
|
910
915
|
}
|
|
916
|
+
async importSDLTM(filePath, options) {
|
|
917
|
+
const tempDir = tmpdir();
|
|
918
|
+
const tempFileName = 'tmx_' + Date.now() + '_' + Math.random().toString(36).substring(7) + '.tmx';
|
|
919
|
+
const tempFilePath = join(tempDir, tempFileName);
|
|
920
|
+
const packageJson = await import('../package.json', { with: { type: 'json' } });
|
|
921
|
+
const productName = packageJson.default.productName;
|
|
922
|
+
const version = packageJson.default.version;
|
|
923
|
+
const tmReader = new TMReader({ 'productName': productName, 'version': version });
|
|
924
|
+
const data = await tmReader.convert(filePath, tempFilePath);
|
|
925
|
+
if (data.status !== 'Success') {
|
|
926
|
+
throw new Error('SDL TM conversion failed for file ' + filePath);
|
|
927
|
+
}
|
|
928
|
+
await this.importTMX(tempFilePath, options);
|
|
929
|
+
unlinkSync(tempFilePath);
|
|
930
|
+
}
|
|
911
931
|
}
|
|
912
932
|
//# sourceMappingURL=hybridtm.js.map
|
package/dist/hybridtm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybridtm.js","sourceRoot":"","sources":["../ts/hybridtm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hybridtm.js","sourceRoot":"","sources":["../ts/hybridtm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "hybridtm",
|
|
3
|
+
"productName": "HybridTM",
|
|
4
|
+
"version": "0.2.0",
|
|
5
|
+
"description": "HybridTM is a Translation Memory (TM) engine that combines semantic embeddings with fuzzy string matching.",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"files": [
|
|
10
|
+
"/dist"
|
|
11
|
+
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc"
|
|
14
|
+
},
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "Rodolfo M. Raya",
|
|
17
|
+
"url": "https://maxprograms.com",
|
|
18
|
+
"email": "rmraya@maxprograms.com"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [],
|
|
21
|
+
"license": "EPL-1.0",
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@lancedb/lancedb": "^0.23.0",
|
|
24
|
+
"@xenova/transformers": "^2.17.2",
|
|
25
|
+
"apache-arrow": "^18.1.0",
|
|
26
|
+
"sdltm": "^2.0.0",
|
|
27
|
+
"typesbcp47": "^1.17.0",
|
|
28
|
+
"typesxml": "^1.17.0"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "^24.10.4",
|
|
32
|
+
"ts-node": "^10.9.2",
|
|
33
|
+
"typescript": "^5.9.3"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials
|
|
5
|
+
* are made available under the terms of the Eclipse License 1.0
|
|
6
|
+
* which accompanies this distribution, and is available at
|
|
7
|
+
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
|
+
*
|
|
9
|
+
* Contributors:
|
|
10
|
+
* Maxprograms - initial API and implementation
|
|
11
|
+
*******************************************************************************/
|
|
12
|
+
import { HybridTM } from './hybridtm.js';
|
|
13
|
+
export declare class BatchImporter {
|
|
14
|
+
private tm;
|
|
15
|
+
private tempFilePath;
|
|
16
|
+
private batchSize;
|
|
17
|
+
private totalEntries;
|
|
18
|
+
constructor(tm: HybridTM, tempFilePath: string, totalEntries?: number, batchSize?: number);
|
|
19
|
+
import(): Promise<void>;
|
|
20
|
+
private parseMetadata;
|
|
21
|
+
private cleanup;
|
|
22
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials
|
|
5
|
+
* are made available under the terms of the Eclipse License 1.0
|
|
6
|
+
* which accompanies this distribution, and is available at
|
|
7
|
+
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
|
+
*
|
|
9
|
+
* Contributors:
|
|
10
|
+
* Maxprograms - initial API and implementation
|
|
11
|
+
*******************************************************************************/
|
|
12
|
+
import { createReadStream, existsSync, unlinkSync } from "node:fs";
|
|
13
|
+
import { createInterface } from 'node:readline';
|
|
14
|
+
import { Utils } from './utils.js';
|
|
15
|
+
export class BatchImporter {
|
|
16
|
+
tm;
|
|
17
|
+
tempFilePath;
|
|
18
|
+
batchSize;
|
|
19
|
+
totalEntries;
|
|
20
|
+
constructor(tm, tempFilePath, totalEntries = 0, batchSize = 1000) {
|
|
21
|
+
this.tm = tm;
|
|
22
|
+
this.tempFilePath = tempFilePath;
|
|
23
|
+
this.totalEntries = totalEntries;
|
|
24
|
+
this.batchSize = batchSize;
|
|
25
|
+
}
|
|
26
|
+
async import() {
|
|
27
|
+
try {
|
|
28
|
+
console.log('Starting batch import from ' + this.tempFilePath + '...');
|
|
29
|
+
if (this.totalEntries > 0) {
|
|
30
|
+
console.log('Total entries to import: ' + this.totalEntries.toLocaleString());
|
|
31
|
+
}
|
|
32
|
+
const fileStream = createReadStream(this.tempFilePath, { encoding: 'utf8' });
|
|
33
|
+
const rl = createInterface({
|
|
34
|
+
input: fileStream,
|
|
35
|
+
crlfDelay: Infinity
|
|
36
|
+
});
|
|
37
|
+
let batch = [];
|
|
38
|
+
let totalProcessed = 0;
|
|
39
|
+
let batchCount = 0;
|
|
40
|
+
const startTime = Date.now();
|
|
41
|
+
for await (const line of rl) {
|
|
42
|
+
if (!line.trim()) {
|
|
43
|
+
continue; // Skip empty lines
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
const jsonEntry = JSON.parse(line);
|
|
47
|
+
const segmentIndex = typeof jsonEntry.segmentIndex === 'number' ? jsonEntry.segmentIndex : 0;
|
|
48
|
+
const segmentCount = typeof jsonEntry.segmentCount === 'number' ? jsonEntry.segmentCount : 1;
|
|
49
|
+
const metadata = this.parseMetadata(jsonEntry.metadata);
|
|
50
|
+
// Convert JSON entry to PendingEntry
|
|
51
|
+
const entry = {
|
|
52
|
+
language: jsonEntry.language,
|
|
53
|
+
fileId: jsonEntry.fileId,
|
|
54
|
+
original: jsonEntry.original,
|
|
55
|
+
unitId: jsonEntry.unitId,
|
|
56
|
+
pureText: jsonEntry.pureText,
|
|
57
|
+
element: Utils.buildXMLElement(jsonEntry.element),
|
|
58
|
+
segmentIndex,
|
|
59
|
+
segmentCount,
|
|
60
|
+
metadata
|
|
61
|
+
};
|
|
62
|
+
batch.push(entry);
|
|
63
|
+
// Process batch when it reaches the batch size
|
|
64
|
+
if (batch.length >= this.batchSize) {
|
|
65
|
+
batchCount++;
|
|
66
|
+
await this.tm.storeBatchEntries(batch);
|
|
67
|
+
totalProcessed += batch.length;
|
|
68
|
+
// Calculate progress and ETA
|
|
69
|
+
const elapsed = Date.now() - startTime;
|
|
70
|
+
const rate = totalProcessed / (elapsed / 1000); // entries per second
|
|
71
|
+
if (this.totalEntries > 0) {
|
|
72
|
+
const progress = (totalProcessed / this.totalEntries) * 100;
|
|
73
|
+
const remaining = this.totalEntries - totalProcessed;
|
|
74
|
+
const etaSeconds = remaining / rate;
|
|
75
|
+
const etaMinutes = Math.floor(etaSeconds / 60);
|
|
76
|
+
const etaSecondsRemainder = Math.floor(etaSeconds % 60);
|
|
77
|
+
console.log('Progress: ' + totalProcessed.toLocaleString() + '/' + this.totalEntries.toLocaleString() + ' (' + progress.toFixed(1) + '%) - ETA: ' + etaMinutes + 'm ' + etaSecondsRemainder + 's - ' + rate.toFixed(1) + ' entries/sec');
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
console.log('Processed: ' + totalProcessed.toLocaleString() + ' entries - ' + rate.toFixed(1) + ' entries/sec');
|
|
81
|
+
}
|
|
82
|
+
batch = [];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (parseErr) {
|
|
86
|
+
console.error('Error parsing JSONL line: ' + parseErr);
|
|
87
|
+
// Continue with next line
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Process any remaining entries in the final batch
|
|
91
|
+
if (batch.length > 0) {
|
|
92
|
+
batchCount++;
|
|
93
|
+
await this.tm.storeBatchEntries(batch);
|
|
94
|
+
totalProcessed += batch.length;
|
|
95
|
+
}
|
|
96
|
+
const totalTime = (Date.now() - startTime) / 1000;
|
|
97
|
+
const minutes = Math.floor(totalTime / 60);
|
|
98
|
+
const seconds = Math.floor(totalTime % 60);
|
|
99
|
+
const avgRate = totalProcessed / totalTime;
|
|
100
|
+
console.log('\nBatch import complete!');
|
|
101
|
+
console.log('Total entries imported: ' + totalProcessed.toLocaleString());
|
|
102
|
+
console.log('Total time: ' + minutes + 'm ' + seconds + 's');
|
|
103
|
+
console.log('Average rate: ' + avgRate.toFixed(1) + ' entries/sec');
|
|
104
|
+
// Clean up the temporary file
|
|
105
|
+
await this.cleanup();
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
console.error('Error during batch import:', err);
|
|
109
|
+
throw err;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
parseMetadata(metadata) {
|
|
113
|
+
if (!metadata || typeof metadata !== 'object') {
|
|
114
|
+
return {};
|
|
115
|
+
}
|
|
116
|
+
const result = {};
|
|
117
|
+
const source = metadata;
|
|
118
|
+
const copyString = (key) => {
|
|
119
|
+
const value = source[key];
|
|
120
|
+
if (typeof value === 'string' && value.length > 0) {
|
|
121
|
+
result[key] = value;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const copyNumber = (key) => {
|
|
125
|
+
const value = source[key];
|
|
126
|
+
if (typeof value === 'number' && !Number.isNaN(value)) {
|
|
127
|
+
result[key] = value;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
copyString('state');
|
|
131
|
+
copyString('subState');
|
|
132
|
+
copyNumber('quality');
|
|
133
|
+
copyString('creationDate');
|
|
134
|
+
copyString('creationId');
|
|
135
|
+
copyString('changeDate');
|
|
136
|
+
copyString('changeId');
|
|
137
|
+
copyString('creationTool');
|
|
138
|
+
copyString('creationToolVersion');
|
|
139
|
+
copyString('context');
|
|
140
|
+
copyNumber('usageCount');
|
|
141
|
+
copyString('lastUsageDate');
|
|
142
|
+
const notes = source.notes;
|
|
143
|
+
if (Array.isArray(notes)) {
|
|
144
|
+
const filtered = notes.filter((item) => typeof item === 'string' && item.length > 0);
|
|
145
|
+
if (filtered.length > 0) {
|
|
146
|
+
result.notes = filtered;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const properties = source.properties;
|
|
150
|
+
if (properties && typeof properties === 'object') {
|
|
151
|
+
const props = {};
|
|
152
|
+
Object.entries(properties).forEach(([key, value]) => {
|
|
153
|
+
if (typeof value === 'string') {
|
|
154
|
+
props[key] = value;
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
if (Object.keys(props).length > 0) {
|
|
158
|
+
result.properties = props;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
const segment = source.segment;
|
|
162
|
+
if (segment && typeof segment === 'object') {
|
|
163
|
+
const segmentSource = segment;
|
|
164
|
+
const segmentMetadata = {};
|
|
165
|
+
const copySegmentString = (key) => {
|
|
166
|
+
const value = segmentSource[key];
|
|
167
|
+
if (typeof value === 'string' && value.length > 0) {
|
|
168
|
+
segmentMetadata[key] = value;
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
const copySegmentNumber = (key) => {
|
|
172
|
+
const value = segmentSource[key];
|
|
173
|
+
if (typeof value === 'number' && !Number.isNaN(value)) {
|
|
174
|
+
segmentMetadata[key] = value;
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
copySegmentString('provider');
|
|
178
|
+
copySegmentString('fileHash');
|
|
179
|
+
copySegmentString('fileId');
|
|
180
|
+
copySegmentString('unitId');
|
|
181
|
+
copySegmentString('segmentId');
|
|
182
|
+
copySegmentString('segmentKey');
|
|
183
|
+
copySegmentNumber('segmentIndex');
|
|
184
|
+
copySegmentNumber('segmentCount');
|
|
185
|
+
if (Object.keys(segmentMetadata).length > 0) {
|
|
186
|
+
result.segment = segmentMetadata;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return Object.keys(result).length > 0 ? result : {};
|
|
190
|
+
}
|
|
191
|
+
async cleanup() {
|
|
192
|
+
try {
|
|
193
|
+
if (existsSync(this.tempFilePath)) {
|
|
194
|
+
unlinkSync(this.tempFilePath);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (err) {
|
|
198
|
+
console.error('Error cleaning up temporary file ' + this.tempFilePath + ':', err);
|
|
199
|
+
// Don't throw - cleanup failure shouldn't fail the import
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=batchImporter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batchImporter.js","sourceRoot":"","sources":["../../ts/batchImporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAa,MAAM,eAAe,CAAC;AAI3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,OAAO,aAAa;IACd,EAAE,CAAW;IACb,YAAY,CAAS;IACrB,SAAS,CAAS;IAClB,YAAY,CAAS;IAE7B,YAAY,EAAY,EAAE,YAAoB,EAAE,eAAuB,CAAC,EAAE,YAAoB,IAAI;QAC9F,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAI,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,6BAA6B,GAAG,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;YAClF,CAAC;YAED,MAAM,UAAU,GAAe,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YACzF,MAAM,EAAE,GAAc,eAAe,CAAC;gBAClC,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,QAAQ;aACtB,CAAC,CAAC;YAEH,IAAI,KAAK,GAAmB,EAAE,CAAC;YAC/B,IAAI,cAAc,GAAW,CAAC,CAAC;YAC/B,IAAI,UAAU,GAAW,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;YAErC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACf,SAAS,CAAC,mBAAmB;gBACjC,CAAC;gBAED,IAAI,CAAC;oBACD,MAAM,SAAS,GAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAExC,MAAM,YAAY,GAAW,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrG,MAAM,YAAY,GAAW,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrG,MAAM,QAAQ,GAAkB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAEvE,qCAAqC;oBACrC,MAAM,KAAK,GAAiB;wBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;wBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;wBACxB,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC;wBACjD,YAAY;wBACZ,YAAY;wBACZ,QAAQ;qBACX,CAAC;oBAEF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAElB,+CAA+C;oBAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjC,UAAU,EAAE,CAAC;wBACb,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBACvC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC;wBAE/B,6BAA6B;wBAC7B,MAAM,OAAO,GAAW,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;wBAC/C,MAAM,IAAI,GAAW,cAAc,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB;wBAE7E,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;4BACxB,MAAM,QAAQ,GAAW,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;4BACpE,MAAM,SAAS,GAAW,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;4BAC7D,MAAM,UAAU,GAAW,SAAS,GAAG,IAAI,CAAC;4BAC5C,MAAM,UAAU,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;4BACvD,MAAM,mBAAmB,GAAW,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;4BAEhE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,cAAc,CAAC,cAAc,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,UAAU,GAAG,IAAI,GAAG,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;wBAC7O,CAAC;6BAAM,CAAC;4BACJ,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,cAAc,CAAC,cAAc,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;wBACpH,CAAC;wBAED,KAAK,GAAG,EAAE,CAAC;oBACf,CAAC;gBACL,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,QAAQ,CAAC,CAAC;oBACvD,0BAA0B;gBAC9B,CAAC;YACL,CAAC;YAED,mDAAmD;YACnD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACvC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC;YACnC,CAAC;YAED,MAAM,SAAS,GAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;YAC1D,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;YACnD,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;YACnD,MAAM,OAAO,GAAW,cAAc,GAAG,SAAS,CAAC;YAEnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YAEpE,8BAA8B;YAC9B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC;QACd,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,QAAiB;QACnC,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,MAAM,MAAM,GAA4B,QAAmC,CAAC;QAC5E,MAAM,UAAU,GAAG,CAAC,GAAwB,EAAQ,EAAE;YAClD,MAAM,KAAK,GAAY,MAAM,CAAC,GAAa,CAAC,CAAC;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAkC,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC;YAC/D,CAAC;QACL,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,CAAC,GAAwB,EAAQ,EAAE;YAClD,MAAM,KAAK,GAAY,MAAM,CAAC,GAAa,CAAC,CAAC;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAkC,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC;YAC/D,CAAC;QACL,CAAC,CAAC;QAEF,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,UAAU,CAAC,UAAU,CAAC,CAAC;QACvB,UAAU,CAAC,SAAS,CAAC,CAAC;QACtB,UAAU,CAAC,cAAc,CAAC,CAAC;QAC3B,UAAU,CAAC,YAAY,CAAC,CAAC;QACzB,UAAU,CAAC,YAAY,CAAC,CAAC;QACzB,UAAU,CAAC,UAAU,CAAC,CAAC;QACvB,UAAU,CAAC,cAAc,CAAC,CAAC;QAC3B,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAClC,UAAU,CAAC,SAAS,CAAC,CAAC;QACtB,UAAU,CAAC,YAAY,CAAC,CAAC;QACzB,UAAU,CAAC,eAAe,CAAC,CAAC;QAE5B,MAAM,KAAK,GAAY,MAAM,CAAC,KAAK,CAAC;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAa,KAAK,CAAC,MAAM,CAAC,CAAC,IAAa,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,MAAM,UAAU,GAAY,MAAM,CAAC,UAAU,CAAC;QAC9C,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,KAAK,GAA2B,EAAE,CAAC;YACzC,MAAM,CAAC,OAAO,CAAC,UAAqC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAoB,EAAE,EAAE;gBAC9F,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACvB,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAa,MAAkC,CAAC,OAAO,CAAC;QACrE,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,aAAa,GAA4B,OAAkC,CAAC;YAClF,MAAM,eAAe,GAAoB,EAAE,CAAC;YAC5C,MAAM,iBAAiB,GAAG,CAAC,GAA0B,EAAQ,EAAE;gBAC3D,MAAM,KAAK,GAAY,aAAa,CAAC,GAAa,CAAC,CAAC;gBACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/C,eAA2C,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC;gBACxE,CAAC;YACL,CAAC,CAAC;YACF,MAAM,iBAAiB,GAAG,CAAC,GAA0B,EAAQ,EAAE;gBAC3D,MAAM,KAAK,GAAY,aAAa,CAAC,GAAa,CAAC,CAAC;gBACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnD,eAA2C,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC;gBACxE,CAAC;YACL,CAAC,CAAC;YAEF,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9B,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9B,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/B,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAChC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAClC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAElC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC;YACrC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,IAAI,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YAClF,0DAA0D;QAC9D,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/*******************************************************************************
|
|
2
|
+
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials
|
|
5
|
+
* are made available under the terms of the Eclipse License 1.0
|
|
6
|
+
* which accompanies this distribution, and is available at
|
|
7
|
+
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
|
+
*
|
|
9
|
+
* Contributors:
|
|
10
|
+
* Maxprograms - initial API and implementation
|
|
11
|
+
*******************************************************************************/
|
|
12
|
+
import { XMLElement } from 'typesxml';
|
|
13
|
+
import { ImportOptions } from './importOptions.js';
|
|
14
|
+
import { EntryMetadata, LangEntry, SearchResult } from './langEntry.js';
|
|
15
|
+
import { Match } from './match.js';
|
|
16
|
+
import { PendingEntry } from './pendingEntry.js';
|
|
17
|
+
import { MetadataFilter, TranslationSearchFilters } from './searchFilters.js';
|
|
18
|
+
export declare class HybridTM {
|
|
19
|
+
static readonly SPEED_MODEL: string;
|
|
20
|
+
static readonly QUALITY_MODEL: string;
|
|
21
|
+
static readonly RESOURCE_MODEL: string;
|
|
22
|
+
private name;
|
|
23
|
+
private db;
|
|
24
|
+
private table;
|
|
25
|
+
private dbPath;
|
|
26
|
+
private embedder;
|
|
27
|
+
private modelName;
|
|
28
|
+
private initialized;
|
|
29
|
+
private initializationPromise;
|
|
30
|
+
constructor(name: string, filePath: string, modelName?: string);
|
|
31
|
+
private detectModelDimensions;
|
|
32
|
+
private initialize;
|
|
33
|
+
private initializeDatabase;
|
|
34
|
+
private initializeEmbedder;
|
|
35
|
+
private generateEmbedding;
|
|
36
|
+
private ensureInitialized;
|
|
37
|
+
private ensureTable;
|
|
38
|
+
private hydrateEntries;
|
|
39
|
+
private hydrateEntry;
|
|
40
|
+
private flattenEntry;
|
|
41
|
+
private mapToSearchResult;
|
|
42
|
+
private buildEntryId;
|
|
43
|
+
private flattenMetadata;
|
|
44
|
+
private unflattenMetadata;
|
|
45
|
+
private parseNotes;
|
|
46
|
+
private parseSegment;
|
|
47
|
+
private parseProperties;
|
|
48
|
+
private parseNumber;
|
|
49
|
+
close(): Promise<void>;
|
|
50
|
+
concordanceSearch(textFragment: string, language: string, limit?: number, filters?: MetadataFilter): Promise<Map<string, XMLElement>[]>;
|
|
51
|
+
semanticSearch(queryText: string, language: string, limit?: number, filters?: MetadataFilter): Promise<SearchResult[]>;
|
|
52
|
+
semanticTranslationSearch(searchStr: string, srcLang: string, tgtLang: string, similarity: number, limit?: number, filters?: TranslationSearchFilters): Promise<Array<Match>>;
|
|
53
|
+
private findTargetEntry;
|
|
54
|
+
private computeRankingScore;
|
|
55
|
+
private parseMetadataTimestamp;
|
|
56
|
+
private selectPreferredCandidate;
|
|
57
|
+
private metadataMatches;
|
|
58
|
+
private getStateRank;
|
|
59
|
+
storeLangEntry(fileId: string, original: string, unitId: string, lang: string, pureText: string, element: XMLElement, embeddings?: number[], segmentIndex?: number, segmentCount?: number, metadata?: EntryMetadata): Promise<void>;
|
|
60
|
+
storeBatchEntries(entries: PendingEntry[]): Promise<void>;
|
|
61
|
+
entryExists(fileId: string, unitId: string, lang: string, segmentIndex?: number): Promise<boolean>;
|
|
62
|
+
getLangEntry(fileId: string, unitId: string, lang: string, segmentIndex?: number): Promise<LangEntry | null>;
|
|
63
|
+
deleteLangEntry(fileId: string, unitId: string, lang: string, segmentIndex?: number): Promise<boolean>;
|
|
64
|
+
importXLIFF(filePath: string, options?: ImportOptions): Promise<void>;
|
|
65
|
+
importTMX(filePath: string, options?: ImportOptions): Promise<void>;
|
|
66
|
+
importSDLTM(filePath: string, options?: ImportOptions): Promise<void>;
|
|
67
|
+
}
|