hybridtm 0.7.1 → 0.9.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 +32 -11
- package/dist/backupHandler.d.ts +60 -0
- package/dist/backupHandler.js +335 -0
- package/dist/backupHandler.js.map +1 -0
- package/dist/backupReader.d.ts +26 -0
- package/dist/backupReader.js +55 -0
- package/dist/backupReader.js.map +1 -0
- package/dist/batchImporter.d.ts +1 -1
- package/dist/batchImporter.js +4 -3
- package/dist/batchImporter.js.map +1 -1
- package/dist/cli/backupCommand.d.ts +15 -0
- package/dist/cli/backupCommand.js +49 -0
- package/dist/cli/backupCommand.js.map +1 -0
- package/dist/cli/cliUtils.d.ts +2 -1
- package/dist/cli/cliUtils.js +23 -10
- package/dist/cli/cliUtils.js.map +1 -1
- package/dist/cli/createCommand.d.ts +5 -3
- package/dist/cli/createCommand.js +33 -28
- package/dist/cli/createCommand.js.map +1 -1
- package/dist/cli/hybridtmCli.d.ts +1 -1
- package/dist/cli/hybridtmCli.js +35 -15
- package/dist/cli/hybridtmCli.js.map +1 -1
- package/dist/cli/importCommand.d.ts +11 -3
- package/dist/cli/importCommand.js +75 -78
- package/dist/cli/importCommand.js.map +1 -1
- package/dist/cli/matchCommand.d.ts +17 -3
- package/dist/cli/matchCommand.js +99 -129
- package/dist/cli/matchCommand.js.map +1 -1
- package/dist/cli/registryCommands.d.ts +8 -5
- package/dist/cli/registryCommands.js +63 -61
- package/dist/cli/registryCommands.js.map +1 -1
- package/dist/cli/restoreCommand.d.ts +18 -0
- package/dist/cli/restoreCommand.js +100 -0
- package/dist/cli/restoreCommand.js.map +1 -0
- package/dist/cli/serveCommand.d.ts +17 -0
- package/dist/cli/serveCommand.js +87 -0
- package/dist/cli/serveCommand.js.map +1 -0
- package/dist/cli/stopCommand.d.ts +15 -0
- package/dist/cli/stopCommand.js +73 -0
- package/dist/cli/stopCommand.js.map +1 -0
- package/dist/hybridtm.d.ts +11 -4
- package/dist/hybridtm.js +308 -89
- package/dist/hybridtm.js.map +1 -1
- package/dist/hybridtmFactory.d.ts +1 -1
- package/dist/hybridtmFactory.js +6 -1
- package/dist/hybridtmFactory.js.map +1 -1
- package/dist/importOptions.d.ts +5 -5
- package/dist/importOptions.js +11 -11
- package/dist/importOptions.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/langEntry.d.ts +1 -1
- package/dist/langEntry.js +1 -1
- package/dist/match.d.ts +1 -1
- package/dist/match.js +1 -1
- package/dist/matchQuality.d.ts +1 -1
- package/dist/matchQuality.js +1 -1
- package/dist/pendingEntry.d.ts +1 -1
- package/dist/pendingEntry.js +1 -1
- package/dist/searchFilters.d.ts +1 -1
- package/dist/searchFilters.js +1 -1
- package/dist/server/hybridtmServer.d.ts +40 -0
- package/dist/server/hybridtmServer.js +527 -0
- package/dist/server/hybridtmServer.js.map +1 -0
- package/dist/server/hybridtmServerMain.d.ts +12 -0
- package/dist/server/hybridtmServerMain.js +18 -0
- package/dist/server/hybridtmServerMain.js.map +1 -0
- package/dist/tmxHandler.d.ts +2 -1
- package/dist/tmxHandler.js +13 -7
- package/dist/tmxHandler.js.map +1 -1
- package/dist/tmxReader.d.ts +1 -1
- package/dist/tmxReader.js +4 -4
- package/dist/tmxReader.js.map +1 -1
- package/dist/utils.d.ts +28 -2
- package/dist/utils.js +163 -2
- package/dist/utils.js.map +1 -1
- package/dist/xliffHandler.d.ts +1 -2
- package/dist/xliffHandler.js +34 -30
- package/dist/xliffHandler.js.map +1 -1
- package/dist/xliffReader.d.ts +1 -1
- package/dist/xliffReader.js +4 -4
- package/dist/xliffReader.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchImporter.js","sourceRoot":"","sources":["../ts/batchImporter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"batchImporter.js","sourceRoot":"","sources":["../ts/batchImporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
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 Public License v1.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
|
+
export declare class BackupCommand {
|
|
13
|
+
static usage(): void;
|
|
14
|
+
static run(args: string[]): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
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 Public License v1.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 { HybridTMFactory } from '../index.js';
|
|
13
|
+
import { CliUtils } from './cliUtils.js';
|
|
14
|
+
export class BackupCommand {
|
|
15
|
+
static usage() {
|
|
16
|
+
console.log('Usage: hybridtm backup -name <name> -file <path>');
|
|
17
|
+
console.log();
|
|
18
|
+
console.log(' -name Instance to back up (required)');
|
|
19
|
+
console.log(' -file Output XML file path (required)');
|
|
20
|
+
}
|
|
21
|
+
static async run(args) {
|
|
22
|
+
if (CliUtils.hasFlag(args, '-help')) {
|
|
23
|
+
BackupCommand.usage();
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const name = CliUtils.getFlag(args, '-name');
|
|
27
|
+
const rawFile = CliUtils.getFlag(args, '-file');
|
|
28
|
+
if (!name || !rawFile) {
|
|
29
|
+
BackupCommand.usage();
|
|
30
|
+
CliUtils.fail('Missing required -name or -file.');
|
|
31
|
+
}
|
|
32
|
+
const outputPath = CliUtils.resolvePath(rawFile);
|
|
33
|
+
const tm = HybridTMFactory.getInstance(name);
|
|
34
|
+
if (!tm) {
|
|
35
|
+
CliUtils.fail('No instance named "' + name + '". Run "hybridtm create" or "hybridtm list" first.');
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const count = await tm.backup(outputPath);
|
|
39
|
+
console.log('Backed up ' + count + ' entries from "' + name + '" to ' + outputPath + '.');
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
CliUtils.fail(error instanceof Error ? error.message : String(error));
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
await tm.close();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=backupCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backupCommand.js","sourceRoot":"","sources":["../../ts/cli/backupCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAY,eAAe,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,aAAa;IAEtB,MAAM,CAAC,KAAK;QACR,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAc;QAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,OAAO,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,UAAU,GAAW,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,EAAE,GAAyB,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,oDAAoD,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC;YACD,MAAM,KAAK,GAAW,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,GAAG,iBAAiB,GAAG,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACP,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACL,CAAC;CACJ"}
|
package/dist/cli/cliUtils.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials
|
|
5
|
-
* are made available under the terms of the Eclipse
|
|
5
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
6
6
|
* which accompanies this distribution, and is available at
|
|
7
7
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
8
|
*
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
export declare class CliUtils {
|
|
13
13
|
static getFlag(args: string[], flag: string): string | undefined;
|
|
14
14
|
static hasFlag(args: string[], flag: string): boolean;
|
|
15
|
+
static parseIntFlag(args: string[], flag: string, fallback: number, min: number, max?: number): number;
|
|
15
16
|
static resolvePath(rawPath: string): string;
|
|
16
17
|
static requireExistingFile(rawPath: string, label: string): string;
|
|
17
18
|
static resolveModelName(alias: string | undefined): string;
|
package/dist/cli/cliUtils.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials
|
|
5
|
-
* are made available under the terms of the Eclipse
|
|
5
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
6
6
|
* which accompanies this distribution, and is available at
|
|
7
7
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
8
|
*
|
|
@@ -16,7 +16,7 @@ import { HybridTM } from '../hybridtm.js';
|
|
|
16
16
|
export class CliUtils {
|
|
17
17
|
static getFlag(args, flag) {
|
|
18
18
|
const index = args.indexOf(flag);
|
|
19
|
-
if (index !== -1 && index + 1 < args.length) {
|
|
19
|
+
if (index !== -1 && index + 1 < args.length && !args[index + 1].startsWith('-')) {
|
|
20
20
|
return args[index + 1];
|
|
21
21
|
}
|
|
22
22
|
return undefined;
|
|
@@ -24,6 +24,18 @@ export class CliUtils {
|
|
|
24
24
|
static hasFlag(args, flag) {
|
|
25
25
|
return args.includes(flag);
|
|
26
26
|
}
|
|
27
|
+
static parseIntFlag(args, flag, fallback, min, max) {
|
|
28
|
+
const raw = CliUtils.getFlag(args, flag);
|
|
29
|
+
if (raw === undefined) {
|
|
30
|
+
return fallback;
|
|
31
|
+
}
|
|
32
|
+
const parsed = Number(raw);
|
|
33
|
+
if (!Number.isInteger(parsed) || parsed < min || (max !== undefined && parsed > max)) {
|
|
34
|
+
const range = max !== undefined ? 'an integer between ' + min + ' and ' + max : 'an integer of at least ' + min;
|
|
35
|
+
CliUtils.fail('Invalid ' + flag + ' value "' + raw + '"; expected ' + range + '.');
|
|
36
|
+
}
|
|
37
|
+
return parsed;
|
|
38
|
+
}
|
|
27
39
|
static resolvePath(rawPath) {
|
|
28
40
|
let expanded = rawPath;
|
|
29
41
|
if (expanded.startsWith('~')) {
|
|
@@ -47,16 +59,17 @@ export class CliUtils {
|
|
|
47
59
|
}
|
|
48
60
|
static resolveModelName(alias) {
|
|
49
61
|
switch (alias) {
|
|
50
|
-
case '
|
|
51
|
-
return HybridTM.
|
|
52
|
-
case '
|
|
53
|
-
return HybridTM.
|
|
54
|
-
case '
|
|
62
|
+
case 'compact':
|
|
63
|
+
return HybridTM.COMPACT_MODEL;
|
|
64
|
+
case 'standard':
|
|
65
|
+
return HybridTM.STANDARD_MODEL;
|
|
66
|
+
case 'large':
|
|
55
67
|
case undefined:
|
|
56
|
-
return HybridTM.
|
|
68
|
+
return HybridTM.LARGE_MODEL;
|
|
57
69
|
default:
|
|
58
|
-
|
|
59
|
-
|
|
70
|
+
// Not one of the presets: treat it as a literal Hugging Face model id
|
|
71
|
+
// (e.g. "onnx-community/gte-multilingual-base") to load directly.
|
|
72
|
+
return alias;
|
|
60
73
|
}
|
|
61
74
|
}
|
|
62
75
|
static fail(message) {
|
package/dist/cli/cliUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliUtils.js","sourceRoot":"","sources":["../../ts/cli/cliUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,OAAO,QAAQ;IAEjB,MAAM,CAAC,OAAO,CAAC,IAAc,EAAE,IAAY;QACvC,MAAM,KAAK,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cliUtils.js","sourceRoot":"","sources":["../../ts/cli/cliUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials
|
|
5
|
-
* are made available under the terms of the Eclipse
|
|
5
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
6
6
|
* which accompanies this distribution, and is available at
|
|
7
7
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
8
|
*
|
|
9
9
|
* Contributors:
|
|
10
10
|
* Maxprograms - initial API and implementation
|
|
11
11
|
*******************************************************************************/
|
|
12
|
-
export declare
|
|
13
|
-
|
|
12
|
+
export declare class CreateCommand {
|
|
13
|
+
static usage(): void;
|
|
14
|
+
static run(args: string[]): Promise<void>;
|
|
15
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials
|
|
5
|
-
* are made available under the terms of the Eclipse
|
|
5
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
6
6
|
* which accompanies this distribution, and is available at
|
|
7
7
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
8
|
*
|
|
@@ -11,34 +11,39 @@
|
|
|
11
11
|
*******************************************************************************/
|
|
12
12
|
import { HybridTMFactory } from '../index.js';
|
|
13
13
|
import { CliUtils } from './cliUtils.js';
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const name = CliUtils.getFlag(args, '-name');
|
|
27
|
-
const rawPath = CliUtils.getFlag(args, '-path');
|
|
28
|
-
if (!name || !rawPath) {
|
|
29
|
-
usage();
|
|
30
|
-
CliUtils.fail('Missing required -name or -path.');
|
|
31
|
-
}
|
|
32
|
-
const modelAlias = CliUtils.getFlag(args, '-model');
|
|
33
|
-
const modelName = CliUtils.resolveModelName(modelAlias);
|
|
34
|
-
const resolvedPath = CliUtils.resolvePath(rawPath);
|
|
35
|
-
try {
|
|
36
|
-
const tm = HybridTMFactory.createInstance(name, resolvedPath, modelName);
|
|
37
|
-
await tm.close();
|
|
38
|
-
console.log('Created instance "' + name + '" at ' + resolvedPath + ' (model: ' + modelName + ')');
|
|
14
|
+
export class CreateCommand {
|
|
15
|
+
static usage() {
|
|
16
|
+
console.log('Usage: hybridtm create -name <name> -path <dir> [-model compact|standard|large|<model id>]');
|
|
17
|
+
console.log();
|
|
18
|
+
console.log(' -name Name to register the new instance under (required)');
|
|
19
|
+
console.log(' -path Directory where the instance\'s LanceDB data will live (required)');
|
|
20
|
+
console.log(' -model Embedding model preset (compact, standard, large [default]), or any');
|
|
21
|
+
console.log(' other Hugging Face feature-extraction model id to load directly');
|
|
22
|
+
console.log(' (e.g. onnx-community/gte-multilingual-base). See the README section');
|
|
23
|
+
console.log(' "Choosing an embedding model" for guidance on which preset to pick.');
|
|
39
24
|
}
|
|
40
|
-
|
|
41
|
-
CliUtils.
|
|
25
|
+
static async run(args) {
|
|
26
|
+
if (CliUtils.hasFlag(args, '-help')) {
|
|
27
|
+
CreateCommand.usage();
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const name = CliUtils.getFlag(args, '-name');
|
|
31
|
+
const rawPath = CliUtils.getFlag(args, '-path');
|
|
32
|
+
if (!name || !rawPath) {
|
|
33
|
+
CreateCommand.usage();
|
|
34
|
+
CliUtils.fail('Missing required -name or -path.');
|
|
35
|
+
}
|
|
36
|
+
const modelAlias = CliUtils.getFlag(args, '-model');
|
|
37
|
+
const modelName = CliUtils.resolveModelName(modelAlias);
|
|
38
|
+
const resolvedPath = CliUtils.resolvePath(rawPath);
|
|
39
|
+
try {
|
|
40
|
+
const tm = HybridTMFactory.createInstance(name, resolvedPath, modelName);
|
|
41
|
+
await tm.close();
|
|
42
|
+
console.log('Created instance "' + name + '" at ' + resolvedPath + ' (model: ' + modelName + ')');
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
CliUtils.fail(error instanceof Error ? error.message : String(error));
|
|
46
|
+
}
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
49
|
//# sourceMappingURL=createCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCommand.js","sourceRoot":"","sources":["../../ts/cli/createCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAY,eAAe,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,
|
|
1
|
+
{"version":3,"file":"createCommand.js","sourceRoot":"","sources":["../../ts/cli/createCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAY,eAAe,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,aAAa;IAEtB,MAAM,CAAC,KAAK;QACR,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;QAC1G,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;QAC5F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;QAC1F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAc;QAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClC,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,OAAO,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,UAAU,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,SAAS,GAAW,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,YAAY,GAAW,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE3D,IAAI,CAAC;YACD,MAAM,EAAE,GAAa,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YACnF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials
|
|
6
|
-
* are made available under the terms of the Eclipse
|
|
6
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
7
7
|
* which accompanies this distribution, and is available at
|
|
8
8
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
9
9
|
*
|
package/dist/cli/hybridtmCli.js
CHANGED
|
@@ -3,17 +3,21 @@
|
|
|
3
3
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
4
4
|
*
|
|
5
5
|
* This program and the accompanying materials
|
|
6
|
-
* are made available under the terms of the Eclipse
|
|
6
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
7
7
|
* which accompanies this distribution, and is available at
|
|
8
8
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
9
9
|
*
|
|
10
10
|
* Contributors:
|
|
11
11
|
* Maxprograms - initial API and implementation
|
|
12
12
|
*******************************************************************************/
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
13
|
+
import { BackupCommand } from './backupCommand.js';
|
|
14
|
+
import { CreateCommand } from './createCommand.js';
|
|
15
|
+
import { ImportCommand } from './importCommand.js';
|
|
16
|
+
import { MatchCommand } from './matchCommand.js';
|
|
17
|
+
import { RegistryCommands } from './registryCommands.js';
|
|
18
|
+
import { RestoreCommand } from './restoreCommand.js';
|
|
19
|
+
import { ServeCommand } from './serveCommand.js';
|
|
20
|
+
import { StopCommand } from './stopCommand.js';
|
|
17
21
|
class HybridTMCli {
|
|
18
22
|
constructor() {
|
|
19
23
|
this.run(process.argv.slice(2));
|
|
@@ -23,19 +27,31 @@ class HybridTMCli {
|
|
|
23
27
|
const rest = argv.slice(1);
|
|
24
28
|
try {
|
|
25
29
|
if (command === 'create') {
|
|
26
|
-
await
|
|
30
|
+
await CreateCommand.run(rest);
|
|
27
31
|
}
|
|
28
32
|
else if (command === 'import') {
|
|
29
|
-
await
|
|
33
|
+
await ImportCommand.run(rest);
|
|
30
34
|
}
|
|
31
35
|
else if (command === 'match') {
|
|
32
|
-
await
|
|
36
|
+
await MatchCommand.run(rest);
|
|
37
|
+
}
|
|
38
|
+
else if (command === 'backup') {
|
|
39
|
+
await BackupCommand.run(rest);
|
|
40
|
+
}
|
|
41
|
+
else if (command === 'restore') {
|
|
42
|
+
await RestoreCommand.run(rest);
|
|
33
43
|
}
|
|
34
44
|
else if (command === 'list') {
|
|
35
|
-
await
|
|
45
|
+
await RegistryCommands.runList(rest);
|
|
36
46
|
}
|
|
37
47
|
else if (command === 'remove') {
|
|
38
|
-
await
|
|
48
|
+
await RegistryCommands.runRemove(rest);
|
|
49
|
+
}
|
|
50
|
+
else if (command === 'serve') {
|
|
51
|
+
await ServeCommand.run(rest);
|
|
52
|
+
}
|
|
53
|
+
else if (command === 'stop') {
|
|
54
|
+
await StopCommand.run(rest);
|
|
39
55
|
}
|
|
40
56
|
else if (command === '-help' || command === '--help') {
|
|
41
57
|
this.usage();
|
|
@@ -60,11 +76,15 @@ class HybridTMCli {
|
|
|
60
76
|
console.log('Usage: hybridtm <command> [options]');
|
|
61
77
|
console.log();
|
|
62
78
|
console.log('Commands:');
|
|
63
|
-
console.log(' create
|
|
64
|
-
console.log(' import
|
|
65
|
-
console.log(' match
|
|
66
|
-
console.log('
|
|
67
|
-
console.log('
|
|
79
|
+
console.log(' create Create a new named TM instance');
|
|
80
|
+
console.log(' import Import an XLIFF/TMX/SDLTM file into an instance');
|
|
81
|
+
console.log(' match Enrich an XLIFF file with TM match candidates');
|
|
82
|
+
console.log(' backup Export an instance to a format-agnostic backup XML file');
|
|
83
|
+
console.log(' restore Reimport a backup XML file into an existing or new instance');
|
|
84
|
+
console.log(' list List registered instances');
|
|
85
|
+
console.log(' remove Delete a registered instance and its data');
|
|
86
|
+
console.log(' serve Start the HybridTM HTTP server');
|
|
87
|
+
console.log(' stop Stop the HybridTM HTTP server');
|
|
68
88
|
console.log();
|
|
69
89
|
console.log('Run "hybridtm <command> -help" for command-specific options.');
|
|
70
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybridtmCli.js","sourceRoot":"","sources":["../../ts/cli/hybridtmCli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hybridtmCli.js","sourceRoot":"","sources":["../../ts/cli/hybridtmCli.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,20 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials
|
|
5
|
-
* are made available under the terms of the Eclipse
|
|
5
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
6
6
|
* which accompanies this distribution, and is available at
|
|
7
7
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
8
|
*
|
|
9
9
|
* Contributors:
|
|
10
10
|
* Maxprograms - initial API and implementation
|
|
11
11
|
*******************************************************************************/
|
|
12
|
-
|
|
13
|
-
export
|
|
12
|
+
import { HybridTM, ImportOptions, TranslationState } from '../index.js';
|
|
13
|
+
export type ImportType = 'xliff' | 'tmx' | 'sdltm';
|
|
14
|
+
export declare class ImportCommand {
|
|
15
|
+
static usage(): void;
|
|
16
|
+
static run(args: string[]): Promise<void>;
|
|
17
|
+
static importFile(tm: HybridTM, filePath: string, type: ImportType, options: ImportOptions): Promise<number>;
|
|
18
|
+
static resolveImportType(explicit: string | undefined, filePath: string): ImportType;
|
|
19
|
+
static isTranslationState(value: string): value is TranslationState;
|
|
20
|
+
private static buildImportOptions;
|
|
21
|
+
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright (c) 2025-2026 Maxprograms.
|
|
3
3
|
*
|
|
4
4
|
* This program and the accompanying materials
|
|
5
|
-
* are made available under the terms of the Eclipse
|
|
5
|
+
* are made available under the terms of the Eclipse Public License v1.0
|
|
6
6
|
* which accompanies this distribution, and is available at
|
|
7
7
|
* https://www.eclipse.org/org/documents/epl-v10.html
|
|
8
8
|
*
|
|
@@ -12,94 +12,91 @@
|
|
|
12
12
|
import { extname } from "node:path";
|
|
13
13
|
import { HybridTMFactory } from '../index.js';
|
|
14
14
|
import { CliUtils } from './cliUtils.js';
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
console.log(' -noMetadata Skip extracting notes/metadata/extension attributes');
|
|
27
|
-
}
|
|
28
|
-
export async function runImportCommand(args) {
|
|
29
|
-
if (CliUtils.hasFlag(args, '-help')) {
|
|
30
|
-
usage();
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const name = CliUtils.getFlag(args, '-name');
|
|
34
|
-
const rawFile = CliUtils.getFlag(args, '-file');
|
|
35
|
-
if (!name || !rawFile) {
|
|
36
|
-
usage();
|
|
37
|
-
CliUtils.fail('Missing required -name or -file.');
|
|
15
|
+
export class ImportCommand {
|
|
16
|
+
static usage() {
|
|
17
|
+
console.log('Usage: hybridtm import -name <name> -file <path> [-type xliff|tmx|sdltm]');
|
|
18
|
+
console.log(' [-minState initial|translated|reviewed|final]');
|
|
19
|
+
console.log(' [-noMetadata]');
|
|
20
|
+
console.log();
|
|
21
|
+
console.log(' -name Instance to import into (required)');
|
|
22
|
+
console.log(' -file File to import (required)');
|
|
23
|
+
console.log(' -type Import format; inferred from the file extension when omitted');
|
|
24
|
+
console.log(' -minState Minimum segment state to import (default: translated)');
|
|
25
|
+
console.log(' -noMetadata Skip extracting notes/metadata/extension attributes');
|
|
38
26
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
CliUtils.
|
|
27
|
+
static async run(args) {
|
|
28
|
+
if (CliUtils.hasFlag(args, '-help')) {
|
|
29
|
+
ImportCommand.usage();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const name = CliUtils.getFlag(args, '-name');
|
|
33
|
+
const rawFile = CliUtils.getFlag(args, '-file');
|
|
34
|
+
if (!name || !rawFile) {
|
|
35
|
+
ImportCommand.usage();
|
|
36
|
+
CliUtils.fail('Missing required -name or -file.');
|
|
37
|
+
}
|
|
38
|
+
const filePath = CliUtils.requireExistingFile(rawFile, 'Import file');
|
|
39
|
+
const options = ImportCommand.buildImportOptions(args);
|
|
40
|
+
const tm = HybridTMFactory.getInstance(name);
|
|
41
|
+
if (!tm) {
|
|
42
|
+
CliUtils.fail('No instance named "' + name + '". Run "hybridtm create" or "hybridtm list" first.');
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const type = ImportCommand.resolveImportType(CliUtils.getFlag(args, '-type'), filePath);
|
|
46
|
+
const count = await ImportCommand.importFile(tm, filePath, type, options);
|
|
47
|
+
console.log('Imported ' + count + ' entries from ' + filePath + ' into "' + name + '".');
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
CliUtils.fail(error instanceof Error ? error.message : String(error));
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
await tm.close();
|
|
54
|
+
}
|
|
45
55
|
}
|
|
46
|
-
|
|
47
|
-
let count;
|
|
56
|
+
static async importFile(tm, filePath, type, options) {
|
|
48
57
|
switch (type) {
|
|
49
58
|
case 'xliff':
|
|
50
|
-
|
|
51
|
-
break;
|
|
59
|
+
return await tm.importXLIFF(filePath, options);
|
|
52
60
|
case 'tmx':
|
|
53
|
-
|
|
54
|
-
break;
|
|
61
|
+
return await tm.importTMX(filePath, options);
|
|
55
62
|
case 'sdltm':
|
|
56
|
-
|
|
57
|
-
break;
|
|
63
|
+
return await tm.importSDLTM(filePath, options);
|
|
58
64
|
}
|
|
59
|
-
console.log('Imported ' + count + ' entries from ' + filePath + ' into "' + name + '".');
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
CliUtils.fail(error instanceof Error ? error.message : String(error));
|
|
63
65
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
static resolveImportType(explicit, filePath) {
|
|
67
|
+
if (explicit === 'xliff' || explicit === 'tmx' || explicit === 'sdltm') {
|
|
68
|
+
return explicit;
|
|
69
|
+
}
|
|
70
|
+
if (explicit !== undefined) {
|
|
71
|
+
throw new Error('Unknown import type "' + explicit + '". Expected xliff, tmx, or sdltm.');
|
|
72
|
+
}
|
|
73
|
+
const ext = extname(filePath).toLowerCase();
|
|
74
|
+
if (ext === '.xlf' || ext === '.xliff') {
|
|
75
|
+
return 'xliff';
|
|
76
|
+
}
|
|
77
|
+
if (ext === '.tmx') {
|
|
78
|
+
return 'tmx';
|
|
79
|
+
}
|
|
80
|
+
if (ext === '.sdltm') {
|
|
81
|
+
return 'sdltm';
|
|
82
|
+
}
|
|
83
|
+
throw new Error('Could not infer import type from "' + filePath + '". Pass an explicit type.');
|
|
81
84
|
}
|
|
82
|
-
|
|
83
|
-
return '
|
|
85
|
+
static isTranslationState(value) {
|
|
86
|
+
return value === 'initial' || value === 'translated' || value === 'reviewed' || value === 'final';
|
|
84
87
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (!isTranslationState(minState)) {
|
|
96
|
-
CliUtils.fail('Unknown -minState value "' + minState + '". Expected initial, translated, reviewed, or final.');
|
|
88
|
+
static buildImportOptions(args) {
|
|
89
|
+
const options = {
|
|
90
|
+
extractMetadata: !CliUtils.hasFlag(args, '-noMetadata')
|
|
91
|
+
};
|
|
92
|
+
const minState = CliUtils.getFlag(args, '-minState');
|
|
93
|
+
if (minState !== undefined) {
|
|
94
|
+
if (!ImportCommand.isTranslationState(minState)) {
|
|
95
|
+
CliUtils.fail('Unknown -minState value "' + minState + '". Expected initial, translated, reviewed, or final.');
|
|
96
|
+
}
|
|
97
|
+
options.minState = minState;
|
|
97
98
|
}
|
|
98
|
-
options
|
|
99
|
+
return options;
|
|
99
100
|
}
|
|
100
|
-
return options;
|
|
101
|
-
}
|
|
102
|
-
function isTranslationState(value) {
|
|
103
|
-
return value === 'initial' || value === 'translated' || value === 'reviewed' || value === 'final';
|
|
104
101
|
}
|
|
105
102
|
//# sourceMappingURL=importCommand.js.map
|