aion_server/api/http/mod.rs
1//! axum HTTP/JSON workflow facade.
2//!
3//! Module layout:
4//! - [`router`] — public router construction (the only public surface).
5//! - `workflows` — workflow management handlers.
6//! - `children` — authorized direct-child projection for one parent run.
7//! - `schedules` — schedule management handlers.
8//! - `events` — websocket event-subscription handlers.
9//! - `deploy` — operator deploy handlers (mounted only when `[deploy].enabled`).
10//! - `awl_deployed` — the read-only deployed-AWL studio surface (mounted only
11//! when `[deploy].enabled`, alongside the deploy read model it reflects).
12//! - `authoring` — server-side Gleam authoring (mounted only when `[authoring].gleam_path` is set).
13//! - `dev_ui` — local dev-server surface (mounted only when `[dev].enabled`).
14//! - `auth` — caller-identity extraction from request headers.
15//! - `routing` — shard-owner forwarding for HTTP writes (clustered builds).
16//! - `visibility` — visibility query-string parsing and namespace scoping.
17//! - `payload` — HTTP body/payload encode-decode shapes and conversions.
18//! - `build` — `GET /build`, the server's own revision.
19//! - `update_status` — `GET /update-status`, the installed version joined
20//! with the last completed manual update check.
21//! - `describe_live` — the mid-step join: current step + attempt liveness +
22//! progress note + transcript tail, in one read.
23//! - `assistant` — `GET /assistant`, the harness catalogue, tool wiring,
24//! session availability and grant standing this binary carries.
25//! - `assistant_sessions` — `/assistant/sessions`, the caller's own
26//! conversations with an agent harness this server owns.
27//! - `assistant_socket` — `GET /assistant/sessions/{id}/events`, one session's
28//! transcript replayed and then streamed live.
29//! - `queues` — the fleet-wide unserved-queue read.
30//! - `managed_workers` — `GET /workers/managed`, the supervision status join,
31//! and the `POST /workers/managed/{name}/{start,stop,restart}` lifecycle
32//! commands (mounted only when `[deploy].enabled`, like the gRPC
33//! `DeployService` counterparts they mirror).
34//! - `unrecoverable` — the fleet-wide degraded-residency read.
35//! - `clean_dtos` — clean JSON request/response DTOs for the workflow POST endpoints.
36//! - `error` — wire-error-to-HTTP response mapping.
37
38mod assistant;
39mod assistant_sessions;
40mod assistant_socket;
41pub(crate) mod auth;
42mod authoring;
43mod awl;
44mod awl_deployed;
45mod awl_graph;
46mod build;
47mod changelog;
48mod children;
49mod clean_dtos;
50mod cluster_command;
51mod deploy;
52mod describe_live;
53mod dev_ui;
54mod error;
55mod events;
56mod history;
57mod intervene;
58mod managed_workers;
59mod outbox;
60mod payload;
61mod queues;
62mod router;
63mod routing;
64mod schedules;
65mod transcripts;
66mod unrecoverable;
67mod update_status;
68mod whoami;
69mod worker_deployments;
70mod workers;
71mod workflow_document;
72mod workflows;
73
74#[cfg(test)]
75mod children_tests;
76#[cfg(test)]
77mod events_filter_integration_tests;
78#[cfg(test)]
79mod history_tests;
80#[cfg(test)]
81pub(crate) mod test_support;
82#[cfg(test)]
83mod transcripts_tests;
84
85pub use router::{http_router, workflow_router};