<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="eli.ai" agent="eli.ai diagram exporter" version="1">
  <diagram id="agent-and-api-integration-overview-75cdeede" name="Agent and API integration overview">
    <mxGraphModel dx="1600" dy="1200" grid="1" 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"/>
        <object id="1" label="Agent and API integration overview" schemaVersion="1" diagramId="agent-and-api-integration-overview-75cdeede" canonicalAppearanceKey="md:docs/architecture/workspace/10-end-to-end-journeys.md#9" sourceSha256="75cdeede71e7ea5365aea2b4e63d3824ed34df38cf5202b20a19ae7df9b76ee9" metadataPayloadSha256="74875b7da2de5dd976634b2f94b488989b7ca3c99dcc6e8379763ac26ae15a40" generationKey="e8e7c290408f369c8057b6c092d45a88ba7d0e3783b41ba1cad8d81d55dc6136" concepts="[&quot;End to end journeys&quot;]" keywords="[&quot;notes_save RPC + RLS in SaaS&quot;,&quot;HTTP MCP&quot;,&quot;/ OpenAI-compatible API&quot;,&quot;SSE events, git commit as agent&quot;,&quot;eli_pat prefix + secret&quot;,&quot;StorageAdapter: .md + SQLite locally&quot;,&quot;Agent spawns node&quot;,&quot;SaaS PAT minted at&quot;,&quot;PAT auth + rate limit&quot;,&quot;Setup dialog writes 5 agent configs&quot;,&quot;claude, cursor, codex, gemini, openclaw&quot;,&quot;stdio JSON-RPC, no per-call auth&quot;,&quot;Side effects: agent-attributed versions&quot;,&quot;RAG injection + optional vault tools&quot;,&quot;Digest note + embed:backfill CLI&quot;,&quot;bridge agent-written notes to vectors&quot;,&quot;bin/eli-mcp.mjs&quot;,&quot;Settings/Developers&quot;,&quot;/api/mcp/transport&quot;,&quot;60/min&quot;,&quot;template / daily / comment / diff / memory&quot;]" application="{&quot;name&quot;:&quot;eli-ai&quot;,&quot;version&quot;:&quot;0.1.0&quot;}" packages="{&quot;mermaid&quot;:&quot;11.16.0&quot;,&quot;mermaidCli&quot;:&quot;11.16.0&quot;,&quot;playwright&quot;:&quot;1.62.1&quot;,&quot;playwrightCore&quot;:&quot;1.62.1&quot;,&quot;puppeteer&quot;:&quot;25.6.0&quot;,&quot;puppeteerCore&quot;:&quot;25.6.0&quot;}" environment="{&quot;architecture&quot;:&quot;x64&quot;,&quot;containerImage&quot;:&quot;playwright:v1.62.1-noble@sha256:c091b21d9fae78c76e85cd4356431e9b018402f172a214fc7d7a5e9a7e29d8ac+node:26.3.1-bookworm-slim@sha256:209558c3e5e40e8adff68959d3c2ba7cd73723e716d89196878a0c362fa1e109&quot;,&quot;node&quot;:&quot;v26.3.1&quot;,&quot;platform&quot;:&quot;linux&quot;,&quot;yarn&quot;:&quot;4.17.1&quot;}" renderer="{&quot;browser&quot;:{&quot;executableSha256&quot;:&quot;0b20b130e7edd9dd51873be867761295fe0cfad490c2b9a64f95bd3cfc08fa71&quot;,&quot;name&quot;:&quot;chromium&quot;,&quot;revision&quot;:&quot;1234&quot;,&quot;version&quot;:&quot;151.0.7922.34&quot;},&quot;font&quot;:{&quot;family&quot;:&quot;Eli Diagram Inter Variable&quot;,&quot;fileSha256&quot;:&quot;3100e775e8616cd2611beecfa23a4263d7037586789b43f035236a2e6fbd4c62&quot;,&quot;licenseSha256&quot;:&quot;3b0a5fca3d17942cde889069889dedbbbd075e9b599968c82a95f4d944e9b345&quot;},&quot;mermaidConfigSha256&quot;:&quot;68c10966fe84406ee626034d58bfabd555df9f65f691204b7c46db24038da101&quot;,&quot;themeCssSha256&quot;:&quot;c80287a78d80ad63d27bd5ca348b2ef9a7e2f44da289e436be6484ea28a1b033&quot;}" adapterVersions="{&quot;diagramGenerator&quot;:&quot;2&quot;,&quot;drawioFlowchart&quot;:&quot;1&quot;,&quot;drawioGantt&quot;:&quot;1&quot;,&quot;drawioSequence&quot;:&quot;1&quot;,&quot;drawioState&quot;:&quot;1&quot;}" mermaidType="flowchart" direction="LR" generatedAt="2026-08-12T23:36:18.189Z" mermaidSource="flowchart LR&#10;    n1[&quot;Setup dialog writes 5 agent configs&lt;br/&gt;(claude, cursor, codex, gemini, openclaw)&quot;] --&gt; n2[&quot;Agent spawns node bin/eli-mcp.mjs&lt;br/&gt;stdio JSON-RPC, no per-call auth&quot;]&#10;    n3[&quot;SaaS PAT minted at Settings/Developers&lt;br/&gt;eli_pat prefix + sha256 secret&quot;] --&gt; n4[&quot;HTTP MCP /api/mcp/transport&lt;br/&gt;PAT auth + 60/min rate limit&quot;]&#10;    n2 --&gt; n5[&quot;16 tools: read / write / append / search /&lt;br/&gt;template / daily / comment / diff / memory&quot;]&#10;    n4 --&gt; n5&#10;    n5 --&gt; n6[&quot;StorageAdapter: .md + SQLite locally,&lt;br/&gt;notes_save RPC + RLS in SaaS&quot;]&#10;    n6 --&gt; n7[&quot;Side effects: agent-attributed versions,&lt;br/&gt;SSE events, git commit as agent&quot;]&#10;    n3 --&gt; n8[&quot;/v1 OpenAI-compatible API&lt;br/&gt;RAG injection + optional vault tools&quot;]&#10;    n6 --&gt; n9[&quot;Digest note + embed:backfill CLI&lt;br/&gt;bridge agent-written notes to vectors&quot;]&#10;&#10;    classDef agent fill:#f3e8ff,stroke:#9333ea,color:#4c1d95&#10;    classDef data fill:#dcfce7,stroke:#22c55e,color:#14532d&#10;    classDef ai fill:#ffedd5,stroke:#f97316,color:#7c2d12&#10;    classDef ops fill:#fef9c3,stroke:#ca8a04,color:#713f12&#10;    n1:::agent&#10;    n2:::agent&#10;    n3:::agent&#10;    n4:::agent&#10;    n5:::agent&#10;    n6:::data&#10;    n7:::data&#10;    n8:::ai&#10;    n9:::ops">
          <mxCell parent="0"/>
        </object>
        <object id="n:n1" label="Setup dialog writes 5 agent configs(claude, cursor, codex, gemini, openclaw)" mermaidId="n1" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#f3e8ff !important;fontColor=#333333;html=1;rounded=0;strokeColor=#9333ea !important;whiteSpace=wrap;">
            <mxGeometry x="8" y="8" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n2" label="Agent spawns node bin/eli-mcp.mjsstdio JSON-RPC, no per-call auth" mermaidId="n2" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#f3e8ff !important;fontColor=#333333;html=1;rounded=0;strokeColor=#9333ea !important;whiteSpace=wrap;">
            <mxGeometry x="314" y="8" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n3" label="SaaS PAT minted at Settings/Developerseli_pat prefix + sha256 secret" mermaidId="n3" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#f3e8ff !important;fontColor=#333333;html=1;rounded=0;strokeColor=#9333ea !important;whiteSpace=wrap;">
            <mxGeometry x="8" y="269" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n4" label="HTTP MCP /api/mcp/transportPAT auth + 60/min rate limit" mermaidId="n4" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#f3e8ff !important;fontColor=#333333;html=1;rounded=0;strokeColor=#9333ea !important;whiteSpace=wrap;">
            <mxGeometry x="314" y="182" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n5" label="16 tools: read / write / append / search /template / daily / comment / diff / memory" mermaidId="n5" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#f3e8ff !important;fontColor=#333333;html=1;rounded=0;strokeColor=#9333ea !important;whiteSpace=wrap;">
            <mxGeometry x="620" y="95" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n6" label="StorageAdapter: .md + SQLite locally,notes_save RPC + RLS in SaaS" mermaidId="n6" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#dcfce7 !important;fontColor=#333333;html=1;rounded=0;strokeColor=#22c55e !important;whiteSpace=wrap;">
            <mxGeometry x="926" y="95" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n7" label="Side effects: agent-attributed versions,SSE events, git commit as agent" mermaidId="n7" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#dcfce7 !important;fontColor=#333333;html=1;rounded=0;strokeColor=#22c55e !important;whiteSpace=wrap;">
            <mxGeometry x="1232" y="8" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n8" label="/v1 OpenAI-compatible APIRAG injection + optional vault tools" mermaidId="n8" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ffedd5 !important;fontColor=#333333;html=1;rounded=0;strokeColor=#f97316 !important;whiteSpace=wrap;">
            <mxGeometry x="314" y="356" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:n9" label="Digest note + embed:backfill CLIbridge agent-written notes to vectors" mermaidId="n9" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#fef9c3 !important;fontColor=#333333;html=1;rounded=0;strokeColor=#ca8a04 !important;whiteSpace=wrap;">
            <mxGeometry x="1232" y="182" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="e:L_n1_n2_0" label="" mermaidId="L_n1_n2_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n1" target="n:n2" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="264" y="70" as="sourcePoint"/>
              <mxPoint x="314" y="70" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="289" y="70"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_n3_n4_0" label="" mermaidId="L_n3_n4_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n3" target="n:n4" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="245.034483" y="269" as="sourcePoint"/>
              <mxPoint x="314" y="244" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="289" y="244"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_n2_n5_0" label="" mermaidId="L_n2_n5_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n2" target="n:n5" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="570" y="70" as="sourcePoint"/>
              <mxPoint x="638.965517" y="95" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="595" y="70"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_n4_n5_0" label="" mermaidId="L_n4_n5_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n4" target="n:n5" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="570" y="244" as="sourcePoint"/>
              <mxPoint x="638.965517" y="219" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="595" y="244"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_n5_n6_0" label="" mermaidId="L_n5_n6_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n5" target="n:n6" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="876" y="157" as="sourcePoint"/>
              <mxPoint x="926" y="157" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="901" y="157"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_n6_n7_0" label="" mermaidId="L_n6_n7_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n6" target="n:n7" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="1163.034483" y="95" as="sourcePoint"/>
              <mxPoint x="1232" y="70" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1207" y="70"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_n3_n8_0" label="" mermaidId="L_n3_n8_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n3" target="n:n8" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="245.034483" y="393" as="sourcePoint"/>
              <mxPoint x="314" y="418" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="289" y="418"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_n6_n9_0" label="" mermaidId="L_n6_n9_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:n6" target="n:n9" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="1163.034483" y="219" as="sourcePoint"/>
              <mxPoint x="1232" y="244" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1207" y="244"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
