@intlayer/cli 7.0.7 → 7.0.8-canary.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 (149) hide show
  1. package/dist/assets/translation-alignment/ARCHITECTURE.md +518 -0
  2. package/dist/assets/translation-alignment/IMPROVEMENTS.md +550 -0
  3. package/dist/assets/translation-alignment/INTEGRATION_EXAMPLE.md +682 -0
  4. package/dist/assets/translation-alignment/QUICK_START.md +494 -0
  5. package/dist/assets/translation-alignment/README.md +485 -0
  6. package/dist/assets/translation-alignment/SUMMARY.md +440 -0
  7. package/dist/cjs/IntlayerEventListener.cjs +0 -3
  8. package/dist/cjs/IntlayerEventListener.cjs.map +1 -1
  9. package/dist/cjs/_virtual/_utils_asset.cjs +0 -3
  10. package/dist/cjs/build.cjs +0 -2
  11. package/dist/cjs/build.cjs.map +1 -1
  12. package/dist/cjs/cli.cjs +6 -7
  13. package/dist/cjs/cli.cjs.map +1 -1
  14. package/dist/cjs/config.cjs +0 -1
  15. package/dist/cjs/config.cjs.map +1 -1
  16. package/dist/cjs/editor.cjs +0 -4
  17. package/dist/cjs/editor.cjs.map +1 -1
  18. package/dist/cjs/fill/fill.cjs +0 -3
  19. package/dist/cjs/fill/fill.cjs.map +1 -1
  20. package/dist/cjs/fill/formatAutoFilledFilePath.cjs +0 -1
  21. package/dist/cjs/fill/formatAutoFilledFilePath.cjs.map +1 -1
  22. package/dist/cjs/fill/listTranslationsTasks.cjs +0 -6
  23. package/dist/cjs/fill/listTranslationsTasks.cjs.map +1 -1
  24. package/dist/cjs/fill/translateDictionary.cjs +0 -6
  25. package/dist/cjs/fill/translateDictionary.cjs.map +1 -1
  26. package/dist/cjs/fill/writeFill.cjs +0 -4
  27. package/dist/cjs/fill/writeFill.cjs.map +1 -1
  28. package/dist/cjs/getTargetDictionary.cjs +0 -4
  29. package/dist/cjs/getTargetDictionary.cjs.map +1 -1
  30. package/dist/cjs/index.cjs +0 -1
  31. package/dist/cjs/listContentDeclaration.cjs +0 -4
  32. package/dist/cjs/listContentDeclaration.cjs.map +1 -1
  33. package/dist/cjs/liveSync.cjs +0 -6
  34. package/dist/cjs/liveSync.cjs.map +1 -1
  35. package/dist/cjs/pull.cjs +0 -5
  36. package/dist/cjs/pull.cjs.map +1 -1
  37. package/dist/cjs/push/pullLog.cjs +0 -1
  38. package/dist/cjs/push/pullLog.cjs.map +1 -1
  39. package/dist/cjs/push/push.cjs +0 -5
  40. package/dist/cjs/push/push.cjs.map +1 -1
  41. package/dist/cjs/pushConfig.cjs +0 -2
  42. package/dist/cjs/pushConfig.cjs.map +1 -1
  43. package/dist/cjs/pushLog.cjs +0 -1
  44. package/dist/cjs/pushLog.cjs.map +1 -1
  45. package/dist/cjs/reviewDoc.cjs +8 -131
  46. package/dist/cjs/reviewDoc.cjs.map +1 -1
  47. package/dist/cjs/reviewDocBlockAware.cjs +90 -0
  48. package/dist/cjs/reviewDocBlockAware.cjs.map +1 -0
  49. package/dist/cjs/test/index.cjs +0 -2
  50. package/dist/cjs/test/index.cjs.map +1 -1
  51. package/dist/cjs/test/listMissingTranslations.cjs +0 -4
  52. package/dist/cjs/test/listMissingTranslations.cjs.map +1 -1
  53. package/dist/cjs/translateDoc.cjs +8 -8
  54. package/dist/cjs/translateDoc.cjs.map +1 -1
  55. package/dist/cjs/translation-alignment/alignBlocks.cjs +67 -0
  56. package/dist/cjs/translation-alignment/alignBlocks.cjs.map +1 -0
  57. package/dist/cjs/translation-alignment/computeSimilarity.cjs +25 -0
  58. package/dist/cjs/translation-alignment/computeSimilarity.cjs.map +1 -0
  59. package/dist/cjs/translation-alignment/fingerprintBlock.cjs +23 -0
  60. package/dist/cjs/translation-alignment/fingerprintBlock.cjs.map +1 -0
  61. package/dist/cjs/translation-alignment/index.cjs +21 -0
  62. package/dist/cjs/translation-alignment/mapChangedLinesToBlocks.cjs +18 -0
  63. package/dist/cjs/translation-alignment/mapChangedLinesToBlocks.cjs.map +1 -0
  64. package/dist/cjs/translation-alignment/normalizeBlock.cjs +22 -0
  65. package/dist/cjs/translation-alignment/normalizeBlock.cjs.map +1 -0
  66. package/dist/cjs/translation-alignment/pipeline.cjs +37 -0
  67. package/dist/cjs/translation-alignment/pipeline.cjs.map +1 -0
  68. package/dist/cjs/translation-alignment/planActions.cjs +48 -0
  69. package/dist/cjs/translation-alignment/planActions.cjs.map +1 -0
  70. package/dist/cjs/translation-alignment/rebuildDocument.cjs +49 -0
  71. package/dist/cjs/translation-alignment/rebuildDocument.cjs.map +1 -0
  72. package/dist/cjs/translation-alignment/segmentDocument.cjs +132 -0
  73. package/dist/cjs/translation-alignment/segmentDocument.cjs.map +1 -0
  74. package/dist/cjs/translation-alignment/types.cjs +0 -0
  75. package/dist/cjs/utils/calculateChunks.cjs +0 -1
  76. package/dist/cjs/utils/calculateChunks.cjs.map +1 -1
  77. package/dist/cjs/utils/checkAccess.cjs +0 -2
  78. package/dist/cjs/utils/checkAccess.cjs.map +1 -1
  79. package/dist/cjs/utils/checkLastUpdateTime.cjs +0 -1
  80. package/dist/cjs/utils/checkLastUpdateTime.cjs.map +1 -1
  81. package/dist/cjs/utils/chunkInference.cjs +0 -2
  82. package/dist/cjs/utils/chunkInference.cjs.map +1 -1
  83. package/dist/cjs/utils/getIsFileUpdatedRecently.cjs +0 -1
  84. package/dist/cjs/utils/getIsFileUpdatedRecently.cjs.map +1 -1
  85. package/dist/cjs/utils/getParentPackageJSON.cjs +0 -2
  86. package/dist/cjs/utils/getParentPackageJSON.cjs.map +1 -1
  87. package/dist/cjs/utils/mapChunksBetweenFiles.cjs +0 -1
  88. package/dist/cjs/utils/mapChunksBetweenFiles.cjs.map +1 -1
  89. package/dist/cjs/watch.cjs +0 -2
  90. package/dist/cjs/watch.cjs.map +1 -1
  91. package/dist/esm/cli.mjs +6 -3
  92. package/dist/esm/cli.mjs.map +1 -1
  93. package/dist/esm/index.mjs +2 -2
  94. package/dist/esm/reviewDoc.mjs +13 -128
  95. package/dist/esm/reviewDoc.mjs.map +1 -1
  96. package/dist/esm/reviewDocBlockAware.mjs +89 -0
  97. package/dist/esm/reviewDocBlockAware.mjs.map +1 -0
  98. package/dist/esm/translateDoc.mjs +8 -3
  99. package/dist/esm/translateDoc.mjs.map +1 -1
  100. package/dist/esm/translation-alignment/alignBlocks.mjs +67 -0
  101. package/dist/esm/translation-alignment/alignBlocks.mjs.map +1 -0
  102. package/dist/esm/translation-alignment/computeSimilarity.mjs +23 -0
  103. package/dist/esm/translation-alignment/computeSimilarity.mjs.map +1 -0
  104. package/dist/esm/translation-alignment/fingerprintBlock.mjs +21 -0
  105. package/dist/esm/translation-alignment/fingerprintBlock.mjs.map +1 -0
  106. package/dist/esm/translation-alignment/index.mjs +11 -0
  107. package/dist/esm/translation-alignment/mapChangedLinesToBlocks.mjs +17 -0
  108. package/dist/esm/translation-alignment/mapChangedLinesToBlocks.mjs.map +1 -0
  109. package/dist/esm/translation-alignment/normalizeBlock.mjs +21 -0
  110. package/dist/esm/translation-alignment/normalizeBlock.mjs.map +1 -0
  111. package/dist/esm/translation-alignment/pipeline.mjs +36 -0
  112. package/dist/esm/translation-alignment/pipeline.mjs.map +1 -0
  113. package/dist/esm/translation-alignment/planActions.mjs +47 -0
  114. package/dist/esm/translation-alignment/planActions.mjs.map +1 -0
  115. package/dist/esm/translation-alignment/rebuildDocument.mjs +47 -0
  116. package/dist/esm/translation-alignment/rebuildDocument.mjs.map +1 -0
  117. package/dist/esm/translation-alignment/segmentDocument.mjs +131 -0
  118. package/dist/esm/translation-alignment/segmentDocument.mjs.map +1 -0
  119. package/dist/esm/translation-alignment/types.mjs +0 -0
  120. package/dist/types/cli.d.ts.map +1 -1
  121. package/dist/types/index.d.ts +2 -2
  122. package/dist/types/reviewDoc.d.ts +3 -6
  123. package/dist/types/reviewDoc.d.ts.map +1 -1
  124. package/dist/types/reviewDocBlockAware.d.ts +19 -0
  125. package/dist/types/reviewDocBlockAware.d.ts.map +1 -0
  126. package/dist/types/translateDoc.d.ts +2 -0
  127. package/dist/types/translateDoc.d.ts.map +1 -1
  128. package/dist/types/translation-alignment/alignBlocks.d.ts +7 -0
  129. package/dist/types/translation-alignment/alignBlocks.d.ts.map +1 -0
  130. package/dist/types/translation-alignment/computeSimilarity.d.ts +6 -0
  131. package/dist/types/translation-alignment/computeSimilarity.d.ts.map +1 -0
  132. package/dist/types/translation-alignment/fingerprintBlock.d.ts +7 -0
  133. package/dist/types/translation-alignment/fingerprintBlock.d.ts.map +1 -0
  134. package/dist/types/translation-alignment/index.d.ts +11 -0
  135. package/dist/types/translation-alignment/mapChangedLinesToBlocks.d.ts +7 -0
  136. package/dist/types/translation-alignment/mapChangedLinesToBlocks.d.ts.map +1 -0
  137. package/dist/types/translation-alignment/normalizeBlock.d.ts +7 -0
  138. package/dist/types/translation-alignment/normalizeBlock.d.ts.map +1 -0
  139. package/dist/types/translation-alignment/pipeline.d.ts +25 -0
  140. package/dist/types/translation-alignment/pipeline.d.ts.map +1 -0
  141. package/dist/types/translation-alignment/planActions.d.ts +7 -0
  142. package/dist/types/translation-alignment/planActions.d.ts.map +1 -0
  143. package/dist/types/translation-alignment/rebuildDocument.d.ts +32 -0
  144. package/dist/types/translation-alignment/rebuildDocument.d.ts.map +1 -0
  145. package/dist/types/translation-alignment/segmentDocument.d.ts +7 -0
  146. package/dist/types/translation-alignment/segmentDocument.d.ts.map +1 -0
  147. package/dist/types/translation-alignment/types.d.ts +49 -0
  148. package/dist/types/translation-alignment/types.d.ts.map +1 -0
  149. package/package.json +23 -23
@@ -4,11 +4,6 @@ import { AIOptions } from "@intlayer/api";
4
4
  import { ListGitFilesOptions } from "@intlayer/chokidar";
5
5
 
6
6
  //#region src/reviewDoc.d.ts
7
-
8
- /**
9
- * Translate a single file for a given locale
10
- */
11
- declare const reviewFile: (baseFilePath: string, outputFilePath: string, locale: Locale, baseLocale: Locale, aiOptions?: AIOptions, configOptions?: GetConfigurationOptions, customInstructions?: string, changedLines?: number[]) => Promise<void>;
12
7
  type ReviewDocOptions = {
13
8
  docPattern: string[];
14
9
  locales: Locale[];
@@ -20,6 +15,7 @@ type ReviewDocOptions = {
20
15
  customInstructions?: string;
21
16
  skipIfModifiedBefore?: number | string | Date;
22
17
  skipIfModifiedAfter?: number | string | Date;
18
+ skipIfExists?: boolean;
23
19
  gitOptions?: ListGitFilesOptions;
24
20
  };
25
21
  /**
@@ -37,8 +33,9 @@ declare const reviewDoc: ({
37
33
  customInstructions,
38
34
  skipIfModifiedBefore,
39
35
  skipIfModifiedAfter,
36
+ skipIfExists,
40
37
  gitOptions
41
38
  }: ReviewDocOptions) => Promise<void>;
42
39
  //#endregion
43
- export { reviewDoc, reviewFile };
40
+ export { reviewDoc };
44
41
  //# sourceMappingURL=reviewDoc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reviewDoc.d.ts","names":[],"sources":["../../src/reviewDoc.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAsCA;AAGU,cAHG,UAGH,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,cAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EACI,MADJ,EAAA,SAAA,CAAA,EAEI,SAFJ,EAAA,aAAA,CAAA,EAGQ,uBAHR,EAAA,kBAAA,CAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,MAAA,EAAA,EAAA,GAKe,OALf,CAAA,IAAA,CAAA;KAqNL,gBAAA,GApNS;EACA,UAAA,EAAA,MAAA,EAAA;EACI,OAAA,EAoNP,MApNO,EAAA;EAEO,mBAAA,EAAA,MAAA,EAAA;EAAA,UAAA,EAoNX,MApNW;EAgNpB,SAAA,CAAA,EAKS,SALO;EAEV,2BAAA,CAAA,EAAA,MAAA;EAEG,aAAA,CAAA,EAGI,uBAHJ;EACA,kBAAA,CAAA,EAAA,MAAA;EAEI,oBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAEyB,IAFzB;EAEyB,mBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GACD,IADC;EACD,UAAA,CAAA,EAC3B,mBAD2B;CAC3B;;AAOf;;;AAAgC,cAAnB,SAAmB,EAAA,CAAA;EAAA,UAAA;EAAA,OAAA;EAAA,mBAAA;EAAA,UAAA;EAAA,SAAA;EAAA,2BAAA;EAAA,aAAA;EAAA,kBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA;AAAA,CAAA,EAY7B,gBAZ6B,EAAA,GAYb,OAZa,CAAA,IAAA,CAAA"}
1
+ {"version":3,"file":"reviewDoc.d.ts","names":[],"sources":["../../src/reviewDoc.ts"],"sourcesContent":[],"mappings":";;;;;;KA0BK,gBAAA;;EAAA,OAAA,EAEM,MAFN,EAAA;EAEM,mBAAA,EAAA,MAAA,EAAA;EAEG,UAAA,EAAA,MAAA;EACA,SAAA,CAAA,EAAA,SAAA;EAEI,2BAAA,CAAA,EAAA,MAAA;EAEyB,aAAA,CAAA,EAFzB,uBAEyB;EACD,kBAAA,CAAA,EAAA,MAAA;EAE3B,oBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAH4B,IAG5B;EAAmB,mBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAFQ,IAER;EAOrB,YAyHZ,CAAA,EAAA,OAAA;EAzH+B,UAAA,CAAA,EAPjB,mBAOiB;CAAA;;;;;AAAA,cAAnB,SAAmB,EAAA,CAAA;EAAA,UAAA;EAAA,OAAA;EAAA,mBAAA;EAAA,UAAA;EAAA,SAAA;EAAA,2BAAA;EAAA,aAAA;EAAA,kBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,YAAA;EAAA;AAAA,CAAA,EAa7B,gBAb6B,EAAA,GAab,OAba,CAAA,IAAA,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { Locale } from "@intlayer/types";
2
+ import { GetConfigurationOptions } from "@intlayer/config";
3
+ import { AIOptions } from "@intlayer/api";
4
+
5
+ //#region src/reviewDocBlockAware.d.ts
6
+
7
+ /**
8
+ * Review a file using block-aware alignment.
9
+ * This approach:
10
+ * 1. Segments both English and French documents into semantic blocks
11
+ * 2. Aligns blocks using structure (special chars, numbers) and context
12
+ * 3. Detects which blocks changed, were added, or deleted
13
+ * 4. Only sends changed/new blocks to AI for translation
14
+ * 5. Handles reordering automatically
15
+ */
16
+ declare const reviewFileBlockAware: (baseFilePath: string, outputFilePath: string, locale: Locale, baseLocale: Locale, aiOptions?: AIOptions, configOptions?: GetConfigurationOptions, customInstructions?: string, changedLines?: number[]) => Promise<void>;
17
+ //#endregion
18
+ export { reviewFileBlockAware };
19
+ //# sourceMappingURL=reviewDocBlockAware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewDocBlockAware.d.ts","names":[],"sources":["../../src/reviewDocBlockAware.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAkCA;;;;;;;cAAa,6EAGH,oBACI,oBACA,2BACI,kFAEO"}
@@ -20,6 +20,7 @@ type TranslateDocOptions = {
20
20
  customInstructions?: string;
21
21
  skipIfModifiedBefore?: number | string | Date;
22
22
  skipIfModifiedAfter?: number | string | Date;
23
+ skipIfExists?: boolean;
23
24
  gitOptions?: ListGitFilesOptions;
24
25
  };
25
26
  /**
@@ -37,6 +38,7 @@ declare const translateDoc: ({
37
38
  customInstructions,
38
39
  skipIfModifiedBefore,
39
40
  skipIfModifiedAfter,
41
+ skipIfExists,
40
42
  gitOptions
41
43
  }: TranslateDocOptions) => Promise<void>;
42
44
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"translateDoc.d.ts","names":[],"sources":["../../src/translateDoc.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAmCA;AAGU,cAHG,aAGH,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,cAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EACI,MADJ,EAAA,aAAA,EAEO,cAFP,EAAA,SAAA,CAAA,EAGI,SAHJ,EAAA,kBAAA,CAAA,EAAA,MAAA,EAAA,GAImB,OAJnB,CAAA,IAAA,CAAA;KA+HL,mBAAA,GA9HS;EACG,UAAA,EAAA,MAAA,EAAA;EACH,OAAA,EA8HH,MA9HG,EAAA;EACe,mBAAA,EAAA,MAAA,EAAA;EAAA,UAAA,EA+Hf,MA/He;EA2HxB,SAAA,CAAA,EAKS,SALT;EAEM,2BAAA,CAAA,EAAA,MAAA;EAEG,aAAA,CAAA,EAGI,uBAHJ;EACA,kBAAA,CAAA,EAAA,MAAA;EAEI,oBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAEyB,IAFzB;EAEyB,mBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GACD,IADC;EACD,UAAA,CAAA,EAC3B,mBAD2B;CAC3B;;AAOf;;;AAAmC,cAAtB,YAAsB,EAAA,CAAA;EAAA,UAAA;EAAA,OAAA;EAAA,mBAAA;EAAA,UAAA;EAAA,SAAA;EAAA,2BAAA;EAAA,aAAA;EAAA,kBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA;AAAA,CAAA,EAYhC,mBAZgC,EAAA,GAYb,OAZa,CAAA,IAAA,CAAA"}
1
+ {"version":3,"file":"translateDoc.d.ts","names":[],"sources":["../../src/translateDoc.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAmCA;AAGU,cAHG,aAGH,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,cAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EACI,MADJ,EAAA,aAAA,EAEO,cAFP,EAAA,SAAA,CAAA,EAGI,SAHJ,EAAA,kBAAA,CAAA,EAAA,MAAA,EAAA,GAImB,OAJnB,CAAA,IAAA,CAAA;KA+HL,mBAAA,GA9HS;EACG,UAAA,EAAA,MAAA,EAAA;EACH,OAAA,EA8HH,MA9HG,EAAA;EACe,mBAAA,EAAA,MAAA,EAAA;EAAA,UAAA,EA+Hf,MA/He;EA2HxB,SAAA,CAAA,EAKS,SALT;EAEM,2BAAA,CAAA,EAAA,MAAA;EAEG,aAAA,CAAA,EAGI,uBAHJ;EACA,kBAAA,CAAA,EAAA,MAAA;EAEI,oBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GAEyB,IAFzB;EAEyB,mBAAA,CAAA,EAAA,MAAA,GAAA,MAAA,GACD,IADC;EACD,YAAA,CAAA,EAAA,OAAA;EAE3B,UAAA,CAAA,EAAA,mBAAA;CAAmB;AAOlC;;;;AAAmC,cAAtB,YAAsB,EAAA,CAAA;EAAA,UAAA;EAAA,OAAA;EAAA,mBAAA;EAAA,UAAA;EAAA,SAAA;EAAA,2BAAA;EAAA,aAAA;EAAA,kBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,YAAA;EAAA;AAAA,CAAA,EAahC,mBAbgC,EAAA,GAab,OAba,CAAA,IAAA,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { AlignmentPair, FingerprintedBlock } from "./types.js";
2
+
3
+ //#region src/translation-alignment/alignBlocks.d.ts
4
+ declare const alignEnglishAndFrenchBlocks: (defaultBlocks: FingerprintedBlock[], secondaryBlocks: FingerprintedBlock[]) => AlignmentPair[];
5
+ //#endregion
6
+ export { alignEnglishAndFrenchBlocks };
7
+ //# sourceMappingURL=alignBlocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignBlocks.d.ts","names":[],"sources":["../../../src/translation-alignment/alignBlocks.ts"],"sourcesContent":[],"mappings":";;;cAGa,6CACI,uCACE,yBAChB"}
@@ -0,0 +1,6 @@
1
+ //#region src/translation-alignment/computeSimilarity.d.ts
2
+ declare const generateCharacterShingles: (text: string, shingleLength: number) => Set<string>;
3
+ declare const computeJaccardSimilarity: (a: string, b: string, shingleLength?: number) => number;
4
+ //#endregion
5
+ export { computeJaccardSimilarity, generateCharacterShingles };
6
+ //# sourceMappingURL=computeSimilarity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeSimilarity.d.ts","names":[],"sources":["../../../src/translation-alignment/computeSimilarity.ts"],"sourcesContent":[],"mappings":";cACa,oEAGV;AAHU,cAkBA,wBAfV,EAAA,CAAG,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,MAAA,EAAA,GAAA,MAAA"}
@@ -0,0 +1,7 @@
1
+ import { FingerprintedBlock, NormalizedBlock } from "./types.js";
2
+
3
+ //#region src/translation-alignment/fingerprintBlock.d.ts
4
+ declare const fingerprintBlock: (block: NormalizedBlock, previousBlock: NormalizedBlock | null, nextBlock: NormalizedBlock | null) => FingerprintedBlock;
5
+ //#endregion
6
+ export { fingerprintBlock };
7
+ //# sourceMappingURL=fingerprintBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprintBlock.d.ts","names":[],"sources":["../../../src/translation-alignment/fingerprintBlock.ts"],"sourcesContent":[],"mappings":";;;cAMa,0BACJ,gCACQ,mCACJ,2BACV"}
@@ -0,0 +1,11 @@
1
+ import { AlignmentPair, AlignmentPlan, Block, BlockType, FingerprintedBlock, LineChange, NormalizedBlock, PlannedAction, SimilarityOptions } from "./types.js";
2
+ import { alignEnglishAndFrenchBlocks } from "./alignBlocks.js";
3
+ import { computeJaccardSimilarity, generateCharacterShingles } from "./computeSimilarity.js";
4
+ import { fingerprintBlock } from "./fingerprintBlock.js";
5
+ import { mapChangedLinesToBlocks } from "./mapChangedLinesToBlocks.js";
6
+ import { normalizeBlock } from "./normalizeBlock.js";
7
+ import { SegmentToReview, identifySegmentsToReview, mergeReviewedSegments } from "./rebuildDocument.js";
8
+ import { BuildAlignmentPlanInput, BuildAlignmentPlanOutput, buildAlignmentPlan } from "./pipeline.js";
9
+ import { planAlignmentActions } from "./planActions.js";
10
+ import { segmentDocument } from "./segmentDocument.js";
11
+ export { type AlignmentPair, type AlignmentPlan, type Block, type BlockType, type BuildAlignmentPlanInput, type BuildAlignmentPlanOutput, type FingerprintedBlock, type LineChange, type NormalizedBlock, type PlannedAction, type SegmentToReview, type SimilarityOptions, alignEnglishAndFrenchBlocks, buildAlignmentPlan, computeJaccardSimilarity, fingerprintBlock, generateCharacterShingles, identifySegmentsToReview, mapChangedLinesToBlocks, mergeReviewedSegments, normalizeBlock, planAlignmentActions, segmentDocument };
@@ -0,0 +1,7 @@
1
+ import { Block, LineChange } from "./types.js";
2
+
3
+ //#region src/translation-alignment/mapChangedLinesToBlocks.d.ts
4
+ declare const mapChangedLinesToBlocks: (blocks: Block[], changedLines: LineChange[]) => Set<number>;
5
+ //#endregion
6
+ export { mapChangedLinesToBlocks };
7
+ //# sourceMappingURL=mapChangedLinesToBlocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapChangedLinesToBlocks.d.ts","names":[],"sources":["../../../src/translation-alignment/mapChangedLinesToBlocks.ts"],"sourcesContent":[],"mappings":";;;cAEa,kCACH,uBACM,iBACb"}
@@ -0,0 +1,7 @@
1
+ import { Block, NormalizedBlock } from "./types.js";
2
+
3
+ //#region src/translation-alignment/normalizeBlock.d.ts
4
+ declare const normalizeBlock: (block: Block) => NormalizedBlock;
5
+ //#endregion
6
+ export { normalizeBlock };
7
+ //# sourceMappingURL=normalizeBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeBlock.d.ts","names":[],"sources":["../../../src/translation-alignment/normalizeBlock.ts"],"sourcesContent":[],"mappings":";;;cAwBa,wBAAyB,UAAQ"}
@@ -0,0 +1,25 @@
1
+ import { AlignmentPlan, FingerprintedBlock, SimilarityOptions } from "./types.js";
2
+ import { SegmentToReview, mergeReviewedSegments } from "./rebuildDocument.js";
3
+
4
+ //#region src/translation-alignment/pipeline.d.ts
5
+ type BuildAlignmentPlanInput = {
6
+ englishText: string;
7
+ frenchText: string;
8
+ changedLines: number[] | undefined;
9
+ similarityOptions?: Partial<SimilarityOptions>;
10
+ };
11
+ type BuildAlignmentPlanOutput = {
12
+ englishBlocks: FingerprintedBlock[];
13
+ frenchBlocks: FingerprintedBlock[];
14
+ plan: AlignmentPlan;
15
+ segmentsToReview: SegmentToReview[];
16
+ };
17
+ declare const buildAlignmentPlan: ({
18
+ englishText,
19
+ frenchText,
20
+ changedLines,
21
+ similarityOptions
22
+ }: BuildAlignmentPlanInput) => BuildAlignmentPlanOutput;
23
+ //#endregion
24
+ export { BuildAlignmentPlanInput, BuildAlignmentPlanOutput, type SegmentToReview, buildAlignmentPlan, mergeReviewedSegments };
25
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","names":[],"sources":["../../../src/translation-alignment/pipeline.ts"],"sourcesContent":[],"mappings":";;;;KAiBY,uBAAA;;EAAA,UAAA,EAAA,MAAA;EAOA,YAAA,EAAA,MAAA,EAAA,GAAA,SAAwB;EACnB,iBAAA,CAAA,EAJK,OAIL,CAJa,iBAIb,CAAA;CACD;AACR,KAHI,wBAAA,GAGJ;EACY,aAAA,EAHH,kBAGG,EAAA;EAAe,YAAA,EAFnB,kBAEmB,EAAA;EAGtB,IAAA,EAJL,aAIK;EAAsB,gBAAA,EAHf,eAGe,EAAA;CAAA;AAAA,cAAtB,kBAAsB,EAAA,CAAA;EAAA,WAAA;EAAA,UAAA;EAAA,YAAA;EAAA;AAAA,CAAA,EAKhC,uBALgC,EAAA,GAKN,wBALM"}
@@ -0,0 +1,7 @@
1
+ import { AlignmentPair, AlignmentPlan, SimilarityOptions } from "./types.js";
2
+
3
+ //#region src/translation-alignment/planActions.d.ts
4
+ declare const planAlignmentActions: (alignment: AlignmentPair[], changedEnglishBlockIndexes: Set<number>, similarityOptions: SimilarityOptions) => AlignmentPlan;
5
+ //#endregion
6
+ export { planAlignmentActions };
7
+ //# sourceMappingURL=planActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planActions.d.ts","names":[],"sources":["../../../src/translation-alignment/planActions.ts"],"sourcesContent":[],"mappings":";;;cAOa,kCACA,6CACiB,gCACT,sBAClB"}
@@ -0,0 +1,32 @@
1
+ import { AlignmentPlan, FingerprintedBlock } from "./types.js";
2
+
3
+ //#region src/translation-alignment/rebuildDocument.d.ts
4
+ type SegmentToReview = {
5
+ englishBlock: FingerprintedBlock;
6
+ frenchBlockText: string | null;
7
+ actionIndex: number;
8
+ };
9
+ type RebuildInput = {
10
+ englishBlocks: FingerprintedBlock[];
11
+ frenchBlocks: FingerprintedBlock[];
12
+ plan: AlignmentPlan;
13
+ };
14
+ type RebuildResult = {
15
+ segmentsToReview: SegmentToReview[];
16
+ };
17
+ /**
18
+ * Analyzes the alignment plan and returns only the segments that need review/translation.
19
+ * Does not generate output text - that's done by mergeReviewedSegments after translation.
20
+ */
21
+ declare const identifySegmentsToReview: ({
22
+ englishBlocks,
23
+ frenchBlocks,
24
+ plan
25
+ }: RebuildInput) => RebuildResult;
26
+ /**
27
+ * Merges reviewed translations back into the final document following the alignment plan.
28
+ */
29
+ declare const mergeReviewedSegments: (plan: AlignmentPlan, frenchBlocks: FingerprintedBlock[], reviewedSegments: Map<number, string>) => string;
30
+ //#endregion
31
+ export { RebuildInput, RebuildResult, SegmentToReview, identifySegmentsToReview, mergeReviewedSegments };
32
+ //# sourceMappingURL=rebuildDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rebuildDocument.d.ts","names":[],"sources":["../../../src/translation-alignment/rebuildDocument.ts"],"sourcesContent":[],"mappings":";;;KAEY,eAAA;gBACI;EADJ,eAAA,EAAA,MAAe,GAAA,IACX;EAKJ,WAAA,EAAA,MAAY;CACP;AACD,KAFJ,YAAA,GAEI;EACR,aAAA,EAFS,kBAET,EAAA;EAAa,YAAA,EADL,kBACK,EAAA;EAGT,IAAA,EAHJ,aAGiB;AAQzB,CAAA;AAAyC,KAR7B,aAAA,GAQ6B;EAAA,gBAAA,EAPrB,eAOqB,EAAA;CAAA;;;;AAiCzC;AACQ,cAlCK,wBAkCL,EAAA,CAAA;EAAA,aAAA;EAAA,YAAA;EAAA;AAAA,CAAA,EA9BL,YA8BK,EAAA,GA9BU,aA8BV;;;;cADK,8BACL,6BACQ,wCACI"}
@@ -0,0 +1,7 @@
1
+ import { Block } from "./types.js";
2
+
3
+ //#region src/translation-alignment/segmentDocument.d.ts
4
+ declare const segmentDocument: (text: string) => Block[];
5
+ //#endregion
6
+ export { segmentDocument };
7
+ //# sourceMappingURL=segmentDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"segmentDocument.d.ts","names":[],"sources":["../../../src/translation-alignment/segmentDocument.ts"],"sourcesContent":[],"mappings":";;;cAwBa,mCAAkC"}
@@ -0,0 +1,49 @@
1
+ //#region src/translation-alignment/types.d.ts
2
+ type BlockType = 'heading' | 'paragraph' | 'list_item' | 'code_block' | 'blockquote' | 'table' | 'horizontal_rule' | 'html' | 'unknown';
3
+ type Block = {
4
+ type: BlockType;
5
+ content: string;
6
+ lineStart: number;
7
+ lineEnd: number;
8
+ };
9
+ type NormalizedBlock = Block & {
10
+ semanticText: string;
11
+ anchorText: string;
12
+ };
13
+ type FingerprintedBlock = NormalizedBlock & {
14
+ semanticDigest: string;
15
+ anchorDigest: string;
16
+ compositeKey: string;
17
+ contextKey?: string;
18
+ };
19
+ type AlignmentPair = {
20
+ englishIndex: number;
21
+ frenchIndex: number | null;
22
+ similarityScore: number;
23
+ };
24
+ type PlannedAction = {
25
+ kind: 'reuse';
26
+ englishIndex: number;
27
+ frenchIndex: number;
28
+ } | {
29
+ kind: 'review';
30
+ englishIndex: number;
31
+ frenchIndex: number | null;
32
+ } | {
33
+ kind: 'insert_new';
34
+ englishIndex: number;
35
+ } | {
36
+ kind: 'delete';
37
+ frenchIndex: number;
38
+ };
39
+ type AlignmentPlan = {
40
+ actions: PlannedAction[];
41
+ };
42
+ type LineChange = number;
43
+ type SimilarityOptions = {
44
+ minimumMatchForReuse: number;
45
+ minimumMatchForNearDuplicate: number;
46
+ };
47
+ //#endregion
48
+ export { AlignmentPair, AlignmentPlan, Block, BlockType, FingerprintedBlock, LineChange, NormalizedBlock, PlannedAction, SimilarityOptions };
49
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../../src/translation-alignment/types.ts"],"sourcesContent":[],"mappings":";KAAY,SAAA;AAAA,KAWA,KAAA,GAXS;EAWT,IAAA,EACJ,SADS;EAOL,OAAA,EAAA,MAAA;EAKA,SAAA,EAAA,MAAA;EAOA,OAAA,EAAA,MAAA;AAMZ,CAAA;AAMY,KAxBA,eAAA,GAAkB,KAyBnB,GAAA;EAGC,YAAA,EAAU,MAAA;EAEV,UAAA,EAAA,MAAA;;KAzBA,kBAAA,GAAqB;;;;;;KAOrB,aAAA;;;;;KAMA,aAAA;;;;;;;;;;;;;;;KAMA,aAAA;WACD;;KAGC,UAAA;KAEA,iBAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/cli",
3
- "version": "7.0.7",
3
+ "version": "7.0.8-canary.0",
4
4
  "private": false,
5
5
  "description": "Provides uniform command-line interface scripts for Intlayer, used in packages like intlayer-cli and intlayer.",
6
6
  "keywords": [
@@ -63,36 +63,36 @@
63
63
  "typecheck": "tsc --noEmit --project tsconfig.types.json"
64
64
  },
65
65
  "dependencies": {
66
- "@intlayer/api": "7.0.7",
67
- "@intlayer/chokidar": "7.0.7",
68
- "@intlayer/config": "7.0.7",
69
- "@intlayer/dictionaries-entry": "7.0.7",
70
- "@intlayer/remote-dictionaries-entry": "7.0.7",
71
- "@intlayer/types": "7.0.7",
72
- "@intlayer/unmerged-dictionaries-entry": "7.0.7",
66
+ "@intlayer/api": "7.0.8-canary.0",
67
+ "@intlayer/chokidar": "7.0.8-canary.0",
68
+ "@intlayer/config": "7.0.8-canary.0",
69
+ "@intlayer/dictionaries-entry": "7.0.8-canary.0",
70
+ "@intlayer/remote-dictionaries-entry": "7.0.8-canary.0",
71
+ "@intlayer/types": "7.0.8-canary.0",
72
+ "@intlayer/unmerged-dictionaries-entry": "7.0.8-canary.0",
73
73
  "commander": "14.0.1",
74
74
  "eventsource": "3.0.7",
75
75
  "fast-glob": "3.3.3"
76
76
  },
77
77
  "devDependencies": {
78
- "@intlayer/core": "7.0.7",
79
- "@types/node": "24.9.2",
80
- "@utils/ts-config": "7.0.7",
81
- "@utils/ts-config-types": "7.0.7",
82
- "@utils/tsdown-config": "7.0.7",
83
- "rimraf": "6.0.1",
84
- "tsdown": "0.15.11",
78
+ "@intlayer/core": "7.0.8-canary.0",
79
+ "@types/node": "24.10.0",
80
+ "@utils/ts-config": "7.0.8-canary.0",
81
+ "@utils/ts-config-types": "7.0.8-canary.0",
82
+ "@utils/tsdown-config": "7.0.8-canary.0",
83
+ "rimraf": "6.1.0",
84
+ "tsdown": "0.16.0",
85
85
  "typescript": "5.9.3",
86
- "vitest": "4.0.5"
86
+ "vitest": "4.0.7"
87
87
  },
88
88
  "peerDependencies": {
89
- "@intlayer/api": "7.0.7",
90
- "@intlayer/chokidar": "7.0.7",
91
- "@intlayer/config": "7.0.7",
92
- "@intlayer/dictionaries-entry": "7.0.7",
93
- "@intlayer/remote-dictionaries-entry": "7.0.7",
94
- "@intlayer/types": "7.0.7",
95
- "@intlayer/unmerged-dictionaries-entry": "7.0.7"
89
+ "@intlayer/api": "7.0.8-canary.0",
90
+ "@intlayer/chokidar": "7.0.8-canary.0",
91
+ "@intlayer/config": "7.0.8-canary.0",
92
+ "@intlayer/dictionaries-entry": "7.0.8-canary.0",
93
+ "@intlayer/remote-dictionaries-entry": "7.0.8-canary.0",
94
+ "@intlayer/types": "7.0.8-canary.0",
95
+ "@intlayer/unmerged-dictionaries-entry": "7.0.8-canary.0"
96
96
  },
97
97
  "bug": {
98
98
  "url": "https://github.com/aymericzip/intlayer/issues"