UNPKG

@langchain/core

Version:
1 lines 1.82 kB
{"version":3,"file":"modifier.cjs","names":["BaseMessage"],"sources":["../../src/messages/modifier.ts"],"sourcesContent":["import { BaseMessage, BaseMessageFields } from \"./base.js\";\n\nexport interface RemoveMessageFields extends Omit<\n BaseMessageFields,\n \"content\"\n> {\n /**\n * The ID of the message to remove.\n */\n id: string;\n}\n\n/**\n * Message responsible for deleting other messages.\n *\n * `RemoveMessage` is intentionally not generic over `MessageStructure`.\n * Its content is always `[]` (empty), so carrying a structure type parameter\n * would only cause unnecessary type incompatibilities when mixing messages\n * from different structure configurations (e.g. passing a `RemoveMessage`\n * into an API that expects `Message<CustomToolCall>`).\n */\nexport class RemoveMessage extends BaseMessage {\n readonly type = \"remove\" as const;\n\n /**\n * The ID of the message to remove.\n */\n id: string;\n\n constructor(fields: RemoveMessageFields) {\n super({\n ...fields,\n content: [],\n });\n this.id = fields.id;\n }\n\n override get _printableFields(): Record<string, unknown> {\n return {\n ...super._printableFields,\n id: this.id,\n };\n }\n\n static isInstance(obj: unknown): obj is RemoveMessage {\n return super.isInstance(obj) && obj.type === \"remove\";\n }\n\n static [Symbol.hasInstance](obj: unknown) {\n return this.isInstance(obj);\n }\n}\n"],"mappings":";;;;;;;;;;;AAqBA,IAAa,gBAAb,cAAmCA,aAAAA,YAAY;CAC7C,OAAgB;;;;CAKhB;CAEA,YAAY,QAA6B;EACvC,MAAM;GACJ,GAAG;GACH,SAAS,CAAC;EACZ,CAAC;EACD,KAAK,KAAK,OAAO;CACnB;CAEA,IAAa,mBAA4C;EACvD,OAAO;GACL,GAAG,MAAM;GACT,IAAI,KAAK;EACX;CACF;CAEA,OAAO,WAAW,KAAoC;EACpD,OAAO,MAAM,WAAW,GAAG,KAAK,IAAI,SAAS;CAC/C;CAEA,QAAQ,OAAO,aAAa,KAAc;EACxC,OAAO,KAAK,WAAW,GAAG;CAC5B;AACF"}