{"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":";;;;;;;;;AAsBO,MAAMA,4BAA4BC,mBAAAA,CAAAA;EAtBzC;;;AAuBSC,EAAAA,QAAAA,GAA0B,EAAA;EAEjC;AACE,IAAA,IAAA,CAAKC,QAAQ,EAAA;AACf;EAEA,MAAMC,GAAAA,CAAIC,SAAsBC,KAAgB,EAAA;AAC9CA,IAAAA,KAAAA,GAAQC,sBAAYD,CAAAA,KAAAA,IAAS,IAAKJ,CAAAA,QAAAA,CAASM,MAAQ,EAAA;MAAEC,GAAK,EAAA,CAAA;AAAGC,MAAAA,GAAAA,EAAK,KAAKR,QAASM,CAAAA;KAAO,CAAA;AACvF,IAAA,IAAA,CAAKN,QAASS,CAAAA,MAAAA,CAAOL,KAAO,EAAA,CAAA,EAAGD,OAAAA,CAAAA;AACjC;AAEA,EAAA,MAAMO,OAAOP,OAAsB,EAAA;AACjC,IAAOQ,OAAAA,yBAAAA,CAAgB,IAAKX,CAAAA,QAAAA,EAAUG,OAAAA,CAAAA;AACxC;EAEAS,KAAQ,GAAA;AACN,IAAA,IAAA,CAAKZ,SAASM,MAAS,GAAA,CAAA;AACzB;AAEAO,EAAAA,YAAAA,CAAaC,QAAkD,EAAA;AAC7DC,IAAOC,MAAAA,CAAAA,MAAAA,CAAO,MAAMF,QAAAA,CAAAA;AACtB;EAEAG,cAAiB,GAAA;AACf,IAAO,OAAA;MACLjB,QAAUkB,EAAAA,qBAAAA,CAAY,KAAKlB,QAAQ;AACrC,KAAA;AACF;AACF","file":"unconstrainedMemory.cjs","sourcesContent":["/**\n * Copyright 2025 IBM Corp.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { BaseMessage } from \"@/llms/primitives/message.js\";\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\";\n\nexport class UnconstrainedMemory extends BaseMemory {\n  public messages: BaseMessage[] = [];\n\n  static {\n    this.register();\n  }\n\n  async add(message: BaseMessage, 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: BaseMessage) {\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"]}