# All files / src/providers utils.ts

100% Statements 4/4
100% Branches 6/6
100% Functions 2/2
100% Lines 4/4

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

    59x
    67x
    3x

    64x

     import { Message } from "../chat/Message.js";

    /**
     * Maps system and developer roles based on provider capabilities.
     * If supportsDeveloperRole is true, both "system" and "developer" messages are mapped to "developer".
     * If supportsDeveloperRole is false, both "system" and "developer" messages are mapped to "system".
     */
    export function mapSystemMessages(messages: Message[], supportsDeveloperRole: boolean): Message[] {
      return messages.map((msg) => {
        if (msg.role === "system" || (msg.role as string) === "developer") {
          return {
            ...msg,
            role: supportsDeveloperRole ? "developer" : "system"
          } as Message;
        }
        return msg;
      });
    }