@openspecui/web 3.11.1 → 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/assets/CanvasRenderer-C0z1_uAq.js +1 -0
- package/dist/assets/WebGLRenderer-BgB0b-_m.js +1 -0
- package/dist/assets/WebGPURenderer-DUOyTSOY.js +1 -0
- package/dist/assets/browserAll-DrkY7ahm.js +1 -0
- package/dist/assets/{dist-B09y0Ph7.js → dist-B9Ltz3Au.js} +1 -1
- package/dist/assets/dist-BLzDSe4i.js +1 -0
- package/dist/assets/{dist-F0lgtwe2.js → dist-B_UFDOda.js} +1 -1
- package/dist/assets/{dist-DxmYOUGn.js → dist-BggZ7cyQ.js} +1 -1
- package/dist/assets/dist-C2tzK2BJ.js +1 -0
- package/dist/assets/{dist-C9BN4134.js → dist-DHhbIMeO.js} +1 -1
- package/dist/assets/{dist--JzlUmDP.js → dist-DRc-odji.js} +1 -1
- package/dist/assets/{dist-rGlPGEMw.js → dist-Drgp5ero.js} +1 -1
- package/dist/assets/{dist-Dx00xLFT.js → dist-HIi-Q3U-.js} +1 -1
- package/dist/assets/dist-LSzi3-xz.js +1 -0
- package/dist/assets/{dist-BttXL4wz.js → dist-j6cthCRX.js} +1 -1
- package/dist/assets/{dist-DdsOxRxJ.js → dist-wEqYYKag.js} +1 -1
- package/dist/assets/{init-C46YDZ2H.js → init-D41cyy2z.js} +1 -1
- package/dist/assets/main-DpM-T-Pk.js +1654 -0
- package/dist/assets/main-fCQ7khWW.css +1 -0
- package/dist/assets/trpc-lJhbxi32.js +1 -0
- package/dist/assets/webworkerAll-DXrA-UNG.js +1 -0
- package/dist/index.html +2 -2
- package/dist-ssg/client/.vite/ssr-manifest.json +15 -15
- package/dist-ssg/client/assets/CanvasRenderer-pScAgtDS.js +1 -0
- package/dist-ssg/client/assets/WebGLRenderer-BAJXWFrw.js +1 -0
- package/dist-ssg/client/assets/WebGPURenderer-BeNNGqxY.js +1 -0
- package/dist-ssg/client/assets/browserAll-CkiE7Jmg.js +1 -0
- package/dist-ssg/client/assets/{dist-D_7Z5apg.js → dist-BJ0zzLee.js} +1 -1
- package/dist-ssg/client/assets/dist-BJBQISim.js +1 -0
- package/dist-ssg/client/assets/dist-BPi1lJ-H.js +1 -0
- package/dist-ssg/client/assets/{dist-Dg-rGFsy.js → dist-BZ35ju6s.js} +1 -1
- package/dist-ssg/client/assets/{dist-DjZdWHNx.js → dist-Bg-C799P.js} +1 -1
- package/dist-ssg/client/assets/dist-CNPnfIVE.js +1 -0
- package/dist-ssg/client/assets/{dist-DOwxbW7B.js → dist-CrdkjkLH.js} +1 -1
- package/dist-ssg/client/assets/{dist-hWAvow10.js → dist-CuFabXJ8.js} +1 -1
- package/dist-ssg/client/assets/{dist-yriBIRgD.js → dist-CzScJNYz.js} +1 -1
- package/dist-ssg/client/assets/{dist-BRxWvz6j.js → dist-lNUMJW4A.js} +1 -1
- package/dist-ssg/client/assets/{dist-BPn14NhJ.js → dist-nDBVtvCj.js} +1 -1
- package/dist-ssg/client/assets/{dist-9ZjKnAh1.js → dist-xprslEpB.js} +1 -1
- package/dist-ssg/client/assets/{ghostty-web-BVM0FkWD.js → ghostty-web-D9IXftv-.js} +1 -1
- package/dist-ssg/client/assets/index-BtGAsAtP.css +1 -0
- package/dist-ssg/client/assets/{index.ssg-C4D0iHIp.js → index.ssg-L1BBuH-7.js} +146 -146
- package/dist-ssg/client/assets/{init-DBoYmUC7.js → init-C058TQcq.js} +1 -1
- package/dist-ssg/client/assets/trpc-BTuQHFNd.js +1 -0
- package/dist-ssg/client/assets/webworkerAll-ByOBLjhR.js +1 -0
- package/dist-ssg/client/index.ssg.html +2 -2
- package/dist-ssg/server/entry-server.js +192 -35
- package/package.json +3 -3
- package/dist/assets/CanvasRenderer-Bs7UxSWT.js +0 -1
- package/dist/assets/WebGLRenderer-l71uR9MI.js +0 -1
- package/dist/assets/WebGPURenderer-tjCbVxRm.js +0 -1
- package/dist/assets/browserAll-BDY91DxA.js +0 -1
- package/dist/assets/dist-CCD9CqTu.js +0 -1
- package/dist/assets/dist-DjM_Envn.js +0 -1
- package/dist/assets/dist-UpX5-9sH.js +0 -1
- package/dist/assets/main-B2c4pZCT.css +0 -1
- package/dist/assets/main-Wj4p5q80.js +0 -1654
- package/dist/assets/trpc-1XzKnuJv.js +0 -1
- package/dist/assets/webworkerAll-CitYd6ji.js +0 -1
- package/dist-ssg/client/assets/CanvasRenderer-FPbXzOhu.js +0 -1
- package/dist-ssg/client/assets/WebGLRenderer-DTbkQ-Tc.js +0 -1
- package/dist-ssg/client/assets/WebGPURenderer-jYEtkBkX.js +0 -1
- package/dist-ssg/client/assets/browserAll-D2rErTpO.js +0 -1
- package/dist-ssg/client/assets/dist-03Q-XuhL.js +0 -1
- package/dist-ssg/client/assets/dist-CNXuEBuZ.js +0 -1
- package/dist-ssg/client/assets/dist-Dj9a_D4b.js +0 -1
- package/dist-ssg/client/assets/index-5OettMZv.css +0 -1
- package/dist-ssg/client/assets/trpc-J2T_izXe.js +0 -1
- package/dist-ssg/client/assets/webworkerAll-CLzsuMst.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{it as e}from"./Geometry-DYOOLchf.js";import{E as t,T as n}from"./index.ssg-
|
|
1
|
+
import{it as e}from"./Geometry-DYOOLchf.js";import{E as t,T as n}from"./index.ssg-L1BBuH-7.js";e.add(n),e.add(t);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e}from"./index.ssg-L1BBuH-7.js";export{e as trpcClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./Geometry-DYOOLchf.js";import"./index.ssg-L1BBuH-7.js";import"./init-C058TQcq.js";
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
document.head.append(preconnectApi, preconnectStatic, stylesheet)
|
|
36
36
|
})()
|
|
37
37
|
</script>
|
|
38
|
-
<script type="module" crossorigin src="/assets/index.ssg-
|
|
38
|
+
<script type="module" crossorigin src="/assets/index.ssg-L1BBuH-7.js"></script>
|
|
39
39
|
<link rel="modulepreload" crossorigin href="/assets/chunk-DECur_0Z.js">
|
|
40
40
|
<link rel="modulepreload" crossorigin href="/assets/dist-UN0VvTJo.js">
|
|
41
41
|
<link rel="modulepreload" crossorigin href="/assets/dist-DK_X22KS.js">
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<link rel="modulepreload" crossorigin href="/assets/getTextureBatchBindGroup-BZ3pD2UV.js">
|
|
46
46
|
<link rel="modulepreload" crossorigin href="/assets/BufferResource-4Jl_6qej.js">
|
|
47
47
|
<link rel="modulepreload" crossorigin href="/assets/ImageSource-_DLFcjTj.js">
|
|
48
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
48
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BtGAsAtP.css">
|
|
49
49
|
</head>
|
|
50
50
|
<body>
|
|
51
51
|
<div id="root"><!--app-html--></div>
|
|
@@ -32295,10 +32295,18 @@ ZodPipeline.create;
|
|
|
32295
32295
|
var TranslationEngineIdSchema = enumType([
|
|
32296
32296
|
"browser",
|
|
32297
32297
|
"local",
|
|
32298
|
+
"local-ct2",
|
|
32298
32299
|
"openai"
|
|
32299
32300
|
]);
|
|
32300
32301
|
var DEFAULT_TRANSLATION_ENGINE_ID = "browser";
|
|
32301
|
-
|
|
32302
|
+
function isManagedLocalTranslationEngineId(engineId) {
|
|
32303
|
+
return engineId === "local" || engineId === "local-ct2";
|
|
32304
|
+
}
|
|
32305
|
+
enumType([
|
|
32306
|
+
"local",
|
|
32307
|
+
"local-ct2",
|
|
32308
|
+
"openai"
|
|
32309
|
+
]);
|
|
32302
32310
|
var LocalModelDownloadStatusSchema = enumType([
|
|
32303
32311
|
"not-downloaded",
|
|
32304
32312
|
"queued",
|
|
@@ -32411,7 +32419,7 @@ var LocalModelProfileLoadStateSchema = objectType({
|
|
|
32411
32419
|
updatedAt: numberType().int().nonnegative().optional()
|
|
32412
32420
|
});
|
|
32413
32421
|
objectType({
|
|
32414
|
-
engineId:
|
|
32422
|
+
engineId: enumType(["local", "local-ct2"]),
|
|
32415
32423
|
modelId: stringType().min(1),
|
|
32416
32424
|
selectedGroupId: stringType().min(1).optional(),
|
|
32417
32425
|
groupId: stringType().min(1).optional(),
|
|
@@ -32460,6 +32468,72 @@ objectType({
|
|
|
32460
32468
|
downloadedBytes: numberType().int().nonnegative().optional()
|
|
32461
32469
|
})).default([])
|
|
32462
32470
|
});
|
|
32471
|
+
var TranslationEngineDependencyStateSchema = enumType([
|
|
32472
|
+
"installed",
|
|
32473
|
+
"installing",
|
|
32474
|
+
"missing",
|
|
32475
|
+
"error",
|
|
32476
|
+
"not-applicable"
|
|
32477
|
+
]);
|
|
32478
|
+
var TranslationEngineRuntimeStateSchema = enumType([
|
|
32479
|
+
"ready",
|
|
32480
|
+
"probing",
|
|
32481
|
+
"failed",
|
|
32482
|
+
"error",
|
|
32483
|
+
"not-applicable"
|
|
32484
|
+
]);
|
|
32485
|
+
var TranslationEngineAssetStateSchema = enumType([
|
|
32486
|
+
"ready",
|
|
32487
|
+
"missing",
|
|
32488
|
+
"downloading",
|
|
32489
|
+
"error",
|
|
32490
|
+
"not-applicable"
|
|
32491
|
+
]);
|
|
32492
|
+
var TranslationEngineLifecyclePhaseMetaSchema = objectType({
|
|
32493
|
+
message: stringType().optional(),
|
|
32494
|
+
progress: numberType().min(0).max(1).optional(),
|
|
32495
|
+
error: stringType().optional()
|
|
32496
|
+
});
|
|
32497
|
+
var TranslationEngineLifecycleStatusSchema = objectType({
|
|
32498
|
+
dependency: TranslationEngineLifecyclePhaseMetaSchema.extend({ state: TranslationEngineDependencyStateSchema }),
|
|
32499
|
+
runtime: TranslationEngineLifecyclePhaseMetaSchema.extend({ state: TranslationEngineRuntimeStateSchema }),
|
|
32500
|
+
assets: TranslationEngineLifecyclePhaseMetaSchema.extend({ state: TranslationEngineAssetStateSchema }),
|
|
32501
|
+
summary: stringType().optional()
|
|
32502
|
+
});
|
|
32503
|
+
function isTranslationEngineDependencyReady(status) {
|
|
32504
|
+
return status.dependency.state === "installed" || status.dependency.state === "not-applicable";
|
|
32505
|
+
}
|
|
32506
|
+
function isTranslationEngineRuntimeReady(status) {
|
|
32507
|
+
return status.runtime.state === "ready" || status.runtime.state === "not-applicable";
|
|
32508
|
+
}
|
|
32509
|
+
function shouldShowTranslationEngineInstallGate(status) {
|
|
32510
|
+
if (!status) return false;
|
|
32511
|
+
return !isTranslationEngineDependencyReady(status) || !isTranslationEngineRuntimeReady(status);
|
|
32512
|
+
}
|
|
32513
|
+
function getTranslationEngineLifecycleMessage(status) {
|
|
32514
|
+
if (!status) return void 0;
|
|
32515
|
+
return status.summary ?? status.runtime.error ?? status.runtime.message ?? status.dependency.error ?? status.dependency.message ?? status.assets.error ?? status.assets.message;
|
|
32516
|
+
}
|
|
32517
|
+
var TranslationEngineInstallLogStreamSchema = enumType(["stdout", "stderr"]);
|
|
32518
|
+
objectType({
|
|
32519
|
+
stream: TranslationEngineInstallLogStreamSchema,
|
|
32520
|
+
text: stringType()
|
|
32521
|
+
});
|
|
32522
|
+
discriminatedUnionType("type", [
|
|
32523
|
+
objectType({
|
|
32524
|
+
type: literalType("status"),
|
|
32525
|
+
lifecycle: TranslationEngineLifecycleStatusSchema
|
|
32526
|
+
}),
|
|
32527
|
+
objectType({
|
|
32528
|
+
type: literalType("log"),
|
|
32529
|
+
stream: TranslationEngineInstallLogStreamSchema,
|
|
32530
|
+
text: stringType()
|
|
32531
|
+
}),
|
|
32532
|
+
objectType({
|
|
32533
|
+
type: literalType("exit"),
|
|
32534
|
+
lifecycle: TranslationEngineLifecycleStatusSchema
|
|
32535
|
+
})
|
|
32536
|
+
]);
|
|
32463
32537
|
var TranslationOpenAISettingsSchema = objectType({
|
|
32464
32538
|
baseUrl: stringType().default(""),
|
|
32465
32539
|
token: stringType().default(""),
|
|
@@ -32470,9 +32544,15 @@ var TranslationLocalSettingsSchema = objectType({
|
|
|
32470
32544
|
selectedGroupId: stringType().optional(),
|
|
32471
32545
|
hfEndpoint: stringType().default("")
|
|
32472
32546
|
});
|
|
32547
|
+
var TranslationLocalCt2SettingsSchema = objectType({
|
|
32548
|
+
model: stringType().default("ooeoeo/opus-mt-en-zh-ct2-float16"),
|
|
32549
|
+
selectedGroupId: stringType().optional(),
|
|
32550
|
+
hfEndpoint: stringType().default("")
|
|
32551
|
+
});
|
|
32473
32552
|
objectType({
|
|
32474
32553
|
openai: TranslationOpenAISettingsSchema.default(TranslationOpenAISettingsSchema.parse({})),
|
|
32475
|
-
local: TranslationLocalSettingsSchema.default(TranslationLocalSettingsSchema.parse({}))
|
|
32554
|
+
local: TranslationLocalSettingsSchema.default(TranslationLocalSettingsSchema.parse({})),
|
|
32555
|
+
localCt2: TranslationLocalCt2SettingsSchema.default(TranslationLocalCt2SettingsSchema.parse({}))
|
|
32476
32556
|
});
|
|
32477
32557
|
objectType({
|
|
32478
32558
|
engineId: TranslationEngineIdSchema,
|
|
@@ -32494,6 +32574,10 @@ var TranslationEngineProjectSettingsSchema = objectType({
|
|
|
32494
32574
|
model: stringType().min(1).optional(),
|
|
32495
32575
|
selectedGroupId: stringType().min(1).optional()
|
|
32496
32576
|
}).default({}),
|
|
32577
|
+
localCt2: objectType({
|
|
32578
|
+
model: stringType().min(1).optional(),
|
|
32579
|
+
selectedGroupId: stringType().min(1).optional()
|
|
32580
|
+
}).default({}),
|
|
32497
32581
|
openai: objectType({ model: stringType().min(1).optional() }).default({})
|
|
32498
32582
|
}).default({});
|
|
32499
32583
|
var DocumentTranslationConfigSchema = objectType({
|
|
@@ -114653,10 +114737,13 @@ function useDocumentTranslationActivation() {
|
|
|
114653
114737
|
function resolveDocumentTranslationConfig(translationConfig, globalSettings) {
|
|
114654
114738
|
if (!translationConfig) return void 0;
|
|
114655
114739
|
const local = translationConfig.engines?.local ?? {};
|
|
114740
|
+
const localCt2 = translationConfig.engines?.localCt2 ?? {};
|
|
114656
114741
|
const openai = translationConfig.engines?.openai ?? {};
|
|
114657
|
-
const resolvedLocalModel = local.model ?? globalSettings?.translationEngines.local
|
|
114658
|
-
const resolvedLocalSelectedGroupId = local.selectedGroupId ?? globalSettings?.translationEngines.local
|
|
114659
|
-
const
|
|
114742
|
+
const resolvedLocalModel = local.model ?? globalSettings?.translationEngines.local?.model;
|
|
114743
|
+
const resolvedLocalSelectedGroupId = local.selectedGroupId ?? globalSettings?.translationEngines.local?.selectedGroupId;
|
|
114744
|
+
const resolvedLocalCt2Model = localCt2.model ?? globalSettings?.translationEngines.localCt2?.model;
|
|
114745
|
+
const resolvedLocalCt2SelectedGroupId = localCt2.selectedGroupId ?? globalSettings?.translationEngines.localCt2?.selectedGroupId;
|
|
114746
|
+
const resolvedOpenAIModel = openai.model ?? globalSettings?.translationEngines.openai?.model;
|
|
114660
114747
|
return {
|
|
114661
114748
|
...translationConfig,
|
|
114662
114749
|
engines: {
|
|
@@ -114665,6 +114752,11 @@ function resolveDocumentTranslationConfig(translationConfig, globalSettings) {
|
|
|
114665
114752
|
...resolvedLocalModel ? { model: resolvedLocalModel } : {},
|
|
114666
114753
|
...resolvedLocalSelectedGroupId ? { selectedGroupId: resolvedLocalSelectedGroupId } : {}
|
|
114667
114754
|
},
|
|
114755
|
+
localCt2: {
|
|
114756
|
+
...localCt2,
|
|
114757
|
+
...resolvedLocalCt2Model ? { model: resolvedLocalCt2Model } : {},
|
|
114758
|
+
...resolvedLocalCt2SelectedGroupId ? { selectedGroupId: resolvedLocalCt2SelectedGroupId } : {}
|
|
114759
|
+
},
|
|
114668
114760
|
openai: {
|
|
114669
114761
|
...openai,
|
|
114670
114762
|
...resolvedOpenAIModel ? { model: resolvedOpenAIModel } : {}
|
|
@@ -131358,8 +131450,9 @@ function createProjectionContext(lookup, annotations, projections) {
|
|
|
131358
131450
|
//#endregion
|
|
131359
131451
|
//#region ../core/src/translation-language-pair.ts
|
|
131360
131452
|
var OPUS_MT_DIRECTION_PATTERN = /^opus-mt-([a-z]{2,3})-([a-z]{2,3})$/i;
|
|
131453
|
+
var OPUS_MT_CT2_SUFFIX_PATTERN = /-(?:ct2|ctranslate2)(?:-[a-z0-9]+)*$/i;
|
|
131361
131454
|
function inferLocalDirectionalModelLanguagePair(model) {
|
|
131362
|
-
const modelName = model?.trim().split("/").pop();
|
|
131455
|
+
const modelName = model?.trim().split("/").pop()?.replace(OPUS_MT_CT2_SUFFIX_PATTERN, "");
|
|
131363
131456
|
if (!modelName) return null;
|
|
131364
131457
|
const match = OPUS_MT_DIRECTION_PATTERN.exec(modelName);
|
|
131365
131458
|
if (!match) return null;
|
|
@@ -136420,7 +136513,7 @@ function createBrowserTranslationExecution() {
|
|
|
136420
136513
|
factory: createBrowserTranslatorFactory(),
|
|
136421
136514
|
cacheIdentity: {
|
|
136422
136515
|
engineId: DEFAULT_TRANSLATION_ENGINE_ID,
|
|
136423
|
-
translatorContractVersion:
|
|
136516
|
+
translatorContractVersion: 3
|
|
136424
136517
|
}
|
|
136425
136518
|
};
|
|
136426
136519
|
}
|
|
@@ -136908,7 +137001,7 @@ async function translatePendingJobsBySourceLanguage(input) {
|
|
|
136908
137001
|
while (workerPromises.size > 0) await Promise.race(workerPromises);
|
|
136909
137002
|
}
|
|
136910
137003
|
function getUnsupportedEngineLanguagePairMessage(input) {
|
|
136911
|
-
if (input.engine.cacheIdentity.engineId
|
|
137004
|
+
if (!isManagedLocalTranslationEngineId(input.engine.cacheIdentity.engineId)) return null;
|
|
136912
137005
|
const directionCheck = checkLocalDirectionalModelLanguagePair({
|
|
136913
137006
|
model: input.engine.cacheIdentity.model,
|
|
136914
137007
|
sourceLanguage: input.sourceLanguage,
|
|
@@ -137531,25 +137624,37 @@ function projectTranslateServiceStatus(input) {
|
|
|
137531
137624
|
};
|
|
137532
137625
|
}
|
|
137533
137626
|
}
|
|
137534
|
-
if (input.
|
|
137627
|
+
if (input.engineLifecycleLoading || input.engineLifecycle !== void 0) {
|
|
137628
|
+
if (input.engineLifecycleLoading || !input.engineLifecycle) return {
|
|
137629
|
+
state: "checking",
|
|
137630
|
+
engineId: input.engineId,
|
|
137631
|
+
message: "Checking translation engine runtime."
|
|
137632
|
+
};
|
|
137633
|
+
if (shouldShowTranslationEngineInstallGate(input.engineLifecycle)) return {
|
|
137634
|
+
state: "unavailable",
|
|
137635
|
+
engineId: input.engineId,
|
|
137636
|
+
message: getTranslationEngineLifecycleMessage(input.engineLifecycle) ?? "Translation engine runtime is not ready."
|
|
137637
|
+
};
|
|
137638
|
+
}
|
|
137639
|
+
if (isManagedLocalTranslationEngineId(input.engineId)) {
|
|
137535
137640
|
if (!input.localModel?.trim()) return {
|
|
137536
137641
|
state: "unavailable",
|
|
137537
|
-
engineId:
|
|
137538
|
-
message: "Select a
|
|
137642
|
+
engineId: input.engineId,
|
|
137643
|
+
message: "Select a model before translating."
|
|
137539
137644
|
};
|
|
137540
137645
|
if (input.localAssetLoading || !input.localAsset) return {
|
|
137541
137646
|
state: "checking",
|
|
137542
|
-
engineId:
|
|
137647
|
+
engineId: input.engineId,
|
|
137543
137648
|
message: "Checking local model files."
|
|
137544
137649
|
};
|
|
137545
137650
|
if (isLocalAssetReady(input.localAsset, input.localSelectedGroupId)) return {
|
|
137546
137651
|
state: "ready",
|
|
137547
|
-
engineId:
|
|
137652
|
+
engineId: input.engineId,
|
|
137548
137653
|
message: "Selected local model files are ready."
|
|
137549
137654
|
};
|
|
137550
137655
|
return {
|
|
137551
137656
|
state: "unavailable",
|
|
137552
|
-
engineId:
|
|
137657
|
+
engineId: input.engineId,
|
|
137553
137658
|
message: "Selected local model files are not installed locally."
|
|
137554
137659
|
};
|
|
137555
137660
|
}
|
|
@@ -137579,14 +137684,40 @@ async function resolveTranslateServiceState(input) {
|
|
|
137579
137684
|
hasSource: input.hasSource,
|
|
137580
137685
|
engineId: config?.engineId ?? "browser"
|
|
137581
137686
|
}) });
|
|
137582
|
-
|
|
137583
|
-
|
|
137687
|
+
let engineLifecycle = null;
|
|
137688
|
+
if (config.engineId !== "browser") {
|
|
137689
|
+
input.onUpdate?.(createTranslateServiceState({ status: projectTranslateServiceStatus({
|
|
137690
|
+
enabled: config.enabled,
|
|
137691
|
+
hasSource: input.hasSource,
|
|
137692
|
+
engineId: config.engineId,
|
|
137693
|
+
engineLifecycleLoading: true
|
|
137694
|
+
}) }));
|
|
137695
|
+
try {
|
|
137696
|
+
engineLifecycle = await trpcClient.translationEngines.getLifecycle.query({ engineId: config.engineId });
|
|
137697
|
+
} catch (lifecycleError) {
|
|
137698
|
+
return createTranslateServiceState({ status: {
|
|
137699
|
+
state: "unavailable",
|
|
137700
|
+
engineId: config.engineId,
|
|
137701
|
+
message: lifecycleError instanceof Error ? lifecycleError.message : "Unable to check translation engine runtime."
|
|
137702
|
+
} });
|
|
137703
|
+
}
|
|
137704
|
+
if (shouldShowTranslationEngineInstallGate(engineLifecycle)) return createTranslateServiceState({ status: projectTranslateServiceStatus({
|
|
137705
|
+
enabled: config.enabled,
|
|
137706
|
+
hasSource: input.hasSource,
|
|
137707
|
+
engineId: config.engineId,
|
|
137708
|
+
engineLifecycle
|
|
137709
|
+
}) });
|
|
137710
|
+
}
|
|
137711
|
+
if (isManagedLocalTranslationEngineId(config.engineId)) {
|
|
137712
|
+
const localEngineConfig = getManagedLocalEngineConfig(config);
|
|
137713
|
+
const model = localEngineConfig.model?.trim();
|
|
137584
137714
|
if (!model) return emitTranslateServiceState(input.onUpdate, { status: projectTranslateServiceStatus({
|
|
137585
137715
|
enabled: config.enabled,
|
|
137586
137716
|
hasSource: input.hasSource,
|
|
137587
|
-
engineId:
|
|
137717
|
+
engineId: config.engineId,
|
|
137718
|
+
engineLifecycle,
|
|
137588
137719
|
localModel: model,
|
|
137589
|
-
localSelectedGroupId:
|
|
137720
|
+
localSelectedGroupId: localEngineConfig.selectedGroupId
|
|
137590
137721
|
}) });
|
|
137591
137722
|
const directionCheck = checkLocalDirectionalModelLanguagePair({
|
|
137592
137723
|
model,
|
|
@@ -137594,27 +137725,29 @@ async function resolveTranslateServiceState(input) {
|
|
|
137594
137725
|
});
|
|
137595
137726
|
if (!directionCheck.supported) return emitTranslateServiceState(input.onUpdate, { status: {
|
|
137596
137727
|
state: "unavailable",
|
|
137597
|
-
engineId:
|
|
137728
|
+
engineId: config.engineId,
|
|
137598
137729
|
message: directionCheck.message ?? "Selected local model does not support the configured target language."
|
|
137599
137730
|
} });
|
|
137600
137731
|
input.onUpdate?.(createTranslateServiceState({ status: projectTranslateServiceStatus({
|
|
137601
137732
|
enabled: config.enabled,
|
|
137602
137733
|
hasSource: input.hasSource,
|
|
137603
|
-
engineId:
|
|
137734
|
+
engineId: config.engineId,
|
|
137735
|
+
engineLifecycle,
|
|
137604
137736
|
localModel: model,
|
|
137605
|
-
localSelectedGroupId:
|
|
137737
|
+
localSelectedGroupId: localEngineConfig.selectedGroupId,
|
|
137606
137738
|
localAssetLoading: true
|
|
137607
137739
|
}) }));
|
|
137608
137740
|
try {
|
|
137609
|
-
const panelState = await
|
|
137741
|
+
const panelState = await queryManagedLocalPanelState(config.engineId, {
|
|
137610
137742
|
modelId: model,
|
|
137611
|
-
selectedGroupId:
|
|
137743
|
+
selectedGroupId: localEngineConfig.selectedGroupId
|
|
137612
137744
|
});
|
|
137613
|
-
const selectedGroupId = panelState.selectedGroupId ??
|
|
137745
|
+
const selectedGroupId = panelState.selectedGroupId ?? localEngineConfig.selectedGroupId;
|
|
137614
137746
|
return createTranslateServiceState({ status: projectTranslateServiceStatus({
|
|
137615
137747
|
enabled: config.enabled,
|
|
137616
137748
|
hasSource: input.hasSource,
|
|
137617
|
-
engineId:
|
|
137749
|
+
engineId: config.engineId,
|
|
137750
|
+
engineLifecycle,
|
|
137618
137751
|
localModel: model,
|
|
137619
137752
|
localSelectedGroupId: selectedGroupId,
|
|
137620
137753
|
localAsset: panelState.asset
|
|
@@ -137622,7 +137755,7 @@ async function resolveTranslateServiceState(input) {
|
|
|
137622
137755
|
} catch (assetError) {
|
|
137623
137756
|
return createTranslateServiceState({ status: {
|
|
137624
137757
|
state: "unavailable",
|
|
137625
|
-
engineId:
|
|
137758
|
+
engineId: config.engineId,
|
|
137626
137759
|
message: assetError instanceof Error ? assetError.message : "Unable to check local model files."
|
|
137627
137760
|
} });
|
|
137628
137761
|
}
|
|
@@ -137630,7 +137763,8 @@ async function resolveTranslateServiceState(input) {
|
|
|
137630
137763
|
if (config.engineId === "openai") return emitTranslateServiceState(input.onUpdate, { status: projectTranslateServiceStatus({
|
|
137631
137764
|
enabled: config.enabled,
|
|
137632
137765
|
hasSource: input.hasSource,
|
|
137633
|
-
engineId: "openai"
|
|
137766
|
+
engineId: "openai",
|
|
137767
|
+
engineLifecycle
|
|
137634
137768
|
}) });
|
|
137635
137769
|
const cachedTable = getBrowserSupportTableState(config.targetLanguage);
|
|
137636
137770
|
if (cachedTable) return emitTranslateServiceState(input.onUpdate, {
|
|
@@ -137732,14 +137866,14 @@ function prepareTranslateServiceRun(input) {
|
|
|
137732
137866
|
}
|
|
137733
137867
|
function createTranslationEngineExecution(config) {
|
|
137734
137868
|
if (config.engineId === "browser" || isStaticMode()) return createBrowserTranslationExecution();
|
|
137735
|
-
const model = config.engineId === "openai" ? config.engines.openai.model : config.
|
|
137869
|
+
const model = config.engineId === "openai" ? config.engines.openai.model : getManagedLocalEngineConfig(config).model;
|
|
137736
137870
|
return {
|
|
137737
|
-
factory: new TrpcTranslatorFactory(config.engineId, model, config.engineId
|
|
137871
|
+
factory: new TrpcTranslatorFactory(config.engineId, model, isManagedLocalTranslationEngineId(config.engineId) ? getManagedLocalEngineConfig(config).selectedGroupId : void 0),
|
|
137738
137872
|
cacheIdentity: {
|
|
137739
137873
|
engineId: config.engineId,
|
|
137740
137874
|
model,
|
|
137741
|
-
selectedGroupId: config.engineId
|
|
137742
|
-
translatorContractVersion:
|
|
137875
|
+
selectedGroupId: isManagedLocalTranslationEngineId(config.engineId) ? getManagedLocalEngineConfig(config).selectedGroupId : void 0,
|
|
137876
|
+
translatorContractVersion: 3
|
|
137743
137877
|
}
|
|
137744
137878
|
};
|
|
137745
137879
|
}
|
|
@@ -137755,10 +137889,22 @@ var TrpcTranslatorFactory = class {
|
|
|
137755
137889
|
sourceLanguage: options.sourceLanguage,
|
|
137756
137890
|
targetLanguage: options.targetLanguage,
|
|
137757
137891
|
model: options.model ?? this.model,
|
|
137758
|
-
selectedGroupId: this.engineId
|
|
137892
|
+
selectedGroupId: isManagedLocalTranslationEngineId(this.engineId) ? this.selectedGroupId : void 0
|
|
137759
137893
|
});
|
|
137760
137894
|
}
|
|
137761
137895
|
};
|
|
137896
|
+
function getManagedLocalEngineConfig(config) {
|
|
137897
|
+
return config.engineId === "local-ct2" ? {
|
|
137898
|
+
model: config.engines.localCt2.model,
|
|
137899
|
+
selectedGroupId: config.engines.localCt2.selectedGroupId
|
|
137900
|
+
} : {
|
|
137901
|
+
model: config.engines.local.model,
|
|
137902
|
+
selectedGroupId: config.engines.local.selectedGroupId
|
|
137903
|
+
};
|
|
137904
|
+
}
|
|
137905
|
+
async function queryManagedLocalPanelState(engineId, input) {
|
|
137906
|
+
return engineId === "local" ? trpcClient.localModels.panelState.query(input) : trpcClient.localCt2Models.panelState.query(input);
|
|
137907
|
+
}
|
|
137762
137908
|
var TrpcTranslator = class {
|
|
137763
137909
|
constructor(options) {
|
|
137764
137910
|
this.options = options;
|
|
@@ -137864,6 +138010,8 @@ function useDocumentTranslation(markdown, config) {
|
|
|
137864
138010
|
config?.engineId,
|
|
137865
138011
|
config?.engines.local.model,
|
|
137866
138012
|
config?.engines.local.selectedGroupId,
|
|
138013
|
+
config?.engines.localCt2.model,
|
|
138014
|
+
config?.engines.localCt2.selectedGroupId,
|
|
137867
138015
|
config?.engines.openai.model,
|
|
137868
138016
|
config?.targetLanguage
|
|
137869
138017
|
]);
|
|
@@ -137904,6 +138052,8 @@ function useDocumentTranslation(markdown, config) {
|
|
|
137904
138052
|
config?.engineId,
|
|
137905
138053
|
config?.engines.local.model,
|
|
137906
138054
|
config?.engines.local.selectedGroupId,
|
|
138055
|
+
config?.engines.localCt2.model,
|
|
138056
|
+
config?.engines.localCt2.selectedGroupId,
|
|
137907
138057
|
config?.targetLanguage,
|
|
137908
138058
|
markdown.length
|
|
137909
138059
|
]);
|
|
@@ -137986,6 +138136,8 @@ function useDocumentTranslation(markdown, config) {
|
|
|
137986
138136
|
config?.engines.openai.model,
|
|
137987
138137
|
config?.engines.local.model,
|
|
137988
138138
|
config?.engines.local.selectedGroupId,
|
|
138139
|
+
config?.engines.localCt2.model,
|
|
138140
|
+
config?.engines.localCt2.selectedGroupId,
|
|
137989
138141
|
markdown,
|
|
137990
138142
|
serviceStatus
|
|
137991
138143
|
]);
|
|
@@ -138024,7 +138176,7 @@ function getDocumentTranslationFailureMessage(result) {
|
|
|
138024
138176
|
return errors[0] ?? "Translation failed.";
|
|
138025
138177
|
}
|
|
138026
138178
|
function applyDocumentTranslationPatch(current, patch, fallback) {
|
|
138027
|
-
const segments =
|
|
138179
|
+
const segments = current?.segments.slice() ?? [];
|
|
138028
138180
|
segments[patch.segmentIndex] = patch.segment;
|
|
138029
138181
|
return {
|
|
138030
138182
|
displayMode: current?.displayMode ?? fallback.displayMode,
|
|
@@ -148832,6 +148984,8 @@ function useDocumentTranslationRenderPlugin({ markdown, translationConfig }) {
|
|
|
148832
148984
|
resolvedTranslationConfig?.engineId,
|
|
148833
148985
|
resolvedTranslationConfig?.engines.local.model ?? "no-local-model",
|
|
148834
148986
|
resolvedTranslationConfig?.engines.local.selectedGroupId ?? "no-local-group",
|
|
148987
|
+
resolvedTranslationConfig?.engines.localCt2.model ?? "no-local-ct2-model",
|
|
148988
|
+
resolvedTranslationConfig?.engines.localCt2.selectedGroupId ?? "no-local-ct2-group",
|
|
148835
148989
|
session.capability?.availability ?? "unknown",
|
|
148836
148990
|
session.capability?.message ?? "no-message",
|
|
148837
148991
|
session.serviceStatus.state,
|
|
@@ -148882,7 +149036,7 @@ function hashString(value) {
|
|
|
148882
149036
|
}
|
|
148883
149037
|
function createTranslationProjection(result) {
|
|
148884
149038
|
if (!result) return { blockAnnotations: [] };
|
|
148885
|
-
const segments =
|
|
149039
|
+
const segments = getRenderableTranslationSegments(result);
|
|
148886
149040
|
const segmentByOffset = new Map(segments.filter((segment) => segment.target).map((segment) => [segment.sourceStartOffset, segment]));
|
|
148887
149041
|
return {
|
|
148888
149042
|
headingProcessor: {
|
|
@@ -148926,6 +149080,9 @@ function createTranslationProjection(result) {
|
|
|
148926
149080
|
}))
|
|
148927
149081
|
};
|
|
148928
149082
|
}
|
|
149083
|
+
function getRenderableTranslationSegments(result) {
|
|
149084
|
+
return (Array.isArray(result.segments) ? result.segments : []).filter((segment) => segment !== void 0);
|
|
149085
|
+
}
|
|
148929
149086
|
function createTranslatedHeadingTransform(input, segment, displayMode) {
|
|
148930
149087
|
const projectedTarget = segment.target ?? "";
|
|
148931
149088
|
const openSpecHeading = createTranslatedOpenSpecHeadingProjection(input, segment, displayMode);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openspecui/web",
|
|
3
|
-
"version": "3.11.
|
|
3
|
+
"version": "3.11.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"openspecui-ssg": "./dist-ssg/ssg-cli.mjs"
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@codemirror/view": "^6.38.8",
|
|
40
40
|
"@lezer/common": "^1.4.0",
|
|
41
41
|
"@lezer/highlight": "^1.2.3",
|
|
42
|
-
"@openspecui/search": "3.11.
|
|
43
|
-
"@openspecui/server": "3.11.
|
|
42
|
+
"@openspecui/search": "3.11.2",
|
|
43
|
+
"@openspecui/server": "3.11.2",
|
|
44
44
|
"@storybook/addon-vitest": "^10.2.19",
|
|
45
45
|
"@storybook/web-components": "^10.2.19",
|
|
46
46
|
"@storybook/web-components-vite": "^10.2.19",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-Dr8DqqDe.js";import{w as e}from"./main-Wj4p5q80.js";export{e as CanvasRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-Dr8DqqDe.js";import{C as e}from"./main-Wj4p5q80.js";export{e as WebGLRenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./Geometry-Dr8DqqDe.js";import{S as e}from"./main-Wj4p5q80.js";export{e as WebGPURenderer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{it as e,x as t}from"./Geometry-Dr8DqqDe.js";import{A as n,D as r,O as i,k as a}from"./main-Wj4p5q80.js";import"./init-C46YDZ2H.js";e.add(n),e.mixin(t,a),e.add(i),e.mixin(t,r);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-vqrjFRzf.js";import{b as e}from"./main-Wj4p5q80.js";export{e as json};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-vqrjFRzf.js";import{g as e}from"./main-Wj4p5q80.js";export{e as css};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./dist-vqrjFRzf.js";import{t as e}from"./main-Wj4p5q80.js";export{e as yaml};
|