acp-sdk
Version:
Agent Communication Protocol SDK
40 lines (37 loc) • 1.16 kB
JavaScript
;
var models_cjs = require('../models/models.cjs');
function inputToMessages(input) {
if (Array.isArray(input)) {
if (!input.length) {
return [];
}
if (input.every((i) => models_cjs.isMessage(i))) {
return input.map((i) => models_cjs.Message.parse(i));
}
if (input.every((i) => models_cjs.isMessagePart(i))) {
return [models_cjs.Message.parse({ parts: input })];
}
if (input.every((i) => typeof i === "string")) {
return [
models_cjs.Message.parse({
parts: input.map((content) => models_cjs.MessagePart.parse({ content }))
})
];
}
throw new TypeError("List with mixed types is not supported");
} else {
if (typeof input === "string") {
input = models_cjs.MessagePart.parse({ content: input });
}
if (models_cjs.isMessagePart(input)) {
input = models_cjs.Message.parse({ parts: [input] });
}
if (models_cjs.isMessage(input)) {
input = [models_cjs.Message.parse(input)];
}
return input;
}
}
exports.inputToMessages = inputToMessages;
//# sourceMappingURL=utils.cjs.map
//# sourceMappingURL=utils.cjs.map