{"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"}