<mxfile host="app.diagrams.net" version="22.1.0">
  <diagram name="LangGraph-AgentCore" id="langgraph-agentcore">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1000" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="title" parent="1" style="text;html=1;align=left;verticalAlign=top;fontSize=24;fontStyle=1;fontFamily=Helvetica;fontColor=#232F3E;" value="LangGraph on Amazon Bedrock AgentCore Runtime" vertex="1">
          <mxGeometry x="40" y="20" width="1400" height="32" as="geometry" />
        </mxCell>
        <mxCell id="subtitle" parent="1" style="text;html=1;align=left;verticalAlign=top;fontSize=13;fontFamily=Helvetica;fontColor=#545B64;" value="Application graph (State / Nodes / Edges / HITL) on Runtime; AgentCore Memory, Gateway, Identity, Observability; Bedrock Converse for models" vertex="1">
          <mxGeometry x="40" y="52" width="1400" height="24" as="geometry" />
        </mxCell>
        <mxCell id="sep" parent="1" style="line;strokeWidth=2;html=1;strokeColor=#FF9900;" value="" vertex="1">
          <mxGeometry x="40" y="84" width="1480" height="10" as="geometry" />
        </mxCell>
        <mxCell id="app" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F2F3F3;strokeColor=#545B64;fontFamily=Helvetica;fontSize=12;fontStyle=1;" value="Business application&#xa;ticket / CRM / ops UI" vertex="1">
          <mxGeometry x="40" y="200" width="150" height="70" as="geometry" />
        </mxCell>
        <mxCell id="api" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F2F3F3;strokeColor=#545B64;fontFamily=Helvetica;fontSize=12;fontStyle=1;" value="API / Event&#xa;API Gateway, EventBridge" vertex="1">
          <mxGeometry x="220" y="200" width="160" height="70" as="geometry" />
        </mxCell>
        <mxCell id="identity" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFEBEE;strokeColor=#DD344C;fontColor=#DD344C;fontFamily=Helvetica;fontSize=12;fontStyle=1;" value="AgentCore Identity&#xa;inbound JWT / outbound creds" vertex="1">
          <mxGeometry x="410" y="200" width="170" height="70" as="geometry" />
        </mxCell>
        <mxCell id="runtime" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3E8FD;strokeColor=#8C4FFF;fontColor=#8C4FFF;fontFamily=Helvetica;fontSize=12;fontStyle=1;" value="AgentCore Runtime (ARM64)&#xa;LangGraph StateGraph&#xa;classify → retrieve → tool → HITL" vertex="1">
          <mxGeometry x="610" y="180" width="210" height="110" as="geometry" />
        </mxCell>
        <mxCell id="state" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E6F2F8;strokeColor=#3B48CC;fontColor=#3B48CC;fontFamily=Helvetica;fontSize=11;fontStyle=1;" value="Graph state + routing&#xa;conditional edges / loops" vertex="1">
          <mxGeometry x="610" y="320" width="210" height="56" as="geometry" />
        </mxCell>
        <mxCell id="hitl" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2E8;strokeColor=#ED7100;fontColor=#ED7100;fontFamily=Helvetica;fontSize=11;fontStyle=1;" value="Human approval&#xa;interrupt / resume" vertex="1">
          <mxGeometry x="610" y="400" width="210" height="50" as="geometry" />
        </mxCell>
        <mxCell id="memory" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2E8;strokeColor=#ED7100;fontColor=#ED7100;fontFamily=Helvetica;fontSize=11;fontStyle=1;" value="AgentCore Memory&#xa;AgentCoreMemorySaver + Store" vertex="1">
          <mxGeometry x="860" y="150" width="200" height="60" as="geometry" />
        </mxCell>
        <mxCell id="gateway" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3E8FD;strokeColor=#8C4FFF;fontColor=#8C4FFF;fontFamily=Helvetica;fontSize=12;fontStyle=1;" value="AgentCore Gateway&#xa;MCP / OpenAPI / Lambda tools" vertex="1">
          <mxGeometry x="860" y="230" width="200" height="70" as="geometry" />
        </mxCell>
        <mxCell id="policy" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFEBEE;strokeColor=#DD344C;fontColor=#DD344C;fontFamily=Helvetica;fontSize=11;fontStyle=1;" value="Policy (Cedar)&#xa;write-tool intercept" vertex="1">
          <mxGeometry x="860" y="320" width="200" height="56" as="geometry" />
        </mxCell>
        <mxCell id="bedrock" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E6F2F8;strokeColor=#3B48CC;fontColor=#3B48CC;fontFamily=Helvetica;fontSize=12;fontStyle=1;" value="Amazon Bedrock&#xa;Converse / Guardrails / KB" vertex="1">
          <mxGeometry x="1100" y="150" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="enterprise" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E9F5EC;strokeColor=#1B861F;fontColor=#1B861F;fontFamily=Helvetica;fontSize=11;fontStyle=1;" value="Enterprise APIs / DBs&#xa;CRM, OMS, runbooks" vertex="1">
          <mxGeometry x="1100" y="250" width="190" height="70" as="geometry" />
        </mxCell>
        <mxCell id="obs" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F2F3F3;strokeColor=#545B64;fontFamily=Helvetica;fontSize=11;" value="Observability → CloudWatch (OTEL) + Evaluations" vertex="1">
          <mxGeometry x="610" y="480" width="450" height="40" as="geometry" />
        </mxCell>
        <mxCell id="e1" edge="1" parent="1" source="app" target="api" style="endArrow=classic;strokeColor=#545B64;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e2" edge="1" parent="1" source="api" target="identity" style="endArrow=classic;strokeColor=#545B64;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e3" edge="1" parent="1" source="identity" target="runtime" style="endArrow=classic;strokeColor=#8C4FFF;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e4" edge="1" parent="1" source="runtime" target="state" style="endArrow=classic;strokeColor=#3B48CC;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e5" edge="1" parent="1" source="state" target="hitl" style="endArrow=classic;dashed=1;strokeColor=#ED7100;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e6" edge="1" parent="1" source="hitl" target="runtime" style="endArrow=classic;dashed=1;strokeColor=#ED7100;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e7" edge="1" parent="1" source="runtime" target="memory" style="endArrow=classic;strokeColor=#ED7100;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e8" edge="1" parent="1" source="runtime" target="gateway" style="endArrow=classic;strokeColor=#8C4FFF;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e9" edge="1" parent="1" source="gateway" target="policy" style="endArrow=classic;strokeColor=#DD344C;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e10" edge="1" parent="1" source="runtime" target="bedrock" style="endArrow=classic;strokeColor=#3B48CC;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="e11" edge="1" parent="1" source="policy" target="enterprise" style="endArrow=classic;strokeColor=#1B861F;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
