@livekit/agents 1.0.34 → 1.0.36
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/dist/cli.cjs.map +1 -1
- package/dist/inference/api_protos.d.cts +4 -4
- package/dist/inference/api_protos.d.ts +4 -4
- package/dist/inference/llm.cjs +30 -3
- package/dist/inference/llm.cjs.map +1 -1
- package/dist/inference/llm.d.cts +3 -1
- package/dist/inference/llm.d.ts +3 -1
- package/dist/inference/llm.d.ts.map +1 -1
- package/dist/inference/llm.js +30 -3
- package/dist/inference/llm.js.map +1 -1
- package/dist/ipc/inference_proc_executor.cjs.map +1 -1
- package/dist/ipc/job_proc_executor.cjs.map +1 -1
- package/dist/ipc/job_proc_lazy_main.cjs +1 -1
- package/dist/ipc/job_proc_lazy_main.cjs.map +1 -1
- package/dist/ipc/job_proc_lazy_main.js +1 -1
- package/dist/ipc/job_proc_lazy_main.js.map +1 -1
- package/dist/llm/chat_context.cjs +20 -2
- package/dist/llm/chat_context.cjs.map +1 -1
- package/dist/llm/chat_context.d.cts +9 -0
- package/dist/llm/chat_context.d.ts +9 -0
- package/dist/llm/chat_context.d.ts.map +1 -1
- package/dist/llm/chat_context.js +20 -2
- package/dist/llm/chat_context.js.map +1 -1
- package/dist/llm/llm.cjs.map +1 -1
- package/dist/llm/llm.d.cts +1 -0
- package/dist/llm/llm.d.ts +1 -0
- package/dist/llm/llm.d.ts.map +1 -1
- package/dist/llm/llm.js.map +1 -1
- package/dist/llm/provider_format/openai.cjs +43 -20
- package/dist/llm/provider_format/openai.cjs.map +1 -1
- package/dist/llm/provider_format/openai.d.ts.map +1 -1
- package/dist/llm/provider_format/openai.js +43 -20
- package/dist/llm/provider_format/openai.js.map +1 -1
- package/dist/llm/provider_format/openai.test.cjs +35 -0
- package/dist/llm/provider_format/openai.test.cjs.map +1 -1
- package/dist/llm/provider_format/openai.test.js +35 -0
- package/dist/llm/provider_format/openai.test.js.map +1 -1
- package/dist/llm/provider_format/utils.cjs +1 -1
- package/dist/llm/provider_format/utils.cjs.map +1 -1
- package/dist/llm/provider_format/utils.d.ts.map +1 -1
- package/dist/llm/provider_format/utils.js +1 -1
- package/dist/llm/provider_format/utils.js.map +1 -1
- package/dist/voice/agent_activity.cjs +19 -19
- package/dist/voice/agent_activity.cjs.map +1 -1
- package/dist/voice/agent_activity.d.ts.map +1 -1
- package/dist/voice/agent_activity.js +19 -19
- package/dist/voice/agent_activity.js.map +1 -1
- package/dist/voice/agent_session.cjs +64 -25
- package/dist/voice/agent_session.cjs.map +1 -1
- package/dist/voice/agent_session.d.cts +25 -1
- package/dist/voice/agent_session.d.ts +25 -1
- package/dist/voice/agent_session.d.ts.map +1 -1
- package/dist/voice/agent_session.js +64 -25
- package/dist/voice/agent_session.js.map +1 -1
- package/dist/voice/background_audio.cjs.map +1 -1
- package/dist/voice/generation.cjs +2 -1
- package/dist/voice/generation.cjs.map +1 -1
- package/dist/voice/generation.d.ts.map +1 -1
- package/dist/voice/generation.js +2 -1
- package/dist/voice/generation.js.map +1 -1
- package/dist/voice/index.cjs +14 -1
- package/dist/voice/index.cjs.map +1 -1
- package/dist/voice/index.d.cts +1 -0
- package/dist/voice/index.d.ts +1 -0
- package/dist/voice/index.d.ts.map +1 -1
- package/dist/voice/index.js +3 -1
- package/dist/voice/index.js.map +1 -1
- package/dist/voice/room_io/room_io.cjs +1 -0
- package/dist/voice/room_io/room_io.cjs.map +1 -1
- package/dist/voice/room_io/room_io.d.ts.map +1 -1
- package/dist/voice/room_io/room_io.js +1 -0
- package/dist/voice/room_io/room_io.js.map +1 -1
- package/dist/voice/speech_handle.cjs +12 -3
- package/dist/voice/speech_handle.cjs.map +1 -1
- package/dist/voice/speech_handle.d.cts +12 -2
- package/dist/voice/speech_handle.d.ts +12 -2
- package/dist/voice/speech_handle.d.ts.map +1 -1
- package/dist/voice/speech_handle.js +10 -2
- package/dist/voice/speech_handle.js.map +1 -1
- package/dist/voice/testing/index.cjs +52 -0
- package/dist/voice/testing/index.cjs.map +1 -0
- package/dist/voice/testing/index.d.cts +20 -0
- package/dist/voice/testing/index.d.ts +20 -0
- package/dist/voice/testing/index.d.ts.map +1 -0
- package/dist/voice/testing/index.js +31 -0
- package/dist/voice/testing/index.js.map +1 -0
- package/dist/voice/testing/run_result.cjs +477 -0
- package/dist/voice/testing/run_result.cjs.map +1 -0
- package/dist/voice/testing/run_result.d.cts +226 -0
- package/dist/voice/testing/run_result.d.ts +226 -0
- package/dist/voice/testing/run_result.d.ts.map +1 -0
- package/dist/voice/testing/run_result.js +451 -0
- package/dist/voice/testing/run_result.js.map +1 -0
- package/dist/voice/testing/types.cjs +46 -0
- package/dist/voice/testing/types.cjs.map +1 -0
- package/dist/voice/testing/types.d.cts +83 -0
- package/dist/voice/testing/types.d.ts +83 -0
- package/dist/voice/testing/types.d.ts.map +1 -0
- package/dist/voice/testing/types.js +19 -0
- package/dist/voice/testing/types.js.map +1 -0
- package/package.json +3 -3
- package/src/inference/llm.ts +42 -3
- package/src/ipc/job_proc_lazy_main.ts +1 -1
- package/src/llm/chat_context.ts +32 -2
- package/src/llm/llm.ts +1 -0
- package/src/llm/provider_format/openai.test.ts +40 -0
- package/src/llm/provider_format/openai.ts +46 -19
- package/src/llm/provider_format/utils.ts +5 -1
- package/src/voice/agent_activity.ts +24 -22
- package/src/voice/agent_session.ts +73 -28
- package/src/voice/generation.ts +1 -0
- package/src/voice/index.ts +1 -0
- package/src/voice/room_io/room_io.ts +1 -0
- package/src/voice/speech_handle.ts +24 -4
- package/src/voice/testing/index.ts +49 -0
- package/src/voice/testing/run_result.ts +576 -0
- package/src/voice/testing/types.ts +118 -0
|
@@ -971,10 +971,12 @@ ${instructions}` : instructions,
|
|
|
971
971
|
replyAbortController
|
|
972
972
|
);
|
|
973
973
|
tasks.push(llmTask);
|
|
974
|
-
const [ttsTextInput, llmOutput] = llmGenData.textStream.tee();
|
|
975
974
|
let ttsTask = null;
|
|
976
975
|
let ttsStream = null;
|
|
976
|
+
let llmOutput;
|
|
977
977
|
if (audioOutput) {
|
|
978
|
+
const [ttsTextInput, textOutput] = llmGenData.textStream.tee();
|
|
979
|
+
llmOutput = textOutput;
|
|
978
980
|
[ttsTask, ttsStream] = performTTSInference(
|
|
979
981
|
(...args) => this.agent.ttsNode(...args),
|
|
980
982
|
ttsTextInput,
|
|
@@ -982,6 +984,8 @@ ${instructions}` : instructions,
|
|
|
982
984
|
replyAbortController
|
|
983
985
|
);
|
|
984
986
|
tasks.push(ttsTask);
|
|
987
|
+
} else {
|
|
988
|
+
llmOutput = llmGenData.textStream;
|
|
985
989
|
}
|
|
986
990
|
await speechHandle.waitIfNotInterrupted([speechHandle._waitForScheduled()]);
|
|
987
991
|
if (newMessage && speechHandle.scheduled) {
|
|
@@ -1028,9 +1032,15 @@ ${instructions}` : instructions,
|
|
|
1028
1032
|
} else {
|
|
1029
1033
|
textOut == null ? void 0 : textOut.firstTextFut.await.finally(onFirstFrame);
|
|
1030
1034
|
}
|
|
1031
|
-
const onToolExecutionStarted = (
|
|
1035
|
+
const onToolExecutionStarted = (f) => {
|
|
1036
|
+
speechHandle._itemAdded([f]);
|
|
1037
|
+
this.agent._chatCtx.items.push(f);
|
|
1038
|
+
this.agentSession._toolItemsAdded([f]);
|
|
1032
1039
|
};
|
|
1033
|
-
const onToolExecutionCompleted = (
|
|
1040
|
+
const onToolExecutionCompleted = (out) => {
|
|
1041
|
+
if (out.toolCallOutput) {
|
|
1042
|
+
speechHandle._itemAdded([out.toolCallOutput]);
|
|
1043
|
+
}
|
|
1034
1044
|
};
|
|
1035
1045
|
const [executeToolsTask, toolOutput] = performToolExecutions({
|
|
1036
1046
|
session: this.agentSession,
|
|
@@ -1090,6 +1100,7 @@ ${instructions}` : instructions,
|
|
|
1090
1100
|
});
|
|
1091
1101
|
chatCtx.insert(message);
|
|
1092
1102
|
this.agent._chatCtx.insert(message);
|
|
1103
|
+
speechHandle._itemAdded([message]);
|
|
1093
1104
|
this.agentSession._conversationItemAdded(message);
|
|
1094
1105
|
}
|
|
1095
1106
|
if (this.agentSession.agentState === "speaking") {
|
|
@@ -1113,6 +1124,7 @@ ${instructions}` : instructions,
|
|
|
1113
1124
|
});
|
|
1114
1125
|
chatCtx.insert(message);
|
|
1115
1126
|
this.agent._chatCtx.insert(message);
|
|
1127
|
+
speechHandle._itemAdded([message]);
|
|
1116
1128
|
this.agentSession._conversationItemAdded(message);
|
|
1117
1129
|
this.logger.info(
|
|
1118
1130
|
{ speech_id: speechHandle.id, message: textOut.text },
|
|
@@ -1181,24 +1193,12 @@ ${instructions}` : instructions,
|
|
|
1181
1193
|
];
|
|
1182
1194
|
if (shouldGenerateToolReply) {
|
|
1183
1195
|
chatCtx.insert(toolMessages);
|
|
1184
|
-
|
|
1185
|
-
allowInterruptions: speechHandle.allowInterruptions,
|
|
1186
|
-
stepIndex: speechHandle._stepIndex + 1,
|
|
1187
|
-
parent: speechHandle
|
|
1188
|
-
});
|
|
1189
|
-
this.agentSession.emit(
|
|
1190
|
-
AgentSessionEventTypes.SpeechCreated,
|
|
1191
|
-
createSpeechCreatedEvent({
|
|
1192
|
-
userInitiated: false,
|
|
1193
|
-
source: "tool_response",
|
|
1194
|
-
speechHandle: handle
|
|
1195
|
-
})
|
|
1196
|
-
);
|
|
1196
|
+
speechHandle._numSteps += 1;
|
|
1197
1197
|
const respondToolChoice = draining || modelSettings.toolChoice === "none" ? "none" : "auto";
|
|
1198
1198
|
const toolResponseTask = this.createSpeechTask({
|
|
1199
1199
|
task: Task.from(
|
|
1200
1200
|
() => this.pipelineReplyTask(
|
|
1201
|
-
|
|
1201
|
+
speechHandle,
|
|
1202
1202
|
chatCtx,
|
|
1203
1203
|
toolCtx,
|
|
1204
1204
|
{ toolChoice: respondToolChoice },
|
|
@@ -1208,11 +1208,11 @@ ${instructions}` : instructions,
|
|
|
1208
1208
|
toolMessages
|
|
1209
1209
|
)
|
|
1210
1210
|
),
|
|
1211
|
-
ownedSpeechHandle:
|
|
1211
|
+
ownedSpeechHandle: speechHandle,
|
|
1212
1212
|
name: "AgentActivity.pipelineReply"
|
|
1213
1213
|
});
|
|
1214
1214
|
toolResponseTask.finally(() => this.onPipelineReplyDone());
|
|
1215
|
-
this.scheduleSpeech(
|
|
1215
|
+
this.scheduleSpeech(speechHandle, SpeechHandle.SPEECH_PRIORITY_NORMAL, true);
|
|
1216
1216
|
} else if (functionToolsExecutedEvent.functionCallOutputs.length > 0) {
|
|
1217
1217
|
for (const msg of toolMessages) {
|
|
1218
1218
|
msg.createdAt = replyStartedAt;
|