export const advocateStep = createStep({
id: "advocate",
description: "Decide next action and draft external or ask user",
stateSchema,
inputSchema: messageSchema,
outputSchema: advocateOutputSchema,
execute: async ({
writer,
state,
setState,
inputData: { message, source },
}) => {
const { threadId, resourceId } = state;
const prompt = `
New message from ${source}: ${message}
`;
const stream = await consumerSupportAgent.stream(prompt, {
structuredOutput: {
schema: advocateOutputSchema,
},
maxSteps: 1,
memory: {
thread: threadId,
resource: resourceId,
},
});
await stream!.textStream.pipeTo(writer!);
const response = await stream.getFullOutput();
console.log("**", response);
const { responseToUser, responseToThirdParty, status, awaiting } =
response.object;
setState({ ...state, status, awaiting });
return { status, responseToUser, responseToThirdParty, awaiting };
},
});
export const advocateStep = createStep({
id: "advocate",
description: "Decide next action and draft external or ask user",
stateSchema,
inputSchema: messageSchema,
outputSchema: advocateOutputSchema,
execute: async ({
writer,
state,
setState,
inputData: { message, source },
}) => {
const { threadId, resourceId } = state;
const prompt = `
New message from ${source}: ${message}
`;
const stream = await consumerSupportAgent.stream(prompt, {
structuredOutput: {
schema: advocateOutputSchema,
},
maxSteps: 1,
memory: {
thread: threadId,
resource: resourceId,
},
});
await stream!.textStream.pipeTo(writer!);
const response = await stream.getFullOutput();
console.log("**", response);
const { responseToUser, responseToThirdParty, status, awaiting } =
response.object;
setState({ ...state, status, awaiting });
return { status, responseToUser, responseToThirdParty, awaiting };
},
});