@botonic/plugin-flow-builder
Version:
Use Flow Builder to show your contents
33 lines • 1.34 kB
JavaScript
import { __awaiter } from "tslib";
import { FlowAiAgent } from '../content-fields/flow-ai-agent';
export function getContentsByAiAgent({ cmsApi, flowBuilderPlugin, request, }) {
var _a;
return __awaiter(this, void 0, void 0, function* () {
const startNodeAiAgentFlow = cmsApi.getStartNodeAiAgentFlow();
if (!startNodeAiAgentFlow) {
return [];
}
const contents = yield flowBuilderPlugin.getContentsByNode(startNodeAiAgentFlow);
const aiAgentContent = contents.find(content => content instanceof FlowAiAgent);
if (!aiAgentContent) {
return [];
}
const aiAgentResponse = yield ((_a = flowBuilderPlugin.getAiAgentResponse) === null || _a === void 0 ? void 0 : _a.call(flowBuilderPlugin, request, {
name: aiAgentContent.name,
instructions: aiAgentContent.instructions,
}));
if (!aiAgentResponse) {
return [];
}
return updateContentsWithAiAgentResponse(contents, aiAgentResponse);
});
}
function updateContentsWithAiAgentResponse(contents, aiAgentResponse) {
return contents.map(content => {
if (content instanceof FlowAiAgent) {
content.text = aiAgentResponse.message.content;
}
return content;
});
}
//# sourceMappingURL=ai-agent.js.map