What is built: External services
| Feature | Status |
|---|---|
| The package format, names and the lock | Built. |
The surface, jadpo package show and jadpo package check with the publishing bar |
Built. |
Installing: add from a folder or git, update, remove, link and unlink |
Built. |
| Connections to packages and the network report | Built. |
| Lazy loading, the package cache and two versions side by side | Built. |
| The OpenAPI importer, and the scoped review of an import's types | Built. |
Provider calls, decoding, wire_parts: and retries |
Built. |
Walking a list operation's pages with batches.each (Pages of results) |
Not built yet: a provider's list operation as batches.each's from: is toolchain.not_built_yet where it is written (Jobs and events). |
| No transaction open during a call, and several changing calls in one action | Built. |
| Fakes, recordings and provider calls faked in development | Built. |
The email capability with SMTP and Resend |
Built. |
| Package actions, subscribers, recipes and polls | Built. |
| Webhooks as events, replies, handshakes, queues through a package and the Cloudflare Queues driver | Built. |
Services (runs:) |
Not built yet, nor is jadpo services. |
| OAuth grants | Not built yet: the application's grants: is toolchain.not_built_yet where it is written, and jadpo dev grants add isn't a command yet. |
A release's facts and change record in jadpo package check and show, the previous release's examples and tests run against the new code, and jadpo package verify with the fingerprints (How they are worked out) |
Built. |
The verifier: jadpo package verify --serve, its sandbox, the check of a commit's files and size, its container image and Fly.io configuration |
Built. Not deployed yet: its image is published, and it runs on Fly.io, once a maintainer has switched them on. |
| Publisher trust for third-party git packages | Built: a package from a git repository under none of packages:'s own_sources: needs an acceptance, as does adding or widening an entry; an entry is package.own_source_invalid unless it is a host and a path ending in /. |
| The registry protocol: its requests and answers, the log and its proofs, a local registry and the conformance test | Built (jadpo-registry). |
The jadpo tool's side of the public registry: add and update checked against the log, search, audit, publish and preview (How the registry commands work) |
Built, against the local registry. |
A package's publisher (Names and publishers): publisher: in the index, on its surface and in its facts, the bar's publisher row, jadpo package publish and verify --publisher, the verifier's request and the local registry's check of a release |
Built, against the local registry. |
Starting a package: jadpo package new, and the bar's licence row refusing Licence.proprietary for verify and publish |
Built. |
| The registry at jadpo.dev: publishing, search, advisories and compatibility runs | Not built yet: jadpo package add <name>, search and publish stop with registry.unreachable. |
| Importers other than OpenAPI | Not built yet. |
| Choosing a provider when deploying | Not built yet. |
| Erasure at providers | Partly built: the package's and the connection's erasure: are read and checked, and a connection that can't erase what it receives needs an ErasureNotPossible acceptance (Erasure at providers). Not built yet: calling the provider. |
Mistakes not reported yet
These mistakes are specified but not reported yet:
| Mistake | Reported by |
|---|---|
An operation whose scope the grant does not request; a call to a grant connection without on_behalf_of: |
jadpo check |
A service image not yet accepted; an asks: host not granted by outbound: |
jadpo check, naming the line that grants it |
A capability's connection whose package does not provide it, or a function call or expression in a provide mapping, for a capability other than receiving and email |
jadpo check |
The rest of the page's mistakes have examples under
Errors: the digest and the lock, an emails/ folder, the
index's keys, provider.jadpo's keys, hosts: with runs:, reserved
and taken names, a resource and an action of one name and a public
action that emits (package.action_invalid), and subscribing to a
non-public event (package.not_public) under "Package errors"; a
surface that differs at install and a link in CI under "Installing
errors"; a decoder that fails on a recording and a field's decode: and
encode: that don't round-trip under "Recording errors"; a connection's
keys under "Connection errors". The rule that nothing public reaches
something private is visibility.public_reaches_private
(Project layout and modules), and
several changing calls in the wrong place are the step. errors of
Background work and effect.call_in_loop
(Logic).
Markdown for agents: /docs/external-services-built.md.Built from Jadpo main at aee2e8f.