All files message.js

100% Statements 51/51
100% Branches 5/5
100% Functions 4/4
100% Lines 51/51

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 521x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 52x 52x 52x 52x 1x 1x 1x 1x 1x 1x 1x 18x 18x 1x 1x 1x 1x 1x 1x 1x 29x 29x 1x 1x 1x 1x 1x 1x 1x 6x 6x 1x 1x 1x  
"use strict";
 
/**
 * Message payload sent to OpenAI API.
 * A message consists of a role, content, and timestamp.
 *
 * @class
 */
class Message {
  /**
   * Initializes a new Message instance.
   *
   * @param {string} role - Message role such as `user`, `assistant`, or `developer`.
   * @param {string} content - Message content.
   * @param {number} [timestamp=Date.now()] - Unix timestamp in milliseconds.
   */
  constructor(role, content, timestamp = Date.now()) {
    this.role = role;
    this.content = content;
    this.timestamp = timestamp;
  }
 
  /**
   * Retrieve the role of the message.
   *
   * @returns {string} Message role.
   */
  getRole() {
    return this.role;
  }
 
  /**
   * Retrieve the content of the message.
   *
   * @returns {string} Message content.
   */
  getContent() {
    return this.content;
  }
 
  /**
   * Retrieve the timestamp of the message.
   *
   * @returns {number} Unix timestamp in milliseconds.
   */
  getTimestamp() {
    return this.timestamp;
  }
}
 
export { Message as default };