libre-webui 0.14.3 → 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.
- package/README.md +91 -23
- package/backend/dist/db.d.ts.map +1 -1
- package/backend/dist/db.js +84 -0
- package/backend/dist/db.js.map +1 -1
- package/backend/dist/index.d.ts.map +1 -1
- package/backend/dist/index.js +99 -35
- package/backend/dist/index.js.map +1 -1
- package/backend/dist/middleware/auth.d.ts.map +1 -1
- package/backend/dist/middleware/auth.js +27 -2
- package/backend/dist/middleware/auth.js.map +1 -1
- package/backend/dist/routes/plugins.d.ts.map +1 -1
- package/backend/dist/routes/plugins.js +1 -1
- package/backend/dist/routes/plugins.js.map +1 -1
- package/backend/dist/routes/users.d.ts.map +1 -1
- package/backend/dist/routes/users.js +40 -6
- package/backend/dist/routes/users.js.map +1 -1
- package/backend/dist/routes/work.d.ts +3 -0
- package/backend/dist/routes/work.d.ts.map +1 -0
- package/backend/dist/routes/work.js +604 -0
- package/backend/dist/routes/work.js.map +1 -0
- package/backend/dist/services/ollamaService.d.ts +7 -2
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +8 -8
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/dist/services/pluginService.d.ts.map +1 -1
- package/backend/dist/services/pluginService.js +8 -9
- 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 +1 -0
- package/backend/dist/services/preferencesService.js.map +1 -1
- package/backend/dist/services/workAgentGuidance.d.ts +23 -0
- package/backend/dist/services/workAgentGuidance.d.ts.map +1 -0
- package/backend/dist/services/workAgentGuidance.js +129 -0
- package/backend/dist/services/workAgentGuidance.js.map +1 -0
- package/backend/dist/services/workAgentService.d.ts +33 -0
- package/backend/dist/services/workAgentService.d.ts.map +1 -0
- package/backend/dist/services/workAgentService.js +880 -0
- package/backend/dist/services/workAgentService.js.map +1 -0
- package/backend/dist/services/workEventService.d.ts +40 -0
- package/backend/dist/services/workEventService.d.ts.map +1 -0
- package/backend/dist/services/workEventService.js +324 -0
- package/backend/dist/services/workEventService.js.map +1 -0
- package/backend/dist/services/workModelProviderService.d.ts +49 -0
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -0
- package/backend/dist/services/workModelProviderService.js +916 -0
- package/backend/dist/services/workModelProviderService.js.map +1 -0
- package/backend/dist/services/workRuntimeService.d.ts +143 -0
- package/backend/dist/services/workRuntimeService.d.ts.map +1 -0
- package/backend/dist/services/workRuntimeService.js +1860 -0
- package/backend/dist/services/workRuntimeService.js.map +1 -0
- package/backend/dist/services/workTaskService.d.ts +96 -0
- package/backend/dist/services/workTaskService.d.ts.map +1 -0
- package/backend/dist/services/workTaskService.js +718 -0
- package/backend/dist/services/workTaskService.js.map +1 -0
- package/backend/dist/types/index.d.ts +3 -0
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/types/work.d.ts +209 -0
- package/backend/dist/types/work.d.ts.map +1 -0
- package/backend/dist/types/work.js +18 -0
- package/backend/dist/types/work.js.map +1 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts +9 -0
- package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginChatAdapter.js +32 -6
- package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
- package/backend/dist/utils/pluginStreamAdapter.d.ts +12 -0
- package/backend/dist/utils/pluginStreamAdapter.d.ts.map +1 -1
- package/backend/dist/utils/pluginStreamAdapter.js +168 -19
- 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/package.json +1 -1
- package/electron/main.js +39 -16
- package/frontend/dist/assets/index-Bv-twCuY.css +1 -0
- package/frontend/dist/assets/index-uCHBH_PM.js +5 -0
- package/frontend/dist/index.html +5 -4
- package/frontend/dist/js/{ArtifactContainer-CuvIIoHC.js → ArtifactContainer-CXfmVx8T.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-DI0QzAee.js → ArtifactDemoPage-B1_AuMd2.js} +1 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-C0eTguNL.js +1 -0
- package/frontend/dist/js/ChatPage-1bK0gDBy.js +16 -0
- package/frontend/dist/js/FirstTimeSetup-DOoZUaRs.js +1 -0
- package/frontend/dist/js/GalleryPage-6WwyH3kt.js +1 -0
- package/frontend/dist/js/LibreClawPage-ChHVfPLb.js +1 -0
- package/frontend/dist/js/{ModelManagerModals-DfgizeSq.js → ModelManagerModals-DneqFQJC.js} +1 -1
- package/frontend/dist/js/ModelsPage-Dw6wdiMt.js +2 -0
- package/frontend/dist/js/PersonasPage-BxdI2e1-.js +13 -0
- package/frontend/dist/js/RichMessageContent-WQLdJ5jq.js +3 -0
- package/frontend/dist/js/SettingsModal-C-cK6TNb.js +1 -0
- package/frontend/dist/js/UserManagementPage-DqjNXPkf.js +1 -0
- package/frontend/dist/js/WorkPage-MGR3odo6.js +2 -0
- package/frontend/dist/js/api-DD5qhhLf.js +19 -0
- package/frontend/dist/js/{ar-UnnZB1Qy.js → ar-CCVY0-7X.js} +2 -2
- package/frontend/dist/js/babel-BnLuavNv.js +16 -0
- package/frontend/dist/js/{bn-uZXaDyeV.js → bn-CoU5CSph.js} +2 -2
- package/frontend/dist/js/{cs-CCXlnUEB.js → cs-CR6pjIbG.js} +2 -2
- package/frontend/dist/js/{da--BpVVGPp.js → da-CkyYITRz.js} +2 -2
- package/frontend/dist/js/{de-DZd9lsBc.js → de-DwNANzB-.js} +2 -2
- package/frontend/dist/js/{es-Bm968oUX.js → es-TxygiaVQ.js} +2 -2
- package/frontend/dist/js/estree-DPzMpjFm.js +44 -0
- package/frontend/dist/js/{fr-RlC0rD8I.js → fr-DvEqVpZr.js} +2 -2
- package/frontend/dist/js/{hi-C6kwkL7d.js → hi-CyrWkyh7.js} +2 -2
- package/frontend/dist/js/html-R50jmBYq.js +25 -0
- package/frontend/dist/js/{id-CDfqnnXS.js → id-PJjIGHGM.js} +2 -2
- package/frontend/dist/js/{is-Dnd_7Jqv.js → is-ChXcN1tI.js} +2 -2
- package/frontend/dist/js/{it-BM0j6_Sz.js → it-DsgM8-MJ.js} +2 -2
- package/frontend/dist/js/{ja-xGblKDDf.js → ja-ivtt80N2.js} +2 -2
- package/frontend/dist/js/{ko-CQ2d_Oj0.js → ko-B8l_Ice1.js} +2 -2
- package/frontend/dist/js/markdown-C08x2H-K.js +70 -0
- package/frontend/dist/js/{ms-CFpRuv_a.js → ms-DoUBI6Qi.js} +2 -2
- package/frontend/dist/js/{nl-D6oTztmP.js → nl-DsX5Hj8m.js} +2 -2
- package/frontend/dist/js/{pl-ByuvABul.js → pl-Db_NKL4x.js} +2 -2
- package/frontend/dist/js/postcss-DSDkwgFE.js +62 -0
- package/frontend/dist/js/{pt-CNFV21T7.js → pt-CpzBhb5J.js} +2 -2
- package/frontend/dist/js/router-vendor-BjDI9mRe.js +1 -0
- package/frontend/dist/js/{ru-CRsSOntz.js → ru-DCXvJyXJ.js} +2 -2
- package/frontend/dist/js/standalone-DpMZUvjd.js +29 -0
- package/frontend/dist/js/{sv-BRkwjyS5.js → sv-DcVoybc7.js} +2 -2
- package/frontend/dist/js/{th-DigqsQEB.js → th-D0G7HyQn.js} +2 -2
- package/frontend/dist/js/{tr-B5aMUMJE.js → tr-CMDOh4Aq.js} +2 -2
- package/frontend/dist/js/typescript-B6y_hxBm.js +22 -0
- package/frontend/dist/js/ui-vendor-DUqvZsfs.js +177 -0
- package/frontend/dist/js/{uk-BUYi3llT.js → uk-D2MMa6LP.js} +2 -2
- package/frontend/dist/js/useBaseQuery-Duml3DYp.js +1 -0
- package/frontend/dist/js/useQuery-C0lZwNoc.js +1 -0
- package/frontend/dist/js/{vi-hQIcXi3m.js → vi-B8uHT8yh.js} +2 -2
- package/frontend/dist/js/yaml-mLy9chOK.js +154 -0
- package/frontend/dist/js/{zh-CUDZ3JDv.js → zh-CNqa_15K.js} +2 -2
- package/package.json +3 -2
- package/plugins/kimi-code.json +6 -37
- package/frontend/dist/assets/index-BKzwVaAM.js +0 -16
- package/frontend/dist/assets/index-BPvF-fpc.css +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-BzBemzHy.js +0 -1
- package/frontend/dist/js/ChatPage-DqpXctC2.js +0 -16
- package/frontend/dist/js/FirstTimeSetup-DRWeCsVI.js +0 -1
- package/frontend/dist/js/GalleryPage-CgD8fVx0.js +0 -1
- package/frontend/dist/js/LibreClawPage-B_Yon2fQ.js +0 -1
- package/frontend/dist/js/ModelsPage-CAKQ7J-b.js +0 -2
- package/frontend/dist/js/PersonasPage-Dj6Bka4I.js +0 -13
- package/frontend/dist/js/RichMessageContent-DP7XoxIa.js +0 -3
- package/frontend/dist/js/SettingsModal-BFyYhZYE.js +0 -1
- package/frontend/dist/js/UserManagementPage-CGMnhZr1.js +0 -1
- package/frontend/dist/js/router-vendor-Bbvzv1ZC.js +0 -1
- package/frontend/dist/js/ui-vendor-CurEAeCe.js +0 -177
- package/frontend/dist/js/useBaseQuery-B1on3xcz.js +0 -1
- package/frontend/dist/js/useQuery-CXvo2RBT.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
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;GAeG;AA+BH,SAAS,cAAc,CAAC,OAAgB;IACtC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAI,OAAmC,CAAC,OAAO,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAI,WAAuC,CAAC,KAAK,CAAC;IAC7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAiB;IAC3C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,cAAc,GAAG,QAAmC,CAAC;IAC3D,MAAM,cAAc,GAClB,cAAc,CAAC,QAAQ,IAAI,OAAO,cAAc,CAAC,QAAQ,KAAK,QAAQ;QACpE,CAAC,CAAE,cAAc,CAAC,QAAoC;QACtD,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,KAAK,EAAE,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1E,EAAE,EAAE,OAAO,cAAc,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;QACzE,QAAQ,EAAE,cAAc;YACtB,CAAC,CAAC;gBACE,IAAI,EACF,OAAO,cAAc,CAAC,IAAI,KAAK,QAAQ;oBACrC,CAAC,CAAC,cAAc,CAAC,IAAI;oBACrB,CAAC,CAAC,SAAS;gBACf,SAAS,EACP,OAAO,cAAc,CAAC,SAAS,KAAK,QAAQ;oBAC1C,CAAC,CAAC,cAAc,CAAC,SAAS;oBAC1B,CAAC,CAAC,SAAS;aAChB;YACH,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,mBAAgD,EAChD,KAAoB;IAEpB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;YACnC,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;SACd,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;QACb,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;QAC9B,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,8BAA8B,CACnD,QAA2C;IAE3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,kBAAkB,GAAG,GAAqB,EAAE;QAChD,MAAM,KAAK,GAAG,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,IAAI,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG;gBAC1B,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB;gBAC5B,sBAAsB,EAAE,gBAAgB;aACzC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;oBAC3C,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;wBAC/B,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,EAAE,CAAC;4BAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;wBACxC,CAAC;wBACD,mBAAmB,CAAC,KAAK,EAAE,CAAC;wBAC5B,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oBACzB,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClC,SAAS;gBACX,CAAC;gBAED,IAAI,OAAgC,CAAC;gBACrC,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAA4B,CAAC;gBACpE,CAAC;gBAAC,MAAM,CAAC;oBACP,2DAA2D;oBAC3D,SAAS;gBACX,CAAC;gBACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,aAAa,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,aAAa,EAAE,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9C,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;gBACjC,CAAC;gBACD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,SAAS;gBACX,CAAC;gBAED,MAAM,SAAS,GACb,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;oBACzC,CAAC,CAAC,KAAK,CAAC,iBAAiB;oBACzB,CAAC,CAAC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;wBACnC,CAAC,CAAC,KAAK,CAAC,SAAS;wBACjB,CAAC,CAAC,EAAE,CAAC;gBACX,IAAI,SAAS,EAAE,CAAC;oBACd,gBAAgB,IAAI,SAAS,CAAC;oBAC9B,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;gBAClD,CAAC;gBAED,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBACvD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBACpD,CAAC;gBAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;wBACjD,IAAI,WAAW,EAAE,CAAC;4BAChB,kBAAkB,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,EAAE,CAAC;gBAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,OAAgC;IAEhC,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QAChD,CAAC,CAAE,OAAO,CAAC,KAAiC;QAC5C,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GACX,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;QAChC,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YACjC,CAAC,CAAC,OAAO,CAAC,KAAK;YACf,CAAC,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACjC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC;gBAC1D,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAgC,CAAC;IAC/C,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,MAAM,gBAAgB,GACpB,OAAO,KAAK,CAAC,iBAAiB,KAAK,QAAQ;QACzC,CAAC,CAAC,KAAK,CAAC,iBAAiB;QACzB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,WAAW,GACf,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1E,OAAO,YAAY,KAAK,SAAS;QAC/B,gBAAgB,KAAK,SAAS;QAC9B,WAAW,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE;QACjD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAI,OAAmC,CAAC,IAAI,CAAC;IACvD,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,uBAAuB,CAC5C,QAA2C;IAE3C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACpE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAmC,CAAC;IAClE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,WAA+B,CAAC;IACpC,IAAI,YAAgC,CAAC;IAErC,MAAM,cAAc,GAAG,CAAC,QAAwB,EAAkB,EAAE;QAClE,IAAI,gBAAgB,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACnE,gBAAgB,GAAG,IAAI,CAAC;QACxB,OAAO;YACL,GAAG,QAAQ;YACX,gBAAgB,EAAE;gBAChB,GAAG,QAAQ,CAAC,gBAAgB;gBAC5B,uBAAuB,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC;aACtD;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAkC,EAAE;QACrD,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,YAAY,EAAE,WAAW;gBACzB,gBAAgB,EAAE,YAAY;gBAC9B,WAAW,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;aACtD;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAEhB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,SAAS;gBACX,CAAC;gBAED,IAAI,OAAgC,CAAC;gBACrC,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAG3C,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,iEAAiE;oBACjE,8CAA8C;oBAC9C,SAAS;gBACX,CAAC;gBAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,MAAM,OAAO,GACX,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;wBACpD,CAAC,CAAE,OAAO,CAAC,OAAmC;wBAC9C,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,KAAK,GACT,OAAO,EAAE,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;wBACjD,CAAC,CAAE,OAAO,CAAC,KAAiC;wBAC5C,CAAC,CAAC,SAAS,CAAC;oBAChB,IAAI,OAAO,KAAK,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;wBAC5C,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC;wBACjC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;wBAC3B,IAAI,KAAK;4BAAE,MAAM,KAAK,CAAC;oBACzB,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAClC,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;wBAChD,CAAC,CAAE,OAAO,CAAC,KAAiC;wBAC5C,CAAC,CAAC,SAAS,CAAC;oBAChB,IAAI,OAAO,KAAK,EAAE,aAAa,KAAK,QAAQ,EAAE,CAAC;wBAC7C,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC;wBACnC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;wBAC3B,IAAI,KAAK;4BAAE,MAAM,KAAK,CAAC;oBACzB,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;oBACxC,MAAM,KAAK,GACT,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAChE,MAAM,YAAY,GAChB,OAAO,CAAC,aAAa,IAAI,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;wBAChE,CAAC,CAAE,OAAO,CAAC,aAAyC;wBACpD,CAAC,CAAC,SAAS,CAAC;oBAEhB,IACE,KAAK,KAAK,SAAS;wBACnB,YAAY,EAAE,IAAI,KAAK,UAAU;wBACjC,OAAO,YAAY,CAAC,EAAE,KAAK,QAAQ;wBACnC,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,EACrC,CAAC;wBACD,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE;4BAC7B,EAAE,EAAE,YAAY,CAAC,EAAE;4BACnB,IAAI,EAAE,YAAY,CAAC,IAAI;4BACvB,SAAS,EAAE,EAAE;yBACd,CAAC,CAAC;oBACL,CAAC;yBAAM,IACL,KAAK,KAAK,SAAS;wBACnB,CAAC,YAAY,EAAE,IAAI,KAAK,UAAU;4BAChC,YAAY,EAAE,IAAI,KAAK,mBAAmB,CAAC,EAC7C,CAAC;wBACD,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;oBACjD,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,SAAS,KAAK,qBAAqB,EAAE,CAAC;oBACxC,MAAM,KAAK,GACT,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAChE,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;wBAChD,CAAC,CAAE,OAAO,CAAC,KAAiC;wBAC5C,CAAC,CAAC,SAAS,CAAC;oBAEhB,IACE,KAAK,EAAE,IAAI,KAAK,YAAY;wBAC5B,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;wBAC9B,KAAK,CAAC,IAAI,EACV,CAAC;wBACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;oBACjD,CAAC;yBAAM,IACL,KAAK,KAAK,SAAS;wBACnB,KAAK,EAAE,IAAI,KAAK,gBAAgB;wBAChC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAClC,CAAC;wBACD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACxC,IAAI,KAAK,EAAE,CAAC;4BACV,KAAK,CAAC,QAAQ,GAAG,GAAG,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAClG,CAAC;wBACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACnB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACvD,CAAC;oBACH,CAAC;yBAAM,IACL,KAAK,KAAK,SAAS;wBACnB,KAAK,EAAE,IAAI,KAAK,iBAAiB;wBACjC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EACnC,CAAC;wBACD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACxC,IAAI,KAAK,EAAE,CAAC;4BACV,KAAK,CAAC,SAAS,GAAG,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;wBACtG,CAAC;oBACH,CAAC;yBAAM,IACL,KAAK,KAAK,SAAS;wBACnB,KAAK,EAAE,IAAI,KAAK,kBAAkB;wBAClC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EACtC,CAAC;wBACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAChD,IAAI,QAAQ,EAAE,CAAC;4BACb,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC;wBAC3C,CAAC;oBACH,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;oBACvC,MAAM,KAAK,GACT,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;oBAChE,MAAM,QAAQ,GACZ,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnE,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;wBACpC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAClC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClE,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,KAAK,GACT,OAAO,CAAC,KAAK,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;wBAChD,CAAC,CAAE,OAAO,CAAC,KAAiC;wBAC5C,CAAC,CAAC,SAAS,CAAC;oBAChB,MAAM,OAAO,GACX,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ;wBAChC,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,CAAC,CAAC,2BAA2B,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBAClD,CAAC;gBAED,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;oBACjC,KAAK,MAAM,QAAQ,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;wBACpD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClE,CAAC;oBACD,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBAC5B,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,KAAK,MAAM,QAAQ,IAAI,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -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":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,cAAc,GAEf,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"pluginStreaming.js","sourceRoot":"","sources":["../../src/utils/pluginStreaming.ts"],"names":[],"mappings":"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"}
|
package/backend/package.json
CHANGED
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 {
|
|
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
|
-
|
|
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(
|
|
136
|
-
const req = http.get(`http://localhost:${BACKEND_PORT}/api/health`,
|
|
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: () =>
|
|
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: () =>
|
|
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(
|
|
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(
|
|
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(
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
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
|
+
);
|