@jingyi0605/codingns4dsh 0.2.1-beta.10 → 0.2.1-beta.11
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/README.en.md +3 -3
- package/README.md +6 -4
- package/data/build/dist/client/bundle.js +8958 -7380
- package/data/build/dist/client/bundle.js.map +1 -1
- package/data/build/dist/client/cli-slots.d.ts +11 -2
- package/data/build/dist/client/cli-slots.d.ts.map +1 -1
- package/data/build/dist/client/cli-slots.js +67 -16
- package/data/build/dist/client/cli-slots.js.map +1 -1
- package/data/build/dist/client/client.assistant-configuration-view.js +8 -7
- package/data/build/dist/client/client.assistant-configuration-view.js.map +1 -1
- package/data/build/dist/client/client.moss-voice-output.js +581 -0
- package/data/build/dist/client/client.moss-voice-output.js.map +1 -0
- package/data/build/dist/client/client.native-workspace-store.js +1 -1
- package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
- package/data/build/dist/client/client.primitives-adapter.js.map +1 -1
- package/data/build/dist/client/client.react-dom.js +0 -570
- package/data/build/dist/client/client.react-dom.js.map +1 -1
- package/data/build/dist/client/client.session-translation.js +97 -2
- package/data/build/dist/client/client.session-translation.js.map +1 -1
- package/data/build/dist/client/client.transport.js +57 -11
- package/data/build/dist/client/client.transport.js.map +1 -1
- package/data/build/dist/client/desktop-assistant.js +57 -11
- package/data/build/dist/client/features/cli-adapters.d.ts.map +1 -1
- package/data/build/dist/client/features/cli-adapters.js +3 -1
- package/data/build/dist/client/features/cli-adapters.js.map +1 -1
- package/data/build/dist/client/features/session-translation.d.ts.map +1 -1
- package/data/build/dist/client/features/session-translation.js +43 -48
- package/data/build/dist/client/features/session-translation.js.map +1 -1
- package/data/build/dist/client/locales/panels.d.ts.map +1 -1
- package/data/build/dist/client/locales/panels.js +57 -11
- package/data/build/dist/client/locales/panels.js.map +1 -1
- package/data/build/dist/client/native-model-translation-menu.d.ts +6 -0
- package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -0
- package/data/build/dist/client/native-model-translation-menu.js +57 -0
- package/data/build/dist/client/native-model-translation-menu.js.map +1 -0
- package/data/build/dist/client/native-translation-default.d.ts +6 -0
- package/data/build/dist/client/native-translation-default.d.ts.map +1 -0
- package/data/build/dist/client/native-translation-default.js +30 -0
- package/data/build/dist/client/native-translation-default.js.map +1 -0
- package/data/build/dist/client/session-translation-chat.d.ts +15 -0
- package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
- package/data/build/dist/client/session-translation-chat.js +109 -41
- package/data/build/dist/client/session-translation-chat.js.map +1 -1
- package/data/build/dist/client/session-translation-interactions.d.ts +31 -0
- package/data/build/dist/client/session-translation-interactions.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-interactions.js +158 -0
- package/data/build/dist/client/session-translation-interactions.js.map +1 -0
- package/data/build/dist/client/session-translation-model-pool.d.ts +16 -0
- package/data/build/dist/client/session-translation-model-pool.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-model-pool.js +246 -0
- package/data/build/dist/client/session-translation-model-pool.js.map +1 -0
- package/data/build/dist/client/session-translation-pending-dom.d.ts +8 -0
- package/data/build/dist/client/session-translation-pending-dom.d.ts.map +1 -0
- package/data/build/dist/client/session-translation-pending-dom.js +58 -0
- package/data/build/dist/client/session-translation-pending-dom.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts +30 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js +102 -0
- package/data/build/dist/dsh-capabilities/client/interaction-presentation-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts +12 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js +181 -0
- package/data/build/dist/dsh-capabilities/client/interaction-text-dom.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts +1 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js +1 -0
- package/data/build/dist/dsh-capabilities/client/primitives-adapter.js.map +1 -1
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts +20 -0
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.js +65 -0
- package/data/build/dist/dsh-capabilities/client/question-history-adapter.js.map +1 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts +30 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.d.ts.map +1 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js +62 -0
- package/data/build/dist/dsh-capabilities/client/slot-presentation-mirror.js.map +1 -0
- package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/matrix.js +1 -0
- package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/routes.js +3 -0
- package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
- package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
- package/data/build/dist/dsh-capabilities/types.js.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js +17 -8
- package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/feature.js +252 -39
- package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js +2 -2
- package/data/build/dist/host/cli-adapters/native-subagent-dispatch.js.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
- package/data/build/dist/host/cli-adapters/registry.js +2 -0
- package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
- package/data/build/dist/host/features/interaction-translation.d.ts +9 -0
- package/data/build/dist/host/features/interaction-translation.d.ts.map +1 -0
- package/data/build/dist/host/features/interaction-translation.js +168 -0
- package/data/build/dist/host/features/interaction-translation.js.map +1 -0
- package/data/build/dist/host/features/session-translation-protection.d.ts +11 -0
- package/data/build/dist/host/features/session-translation-protection.d.ts.map +1 -0
- package/data/build/dist/host/features/session-translation-protection.js +165 -0
- package/data/build/dist/host/features/session-translation-protection.js.map +1 -0
- package/data/build/dist/host/features/session-translation-runtime.d.ts +16 -0
- package/data/build/dist/host/features/session-translation-runtime.d.ts.map +1 -0
- package/data/build/dist/host/features/session-translation-runtime.js +85 -0
- package/data/build/dist/host/features/session-translation-runtime.js.map +1 -0
- package/data/build/dist/host/features/session-translation-service.d.ts +10 -3
- package/data/build/dist/host/features/session-translation-service.d.ts.map +1 -1
- package/data/build/dist/host/features/session-translation-service.js +159 -197
- package/data/build/dist/host/features/session-translation-service.js.map +1 -1
- package/data/build/dist/host/features/session-translation.js +1 -1
- package/data/build/dist/host/features/session-translation.js.map +1 -1
- package/data/build/dist/host/native-session-bridge.js +2 -2
- package/data/build/dist/host/native-session-bridge.js.map +1 -1
- package/data/build/dist/host/settings.d.ts.map +1 -1
- package/data/build/dist/host/settings.js +6 -2
- package/data/build/dist/host/settings.js.map +1 -1
- package/data/build/dist/shared/contracts/interaction-presentation.d.ts +32 -0
- package/data/build/dist/shared/contracts/interaction-presentation.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/interaction-presentation.js +2 -0
- package/data/build/dist/shared/contracts/interaction-presentation.js.map +1 -0
- package/data/build/dist/shared/contracts/interaction-translation.d.ts +53 -0
- package/data/build/dist/shared/contracts/interaction-translation.d.ts.map +1 -0
- package/data/build/dist/shared/contracts/interaction-translation.js +44 -0
- package/data/build/dist/shared/contracts/interaction-translation.js.map +1 -0
- package/data/build/dist/shared/contracts/session-translation.d.ts +62 -7
- package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
- package/data/build/dist/shared/contracts/session-translation.js +122 -2
- package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
- package/data/build/dist/shared/contracts/version.d.ts +1 -1
- package/data/build/dist/shared/contracts/version.js +1 -1
- package/data/build/dist/shared/index.d.ts +1 -1
- package/data/build/dist/shared/index.d.ts.map +1 -1
- package/data/build/dist/shared/index.js +1 -1
- package/data/build/dist/shared/index.js.map +1 -1
- package/data/build/dist/shared/translation-indicator.d.ts +26 -0
- package/data/build/dist/shared/translation-indicator.d.ts.map +1 -0
- package/data/build/dist/shared/translation-indicator.js +29 -0
- package/data/build/dist/shared/translation-indicator.js.map +1 -0
- package/package.json +1 -1
- package/profile/README.md +2 -2
- package/profile/package.json +2 -2
- package/profile/version.json +1 -1
- package/version.json +1 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { createDshCapabilityRegistry } from '../../dsh-capabilities/routes.js';
|
|
2
|
-
import { isSessionTranslationAdapter, } from '../../shared/contracts/session-translation.js';
|
|
2
|
+
import { isSessionTranslationAdapter, normalizeSessionTranslationSettings, supportsSessionTranslation, } from '../../shared/contracts/session-translation.js';
|
|
3
3
|
import { debugWarn } from '../../shared/debug.js';
|
|
4
|
+
import { isLanguageNeutralText, protectText, restoreText, stripPlaceholders } from './session-translation-protection.js';
|
|
5
|
+
import { translationFailure, withTranslationAbort as withAbort } from './session-translation-runtime.js';
|
|
4
6
|
/**
|
|
5
7
|
* 会话翻译只调用 DSH 已配置的原生 LLM,不创建 Agent、不执行工具,也不持久化凭据。
|
|
6
8
|
* 翻译失败时由调用方回退原文,不能让外部 Agent 的主任务失败。
|
|
@@ -15,11 +17,14 @@ export function createSessionTranslationService(ctx, dshVersion) {
|
|
|
15
17
|
let disposed = false;
|
|
16
18
|
let active = false;
|
|
17
19
|
let nativeFallbackModel;
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
+
const selectModels = async (signal) => {
|
|
21
|
+
if (settings.translationModels !== undefined && settings.translationModels.length > 0) {
|
|
22
|
+
return settings.translationModels.filter((item) => !isSessionTranslationAdapter(item.provider));
|
|
23
|
+
}
|
|
24
|
+
const configured = settings.translationModels === undefined ? settings.translationModel : undefined;
|
|
20
25
|
if (configured !== undefined) {
|
|
21
26
|
if (!isSessionTranslationAdapter(configured.provider))
|
|
22
|
-
return configured;
|
|
27
|
+
return [configured];
|
|
23
28
|
debugWarn('codingns4dsh: 翻译设置指向外部 Agent Provider,改用原生模型目录', {
|
|
24
29
|
provider: configured.provider,
|
|
25
30
|
model: configured.model,
|
|
@@ -27,12 +32,86 @@ export function createSessionTranslationService(ctx, dshVersion) {
|
|
|
27
32
|
}
|
|
28
33
|
const selected = model?.currentSelection?.();
|
|
29
34
|
if (selected !== undefined && !isSessionTranslationAdapter(selected.provider))
|
|
30
|
-
return selected;
|
|
35
|
+
return [selected];
|
|
31
36
|
if (nativeFallbackModel === undefined)
|
|
32
37
|
nativeFallbackModel = findFirstNativeModel(llm);
|
|
33
|
-
const
|
|
38
|
+
const pendingFallback = nativeFallbackModel;
|
|
39
|
+
const fallback = await withAbort(() => pendingFallback, signal);
|
|
34
40
|
signal.throwIfAborted();
|
|
35
|
-
return fallback;
|
|
41
|
+
return fallback === undefined ? [] : [fallback];
|
|
42
|
+
};
|
|
43
|
+
// Both directions share model ordering, deadlines, cancellation, and result validation.
|
|
44
|
+
const translateWithModels = async (adapterId, kind, text, protectedText, targetLanguage, signal) => {
|
|
45
|
+
const startedAt = performance.now();
|
|
46
|
+
let totalTokens;
|
|
47
|
+
const metrics = () => ({
|
|
48
|
+
durationMs: performance.now() - startedAt,
|
|
49
|
+
...(totalTokens === undefined ? {} : { totalTokens }),
|
|
50
|
+
});
|
|
51
|
+
let selected;
|
|
52
|
+
let failure = { code: 'configuration', retryable: false };
|
|
53
|
+
try {
|
|
54
|
+
const selectionTimeout = AbortSignal.timeout(30_000);
|
|
55
|
+
const selectionSignal = signal === undefined ? selectionTimeout : AbortSignal.any([selectionTimeout, signal]);
|
|
56
|
+
selectionSignal.throwIfAborted();
|
|
57
|
+
const candidates = await selectModels(selectionSignal);
|
|
58
|
+
for (const candidate of candidates) {
|
|
59
|
+
if (signal?.aborted)
|
|
60
|
+
break;
|
|
61
|
+
if (candidate.provider.trim() === '' || candidate.model.trim() === '')
|
|
62
|
+
continue;
|
|
63
|
+
selected = candidate;
|
|
64
|
+
const controller = new AbortController();
|
|
65
|
+
const timeout = globalThis.setTimeout(() => controller.abort(new Error('session translation timeout')), 30_000);
|
|
66
|
+
const combined = signal === undefined ? controller.signal : AbortSignal.any([controller.signal, signal]);
|
|
67
|
+
let attemptTokens = 0;
|
|
68
|
+
try {
|
|
69
|
+
const translated = await withAbort(async () => {
|
|
70
|
+
combined.throwIfAborted();
|
|
71
|
+
const reasoningEffort = await translationReasoningEffort(llm, candidate, combined);
|
|
72
|
+
const result = await readTranslation(llm.stream({
|
|
73
|
+
provider: candidate.provider,
|
|
74
|
+
model: candidate.model,
|
|
75
|
+
signal: combined,
|
|
76
|
+
codingnsTranslation: true,
|
|
77
|
+
...(reasoningEffort === undefined ? {} : { reasoningEffort }),
|
|
78
|
+
temperature: 0,
|
|
79
|
+
maxTokens: Math.min(16_000, Math.max(512, text.length * 2 + 256)),
|
|
80
|
+
system: translationSystem(targetLanguage, kind),
|
|
81
|
+
messages: [{ role: 'user', content: [{ type: 'text', text: translationUserMessage(targetLanguage, kind, protectedText.text) }] }],
|
|
82
|
+
}), combined, (tokens) => {
|
|
83
|
+
totalTokens = (totalTokens ?? 0) + tokens - attemptTokens;
|
|
84
|
+
attemptTokens = tokens;
|
|
85
|
+
});
|
|
86
|
+
combined.throwIfAborted();
|
|
87
|
+
// Validate prose before restoring code, whose language is intentionally unchanged.
|
|
88
|
+
if (!isUsableTranslation(stripPlaceholders(result), targetLanguage))
|
|
89
|
+
throw new Error('model returned an unusable translation');
|
|
90
|
+
return restoreText(result.trim(), protectedText.values);
|
|
91
|
+
}, combined);
|
|
92
|
+
return { translated, model: candidate, ...metrics() };
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
failure = translationFailure(error, combined);
|
|
96
|
+
debugWarn('codingns4dsh: Translation model failed', {
|
|
97
|
+
adapterId, kind, provider: candidate.provider, model: candidate.model,
|
|
98
|
+
error: error instanceof Error ? error.message : String(error),
|
|
99
|
+
});
|
|
100
|
+
if (signal?.aborted)
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
finally {
|
|
104
|
+
globalThis.clearTimeout(timeout);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
failure = translationFailure(error, signal);
|
|
110
|
+
debugWarn('codingns4dsh: Translation model selection failed', {
|
|
111
|
+
adapterId, kind, error: error instanceof Error ? error.message : String(error),
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return { translated: text, failed: true, failure, ...(selected === undefined ? {} : { model: selected }), ...metrics() };
|
|
36
115
|
};
|
|
37
116
|
const translate = async (adapterId, kind, text, signal, sessionEnabled) => {
|
|
38
117
|
const value = text;
|
|
@@ -42,7 +121,7 @@ export function createSessionTranslationService(ctx, dshVersion) {
|
|
|
42
121
|
return null;
|
|
43
122
|
const targetLanguage = kind === 'assistant' || kind === 'reasoning' ? settings.outputLanguage : settings.inputLanguage;
|
|
44
123
|
const protectedText = protectText(value);
|
|
45
|
-
if (
|
|
124
|
+
if (hasNoTranslatableText(protectedText.text))
|
|
46
125
|
return null;
|
|
47
126
|
const sourceLanguage = detectSourceLanguage(protectedText.text, targetLanguage);
|
|
48
127
|
if (sourceLanguage === targetLanguage) {
|
|
@@ -53,83 +132,26 @@ export function createSessionTranslationService(ctx, dshVersion) {
|
|
|
53
132
|
targetLanguage,
|
|
54
133
|
bilingual: settings.bilingual,
|
|
55
134
|
alreadyTargetLanguage: true,
|
|
135
|
+
durationMs: 0,
|
|
136
|
+
totalTokens: 0,
|
|
56
137
|
};
|
|
57
138
|
}
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return { original: value, translated: value, ...(sourceLanguage === undefined ? {} : { sourceLanguage }), targetLanguage, bilingual: settings.bilingual, failed: true };
|
|
67
|
-
}
|
|
68
|
-
combined.throwIfAborted();
|
|
69
|
-
const reasoningEffort = await translationReasoningEffort(llm, selected, combined);
|
|
70
|
-
const result = await readTranslation(llm.stream({
|
|
71
|
-
provider: selected.provider,
|
|
72
|
-
model: selected.model,
|
|
73
|
-
signal: combined,
|
|
74
|
-
codingnsTranslation: true,
|
|
75
|
-
...(reasoningEffort === undefined ? {} : { reasoningEffort }),
|
|
76
|
-
temperature: 0,
|
|
77
|
-
maxTokens: Math.min(16_000, Math.max(512, value.length * 2 + 256)),
|
|
78
|
-
system: translationSystem(targetLanguage, kind),
|
|
79
|
-
messages: [{ role: 'user', content: [{ type: 'text', text: translationUserMessage(targetLanguage, kind, protectedText.text) }] }],
|
|
80
|
-
}), combined);
|
|
81
|
-
const translated = restoreText(result, protectedText.values).trim();
|
|
82
|
-
if (!isUsableTranslation(translated, targetLanguage)) {
|
|
83
|
-
debugWarn('codingns4dsh: 会话输出翻译没有返回文字,已回退原文', {
|
|
84
|
-
adapterId,
|
|
85
|
-
kind,
|
|
86
|
-
provider: selected.provider,
|
|
87
|
-
model: selected.model,
|
|
88
|
-
});
|
|
89
|
-
return {
|
|
90
|
-
original: value,
|
|
91
|
-
translated: value,
|
|
92
|
-
...(sourceLanguage === undefined ? {} : { sourceLanguage }),
|
|
93
|
-
targetLanguage,
|
|
94
|
-
bilingual: settings.bilingual,
|
|
95
|
-
failed: true,
|
|
96
|
-
model: { provider: selected.provider, model: selected.model },
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
return {
|
|
100
|
-
original: value,
|
|
101
|
-
translated,
|
|
102
|
-
...(sourceLanguage === undefined ? {} : { sourceLanguage }),
|
|
103
|
-
targetLanguage,
|
|
104
|
-
bilingual: settings.bilingual,
|
|
105
|
-
model: { provider: selected.provider, model: selected.model },
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
debugWarn('codingns4dsh: 会话输出翻译请求失败,已回退原文', {
|
|
110
|
-
adapterId,
|
|
111
|
-
kind,
|
|
112
|
-
...(selected === undefined ? {} : { provider: selected.provider, model: selected.model }),
|
|
113
|
-
error: error instanceof Error ? error.message : String(error),
|
|
114
|
-
});
|
|
115
|
-
return {
|
|
116
|
-
original: value,
|
|
117
|
-
translated: value,
|
|
118
|
-
...(sourceLanguage === undefined ? {} : { sourceLanguage }),
|
|
119
|
-
targetLanguage,
|
|
120
|
-
bilingual: settings.bilingual,
|
|
121
|
-
failed: true,
|
|
122
|
-
...(selected === undefined ? {} : { model: { provider: selected.provider, model: selected.model } }),
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
finally {
|
|
126
|
-
globalThis.clearTimeout(timeout);
|
|
127
|
-
}
|
|
139
|
+
const result = await translateWithModels(adapterId, kind, value, protectedText, targetLanguage, signal);
|
|
140
|
+
return {
|
|
141
|
+
original: value,
|
|
142
|
+
...result,
|
|
143
|
+
...(sourceLanguage === undefined ? {} : { sourceLanguage }),
|
|
144
|
+
targetLanguage,
|
|
145
|
+
bilingual: settings.bilingual,
|
|
146
|
+
};
|
|
128
147
|
};
|
|
129
148
|
return {
|
|
130
149
|
get enabled() { return active; },
|
|
150
|
+
get cacheKey() { return JSON.stringify([settings, model?.currentSelection?.()]); },
|
|
131
151
|
get inputLanguage() { return settings.inputLanguage; },
|
|
132
152
|
get outputLanguage() { return settings.outputLanguage; },
|
|
153
|
+
get nativeEnabled() { return settings.nativeEnabled === true; },
|
|
154
|
+
get bilingual() { return settings.bilingual === true; },
|
|
133
155
|
async catalog() {
|
|
134
156
|
const errors = [];
|
|
135
157
|
const providers = llm.listProviders?.() ?? [];
|
|
@@ -175,62 +197,15 @@ export function createSessionTranslationService(ctx, dshVersion) {
|
|
|
175
197
|
if (!active || !canTranslateAdapter(adapterId, sessionEnabled) || text.trim() === '')
|
|
176
198
|
return { translated: text };
|
|
177
199
|
const protectedText = protectText(text);
|
|
178
|
-
if (
|
|
200
|
+
if (hasNoTranslatableText(protectedText.text))
|
|
179
201
|
return { translated: text };
|
|
180
202
|
const targetLanguage = settings.inputLanguage;
|
|
181
203
|
const sourceLanguage = detectSourceLanguage(protectedText.text, targetLanguage);
|
|
182
204
|
if (sourceLanguage === targetLanguage) {
|
|
183
|
-
return { translated: text, sourceLanguage, alreadyTargetLanguage: true };
|
|
184
|
-
}
|
|
185
|
-
const controller = new AbortController();
|
|
186
|
-
const timeout = globalThis.setTimeout(() => controller.abort(new Error('session translation timeout')), 30_000);
|
|
187
|
-
const combined = signal === undefined ? controller.signal : AbortSignal.any([controller.signal, signal]);
|
|
188
|
-
let selected;
|
|
189
|
-
try {
|
|
190
|
-
selected = await selectModel(combined);
|
|
191
|
-
if (selected === undefined || selected.provider.trim() === '' || selected.model.trim() === '') {
|
|
192
|
-
debugWarn('codingns4dsh: 会话输入翻译未找到可用模型,已回退原文', { adapterId });
|
|
193
|
-
return { translated: text, ...(sourceLanguage === undefined ? {} : { sourceLanguage }), failed: true };
|
|
194
|
-
}
|
|
195
|
-
const reasoningEffort = await translationReasoningEffort(llm, selected, combined);
|
|
196
|
-
const result = await readTranslation(llm.stream({
|
|
197
|
-
provider: selected.provider,
|
|
198
|
-
model: selected.model,
|
|
199
|
-
signal: combined,
|
|
200
|
-
codingnsTranslation: true,
|
|
201
|
-
...(reasoningEffort === undefined ? {} : { reasoningEffort }),
|
|
202
|
-
temperature: 0,
|
|
203
|
-
maxTokens: Math.min(16_000, Math.max(512, text.length * 2 + 256)),
|
|
204
|
-
system: translationSystem(settings.inputLanguage, 'input'),
|
|
205
|
-
messages: [{ role: 'user', content: [{ type: 'text', text: translationUserMessage(settings.inputLanguage, 'input', protectedText.text) }] }],
|
|
206
|
-
}), combined);
|
|
207
|
-
const translated = restoreText(result, protectedText.values).trim();
|
|
208
|
-
if (!isUsableTranslation(translated, settings.inputLanguage)) {
|
|
209
|
-
debugWarn('codingns4dsh: 会话输入翻译没有返回文字,已回退原文', {
|
|
210
|
-
adapterId,
|
|
211
|
-
provider: selected.provider,
|
|
212
|
-
model: selected.model,
|
|
213
|
-
});
|
|
214
|
-
return { translated: text, ...(sourceLanguage === undefined ? {} : { sourceLanguage }), failed: true, model: { provider: selected.provider, model: selected.model } };
|
|
215
|
-
}
|
|
216
|
-
return { translated, ...(sourceLanguage === undefined ? {} : { sourceLanguage }), model: { provider: selected.provider, model: selected.model } };
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
debugWarn('codingns4dsh: 会话输入翻译请求失败,已回退原文', {
|
|
220
|
-
adapterId,
|
|
221
|
-
...(selected === undefined ? {} : { provider: selected.provider, model: selected.model }),
|
|
222
|
-
error: error instanceof Error ? error.message : String(error),
|
|
223
|
-
});
|
|
224
|
-
return {
|
|
225
|
-
translated: text,
|
|
226
|
-
...(sourceLanguage === undefined ? {} : { sourceLanguage }),
|
|
227
|
-
failed: true,
|
|
228
|
-
...(selected === undefined ? {} : { model: { provider: selected.provider, model: selected.model } }),
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
finally {
|
|
232
|
-
globalThis.clearTimeout(timeout);
|
|
205
|
+
return { translated: text, sourceLanguage, alreadyTargetLanguage: true, durationMs: 0, totalTokens: 0 };
|
|
233
206
|
}
|
|
207
|
+
const result = await translateWithModels(adapterId, 'input', text, protectedText, targetLanguage, signal);
|
|
208
|
+
return { ...result, ...(sourceLanguage === undefined ? {} : { sourceLanguage }) };
|
|
234
209
|
}
|
|
235
210
|
}
|
|
236
211
|
function translationSystem(language, kind) {
|
|
@@ -248,7 +223,8 @@ function translationSystem(language, kind) {
|
|
|
248
223
|
'TRANSLATION RULE: Translate faithfully and completely. Do not add facts, intent, politeness, or a suggested next step.',
|
|
249
224
|
'OUTPUT RULE: Return only the translated text. Do not add a prefix, quotation marks, labels, notes, or commentary.',
|
|
250
225
|
'OUTPUT RULE: If the source text is already in the target language, return it unchanged.',
|
|
251
|
-
'PRESERVATION RULE: Preserve line breaks, Markdown structure, fenced code, inline code, JSON, shell commands, URLs, file paths, identifiers, and placeholders exactly.',
|
|
226
|
+
'PRESERVATION RULE: Preserve line breaks, Markdown structure, fenced code, inline code, HTML/XML elements, JSON, shell commands, URLs, file paths, identifiers, and placeholders exactly.',
|
|
227
|
+
'PRESERVATION RULE: Copy each @@CODINGNS_TRANSLATION_N@@ placeholder exactly once. Never translate, omit, duplicate, or invent placeholders.',
|
|
252
228
|
].join('\n');
|
|
253
229
|
}
|
|
254
230
|
function translationUserMessage(language, kind, text) {
|
|
@@ -278,17 +254,15 @@ function isUsableTranslation(value, language) {
|
|
|
278
254
|
return latin > 0 && latin >= cjk;
|
|
279
255
|
}
|
|
280
256
|
/**
|
|
281
|
-
*
|
|
282
|
-
*
|
|
257
|
+
* Local language detection after protected code and literals have been removed.
|
|
258
|
+
* Han prose may contain isolated Latin terms; foreign passages and ambiguous
|
|
259
|
+
* mixtures remain unknown so that translation is not skipped accidentally.
|
|
283
260
|
*
|
|
284
|
-
*
|
|
285
|
-
*
|
|
286
|
-
* 只会原样返回,还会把界面标成「已翻译」。命中法语/德语词汇或带非英语
|
|
287
|
-
* 变音字母的文本仍保持未知,交由翻译模型处理。
|
|
261
|
+
* An English target also accepts plain Latin text without French/German signals,
|
|
262
|
+
* preserving the existing bypass for short instructions such as "tool test".
|
|
288
263
|
*/
|
|
289
264
|
function detectSourceLanguage(value, targetLanguage) {
|
|
290
|
-
const text = value
|
|
291
|
-
.replace(/@@CODINGNS_TRANSLATION_\d+@@/gu, ' ')
|
|
265
|
+
const text = stripPlaceholders(value)
|
|
292
266
|
.normalize('NFKC')
|
|
293
267
|
.trim();
|
|
294
268
|
if (text === '')
|
|
@@ -297,7 +271,9 @@ function detectSourceLanguage(value, targetLanguage) {
|
|
|
297
271
|
return 'ja';
|
|
298
272
|
const han = (text.match(/[\u3400-\u9fff]/gu) ?? []).length;
|
|
299
273
|
const latin = (text.match(/[A-Za-zÀ-ÖØ-öø-ÿ]/gu) ?? []).length;
|
|
300
|
-
if (han > 0
|
|
274
|
+
if (han > 0) {
|
|
275
|
+
if (latin > 0 && !isHanProseWithEmbeddedLatinTerms(text, han))
|
|
276
|
+
return undefined;
|
|
301
277
|
// 简体中文特征字和常见短语,补足“你好”一类没有专属字形的短文本。
|
|
302
278
|
if (/[这门马车东书国语汉发后里时会为]/u.test(text)
|
|
303
279
|
|| /(?:你好|您好|谢谢|再见|请问|什么|为什么|如何|代码|检查|完成|错误|继续|开始|结束|测试|确认|没有|可以|需要)/u.test(text))
|
|
@@ -305,13 +281,13 @@ function detectSourceLanguage(value, targetLanguage) {
|
|
|
305
281
|
// 少数常见的纯汉字日语短语;普通日语句子通常已由假名识别。
|
|
306
282
|
if (/(?:確認|作成|実行|設定|変更|対応|修正|原因|利用|処理|必要|可能|準備|表示|入力|出力|開発|環境|現在)/u.test(text))
|
|
307
283
|
return 'ja';
|
|
308
|
-
//
|
|
309
|
-
//
|
|
284
|
+
// With a Chinese target, Han prose without distinctive vocabulary is also
|
|
285
|
+
// accepted, including short replies and prose with embedded technical terms.
|
|
310
286
|
if (targetLanguage === 'zh')
|
|
311
287
|
return 'zh';
|
|
312
288
|
return undefined;
|
|
313
289
|
}
|
|
314
|
-
if (latin === 0
|
|
290
|
+
if (latin === 0)
|
|
315
291
|
return undefined;
|
|
316
292
|
const words = text.toLocaleLowerCase().match(/[\p{L}]+/gu) ?? [];
|
|
317
293
|
const scores = { en: 0, fr: 0, de: 0 };
|
|
@@ -348,6 +324,29 @@ function detectSourceLanguage(value, targetLanguage) {
|
|
|
348
324
|
return 'en';
|
|
349
325
|
return undefined;
|
|
350
326
|
}
|
|
327
|
+
/** Accept embedded terms without letting a Han majority hide foreign passages. */
|
|
328
|
+
function isHanProseWithEmbeddedLatinTerms(text, han) {
|
|
329
|
+
if (/(?!\p{Script=Han}|\p{Script=Latin})\p{L}/u.test(text))
|
|
330
|
+
return false;
|
|
331
|
+
// Count Latin words rather than letters: a long identifier must not outweigh
|
|
332
|
+
// its surrounding prose. Very short or term-heavy mixtures remain unknown.
|
|
333
|
+
const terms = text.match(/\p{Script=Latin}+/gu) ?? [];
|
|
334
|
+
if (han <= terms.length)
|
|
335
|
+
return false;
|
|
336
|
+
// Keep periods inside identifiers such as Node.js; split sentence endings and
|
|
337
|
+
// lines so that even a short foreign sentence cannot be masked by Han elsewhere.
|
|
338
|
+
const clauses = text.split(/[\r\n。!?!?;;]|\.(?=\s|$)/u);
|
|
339
|
+
return clauses.every((clause) => {
|
|
340
|
+
if (!/\p{Script=Latin}/u.test(clause))
|
|
341
|
+
return true;
|
|
342
|
+
if (!/[\u3400-\u9fff]/u.test(clause))
|
|
343
|
+
return false;
|
|
344
|
+
// Only isolated terms qualify. Multiword names and phrases remain ambiguous;
|
|
345
|
+
// handling them conservatively avoids skipping actual foreign prose. Ignore
|
|
346
|
+
// Markdown emphasis without treating underscores inside identifiers as spaces.
|
|
347
|
+
return !/\p{Script=Latin}\s+\p{Script=Latin}/u.test(clause.replace(/[*_~]/gu, ''));
|
|
348
|
+
});
|
|
349
|
+
}
|
|
351
350
|
/**
|
|
352
351
|
* 纯拉丁文本:不含汉字、假名等其它文字的专属字形,也不含非英语的拉丁变音字母。
|
|
353
352
|
* 只有这类文本才允许在目标语言是英语时直接放行。
|
|
@@ -361,10 +360,20 @@ function isPlainLatinText(text) {
|
|
|
361
360
|
return false;
|
|
362
361
|
return true;
|
|
363
362
|
}
|
|
364
|
-
async function readTranslation(stream, signal) {
|
|
363
|
+
async function readTranslation(stream, signal, onUsage) {
|
|
365
364
|
let text = '';
|
|
366
365
|
for await (const chunk of stream) {
|
|
367
366
|
signal.throwIfAborted();
|
|
367
|
+
if (chunk.type === 'usage' && chunk.usage != null) {
|
|
368
|
+
const usage = chunk.usage;
|
|
369
|
+
const validTokens = (value) => typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
|
|
370
|
+
// DSH reports uncached input and cache reads/writes as disjoint buckets.
|
|
371
|
+
const buckets = [usage.inputTokens, usage.outputTokens, usage.cacheReadTokens, usage.cacheWriteTokens].filter(validTokens);
|
|
372
|
+
if (validTokens(usage.totalTokens))
|
|
373
|
+
onUsage(usage.totalTokens);
|
|
374
|
+
else if (buckets.length > 0)
|
|
375
|
+
onUsage(buckets.reduce((total, value) => total + value, 0));
|
|
376
|
+
}
|
|
368
377
|
if (chunk.type === 'text-delta' && typeof chunk.text === 'string')
|
|
369
378
|
text += chunk.text;
|
|
370
379
|
else if (chunk.type === 'block-end' && chunk.block?.type === 'text' && text === '' && typeof chunk.block.text === 'string')
|
|
@@ -391,59 +400,19 @@ async function findFirstNativeModel(llm) {
|
|
|
391
400
|
}
|
|
392
401
|
return undefined;
|
|
393
402
|
}
|
|
394
|
-
function
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
values.push(value);
|
|
398
|
-
return { text: `@@CODINGNS_TRANSLATION_0@@`, values };
|
|
399
|
-
}
|
|
400
|
-
const text = value.replace(/```[\s\S]*?```|`[^`]*`|https?:\/\/[^\s)]+|(?:^|\s)(?:[~/][^\s]+|[A-Za-z]:\\[^\s]+)(?=\s|$)|(?:^|\n)[ \t]*(?:[$>#]\s+|(?:npm|pnpm|yarn|bun|git|node|python|python3|cargo|docker|kubectl|curl|ssh|chmod|chown|mkdir|rmdir|rm|cp|mv|ls|cat|echo|export|make)\s+)[^\n]+/gimu, (match) => {
|
|
401
|
-
const prefix = /^\s/u.test(match) ? match.slice(0, match.length - match.trimStart().length) : '';
|
|
402
|
-
const original = match.slice(prefix.length);
|
|
403
|
-
const index = values.push(original) - 1;
|
|
404
|
-
return `${prefix}@@CODINGNS_TRANSLATION_${index}@@`;
|
|
405
|
-
});
|
|
406
|
-
return { text, values };
|
|
407
|
-
}
|
|
408
|
-
function isPlaceholderOnly(value) {
|
|
409
|
-
return value.replace(/@@CODINGNS_TRANSLATION_\d+@@/gu, '').trim() === '';
|
|
410
|
-
}
|
|
411
|
-
function isJsonDocument(value) {
|
|
412
|
-
const trimmed = value.trim();
|
|
413
|
-
if (!/^(?:\{|\[)/u.test(trimmed))
|
|
414
|
-
return false;
|
|
415
|
-
try {
|
|
416
|
-
JSON.parse(trimmed);
|
|
417
|
-
return true;
|
|
418
|
-
}
|
|
419
|
-
catch {
|
|
420
|
-
return false;
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
function restoreText(value, values) {
|
|
424
|
-
return value.replace(/@@CODINGNS_TRANSLATION_(\d+)@@/gu, (match, index) => values[Number(index)] ?? match);
|
|
403
|
+
function hasNoTranslatableText(value) {
|
|
404
|
+
const prose = stripPlaceholders(value).trim();
|
|
405
|
+
return prose === '' || isLanguageNeutralText(prose);
|
|
425
406
|
}
|
|
426
407
|
function normalizeSettings(value) {
|
|
427
|
-
|
|
428
|
-
if (value === undefined)
|
|
429
|
-
return fallback;
|
|
430
|
-
const translationModel = normalizeModel(value.translationModel);
|
|
431
|
-
return {
|
|
432
|
-
inputLanguage: ['en', 'fr', 'de', 'ja'].includes(value.inputLanguage) ? value.inputLanguage : fallback.inputLanguage,
|
|
433
|
-
outputLanguage: ['zh', 'en', 'fr', 'de', 'ja'].includes(value.outputLanguage) ? value.outputLanguage : fallback.outputLanguage,
|
|
434
|
-
bilingual: value.bilingual === true,
|
|
435
|
-
...(translationModel === undefined ? {} : { translationModel }),
|
|
436
|
-
};
|
|
408
|
+
return normalizeSessionTranslationSettings(value);
|
|
437
409
|
}
|
|
438
410
|
function defaultSettings() {
|
|
439
|
-
return
|
|
440
|
-
inputLanguage: 'en',
|
|
441
|
-
outputLanguage: 'zh',
|
|
442
|
-
bilingual: false,
|
|
443
|
-
};
|
|
411
|
+
return normalizeSessionTranslationSettings(undefined);
|
|
444
412
|
}
|
|
413
|
+
/** 外部 Agent 与 DSH 原生 Agent 共用同一开关语义:会话级开关必须显式为 true。 */
|
|
445
414
|
function canTranslateAdapter(adapterId, sessionEnabled) {
|
|
446
|
-
return
|
|
415
|
+
return supportsSessionTranslation(adapterId) && sessionEnabled === true;
|
|
447
416
|
}
|
|
448
417
|
/**
|
|
449
418
|
* 只在模型目录明确声明时下发关闭思考档位。
|
|
@@ -457,13 +426,6 @@ async function translationReasoningEffort(llm, model, signal) {
|
|
|
457
426
|
signal.throwIfAborted();
|
|
458
427
|
return info?.reasoning?.efforts.find((item) => item.id === 'off' || item.id === 'none')?.id;
|
|
459
428
|
}
|
|
460
|
-
function normalizeModel(value) {
|
|
461
|
-
if (value === undefined || value === null || typeof value.provider !== 'string' || typeof value.model !== 'string')
|
|
462
|
-
return undefined;
|
|
463
|
-
const provider = value.provider.trim();
|
|
464
|
-
const model = value.model.trim();
|
|
465
|
-
return provider === '' || model === '' ? undefined : { provider, model };
|
|
466
|
-
}
|
|
467
429
|
function readOptionalService(ctx, name) {
|
|
468
430
|
if (typeof ctx?.get !== 'function')
|
|
469
431
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-translation-service.js","sourceRoot":"","sources":["../../../../../src/host/features/session-translation-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-translation-service.js","sourceRoot":"","sources":["../../../../../src/host/features/session-translation-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export function createSessionTranslationFeature() {
|
|
|
11
11
|
requires: [{ capability: 'llm.text', required: false, fallback: 'disable' }],
|
|
12
12
|
ui: {
|
|
13
13
|
label: 'Session translation middleware',
|
|
14
|
-
description: 'Translate selected external Agent requests and visible reasoning or replies while keeping tools, commands, paths, and original history intact.',
|
|
14
|
+
description: 'Translate selected external Agent requests and visible reasoning or replies while keeping tools, commands, paths, and original history intact. DSH native sessions are opt-in and can be enabled separately.',
|
|
15
15
|
labelKey: 'feature.sessionTranslation.label',
|
|
16
16
|
descriptionKey: 'feature.sessionTranslation.description',
|
|
17
17
|
order: 32,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-translation.js","sourceRoot":"","sources":["../../../../../src/host/features/session-translation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oCAAoC,EAAE,MAAM,+CAA+C,CAAA;AAEpG,uCAAuC;AACvC,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;YAChB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,CAAC,aAAa,CAAC;YAC7B,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC5E,EAAE,EAAE;gBACF,KAAK,EAAE,gCAAgC;gBACvC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"session-translation.js","sourceRoot":"","sources":["../../../../../src/host/features/session-translation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oCAAoC,EAAE,MAAM,+CAA+C,CAAA;AAEpG,uCAAuC;AACvC,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;YAChB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,CAAC,aAAa,CAAC;YAC7B,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YAC5E,EAAE,EAAE;gBACF,KAAK,EAAE,gCAAgC;gBACvC,WAAW,EAAE,8MAA8M;gBAC3N,QAAQ,EAAE,kCAAkC;gBAC5C,cAAc,EAAE,wCAAwC;gBACxD,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,KAAK;aACnB;SACF;QACD,KAAK,CAAC,OAAO;YACX,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAA;YACnD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAM;YACjC,MAAM,IAAI,GAAG,CAAC,QAAsF,EAAQ,EAAE;gBAC5G,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,kBAAkB,IAAI,oCAAoC,CAAC,CAAA;YACzF,CAAC,CAAA;YACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;YACtC,OAAO,CAAC,QAAQ,EAAE,CAAA;YAClB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACtE,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACzD,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;QAChD,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -334,7 +334,7 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
|
|
|
334
334
|
return false;
|
|
335
335
|
}
|
|
336
336
|
};
|
|
337
|
-
const injectNativeNextStep = (sessionId, summary = '
|
|
337
|
+
const injectNativeNextStep = (sessionId, summary = 'The external tool has finished. Continue the current task.') => {
|
|
338
338
|
const agent = nativeAgent(ctx, sessionId);
|
|
339
339
|
if (agent === null || typeof agent.inject !== 'function') {
|
|
340
340
|
// 子代理会话一旦注入失败,DSH 不会发起第二次 llm/stream,子会话就停在当前
|
|
@@ -354,7 +354,7 @@ export function createCodingNsNativeSessionBridge(ctx, dshVersion) {
|
|
|
354
354
|
if (hasPendingNativeNextStep(agent))
|
|
355
355
|
return true;
|
|
356
356
|
injectedStepSequence += 1;
|
|
357
|
-
const boundedSummary = summary.trim().slice(0, 120) || '
|
|
357
|
+
const boundedSummary = summary.trim().slice(0, 120) || 'The external tool has finished. Continue the current task.';
|
|
358
358
|
const producerOwned = usesProducerOwnedSource(appendableSession(store?.get(sessionId)));
|
|
359
359
|
try {
|
|
360
360
|
if (on !== undefined)
|