<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="eli.ai" agent="eli.ai diagram exporter" version="1">
  <diagram id="connectors-sync-a3c945d3" name="Connectors — sync">
    <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="Connectors — sync" schemaVersion="1" diagramId="connectors-sync-a3c945d3" canonicalAppearanceKey="tsx:src/app/(docs)/docs/capabilities/connectors/page.tsx:syncChart#1" sourceSha256="a3c945d362ca7b0c4a5e2f37e46e87fbb9fffb87c7b2bc28c4bcf1587332d5e5" metadataPayloadSha256="759e3c407a368f307d345007657b2896aba8d7f029b472bc9db7c99c03cc0732" generationKey="b2e4d931e24d6a489ae0df7ddc3aa039d95b32a97264edbb2ed8705cc44c63fa" concepts="[&quot;Capabilities&quot;,&quot;Connectors&quot;,&quot;Sync&quot;]" keywords="[&quot;config + encrypted creds + sync_state&quot;,&quot;or legacy ingest job&quot;,&quot;workspaceId, sourceId&quot;,&quot;DocBatch, Checkpoint&amp;gt&quot;,&quot;poll(start, end)&quot;,&quot;normalize → Document&quot;,&quot;persist inline&quot;,&quot;contentHash changed?&quot;,&quot;skip re-embed&quot;,&quot;persist page checkpoint&quot;,&quot;full · incremental · prune · permissions&quot;,&quot;PostgreSQL advisory lock&quot;,&quot;delta / CQL watermark / cursor&quot;,&quot;saveDocument · chunks · extract · embed&quot;,&quot;every document in page succeeded&quot;,&quot;{markdown, contentHash, aclVisibility, aclPrincipals, …}&quot;,&quot;markdown, contentHash, aclVisibility, aclPrincipals, …&quot;,&quot;connector_source&quot;,&quot;job.kind&quot;,&quot;document/chunks&quot;,&quot;revision/audit&quot;,&quot;fullLoad(checkpoint)&quot;,&quot;AsyncGenerator&amp;lt&quot;,&quot;full&quot;,&quot;incremental&quot;,&quot;vault&quot;,&quot;yes&quot;,&quot;no&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:37:34.782Z" mermaidSource="flowchart LR&#10;  Job[&quot;full · incremental · prune · permissions&lt;br/&gt;or legacy ingest job&quot;] --&gt; Lock[&quot;PostgreSQL advisory lock&lt;br/&gt;(workspaceId, sourceId)&quot;]&#10;  Lock --&gt; Src[&quot;connector_source&lt;br/&gt;(config + encrypted creds + sync_state)&quot;]&#10;  Src --&gt; Kind{&quot;job.kind&quot;}&#10;  Kind --&gt;|&quot;full&quot;| Full[&quot;fullLoad(checkpoint)&lt;br/&gt;AsyncGenerator&amp;lt;DocBatch, Checkpoint&amp;gt;&quot;]&#10;  Kind --&gt;|&quot;incremental&quot;| Poll[&quot;poll(start, end)&lt;br/&gt;delta / CQL watermark / cursor&quot;]&#10;  Full --&gt; Norm[&quot;normalize → Document&lt;br/&gt;{markdown, contentHash, aclVisibility, aclPrincipals, …}&quot;]&#10;  Poll --&gt; Norm&#10;  Norm --&gt; Ingest[&quot;persist inline&lt;br/&gt;vault + document/chunks + revision/audit&quot;]&#10;  Ingest --&gt; Hash{&quot;contentHash changed?&quot;}&#10;  Hash --&gt;|&quot;yes&quot;| Reembed[&quot;saveDocument · chunks · extract · embed&quot;]&#10;  Hash --&gt;|&quot;no&quot;| Skip[&quot;skip re-embed&quot;]&#10;  Ingest --&gt;|&quot;every document in page succeeded&quot;| State[&quot;persist page checkpoint&quot;]&#10;  State --&gt; Src">
          <mxCell parent="0"/>
        </object>
        <object id="n:Job" label="full · incremental · prune · permissionsor legacy ingest job" mermaidId="Job" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="8" y="166.039063" width="256" height="100" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Lock" label="PostgreSQL advisory lock(workspaceId, sourceId)" mermaidId="Lock" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="314" y="178.039063" width="251.125" height="76" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Src" label="connector_source(config + encrypted creds + sync_state)" mermaidId="Src" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="615.125" y="166.039063" width="256" height="100" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Kind" label="job.kind" mermaidId="Kind" mermaidShape="diamond">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;perimeter=rhombusPerimeter;shape=rhombus;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="921.625" y="111.648438" width="111.78125" height="111.78125" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Full" label="fullLoad(checkpoint)AsyncGenerator&lt;DocBatch, Checkpoint&gt;" mermaidId="Full" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1171.4375" y="42.539063" width="271.296875" height="100" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Poll" label="poll(start, end)delta / CQL watermark / cursor" mermaidId="Poll" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1179.085938" y="192.539063" width="256" height="100" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Norm" label="normalize → Document{markdown, contentHash, aclVisibility, aclPrincipals, …}" mermaidId="Norm" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1492.734375" y="105.539063" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Ingest" label="persist inlinevault + document/chunks + revision/audit" mermaidId="Ingest" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1798.734375" y="117.539063" width="256" height="100" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Hash" label="contentHash changed?" mermaidId="Hash" mermaidShape="diamond">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;perimeter=rhombusPerimeter;shape=rhombus;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="2310.890625" y="8" width="226.71875" height="226.71875" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Reembed" label="saveDocument · chunks · extract · embed" mermaidId="Reembed" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="2619.21875" y="26.359375" width="256" height="76" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Skip" label="skip re-embed" mermaidId="Skip" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="2664.164063" y="152.359375" width="166.109375" height="52" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:State" label="persist page checkpoint" mermaidId="State" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="2304.734375" y="285.539063" width="238.03125" height="52" as="geometry"/>
          </mxCell>
        </object>
        <object id="e:L_Job_Lock_0" label="" mermaidId="L_Job_Lock_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Job" target="n:Lock" 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="216.039063" as="sourcePoint"/>
              <mxPoint x="314" y="216.039063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="289" y="216.039063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Lock_Src_0" label="" mermaidId="L_Lock_Src_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Lock" target="n:Src" 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="565.125" y="216.039063" as="sourcePoint"/>
              <mxPoint x="615.125" y="216.039063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="590.125" y="216.039063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Src_Kind_0" label="" mermaidId="L_Src_Kind_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Src" target="n:Kind" 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="871.125" y="175.463899" as="sourcePoint"/>
              <mxPoint x="921.125" y="167.539063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="896.125" y="167.539063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Kind_Full_0" label="full" mermaidId="L_Kind_Full_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Kind" target="n:Full" 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="1011.963627" y="146.59644" as="sourcePoint"/>
              <mxPoint x="1171.4375" y="92.539063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1102.171875" y="92.539063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Kind_Poll_0" label="incremental" mermaidId="L_Kind_Poll_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Kind" target="n:Poll" 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="1011.963627" y="188.481685" as="sourcePoint"/>
              <mxPoint x="1179.085938" y="242.539063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1102.171875" y="242.539063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Full_Norm_0" label="" mermaidId="L_Full_Norm_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Full" target="n:Norm" 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="1442.734375" y="92.539063" as="sourcePoint"/>
              <mxPoint x="1494.254375" y="105.539063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1467.734375" y="92.539063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Poll_Norm_0" label="" mermaidId="L_Poll_Norm_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Poll" target="n:Norm" 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="1435.085938" y="242.539063" as="sourcePoint"/>
              <mxPoint x="1494.254375" y="229.539063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1467.734375" y="242.539063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Norm_Ingest_0" label="" mermaidId="L_Norm_Ingest_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Norm" target="n:Ingest" 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="1748.734375" y="167.539063" as="sourcePoint"/>
              <mxPoint x="1798.734375" y="167.539063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1773.734375" y="167.539063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Ingest_Hash_0" label="" mermaidId="L_Ingest_Hash_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Ingest" target="n:Hash" 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="2054.734375" y="144.175426" as="sourcePoint"/>
              <mxPoint x="2310.390625" y="121.359375" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="2179.734375" y="121.359375"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Hash_Reembed_0" label="yes" mermaidId="L_Hash_Reembed_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Hash" target="n:Reembed" 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="2506.949655" y="91.199655" as="sourcePoint"/>
              <mxPoint x="2619.21875" y="64.359375" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="2580.992188" y="64.359375"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Hash_Skip_0" label="no" mermaidId="L_Hash_Skip_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Hash" target="n:Skip" 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="2506.949655" y="151.519095" as="sourcePoint"/>
              <mxPoint x="2664.164063" y="178.359375" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="2580.992188" y="178.359375"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Ingest_State_0" label="every document in page succeeded" mermaidId="L_Ingest_State_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Ingest" target="n:State" 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="2054.734375" y="215.855268" as="sourcePoint"/>
              <mxPoint x="2304.734375" y="287.883783" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="2179.734375" y="263.039063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_State_Src_0" label="" mermaidId="L_State_Src_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:State" target="n:Src" 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="2304.734375" y="322.269292" as="sourcePoint"/>
              <mxPoint x="808.231383" y="266.039063" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="2179.734375" y="333.539063"/>
                <mxPoint x="1926.734375" y="333.539063"/>
                <mxPoint x="1773.734375" y="333.539063"/>
                <mxPoint x="1620.734375" y="333.539063"/>
                <mxPoint x="1467.734375" y="333.539063"/>
                <mxPoint x="1307.085938" y="333.539063"/>
                <mxPoint x="1102.171875" y="333.539063"/>
                <mxPoint x="977.015625" y="333.539063"/>
                <mxPoint x="896.125" y="333.539063"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
