{"version":3,"file":"prompt_values.cjs","names":["Serializable","HumanMessage","getBufferString"],"sources":["../src/prompt_values.ts"],"sourcesContent":["import { Serializable } from \"./load/serializable.js\";\nimport { type BaseMessage } from \"./messages/base.js\";\nimport { HumanMessage } from \"./messages/human.js\";\nimport { getBufferString } from \"./messages/utils.js\";\n\nexport interface BasePromptValueInterface extends Serializable {\n  toString(): string;\n\n  toChatMessages(): BaseMessage[];\n}\n\nexport interface StringPromptValueInterface extends BasePromptValueInterface {\n  value: string;\n}\n\nexport interface ChatPromptValueInterface extends BasePromptValueInterface {\n  messages: BaseMessage[];\n}\n\n/**\n * Base PromptValue class. All prompt values should extend this class.\n */\nexport abstract class BasePromptValue\n  extends Serializable\n  implements BasePromptValueInterface\n{\n  abstract toString(): string;\n\n  abstract toChatMessages(): BaseMessage[];\n}\n\n/**\n * Represents a prompt value as a string. It extends the BasePromptValue\n * class and overrides the toString and toChatMessages methods.\n */\nexport class StringPromptValue\n  extends BasePromptValue\n  implements StringPromptValueInterface\n{\n  static lc_name(): string {\n    return \"StringPromptValue\";\n  }\n\n  lc_namespace = [\"langchain_core\", \"prompt_values\"];\n\n  lc_serializable = true;\n\n  value: string;\n\n  constructor(value: string) {\n    super({ value });\n    this.value = value;\n  }\n\n  toString() {\n    return this.value;\n  }\n\n  toChatMessages() {\n    return [new HumanMessage(this.value)];\n  }\n}\n\n/**\n * Interface for the fields of a ChatPromptValue.\n */\nexport interface ChatPromptValueFields {\n  messages: BaseMessage[];\n}\n\n/**\n * Class that represents a chat prompt value. It extends the\n * BasePromptValue and includes an array of BaseMessage instances.\n */\nexport class ChatPromptValue\n  extends BasePromptValue\n  implements ChatPromptValueInterface\n{\n  lc_namespace = [\"langchain_core\", \"prompt_values\"];\n\n  lc_serializable = true;\n\n  static lc_name() {\n    return \"ChatPromptValue\";\n  }\n\n  messages: BaseMessage[];\n\n  constructor(messages: BaseMessage[]);\n\n  constructor(fields: ChatPromptValueFields);\n\n  constructor(fields: BaseMessage[] | ChatPromptValueFields) {\n    if (Array.isArray(fields)) {\n      // oxlint-disable-next-line no-param-reassign\n      fields = { messages: fields };\n    }\n\n    super(fields);\n    this.messages = fields.messages;\n  }\n\n  toString() {\n    return getBufferString(this.messages);\n  }\n\n  toChatMessages() {\n    return this.messages;\n  }\n}\n\nexport type ImageContent = {\n  /** Specifies the detail level of the image. */\n  detail?: \"auto\" | \"low\" | \"high\";\n\n  /** Either a URL of the image or the base64 encoded image data. */\n  url: string;\n};\n\nexport interface ImagePromptValueFields {\n  imageUrl: ImageContent;\n}\n\n/**\n * Class that represents an image prompt value. It extends the\n * BasePromptValue and includes an ImageURL instance.\n */\nexport class ImagePromptValue extends BasePromptValue {\n  lc_namespace = [\"langchain_core\", \"prompt_values\"];\n\n  lc_serializable = true;\n\n  static lc_name() {\n    return \"ImagePromptValue\";\n  }\n\n  imageUrl: ImageContent;\n\n  /** @ignore */\n  value: string;\n\n  constructor(fields: ImagePromptValueFields);\n\n  constructor(fields: ImageContent);\n\n  constructor(fields: ImageContent | ImagePromptValueFields) {\n    if (!(\"imageUrl\" in fields)) {\n      // oxlint-disable-next-line no-param-reassign\n      fields = { imageUrl: fields };\n    }\n\n    super(fields);\n    this.imageUrl = fields.imageUrl;\n  }\n\n  toString() {\n    return this.imageUrl.url;\n  }\n\n  toChatMessages() {\n    return [\n      new HumanMessage({\n        content: [\n          {\n            type: \"image_url\",\n            image_url: {\n              detail: this.imageUrl.detail,\n              url: this.imageUrl.url,\n            },\n          },\n        ],\n      }),\n    ];\n  }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAsBA,IAAsB,kBAAtB,cACUA,0BAAAA,aAEV;;;;;AAUA,IAAa,oBAAb,cACU,gBAEV;CACE,OAAO,UAAkB;AACvB,SAAO;;CAGT,eAAe,CAAC,kBAAkB,gBAAgB;CAElD,kBAAkB;CAElB;CAEA,YAAY,OAAe;AACzB,QAAM,EAAE,OAAO,CAAC;AAChB,OAAK,QAAQ;;CAGf,WAAW;AACT,SAAO,KAAK;;CAGd,iBAAiB;AACf,SAAO,CAAC,IAAIC,cAAAA,aAAa,KAAK,MAAM,CAAC;;;;;;;AAezC,IAAa,kBAAb,cACU,gBAEV;CACE,eAAe,CAAC,kBAAkB,gBAAgB;CAElD,kBAAkB;CAElB,OAAO,UAAU;AACf,SAAO;;CAGT;CAMA,YAAY,QAA+C;AACzD,MAAI,MAAM,QAAQ,OAAO,CAEvB,UAAS,EAAE,UAAU,QAAQ;AAG/B,QAAM,OAAO;AACb,OAAK,WAAW,OAAO;;CAGzB,WAAW;AACT,SAAOC,cAAAA,gBAAgB,KAAK,SAAS;;CAGvC,iBAAiB;AACf,SAAO,KAAK;;;;;;;AAoBhB,IAAa,mBAAb,cAAsC,gBAAgB;CACpD,eAAe,CAAC,kBAAkB,gBAAgB;CAElD,kBAAkB;CAElB,OAAO,UAAU;AACf,SAAO;;CAGT;;CAGA;CAMA,YAAY,QAA+C;AACzD,MAAI,EAAE,cAAc,QAElB,UAAS,EAAE,UAAU,QAAQ;AAG/B,QAAM,OAAO;AACb,OAAK,WAAW,OAAO;;CAGzB,WAAW;AACT,SAAO,KAAK,SAAS;;CAGvB,iBAAiB;AACf,SAAO,CACL,IAAID,cAAAA,aAAa,EACf,SAAS,CACP;GACE,MAAM;GACN,WAAW;IACT,QAAQ,KAAK,SAAS;IACtB,KAAK,KAAK,SAAS;IACpB;GACF,CACF,EACF,CAAC,CACH"}