<mxfile host="Electron" version="29.6.1"><diagram id="cds-agent" name="Page-1"><mxGraphModel dx="1400" dy="800" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1560" pageHeight="760" 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;whiteSpace=wrap;fontSize=30;fontStyle=1;fontColor=#232F3E;fontFamily=Helvetica;" value="One agent behind four channel adapters" vertex="1"><mxGeometry x="40" y="20" width="1400" height="40" as="geometry"/></mxCell><mxCell id="sub" parent="1" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;fontSize=15;fontStyle=0;fontColor=#232F3E;fontFamily=Helvetica;" value="Receipts stop at step 2. Writes stop at step 5. Illustrative reference architecture, not a FactualMinds deployment." vertex="1"><mxGeometry x="42" y="62" 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="42" y="92" width="1480" height="10" as="geometry"/></mxCell><mxCell id="g-ch" parent="1" style="rounded=1;arcSize=6;whiteSpace=wrap;html=1;fillColor=#FCE4EC;strokeColor=#E7157B;fontSize=13;fontStyle=1;fontColor=#232F3E;fontFamily=Helvetica;verticalAlign=top;align=left;spacingLeft=10;spacingTop=6;spacingRight=8;strokeWidth=1.5;" value="Channels (CDS)" vertex="1"><mxGeometry x="40" y="130" width="170" height="500" as="geometry"/></mxCell><mxCell id="rcs" parent="1" style="sketch=0;outlineConnect=0;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.end_user_messaging;" value="" vertex="1"><mxGeometry x="101" y="175" width="48" height="48" as="geometry"/></mxCell><mxCell id="rcs-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="RCS" vertex="1"><mxGeometry x="55" y="229" width="140" height="40" as="geometry"/></mxCell><mxCell id="sms" parent="1" style="sketch=0;outlineConnect=0;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.end_user_messaging;" value="" vertex="1"><mxGeometry x="101" y="285" width="48" height="48" as="geometry"/></mxCell><mxCell id="sms-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="SMS" vertex="1"><mxGeometry x="55" y="339" width="140" height="40" as="geometry"/></mxCell><mxCell id="wa" parent="1" style="sketch=0;outlineConnect=0;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.end_user_messaging;" value="" vertex="1"><mxGeometry x="101" y="395" width="48" height="48" as="geometry"/></mxCell><mxCell id="wa-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="WhatsApp" vertex="1"><mxGeometry x="55" y="449" width="140" height="40" as="geometry"/></mxCell><mxCell id="ses" parent="1" style="sketch=0;outlineConnect=0;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.simple_email_service;" value="" vertex="1"><mxGeometry x="101" y="505" width="48" height="48" as="geometry"/></mxCell><mxCell id="ses-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Amazon SES" vertex="1"><mxGeometry x="55" y="559" width="140" height="40" as="geometry"/></mxCell><mxCell id="sns" parent="1" style="sketch=0;outlineConnect=0;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sns;" value="" vertex="1"><mxGeometry x="300" y="330" width="48" height="48" as="geometry"/></mxCell><mxCell id="sns-l" parent="1" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="SNS: two-way topics and event destinations" vertex="1"><mxGeometry x="254" y="286" width="140" height="40" as="geometry"/></mxCell><mxCell id="s1" parent="1" style="ellipse;html=1;fillColor=#007CBD;strokeColor=#FFFFFF;fontColor=#FFFFFF;fontStyle=1;fontSize=13;fontFamily=Helvetica;" value="1" vertex="1"><mxGeometry x="270" y="386" width="26" height="26" as="geometry"/></mxCell><mxCell id="norm" parent="1" style="sketch=0;outlineConnect=0;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" value="" vertex="1"><mxGeometry x="490" y="330" width="48" height="48" as="geometry"/></mxCell><mxCell id="norm-l" parent="1" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Normalize, dedup, drop receipts" vertex="1"><mxGeometry x="444" y="286" width="140" height="40" as="geometry"/></mxCell><mxCell id="s2" parent="1" style="ellipse;html=1;fillColor=#007CBD;strokeColor=#FFFFFF;fontColor=#FFFFFF;fontStyle=1;fontSize=13;fontFamily=Helvetica;" value="2" vertex="1"><mxGeometry x="460" y="386" width="26" height="26" as="geometry"/></mxCell><mxCell id="q" parent="1" style="sketch=0;outlineConnect=0;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;" value="" vertex="1"><mxGeometry x="680" y="330" width="48" height="48" as="geometry"/></mxCell><mxCell id="q-l" parent="1" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="SQS FIFO, one group per conversation" vertex="1"><mxGeometry x="634" y="286" width="140" height="40" as="geometry"/></mxCell><mxCell id="disp" parent="1" style="sketch=0;outlineConnect=0;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" value="" vertex="1"><mxGeometry x="870" y="330" width="48" height="48" as="geometry"/></mxCell><mxCell id="disp-l" parent="1" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Dispatcher: identity, consent, turn claim" vertex="1"><mxGeometry x="824" y="286" width="140" height="40" as="geometry"/></mxCell><mxCell id="s3" parent="1" style="ellipse;html=1;fillColor=#007CBD;strokeColor=#FFFFFF;fontColor=#FFFFFF;fontStyle=1;fontSize=13;fontFamily=Helvetica;" value="3" vertex="1"><mxGeometry x="840" y="386" width="26" height="26" as="geometry"/></mxCell><mxCell id="ddb" parent="1" style="sketch=0;outlineConnect=0;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.dynamodb;" value="" vertex="1"><mxGeometry x="490" y="480" width="48" height="48" as="geometry"/></mxCell><mxCell id="ddb-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Dedup keys, consent, conversation state" vertex="1"><mxGeometry x="444" y="534" width="140" height="40" as="geometry"/></mxCell><mxCell id="dlq" parent="1" style="sketch=0;outlineConnect=0;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sqs;" value="" vertex="1"><mxGeometry x="680" y="480" width="48" height="48" as="geometry"/></mxCell><mxCell id="dlq-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Dead-letter queue + alarm" vertex="1"><mxGeometry x="634" y="534" width="140" height="40" as="geometry"/></mxCell><mxCell id="g-ac" parent="1" style="rounded=1;arcSize=6;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#01A88D;fontSize=13;fontStyle=1;fontColor=#232F3E;fontFamily=Helvetica;verticalAlign=top;align=left;spacingLeft=10;spacingTop=6;spacingRight=8;strokeWidth=1.5;" value="Amazon Bedrock AgentCore" vertex="1"><mxGeometry x="1000" y="250" width="290" height="330" as="geometry"/></mxCell><mxCell id="rt" parent="1" style="sketch=0;outlineConnect=0;fillColor=#01A88D;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.bedrock_agentcore;" value="" vertex="1"><mxGeometry x="1040" y="330" width="48" height="48" as="geometry"/></mxCell><mxCell id="rt-l" parent="1" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Runtime, one session per conversation" vertex="1"><mxGeometry x="994" y="286" width="140" height="40" as="geometry"/></mxCell><mxCell id="s4" parent="1" style="ellipse;html=1;fillColor=#007CBD;strokeColor=#FFFFFF;fontColor=#FFFFFF;fontStyle=1;fontSize=13;fontFamily=Helvetica;" value="4" vertex="1"><mxGeometry x="1010" y="386" width="26" height="26" as="geometry"/></mxCell><mxCell id="gw" parent="1" style="sketch=0;outlineConnect=0;fillColor=#01A88D;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.bedrock_agentcore;" value="" vertex="1"><mxGeometry x="1200" y="330" width="48" height="48" as="geometry"/></mxCell><mxCell id="gw-l" parent="1" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Gateway + Policy" vertex="1"><mxGeometry x="1154" y="286" width="140" height="40" as="geometry"/></mxCell><mxCell id="mem" parent="1" style="sketch=0;outlineConnect=0;fillColor=#01A88D;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.bedrock_agentcore;" value="" vertex="1"><mxGeometry x="1120" y="470" width="48" height="48" as="geometry"/></mxCell><mxCell id="mem-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Memory, Observability, Evaluations" vertex="1"><mxGeometry x="1074" y="524" width="140" height="40" as="geometry"/></mxCell><mxCell id="tools" parent="1" style="rounded=1;arcSize=6;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#01A88D;fontSize=12;fontStyle=0;fontColor=#232F3E;fontFamily=Helvetica;verticalAlign=middle;align=left;spacingLeft=10;spacingTop=6;spacingRight=8;strokeWidth=1.5;" value="Read tools: order status, delivery window, policy text" vertex="1"><mxGeometry x="1350" y="240" width="170" height="80" as="geometry"/></mxCell><mxCell id="prop" parent="1" style="rounded=1;arcSize=6;whiteSpace=wrap;html=1;fillColor=#FFF3E0;strokeColor=#ED7100;fontSize=12;fontStyle=0;fontColor=#232F3E;fontFamily=Helvetica;verticalAlign=middle;align=left;spacingLeft=10;spacingTop=6;spacingRight=8;strokeWidth=1.5;" value="Write tools return a proposal: refund, address change" vertex="1"><mxGeometry x="1350" y="370" width="170" height="80" as="geometry"/></mxCell><mxCell id="sfn" parent="1" style="sketch=0;outlineConnect=0;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.step_functions;" value="" vertex="1"><mxGeometry x="1411" y="490" width="48" height="48" as="geometry"/></mxCell><mxCell id="sfn-l" parent="1" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Approval workflow" vertex="1"><mxGeometry x="1261" y="494" width="140" height="40" as="geometry"/></mxCell><mxCell id="s5" parent="1" style="ellipse;html=1;fillColor=#007CBD;strokeColor=#FFFFFF;fontColor=#FFFFFF;fontStyle=1;fontSize=13;fontFamily=Helvetica;" value="5" vertex="1"><mxGeometry x="1466" y="501" width="26" height="26" as="geometry"/></mxCell><mxCell id="person" parent="1" style="sketch=0;outlineConnect=0;fillColor=#232F3E;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.users;" value="" vertex="1"><mxGeometry x="1411" y="600" width="48" height="48" as="geometry"/></mxCell><mxCell id="person-l" parent="1" style="text;html=1;align=right;verticalAlign=middle;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Named approver" vertex="1"><mxGeometry x="1261" y="604" width="140" height="40" as="geometry"/></mxCell><mxCell id="out" parent="1" style="sketch=0;outlineConnect=0;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;html=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" value="" vertex="1"><mxGeometry x="870" y="640" width="48" height="48" as="geometry"/></mxCell><mxCell id="out-l" parent="1" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;fontSize=12;fontColor=#232F3E;fontFamily=Helvetica;" value="Channel adapter: same channel, right identity, consent check" vertex="1"><mxGeometry x="824" y="694" width="140" height="40" as="geometry"/></mxCell><mxCell id="s6" parent="1" style="ellipse;html=1;fillColor=#007CBD;strokeColor=#FFFFFF;fontColor=#FFFFFF;fontStyle=1;fontSize=13;fontFamily=Helvetica;" value="6" vertex="1"><mxGeometry x="920" y="625" width="26" height="26" as="geometry"/></mxCell><mxCell id="in0" parent="1" source="rcs" target="sns" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="in1" parent="1" source="sms" target="sns" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="in2" parent="1" source="wa" target="sns" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="in3" parent="1" source="ses" target="sns" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=1;exitX=1;exitY=0.5;entryX=0.5;entryY=1;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e4" parent="1" source="sns" target="norm" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e5" parent="1" source="norm" target="q" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e6" parent="1" source="q" target="disp" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e5b" parent="1" source="norm" target="ddb" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e6b" parent="1" source="q" target="dlq" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e7" parent="1" source="disp" target="rt" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e8" parent="1" source="rt" target="gw" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e9" parent="1" source="gw" target="tools" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;exitX=1;exitY=0.25;entryX=0;entryY=0.5;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e10" parent="1" source="gw" target="prop" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;exitX=1;exitY=0.75;entryX=0;entryY=0.5;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e11" parent="1" source="prop" target="sfn" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e12" parent="1" source="sfn" target="person" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=0;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e13" parent="1" source="rt" target="mem" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#232F3E;dashed=1;exitX=0.5;exitY=1;entryX=0;entryY=0.5;" value=""><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e14" parent="1" source="rt" target="out" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#007CBD;dashed=0;exitX=0.25;exitY=1;entryX=1;entryY=0.5;" value=""><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1052" y="664"/></Array></mxGeometry></mxCell><mxCell id="e15" parent="1" source="out" target="g-ch" edge="1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#007CBD;dashed=0;exitX=0;exitY=0.5;entryX=0.5;entryY=1;" value=""><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="125" y="664"/></Array></mxGeometry></mxCell></root></mxGraphModel></diagram></mxfile>