koishi-plugin-chatluna 1.4.4 → 1.4.5
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/lib/index.cjs +25 -25
- package/lib/index.mjs +25 -25
- package/lib/llm-core/agent/index.cjs +12 -12
- package/lib/llm-core/agent/index.mjs +12 -12
- package/lib/llm-core/chain/base.cjs +14 -14
- package/lib/llm-core/chain/base.mjs +14 -14
- package/lib/llm-core/platform/model.cjs +7 -7
- package/lib/llm-core/platform/model.mjs +7 -7
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
|
@@ -1193,32 +1193,32 @@ var ChatLunaPluginChain = class _ChatLunaPluginChain extends import_base4.ChatLu
|
|
|
1193
1193
|
let error;
|
|
1194
1194
|
const request2 = /* @__PURE__ */ __name(() => {
|
|
1195
1195
|
const manager = import_manager.CallbackManager.configure(arg.callbacks) ?? new import_manager.CallbackManager();
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
await arg.events?.["llm-new-chunk"]?.(data);
|
|
1218
|
-
}
|
|
1196
|
+
const handler = import_manager.CallbackManager.fromHandlers({
|
|
1197
|
+
async handleLLMEnd(out) {
|
|
1198
|
+
usedToken += out.llmOutput?.usage_metadata?.total_tokens ?? 0;
|
|
1199
|
+
},
|
|
1200
|
+
async handleAgentAction(action) {
|
|
1201
|
+
await arg.events?.["llm-call-tool"]?.(
|
|
1202
|
+
action.tool,
|
|
1203
|
+
action.toolInput,
|
|
1204
|
+
action.content,
|
|
1205
|
+
action.log
|
|
1206
|
+
);
|
|
1207
|
+
},
|
|
1208
|
+
async handleToolEnd(out) {
|
|
1209
|
+
import_koishi_plugin_chatluna5.logger.debug("Tool end:", (0, import_string5.sanitizeToolLogValue)(out));
|
|
1210
|
+
},
|
|
1211
|
+
async handleLLMNewToken(token) {
|
|
1212
|
+
await arg.events?.["llm-new-token"]?.(token);
|
|
1213
|
+
},
|
|
1214
|
+
async handleCustomEvent(name2, data) {
|
|
1215
|
+
if (name2 === "LLMNewChunk") {
|
|
1216
|
+
await arg.events?.["llm-new-chunk"]?.(data);
|
|
1219
1217
|
}
|
|
1220
|
-
}
|
|
1221
|
-
);
|
|
1218
|
+
}
|
|
1219
|
+
}).handlers[0];
|
|
1220
|
+
handler.awaitHandlers = true;
|
|
1221
|
+
manager.addHandler(handler);
|
|
1222
1222
|
return runner.invoke(
|
|
1223
1223
|
{
|
|
1224
1224
|
...requests,
|
package/lib/index.mjs
CHANGED
|
@@ -1190,32 +1190,32 @@ var ChatLunaPluginChain = class _ChatLunaPluginChain extends ChatLunaLLMChainWra
|
|
|
1190
1190
|
let error;
|
|
1191
1191
|
const request2 = /* @__PURE__ */ __name(() => {
|
|
1192
1192
|
const manager = CallbackManager.configure(arg.callbacks) ?? new CallbackManager();
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
await arg.events?.["llm-new-chunk"]?.(data);
|
|
1215
|
-
}
|
|
1193
|
+
const handler = CallbackManager.fromHandlers({
|
|
1194
|
+
async handleLLMEnd(out) {
|
|
1195
|
+
usedToken += out.llmOutput?.usage_metadata?.total_tokens ?? 0;
|
|
1196
|
+
},
|
|
1197
|
+
async handleAgentAction(action) {
|
|
1198
|
+
await arg.events?.["llm-call-tool"]?.(
|
|
1199
|
+
action.tool,
|
|
1200
|
+
action.toolInput,
|
|
1201
|
+
action.content,
|
|
1202
|
+
action.log
|
|
1203
|
+
);
|
|
1204
|
+
},
|
|
1205
|
+
async handleToolEnd(out) {
|
|
1206
|
+
logger5.debug("Tool end:", sanitizeToolLogValue(out));
|
|
1207
|
+
},
|
|
1208
|
+
async handleLLMNewToken(token) {
|
|
1209
|
+
await arg.events?.["llm-new-token"]?.(token);
|
|
1210
|
+
},
|
|
1211
|
+
async handleCustomEvent(name2, data) {
|
|
1212
|
+
if (name2 === "LLMNewChunk") {
|
|
1213
|
+
await arg.events?.["llm-new-chunk"]?.(data);
|
|
1216
1214
|
}
|
|
1217
|
-
}
|
|
1218
|
-
);
|
|
1215
|
+
}
|
|
1216
|
+
}).handlers[0];
|
|
1217
|
+
handler.awaitHandlers = true;
|
|
1218
|
+
manager.addHandler(handler);
|
|
1219
1219
|
return runner.invoke(
|
|
1220
1220
|
{
|
|
1221
1221
|
...requests,
|
|
@@ -1697,6 +1697,17 @@ function createAgent(options) {
|
|
|
1697
1697
|
agentContext: ctx
|
|
1698
1698
|
}
|
|
1699
1699
|
});
|
|
1700
|
+
const streamCallbacks = import_manager.CallbackManager.fromHandlers({
|
|
1701
|
+
async handleLLMNewToken(token) {
|
|
1702
|
+
await input.onToken?.(token);
|
|
1703
|
+
},
|
|
1704
|
+
async handleCustomEvent(name2, data) {
|
|
1705
|
+
if (name2 === "LLMNewChunk") {
|
|
1706
|
+
await input.onChunk?.(data);
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
});
|
|
1710
|
+
streamCallbacks.handlers[0].awaitHandlers = true;
|
|
1700
1711
|
return await bound.invoke(
|
|
1701
1712
|
{
|
|
1702
1713
|
input: message,
|
|
@@ -1714,18 +1725,7 @@ function createAgent(options) {
|
|
|
1714
1725
|
signal: input.signal,
|
|
1715
1726
|
callbacks: import_manager.CallbackManager.configure(
|
|
1716
1727
|
input.callbacks,
|
|
1717
|
-
|
|
1718
|
-
async handleLLMNewToken(token) {
|
|
1719
|
-
await input.onToken?.(token);
|
|
1720
|
-
},
|
|
1721
|
-
async handleCustomEvent(name2, data) {
|
|
1722
|
-
if (name2 === "LLMNewChunk") {
|
|
1723
|
-
await input.onChunk?.(
|
|
1724
|
-
data
|
|
1725
|
-
);
|
|
1726
|
-
}
|
|
1727
|
-
}
|
|
1728
|
-
})
|
|
1728
|
+
streamCallbacks
|
|
1729
1729
|
),
|
|
1730
1730
|
metadata: { chatlunaAgent: ctx },
|
|
1731
1731
|
configurable: {
|
|
@@ -1687,6 +1687,17 @@ function createAgent(options) {
|
|
|
1687
1687
|
agentContext: ctx
|
|
1688
1688
|
}
|
|
1689
1689
|
});
|
|
1690
|
+
const streamCallbacks = CallbackManager.fromHandlers({
|
|
1691
|
+
async handleLLMNewToken(token) {
|
|
1692
|
+
await input.onToken?.(token);
|
|
1693
|
+
},
|
|
1694
|
+
async handleCustomEvent(name2, data) {
|
|
1695
|
+
if (name2 === "LLMNewChunk") {
|
|
1696
|
+
await input.onChunk?.(data);
|
|
1697
|
+
}
|
|
1698
|
+
}
|
|
1699
|
+
});
|
|
1700
|
+
streamCallbacks.handlers[0].awaitHandlers = true;
|
|
1690
1701
|
return await bound.invoke(
|
|
1691
1702
|
{
|
|
1692
1703
|
input: message,
|
|
@@ -1704,18 +1715,7 @@ function createAgent(options) {
|
|
|
1704
1715
|
signal: input.signal,
|
|
1705
1716
|
callbacks: CallbackManager.configure(
|
|
1706
1717
|
input.callbacks,
|
|
1707
|
-
|
|
1708
|
-
async handleLLMNewToken(token) {
|
|
1709
|
-
await input.onToken?.(token);
|
|
1710
|
-
},
|
|
1711
|
-
async handleCustomEvent(name2, data) {
|
|
1712
|
-
if (name2 === "LLMNewChunk") {
|
|
1713
|
-
await input.onChunk?.(
|
|
1714
|
-
data
|
|
1715
|
-
);
|
|
1716
|
-
}
|
|
1717
|
-
}
|
|
1718
|
-
})
|
|
1718
|
+
streamCallbacks
|
|
1719
1719
|
),
|
|
1720
1720
|
metadata: { chatlunaAgent: ctx },
|
|
1721
1721
|
configurable: {
|
|
@@ -242,21 +242,21 @@ var ChatLunaLLMChain = class extends BaseChain {
|
|
|
242
242
|
async function callChatLunaChain(chain, values, events, callbacks) {
|
|
243
243
|
let usedToken = 0;
|
|
244
244
|
const manager = import_manager.CallbackManager.configure(callbacks) ?? new import_manager.CallbackManager();
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
await events?.["llm-new-chunk"]?.(data);
|
|
256
|
-
}
|
|
245
|
+
const handler = import_manager.CallbackManager.fromHandlers({
|
|
246
|
+
async handleLLMNewToken(token) {
|
|
247
|
+
await events?.["llm-new-token"]?.(token);
|
|
248
|
+
},
|
|
249
|
+
async handleLLMEnd(output) {
|
|
250
|
+
usedToken += output.llmOutput?.usage_metadata?.total_tokens ?? 0;
|
|
251
|
+
},
|
|
252
|
+
async handleCustomEvent(eventName, data) {
|
|
253
|
+
if (eventName === "LLMNewChunk") {
|
|
254
|
+
await events?.["llm-new-chunk"]?.(data);
|
|
257
255
|
}
|
|
258
|
-
}
|
|
259
|
-
);
|
|
256
|
+
}
|
|
257
|
+
}).handlers[0];
|
|
258
|
+
handler.awaitHandlers = true;
|
|
259
|
+
manager.addHandler(handler);
|
|
260
260
|
const response = await chain.invoke(values, {
|
|
261
261
|
callbacks: manager
|
|
262
262
|
});
|
|
@@ -225,21 +225,21 @@ var ChatLunaLLMChain = class extends BaseChain {
|
|
|
225
225
|
async function callChatLunaChain(chain, values, events, callbacks) {
|
|
226
226
|
let usedToken = 0;
|
|
227
227
|
const manager = CallbackManager.configure(callbacks) ?? new CallbackManager();
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
await events?.["llm-new-chunk"]?.(data);
|
|
239
|
-
}
|
|
228
|
+
const handler = CallbackManager.fromHandlers({
|
|
229
|
+
async handleLLMNewToken(token) {
|
|
230
|
+
await events?.["llm-new-token"]?.(token);
|
|
231
|
+
},
|
|
232
|
+
async handleLLMEnd(output) {
|
|
233
|
+
usedToken += output.llmOutput?.usage_metadata?.total_tokens ?? 0;
|
|
234
|
+
},
|
|
235
|
+
async handleCustomEvent(eventName, data) {
|
|
236
|
+
if (eventName === "LLMNewChunk") {
|
|
237
|
+
await events?.["llm-new-chunk"]?.(data);
|
|
240
238
|
}
|
|
241
|
-
}
|
|
242
|
-
);
|
|
239
|
+
}
|
|
240
|
+
}).handlers[0];
|
|
241
|
+
handler.awaitHandlers = true;
|
|
242
|
+
manager.addHandler(handler);
|
|
243
243
|
const response = await chain.invoke(values, {
|
|
244
244
|
callbacks: manager
|
|
245
245
|
});
|
|
@@ -299,7 +299,7 @@ var ChatLunaChatModel = class extends import_chat_models.BaseChatModel {
|
|
|
299
299
|
try {
|
|
300
300
|
stream = this._createStream(streamParams);
|
|
301
301
|
for await (const chunk of stream) {
|
|
302
|
-
const hasTool = this._handleStreamChunk(
|
|
302
|
+
const hasTool = await this._handleStreamChunk(
|
|
303
303
|
chunk,
|
|
304
304
|
runManager,
|
|
305
305
|
latestTokenUsage
|
|
@@ -326,7 +326,7 @@ var ChatLunaChatModel = class extends import_chat_models.BaseChatModel {
|
|
|
326
326
|
)
|
|
327
327
|
);
|
|
328
328
|
}
|
|
329
|
-
this._finalizeStream(
|
|
329
|
+
await this._finalizeStream(
|
|
330
330
|
hasToolCallChunk,
|
|
331
331
|
latestTokenUsage,
|
|
332
332
|
runManager
|
|
@@ -385,15 +385,15 @@ var ChatLunaChatModel = class extends import_chat_models.BaseChatModel {
|
|
|
385
385
|
total_tokens: 0
|
|
386
386
|
};
|
|
387
387
|
}
|
|
388
|
-
_handleStreamChunk(chunk, runManager, latestTokenUsage) {
|
|
388
|
+
async _handleStreamChunk(chunk, runManager, latestTokenUsage) {
|
|
389
389
|
const chunkText = chunk.text ?? "";
|
|
390
390
|
if (chunkText) {
|
|
391
|
-
|
|
391
|
+
await runManager?.handleLLMNewToken(chunkText);
|
|
392
392
|
}
|
|
393
393
|
const message = chunk.message;
|
|
394
394
|
const hasToolCallChunk = this._hasToolCallChunk(message);
|
|
395
395
|
if (!hasToolCallChunk) {
|
|
396
|
-
|
|
396
|
+
await runManager?.handleCustomEvent("LLMNewChunk", message);
|
|
397
397
|
}
|
|
398
398
|
this._updateTokenUsageFromChunk(chunk, latestTokenUsage);
|
|
399
399
|
return hasToolCallChunk;
|
|
@@ -418,9 +418,9 @@ var ChatLunaChatModel = class extends import_chat_models.BaseChatModel {
|
|
|
418
418
|
latestTokenUsage.input_token_details = usage.input_token_details;
|
|
419
419
|
latestTokenUsage.output_token_details = usage.output_token_details;
|
|
420
420
|
}
|
|
421
|
-
_finalizeStream(hasToolCallChunk, latestTokenUsage, runManager) {
|
|
421
|
+
async _finalizeStream(hasToolCallChunk, latestTokenUsage, runManager) {
|
|
422
422
|
if (!hasToolCallChunk) {
|
|
423
|
-
|
|
423
|
+
await runManager?.handleCustomEvent("LLMNewChunk", void 0);
|
|
424
424
|
}
|
|
425
425
|
if (latestTokenUsage.total_tokens <= 0) {
|
|
426
426
|
return;
|
|
@@ -286,7 +286,7 @@ var ChatLunaChatModel = class extends BaseChatModel {
|
|
|
286
286
|
try {
|
|
287
287
|
stream = this._createStream(streamParams);
|
|
288
288
|
for await (const chunk of stream) {
|
|
289
|
-
const hasTool = this._handleStreamChunk(
|
|
289
|
+
const hasTool = await this._handleStreamChunk(
|
|
290
290
|
chunk,
|
|
291
291
|
runManager,
|
|
292
292
|
latestTokenUsage
|
|
@@ -313,7 +313,7 @@ var ChatLunaChatModel = class extends BaseChatModel {
|
|
|
313
313
|
)
|
|
314
314
|
);
|
|
315
315
|
}
|
|
316
|
-
this._finalizeStream(
|
|
316
|
+
await this._finalizeStream(
|
|
317
317
|
hasToolCallChunk,
|
|
318
318
|
latestTokenUsage,
|
|
319
319
|
runManager
|
|
@@ -372,15 +372,15 @@ var ChatLunaChatModel = class extends BaseChatModel {
|
|
|
372
372
|
total_tokens: 0
|
|
373
373
|
};
|
|
374
374
|
}
|
|
375
|
-
_handleStreamChunk(chunk, runManager, latestTokenUsage) {
|
|
375
|
+
async _handleStreamChunk(chunk, runManager, latestTokenUsage) {
|
|
376
376
|
const chunkText = chunk.text ?? "";
|
|
377
377
|
if (chunkText) {
|
|
378
|
-
|
|
378
|
+
await runManager?.handleLLMNewToken(chunkText);
|
|
379
379
|
}
|
|
380
380
|
const message = chunk.message;
|
|
381
381
|
const hasToolCallChunk = this._hasToolCallChunk(message);
|
|
382
382
|
if (!hasToolCallChunk) {
|
|
383
|
-
|
|
383
|
+
await runManager?.handleCustomEvent("LLMNewChunk", message);
|
|
384
384
|
}
|
|
385
385
|
this._updateTokenUsageFromChunk(chunk, latestTokenUsage);
|
|
386
386
|
return hasToolCallChunk;
|
|
@@ -405,9 +405,9 @@ var ChatLunaChatModel = class extends BaseChatModel {
|
|
|
405
405
|
latestTokenUsage.input_token_details = usage.input_token_details;
|
|
406
406
|
latestTokenUsage.output_token_details = usage.output_token_details;
|
|
407
407
|
}
|
|
408
|
-
_finalizeStream(hasToolCallChunk, latestTokenUsage, runManager) {
|
|
408
|
+
async _finalizeStream(hasToolCallChunk, latestTokenUsage, runManager) {
|
|
409
409
|
if (!hasToolCallChunk) {
|
|
410
|
-
|
|
410
|
+
await runManager?.handleCustomEvent("LLMNewChunk", void 0);
|
|
411
411
|
}
|
|
412
412
|
if (latestTokenUsage.total_tokens <= 0) {
|
|
413
413
|
return;
|