Milestone 0: import zappier billing, Verae middleware, and Zapier research

Compose-ready workspace: packages/zappier (rate card, portal, Stripe),
packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier
(CLI app), vendor/zapier-platform, and research/zapier vendor corpus.

Gate 0 structure checks pass. Product code and research are not yet wired.
This commit is contained in:
George Lambert 2026-09-09 02:37:36 -04:00
commit b4150c8250
1364 changed files with 6814366 additions and 0 deletions

View file

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="1100" height="480"
viewBox="0 0 1100 480" role="img" aria-label="Create Timestamp and Wait">
<title>Create Timestamp and Wait</title>
<defs>
<marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5"
markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M 0 0 L 10 5 L 0 10 z" fill="#1A6B6B"/>
</marker>
<marker id="arrow-navy" viewBox="0 0 10 10" refX="9" refY="5"
markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M 0 0 L 10 5 L 0 10 z" fill="#0F2744"/>
</marker>
<marker id="arrow-accent" viewBox="0 0 10 10" refX="9" refY="5"
markerWidth="7" markerHeight="7" orient="auto-start-reverse">
<path d="M 0 0 L 10 5 L 0 10 z" fill="#C2410C"/>
</marker>
</defs>
<rect width="100%" height="100%" fill="#F8FAFC"/>
<text x="24" y="28" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="700" fill="#1A6B6B" text-anchor="start">FLOW B</text>
<text x="24" y="50" font-family="Helvetica, Arial, sans-serif" font-size="20" font-weight="700" fill="#0F2744" text-anchor="start">Create Timestamp and Wait</text>
<text x="24" y="72" font-family="Helvetica, Arial, sans-serif" font-size="12" font-weight="500" fill="#64748B" text-anchor="start">In-process path is live today. Wait-via-NATS is Phase 9.</text>
<rect x="40" y="100" width="200" height="80" rx="8" fill="#FFFFFF" fill-opacity="1" stroke="#0F2744" stroke-width="1.4"/>
<text x="140" y="132" font-family="Helvetica, Arial, sans-serif" font-size="13" font-weight="700" fill="#0F2744" text-anchor="middle">Zapier</text>
<text x="140" y="152" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="400" fill="#334155" text-anchor="middle">POST /timestamp/wait</text>
<rect x="320" y="100" width="260" height="80" rx="8" fill="#FFFFFF" fill-opacity="1" stroke="#0F2744" stroke-width="1.8"/>
<text x="450" y="132" font-family="Helvetica, Arial, sans-serif" font-size="13" font-weight="700" fill="#0F2744" text-anchor="middle">Middleware</text>
<text x="450" y="152" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="400" fill="#334155" text-anchor="middle">create job, then wait</text>
<line x1="240" y1="140" x2="320" y2="140" stroke="#1A6B6B" stroke-width="1.8" marker-end="url(#arrow)"/>
<text x="280.0" y="129.0" font-family="Helvetica, Arial, sans-serif" font-size="10" font-weight="600" fill="#134848" text-anchor="middle">HTTPS</text>
<rect x="320" y="230" width="260" height="100" rx="8" fill="#E8F1F8" fill-opacity="1" stroke="#1A6B6B" stroke-width="1.4"/>
<text x="450" y="260" font-family="Helvetica, Arial, sans-serif" font-size="12" font-weight="700" fill="#1A6B6B" text-anchor="middle">NATS_ENABLED=false</text>
<text x="450" y="280" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="400" fill="#334155" text-anchor="middle">in-process poller (Phase 6)</text>
<text x="450" y="294" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="400" fill="#334155" text-anchor="middle">returns StatusResponse</text>
<rect x="640" y="230" width="400" height="100" rx="8" fill="#F3EDE0" fill-opacity="1" stroke="#B45309" stroke-width="1.4"/>
<text x="840" y="260" font-family="Helvetica, Arial, sans-serif" font-size="12" font-weight="700" fill="#B45309" text-anchor="middle">NATS_ENABLED=true · Phase 9 (open)</text>
<text x="840" y="280" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="400" fill="#334155" text-anchor="middle">subscribe to jobs.events</text>
<text x="840" y="294" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="400" fill="#334155" text-anchor="middle">hard timeout → { jobId, status: pending }</text>
<line x1="450" y1="180" x2="450" y2="230" stroke="#1A6B6B" stroke-width="1.8" marker-end="url(#arrow)"/>
<line x1="580" y1="180" x2="840" y2="230" stroke="#1A6B6B" stroke-width="1.8" marker-end="url(#arrow)"/>
<rect x="40" y="380" width="1020" height="72" rx="8" fill="#E8F6EE" fill-opacity="1" stroke="#B7DCC7" stroke-width="1.4"/>
<text x="550" y="410" font-family="Helvetica, Arial, sans-serif" font-size="13" font-weight="700" fill="#0F2744" text-anchor="middle">Return to Zapier</text>
<text x="550" y="430" font-family="Helvetica, Arial, sans-serif" font-size="11" font-weight="400" fill="#334155" text-anchor="middle">completed / failed status object or pending + jobId on timeout (Zapier can Find Job Status next)</text>
<line x1="450" y1="330" x2="450" y2="380" stroke="#1A6B6B" stroke-width="1.8" marker-end="url(#arrow)"/>
<line x1="840" y1="330" x2="840" y2="380" stroke="#1A6B6B" stroke-width="1.8" marker-end="url(#arrow)"/>
</svg>

After

Width:  |  Height:  |  Size: 4.7 KiB