Packages
backplane_ai_protocol
1.4.0
1.10.18
1.10.17
1.10.16
1.10.15
1.10.14
1.10.13
1.10.12
1.10.11
1.10.10
1.10.9
1.10.8
1.10.7
1.10.6
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.0
1.8.3
1.8.2
1.8.1
1.8.0
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.0
1.5.0
1.4.0
1.3.0
1.2.0
1.1.0
1.0.1
1.0.0
0.11.0
0.10.0
0.9.0
0.8.0
0.7.0
Provider-neutral AI protocol contracts and codec primitives without host runtime dependencies.
Current section
Files
Jump to
Current section
Files
backplane_ai_protocol
README.md
README.md
# Backplane.AiProtocol
`backplane_ai_protocol` is a standalone production package for provider-neutral AI protocol
contracts and bounded native protocol observation.
It contains canonical contracts, validation/serialization boundaries, pure translation and wire
preflight, SSE framing, and an OpenAI Responses observer. It intentionally contains no provider
transport, credential handling, database, Phoenix, Backplane host process, or network startup.
## Backplane proxy boundary
Same-protocol traffic uses native passthrough. Cross-protocol traffic uses
backplane_ai_protocol translation. Logging and usage collection are isolated observations.
Native selection is based on the concrete client wire protocol and the selected provider API's
declared `native_protocols`, not its provider name or broad compatibility family. Native requests,
responses, streaming events, and upstream errors bypass canonical conversion. Model alias mapping
is the sole routing exception: when needed, only the semantic `model` value changes; otherwise the
original request bytes are forwarded.
A cross-protocol route may be enabled only when the package has complete request, non-streaming
response, streaming-event lifecycle, tool, usage, and error codecs for that directed pair. The
current package provides compatibility preflight but no complete cross-protocol HTTP codec pair,
so the host rejects mismatches with `unsupported_protocol_translation` before submission.
## Source notices
See [`SOURCE_NOTES.md`](SOURCE_NOTES.md) for the pinned extraction candidates and current non-extraction boundary.