{"version":3,"file":"index.cjs","names":["MessageStatusCode","MessageRole"],"sources":["../../../../src/graphql/types/converted/index.ts"],"sourcesContent":["import { randomId } from \"@copilotkit/shared\";\nimport {\n  ActionExecutionMessageInput,\n  ResultMessageInput,\n  TextMessageInput,\n  AgentStateMessageInput,\n  ImageMessageInput,\n} from \"../../inputs/message.input\";\nimport { BaseMessageInput } from \"../base\";\nimport { BaseMessageOutput } from \"../copilot-response.type\";\nimport { MessageRole } from \"../enums\";\nimport { MessageStatus, MessageStatusCode } from \"../message-status.type\";\n\nexport type MessageType =\n  | \"TextMessage\"\n  | \"ActionExecutionMessage\"\n  | \"ResultMessage\"\n  | \"AgentStateMessage\"\n  | \"ImageMessage\";\n\nexport class Message {\n  type: MessageType;\n  id: BaseMessageOutput[\"id\"];\n  createdAt: BaseMessageOutput[\"createdAt\"];\n  status: MessageStatus;\n\n  constructor(props: any) {\n    props.id ??= randomId();\n    props.status ??= { code: MessageStatusCode.Success };\n    props.createdAt ??= new Date();\n    Object.assign(this, props);\n  }\n\n  isTextMessage(): this is TextMessage {\n    return this.type === \"TextMessage\";\n  }\n\n  isActionExecutionMessage(): this is ActionExecutionMessage {\n    return this.type === \"ActionExecutionMessage\";\n  }\n\n  isResultMessage(): this is ResultMessage {\n    return this.type === \"ResultMessage\";\n  }\n\n  isAgentStateMessage(): this is AgentStateMessage {\n    return this.type === \"AgentStateMessage\";\n  }\n\n  isImageMessage(): this is ImageMessage {\n    return this.type === \"ImageMessage\";\n  }\n}\n\n// alias Role to MessageRole\nexport const Role = MessageRole;\n\n// when constructing any message, the base fields are optional\ntype MessageConstructorOptions = Partial<Message>;\n\ntype TextMessageConstructorOptions = MessageConstructorOptions &\n  TextMessageInput;\n\nexport class TextMessage\n  extends Message\n  implements TextMessageConstructorOptions\n{\n  content: TextMessageInput[\"content\"];\n  parentMessageId: TextMessageInput[\"parentMessageId\"];\n  role: TextMessageInput[\"role\"];\n  type = \"TextMessage\" as const;\n\n  constructor(props: TextMessageConstructorOptions) {\n    super(props);\n    this.type = \"TextMessage\";\n  }\n}\n\nexport class ActionExecutionMessage\n  extends Message\n  implements Omit<ActionExecutionMessageInput, \"arguments\" | \"scope\">\n{\n  type: MessageType = \"ActionExecutionMessage\";\n  name: string;\n  arguments: Record<string, any>;\n  parentMessageId?: string;\n}\n\nexport class ResultMessage extends Message implements ResultMessageInput {\n  type: MessageType = \"ResultMessage\";\n  actionExecutionId: string;\n  actionName: string;\n  result: string;\n\n  static encodeResult(\n    result: any,\n    error?: { code: string; message: string } | string | Error,\n  ): string {\n    const errorObj = error\n      ? typeof error === \"string\"\n        ? { code: \"ERROR\", message: error }\n        : error instanceof Error\n          ? { code: \"ERROR\", message: error.message }\n          : error\n      : undefined;\n\n    if (errorObj) {\n      return JSON.stringify({\n        error: errorObj,\n        result: result || \"\",\n      });\n    }\n    if (result === undefined) {\n      return \"\";\n    }\n    return typeof result === \"string\" ? result : JSON.stringify(result);\n  }\n\n  static decodeResult(result: string): {\n    error?: { code: string; message: string };\n    result: string;\n  } {\n    if (!result) {\n      return { result: \"\" };\n    }\n    try {\n      const parsed = JSON.parse(result);\n      if (parsed && typeof parsed === \"object\") {\n        if (\"error\" in parsed) {\n          return {\n            error: parsed.error,\n            result: parsed.result || \"\",\n          };\n        }\n        return { result: JSON.stringify(parsed) };\n      }\n      return { result };\n    } catch (e) {\n      return { result };\n    }\n  }\n\n  hasError(): boolean {\n    try {\n      const { error } = ResultMessage.decodeResult(this.result);\n      return !!error;\n    } catch {\n      return false;\n    }\n  }\n\n  getError(): { code: string; message: string } | undefined {\n    try {\n      const { error } = ResultMessage.decodeResult(this.result);\n      return error;\n    } catch {\n      return undefined;\n    }\n  }\n}\n\nexport class AgentStateMessage\n  extends Message\n  implements Omit<AgentStateMessageInput, \"state\">\n{\n  type: MessageType = \"AgentStateMessage\";\n  threadId: string;\n  agentName: string;\n  nodeName: string;\n  runId: string;\n  active: boolean;\n  role: MessageRole;\n  state: any;\n  running: boolean;\n}\n\nexport class ImageMessage extends Message implements ImageMessageInput {\n  type: MessageType = \"ImageMessage\";\n  format: string;\n  bytes: string;\n  role: MessageRole;\n  parentMessageId?: string;\n}\n"],"mappings":";;;;;;;AAoBA,IAAa,UAAb,MAAqB;CAMnB,YAAY,OAAY;AACtB,QAAM,yCAAiB;AACvB,QAAM,WAAW,EAAE,MAAMA,8CAAkB,SAAS;AACpD,QAAM,8BAAc,IAAI,MAAM;AAC9B,SAAO,OAAO,MAAM,MAAM;;CAG5B,gBAAqC;AACnC,SAAO,KAAK,SAAS;;CAGvB,2BAA2D;AACzD,SAAO,KAAK,SAAS;;CAGvB,kBAAyC;AACvC,SAAO,KAAK,SAAS;;CAGvB,sBAAiD;AAC/C,SAAO,KAAK,SAAS;;CAGvB,iBAAuC;AACrC,SAAO,KAAK,SAAS;;;AAKzB,MAAa,OAAOC;AAQpB,IAAa,cAAb,cACU,QAEV;CAME,YAAY,OAAsC;AAChD,QAAM,MAAM;cAHP;AAIL,OAAK,OAAO;;;AAIhB,IAAa,yBAAb,cACU,QAEV;;;cACsB;;;AAMtB,IAAa,gBAAb,MAAa,sBAAsB,QAAsC;;;cACnD;;CAKpB,OAAO,aACL,QACA,OACQ;EACR,MAAM,WAAW,QACb,OAAO,UAAU,WACf;GAAE,MAAM;GAAS,SAAS;GAAO,GACjC,iBAAiB,QACf;GAAE,MAAM;GAAS,SAAS,MAAM;GAAS,GACzC,QACJ;AAEJ,MAAI,SACF,QAAO,KAAK,UAAU;GACpB,OAAO;GACP,QAAQ,UAAU;GACnB,CAAC;AAEJ,MAAI,WAAW,OACb,QAAO;AAET,SAAO,OAAO,WAAW,WAAW,SAAS,KAAK,UAAU,OAAO;;CAGrE,OAAO,aAAa,QAGlB;AACA,MAAI,CAAC,OACH,QAAO,EAAE,QAAQ,IAAI;AAEvB,MAAI;GACF,MAAM,SAAS,KAAK,MAAM,OAAO;AACjC,OAAI,UAAU,OAAO,WAAW,UAAU;AACxC,QAAI,WAAW,OACb,QAAO;KACL,OAAO,OAAO;KACd,QAAQ,OAAO,UAAU;KAC1B;AAEH,WAAO,EAAE,QAAQ,KAAK,UAAU,OAAO,EAAE;;AAE3C,UAAO,EAAE,QAAQ;WACV,GAAG;AACV,UAAO,EAAE,QAAQ;;;CAIrB,WAAoB;AAClB,MAAI;GACF,MAAM,EAAE,UAAU,cAAc,aAAa,KAAK,OAAO;AACzD,UAAO,CAAC,CAAC;UACH;AACN,UAAO;;;CAIX,WAA0D;AACxD,MAAI;GACF,MAAM,EAAE,UAAU,cAAc,aAAa,KAAK,OAAO;AACzD,UAAO;UACD;AACN;;;;AAKN,IAAa,oBAAb,cACU,QAEV;;;cACsB;;;AAWtB,IAAa,eAAb,cAAkC,QAAqC;;;cACjD"}