| 1 | //! Prototype boundary values used by the command capability shapes. |
| 2 | //! |
| 3 | //! These types deliberately do not replace the current TUI-owned production |
| 4 | //! types in FEAT-014. During the in-place adoption stage, thin TUI adapters |
| 5 | //! convert between existing application values and these boundary values. |
| 6 | |
| 7 | /// Stable provider identity at the command boundary. |
| 8 | #[derive(Debug, Clone, PartialEq, Eq)] |
| 9 | pub struct CommandProviderId(pub String); |
| 10 | |
| 11 | // Slice 4 removed `CommandReasoningEffort`: it was a verbatim 9-variant copy of |
| 12 | // `codewhale_tui::reasoning_preference::ReasoningEffort` with no independent |
| 13 | // behavior and no consumer, so it had no place on the command boundary. |
| 14 | |
| 15 | /// Application mode visible to commands. |
| 16 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] |
| 17 | pub enum CommandMode { |
| 18 | Agent, |
| 19 | Plan, |
| 20 | Operate, |
| 21 | } |
| 22 | |
| 23 | /// Tool-approval posture visible to commands. |
| 24 | #[derive(Debug, Default, Clone, Copy, PartialEq, Eq)] |
| 25 | pub enum CommandApprovalMode { |
| 26 | Auto, |
| 27 | Bypass, |
| 28 | #[default] |
| 29 | Suggest, |
| 30 | Never, |
| 31 | } |
| 32 | |
| 33 | /// Cost currency used by command-facing accounting operations. |
| 34 | #[derive(Debug, Clone, Copy, PartialEq, Eq)] |
| 35 | pub enum CommandCurrency { |
| 36 | Usd, |
| 37 | Cny, |
| 38 | } |
| 39 |