@openspecui/core 3.11.0 → 3.11.2
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/{document-translation-BrE402YR.mjs → document-translation-BTEG-uW_.mjs} +5 -1
- package/dist/{document-translation-BZ5QKjN0.d.mts → document-translation-EMIQf5dw.d.mts} +80 -30
- package/dist/document-translation.d.mts +2 -2
- package/dist/document-translation.mjs +2 -2
- package/dist/hosted-app.d.mts +1 -1
- package/dist/hosted-app.mjs +1 -1
- package/dist/index.d.mts +162 -61
- package/dist/index.mjs +337 -56
- package/dist/{local-download-profiles-BppI_PAq.mjs → local-download-profiles-CNDtMG2s.mjs} +7 -3
- package/dist/{local-download-profiles-BdHk_i54.d.mts → local-download-profiles-CSXKbamv.d.mts} +5 -1
- package/dist/local-download-profiles.d.mts +2 -2
- package/dist/local-download-profiles.mjs +1 -1
- package/dist/markdown-facts.d.mts +1 -1
- package/dist/markdown-facts.mjs +1 -1
- package/dist/{markdown-reading-DvLPaaY1.d.mts → markdown-reading-BaHZTf5f.d.mts} +1 -1
- package/dist/{markdown-reading-DYBp7qoI.mjs → markdown-reading-DSlcirYV.mjs} +1 -1
- package/dist/markdown-reading.d.mts +2 -2
- package/dist/markdown-reading.mjs +2 -2
- package/dist/{notifications-B4GiAnmn.d.mts → notifications-Ct6rtBwb.d.mts} +16 -16
- package/dist/{notifications-9vbSJQ8N.mjs → notifications-Xs9VPFWD.mjs} +2 -2
- package/dist/notifications.d.mts +2 -2
- package/dist/notifications.mjs +3 -3
- package/dist/{openspec-annotations-DVbFBz5J.d.mts → openspec-annotations-DYyP_HQh.d.mts} +2 -2
- package/dist/{openspec-annotations-BxBoWlyv.mjs → openspec-annotations-dNJentSE.mjs} +2 -2
- package/dist/openspec-annotations.d.mts +3 -3
- package/dist/openspec-annotations.mjs +3 -3
- package/dist/{openspec-projection-Df5C6CFv.d.mts → openspec-projection-DrTZ0P31.d.mts} +3 -3
- package/dist/{openspec-projection-Cd6oydiK.mjs → openspec-projection-yqwKIKnp.mjs} +2 -2
- package/dist/openspec-projection.d.mts +5 -5
- package/dist/openspec-projection.mjs +4 -4
- package/dist/opsx-display-path.d.mts +1 -1
- package/dist/opsx-display-path.mjs +1 -1
- package/dist/{opsx-entity-DHidvJcx.d.mts → opsx-entity-CIB-Wi0n.d.mts} +13 -13
- package/dist/opsx-entity.d.mts +2 -2
- package/dist/opsx-entity.mjs +1 -1
- package/dist/{opsx-schema-detail-VyCbvX1I.d.mts → opsx-schema-detail-Cjoesix_.d.mts} +1 -1
- package/dist/opsx-schema-detail.d.mts +3 -3
- package/dist/opsx-schema-detail.mjs +1 -1
- package/dist/{schemas-3VC51gAF.d.mts → schemas-DeEkRkAH.d.mts} +126 -126
- package/dist/{sounds-CQJ1eD1u.d.mts → sounds-BaxOUgWE.d.mts} +5 -5
- package/dist/sounds.d.mts +1 -1
- package/dist/sounds.mjs +1 -1
- package/dist/{terminal-audio-DVz0HA2H.mjs → terminal-audio-CUs0sqEO.mjs} +1 -1
- package/dist/{terminal-audio-BrmM5FX_.d.mts → terminal-audio-v3YSYJKq.d.mts} +2 -2
- package/dist/terminal-audio.d.mts +2 -2
- package/dist/terminal-audio.mjs +2 -2
- package/dist/terminal-control.d.mts +2 -2
- package/dist/terminal-control.mjs +1 -1
- package/dist/{terminal-invocation-Z0xbyZ1V.d.mts → terminal-invocation-C5gqne5H.d.mts} +51 -51
- package/dist/terminal-invocation.d.mts +1 -1
- package/dist/terminal-invocation.mjs +1 -1
- package/dist/terminal-theme.d.mts +1 -1
- package/dist/terminal-theme.mjs +1 -1
- package/dist/translation-language-pair-Cb4a0hG6.mjs +52 -0
- package/dist/translation-language-pair-DaSvW83F.d.mts +18 -0
- package/dist/translation-language-pair.d.mts +2 -0
- package/dist/translation-language-pair.mjs +3 -0
- package/dist/translator-BtbU7rjR.d.mts +2498 -0
- package/dist/translator-yHmEiuRX.mjs +375 -0
- package/dist/translator.d.mts +2 -2
- package/dist/translator.mjs +2 -2
- package/package.json +9 -3
- package/dist/translator-BSPMDjZy.d.mts +0 -780
- package/dist/translator-C3LT7PqW.mjs +0 -147
- /package/dist/{hosted-app-CxpQvD1s.mjs → hosted-app-CNZhVLM_.mjs} +0 -0
- /package/dist/{hosted-app-FuxG4-qA.d.mts → hosted-app-CegGJlNp.d.mts} +0 -0
- /package/dist/{markdown-facts-B5RvYPKF.mjs → markdown-facts-DbE1F2LD.mjs} +0 -0
- /package/dist/{markdown-facts-DUsbNcjh.d.mts → markdown-facts-DempqdIX.d.mts} +0 -0
- /package/dist/{opsx-display-path-Bf89ZyM5.mjs → opsx-display-path-Cw-5MTRg.mjs} +0 -0
- /package/dist/{opsx-display-path-CbO6K0Qq.d.mts → opsx-display-path-Ky9qnntM.d.mts} +0 -0
- /package/dist/{opsx-entity-BR_6djiM.mjs → opsx-entity-C_51ZEuP.mjs} +0 -0
- /package/dist/{opsx-schema-detail-5Wv1oWLT.mjs → opsx-schema-detail-Bu415_NB.mjs} +0 -0
- /package/dist/{sounds-CB_gpY-y.mjs → sounds-50cYk5b0.mjs} +0 -0
- /package/dist/{terminal-control-CNcEd9Rl.mjs → terminal-control-CYZhk7FM.mjs} +0 -0
- /package/dist/{terminal-invocation-wUmtJMPl.mjs → terminal-invocation-IopdwXKL.mjs} +0 -0
- /package/dist/{terminal-theme-CHkfTDk4.mjs → terminal-theme-BquTqZIO.mjs} +0 -0
- /package/dist/{terminal-theme-x_vAHvok.d.mts → terminal-theme-CH-VSrAq.d.mts} +0 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
//#region src/translation-language-pair.ts
|
|
2
|
+
const OPUS_MT_DIRECTION_PATTERN = /^opus-mt-([a-z]{2,3})-([a-z]{2,3})$/i;
|
|
3
|
+
const OPUS_MT_CT2_SUFFIX_PATTERN = /-(?:ct2|ctranslate2)(?:-[a-z0-9]+)*$/i;
|
|
4
|
+
function inferLocalDirectionalModelLanguagePair(model) {
|
|
5
|
+
const modelName = model?.trim().split("/").pop()?.replace(OPUS_MT_CT2_SUFFIX_PATTERN, "");
|
|
6
|
+
if (!modelName) return null;
|
|
7
|
+
const match = OPUS_MT_DIRECTION_PATTERN.exec(modelName);
|
|
8
|
+
if (!match) return null;
|
|
9
|
+
const [, sourceLanguage, targetLanguage] = match;
|
|
10
|
+
if (!sourceLanguage || !targetLanguage) return null;
|
|
11
|
+
return {
|
|
12
|
+
sourceLanguage: normalizeLanguageCode(sourceLanguage),
|
|
13
|
+
targetLanguage: normalizeLanguageCode(targetLanguage)
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function checkLocalDirectionalModelLanguagePair(input) {
|
|
17
|
+
const expected = inferLocalDirectionalModelLanguagePair(input.model);
|
|
18
|
+
if (!expected) return { supported: true };
|
|
19
|
+
if (!areCompatibleLanguageTags(expected.targetLanguage, input.targetLanguage)) return {
|
|
20
|
+
supported: false,
|
|
21
|
+
expected,
|
|
22
|
+
message: `Selected local model supports ${formatLanguagePair(expected)}, but document translation is configured for target ${input.targetLanguage}.`
|
|
23
|
+
};
|
|
24
|
+
if (input.sourceLanguage && !areCompatibleLanguageTags(expected.sourceLanguage, input.sourceLanguage)) return {
|
|
25
|
+
supported: false,
|
|
26
|
+
expected,
|
|
27
|
+
message: `Selected local model supports ${formatLanguagePair(expected)}, but document segment was detected as ${input.sourceLanguage} -> ${input.targetLanguage}.`
|
|
28
|
+
};
|
|
29
|
+
return {
|
|
30
|
+
supported: true,
|
|
31
|
+
expected
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function areCompatibleLanguageTags(expected, actual) {
|
|
35
|
+
const expectedNormalized = normalizeLanguageTag(expected);
|
|
36
|
+
const actualNormalized = normalizeLanguageTag(actual);
|
|
37
|
+
if (!expectedNormalized || !actualNormalized) return false;
|
|
38
|
+
if (expectedNormalized === actualNormalized) return true;
|
|
39
|
+
return expectedNormalized.split("-")[0] === actualNormalized.split("-")[0];
|
|
40
|
+
}
|
|
41
|
+
function normalizeLanguageCode(language) {
|
|
42
|
+
return language.trim().toLowerCase().replace(/_/g, "-");
|
|
43
|
+
}
|
|
44
|
+
function normalizeLanguageTag(language) {
|
|
45
|
+
return normalizeLanguageCode(language);
|
|
46
|
+
}
|
|
47
|
+
function formatLanguagePair(pair) {
|
|
48
|
+
return `${pair.sourceLanguage} -> ${pair.targetLanguage}`;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//#endregion
|
|
52
|
+
export { inferLocalDirectionalModelLanguagePair as n, checkLocalDirectionalModelLanguagePair as t };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/translation-language-pair.d.ts
|
|
2
|
+
interface TranslationLanguagePair {
|
|
3
|
+
sourceLanguage: string;
|
|
4
|
+
targetLanguage: string;
|
|
5
|
+
}
|
|
6
|
+
interface LocalDirectionalModelLanguagePairCheck {
|
|
7
|
+
supported: boolean;
|
|
8
|
+
expected?: TranslationLanguagePair;
|
|
9
|
+
message?: string;
|
|
10
|
+
}
|
|
11
|
+
declare function inferLocalDirectionalModelLanguagePair(model: string | undefined): TranslationLanguagePair | null;
|
|
12
|
+
declare function checkLocalDirectionalModelLanguagePair(input: {
|
|
13
|
+
model: string | undefined;
|
|
14
|
+
sourceLanguage?: string;
|
|
15
|
+
targetLanguage: string;
|
|
16
|
+
}): LocalDirectionalModelLanguagePairCheck;
|
|
17
|
+
//#endregion
|
|
18
|
+
export { inferLocalDirectionalModelLanguagePair as i, TranslationLanguagePair as n, checkLocalDirectionalModelLanguagePair as r, LocalDirectionalModelLanguagePairCheck as t };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { i as inferLocalDirectionalModelLanguagePair, n as TranslationLanguagePair, r as checkLocalDirectionalModelLanguagePair, t as LocalDirectionalModelLanguagePairCheck } from "./translation-language-pair-DaSvW83F.mjs";
|
|
2
|
+
export { LocalDirectionalModelLanguagePairCheck, TranslationLanguagePair, checkLocalDirectionalModelLanguagePair, inferLocalDirectionalModelLanguagePair };
|