libre-webui 0.23.1 → 0.24.1
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/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +2 -0
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/routes/chat.d.ts.map +1 -1
- package/backend/dist/routes/chat.js +148 -3
- package/backend/dist/routes/chat.js.map +1 -1
- package/backend/dist/routes/ollama.d.ts.map +1 -1
- package/backend/dist/routes/ollama.js +48 -1
- package/backend/dist/routes/ollama.js.map +1 -1
- package/backend/dist/services/apiTokenService.d.ts.map +1 -1
- package/backend/dist/services/apiTokenService.js +1 -0
- package/backend/dist/services/apiTokenService.js.map +1 -1
- package/backend/dist/services/chatGenerationService.d.ts +11 -1
- package/backend/dist/services/chatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/chatGenerationService.js +22 -2
- package/backend/dist/services/chatGenerationService.js.map +1 -1
- package/backend/dist/services/chatService.d.ts +14 -1
- package/backend/dist/services/chatService.d.ts.map +1 -1
- package/backend/dist/services/chatService.js +109 -5
- package/backend/dist/services/chatService.js.map +1 -1
- package/backend/dist/services/contextCompactionService.d.ts +36 -0
- package/backend/dist/services/contextCompactionService.d.ts.map +1 -0
- package/backend/dist/services/contextCompactionService.js +285 -0
- package/backend/dist/services/contextCompactionService.js.map +1 -0
- package/backend/dist/services/durableChatGenerationService.d.ts.map +1 -1
- package/backend/dist/services/durableChatGenerationService.js +121 -11
- package/backend/dist/services/durableChatGenerationService.js.map +1 -1
- package/backend/dist/services/followUpService.d.ts.map +1 -1
- package/backend/dist/services/followUpService.js +8 -2
- package/backend/dist/services/followUpService.js.map +1 -1
- package/backend/dist/services/modelVisibilityService.d.ts +45 -0
- package/backend/dist/services/modelVisibilityService.d.ts.map +1 -0
- package/backend/dist/services/modelVisibilityService.js +215 -0
- package/backend/dist/services/modelVisibilityService.js.map +1 -0
- package/backend/dist/services/ollamaService.d.ts +16 -1
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +52 -13
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts +14 -0
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +111 -13
- package/backend/dist/services/pluginService.js.map +1 -1
- package/backend/dist/services/preferencesService.d.ts.map +1 -1
- package/backend/dist/services/preferencesService.js +3 -0
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
- package/backend/dist/services/titleGenerationService.js +20 -2
- package/backend/dist/services/titleGenerationService.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +22 -0
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/types/index.d.ts +23 -2
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/utils/chatContext.d.ts +7 -0
- package/backend/dist/utils/chatContext.d.ts.map +1 -1
- package/backend/dist/utils/chatContext.js +13 -2
- package/backend/dist/utils/chatContext.js.map +1 -1
- package/backend/dist/utils/ollamaModelDefaults.d.ts +10 -0
- package/backend/dist/utils/ollamaModelDefaults.d.ts.map +1 -1
- package/backend/dist/utils/ollamaModelDefaults.js +19 -1
- package/backend/dist/utils/ollamaModelDefaults.js.map +1 -1
- package/backend/dist/utils/openAIResponsesAdapter.d.ts +2 -0
- package/backend/dist/utils/openAIResponsesAdapter.d.ts.map +1 -1
- package/backend/dist/utils/openAIResponsesAdapter.js +5 -0
- package/backend/dist/utils/openAIResponsesAdapter.js.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.d.ts +1 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.js +101 -11
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
- package/backend/dist/utils/pluginModelCatalog.d.ts +50 -0
- package/backend/dist/utils/pluginModelCatalog.d.ts.map +1 -0
- package/backend/dist/utils/pluginModelCatalog.js +221 -0
- package/backend/dist/utils/pluginModelCatalog.js.map +1 -0
- package/backend/dist/utils/pluginStreamAdapter.d.ts +12 -1
- package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreamAdapter.js +32 -2
- package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
- package/backend/dist/utils/pluginStreaming.d.ts +10 -0
- package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreaming.js.map +1 -1
- package/backend/dist/utils/thinkingOptions.d.ts +68 -0
- package/backend/dist/utils/thinkingOptions.d.ts.map +1 -0
- package/backend/dist/utils/thinkingOptions.js +130 -0
- package/backend/dist/utils/thinkingOptions.js.map +1 -0
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +1 -1
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/package.json +3 -3
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
- package/frontend/dist/artifact-runtime/papaparse.js +5 -5
- package/frontend/dist/assets/index-CDQ12KBq.js +34 -0
- package/frontend/dist/assets/index-DkFWzmFD.css +1 -0
- package/frontend/dist/assets/{markdown-math-ClTedVi7.css → markdown-math-Ddr6Z9Sf.css} +1 -1
- package/frontend/dist/index.html +15 -15
- package/frontend/dist/js/ArtifactContainer-B-hs0F5K.js +1 -0
- package/frontend/dist/js/{ArtifactDemoPage-QRve-734.js → ArtifactDemoPage-QFtJw-u4.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-DhvA-t-7.js → ArtifactSandboxFrame-S9g_q47-.js} +2 -2
- package/frontend/dist/js/ArtifactSlideOutPanel-D0UOo8RW.js +1 -0
- package/frontend/dist/js/{Button-BV44cTnj.js → Button-BPf_pOxH.js} +1 -1
- package/frontend/dist/js/ChatPage-fdd8500b.js +23 -0
- package/frontend/dist/js/FirstTimeSetup-BTjafGOq.js +1 -0
- package/frontend/dist/js/GalleryPage-hR9AJ6b-.js +1 -0
- package/frontend/dist/js/HomePage-JvTzq-Pp.js +1 -0
- package/frontend/dist/js/LibreClawPage-CLJvtXft.js +1 -0
- package/frontend/dist/js/{ModelManagerModals-CZAWUxjI.js → ModelManagerModals-DBmm_slu.js} +1 -1
- package/frontend/dist/js/ModelSelector-A-viVFEc.js +1 -0
- package/frontend/dist/js/ModelsPage-C4Rm-TZF.js +2 -0
- package/frontend/dist/js/NotesPage-C7bPU_KF.js +1 -0
- package/frontend/dist/js/{OptimizedSyntaxHighlighter-XwqZEoTf.js → OptimizedSyntaxHighlighter-Dz7D1LPB.js} +1 -1
- package/frontend/dist/js/{PersonasPage-DpN8DQkY.js → PersonasPage-DpvxbFzv.js} +2 -2
- package/frontend/dist/js/{PluginUsagePage-5PXXZXle.js → PluginUsagePage-laF-M2X9.js} +1 -1
- package/frontend/dist/js/RichMessageContent-D0mK9vRA.js +3 -0
- package/frontend/dist/js/SettingsModal-DNEQ5sTt.js +1 -0
- package/frontend/dist/js/{SettingsToggle-WTa0rgvY.js → SettingsToggle-woG_WebF.js} +1 -1
- package/frontend/dist/js/{SystemPage-FUnoW7Er.js → SystemPage-Xr7XJv8c.js} +1 -1
- package/frontend/dist/js/UserManagementPage-DGmbGTC2.js +1 -0
- package/frontend/dist/js/WorkPage-DNKFD9gS.js +6 -0
- package/frontend/dist/js/{api-Dw_IuHaz.js → api-DGVZHSkS.js} +2 -2
- package/frontend/dist/js/{appStore-DAT2R-5p.js → appStore-DXlmTjIC.js} +2 -2
- package/frontend/dist/js/ar-DW79oSyN.js +2 -0
- package/frontend/dist/js/authStore-B97lJ5Ee.js +4 -0
- package/frontend/dist/js/bn-BEAmE7VH.js +2 -0
- package/frontend/dist/js/chatStore-zilBUd1p.js +3 -0
- package/frontend/dist/js/{config-0eBxRk6E.js → config-CmEh9o8U.js} +1 -1
- package/frontend/dist/js/cs-irpRMzRo.js +2 -0
- package/frontend/dist/js/da-cgilTVxc.js +2 -0
- package/frontend/dist/js/de-BU-eH3gU.js +2 -0
- package/frontend/dist/js/es-B2LRpZ0p.js +2 -0
- package/frontend/dist/js/{estree-Db_NKIE7.js → estree-CZO8RS52.js} +1 -1
- package/frontend/dist/js/fr-Cd5JM-oQ.js +2 -0
- package/frontend/dist/js/hi-CvOhdtiK.js +2 -0
- package/frontend/dist/js/{html-INl_p8N8.js → html-C31pxhBG.js} +1 -1
- package/frontend/dist/js/id-BtRK5nR_.js +2 -0
- package/frontend/dist/js/is-CnEqwgRF.js +2 -0
- package/frontend/dist/js/it-CI6WjId6.js +2 -0
- package/frontend/dist/js/ja-B6gFOHi6.js +2 -0
- package/frontend/dist/js/ko-DuAhnmMf.js +2 -0
- package/frontend/dist/js/{markdown-DQbfLH11.js → markdown-C1CEqXpL.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-D7zXzjgH.js → messageCodeStyles-BqQ6kOSU.js} +2 -2
- package/frontend/dist/js/ms-C8BIP7MZ.js +2 -0
- package/frontend/dist/js/nl-DnEdspER.js +2 -0
- package/frontend/dist/js/pl-Ddyyvbse.js +2 -0
- package/frontend/dist/js/pt-BYuzm70F.js +2 -0
- package/frontend/dist/js/ru-CmSPFxPX.js +2 -0
- package/frontend/dist/js/{standalone-CFSd7xCM.js → standalone-Dz0pkxn0.js} +1 -1
- package/frontend/dist/js/sv-Dd6SQ9f1.js +2 -0
- package/frontend/dist/js/th-CpH8745B.js +2 -0
- package/frontend/dist/js/thinking-DwlkTfPX.js +1 -0
- package/frontend/dist/js/tr-DuVD75iJ.js +2 -0
- package/frontend/dist/js/{typescript-BIFKSiW0.js → typescript-DeXPhp90.js} +1 -1
- package/frontend/dist/js/ui-CO0DPqrI.js +2 -0
- package/frontend/dist/js/{ui-vendor-54SgntkX.js → ui-vendor-mqjSfAaS.js} +1 -1
- package/frontend/dist/js/uk-B0MU-M8k.js +2 -0
- package/frontend/dist/js/{useTranslation-C3ei3mJq.js → useTranslation-Bho4HCyg.js} +1 -1
- package/frontend/dist/js/{utils-CuC1beTY.js → utils-D9W1Lnkn.js} +1 -1
- package/frontend/dist/js/{utils-vendor-BBa8OxtB.js → utils-vendor-DWh39_3x.js} +1 -1
- package/frontend/dist/js/vi-BLmFNp_z.js +2 -0
- package/frontend/dist/js/{workApi-DlmJ72dN.js → workApi-C4QtuhcE.js} +2 -2
- package/frontend/dist/js/zh-BQu0TLhw.js +2 -0
- package/package.json +3 -3
- package/frontend/dist/assets/index-BXMQqOXF.js +0 -11
- package/frontend/dist/assets/index-DBaj1DRj.css +0 -1
- package/frontend/dist/js/ArtifactContainer-BUjOZ5M5.js +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-B8w1Orr1.js +0 -1
- package/frontend/dist/js/ChatPage-DKVwaYxn.js +0 -23
- package/frontend/dist/js/FirstTimeSetup-DaQveC0v.js +0 -1
- package/frontend/dist/js/GalleryPage-Cz-VvarV.js +0 -1
- package/frontend/dist/js/HomePage-DF9pZ5V5.js +0 -1
- package/frontend/dist/js/LibreClawPage-Dw8YQyFj.js +0 -1
- package/frontend/dist/js/ModelSelector-Cc91MEm4.js +0 -1
- package/frontend/dist/js/ModelsPage-BgaQuCry.js +0 -2
- package/frontend/dist/js/NotesPage-CRAo-TFI.js +0 -1
- package/frontend/dist/js/RichMessageContent-C67tFlr1.js +0 -3
- package/frontend/dist/js/SettingsModal-BEzMSDlp.js +0 -1
- package/frontend/dist/js/UserManagementPage-SBsRbt0H.js +0 -1
- package/frontend/dist/js/WorkPage-D3ChSFo-.js +0 -6
- package/frontend/dist/js/ar-D0z0P4rC.js +0 -2
- package/frontend/dist/js/authStore-CwSMGkEM.js +0 -4
- package/frontend/dist/js/bn-BYYU41A7.js +0 -2
- package/frontend/dist/js/chatStore-BK6YcouV.js +0 -3
- package/frontend/dist/js/cs-BFx6KNZe.js +0 -2
- package/frontend/dist/js/da-DSDuY5Du.js +0 -2
- package/frontend/dist/js/de-YqhP0FmX.js +0 -2
- package/frontend/dist/js/es-Dpr_y1cN.js +0 -2
- package/frontend/dist/js/fr-nVg_iAEC.js +0 -2
- package/frontend/dist/js/hi-gHKYCgkP.js +0 -2
- package/frontend/dist/js/id-C_yID1Zk.js +0 -2
- package/frontend/dist/js/is-MoRPLbOM.js +0 -2
- package/frontend/dist/js/it-BZTscLxR.js +0 -2
- package/frontend/dist/js/ja-DpIbtmZq.js +0 -2
- package/frontend/dist/js/ko-LkWggmjU.js +0 -2
- package/frontend/dist/js/ms-p3XiQSAo.js +0 -2
- package/frontend/dist/js/nl-sEHHO2Kb.js +0 -2
- package/frontend/dist/js/pl-D2GD6PDW.js +0 -2
- package/frontend/dist/js/pt-DPkn3GUn.js +0 -2
- package/frontend/dist/js/ru-C42iHrEd.js +0 -2
- package/frontend/dist/js/sv-CGvHo4os.js +0 -2
- package/frontend/dist/js/th-BaDNpCdY.js +0 -2
- package/frontend/dist/js/tr-BHQvi1cN.js +0 -2
- package/frontend/dist/js/ui-CS8EAgvS.js +0 -2
- package/frontend/dist/js/uk-7pNGS1b2.js +0 -2
- package/frontend/dist/js/vi-DgAfh6mo.js +0 -2
- package/frontend/dist/js/zh-FRTz6ZqA.js +0 -2
- /package/frontend/dist/js/{markdown-math-mH7AZ_mb.js → markdown-math-DK846gXU.js} +0 -0
|
@@ -28,6 +28,55 @@ const requestService = new ChatRequestService({
|
|
|
28
28
|
personaService,
|
|
29
29
|
preferencesService,
|
|
30
30
|
});
|
|
31
|
+
/**
|
|
32
|
+
* A completion event has to fit the durable payload ceiling, and a long reply
|
|
33
|
+
* with reasoning does not. The message itself is persisted in the same
|
|
34
|
+
* transaction, so an oversized event drops the bulky fields and marks itself
|
|
35
|
+
* truncated; a client that was not streaming reloads the session instead of
|
|
36
|
+
* reading them off the event.
|
|
37
|
+
*/
|
|
38
|
+
const boundCompletionPayload = (value) => {
|
|
39
|
+
const BUDGET_BYTES = 48 * 1024;
|
|
40
|
+
const size = (candidate) => Buffer.byteLength(JSON.stringify(candidate), 'utf8');
|
|
41
|
+
if (size(value) <= BUDGET_BYTES)
|
|
42
|
+
return value;
|
|
43
|
+
// The payload must hold JSON values only, so bulky fields are removed
|
|
44
|
+
// rather than blanked with undefined.
|
|
45
|
+
const withoutThinking = {
|
|
46
|
+
...value,
|
|
47
|
+
truncated: true,
|
|
48
|
+
};
|
|
49
|
+
delete withoutThinking.thinking;
|
|
50
|
+
if (size(withoutThinking) <= BUDGET_BYTES)
|
|
51
|
+
return withoutThinking;
|
|
52
|
+
return { ...withoutThinking, content: '' };
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Split text into pieces that each fit a byte budget, never cutting a
|
|
56
|
+
* character in half. A provider is free to emit one enormous delta, and a
|
|
57
|
+
* single event that exceeds the durable payload ceiling would fail the whole
|
|
58
|
+
* generation.
|
|
59
|
+
*/
|
|
60
|
+
const sliceByBytes = (text, maxBytes) => {
|
|
61
|
+
if (Buffer.byteLength(text, 'utf8') <= maxBytes)
|
|
62
|
+
return text ? [text] : [];
|
|
63
|
+
const pieces = [];
|
|
64
|
+
let current = '';
|
|
65
|
+
let currentBytes = 0;
|
|
66
|
+
for (const character of text) {
|
|
67
|
+
const width = Buffer.byteLength(character, 'utf8');
|
|
68
|
+
if (currentBytes + width > maxBytes) {
|
|
69
|
+
pieces.push(current);
|
|
70
|
+
current = '';
|
|
71
|
+
currentBytes = 0;
|
|
72
|
+
}
|
|
73
|
+
current += character;
|
|
74
|
+
currentBytes += width;
|
|
75
|
+
}
|
|
76
|
+
if (current)
|
|
77
|
+
pieces.push(current);
|
|
78
|
+
return pieces;
|
|
79
|
+
};
|
|
31
80
|
const streamId = (sessionId) => `chat:${sessionId}`;
|
|
32
81
|
const append = async (input, eventType, payload, occurrenceId) => {
|
|
33
82
|
await getDurableEventGateway().append({
|
|
@@ -61,15 +110,34 @@ const streamGeneratedAssistant = async (input, prepared, context) => {
|
|
|
61
110
|
// Chunk events carry only their delta. Persisting the accumulated total in
|
|
62
111
|
// every event made storage quadratic in message length; consumers rebuild
|
|
63
112
|
// the message by replaying the generation's ordered deltas.
|
|
113
|
+
// Leaves room for the event envelope inside the durable payload ceiling.
|
|
114
|
+
const MAX_DELTA_BYTES = 32 * 1024;
|
|
64
115
|
const publish = async (batch) => {
|
|
65
116
|
await context.assertSideEffectAllowed();
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
117
|
+
const emit = async (content, thinking) => {
|
|
118
|
+
await append(input, 'chat.stream.v1', {
|
|
119
|
+
type: 'chunk',
|
|
120
|
+
messageId: input.assistantMessageId,
|
|
121
|
+
content,
|
|
122
|
+
...(thinking ? { thinking } : {}),
|
|
123
|
+
done: false,
|
|
124
|
+
}, `attempt:${context.attemptCount}:stream:${++streamEventSequence}`);
|
|
125
|
+
};
|
|
126
|
+
const fitsInOneEvent = Buffer.byteLength(batch.contentDelta, 'utf8') +
|
|
127
|
+
Buffer.byteLength(batch.thinkingDelta, 'utf8') <=
|
|
128
|
+
MAX_DELTA_BYTES;
|
|
129
|
+
if (fitsInOneEvent) {
|
|
130
|
+
await emit(batch.contentDelta, batch.thinkingDelta || undefined);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
// Ordered pieces: reasoning first, then the answer, exactly as a
|
|
134
|
+
// consumer replaying the stream would rebuild them.
|
|
135
|
+
for (const piece of sliceByBytes(batch.thinkingDelta, MAX_DELTA_BYTES)) {
|
|
136
|
+
await emit('', piece);
|
|
137
|
+
}
|
|
138
|
+
for (const piece of sliceByBytes(batch.contentDelta, MAX_DELTA_BYTES)) {
|
|
139
|
+
await emit(piece);
|
|
140
|
+
}
|
|
73
141
|
};
|
|
74
142
|
const streamPublisher = createChatStreamCoalescer(publish);
|
|
75
143
|
const queuePublish = (contentDelta = '', thinkingDelta = '') => {
|
|
@@ -105,6 +173,10 @@ const streamGeneratedAssistant = async (input, prepared, context) => {
|
|
|
105
173
|
}
|
|
106
174
|
if (prepared.target.activePlugin && prepared.shouldStreamPlugin) {
|
|
107
175
|
const toolCalls = [];
|
|
176
|
+
// Token counts the provider reported; without them the statistics strip
|
|
177
|
+
// shows nothing for provider-backed replies.
|
|
178
|
+
let usage;
|
|
179
|
+
let providerTimings;
|
|
108
180
|
try {
|
|
109
181
|
for await (const chunk of pluginService.executePluginStreamRequest(prepared.target.actualModelName, prepared.pluginMessages, prepared.target.mergedOptions, input.actorUserId, prepared.target.activePlugin.id, context.signal)) {
|
|
110
182
|
if (chunk.type === 'content' && chunk.content) {
|
|
@@ -118,6 +190,12 @@ const streamGeneratedAssistant = async (input, prepared, context) => {
|
|
|
118
190
|
else if (chunk.type === 'tool_call' && chunk.toolCall) {
|
|
119
191
|
toolCalls.push(chunk.toolCall);
|
|
120
192
|
}
|
|
193
|
+
else if (chunk.type === 'usage') {
|
|
194
|
+
if (chunk.usage)
|
|
195
|
+
usage = { ...usage, ...chunk.usage };
|
|
196
|
+
if (chunk.timings)
|
|
197
|
+
providerTimings = { ...providerTimings, ...chunk.timings };
|
|
198
|
+
}
|
|
121
199
|
else if (chunk.type === 'done') {
|
|
122
200
|
if (chunk.doneReason?.startsWith('incomplete:')) {
|
|
123
201
|
throw new Error(`Provider returned an incomplete response (${chunk.doneReason.slice('incomplete:'.length) || 'unknown'})`);
|
|
@@ -136,7 +214,33 @@ const streamGeneratedAssistant = async (input, prepared, context) => {
|
|
|
136
214
|
await streamPublisher.drain();
|
|
137
215
|
}
|
|
138
216
|
return {
|
|
139
|
-
response: chatGenerationService.createPluginChatResponse(prepared.target.actualModelName, content, thinking || undefined, providerMetadata
|
|
217
|
+
response: chatGenerationService.createPluginChatResponse(prepared.target.actualModelName, content, thinking || undefined, providerMetadata, {
|
|
218
|
+
...(usage?.promptTokens !== undefined
|
|
219
|
+
? { prompt_tokens: usage.promptTokens }
|
|
220
|
+
: {}),
|
|
221
|
+
...(usage?.completionTokens !== undefined
|
|
222
|
+
? { completion_tokens: usage.completionTokens }
|
|
223
|
+
: {}),
|
|
224
|
+
},
|
|
225
|
+
// The server reports milliseconds; the statistics contract is
|
|
226
|
+
// nanoseconds, matching Ollama.
|
|
227
|
+
providerTimings
|
|
228
|
+
? {
|
|
229
|
+
...(providerTimings.promptMs !== undefined
|
|
230
|
+
? { firstTokenNs: providerTimings.promptMs * 1e6 }
|
|
231
|
+
: {}),
|
|
232
|
+
...(providerTimings.predictedMs !== undefined
|
|
233
|
+
? { generationNs: providerTimings.predictedMs * 1e6 }
|
|
234
|
+
: {}),
|
|
235
|
+
...(providerTimings.promptMs !== undefined &&
|
|
236
|
+
providerTimings.predictedMs !== undefined
|
|
237
|
+
? {
|
|
238
|
+
totalNs: (providerTimings.promptMs + providerTimings.predictedMs) *
|
|
239
|
+
1e6,
|
|
240
|
+
}
|
|
241
|
+
: {}),
|
|
242
|
+
}
|
|
243
|
+
: undefined),
|
|
140
244
|
content,
|
|
141
245
|
...(thinking ? { thinking } : {}),
|
|
142
246
|
};
|
|
@@ -247,11 +351,17 @@ class DurableChatGenerationService {
|
|
|
247
351
|
throw error;
|
|
248
352
|
}
|
|
249
353
|
}
|
|
354
|
+
// getMessagesForContext may compact the session — a real side effect,
|
|
355
|
+
// so it must run fenced like the generation below it.
|
|
356
|
+
await context.assertSideEffectAllowed();
|
|
250
357
|
const prepared = await requestService.prepareGenerationRequest({
|
|
251
358
|
session,
|
|
252
359
|
userId: input.actorUserId,
|
|
253
360
|
options: input.options,
|
|
254
|
-
persistedMessages: (await chatService.getMessagesForContext(input.sessionId, input.actorUserId
|
|
361
|
+
persistedMessages: (await chatService.getMessagesForContext(input.sessionId, input.actorUserId, undefined, context.signal,
|
|
362
|
+
// Compaction runs once, on the first attempt; a retry serves
|
|
363
|
+
// whatever that attempt already persisted.
|
|
364
|
+
context.attemptCount > 1)).filter(message => {
|
|
255
365
|
if (!input.regenerate || !input.originalMessageId)
|
|
256
366
|
return true;
|
|
257
367
|
const original = session.messages.find(candidate => candidate.id === input.originalMessageId);
|
|
@@ -319,7 +429,7 @@ class DurableChatGenerationService {
|
|
|
319
429
|
actorUserId: input.actorUserId,
|
|
320
430
|
payload: {
|
|
321
431
|
mode: 'encrypted',
|
|
322
|
-
value: {
|
|
432
|
+
value: boundCompletionPayload({
|
|
323
433
|
type: 'done',
|
|
324
434
|
messageId: input.assistantMessageId,
|
|
325
435
|
content: assistant.content,
|
|
@@ -330,7 +440,7 @@ class DurableChatGenerationService {
|
|
|
330
440
|
...(assistant.providerMetadata
|
|
331
441
|
? { providerMetadata: assistant.providerMetadata }
|
|
332
442
|
: {}),
|
|
333
|
-
},
|
|
443
|
+
}),
|
|
334
444
|
},
|
|
335
445
|
},
|
|
336
446
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durableChatGenerationService.js","sourceRoot":"","sources":["../../src/services/durableChatGenerationService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"durableChatGenerationService.js","sourceRoot":"","sources":["../../src/services/durableChatGenerationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"followUpService.d.ts","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAWnF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAQR;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB9D;AAED,UAAU,qBAAqB;IAC7B,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACrC;AAED,UAAU,+BAA+B;IACvC,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,EAC3B,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,GACpE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,6BAA6B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;CACjE;AAED,UAAU,uBAAuB;IAC/B,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,gBAAgB,CACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,qBAAqB,CAAC;IACnC,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,aAAa,EAAE,uBAAuB,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,qBAAqB,CAAkC;IAC/D,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IAEvC,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,GAAc,EACd,MAAgB,GACjB,EAAE,2BAA2B,EAO7B;IAED;;;;OAIG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,SAAY,GACjB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAiC1B;YAEa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"followUpService.d.ts","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAC;AAWnF,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,MAAM,GACvB,MAAM,CAQR;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB9D;AAED,UAAU,qBAAqB;IAC7B,UAAU,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;CACrC;AAED,UAAU,+BAA+B;IACvC,uBAAuB,CACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,EAC3B,iBAAiB,CAAC,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,GACpE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7B,6BAA6B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC;CACjE;AAED,UAAU,uBAAuB;IAC/B,oBAAoB,CAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B;AAED,UAAU,uBAAuB;IAC/B,gBAAgB,CACd,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,qBAAqB,CAAC;IACnC,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,aAAa,EAAE,uBAAuB,CAAC;IACvC,aAAa,EAAE,uBAAuB,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,qBAAqB,CAAkC;IAC/D,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IAEvC,YAAY,EACV,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,GAAc,EACd,MAAgB,GACjB,EAAE,2BAA2B,EAO7B;IAED;;;;OAIG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,SAAY,GACjB,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAiC1B;YAEa,iBAAiB;CAwDhC"}
|
|
@@ -103,16 +103,22 @@ export class FollowUpService {
|
|
|
103
103
|
content: prompt,
|
|
104
104
|
timestamp: this.now(),
|
|
105
105
|
},
|
|
106
|
-
],
|
|
106
|
+
],
|
|
107
|
+
// Suggestions are a side task; they should not spend the chat's
|
|
108
|
+
// reasoning budget, whatever it is set to.
|
|
109
|
+
{ ...target.mergedOptions, think: false }, userId, target.activePlugin.id);
|
|
107
110
|
return this.chatGenerationService.extractPluginAssistantContent(pluginResponse);
|
|
108
111
|
}
|
|
112
|
+
// Ollama takes the thinking setting beside the options, never inside
|
|
113
|
+
// them, and this call answers it for itself below.
|
|
114
|
+
const { think: _think, ...ollamaOptions } = target.mergedOptions;
|
|
109
115
|
const response = await this.ollamaService.generateResponse({
|
|
110
116
|
model: target.actualModelName,
|
|
111
117
|
prompt,
|
|
112
118
|
stream: false,
|
|
113
119
|
think: false,
|
|
114
120
|
options: {
|
|
115
|
-
...
|
|
121
|
+
...ollamaOptions,
|
|
116
122
|
temperature: FOLLOW_UP_GENERATION_OPTIONS.temperature,
|
|
117
123
|
num_predict: FOLLOW_UP_GENERATION_OPTIONS.num_predict,
|
|
118
124
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"followUpService.js","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"followUpService.js","sourceRoot":"","sources":["../../src/services/followUpService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const MODEL_VISIBILITY_KEY = "model_visibility";
|
|
2
|
+
/** Upper bound on stored hidden keys, keeping the setting row bounded. */
|
|
3
|
+
export declare const MODEL_VISIBILITY_MAX_KEYS = 5000;
|
|
4
|
+
/**
|
|
5
|
+
* The hidden model keys, or [] when nothing is hidden. Fails open: an
|
|
6
|
+
* unreadable or corrupted setting must never blank every model picker.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getHiddenModels(): Promise<string[]>;
|
|
9
|
+
/** Validates and dedupes a hidden-model list; throws on invalid input. */
|
|
10
|
+
export declare function normalizeHiddenModels(keys: unknown): string[];
|
|
11
|
+
/** Persists the hidden-model set and returns the normalized list. */
|
|
12
|
+
export declare function setHiddenModels(keys: string[]): Promise<string[]>;
|
|
13
|
+
export declare const MODEL_ORDER_KEY = "model_order";
|
|
14
|
+
export declare const MODEL_METADATA_KEY = "model_metadata";
|
|
15
|
+
/** Presentation an administrator set for one model. */
|
|
16
|
+
export interface ModelMetadata {
|
|
17
|
+
/** Shown instead of the raw model id. Empty means use the id. */
|
|
18
|
+
label?: string;
|
|
19
|
+
/** Data URL for the model's picture. Empty means the provider default. */
|
|
20
|
+
avatar?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The administrator-chosen model order, most important first. Models missing
|
|
24
|
+
* from the list keep their provider order after the ones listed here.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getModelOrder(): Promise<string[]>;
|
|
27
|
+
export declare function normalizeModelOrder(keys: unknown): string[];
|
|
28
|
+
export declare function setModelOrder(keys: string[]): Promise<string[]>;
|
|
29
|
+
/** Labels and pictures administrators set, keyed the same way as visibility. */
|
|
30
|
+
export declare function getModelMetadata(): Promise<Record<string, ModelMetadata>>;
|
|
31
|
+
export declare function normalizeModelMetadata(value: unknown): Record<string, ModelMetadata>;
|
|
32
|
+
export declare function setModelMetadata(value: Record<string, ModelMetadata>): Promise<Record<string, ModelMetadata>>;
|
|
33
|
+
declare const _default: {
|
|
34
|
+
getHiddenModels: typeof getHiddenModels;
|
|
35
|
+
setHiddenModels: typeof setHiddenModels;
|
|
36
|
+
normalizeHiddenModels: typeof normalizeHiddenModels;
|
|
37
|
+
getModelOrder: typeof getModelOrder;
|
|
38
|
+
setModelOrder: typeof setModelOrder;
|
|
39
|
+
normalizeModelOrder: typeof normalizeModelOrder;
|
|
40
|
+
getModelMetadata: typeof getModelMetadata;
|
|
41
|
+
setModelMetadata: typeof setModelMetadata;
|
|
42
|
+
normalizeModelMetadata: typeof normalizeModelMetadata;
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
45
|
+
//# sourceMappingURL=modelVisibilityService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelVisibilityService.d.ts","sourceRoot":"","sources":["../../src/services/modelVisibilityService.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,0EAA0E;AAC1E,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAK9C;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBzD;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CA0B7D;AAED,qEAAqE;AACrE,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIvE;AAED,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AAOnD,uDAAuD;AACvD,MAAM,WAAW,aAAa;IAC5B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAavD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAsB3D;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIrE;AAED,gFAAgF;AAChF,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAC9B,CAaA;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAyD/B;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAIxC"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Libre WebUI
|
|
3
|
+
* Copyright (C) 2025 Kroonen AI, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at:
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Which models administrators removed from the shared model pickers. The set
|
|
19
|
+
* is a persisted system setting holding hidden model keys: an Ollama model is
|
|
20
|
+
* keyed by its plain name, a plugin model by `${pluginId}/${modelName}`.
|
|
21
|
+
*
|
|
22
|
+
* Visibility is a listing refinement, not an authorization gate: hidden
|
|
23
|
+
* models drop out of the pickers non-administrators see, while administrators
|
|
24
|
+
* always keep the full list.
|
|
25
|
+
*/
|
|
26
|
+
import { createLogger } from '../utils/logger.js';
|
|
27
|
+
import { getSystemSetting, setSystemSetting } from './systemSettingsService.js';
|
|
28
|
+
const logger = createLogger('services:model-visibility');
|
|
29
|
+
export const MODEL_VISIBILITY_KEY = 'model_visibility';
|
|
30
|
+
/** Upper bound on stored hidden keys, keeping the setting row bounded. */
|
|
31
|
+
export const MODEL_VISIBILITY_MAX_KEYS = 5000;
|
|
32
|
+
/** Longer than any real model key; guards the row against garbage input. */
|
|
33
|
+
const MODEL_KEY_MAX_CHARS = 512;
|
|
34
|
+
/**
|
|
35
|
+
* The hidden model keys, or [] when nothing is hidden. Fails open: an
|
|
36
|
+
* unreadable or corrupted setting must never blank every model picker.
|
|
37
|
+
*/
|
|
38
|
+
export async function getHiddenModels() {
|
|
39
|
+
try {
|
|
40
|
+
const raw = await getSystemSetting(MODEL_VISIBILITY_KEY);
|
|
41
|
+
if (!raw)
|
|
42
|
+
return [];
|
|
43
|
+
const parsed = JSON.parse(raw);
|
|
44
|
+
if (!Array.isArray(parsed))
|
|
45
|
+
return [];
|
|
46
|
+
return parsed.filter((key) => typeof key === 'string' && key.length > 0);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
logger.warn('Could not read model visibility; treating every model as visible:', error);
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** Validates and dedupes a hidden-model list; throws on invalid input. */
|
|
54
|
+
export function normalizeHiddenModels(keys) {
|
|
55
|
+
if (!Array.isArray(keys)) {
|
|
56
|
+
throw new Error('hidden must be an array of model keys.');
|
|
57
|
+
}
|
|
58
|
+
if (keys.length > MODEL_VISIBILITY_MAX_KEYS) {
|
|
59
|
+
throw new Error(`At most ${MODEL_VISIBILITY_MAX_KEYS} models can be hidden.`);
|
|
60
|
+
}
|
|
61
|
+
const deduped = new Set();
|
|
62
|
+
for (const key of keys) {
|
|
63
|
+
if (typeof key !== 'string') {
|
|
64
|
+
throw new Error('Every hidden model key must be a string.');
|
|
65
|
+
}
|
|
66
|
+
const trimmed = key.trim();
|
|
67
|
+
if (!trimmed) {
|
|
68
|
+
throw new Error('Hidden model keys must be non-empty.');
|
|
69
|
+
}
|
|
70
|
+
if (trimmed.length > MODEL_KEY_MAX_CHARS) {
|
|
71
|
+
throw new Error(`Hidden model keys are limited to ${MODEL_KEY_MAX_CHARS} characters.`);
|
|
72
|
+
}
|
|
73
|
+
deduped.add(trimmed);
|
|
74
|
+
}
|
|
75
|
+
return [...deduped];
|
|
76
|
+
}
|
|
77
|
+
/** Persists the hidden-model set and returns the normalized list. */
|
|
78
|
+
export async function setHiddenModels(keys) {
|
|
79
|
+
const normalized = normalizeHiddenModels(keys);
|
|
80
|
+
await setSystemSetting(MODEL_VISIBILITY_KEY, JSON.stringify(normalized));
|
|
81
|
+
return normalized;
|
|
82
|
+
}
|
|
83
|
+
export const MODEL_ORDER_KEY = 'model_order';
|
|
84
|
+
export const MODEL_METADATA_KEY = 'model_metadata';
|
|
85
|
+
/** Data URLs are stored inline, so each one stays small enough to serve. */
|
|
86
|
+
const MODEL_AVATAR_MAX_CHARS = 256000;
|
|
87
|
+
const MODEL_LABEL_MAX_CHARS = 128;
|
|
88
|
+
const MODEL_METADATA_MAX_ENTRIES = 2000;
|
|
89
|
+
/**
|
|
90
|
+
* The administrator-chosen model order, most important first. Models missing
|
|
91
|
+
* from the list keep their provider order after the ones listed here.
|
|
92
|
+
*/
|
|
93
|
+
export async function getModelOrder() {
|
|
94
|
+
try {
|
|
95
|
+
const raw = await getSystemSetting(MODEL_ORDER_KEY);
|
|
96
|
+
if (!raw)
|
|
97
|
+
return [];
|
|
98
|
+
const parsed = JSON.parse(raw);
|
|
99
|
+
if (!Array.isArray(parsed))
|
|
100
|
+
return [];
|
|
101
|
+
return parsed.filter((key) => typeof key === 'string' && key.length > 0);
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
logger.warn('Could not read model order; using provider order:', error);
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function normalizeModelOrder(keys) {
|
|
109
|
+
if (!Array.isArray(keys)) {
|
|
110
|
+
throw new Error('order must be an array of model keys.');
|
|
111
|
+
}
|
|
112
|
+
if (keys.length > MODEL_VISIBILITY_MAX_KEYS) {
|
|
113
|
+
throw new Error(`At most ${MODEL_VISIBILITY_MAX_KEYS} models can be ordered.`);
|
|
114
|
+
}
|
|
115
|
+
const deduped = new Set();
|
|
116
|
+
for (const key of keys) {
|
|
117
|
+
if (typeof key !== 'string' || !key.trim()) {
|
|
118
|
+
throw new Error('Every ordered model key must be a non-empty string.');
|
|
119
|
+
}
|
|
120
|
+
if (key.trim().length > MODEL_KEY_MAX_CHARS) {
|
|
121
|
+
throw new Error(`Model keys are limited to ${MODEL_KEY_MAX_CHARS} characters.`);
|
|
122
|
+
}
|
|
123
|
+
deduped.add(key.trim());
|
|
124
|
+
}
|
|
125
|
+
return [...deduped];
|
|
126
|
+
}
|
|
127
|
+
export async function setModelOrder(keys) {
|
|
128
|
+
const normalized = normalizeModelOrder(keys);
|
|
129
|
+
await setSystemSetting(MODEL_ORDER_KEY, JSON.stringify(normalized));
|
|
130
|
+
return normalized;
|
|
131
|
+
}
|
|
132
|
+
/** Labels and pictures administrators set, keyed the same way as visibility. */
|
|
133
|
+
export async function getModelMetadata() {
|
|
134
|
+
try {
|
|
135
|
+
const raw = await getSystemSetting(MODEL_METADATA_KEY);
|
|
136
|
+
if (!raw)
|
|
137
|
+
return {};
|
|
138
|
+
const parsed = JSON.parse(raw);
|
|
139
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
140
|
+
return {};
|
|
141
|
+
}
|
|
142
|
+
return parsed;
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
logger.warn('Could not read model metadata; using provider names:', error);
|
|
146
|
+
return {};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export function normalizeModelMetadata(value) {
|
|
150
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
151
|
+
throw new Error('metadata must be an object keyed by model.');
|
|
152
|
+
}
|
|
153
|
+
const entries = Object.entries(value);
|
|
154
|
+
if (entries.length > MODEL_METADATA_MAX_ENTRIES) {
|
|
155
|
+
throw new Error(`At most ${MODEL_METADATA_MAX_ENTRIES} models can carry metadata.`);
|
|
156
|
+
}
|
|
157
|
+
const normalized = {};
|
|
158
|
+
for (const [key, raw] of entries) {
|
|
159
|
+
if (!key.trim() || key.length > MODEL_KEY_MAX_CHARS) {
|
|
160
|
+
throw new Error('Model metadata keys must be short, non-empty strings.');
|
|
161
|
+
}
|
|
162
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
163
|
+
throw new Error(`Metadata for ${key} must be an object.`);
|
|
164
|
+
}
|
|
165
|
+
const { label, avatar } = raw;
|
|
166
|
+
const entry = {};
|
|
167
|
+
if (label !== undefined) {
|
|
168
|
+
if (typeof label !== 'string') {
|
|
169
|
+
throw new Error(`Label for ${key} must be a string.`);
|
|
170
|
+
}
|
|
171
|
+
const trimmed = label.trim();
|
|
172
|
+
if (trimmed.length > MODEL_LABEL_MAX_CHARS) {
|
|
173
|
+
throw new Error(`Labels are limited to ${MODEL_LABEL_MAX_CHARS} characters.`);
|
|
174
|
+
}
|
|
175
|
+
if (trimmed)
|
|
176
|
+
entry.label = trimmed;
|
|
177
|
+
}
|
|
178
|
+
if (avatar !== undefined) {
|
|
179
|
+
if (typeof avatar !== 'string') {
|
|
180
|
+
throw new Error(`Picture for ${key} must be a string.`);
|
|
181
|
+
}
|
|
182
|
+
const trimmed = avatar.trim();
|
|
183
|
+
if (trimmed) {
|
|
184
|
+
if (trimmed.length > MODEL_AVATAR_MAX_CHARS) {
|
|
185
|
+
throw new Error(`Model pictures are limited to ${Math.floor(MODEL_AVATAR_MAX_CHARS / 1000)} KB.`);
|
|
186
|
+
}
|
|
187
|
+
if (!/^data:image\/(png|jpeg|jpg|gif|webp|svg\+xml);base64,/i.test(trimmed)) {
|
|
188
|
+
throw new Error(`Picture for ${key} must be an image data URL.`);
|
|
189
|
+
}
|
|
190
|
+
entry.avatar = trimmed;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// An entry stripped back to nothing is a reset, not a stored blank.
|
|
194
|
+
if (entry.label || entry.avatar)
|
|
195
|
+
normalized[key.trim()] = entry;
|
|
196
|
+
}
|
|
197
|
+
return normalized;
|
|
198
|
+
}
|
|
199
|
+
export async function setModelMetadata(value) {
|
|
200
|
+
const normalized = normalizeModelMetadata(value);
|
|
201
|
+
await setSystemSetting(MODEL_METADATA_KEY, JSON.stringify(normalized));
|
|
202
|
+
return normalized;
|
|
203
|
+
}
|
|
204
|
+
export default {
|
|
205
|
+
getHiddenModels,
|
|
206
|
+
setHiddenModels,
|
|
207
|
+
normalizeHiddenModels,
|
|
208
|
+
getModelOrder,
|
|
209
|
+
setModelOrder,
|
|
210
|
+
normalizeModelOrder,
|
|
211
|
+
getModelMetadata,
|
|
212
|
+
setModelMetadata,
|
|
213
|
+
normalizeModelMetadata,
|
|
214
|
+
};
|
|
215
|
+
//# sourceMappingURL=modelVisibilityService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelVisibilityService.js","sourceRoot":"","sources":["../../src/services/modelVisibilityService.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export declare function isCloudModel(model: string | undefined): boolean;
|
|
|
12
12
|
* unlimited), but the cloud backend maps num_predict -> max_tokens, which must
|
|
13
13
|
* be positive, so for cloud we omit it and let the host apply its default.
|
|
14
14
|
*/
|
|
15
|
-
export declare function sanitizeOptionsForModel(model: string,
|
|
15
|
+
export declare function sanitizeOptionsForModel(model: string, rawOptions: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
|
|
16
16
|
/**
|
|
17
17
|
* Ollama's native /api/chat requires tool_call function arguments to be an
|
|
18
18
|
* object; a JSON string there fails its request parser with a 400 ("Value
|
|
@@ -64,6 +64,21 @@ export declare class OllamaService {
|
|
|
64
64
|
}>;
|
|
65
65
|
/** Meter a chat call into the usage analytics shown on the Usage page. */
|
|
66
66
|
private recordChatUsage;
|
|
67
|
+
/**
|
|
68
|
+
* The thinking setting a request should actually be sent with.
|
|
69
|
+
*
|
|
70
|
+
* A model that does not reason answers a `think` request with a 400, and the
|
|
71
|
+
* setting can arrive from global preferences that were never written with
|
|
72
|
+
* this model in mind. Where Ollama says what the model can do, that answer
|
|
73
|
+
* is respected; where it says nothing, the request is left alone.
|
|
74
|
+
*/
|
|
75
|
+
private resolveThinking;
|
|
76
|
+
/**
|
|
77
|
+
* The wire form of a chat request: messages Ollama can parse, options it
|
|
78
|
+
* accepts, and `think` where it belongs, in the body rather than the
|
|
79
|
+
* options.
|
|
80
|
+
*/
|
|
81
|
+
private buildChatRequestBody;
|
|
67
82
|
generateChatResponse(request: OllamaChatRequest, signal?: AbortSignal, usage?: {
|
|
68
83
|
userId?: string;
|
|
69
84
|
}): Promise<OllamaChatResponse>;
|