libre-webui 0.14.2 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +92 -24
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +84 -0
  4. package/backend/dist/db.js.map +1 -1
  5. package/backend/dist/index.d.ts.map +1 -1
  6. package/backend/dist/index.js +99 -35
  7. package/backend/dist/index.js.map +1 -1
  8. package/backend/dist/middleware/auth.d.ts.map +1 -1
  9. package/backend/dist/middleware/auth.js +27 -2
  10. package/backend/dist/middleware/auth.js.map +1 -1
  11. package/backend/dist/routes/plugins.d.ts.map +1 -1
  12. package/backend/dist/routes/plugins.js +1 -1
  13. package/backend/dist/routes/plugins.js.map +1 -1
  14. package/backend/dist/routes/users.d.ts.map +1 -1
  15. package/backend/dist/routes/users.js +40 -6
  16. package/backend/dist/routes/users.js.map +1 -1
  17. package/backend/dist/routes/work.d.ts +3 -0
  18. package/backend/dist/routes/work.d.ts.map +1 -0
  19. package/backend/dist/routes/work.js +604 -0
  20. package/backend/dist/routes/work.js.map +1 -0
  21. package/backend/dist/services/ollamaService.d.ts +7 -2
  22. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  23. package/backend/dist/services/ollamaService.js +8 -8
  24. package/backend/dist/services/ollamaService.js.map +1 -1
  25. package/backend/dist/services/pluginService.d.ts.map +1 -1
  26. package/backend/dist/services/pluginService.js +8 -9
  27. package/backend/dist/services/pluginService.js.map +1 -1
  28. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  29. package/backend/dist/services/preferencesService.js +1 -0
  30. package/backend/dist/services/preferencesService.js.map +1 -1
  31. package/backend/dist/services/workAgentGuidance.d.ts +23 -0
  32. package/backend/dist/services/workAgentGuidance.d.ts.map +1 -0
  33. package/backend/dist/services/workAgentGuidance.js +129 -0
  34. package/backend/dist/services/workAgentGuidance.js.map +1 -0
  35. package/backend/dist/services/workAgentService.d.ts +33 -0
  36. package/backend/dist/services/workAgentService.d.ts.map +1 -0
  37. package/backend/dist/services/workAgentService.js +880 -0
  38. package/backend/dist/services/workAgentService.js.map +1 -0
  39. package/backend/dist/services/workEventService.d.ts +40 -0
  40. package/backend/dist/services/workEventService.d.ts.map +1 -0
  41. package/backend/dist/services/workEventService.js +324 -0
  42. package/backend/dist/services/workEventService.js.map +1 -0
  43. package/backend/dist/services/workModelProviderService.d.ts +49 -0
  44. package/backend/dist/services/workModelProviderService.d.ts.map +1 -0
  45. package/backend/dist/services/workModelProviderService.js +916 -0
  46. package/backend/dist/services/workModelProviderService.js.map +1 -0
  47. package/backend/dist/services/workRuntimeService.d.ts +143 -0
  48. package/backend/dist/services/workRuntimeService.d.ts.map +1 -0
  49. package/backend/dist/services/workRuntimeService.js +1860 -0
  50. package/backend/dist/services/workRuntimeService.js.map +1 -0
  51. package/backend/dist/services/workTaskService.d.ts +96 -0
  52. package/backend/dist/services/workTaskService.d.ts.map +1 -0
  53. package/backend/dist/services/workTaskService.js +718 -0
  54. package/backend/dist/services/workTaskService.js.map +1 -0
  55. package/backend/dist/types/index.d.ts +3 -0
  56. package/backend/dist/types/index.d.ts.map +1 -1
  57. package/backend/dist/types/index.js.map +1 -1
  58. package/backend/dist/types/work.d.ts +209 -0
  59. package/backend/dist/types/work.d.ts.map +1 -0
  60. package/backend/dist/types/work.js +18 -0
  61. package/backend/dist/types/work.js.map +1 -0
  62. package/backend/dist/utils/pluginChatAdapter.d.ts +9 -0
  63. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  64. package/backend/dist/utils/pluginChatAdapter.js +32 -6
  65. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  66. package/backend/dist/utils/pluginStreamAdapter.d.ts +12 -0
  67. package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
  68. package/backend/dist/utils/pluginStreamAdapter.js +168 -19
  69. package/backend/dist/utils/pluginStreamAdapter.js.map +1 -1
  70. package/backend/dist/utils/pluginStreaming.d.ts +10 -0
  71. package/backend/dist/utils/pluginStreaming.d.ts.map +1 -1
  72. package/backend/dist/utils/pluginStreaming.js.map +1 -1
  73. package/backend/package.json +1 -1
  74. package/electron/main.js +39 -16
  75. package/frontend/dist/assets/index-Bv-twCuY.css +1 -0
  76. package/frontend/dist/assets/index-uCHBH_PM.js +5 -0
  77. package/frontend/dist/index.html +12 -11
  78. package/frontend/dist/js/{ArtifactContainer-RPQq1DRo.js → ArtifactContainer-CXfmVx8T.js} +1 -1
  79. package/frontend/dist/js/{ArtifactDemoPage-Dd0Rbl3N.js → ArtifactDemoPage-B1_AuMd2.js} +1 -1
  80. package/frontend/dist/js/ArtifactSlideOutPanel-C0eTguNL.js +1 -0
  81. package/frontend/dist/js/{Button-BZBnLKRn.js → Button-DBk-AREB.js} +1 -1
  82. package/frontend/dist/js/ChatPage-1bK0gDBy.js +16 -0
  83. package/frontend/dist/js/FirstTimeSetup-DOoZUaRs.js +1 -0
  84. package/frontend/dist/js/{GalleryPage-BTA5LAmZ.js → GalleryPage-6WwyH3kt.js} +1 -1
  85. package/frontend/dist/js/LibreClawPage-ChHVfPLb.js +1 -0
  86. package/frontend/dist/js/{ModelManagerModals-D1_k_AKo.js → ModelManagerModals-DneqFQJC.js} +1 -1
  87. package/frontend/dist/js/ModelsPage-Dw6wdiMt.js +2 -0
  88. package/frontend/dist/js/{OptimizedSyntaxHighlighter-BR97Z7hi.js → OptimizedSyntaxHighlighter-Ci9sRc78.js} +1 -1
  89. package/frontend/dist/js/PersonasPage-BxdI2e1-.js +13 -0
  90. package/frontend/dist/js/RichMessageContent-WQLdJ5jq.js +3 -0
  91. package/frontend/dist/js/SettingsModal-C-cK6TNb.js +1 -0
  92. package/frontend/dist/js/UserManagementPage-DqjNXPkf.js +1 -0
  93. package/frontend/dist/js/WorkPage-MGR3odo6.js +2 -0
  94. package/frontend/dist/js/api-DD5qhhLf.js +19 -0
  95. package/frontend/dist/js/{ar-UnnZB1Qy.js → ar-CCVY0-7X.js} +2 -2
  96. package/frontend/dist/js/babel-BnLuavNv.js +16 -0
  97. package/frontend/dist/js/{bn-uZXaDyeV.js → bn-CoU5CSph.js} +2 -2
  98. package/frontend/dist/js/{cs-CCXlnUEB.js → cs-CR6pjIbG.js} +2 -2
  99. package/frontend/dist/js/{da--BpVVGPp.js → da-CkyYITRz.js} +2 -2
  100. package/frontend/dist/js/{de-DZd9lsBc.js → de-DwNANzB-.js} +2 -2
  101. package/frontend/dist/js/{es-Bm968oUX.js → es-TxygiaVQ.js} +2 -2
  102. package/frontend/dist/js/estree-DPzMpjFm.js +44 -0
  103. package/frontend/dist/js/{fr-RlC0rD8I.js → fr-DvEqVpZr.js} +2 -2
  104. package/frontend/dist/js/{hi-C6kwkL7d.js → hi-CyrWkyh7.js} +2 -2
  105. package/frontend/dist/js/html-R50jmBYq.js +25 -0
  106. package/frontend/dist/js/{id-CDfqnnXS.js → id-PJjIGHGM.js} +2 -2
  107. package/frontend/dist/js/{is-Dnd_7Jqv.js → is-ChXcN1tI.js} +2 -2
  108. package/frontend/dist/js/{it-BM0j6_Sz.js → it-DsgM8-MJ.js} +2 -2
  109. package/frontend/dist/js/{ja-xGblKDDf.js → ja-ivtt80N2.js} +2 -2
  110. package/frontend/dist/js/{ko-CQ2d_Oj0.js → ko-B8l_Ice1.js} +2 -2
  111. package/frontend/dist/js/logger-DbNs3-DK.js +1 -0
  112. package/frontend/dist/js/markdown-C08x2H-K.js +70 -0
  113. package/frontend/dist/js/{markdown-core-fkbHPd-g.js → markdown-core-GI9BPwrB.js} +1 -1
  114. package/frontend/dist/js/{markdown-math-Ci4QOsf-.js → markdown-math-E4O1gcxj.js} +1 -1
  115. package/frontend/dist/js/{ms-CFpRuv_a.js → ms-DoUBI6Qi.js} +2 -2
  116. package/frontend/dist/js/{nl-D6oTztmP.js → nl-DsX5Hj8m.js} +2 -2
  117. package/frontend/dist/js/{pl-ByuvABul.js → pl-Db_NKL4x.js} +2 -2
  118. package/frontend/dist/js/postcss-DSDkwgFE.js +62 -0
  119. package/frontend/dist/js/{pt-CNFV21T7.js → pt-CpzBhb5J.js} +2 -2
  120. package/frontend/dist/js/react-vendor-DyG_ODzn.js +9 -0
  121. package/frontend/dist/js/router-vendor-BjDI9mRe.js +1 -0
  122. package/frontend/dist/js/{ru-CRsSOntz.js → ru-DCXvJyXJ.js} +2 -2
  123. package/frontend/dist/js/standalone-DpMZUvjd.js +29 -0
  124. package/frontend/dist/js/{sv-BRkwjyS5.js → sv-DcVoybc7.js} +2 -2
  125. package/frontend/dist/js/{syntax-highlight-B8OiKBhG.js → syntax-highlight-pM1xnNpY.js} +1 -1
  126. package/frontend/dist/js/{th-DigqsQEB.js → th-D0G7HyQn.js} +2 -2
  127. package/frontend/dist/js/{tr-B5aMUMJE.js → tr-CMDOh4Aq.js} +2 -2
  128. package/frontend/dist/js/typescript-B6y_hxBm.js +22 -0
  129. package/frontend/dist/js/ui-vendor-DUqvZsfs.js +177 -0
  130. package/frontend/dist/js/{uk-BUYi3llT.js → uk-D2MMa6LP.js} +2 -2
  131. package/frontend/dist/js/useBaseQuery-Duml3DYp.js +1 -0
  132. package/frontend/dist/js/useQuery-C0lZwNoc.js +1 -0
  133. package/frontend/dist/js/{useTranslation-CP6Cg-EI.js → useTranslation-Cs6iTP4m.js} +1 -1
  134. package/frontend/dist/js/{utils-D0l9J3P-.js → utils-pTFqSV8c.js} +1 -1
  135. package/frontend/dist/js/{utils-vendor-BX3ZwoIK.js → utils-vendor-Cbaj0BC5.js} +1 -1
  136. package/frontend/dist/js/{vi-hQIcXi3m.js → vi-B8uHT8yh.js} +2 -2
  137. package/frontend/dist/js/yaml-mLy9chOK.js +154 -0
  138. package/frontend/dist/js/{zh-CUDZ3JDv.js → zh-CNqa_15K.js} +2 -2
  139. package/package.json +14 -7
  140. package/plugins/kimi-code.json +6 -37
  141. package/frontend/dist/assets/index-BPvF-fpc.css +0 -1
  142. package/frontend/dist/assets/index-CDvTfv-t.js +0 -5
  143. package/frontend/dist/js/ArtifactSlideOutPanel-oA5Iy8Nc.js +0 -1
  144. package/frontend/dist/js/ChatPage-DdLe5r1n.js +0 -16
  145. package/frontend/dist/js/FirstTimeSetup-DL_WZABT.js +0 -1
  146. package/frontend/dist/js/LibreClawPage-CuQ8tJUW.js +0 -1
  147. package/frontend/dist/js/ModelsPage-BVfl9FU_.js +0 -2
  148. package/frontend/dist/js/PersonasPage-wP36Pd7I.js +0 -13
  149. package/frontend/dist/js/RichMessageContent-CdgQHk6Q.js +0 -3
  150. package/frontend/dist/js/SettingsModal-CLdxDdQV.js +0 -1
  151. package/frontend/dist/js/UserManagementPage-BwnBtNj1.js +0 -1
  152. package/frontend/dist/js/api-BRz6cQiD.js +0 -15
  153. package/frontend/dist/js/logger-BmpKNkls.js +0 -1
  154. package/frontend/dist/js/react-vendor-Co1u1rWb.js +0 -8
  155. package/frontend/dist/js/ui-vendor-njo77ljx.js +0 -177
  156. package/frontend/dist/js/useBaseQuery-C8AWX-Cq.js +0 -1
  157. package/frontend/dist/js/useQuery-CbYbdhch.js +0 -1
@@ -89,6 +89,18 @@ export async function* streamOpenAICompatibleResponse(response) {
89
89
  const decoder = new TextDecoder();
90
90
  let buffer = '';
91
91
  const toolCallsInProgress = new Map();
92
+ let reasoningContent = '';
93
+ let completed = false;
94
+ const completedToolCalls = () => {
95
+ const calls = [...toolCallsInProgress.values()];
96
+ if (reasoningContent && calls[0]) {
97
+ calls[0].providerMetadata = {
98
+ ...calls[0].providerMetadata,
99
+ openAIReasoningContent: reasoningContent,
100
+ };
101
+ }
102
+ return calls;
103
+ };
92
104
  try {
93
105
  while (true) {
94
106
  const { done, value } = await reader.read();
@@ -101,9 +113,11 @@ export async function* streamOpenAICompatibleResponse(response) {
101
113
  const trimmed = line.trim();
102
114
  if (!trimmed || trimmed === 'data: [DONE]') {
103
115
  if (trimmed === 'data: [DONE]') {
104
- for (const toolCall of toolCallsInProgress.values()) {
116
+ for (const toolCall of completedToolCalls()) {
105
117
  yield { type: 'tool_call', toolCall };
106
118
  }
119
+ toolCallsInProgress.clear();
120
+ completed = true;
107
121
  yield { type: 'done' };
108
122
  }
109
123
  continue;
@@ -111,33 +125,88 @@ export async function* streamOpenAICompatibleResponse(response) {
111
125
  if (!trimmed.startsWith('data: ')) {
112
126
  continue;
113
127
  }
128
+ let payload;
114
129
  try {
115
- const delta = getChoiceDelta(JSON.parse(trimmed.slice(6)));
116
- if (!delta) {
117
- continue;
118
- }
119
- if (typeof delta.content === 'string' && delta.content) {
120
- yield { type: 'content', content: delta.content };
121
- }
122
- if (Array.isArray(delta.tool_calls)) {
123
- for (const toolCall of delta.tool_calls) {
124
- const parsedDelta = parseToolCallDelta(toolCall);
125
- if (parsedDelta) {
126
- applyToolCallDelta(toolCallsInProgress, parsedDelta);
127
- }
128
- }
129
- }
130
+ payload = JSON.parse(trimmed.slice(6));
130
131
  }
131
132
  catch {
132
133
  // Ignore malformed SSE payloads and keep the stream alive.
134
+ continue;
135
+ }
136
+ const providerError = pluginStreamError(payload);
137
+ if (providerError) {
138
+ throw new Error(`Plugin API error: ${providerError}`);
139
+ }
140
+ const usage = parseOpenAIUsage(payload.usage);
141
+ if (usage) {
142
+ yield { type: 'usage', usage };
143
+ }
144
+ const delta = getChoiceDelta(payload);
145
+ if (!delta) {
146
+ continue;
133
147
  }
148
+ const reasoning = typeof delta.reasoning_content === 'string'
149
+ ? delta.reasoning_content
150
+ : typeof delta.reasoning === 'string'
151
+ ? delta.reasoning
152
+ : '';
153
+ if (reasoning) {
154
+ reasoningContent += reasoning;
155
+ yield { type: 'reasoning', content: reasoning };
156
+ }
157
+ if (typeof delta.content === 'string' && delta.content) {
158
+ yield { type: 'content', content: delta.content };
159
+ }
160
+ if (Array.isArray(delta.tool_calls)) {
161
+ for (const toolCall of delta.tool_calls) {
162
+ const parsedDelta = parseToolCallDelta(toolCall);
163
+ if (parsedDelta) {
164
+ applyToolCallDelta(toolCallsInProgress, parsedDelta);
165
+ }
166
+ }
167
+ }
168
+ }
169
+ }
170
+ if (!completed) {
171
+ for (const toolCall of completedToolCalls()) {
172
+ yield { type: 'tool_call', toolCall };
134
173
  }
174
+ yield { type: 'done' };
135
175
  }
136
176
  }
137
177
  finally {
138
178
  reader.releaseLock();
139
179
  }
140
180
  }
181
+ function pluginStreamError(payload) {
182
+ const error = payload.error && typeof payload.error === 'object'
183
+ ? payload.error
184
+ : undefined;
185
+ const message = typeof error?.message === 'string'
186
+ ? error.message
187
+ : typeof payload.error === 'string'
188
+ ? payload.error
189
+ : typeof payload.message === 'string' &&
190
+ (payload.type === 'error' || payload.status === 'error')
191
+ ? payload.message
192
+ : undefined;
193
+ return message?.slice(0, 500);
194
+ }
195
+ function parseOpenAIUsage(value) {
196
+ if (!value || typeof value !== 'object')
197
+ return undefined;
198
+ const usage = value;
199
+ const promptTokens = typeof usage.prompt_tokens === 'number' ? usage.prompt_tokens : undefined;
200
+ const completionTokens = typeof usage.completion_tokens === 'number'
201
+ ? usage.completion_tokens
202
+ : undefined;
203
+ const totalTokens = typeof usage.total_tokens === 'number' ? usage.total_tokens : undefined;
204
+ return promptTokens !== undefined ||
205
+ completionTokens !== undefined ||
206
+ totalTokens !== undefined
207
+ ? { promptTokens, completionTokens, totalTokens }
208
+ : undefined;
209
+ }
141
210
  function getAnthropicEventType(payload) {
142
211
  if (!payload || typeof payload !== 'object') {
143
212
  return null;
@@ -156,8 +225,37 @@ export async function* streamAnthropicResponse(response) {
156
225
  const reader = response.body.getReader();
157
226
  const decoder = new TextDecoder();
158
227
  const toolCallsInProgress = new Map();
228
+ const thinkingBlocks = new Map();
159
229
  let buffer = '';
160
230
  let completed = false;
231
+ let attachedThinking = false;
232
+ let inputTokens;
233
+ let outputTokens;
234
+ const attachThinking = (toolCall) => {
235
+ if (attachedThinking || thinkingBlocks.size === 0)
236
+ return toolCall;
237
+ attachedThinking = true;
238
+ return {
239
+ ...toolCall,
240
+ providerMetadata: {
241
+ ...toolCall.providerMetadata,
242
+ anthropicThinkingBlocks: [...thinkingBlocks.values()],
243
+ },
244
+ };
245
+ };
246
+ const usageChunk = () => {
247
+ if (inputTokens === undefined && outputTokens === undefined) {
248
+ return undefined;
249
+ }
250
+ return {
251
+ type: 'usage',
252
+ usage: {
253
+ promptTokens: inputTokens,
254
+ completionTokens: outputTokens,
255
+ totalTokens: (inputTokens || 0) + (outputTokens || 0),
256
+ },
257
+ };
258
+ };
161
259
  try {
162
260
  while (true) {
163
261
  const { done, value } = await reader.read();
@@ -181,6 +279,33 @@ export async function* streamAnthropicResponse(response) {
181
279
  continue;
182
280
  }
183
281
  const eventType = getAnthropicEventType(payload);
282
+ if (eventType === 'message_start') {
283
+ const message = payload.message && typeof payload.message === 'object'
284
+ ? payload.message
285
+ : undefined;
286
+ const usage = message?.usage && typeof message.usage === 'object'
287
+ ? message.usage
288
+ : undefined;
289
+ if (typeof usage?.input_tokens === 'number') {
290
+ inputTokens = usage.input_tokens;
291
+ const chunk = usageChunk();
292
+ if (chunk)
293
+ yield chunk;
294
+ }
295
+ continue;
296
+ }
297
+ if (eventType === 'message_delta') {
298
+ const usage = payload.usage && typeof payload.usage === 'object'
299
+ ? payload.usage
300
+ : undefined;
301
+ if (typeof usage?.output_tokens === 'number') {
302
+ outputTokens = usage.output_tokens;
303
+ const chunk = usageChunk();
304
+ if (chunk)
305
+ yield chunk;
306
+ }
307
+ continue;
308
+ }
184
309
  if (eventType === 'content_block_start') {
185
310
  const index = typeof payload.index === 'number' ? payload.index : undefined;
186
311
  const contentBlock = payload.content_block && typeof payload.content_block === 'object'
@@ -196,6 +321,11 @@ export async function* streamAnthropicResponse(response) {
196
321
  arguments: '',
197
322
  });
198
323
  }
324
+ else if (index !== undefined &&
325
+ (contentBlock?.type === 'thinking' ||
326
+ contentBlock?.type === 'redacted_thinking')) {
327
+ thinkingBlocks.set(index, { ...contentBlock });
328
+ }
199
329
  continue;
200
330
  }
201
331
  if (eventType === 'content_block_delta') {
@@ -208,6 +338,25 @@ export async function* streamAnthropicResponse(response) {
208
338
  delta.text) {
209
339
  yield { type: 'content', content: delta.text };
210
340
  }
341
+ else if (index !== undefined &&
342
+ delta?.type === 'thinking_delta' &&
343
+ typeof delta.thinking === 'string') {
344
+ const block = thinkingBlocks.get(index);
345
+ if (block) {
346
+ block.thinking = `${typeof block.thinking === 'string' ? block.thinking : ''}${delta.thinking}`;
347
+ }
348
+ if (delta.thinking) {
349
+ yield { type: 'reasoning', content: delta.thinking };
350
+ }
351
+ }
352
+ else if (index !== undefined &&
353
+ delta?.type === 'signature_delta' &&
354
+ typeof delta.signature === 'string') {
355
+ const block = thinkingBlocks.get(index);
356
+ if (block) {
357
+ block.signature = `${typeof block.signature === 'string' ? block.signature : ''}${delta.signature}`;
358
+ }
359
+ }
211
360
  else if (index !== undefined &&
212
361
  delta?.type === 'input_json_delta' &&
213
362
  typeof delta.partial_json === 'string') {
@@ -223,7 +372,7 @@ export async function* streamAnthropicResponse(response) {
223
372
  const toolCall = index === undefined ? undefined : toolCallsInProgress.get(index);
224
373
  if (index !== undefined && toolCall) {
225
374
  toolCallsInProgress.delete(index);
226
- yield { type: 'tool_call', toolCall };
375
+ yield { type: 'tool_call', toolCall: attachThinking(toolCall) };
227
376
  }
228
377
  continue;
229
378
  }
@@ -238,7 +387,7 @@ export async function* streamAnthropicResponse(response) {
238
387
  }
239
388
  if (eventType === 'message_stop') {
240
389
  for (const toolCall of toolCallsInProgress.values()) {
241
- yield { type: 'tool_call', toolCall };
390
+ yield { type: 'tool_call', toolCall: attachThinking(toolCall) };
242
391
  }
243
392
  toolCallsInProgress.clear();
244
393
  completed = true;
@@ -248,7 +397,7 @@ export async function* streamAnthropicResponse(response) {
248
397
  }
249
398
  if (!completed) {
250
399
  for (const toolCall of toolCallsInProgress.values()) {
251
- yield { type: 'tool_call', toolCall };
400
+ yield { type: 'tool_call', toolCall: attachThinking(toolCall) };
252
401
  }
253
402
  yield { type: 'done' };
254
403
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pluginStreamAdapter.js","sourceRoot":"","sources":["../../src/utils/pluginStreamAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginStreamAdapter.js","sourceRoot":"","sources":["../../src/utils/pluginStreamAdapter.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,19 @@ export interface PluginStreamToolCall {
7
7
  export type PluginStreamChunk = {
8
8
  type: 'content';
9
9
  content?: string;
10
+ } | {
11
+ type: 'reasoning';
12
+ content?: string;
10
13
  } | {
11
14
  type: 'tool_call';
12
15
  toolCall?: PluginStreamToolCall;
16
+ } | {
17
+ type: 'usage';
18
+ usage?: {
19
+ promptTokens?: number;
20
+ completionTokens?: number;
21
+ totalTokens?: number;
22
+ };
13
23
  } | {
14
24
  type: 'done';
15
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pluginStreaming.d.ts","sourceRoot":"","sources":["../../src/utils/pluginStreaming.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,aAAa,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,oBAAoB,EAAE,GACzC,MAAM,CAaR;AAED,wBAAsB,oBAAoB,CAAC,EACzC,EAAE,EACF,MAAM,EACN,SAAS,EACT,gBAAuB,GACxB,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAwF/C"}
1
+ {"version":3,"file":"pluginStreaming.d.ts","sourceRoot":"","sources":["../../src/utils/pluginStreaming.ts"],"names":[],"mappings":"AAkBA,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GACzB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,aAAa,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAID,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,oBAAoB,EAAE,GACzC,MAAM,CAaR;AAED,wBAAsB,oBAAoB,CAAC,EACzC,EAAE,EACF,MAAM,EACN,SAAS,EACT,gBAAuB,GACxB,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAwF/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"pluginStreaming.js","sourceRoot":"","sources":["../../src/utils/pluginStreaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginStreaming.js","sourceRoot":"","sources":["../../src/utils/pluginStreaming.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libre-webui-backend",
3
- "version": "0.14.2",
3
+ "version": "0.15.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "description": "Backend API for Libre WebUI",
package/electron/main.js CHANGED
@@ -9,7 +9,15 @@
9
9
  * http://www.apache.org/licenses/LICENSE-2.0
10
10
  */
11
11
 
12
- const { app, BrowserWindow, shell, Menu, dialog, nativeTheme, nativeImage } = require('electron');
12
+ const {
13
+ app,
14
+ BrowserWindow,
15
+ shell,
16
+ Menu,
17
+ dialog,
18
+ nativeTheme,
19
+ nativeImage,
20
+ } = require('electron');
13
21
  const path = require('path');
14
22
  const http = require('http');
15
23
  const { spawn } = require('child_process');
@@ -109,7 +117,14 @@ function createMainWindow() {
109
117
 
110
118
  // Handle external links
111
119
  mainWindow.webContents.setWindowOpenHandler(({ url }) => {
112
- shell.openExternal(url);
120
+ try {
121
+ const target = new URL(url);
122
+ if (target.protocol === 'http:' || target.protocol === 'https:') {
123
+ shell.openExternal(target.toString());
124
+ }
125
+ } catch {
126
+ // Refuse malformed and non-web schemes.
127
+ }
113
128
  return { action: 'deny' };
114
129
  });
115
130
 
@@ -132,8 +147,8 @@ function createMainWindow() {
132
147
 
133
148
  // Check if backend is running
134
149
  async function checkBackend() {
135
- return new Promise((resolve) => {
136
- const req = http.get(`http://localhost:${BACKEND_PORT}/api/health`, (res) => {
150
+ return new Promise(resolve => {
151
+ const req = http.get(`http://localhost:${BACKEND_PORT}/api/health`, res => {
137
152
  resolve(res.statusCode === 200);
138
153
  });
139
154
  req.on('error', () => resolve(false));
@@ -250,12 +265,16 @@ function createMenu() {
250
265
  },
251
266
  {
252
267
  label: 'GitHub',
253
- click: () => shell.openExternal('https://github.com/libre-webui/libre-webui'),
268
+ click: () =>
269
+ shell.openExternal('https://github.com/libre-webui/libre-webui'),
254
270
  },
255
271
  { type: 'separator' },
256
272
  {
257
273
  label: 'Report Issue',
258
- click: () => shell.openExternal('https://github.com/libre-webui/libre-webui/issues'),
274
+ click: () =>
275
+ shell.openExternal(
276
+ 'https://github.com/libre-webui/libre-webui/issues'
277
+ ),
259
278
  },
260
279
  ],
261
280
  },
@@ -276,7 +295,9 @@ async function main() {
276
295
  if (backendAvailable) {
277
296
  console.log('Backend server detected on port', BACKEND_PORT);
278
297
  } else {
279
- console.log('Backend not detected - please start it manually with: npm run dev:backend');
298
+ console.log(
299
+ 'Backend not detected - please start it manually with: npm run dev:backend'
300
+ );
280
301
  // Disabled auto-start in Terminal for now
281
302
  // startBackendInTerminal();
282
303
  }
@@ -292,7 +313,7 @@ async function main() {
292
313
  // In production, load the built frontend
293
314
  const frontendPath = getResourcePath('frontend', 'dist', 'index.html');
294
315
  console.log('Loading frontend from:', frontendPath);
295
- window.loadFile(frontendPath).catch((err) => {
316
+ window.loadFile(frontendPath).catch(err => {
296
317
  console.error('Failed to load frontend:', err);
297
318
  dialog.showErrorBox('Load Error', `Could not load app: ${err.message}`);
298
319
  });
@@ -340,13 +361,15 @@ app.on('activate', () => {
340
361
  }
341
362
  });
342
363
 
343
-
344
364
  // Handle certificate errors for localhost
345
- app.on('certificate-error', (event, _webContents, url, _error, _certificate, callback) => {
346
- if (url.startsWith('https://localhost')) {
347
- event.preventDefault();
348
- callback(true);
349
- } else {
350
- callback(false);
365
+ app.on(
366
+ 'certificate-error',
367
+ (event, _webContents, url, _error, _certificate, callback) => {
368
+ if (url.startsWith('https://localhost')) {
369
+ event.preventDefault();
370
+ callback(true);
371
+ } else {
372
+ callback(false);
373
+ }
351
374
  }
352
- });
375
+ );