assistant-cloud
Version:
Cloud integration for assistant-ui
39 lines (38 loc) • 1.7 kB
JavaScript
import { readCloudArray, readCloudInteger, readCloudJSONObject, readCloudNullableString, readCloudRecord, readCloudString, readCloudTimestamp } from "./cloudResponse.js";
//#region src/AssistantCloudThreadMessages.ts
const decodeCloudMessage = (value, field) => {
const message = readCloudRecord(value, field);
return {
id: readCloudString(message.id, `${field}.id`),
parent_id: readCloudNullableString(message.parent_id, `${field}.parent_id`),
height: readCloudInteger(message.height, `${field}.height`),
created_at: readCloudTimestamp(message.created_at, `${field}.created_at`),
updated_at: readCloudTimestamp(message.updated_at, `${field}.updated_at`),
format: readCloudString(message.format, `${field}.format`),
content: readCloudJSONObject(message.content, `${field}.content`)
};
};
var AssistantCloudThreadMessages = class {
cloud;
constructor(cloud) {
this.cloud = cloud;
}
async list(threadId, query) {
return { messages: readCloudArray(readCloudRecord(await this.cloud.makeRequest(`/threads/${encodeURIComponent(threadId)}/messages`, { query }), "thread message list response").messages, "messages").map((message, index) => decodeCloudMessage(message, `messages[${index}]`)) };
}
async create(threadId, body) {
return this.cloud.makeRequest(`/threads/${encodeURIComponent(threadId)}/messages`, {
method: "POST",
body
});
}
async update(threadId, messageId, body) {
return this.cloud.makeRequest(`/threads/${encodeURIComponent(threadId)}/messages/${encodeURIComponent(messageId)}`, {
method: "PUT",
body
});
}
};
//#endregion
export { AssistantCloudThreadMessages, decodeCloudMessage };
//# sourceMappingURL=AssistantCloudThreadMessages.js.map