@langchain/community
Version:
Third-party integrations for LangChain.js
1 lines • 2.89 kB
Source Map (JSON)
{"version":3,"file":"create_draft.cjs","names":["z","GmailBaseTool","CREATE_DRAFT_DESCRIPTION"],"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,OAAAA,EAAE,OAAO;CACjC,SAASA,OAAAA,EAAE,QAAQ;CACnB,IAAIA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,QAAQ,CAAC;CACvB,SAASA,OAAAA,EAAE,QAAQ;CACnB,IAAIA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,QAAQ,CAAC,CAAC,UAAU;CAClC,KAAKA,OAAAA,EAAE,MAAMA,OAAAA,EAAE,QAAQ,CAAC,CAAC,UAAU;CACpC,CAAC;AAGF,IAAa,mBAAb,cAAsCC,aAAAA,cAAc;CAClD,OAAO;CAEP,SAAS;CAET,cAAcC,qBAAAA;CAEd,YAAY,QAA8B;AACxC,QAAM,OAAO;;CAGf,oBACE,SACA,IACA,SACA,IACA,KACA;EACA,MAAM,eAAe,EACnB,SAAS,EACP,KAAK,IACN,EACF;EAED,MAAM,QAAQ;GACZ,OAAO,GAAG,KAAK,KAAK;GACpB,YAAY;GACZ,KAAK,OAAO,GAAG,KAAK,KAAK,KAAK;GAC9B,MAAM,QAAQ,IAAI,KAAK,KAAK,KAAK;GACjC;GACA;GACD,CAAC,KAAK,KAAK;AAEZ,eAAa,QAAQ,MAAM,OAAO,KAAK,MAAM,CAAC,SAAS,YAAY;AAEnE,SAAO;;CAGT,MAAM,MAAM,KAA+C;EACzD,MAAM,EAAE,SAAS,IAAI,SAAS,IAAI,QAAQ;EAC1C,MAAM,iBAAiB,KAAK,oBAC1B,SACA,IACA,SACA,IACA,IACD;AASD,SAAO,6BALU,OAFH,MAAM,KAAK,gBAAgB,EAEZ,MAAM,OAAO,OAAO;GAC/C,QAAQ;GACR,aAAa;GACd,CAAC,EAE0C,KAAK"}