<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/29.6.1 Chrome/142.0.7444.265 Electron/39.8.0 Safari/537.36" version="29.6.1">
  <diagram name="Page-1" id="diagram-1">
    <mxGraphModel dx="3348" dy="1143" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1200" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="title-group" connectable="0" parent="1" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="83" width="1500" x="50" y="30" as="geometry" />
        </mxCell>
        <mxCell id="title-text" parent="title-group" style="text;html=1;resizable=1;points=[];autosize=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=30;fontStyle=1;fontFamily=Helvetica;" value="Agentic AI Platform" vertex="1">
          <mxGeometry height="42" width="800" as="geometry" />
        </mxCell>
        <mxCell id="subtitle-text" parent="title-group" style="text;html=1;resizable=0;points=[];autosize=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=16;fontFamily=Helvetica;" value="Serverless AI agent platform with Bedrock AgentCore orchestration, Step Functions workflows, and event-driven architecture" vertex="1">
          <mxGeometry height="25" width="900" x="5" y="40" as="geometry" />
        </mxCell>
        <mxCell id="title-separator" parent="title-group" style="line;strokeWidth=2;html=1;fontSize=14;strokeColor=#FF9900;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="10" width="1490" x="5" y="70" as="geometry" />
        </mxCell>
        <mxCell id="users-container" parent="1" style="fillColor=#f5f5f5;strokeColor=light-dark(#666666,#D4D4D4);rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#333333;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1;perimeterSpacing=0;" value="Users" vertex="1">
          <mxGeometry height="98" width="107" x="50" y="200" as="geometry" />
        </mxCell>
        <mxCell id="users-icon" parent="users-container" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#232F3D;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.users;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="48" width="48" x="30" y="30" as="geometry" />
        </mxCell>
        <mxCell id="mobile-container" parent="1" style="fillColor=#f5f5f5;strokeColor=light-dark(#666666,#D4D4D4);rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#333333;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1;perimeterSpacing=0;" value="Mobile Client" vertex="1">
          <mxGeometry height="98" width="107" x="50" y="360" as="geometry" />
        </mxCell>
        <mxCell id="mobile-icon" parent="mobile-container" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#232F3D;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.mobile_client;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="48" width="48" x="30" y="30" as="geometry" />
        </mxCell>
        <mxCell id="aws-cloud" parent="1" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud;strokeColor=light-dark(#232F3E,#E0ECFB);fillColor=light-dark(#232F3E0D,#90C7FF0D);fillStyle=auto;verticalAlign=top;align=left;spacingLeft=30;fontColor=light-dark(#000000,#F4F4F4);dashed=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;fontFamily=Helvetica;" value="AWS Cloud" vertex="1">
          <mxGeometry height="1020" width="1310" x="230" y="140" as="geometry" />
        </mxCell>
        <mxCell id="region-1" parent="1" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=14;fontStyle=1;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_region;strokeColor=#00A4A6;fillColor=light-dark(#0C7B7D0D,#0C7B7D0D);fillStyle=auto;verticalAlign=top;align=left;spacingLeft=30;fontColor=#00A4A6;dashed=1;container=0;pointerEvents=0;collapsible=0;recursiveResize=0;fontFamily=Helvetica;" value="Region: us-east-1" vertex="1">
          <mxGeometry height="960" width="1250" x="260" y="170" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-cognito" parent="1" style="fillColor=#FFEBEE;strokeColor=#DD344C;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#DD344C;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Auth" vertex="1">
          <mxGeometry height="120" width="120" x="350" y="200" as="geometry" />
        </mxCell>
        <mxCell id="svc-cognito" parent="svc-group-cognito" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cognito;fontFamily=Helvetica;shadow=1;" value="Amazon Cognito&lt;div&gt;&lt;i&gt;user auth&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-apigw" parent="1" style="fillColor=#EDE7F6;strokeColor=#8C4FFF;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#8C4FFF;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="API" vertex="1">
          <mxGeometry height="120" width="120" x="350" y="390" as="geometry" />
        </mxCell>
        <mxCell id="svc-apigw" parent="svc-group-apigw" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.api_gateway;fontFamily=Helvetica;shadow=1;" value="API Gateway&lt;div&gt;&lt;i&gt;REST endpoint&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-lambda" parent="1" style="fillColor=#FFF2E8;strokeColor=#ED7100;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#ED7100;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Compute" vertex="1">
          <mxGeometry height="120" width="120" x="620" y="390" as="geometry" />
        </mxCell>
        <mxCell id="svc-lambda" parent="svc-group-lambda" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;fontFamily=Helvetica;shadow=1;" value="AWS Lambda&lt;div&gt;&lt;i&gt;orchestrator&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-agentcore" parent="1" style="fillColor=#E0F2F1;strokeColor=#01A88D;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#01A88D;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Agent Runtime" vertex="1">
          <mxGeometry height="120" width="120" x="620" y="580" as="geometry" />
        </mxCell>
        <mxCell id="svc-agentcore" parent="svc-group-agentcore" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#01A88D;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.bedrock_agentcore;fontFamily=Helvetica;shadow=1;" value="Bedrock AgentCore&lt;div&gt;&lt;i&gt;runtime + memory&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-sfn" parent="1" style="fillColor=#FCE4EC;strokeColor=#E7157B;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#E7157B;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Workflows" vertex="1">
          <mxGeometry height="120" width="120" x="890" y="390" as="geometry" />
        </mxCell>
        <mxCell id="svc-sfn" parent="svc-group-sfn" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.step_functions;fontFamily=Helvetica;shadow=1;" value="Step Functions&lt;div&gt;&lt;i&gt;multi-step workflows&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-eb" parent="1" style="fillColor=#FCE4EC;strokeColor=#E7157B;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#E7157B;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Event Bus" vertex="1">
          <mxGeometry height="120" width="120" x="890" y="580" as="geometry" />
        </mxCell>
        <mxCell id="svc-eb" parent="svc-group-eb" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.eventbridge;fontFamily=Helvetica;shadow=1;" value="EventBridge&lt;div&gt;&lt;i&gt;async events&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-dynamo-sessions" parent="1" style="fillColor=#F5E6F7;strokeColor=#C925D1;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#C925D1;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Session Store" vertex="1">
          <mxGeometry height="120" width="120" x="620" y="778" as="geometry" />
        </mxCell>
        <mxCell id="svc-dynamo-sessions" parent="svc-group-dynamo-sessions" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;fontFamily=Helvetica;shadow=1;" value="DynamoDB&lt;div&gt;&lt;i&gt;session store&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-dynamo-inventory" parent="1" style="fillColor=#F5E6F7;strokeColor=#C925D1;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#C925D1;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Inventory" vertex="1">
          <mxGeometry height="120" width="120" x="890" y="810" as="geometry" />
        </mxCell>
        <mxCell id="svc-dynamo-inventory" parent="svc-group-dynamo-inventory" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;fontFamily=Helvetica;shadow=1;" value="DynamoDB&lt;div&gt;&lt;i&gt;inventory table&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-s3" parent="1" style="fillColor=#E8F5E9;strokeColor=#3F8624;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#3F8624;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Knowledge" vertex="1">
          <mxGeometry height="120" width="120" x="350" y="580" as="geometry" />
        </mxCell>
        <mxCell id="svc-s3" parent="svc-group-s3" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#3F8624;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.s3;fontFamily=Helvetica;shadow=1;" value="Amazon S3&lt;div&gt;&lt;i&gt;knowledge base&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-apprunner" parent="1" style="fillColor=#FFF2E8;strokeColor=#ED7100;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#ED7100;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Admin" vertex="1">
          <mxGeometry height="120" width="120" x="1160" y="810" as="geometry" />
        </mxCell>
        <mxCell id="svc-apprunner" parent="svc-group-apprunner" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ecs;fontFamily=Helvetica;shadow=1;" value="ECS Fargate&lt;div&gt;&lt;i&gt;admin dashboard&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="edge-users-to-apigw" edge="1" parent="1" source="users-container" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" target="svc-group-apigw">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="279" y="249" />
              <mxPoint x="279" y="420" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-users-to-apigw-label" connectable="0" parent="edge-users-to-apigw" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" vertex="1">
          <mxGeometry relative="1" y="-15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-mobile-to-apigw" edge="1" parent="1" source="mobile-container" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;" target="svc-group-apigw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-mobile-to-apigw-label" connectable="0" parent="edge-mobile-to-apigw" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" vertex="1">
          <mxGeometry relative="1" y="15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-cognito-to-apigw" edge="1" parent="1" source="svc-group-cognito" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="svc-group-apigw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-cognito-to-apigw-label" connectable="0" parent="edge-cognito-to-apigw" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="authenticate" vertex="1">
          <mxGeometry relative="1" x="0.1" y="15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-apigw-to-lambda" edge="1" parent="1" source="svc-group-apigw" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;" target="svc-group-lambda">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-apigw-to-lambda-label" connectable="0" parent="edge-apigw-to-lambda" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="route request" vertex="1">
          <mxGeometry relative="1" y="-15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-lambda-to-agentcore" edge="1" parent="1" source="svc-group-lambda" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="svc-group-agentcore">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-lambda-to-agentcore-label" connectable="0" parent="edge-lambda-to-agentcore" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="invoke agent" vertex="1">
          <mxGeometry relative="1" x="0.1" y="15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-lambda-to-sfn" edge="1" parent="1" source="svc-group-lambda" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="svc-group-sfn">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-lambda-to-sfn-label" connectable="0" parent="edge-lambda-to-sfn" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="start workflow" vertex="1">
          <mxGeometry relative="1" y="-15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-lambda-to-eb" edge="1" parent="1" source="svc-group-lambda" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" target="svc-group-eb">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="823" y="480" />
              <mxPoint x="823" y="580" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-lambda-to-eb-label" connectable="0" parent="edge-lambda-to-eb" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="publish events" vertex="1">
          <mxGeometry relative="1" x="-0.2" y="-15" as="geometry">
            <mxPoint x="13" y="5" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-agentcore-to-s3" edge="1" parent="1" source="svc-group-agentcore" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" target="svc-group-s3">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-agentcore-to-s3-label" connectable="0" parent="edge-agentcore-to-s3" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="retrieve knowledge" vertex="1">
          <mxGeometry relative="1" y="-15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-agentcore-to-sessions" edge="1" parent="1" source="svc-group-agentcore" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="svc-group-dynamo-sessions">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-agentcore-to-sessions-label" connectable="0" parent="edge-agentcore-to-sessions" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="read/write sessions" vertex="1">
          <mxGeometry relative="1" x="0.1" y="15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-sfn-to-inventory" edge="1" parent="1" source="svc-group-sfn" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="svc-group-dynamo-inventory">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1125" y="450" />
              <mxPoint x="1125" y="769" />
              <mxPoint x="950" y="769" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-sfn-to-inventory-label" connectable="0" parent="edge-sfn-to-inventory" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="update inventory" vertex="1">
          <mxGeometry relative="1" x="0.1" y="15" as="geometry">
            <mxPoint x="-15" y="-89" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-eb-to-sfn" edge="1" parent="1" source="svc-group-eb" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" target="svc-group-sfn">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="950" y="560" />
              <mxPoint x="950" y="560" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-eb-to-sfn-label" connectable="0" parent="edge-eb-to-sfn" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="trigger workflow" vertex="1">
          <mxGeometry relative="1" x="0.2" y="-15" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="edge-apprunner-to-inventory" edge="1" parent="1" source="svc-group-apprunner" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" target="svc-group-dynamo-inventory">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-apprunner-to-inventory-label" connectable="0" parent="edge-apprunner-to-inventory" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;fontFamily=Helvetica;" value="read inventory" vertex="1">
          <mxGeometry relative="1" y="-15" as="geometry">
            <mxPoint y="28" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="step-1" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="1" vertex="1">
          <mxGeometry height="28" width="28" x="309" y="209" as="geometry" />
        </mxCell>
        <mxCell id="step-2" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="2" vertex="1">
          <mxGeometry height="28" width="28" x="200" y="370" as="geometry" />
        </mxCell>
        <mxCell id="step-3" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="3" vertex="1">
          <mxGeometry height="28" width="28" x="532" y="408" as="geometry" />
        </mxCell>
        <mxCell id="step-4" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="4" vertex="1">
          <mxGeometry height="28" width="28" x="620" y="535" as="geometry" />
        </mxCell>
        <mxCell id="step-5" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="5" vertex="1">
          <mxGeometry height="28" width="28" x="800" y="408" as="geometry" />
        </mxCell>
        <mxCell id="step-6" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="6" vertex="1">
          <mxGeometry height="28" width="28" x="782" y="528" as="geometry" />
        </mxCell>
        <mxCell id="step-7" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="7" vertex="1">
          <mxGeometry height="28" width="28" x="572" y="760" as="geometry" />
        </mxCell>
        <mxCell id="step-8" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=16;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;align=center;verticalAlign=middle;labelBackgroundColor=none;" value="8" vertex="1">
          <mxGeometry height="28" width="28" x="1071" y="824" as="geometry" />
        </mxCell>
        <mxCell id="legend-outer" connectable="0" parent="1" style="group" value="" vertex="1">
          <mxGeometry height="1130" width="650" x="1600" y="30" as="geometry" />
        </mxCell>
        <mxCell id="legend-bg" parent="legend-outer" style="verticalLabelPosition=bottom;verticalAlign=top;html=1;shape=mxgraph.basic.rect;fillColor2=none;strokeWidth=1;size=20;indent=5;fillColor=light-dark(#EDF3FF,#305363);strokeColor=#6c8ebf;" value="" vertex="1">
          <mxGeometry height="1130" width="650" as="geometry" />
        </mxCell>
        <mxCell id="legend-container" connectable="0" parent="legend-outer" style="group" value="" vertex="1">
          <mxGeometry height="1080" width="602" x="20" y="25" as="geometry" />
        </mxCell>
        <mxCell id="step-1-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="80" width="600" as="geometry" />
        </mxCell>
        <mxCell id="step-1-badge-legend" parent="step-1-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="1" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-1-desc-legend" parent="step-1-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;User Authentication&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Users and mobile clients authenticate via Amazon Cognito&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;JWT tokens authorize access to API Gateway endpoints&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="step-2-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="80" width="600" y="90" as="geometry" />
        </mxCell>
        <mxCell id="step-2-badge-legend" parent="step-2-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="2" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-2-desc-legend" parent="step-2-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;API Gateway Entry&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;API Gateway receives authenticated requests&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Routes to Lambda orchestrator for processing&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="step-3-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="80" width="600" y="180" as="geometry" />
        </mxCell>
        <mxCell id="step-3-badge-legend" parent="step-3-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="3" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-3-desc-legend" parent="step-3-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Lambda Orchestration&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Lambda orchestrator invokes Bedrock AgentCore for AI tasks&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Triggers Step Functions for complex multi-step workflows&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="step-4-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="80" width="600" y="270" as="geometry" />
        </mxCell>
        <mxCell id="step-4-badge-legend" parent="step-4-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="4" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-4-desc-legend" parent="step-4-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Agent Runtime + Memory&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;AgentCore provides runtime and conversation memory&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Retrieves knowledge from S3 for contextual responses&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="step-5-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="80" width="600" y="360" as="geometry" />
        </mxCell>
        <mxCell id="step-5-badge-legend" parent="step-5-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="5" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-5-desc-legend" parent="step-5-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Multi-Step Workflows&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Step Functions orchestrates complex multi-step business flows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Updates DynamoDB inventory table with workflow results&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="step-6-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="80" width="600" y="450" as="geometry" />
        </mxCell>
        <mxCell id="step-6-badge-legend" parent="step-6-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="6" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-6-desc-legend" parent="step-6-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Async Event Routing&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;EventBridge routes async events between services&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Triggers Step Functions workflows based on event patterns&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="step-7-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="80" width="600" y="540" as="geometry" />
        </mxCell>
        <mxCell id="step-7-badge-legend" parent="step-7-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="7" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-7-desc-legend" parent="step-7-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Data Persistence&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;DynamoDB stores session state and vehicle inventory&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;S3 provides knowledge base for agent reasoning&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="step-8-legend-group" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="135" width="600" y="630" as="geometry" />
        </mxCell>
        <mxCell id="step-8-badge-legend" parent="step-8-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="8" vertex="1">
          <mxGeometry height="38" width="40" y="2" as="geometry" />
        </mxCell>
        <mxCell id="step-8-desc-legend" parent="step-8-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Admin Dashboard&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;ECS Fargate hosts the admin dashboard for operations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Reads inventory data from DynamoDB for monitoring&lt;/span&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="80" width="548" x="52" as="geometry" />
        </mxCell>
        <mxCell id="jyVs7GgIkLTRjIjV6R_S-1" parent="step-8-legend-group" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;rounded=0;" value="&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;i&gt;CloudWatch monitors all Lambda, AgentCore, and Step Functions.&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;i&gt;IAM provides roles and policies for all services.&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="30" width="474" y="105" as="geometry" />
        </mxCell>
        <mxCell id="legend-line-styles-outer" connectable="0" parent="legend-container" style="group;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry height="133" width="600" y="797" as="geometry" />
        </mxCell>
        <mxCell id="legend-line-styles-group" parent="legend-line-styles-outer" style="group;fontFamily=Helvetica;fillColor=light-dark(#F5F5F5,#29393B);strokeColor=#666666;rounded=1;" value="" vertex="1">
          <mxGeometry height="133" width="456" as="geometry" />
        </mxCell>
        <mxCell id="legend-line-title" parent="legend-line-styles-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;fontStyle=1;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="Line Styles" vertex="1">
          <mxGeometry height="26" width="152" x="4" y="4" as="geometry" />
        </mxCell>
        <mxCell id="legend-line-desc" parent="legend-line-styles-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=13;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;---- Solid&lt;/b&gt;: Request/response and data flow&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="100" width="440" x="8" y="30" as="geometry" />
        </mxCell>
        <mxCell id="sPYyA0Y9JWH9Wk6o2K7T-3" connectable="0" parent="1" style="group" value="" vertex="1">
          <mxGeometry height="186" width="389" x="292" y="923" as="geometry" />
        </mxCell>
        <mxCell id="sPYyA0Y9JWH9Wk6o2K7T-1" parent="sPYyA0Y9JWH9Wk6o2K7T-3" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=none;dashed=1;" value="Auxiliary Services" vertex="1">
          <mxGeometry height="186" width="389" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-iam" parent="sPYyA0Y9JWH9Wk6o2K7T-3" style="fillColor=#FFEBEE;strokeColor=#DD344C;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#DD344C;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Security" vertex="1">
          <mxGeometry height="120" width="120" x="38" y="46" as="geometry" />
        </mxCell>
        <mxCell id="svc-iam" parent="svc-group-iam" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.identity_and_access_management;fontFamily=Helvetica;shadow=1;" value="IAM&lt;div&gt;&lt;i&gt;roles + policies&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
        <mxCell id="svc-group-cw" parent="sPYyA0Y9JWH9Wk6o2K7T-3" style="fillColor=#FCE4EC;strokeColor=#E7157B;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#E7157B;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Monitoring" vertex="1">
          <mxGeometry height="120" width="120" x="228" y="46" as="geometry" />
        </mxCell>
        <mxCell id="svc-cw" parent="svc-group-cw" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudwatch;fontFamily=Helvetica;shadow=1;" value="CloudWatch&lt;div&gt;&lt;i&gt;metrics + logs&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
