@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.
- package/dist/assets/translation-alignment/ARCHITECTURE.md +518 -0
- package/dist/assets/translation-alignment/IMPROVEMENTS.md +550 -0
- package/dist/assets/translation-alignment/INTEGRATION_EXAMPLE.md +682 -0
- package/dist/assets/translation-alignment/QUICK_START.md +494 -0
- package/dist/assets/translation-alignment/README.md +485 -0
- package/dist/assets/translation-alignment/SUMMARY.md +440 -0
- package/dist/cjs/IntlayerEventListener.cjs +0 -3
- package/dist/cjs/IntlayerEventListener.cjs.map +1 -1
- package/dist/cjs/_virtual/_utils_asset.cjs +0 -3
- package/dist/cjs/build.cjs +0 -2
- package/dist/cjs/build.cjs.map +1 -1
- package/dist/cjs/cli.cjs +6 -7
- package/dist/cjs/cli.cjs.map +1 -1
- package/dist/cjs/config.cjs +0 -1
- package/dist/cjs/config.cjs.map +1 -1
- package/dist/cjs/editor.cjs +0 -4
- package/dist/cjs/editor.cjs.map +1 -1
- package/dist/cjs/fill/fill.cjs +0 -3
- package/dist/cjs/fill/fill.cjs.map +1 -1
- package/dist/cjs/fill/formatAutoFilledFilePath.cjs +0 -1
- package/dist/cjs/fill/formatAutoFilledFilePath.cjs.map +1 -1
- package/dist/cjs/fill/listTranslationsTasks.cjs +0 -6
- package/dist/cjs/fill/listTranslationsTasks.cjs.map +1 -1
- package/dist/cjs/fill/translateDictionary.cjs +0 -6
- package/dist/cjs/fill/translateDictionary.cjs.map +1 -1
- package/dist/cjs/fill/writeFill.cjs +0 -4
- package/dist/cjs/fill/writeFill.cjs.map +1 -1
- package/dist/cjs/getTargetDictionary.cjs +0 -4
- package/dist/cjs/getTargetDictionary.cjs.map +1 -1
- package/dist/cjs/index.cjs +0 -1
- package/dist/cjs/listContentDeclaration.cjs +0 -4
- package/dist/cjs/listContentDeclaration.cjs.map +1 -1
- package/dist/cjs/liveSync.cjs +0 -6
- package/dist/cjs/liveSync.cjs.map +1 -1
- package/dist/cjs/pull.cjs +0 -5
- package/dist/cjs/pull.cjs.map +1 -1
- package/dist/cjs/push/pullLog.cjs +0 -1
- package/dist/cjs/push/pullLog.cjs.map +1 -1
- package/dist/cjs/push/push.cjs +0 -5
- package/dist/cjs/push/push.cjs.map +1 -1
- package/dist/cjs/pushConfig.cjs +0 -2
- package/dist/cjs/pushConfig.cjs.map +1 -1
- package/dist/cjs/pushLog.cjs +0 -1
- package/dist/cjs/pushLog.cjs.map +1 -1
- package/dist/cjs/reviewDoc.cjs +8 -131
- package/dist/cjs/reviewDoc.cjs.map +1 -1
- package/dist/cjs/reviewDocBlockAware.cjs +90 -0
- package/dist/cjs/reviewDocBlockAware.cjs.map +1 -0
- package/dist/cjs/test/index.cjs +0 -2
- package/dist/cjs/test/index.cjs.map +1 -1
- package/dist/cjs/test/listMissingTranslations.cjs +0 -4
- package/dist/cjs/test/listMissingTranslations.cjs.map +1 -1
- package/dist/cjs/translateDoc.cjs +8 -8
- package/dist/cjs/translateDoc.cjs.map +1 -1
- package/dist/cjs/translation-alignment/alignBlocks.cjs +67 -0
- package/dist/cjs/translation-alignment/alignBlocks.cjs.map +1 -0
- package/dist/cjs/translation-alignment/computeSimilarity.cjs +25 -0
- package/dist/cjs/translation-alignment/computeSimilarity.cjs.map +1 -0
- package/dist/cjs/translation-alignment/fingerprintBlock.cjs +23 -0
- package/dist/cjs/translation-alignment/fingerprintBlock.cjs.map +1 -0
- package/dist/cjs/translation-alignment/index.cjs +21 -0
- package/dist/cjs/translation-alignment/mapChangedLinesToBlocks.cjs +18 -0
- package/dist/cjs/translation-alignment/mapChangedLinesToBlocks.cjs.map +1 -0
- package/dist/cjs/translation-alignment/normalizeBlock.cjs +22 -0
- package/dist/cjs/translation-alignment/normalizeBlock.cjs.map +1 -0
- package/dist/cjs/translation-alignment/pipeline.cjs +37 -0
- package/dist/cjs/translation-alignment/pipeline.cjs.map +1 -0
- package/dist/cjs/translation-alignment/planActions.cjs +48 -0
- package/dist/cjs/translation-alignment/planActions.cjs.map +1 -0
- package/dist/cjs/translation-alignment/rebuildDocument.cjs +49 -0
- package/dist/cjs/translation-alignment/rebuildDocument.cjs.map +1 -0
- package/dist/cjs/translation-alignment/segmentDocument.cjs +132 -0
- package/dist/cjs/translation-alignment/segmentDocument.cjs.map +1 -0
- package/dist/cjs/translation-alignment/types.cjs +0 -0
- package/dist/cjs/utils/calculateChunks.cjs +0 -1
- package/dist/cjs/utils/calculateChunks.cjs.map +1 -1
- package/dist/cjs/utils/checkAccess.cjs +0 -2
- package/dist/cjs/utils/checkAccess.cjs.map +1 -1
- package/dist/cjs/utils/checkLastUpdateTime.cjs +0 -1
- package/dist/cjs/utils/checkLastUpdateTime.cjs.map +1 -1
- package/dist/cjs/utils/chunkInference.cjs +0 -2
- package/dist/cjs/utils/chunkInference.cjs.map +1 -1
- package/dist/cjs/utils/getIsFileUpdatedRecently.cjs +0 -1
- package/dist/cjs/utils/getIsFileUpdatedRecently.cjs.map +1 -1
- package/dist/cjs/utils/getParentPackageJSON.cjs +0 -2
- package/dist/cjs/utils/getParentPackageJSON.cjs.map +1 -1
- package/dist/cjs/utils/mapChunksBetweenFiles.cjs +0 -1
- package/dist/cjs/utils/mapChunksBetweenFiles.cjs.map +1 -1
- package/dist/cjs/watch.cjs +0 -2
- package/dist/cjs/watch.cjs.map +1 -1
- package/dist/esm/cli.mjs +6 -3
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/reviewDoc.mjs +13 -128
- package/dist/esm/reviewDoc.mjs.map +1 -1
- package/dist/esm/reviewDocBlockAware.mjs +89 -0
- package/dist/esm/reviewDocBlockAware.mjs.map +1 -0
- package/dist/esm/translateDoc.mjs +8 -3
- package/dist/esm/translateDoc.mjs.map +1 -1
- package/dist/esm/translation-alignment/alignBlocks.mjs +67 -0
- package/dist/esm/translation-alignment/alignBlocks.mjs.map +1 -0
- package/dist/esm/translation-alignment/computeSimilarity.mjs +23 -0
- package/dist/esm/translation-alignment/computeSimilarity.mjs.map +1 -0
- package/dist/esm/translation-alignment/fingerprintBlock.mjs +21 -0
- package/dist/esm/translation-alignment/fingerprintBlock.mjs.map +1 -0
- package/dist/esm/translation-alignment/index.mjs +11 -0
- package/dist/esm/translation-alignment/mapChangedLinesToBlocks.mjs +17 -0
- package/dist/esm/translation-alignment/mapChangedLinesToBlocks.mjs.map +1 -0
- package/dist/esm/translation-alignment/normalizeBlock.mjs +21 -0
- package/dist/esm/translation-alignment/normalizeBlock.mjs.map +1 -0
- package/dist/esm/translation-alignment/pipeline.mjs +36 -0
- package/dist/esm/translation-alignment/pipeline.mjs.map +1 -0
- package/dist/esm/translation-alignment/planActions.mjs +47 -0
- package/dist/esm/translation-alignment/planActions.mjs.map +1 -0
- package/dist/esm/translation-alignment/rebuildDocument.mjs +47 -0
- package/dist/esm/translation-alignment/rebuildDocument.mjs.map +1 -0
- package/dist/esm/translation-alignment/segmentDocument.mjs +131 -0
- package/dist/esm/translation-alignment/segmentDocument.mjs.map +1 -0
- package/dist/esm/translation-alignment/types.mjs +0 -0
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/reviewDoc.d.ts +3 -6
- package/dist/types/reviewDoc.d.ts.map +1 -1
- package/dist/types/reviewDocBlockAware.d.ts +19 -0
- package/dist/types/reviewDocBlockAware.d.ts.map +1 -0
- package/dist/types/translateDoc.d.ts +2 -0
- package/dist/types/translateDoc.d.ts.map +1 -1
- package/dist/types/translation-alignment/alignBlocks.d.ts +7 -0
- package/dist/types/translation-alignment/alignBlocks.d.ts.map +1 -0
- package/dist/types/translation-alignment/computeSimilarity.d.ts +6 -0
- package/dist/types/translation-alignment/computeSimilarity.d.ts.map +1 -0
- package/dist/types/translation-alignment/fingerprintBlock.d.ts +7 -0
- package/dist/types/translation-alignment/fingerprintBlock.d.ts.map +1 -0
- package/dist/types/translation-alignment/index.d.ts +11 -0
- package/dist/types/translation-alignment/mapChangedLinesToBlocks.d.ts +7 -0
- package/dist/types/translation-alignment/mapChangedLinesToBlocks.d.ts.map +1 -0
- package/dist/types/translation-alignment/normalizeBlock.d.ts +7 -0
- package/dist/types/translation-alignment/normalizeBlock.d.ts.map +1 -0
- package/dist/types/translation-alignment/pipeline.d.ts +25 -0
- package/dist/types/translation-alignment/pipeline.d.ts.map +1 -0
- package/dist/types/translation-alignment/planActions.d.ts +7 -0
- package/dist/types/translation-alignment/planActions.d.ts.map +1 -0
- package/dist/types/translation-alignment/rebuildDocument.d.ts +32 -0
- package/dist/types/translation-alignment/rebuildDocument.d.ts.map +1 -0
- package/dist/types/translation-alignment/segmentDocument.d.ts +7 -0
- package/dist/types/translation-alignment/segmentDocument.d.ts.map +1 -0
- package/dist/types/translation-alignment/types.d.ts +49 -0
- package/dist/types/translation-alignment/types.d.ts.map +1 -0
- 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
|
|
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":"
|
|
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,
|
|
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 @@
|
|
|
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.
|
|
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.
|
|
67
|
-
"@intlayer/chokidar": "7.0.
|
|
68
|
-
"@intlayer/config": "7.0.
|
|
69
|
-
"@intlayer/dictionaries-entry": "7.0.
|
|
70
|
-
"@intlayer/remote-dictionaries-entry": "7.0.
|
|
71
|
-
"@intlayer/types": "7.0.
|
|
72
|
-
"@intlayer/unmerged-dictionaries-entry": "7.0.
|
|
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.
|
|
79
|
-
"@types/node": "24.
|
|
80
|
-
"@utils/ts-config": "7.0.
|
|
81
|
-
"@utils/ts-config-types": "7.0.
|
|
82
|
-
"@utils/tsdown-config": "7.0.
|
|
83
|
-
"rimraf": "6.0
|
|
84
|
-
"tsdown": "0.
|
|
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.
|
|
86
|
+
"vitest": "4.0.7"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"@intlayer/api": "7.0.
|
|
90
|
-
"@intlayer/chokidar": "7.0.
|
|
91
|
-
"@intlayer/config": "7.0.
|
|
92
|
-
"@intlayer/dictionaries-entry": "7.0.
|
|
93
|
-
"@intlayer/remote-dictionaries-entry": "7.0.
|
|
94
|
-
"@intlayer/types": "7.0.
|
|
95
|
-
"@intlayer/unmerged-dictionaries-entry": "7.0.
|
|
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"
|