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 built-in assistant this binary carries.
24//! - `assistant_sessions` — `/assistant/sessions`, the caller's own
25//! conversations with an agent harness this server owns.
26//! - `assistant_socket` — `GET /assistant/sessions/{id}/events`, one session's
27//! transcript replayed and then streamed live.
28//! - `queues` — the fleet-wide unserved-queue read.
29//! - `managed_workers` — `GET /workers/managed`, the supervision status join,
30//! and the `POST /workers/managed/{name}/{start,stop,restart}` lifecycle
31//! commands (mounted only when `[deploy].enabled`, like the gRPC
32//! `DeployService` counterparts they mirror).
33//! - `unrecoverable` — the fleet-wide degraded-residency read.
34//! - `clean_dtos` — clean JSON request/response DTOs for the workflow POST endpoints.
35//! - `error` — wire-error-to-HTTP response mapping.
36
37mod assistant;
38mod assistant_sessions;
39mod assistant_socket;
40pub(crate) mod auth;
41mod authoring;
42mod awl;
43mod awl_deployed;
44mod build;
45mod changelog;
46mod children;
47mod clean_dtos;
48mod cluster_command;
49mod deploy;
50mod describe_live;
51mod dev_ui;
52mod error;
53mod events;
54mod history;
55mod intervene;
56mod managed_workers;
57mod outbox;
58mod payload;
59mod queues;
60mod router;
61mod routing;
62mod schedules;
63mod transcripts;
64mod unrecoverable;
65mod update_status;
66mod whoami;
67mod worker_deployments;
68mod workers;
69mod workflow_document;
70mod workflows;
71
72#[cfg(test)]
73mod children_tests;
74#[cfg(test)]
75mod events_filter_integration_tests;
76#[cfg(test)]
77mod history_tests;
78#[cfg(test)]
79pub(crate) mod test_support;
80#[cfg(test)]
81mod transcripts_tests;
82
83pub use router::{http_router, workflow_router};