{"version":3,"file":"create_draft.cjs","names":["z","GmailBaseTool","CREATE_DRAFT_DESCRIPTION","fields?: GmailBaseToolParams","message: string","to: string[]","subject: string","cc?: string[]","bcc?: string[]","arg: InferInteropZodOutput<CreateDraftSchema>"],"sources":["../../../src/tools/gmail/create_draft.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { InferInteropZodOutput } from \"@langchain/core/utils/types\";\nimport { GmailBaseTool, GmailBaseToolParams } from \"./base.js\";\nimport { CREATE_DRAFT_DESCRIPTION } from \"./descriptions.js\";\n\nconst createDraftSchema = z.object({\n  message: z.string(),\n  to: z.array(z.string()),\n  subject: z.string(),\n  cc: z.array(z.string()).optional(),\n  bcc: z.array(z.string()).optional(),\n});\nexport type CreateDraftSchema = z.infer<typeof createDraftSchema>;\n\nexport class GmailCreateDraft extends GmailBaseTool {\n  name = \"create_gmail_draft\";\n\n  schema = createDraftSchema;\n\n  description = CREATE_DRAFT_DESCRIPTION;\n\n  constructor(fields?: GmailBaseToolParams) {\n    super(fields);\n  }\n\n  private prepareDraftMessage(\n    message: string,\n    to: string[],\n    subject: string,\n    cc?: string[],\n    bcc?: string[]\n  ) {\n    const draftMessage = {\n      message: {\n        raw: \"\",\n      },\n    };\n\n    const email = [\n      `To: ${to.join(\", \")}`,\n      `Subject: ${subject}`,\n      cc ? `Cc: ${cc.join(\", \")}` : \"\",\n      bcc ? `Bcc: ${bcc.join(\", \")}` : \"\",\n      \"\",\n      message,\n    ].join(\"\\n\");\n\n    draftMessage.message.raw = Buffer.from(email).toString(\"base64url\");\n\n    return draftMessage;\n  }\n\n  async _call(arg: InferInteropZodOutput<CreateDraftSchema>) {\n    const { message, to, subject, cc, bcc } = arg;\n    const create_message = this.prepareDraftMessage(\n      message,\n      to,\n      subject,\n      cc,\n      bcc\n    );\n\n    const gmail = await this.getGmailClient();\n\n    const response = await gmail.users.drafts.create({\n      userId: \"me\",\n      requestBody: create_message,\n    });\n\n    return `Draft created. Draft Id: ${response.data.id}`;\n  }\n}\n"],"mappings":";;;;;;AAKA,MAAM,oBAAoBA,SAAE,OAAO;CACjC,SAASA,SAAE,QAAQ;CACnB,IAAIA,SAAE,MAAMA,SAAE,QAAQ,CAAC;CACvB,SAASA,SAAE,QAAQ;CACnB,IAAIA,SAAE,MAAMA,SAAE,QAAQ,CAAC,CAAC,UAAU;CAClC,KAAKA,SAAE,MAAMA,SAAE,QAAQ,CAAC,CAAC,UAAU;AACpC,EAAC;AAGF,IAAa,mBAAb,cAAsCC,2BAAc;CAClD,OAAO;CAEP,SAAS;CAET,cAAcC;CAEd,YAAYC,QAA8B;EACxC,MAAM,OAAO;CACd;CAED,AAAQ,oBACNC,SACAC,IACAC,SACAC,IACAC,KACA;EACA,MAAM,eAAe,EACnB,SAAS,EACP,KAAK,GACN,EACF;EAED,MAAM,QAAQ;GACZ,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,EAAE;GACtB,CAAC,SAAS,EAAE,SAAS;GACrB,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,EAAE,GAAG;GAC9B,MAAM,CAAC,KAAK,EAAE,IAAI,KAAK,KAAK,EAAE,GAAG;GACjC;GACA;EACD,EAAC,KAAK,KAAK;EAEZ,aAAa,QAAQ,MAAM,OAAO,KAAK,MAAM,CAAC,SAAS,YAAY;AAEnE,SAAO;CACR;CAED,MAAM,MAAMC,KAA+C;EACzD,MAAM,EAAE,SAAS,IAAI,SAAS,IAAI,KAAK,GAAG;EAC1C,MAAM,iBAAiB,KAAK,oBAC1B,SACA,IACA,SACA,IACA,IACD;EAED,MAAM,QAAQ,MAAM,KAAK,gBAAgB;EAEzC,MAAM,WAAW,MAAM,MAAM,MAAM,OAAO,OAAO;GAC/C,QAAQ;GACR,aAAa;EACd,EAAC;AAEF,SAAO,CAAC,yBAAyB,EAAE,SAAS,KAAK,IAAI;CACtD;AACF"}