@absolutejs/voice 0.0.22-beta.6 → 0.0.22-beta.8
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/index.js +25 -11
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7152,7 +7152,7 @@ var OUTPUT_SCHEMA = {
|
|
|
7152
7152
|
},
|
|
7153
7153
|
type: "object"
|
|
7154
7154
|
};
|
|
7155
|
-
var ROUTE_RESULT_INSTRUCTION = "Return a JSON object with assistantText, complete, transfer, escalate, voicemail, noAnswer, and result when you are not calling tools.";
|
|
7155
|
+
var ROUTE_RESULT_INSTRUCTION = "Return only a JSON object with assistantText, complete, transfer, escalate, voicemail, noAnswer, and result when you are not calling tools. Only set transfer, escalate, voicemail, or noAnswer when the user explicitly asks for that lifecycle outcome or a tool result says that exact outcome. Do not infer voicemail from generic words like voice, voice app, or voice integration.";
|
|
7156
7156
|
var parseJSON = (value) => {
|
|
7157
7157
|
try {
|
|
7158
7158
|
const parsed = JSON.parse(value);
|
|
@@ -7230,17 +7230,31 @@ var createJSONVoiceAssistantModel = (options) => ({
|
|
|
7230
7230
|
});
|
|
7231
7231
|
var messageToOpenAIInput = (message) => {
|
|
7232
7232
|
if (message.role === "tool") {
|
|
7233
|
-
return
|
|
7234
|
-
|
|
7235
|
-
|
|
7236
|
-
|
|
7237
|
-
|
|
7233
|
+
return [
|
|
7234
|
+
{
|
|
7235
|
+
call_id: message.toolCallId ?? message.name ?? crypto.randomUUID(),
|
|
7236
|
+
output: message.content,
|
|
7237
|
+
type: "function_call_output"
|
|
7238
|
+
}
|
|
7239
|
+
];
|
|
7238
7240
|
}
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7241
|
+
const toolCalls = getMessageToolCalls(message);
|
|
7242
|
+
if (message.role === "assistant" && toolCalls.length) {
|
|
7243
|
+
return toolCalls.map((toolCall) => ({
|
|
7244
|
+
arguments: JSON.stringify(toolCall.args),
|
|
7245
|
+
call_id: toolCall.id ?? crypto.randomUUID(),
|
|
7246
|
+
name: toolCall.name,
|
|
7247
|
+
type: "function_call"
|
|
7248
|
+
}));
|
|
7249
|
+
}
|
|
7250
|
+
return [
|
|
7251
|
+
{
|
|
7252
|
+
content: message.content,
|
|
7253
|
+
role: message.role === "system" ? "developer" : message.role
|
|
7254
|
+
}
|
|
7255
|
+
];
|
|
7243
7256
|
};
|
|
7257
|
+
var messagesToOpenAIInput = (messages) => messages.flatMap(messageToOpenAIInput);
|
|
7244
7258
|
var messageToAnthropicMessage = (message) => {
|
|
7245
7259
|
if (message.role === "system") {
|
|
7246
7260
|
return;
|
|
@@ -7410,7 +7424,7 @@ var createOpenAIVoiceAssistantModel = (options) => {
|
|
|
7410
7424
|
generate: async (input) => {
|
|
7411
7425
|
const response = await fetchImpl(`${baseUrl.replace(/\/$/, "")}/responses`, {
|
|
7412
7426
|
body: JSON.stringify({
|
|
7413
|
-
input: input.messages
|
|
7427
|
+
input: messagesToOpenAIInput(input.messages),
|
|
7414
7428
|
instructions: [
|
|
7415
7429
|
input.system,
|
|
7416
7430
|
"Return a JSON object with assistantText, complete, transfer, escalate, voicemail, noAnswer, and result when you are not calling tools."
|