{"version":3,"sources":["../../src/memory/unconstrainedMemory.ts"],"names":["UnconstrainedMemory","BaseMemory","messages","register","add","message","index","ensureRange","length","min","max","splice","delete","removeFromArray","reset","loadSnapshot","snapshot","Object","assign","createSnapshot","shallowCopy"],"mappings":";;;;;;;;;AAWO,MAAMA,4BAA4BC,mBAAAA,CAAAA;EAXzC;;;AAYSC,EAAAA,QAAAA,GAAsB,EAAA;EAE7B;AACE,IAAA,IAAA,CAAKC,QAAAA,EAAQ;AACf;EAEA,MAAMC,GAAAA,CAAIC,SAAkBC,KAAAA,EAAgB;AAC1CA,IAAAA,KAAAA,GAAQC,sBAAAA,CAAYD,KAAAA,IAAS,IAAA,CAAKJ,QAAAA,CAASM,MAAAA,EAAQ;MAAEC,GAAAA,EAAK,CAAA;AAAGC,MAAAA,GAAAA,EAAK,KAAKR,QAAAA,CAASM;KAAO,CAAA;AACvF,IAAA,IAAA,CAAKN,QAAAA,CAASS,MAAAA,CAAOL,KAAAA,EAAO,CAAA,EAAGD,OAAAA,CAAAA;AACjC,EAAA;AAEA,EAAA,MAAMO,OAAOP,OAAAA,EAAkB;AAC7B,IAAA,OAAOQ,yBAAAA,CAAgB,IAAA,CAAKX,QAAAA,EAAUG,OAAAA,CAAAA;AACxC,EAAA;EAEAS,KAAAA,GAAQ;AACN,IAAA,IAAA,CAAKZ,SAASM,MAAAA,GAAS,CAAA;AACzB,EAAA;AAEAO,EAAAA,YAAAA,CAAaC,QAAAA,EAAkD;AAC7DC,IAAAA,MAAAA,CAAOC,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB,EAAA;EAEAG,cAAAA,GAAiB;AACf,IAAA,OAAO;MACLjB,QAAAA,EAAUkB,qBAAAA,CAAY,KAAKlB,QAAQ;AACrC,KAAA;AACF,EAAA;AACF","file":"unconstrainedMemory.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport { removeFromArray } from \"@/internals/helpers/array.js\";\nimport { ensureRange } from \"@/internals/helpers/number.js\";\nimport { Message } from \"@/backend/message.js\";\n\nexport class UnconstrainedMemory extends BaseMemory {\n  public messages: Message[] = [];\n\n  static {\n    this.register();\n  }\n\n  async add(message: Message, index?: number) {\n    index = ensureRange(index ?? this.messages.length, { min: 0, max: this.messages.length });\n    this.messages.splice(index, 0, message);\n  }\n\n  async delete(message: Message) {\n    return removeFromArray(this.messages, message);\n  }\n\n  reset() {\n    this.messages.length = 0;\n  }\n\n  loadSnapshot(snapshot: ReturnType<typeof this.createSnapshot>) {\n    Object.assign(this, snapshot);\n  }\n\n  createSnapshot() {\n    return {\n      messages: shallowCopy(this.messages),\n    };\n  }\n}\n"]}