1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//! The control-plane API's request and response bodies.
//!
//! Kept in one place because there are now **two** adapters on this contract —
//! [`control_plane_router`](super::control_plane_router) serving it and
//! [`ControlPlaneClient`](super::ControlPlaneClient) calling it — and a wire
//! format defined twice is a wire format that drifts. Both sides derive their
//! serialization from these types, so a field renamed here breaks the compile
//! rather than the deployment.
//!
//! [`DeployedAgent`](super::DeployedAgent) is not here: it is the *service's*
//! own return type, which the API passes straight through. Only the envelopes
//! that exist because the transport is HTTP live in this module.
use ;
use crateRuntimeHealth;
/// `POST /agents` body.
///
/// The agent's config as **raw, unexpanded** TOML: `${VAR}` references are
/// resolved by the control plane against its own environment, subject to its
/// allowlist, so a caller neither needs nor learns the secrets an agent runs
/// with.
/// `GET /agents/:id` response.
/// `GET /agents/:id/logs` response.
/// `GET /agents/:id/logs` query parameters.
/// `GET /agents` query parameters.
/// The body every failing route returns.
///
/// A single `error` string on purpose: the client turns it back into the text of
/// its own error, so an operator running `a2a deploy` reads the control plane's
/// diagnosis (which line of TOML, which env var) rather than a status code.