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
//! BotStadia's shared contracts.
//!
//! - [`declaration`]: what an arena says about itself, and its checks
//! - [`payload`]: the per-turn input and output encoding, and the host's
//! validity rule for an output
//! - [`bundle`]: a bot's bundle and its manifest, `botstadia.toml`
//! - [`policy`]: the policy shell's ONNX contract
//! - [`archive`]: the replay archive the player reads
//! - [`metrics`]: the metrics file the site reads
//! - [`copy`]: an arena's `arena.toml`, its site copy
//! - [`player`]: the messages between the site and an arena's player
//!
//! The WIT worlds ship in `wit/`: `botstadia:arena` for arenas' engines and
//! `botstadia:agent` for bots. Features generate bindings for them:
//! `arena-guest`, `agent-guest` and `host`.
/// This crate's version: what generated bot projects depend on.
pub const VERSION: &str = env!;
/// The `agent` world's WIT, for tools that generate a bot's bindings (the CLI
/// writes C bindings from it).
pub const AGENT_WIT: &str = include_str!;
/// The `arena` world's WIT.
pub const ARENA_WIT: &str = include_str!;