hybridtm 0.7.0 → 0.8.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.
Files changed (46) hide show
  1. package/README.md +33 -10
  2. package/dist/backupHandler.d.ts +60 -0
  3. package/dist/backupHandler.js +335 -0
  4. package/dist/backupHandler.js.map +1 -0
  5. package/dist/backupReader.d.ts +26 -0
  6. package/dist/backupReader.js +55 -0
  7. package/dist/backupReader.js.map +1 -0
  8. package/dist/batchImporter.js +3 -2
  9. package/dist/batchImporter.js.map +1 -1
  10. package/dist/cli/backupCommand.d.ts +13 -0
  11. package/dist/cli/backupCommand.js +47 -0
  12. package/dist/cli/backupCommand.js.map +1 -0
  13. package/dist/cli/cliUtils.js +10 -9
  14. package/dist/cli/cliUtils.js.map +1 -1
  15. package/dist/cli/createCommand.js +5 -2
  16. package/dist/cli/createCommand.js.map +1 -1
  17. package/dist/cli/hybridtmCli.js +15 -5
  18. package/dist/cli/hybridtmCli.js.map +1 -1
  19. package/dist/cli/importCommand.js +1 -3
  20. package/dist/cli/importCommand.js.map +1 -1
  21. package/dist/cli/matchCommand.js +131 -15
  22. package/dist/cli/matchCommand.js.map +1 -1
  23. package/dist/cli/registryCommands.js +30 -6
  24. package/dist/cli/registryCommands.js.map +1 -1
  25. package/dist/cli/restoreCommand.d.ts +13 -0
  26. package/dist/cli/restoreCommand.js +98 -0
  27. package/dist/cli/restoreCommand.js.map +1 -0
  28. package/dist/hybridtm.d.ts +10 -3
  29. package/dist/hybridtm.js +267 -72
  30. package/dist/hybridtm.js.map +1 -1
  31. package/dist/importOptions.d.ts +0 -1
  32. package/dist/importOptions.js +0 -1
  33. package/dist/importOptions.js.map +1 -1
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.js +2 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/tmxHandler.d.ts +1 -0
  38. package/dist/tmxHandler.js +8 -2
  39. package/dist/tmxHandler.js.map +1 -1
  40. package/dist/utils.d.ts +2 -0
  41. package/dist/utils.js +10 -0
  42. package/dist/utils.js.map +1 -1
  43. package/dist/xliffHandler.d.ts +0 -1
  44. package/dist/xliffHandler.js +29 -25
  45. package/dist/xliffHandler.js.map +1 -1
  46. package/package.json +6 -6
@@ -0,0 +1,13 @@
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
+ export declare function usage(): void;
13
+ export declare function runBackupCommand(args: string[]): Promise<void>;
@@ -0,0 +1,47 @@
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 { HybridTMFactory } from '../index.js';
13
+ import { CliUtils } from './cliUtils.js';
14
+ export function usage() {
15
+ console.log('Usage: hybridtm backup -name <name> -file <path>');
16
+ console.log();
17
+ console.log(' -name Instance to back up (required)');
18
+ console.log(' -file Output XML file path (required)');
19
+ }
20
+ export async function runBackupCommand(args) {
21
+ if (CliUtils.hasFlag(args, '-help')) {
22
+ usage();
23
+ return;
24
+ }
25
+ const name = CliUtils.getFlag(args, '-name');
26
+ const rawFile = CliUtils.getFlag(args, '-file');
27
+ if (!name || !rawFile) {
28
+ usage();
29
+ CliUtils.fail('Missing required -name or -file.');
30
+ }
31
+ const outputPath = CliUtils.resolvePath(rawFile);
32
+ const tm = HybridTMFactory.getInstance(name);
33
+ if (!tm) {
34
+ CliUtils.fail('No instance named "' + name + '". Run "hybridtm create" or "hybridtm list" first.');
35
+ }
36
+ try {
37
+ const count = await tm.backup(outputPath);
38
+ console.log('Backed up ' + count + ' entries from "' + name + '" to ' + outputPath + '.');
39
+ }
40
+ catch (error) {
41
+ CliUtils.fail(error instanceof Error ? error.message : String(error));
42
+ }
43
+ finally {
44
+ await tm.close();
45
+ }
46
+ }
47
+ //# 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,UAAU,KAAK;IACjB,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,MAAM,IAAI,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,OAAO,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAW,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAEzD,MAAM,EAAE,GAAyB,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,oDAAoD,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,CAAC;QACD,MAAM,KAAK,GAAW,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,GAAG,iBAAiB,GAAG,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,GAAG,CAAC,CAAC;IAC9F,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -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;
@@ -47,16 +47,17 @@ export class CliUtils {
47
47
  }
48
48
  static resolveModelName(alias) {
49
49
  switch (alias) {
50
- case 'speed':
51
- return HybridTM.SPEED_MODEL;
52
- case 'resource':
53
- return HybridTM.RESOURCE_MODEL;
54
- case 'quality':
50
+ case 'compact':
51
+ return HybridTM.COMPACT_MODEL;
52
+ case 'standard':
53
+ return HybridTM.STANDARD_MODEL;
54
+ case 'large':
55
55
  case undefined:
56
- return HybridTM.QUALITY_MODEL;
56
+ return HybridTM.LARGE_MODEL;
57
57
  default:
58
- console.error('Unknown -model value "' + alias + '". Expected speed, quality, or resource.');
59
- process.exit(1);
58
+ // Not one of the presets: treat it as a literal Hugging Face model id
59
+ // (e.g. "onnx-community/gte-multilingual-base") to load directly.
60
+ return alias;
60
61
  }
61
62
  }
62
63
  static fail(message) {
@@ -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;YAC1C,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAc,EAAE,IAAY;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAe;QAC9B,IAAI,QAAQ,GAAW,OAAO,CAAC;QAC/B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAW,OAAO,EAAE,CAAC;YAC/B,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACnB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAe,EAAE,KAAa;QACrD,MAAM,QAAQ,GAAW,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,mBAAmB,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAyB;QAC7C,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,OAAO;gBACR,OAAO,QAAQ,CAAC,WAAW,CAAC;YAChC,KAAK,UAAU;gBACX,OAAO,QAAQ,CAAC,cAAc,CAAC;YACnC,KAAK,SAAS,CAAC;YACf,KAAK,SAAS;gBACV,OAAO,QAAQ,CAAC,aAAa,CAAC;YAClC;gBACI,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,KAAK,GAAG,0CAA0C,CAAC,CAAC;gBAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe;QACvB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;CACJ"}
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,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAc,EAAE,IAAY;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAe;QAC9B,IAAI,QAAQ,GAAW,OAAO,CAAC;QAC/B,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAW,OAAO,EAAE,CAAC;YAC/B,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACnB,QAAQ,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,OAAe,EAAE,KAAa;QACrD,MAAM,QAAQ,GAAW,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,mBAAmB,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAyB;QAC7C,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,SAAS;gBACV,OAAO,QAAQ,CAAC,aAAa,CAAC;YAClC,KAAK,UAAU;gBACX,OAAO,QAAQ,CAAC,cAAc,CAAC;YACnC,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACV,OAAO,QAAQ,CAAC,WAAW,CAAC;YAChC;gBACI,sEAAsE;gBACtE,kEAAkE;gBAClE,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe;QACvB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;CACJ"}
@@ -12,11 +12,14 @@
12
12
  import { HybridTMFactory } from '../index.js';
13
13
  import { CliUtils } from './cliUtils.js';
14
14
  export function usage() {
15
- console.log('Usage: hybridtm create -name <name> -path <dir> [-model speed|quality|resource]');
15
+ console.log('Usage: hybridtm create -name <name> -path <dir> [-model compact|standard|large|<model id>]');
16
16
  console.log();
17
17
  console.log(' -name Name to register the new instance under (required)');
18
18
  console.log(' -path Directory where the instance\'s LanceDB data will live (required)');
19
- console.log(' -model Embedding model preset: speed, quality (default), or resource');
19
+ console.log(' -model Embedding model preset (compact, standard, large [default]), or any');
20
+ console.log(' other Hugging Face feature-extraction model id to load directly');
21
+ console.log(' (e.g. onnx-community/gte-multilingual-base). See the README section');
22
+ console.log(' "Choosing an embedding model" for guidance on which preset to pick.');
20
23
  }
21
24
  export async function runCreateCommand(args) {
22
25
  if (CliUtils.hasFlag(args, '-help')) {
@@ -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,UAAU,KAAK;IACjB,OAAO,CAAC,GAAG,CAAC,iFAAiF,CAAC,CAAC;IAC/F,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,MAAM,IAAI,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,OAAO,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,SAAS,GAAW,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,YAAY,GAAW,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE3D,IAAI,CAAC;QACD,MAAM,EAAE,GAAa,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACnF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;IACtG,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC"}
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,UAAU,KAAK;IACjB,OAAO,CAAC,GAAG,CAAC,4FAA4F,CAAC,CAAC;IAC1G,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC,CAAC;IAC5F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,MAAM,IAAI,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,OAAO,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxE,MAAM,SAAS,GAAW,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,YAAY,GAAW,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE3D,IAAI,CAAC;QACD,MAAM,EAAE,GAAa,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QACnF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;IACtG,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC"}
@@ -10,10 +10,12 @@
10
10
  * Contributors:
11
11
  * Maxprograms - initial API and implementation
12
12
  *******************************************************************************/
13
+ import { runBackupCommand } from './backupCommand.js';
13
14
  import { runCreateCommand } from './createCommand.js';
14
15
  import { runImportCommand } from './importCommand.js';
15
16
  import { runMatchCommand } from './matchCommand.js';
16
17
  import { runListCommand, runRemoveCommand } from './registryCommands.js';
18
+ import { runRestoreCommand } from './restoreCommand.js';
17
19
  class HybridTMCli {
18
20
  constructor() {
19
21
  this.run(process.argv.slice(2));
@@ -31,6 +33,12 @@ class HybridTMCli {
31
33
  else if (command === 'match') {
32
34
  await runMatchCommand(rest);
33
35
  }
36
+ else if (command === 'backup') {
37
+ await runBackupCommand(rest);
38
+ }
39
+ else if (command === 'restore') {
40
+ await runRestoreCommand(rest);
41
+ }
34
42
  else if (command === 'list') {
35
43
  await runListCommand(rest);
36
44
  }
@@ -60,11 +68,13 @@ class HybridTMCli {
60
68
  console.log('Usage: hybridtm <command> [options]');
61
69
  console.log();
62
70
  console.log('Commands:');
63
- console.log(' create Create a new named TM instance');
64
- console.log(' import Import an XLIFF/TMX/SDLTM file into an instance');
65
- console.log(' match Enrich an XLIFF file with TM match candidates');
66
- console.log(' list List registered instances');
67
- console.log(' remove Delete a registered instance and its data');
71
+ console.log(' create Create a new named TM instance');
72
+ console.log(' import Import an XLIFF/TMX/SDLTM file into an instance');
73
+ console.log(' match Enrich an XLIFF file with TM match candidates');
74
+ console.log(' backup Export an instance to a format-agnostic backup XML file');
75
+ console.log(' restore Reimport a backup XML file into an existing or new instance');
76
+ console.log(' list List registered instances');
77
+ console.log(' remove Delete a registered instance and its data');
68
78
  console.log();
69
79
  console.log('Run "hybridtm <command> -help" for command-specific options.');
70
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hybridtmCli.js","sourceRoot":"","sources":["../../ts/cli/hybridtmCli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,MAAM,WAAW;IAEb;QACI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,IAAc;QAC5B,MAAM,OAAO,GAAuB,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAa,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC;YACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBAC7B,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC5B,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACrD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;gBACpD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAEO,KAAK;QACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;IAChF,CAAC;CACJ;AAED,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"hybridtmCli.js","sourceRoot":"","sources":["../../ts/cli/hybridtmCli.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,13 @@ import { CliUtils } from './cliUtils.js';
15
15
  export function usage() {
16
16
  console.log('Usage: hybridtm import -name <name> -file <path> [-type xliff|tmx|sdltm]');
17
17
  console.log(' [-minState initial|translated|reviewed|final]');
18
- console.log(' [-keepEmpty] [-keepUnconfirmed] [-noMetadata]');
18
+ console.log(' [-keepEmpty] [-noMetadata]');
19
19
  console.log();
20
20
  console.log(' -name Instance to import into (required)');
21
21
  console.log(' -file File to import (required)');
22
22
  console.log(' -type Import format; inferred from the file extension when omitted');
23
23
  console.log(' -minState Minimum segment state to import (default: translated)');
24
24
  console.log(' -keepEmpty Import segments with an empty target (default: skipped)');
25
- console.log(' -keepUnconfirmed Import segments with no recognized state (default: skipped)');
26
25
  console.log(' -noMetadata Skip extracting notes/metadata/extension attributes');
27
26
  }
28
27
  export async function runImportCommand(args) {
@@ -87,7 +86,6 @@ function resolveImportType(explicit, filePath) {
87
86
  function buildImportOptions(args) {
88
87
  const options = {
89
88
  skipEmpty: !CliUtils.hasFlag(args, '-keepEmpty'),
90
- skipUnconfirmed: !CliUtils.hasFlag(args, '-keepUnconfirmed'),
91
89
  extractMetadata: !CliUtils.hasFlag(args, '-noMetadata')
92
90
  };
93
91
  const minState = CliUtils.getFlag(args, '-minState');
@@ -1 +1 @@
1
- {"version":3,"file":"importCommand.js","sourceRoot":"","sources":["../../ts/cli/importCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importCommand.js","sourceRoot":"","sources":["../../ts/cli/importCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAY,eAAe,EAAmC,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,MAAM,UAAU,KAAK;IACjB,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,KAAK,EAAE,CAAC;QACR,OAAO;IACX,CAAC;IAED,MAAM,IAAI,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,OAAO,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,EAAE,CAAC;QACR,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,QAAQ,GAAW,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAe,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtF,MAAM,OAAO,GAAkB,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,EAAE,GAAyB,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,oDAAoD,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,CAAC;QACD,IAAI,KAAa,CAAC;QAClB,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,OAAO;gBACR,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM;YACV,KAAK,KAAK;gBACN,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC9C,MAAM;YACV,KAAK,OAAO;gBACR,KAAK,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM;QACd,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,KAAK,GAAG,gBAAgB,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;YAAS,CAAC;QACP,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA4B,EAAE,QAAgB;IACrE,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrE,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,uBAAuB,GAAG,QAAQ,GAAG,mCAAmC,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,GAAG,GAAW,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,oCAAoC,GAAG,QAAQ,GAAG,2BAA2B,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACtC,MAAM,OAAO,GAAkB;QAC3B,SAAS,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;QAChD,eAAe,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC;KAC1D,CAAC;IACF,MAAM,QAAQ,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,GAAG,QAAQ,GAAG,sDAAsD,CAAC,CAAC;QACnH,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACrC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,OAAO,CAAC;AACtG,CAAC"}
@@ -10,13 +10,15 @@
10
10
  * Maxprograms - initial API and implementation
11
11
  *******************************************************************************/
12
12
  import { basename, dirname, extname, join } from "node:path";
13
- import { XliffGroup, XliffMatch, XliffMatches, XliffMrk, XliffParser, XliffPc, XliffSegment, XliffSource, XliffTarget } from 'typesxliff';
13
+ import { XliffData, XliffGroup, XliffMatch, XliffMatches, XliffMrk, XliffOriginalData, XliffParser, XliffPc, XliffPh, XliffSegment, XliffSource, XliffTarget } from 'typesxliff';
14
+ import { TextNode, XMLElement } from "typesxml";
14
15
  import { HybridTMFactory, Utils } from '../index.js';
15
16
  import { CliUtils } from './cliUtils.js';
16
17
  const MATCHES_NAMESPACE = 'urn:oasis:names:tc:xliff:matches:2.0';
17
18
  const DEFAULT_PREFIX = 'mtc';
18
19
  const DEFAULT_LIMIT = 5;
19
20
  const DEFAULT_SIMILARITY = 60;
21
+ const PLACEHOLDER_TAGS = new Set(['ph', 'bpt', 'ept', 'it', 'sc', 'ec', 'cp']);
20
22
  export function usage() {
21
23
  console.log('Usage: hybridtm match -name <name> -file <path> [-output <path>]');
22
24
  console.log(' [-limit N] [-similarity N] [-all]');
@@ -43,8 +45,8 @@ export async function runMatchCommand(args) {
43
45
  CliUtils.fail('Missing required -name or -file.');
44
46
  }
45
47
  const filePath = CliUtils.requireExistingFile(rawFile, 'XLIFF file');
46
- const limit = parsePositiveInt(CliUtils.getFlag(args, '-limit'), DEFAULT_LIMIT, '-limit');
47
- const similarity = parsePositiveInt(CliUtils.getFlag(args, '-similarity'), DEFAULT_SIMILARITY, '-similarity');
48
+ const limit = parseIntOption(CliUtils.getFlag(args, '-limit'), DEFAULT_LIMIT, '-limit', 1);
49
+ const similarity = parseIntOption(CliUtils.getFlag(args, '-similarity'), DEFAULT_SIMILARITY, '-similarity', 0, 100);
48
50
  const processAll = CliUtils.hasFlag(args, '-all');
49
51
  const outputPath = resolveOutputPath(CliUtils.getFlag(args, '-output'), filePath);
50
52
  const tm = HybridTMFactory.getInstance(name);
@@ -58,11 +60,19 @@ export async function runMatchCommand(args) {
58
60
  if (!document) {
59
61
  CliUtils.fail('Unable to parse "' + filePath + '".');
60
62
  }
61
- const srcLang = document.getSrcLang();
62
- const tgtLang = document.getTrgLang();
63
- if (!tgtLang) {
63
+ const rawSrcLang = document.getSrcLang();
64
+ const srcLang = Utils.normalizeLanguage(rawSrcLang);
65
+ if (!srcLang) {
66
+ CliUtils.fail('"' + filePath + '" has an invalid @srcLang value "' + rawSrcLang + '".');
67
+ }
68
+ const rawTgtLang = document.getTrgLang();
69
+ if (!rawTgtLang) {
64
70
  CliUtils.fail('"' + filePath + '" is missing @trgLang; nothing to match against.');
65
71
  }
72
+ const tgtLang = Utils.normalizeLanguage(rawTgtLang);
73
+ if (!tgtLang) {
74
+ CliUtils.fail('"' + filePath + '" has an invalid @trgLang value "' + rawTgtLang + '".');
75
+ }
66
76
  let segmentsProcessed = 0;
67
77
  let segmentsWithMatches = 0;
68
78
  let totalMatches = 0;
@@ -72,6 +82,8 @@ export async function runMatchCommand(args) {
72
82
  for (const unit of collectUnits(file.getEntries())) {
73
83
  const unitMatches = [];
74
84
  const unitId = unit.getId();
85
+ // shared so <ph>/<data> ids stay unique across the whole unit
86
+ const dataCounter = { value: 0 };
75
87
  for (const item of unit.getItems()) {
76
88
  if (!(item instanceof XliffSegment)) {
77
89
  continue;
@@ -85,14 +97,14 @@ export async function runMatchCommand(args) {
85
97
  continue;
86
98
  }
87
99
  segmentsProcessed++;
88
- const results = await tm.semanticTranslationSearch(pureSource, srcLang, tgtLang, similarity, limit);
100
+ const results = dedupeMatches(await tm.semanticTranslationSearch(pureSource, srcLang, tgtLang, similarity, limit));
89
101
  if (results.length === 0) {
90
102
  continue;
91
103
  }
92
104
  segmentsWithMatches++;
93
105
  totalMatches += results.length;
94
106
  const ref = '#/f=' + fileId + '/u=' + unitId + (item.getId() ? '/' + item.getId() : '');
95
- results.forEach((match) => unitMatches.push(buildXliffMatch(ref, match)));
107
+ results.forEach((match) => unitMatches.push(buildXliffMatch(ref, match, dataCounter)));
96
108
  }
97
109
  if (unitMatches.length > 0) {
98
110
  const matches = new XliffMatches();
@@ -119,6 +131,17 @@ export async function runMatchCommand(args) {
119
131
  await tm.close();
120
132
  }
121
133
  }
134
+ function dedupeMatches(matches) {
135
+ const seen = new Set();
136
+ return matches.filter((match) => {
137
+ const key = extractElementText(match.source).trim() + '\u00A0' + extractElementText(match.target).trim();
138
+ if (seen.has(key)) {
139
+ return false;
140
+ }
141
+ seen.add(key);
142
+ return true;
143
+ });
144
+ }
122
145
  function collectUnits(entries) {
123
146
  const units = [];
124
147
  entries.forEach((entry) => {
@@ -142,20 +165,100 @@ function needsMatches(segment) {
142
165
  }
143
166
  return getPureText(target.getContent()).trim().length === 0;
144
167
  }
145
- function buildXliffMatch(ref, match) {
168
+ function buildXliffMatch(ref, match, dataCounter) {
146
169
  const xliffMatch = new XliffMatch(ref);
147
170
  xliffMatch.setNamespacePrefix(DEFAULT_PREFIX);
148
171
  xliffMatch.setType('tm');
149
172
  xliffMatch.setOrigin(match.origin);
150
- xliffMatch.setSimilarity(String(match.similarity));
173
+ // @similarity is source-text similarity; @matchQuality is the overall match rating
174
+ xliffMatch.setSimilarity(String(match.fuzzy));
175
+ xliffMatch.setMatchQuality(String(match.similarity));
176
+ const originalData = new XliffOriginalData();
177
+ const correlations = new Map();
151
178
  const source = new XliffSource();
152
- source.addText(Utils.getPureText(match.source));
179
+ source.setContent(trimInlineContent(convertInlineContent(match.source, originalData, dataCounter, correlations, collectBptAnchors(match.source))));
153
180
  xliffMatch.setSource(source);
154
181
  const target = new XliffTarget();
155
- target.addText(Utils.getPureText(match.target));
182
+ target.setContent(trimInlineContent(convertInlineContent(match.target, originalData, dataCounter, correlations, collectBptAnchors(match.target))));
156
183
  xliffMatch.setTarget(target);
184
+ if (originalData.getDataItems().length > 0) {
185
+ xliffMatch.setOriginalData(originalData);
186
+ }
157
187
  return xliffMatch;
158
188
  }
189
+ function collectBptAnchors(element) {
190
+ const anchors = new Map();
191
+ const walk = (node) => {
192
+ node.getContent().forEach((child) => {
193
+ if (!(child instanceof XMLElement)) {
194
+ return;
195
+ }
196
+ if (child.getName() === 'bpt') {
197
+ const i = child.getAttribute('i')?.getValue();
198
+ const x = child.getAttribute('x')?.getValue();
199
+ if (i && x) {
200
+ anchors.set(i, x);
201
+ }
202
+ }
203
+ walk(child);
204
+ });
205
+ };
206
+ walk(element);
207
+ return anchors;
208
+ }
209
+ function convertInlineContent(element, originalData, counter, correlations, bptAnchors) {
210
+ const result = [];
211
+ element.getContent().forEach((node) => {
212
+ if (node instanceof TextNode) {
213
+ result.push(node.getValue());
214
+ }
215
+ else if (node instanceof XMLElement) {
216
+ const name = node.getName();
217
+ if (PLACEHOLDER_TAGS.has(name)) {
218
+ let anchor = node.getAttribute('x')?.getValue() ?? node.getAttribute('id')?.getValue();
219
+ if (!anchor && name === 'ept') {
220
+ const i = node.getAttribute('i')?.getValue();
221
+ anchor = i ? bptAnchors.get(i) : undefined;
222
+ }
223
+ const key = anchor ? name + ':' + anchor : undefined;
224
+ let ref = key ? correlations.get(key) : undefined;
225
+ if (!ref) {
226
+ counter.value++;
227
+ ref = { phId: 'mtcph' + counter.value, dataId: 'mtcd' + counter.value };
228
+ const data = new XliffData(ref.dataId);
229
+ data.addText(extractElementText(node));
230
+ originalData.addData(data);
231
+ if (key) {
232
+ correlations.set(key, ref);
233
+ }
234
+ }
235
+ const ph = new XliffPh(ref.phId);
236
+ ph.setDataRef(ref.dataId);
237
+ result.push(ph);
238
+ }
239
+ else {
240
+ result.push(...convertInlineContent(node, originalData, counter, correlations, bptAnchors));
241
+ }
242
+ }
243
+ });
244
+ return result;
245
+ }
246
+ function trimInlineContent(content) {
247
+ const trimmed = [...content];
248
+ while (trimmed.length > 0 && typeof trimmed[0] === 'string' && trimmed[0].trim().length === 0) {
249
+ trimmed.shift();
250
+ }
251
+ while (trimmed.length > 0 && typeof trimmed[trimmed.length - 1] === 'string' && trimmed[trimmed.length - 1].trim().length === 0) {
252
+ trimmed.pop();
253
+ }
254
+ if (trimmed.length > 0 && typeof trimmed[0] === 'string') {
255
+ trimmed[0] = trimmed[0].replace(/^\s+/, '');
256
+ }
257
+ if (trimmed.length > 0 && typeof trimmed[trimmed.length - 1] === 'string') {
258
+ trimmed[trimmed.length - 1] = trimmed[trimmed.length - 1].replace(/\s+$/, '');
259
+ }
260
+ return trimmed;
261
+ }
159
262
  function declareMatchesNamespace(document) {
160
263
  const alreadyDeclared = document.getOtherAttributes().some((attribute) => attribute.getName().startsWith('xmlns:') && attribute.getValue() === MATCHES_NAMESPACE);
161
264
  if (!alreadyDeclared) {
@@ -170,16 +273,29 @@ function resolveOutputPath(explicit, inputPath) {
170
273
  const stem = basename(inputPath, ext);
171
274
  return join(dirname(inputPath), stem + '.matches.xlf');
172
275
  }
173
- function parsePositiveInt(raw, fallback, flag) {
276
+ function parseIntOption(raw, fallback, flag, min, max) {
174
277
  if (raw === undefined) {
175
278
  return fallback;
176
279
  }
177
280
  const parsed = Number(raw);
178
- if (!Number.isInteger(parsed) || parsed <= 0) {
179
- CliUtils.fail('Invalid ' + flag + ' value "' + raw + '"; expected a positive integer.');
281
+ if (!Number.isInteger(parsed) || parsed < min || (max !== undefined && parsed > max)) {
282
+ const range = max !== undefined ? 'an integer between ' + min + ' and ' + max : 'an integer of at least ' + min;
283
+ CliUtils.fail('Invalid ' + flag + ' value "' + raw + '"; expected ' + range + '.');
180
284
  }
181
285
  return parsed;
182
286
  }
287
+ function extractElementText(element) {
288
+ let text = '';
289
+ element.getContent().forEach((node) => {
290
+ if (node instanceof TextNode) {
291
+ text += node.getValue();
292
+ }
293
+ else if (node instanceof XMLElement) {
294
+ text += extractElementText(node);
295
+ }
296
+ });
297
+ return text;
298
+ }
183
299
  function getPureText(content) {
184
300
  let text = '';
185
301
  content.forEach((item) => {
@@ -1 +1 @@
1
- {"version":3,"file":"matchCommand.js","sourceRoot":"","sources":["../../ts/cli/matchCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matchCommand.js","sourceRoot":"","sources":["../../ts/cli/matchCommand.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * Contributors:
10
10
  * Maxprograms - initial API and implementation
11
11
  *******************************************************************************/
12
+ import { createInterface } from 'node:readline/promises';
12
13
  import { HybridTMFactory } from '../index.js';
13
14
  import { CliUtils } from './cliUtils.js';
14
15
  export function listUsage() {
@@ -29,10 +30,10 @@ export async function runListCommand(args) {
29
30
  });
30
31
  }
31
32
  export function removeUsage() {
32
- console.log('Usage: hybridtm remove -name <name> -yes');
33
+ console.log('Usage: hybridtm remove -name <name> [-force]');
33
34
  console.log();
34
- console.log(' -name Instance to remove (required)');
35
- console.log(' -yes Required confirmation; this permanently deletes the instance\'s data');
35
+ console.log(' -name Instance to remove (required)');
36
+ console.log(' -force Skip the interactive confirmation prompt (for scripts/automation)');
36
37
  }
37
38
  export async function runRemoveCommand(args) {
38
39
  if (CliUtils.hasFlag(args, '-help')) {
@@ -44,9 +45,22 @@ export async function runRemoveCommand(args) {
44
45
  removeUsage();
45
46
  CliUtils.fail('Missing required -name.');
46
47
  }
47
- if (!CliUtils.hasFlag(args, '-yes')) {
48
- removeUsage();
49
- CliUtils.fail('Refusing to remove "' + name + '" without -yes: this permanently deletes its stored data.');
48
+ const instances = HybridTMFactory.listInstances();
49
+ const metadata = instances.find((instance) => instance.name === name);
50
+ if (!metadata) {
51
+ const hint = instances.length > 0
52
+ ? ' Registered instances: ' + instances.map((instance) => '"' + instance.name + '"').join(', ') + '.'
53
+ : ' No instances are registered yet.';
54
+ CliUtils.fail('No instance named "' + name + '".' + hint);
55
+ }
56
+ if (!CliUtils.hasFlag(args, '-force')) {
57
+ console.log('About to permanently delete instance "' + name + '" at ' + metadata.filePath + ' (model: ' + metadata.modelName + ').');
58
+ console.log('This cannot be undone.');
59
+ const confirmed = await confirm('Type "yes" to confirm: ');
60
+ if (!confirmed) {
61
+ console.log('Aborted; no changes made.');
62
+ return;
63
+ }
50
64
  }
51
65
  try {
52
66
  HybridTMFactory.removeInstance(name);
@@ -56,4 +70,14 @@ export async function runRemoveCommand(args) {
56
70
  CliUtils.fail(error instanceof Error ? error.message : String(error));
57
71
  }
58
72
  }
73
+ async function confirm(promptText) {
74
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
75
+ try {
76
+ const answer = await rl.question(promptText);
77
+ return answer.trim().toLowerCase() === 'yes';
78
+ }
79
+ finally {
80
+ rl.close();
81
+ }
82
+ }
59
83
  //# sourceMappingURL=registryCommands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registryCommands.js","sourceRoot":"","sources":["../../ts/cli/registryCommands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;iFAUiF;AAEjF,OAAO,EAAE,eAAe,EAA4B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,SAAS;IACrB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IAC/C,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,SAAS,EAAE,CAAC;QACZ,OAAO;IACX,CAAC;IACD,MAAM,SAAS,GAA+B,eAAe,CAAC,aAAa,EAAE,CAAC;IAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO;IACX,CAAC;IACD,SAAS,CAAC,OAAO,CAAC,CAAC,QAAkC,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,WAAW;IACvB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAc;IACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,WAAW,EAAE,CAAC;QACd,OAAO;IACX,CAAC;IACD,MAAM,IAAI,GAAuB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,WAAW,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAClC,WAAW,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,sBAAsB,GAAG,IAAI,GAAG,2DAA2D,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,CAAC;QACD,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"registryCommands.js","sourceRoot":"","sources":["../../ts/cli/registryCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
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
+ export declare function usage(): void;
13
+ export declare function runRestoreCommand(args: string[]): Promise<void>;