Capabilities the built-in services use
A capability is a job Jadpo does through an outside service, such as
sending email, that any provider can fill. You choose the provider by
naming a connection in app.jadpo, and your code stays the same whichever
you choose (Capabilities). Each
capability the built-in services use, and the whole of its job:
| Capability | The whole job | Filled by |
|---|---|---|
files |
Put, read, delete, signed links and upload slots, multipart ones included | The S3 driver (any S3-compatible service); the disk driver, native only |
email |
Send a Jadpo-rendered EmailMessage after commit, attachments included |
The SMTP driver; a mail package (Postmark, Amazon SES, Resend) |
documents |
Turn the HTML Jadpo renders into a PDF | A container package (Gotenberg) or a hosted API's package (DocRaptor, PDFShift) |
search |
Upsert, remove, and query by words with equality filters, returning ranked ids | PostgreSQL full-text search, built in; an engine's package |
bot_check |
Check a token: pass or fail | A package (Turnstile, hCaptcha, reCAPTCHA) |
scanning |
Scan an uploaded file: clean or infected | A ClamAV container package or a scanning API's package |
publishing |
Deliver chosen events outward, and outgoing webhooks | Drivers and packages (Where events travel) |
receiving |
Fetch messages from a queue, the inbound twin of publishing |
Packages; a built-in driver for Cloudflare Queues on Workers (Where events travel) |
Capabilities lists the others, such as
the database, the cache, schedules and ai, and what isn't a capability:
SMS, event delivery, and telemetry, which has its own telemetry:
section (Telemetry). Each capability has a local driver for
development, one fake for tests
(Provider calls and capabilities in tests)
and a conformance suite that a package filling it must pass.
Markdown for agents: /docs/built-in-service-capabilities.md.Built from Jadpo main at a707efb.