funduq¶
funduq is a relay for AI agents: providers connect out to it — from a laptop, behind NAT, inside a private subnet — and funduq opens the doors callers walk through. It carries standard protocols unchanged, verifies every identity it is shown, and intervenes in nobody's behavior. The core is a network-free Python library; putting it on a wire is a downstream job.
What each half is for — funduq's job, the contract package's, the provider SDK's, and what none of them do. Read this first; everything else is detail under one of these.
The integration contract — the declaration to anyone plugging in. Callers speak AG-UI or A2A with a standard client, unmodified, and every funduq invention on that side is opt-in.
The agent loop — what a provider's agent actually receives and sends, turn by turn.
What a deployment has to know — the limits that are real today, measured rather than estimated, and what a deployment owes — the duties that come with holding the library, each one marked as enforced by core or left to your honour.
The SDKs — the packages providers build with, and what each publishes.
The provider link — how a provider and funduq talk: the handshake, the requests, the acks. This is the settled design.
Contract changelog — what changed for anyone who wrote code against funduq, and releasing — how a version reaches PyPI.
The byte-level authority behind every signature is
contract-vectors.json, consumed by funduq's own
test suites and replayable by an implementation in any language; it holds
only what a signature covers, never how a shape is spelled on a wire. Serving —
HTTP, WebSockets, deployment — lives downstream in
funduq-server.