mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
37 lines
755 B
TypeScript
37 lines
755 B
TypeScript
import type { IDataObject } from 'n8n-workflow';
|
|
|
|
/**
|
|
* Formats the response from the LLM chain into a consistent structure
|
|
*/
|
|
export function formatResponse(response: unknown, returnUnwrappedObject: boolean): IDataObject {
|
|
if (typeof response === 'string') {
|
|
return {
|
|
text: response.trim(),
|
|
};
|
|
}
|
|
|
|
if (Array.isArray(response)) {
|
|
return {
|
|
data: response,
|
|
};
|
|
}
|
|
|
|
if (response instanceof Object) {
|
|
if (returnUnwrappedObject) {
|
|
return response as IDataObject;
|
|
}
|
|
|
|
// If the response is an object and we are not unwrapping it, we need to stringify it
|
|
// to be backwards compatible with older versions of the chain(< 1.6)
|
|
return {
|
|
text: JSON.stringify(response),
|
|
};
|
|
}
|
|
|
|
return {
|
|
response: {
|
|
text: response,
|
|
},
|
|
};
|
|
}
|