{"version":3,"sources":["../../../../src/adapters/agentstack/agents/agent.ts"],"names":["AgentStackAgent","BaseAgent","emitter","agent","input","ACPAgent","Emitter","root","child","namespace","toCamelCase","agentName","creator","_run","_options","context","response","run","observe","on","data","_","emit","result","event","checkAgentExists","memory","createSnapshot","shallowCopy"],"mappings":";;;;;;;;;;AAoBO,MAAMA,wBAAwBC,kBAAAA,CAAAA;EApBrC;;;;AAqBkBC,EAAAA,OAAAA;AACNC,EAAAA,KAAAA;AAEV,EAAA,WAAA,CAA+BC,KAAAA,EAA6B;AAC1D,IAAA,KAAA,EAAK,EAAA,KADwBA,KAAAA,GAAAA,KAAAA;AAE7B,IAAA,IAAA,CAAKD,KAAAA,GAAQ,IAAIE,kBAAAA,CAASD,KAAAA,CAAAA;AAC1B,IAAA,IAAA,CAAKF,OAAAA,GAAUI,mBAAAA,CAAQC,IAAAA,CAAKC,KAAAA,CAA6B;MACvDC,SAAAA,EAAW;AAAC,QAAA,OAAA;AAAS,QAAA,YAAA;QAAcC,kBAAAA,CAAY,IAAA,CAAKN,MAAMO,SAAS;;MACnEC,OAAAA,EAAS;KACX,CAAA;AACF,EAAA;EAEA,MAAgBC,IAAAA,CACdT,KAAAA,EACAU,QAAAA,EACAC,OAAAA,EACmC;AACnC,IAAA,MAAMC,QAAAA,GAAW,MAAM,IAAA,CAAKb,KAAAA,CAAMc,IAAIb,KAAAA,CAAAA,CAAOc,OAAAA,CAAQ,CAAChB,OAAAA,KAAAA;AACpDA,MAAAA,OAAAA,CAAQiB,EAAAA,CACN,QAAA,EACA,OAAOC,IAAAA,EAA2BC,CAAAA,KAChC,MAAMN,OAAAA,CAAQb,OAAAA,CAAQoB,IAAAA,CAAK,QAAA,EAAUF,IAAAA,CAAAA,CAAAA;AAEzClB,MAAAA,OAAAA,CAAQiB,EAAAA,CACN,OAAA,EACA,OAAOC,IAAAA,EAA0BC,CAAAA,KAAiB,MAAMN,OAAAA,CAAQb,OAAAA,CAAQoB,IAAAA,CAAK,OAAA,EAASF,IAAAA,CAAAA,CAAAA;IAE1F,CAAA,CAAA;AAEA,IAAA,OAAO;AAAEG,MAAAA,MAAAA,EAAQP,QAAAA,CAASO,MAAAA;AAAQC,MAAAA,KAAAA,EAAOR,QAAAA,CAASQ;AAAM,KAAA;AAC1D,EAAA;AAEA,EAAA,MAAMC,gBAAAA,GAAmB;AACvB,IAAA,OAAO,IAAA,CAAKtB,MAAMsB,gBAAAA,EAAgB;AACpC,EAAA;AAEA,EAAA,IAAIC,MAAAA,GAAS;AACX,IAAA,OAAO,KAAKvB,KAAAA,CAAMuB,MAAAA;AACpB,EAAA;AAEA,EAAA,IAAIA,OAAOA,MAAAA,EAAoB;AAC7B,IAAA,IAAA,CAAKvB,MAAMuB,MAAAA,GAASA,MAAAA;AACtB,EAAA;EAEAC,cAAAA,GAAiB;AACf,IAAA,OAAO;AACL,MAAA,GAAG,MAAMA,cAAAA,EAAAA;MACTvB,KAAAA,EAAOwB,qBAAAA,CAAY,KAAKxB,KAAK,CAAA;MAC7BD,KAAAA,EAAO,IAAA,CAAKA,MAAMwB,cAAAA,EAAc;AAChCzB,MAAAA,OAAAA,EAAS,IAAA,CAAKA;AAChB,KAAA;AACF,EAAA;AACF","file":"agent.cjs","sourcesContent":["/**\n * Copyright 2025 © BeeAI a Series of LF Projects, LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Emitter, EventMeta } from \"@/emitter/emitter.js\";\nimport { BaseAgent, BaseAgentRunOptions } from \"@/agents/base.js\";\nimport { GetRunContext } from \"@/context.js\";\nimport { ACPAgentUpdateEvent, ACPAgentErrorEvent } from \"@/adapters/acp/agents/events.js\";\nimport { BaseMemory } from \"@/memory/base.js\";\nimport { shallowCopy } from \"@/serializer/utils.js\";\nimport {\n  AgentStackAgentInput,\n  AgentStackAgentRunInput,\n  AgentStackAgentRunOutput,\n} from \"./types.js\";\nimport { AgentStackAgentEvents } from \"./events.js\";\nimport { ACPAgent } from \"@/adapters/acp/agents/agent.js\";\nimport { toCamelCase } from \"remeda\";\n\nexport class AgentStackAgent extends BaseAgent<AgentStackAgentRunInput, AgentStackAgentRunOutput> {\n  public readonly emitter: Emitter<AgentStackAgentEvents>;\n  protected agent: ACPAgent;\n\n  constructor(protected readonly input: AgentStackAgentInput) {\n    super();\n    this.agent = new ACPAgent(input);\n    this.emitter = Emitter.root.child<AgentStackAgentEvents>({\n      namespace: [\"agent\", \"agentStack\", toCamelCase(this.input.agentName)],\n      creator: this,\n    });\n  }\n\n  protected async _run(\n    input: AgentStackAgentRunInput,\n    _options: BaseAgentRunOptions,\n    context: GetRunContext<this>,\n  ): Promise<AgentStackAgentRunOutput> {\n    const response = await this.agent.run(input).observe((emitter) => {\n      emitter.on(\n        \"update\",\n        async (data: ACPAgentUpdateEvent, _: EventMeta) =>\n          await context.emitter.emit(\"update\", data),\n      );\n      emitter.on(\n        \"error\",\n        async (data: ACPAgentErrorEvent, _: EventMeta) => await context.emitter.emit(\"error\", data),\n      );\n    });\n\n    return { result: response.result, event: response.event };\n  }\n\n  async checkAgentExists() {\n    return this.agent.checkAgentExists();\n  }\n\n  get memory() {\n    return this.agent.memory;\n  }\n\n  set memory(memory: BaseMemory) {\n    this.agent.memory = memory;\n  }\n\n  createSnapshot() {\n    return {\n      ...super.createSnapshot(),\n      input: shallowCopy(this.input),\n      agent: this.agent.createSnapshot(),\n      emitter: this.emitter,\n    };\n  }\n}\n"]}