Expand description
Intelligence client — endpoint list selection + one round-trip. RFC 0006 + RFC 0018.
The transport is HTTPS (target-vision pivot; plaintext http:// is a
loopback-only dev carve-out) — each AGENTD_INTELLIGENCE list element is an
https:// URL; the wire is HTTP/1.1 (the gateway/provider speaks
OpenAI-compatible /chat/completions). One request opens one connection
(Connection: close) — simple and robust; pooling is a non-goal (RFC 0018 §10).
RFC 0018 makes the channel resilient: --intelligence is an ordered list
(primary + fallbacks); complete() drives the list through the sticky-primary
failover policy (super::failover) with a per-endpoint health record +
circuit breaker (super::health). A single-element list is byte-for-byte RFC
0006 behaviour — the failover machinery is inert with one endpoint. The
wire/adapter/JSON path is UNCHANGED; only endpoint selection wraps it.
Structs§
- AllDown
Policy - Bounded, jittered all-down backoff (RFC 0018 §6 / §4.2). A daemon re-arms the
sweep up to
max_retriestimes, sleepingbase × 2^n(capped atmax) with per-attempt jitter, before surfacing the terminal all-down. - Intel
Client - A resolved intelligence client over an ordered endpoint list (RFC 0018 §3).
- Intel
Health Report - The edge-triggered intelligence-reachability report a child emits upward (RFC
0018 §6).
activeis the bounded(index, transport-scheme)of the serving endpoint — transport + index ONLY, NEVER a URL/cid/host or credential (RFC 0012 §3.7).Noneon entering all-down (nothing is serving).
Enums§
- Intel
Error - Provider
- Which in-binary adapter speaks to the endpoint. OpenAI-compatible is the canonical default; anthropic and Bedrock Converse (RFC 0031 §8 — native Bedrock) are the other in-binary dialects. Anything else lives behind a gateway (RFC 0006 §two-adapters).
- Transport
- Per-endpoint dial transport, owned by
super::endpoints. Intelligence is HTTPS-only (target-vision pivot, Phase 1): one TCP shape,tls: truein production;tls: falseexists solely for the loopback dev/test carve-out (the built-in mock LLM) and is rejected for non-loopback hosts at [resolve] — so the enum-of-transports (unix/vsock) is gone, not gated.