Skip to main content

kaizen/web/
features.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2//! Workflows implemented by the Web product surface.
3
4mod dashboard;
5
6use serde::Serialize;
7
8#[derive(Clone, Copy, Debug, Serialize)]
9pub struct WebFeature {
10    pub route: &'static str,
11    pub section: &'static str,
12    pub label: &'static str,
13    pub tool: &'static str,
14    pub required_args: &'static [&'static str],
15    pub mutating: bool,
16    pub renderer: &'static str,
17    pub empty_state: &'static str,
18    pub error_state: &'static str,
19}
20
21pub fn all() -> Vec<WebFeature> {
22    dashboard::FEATURES.to_vec()
23}
24
25pub fn tool_names() -> Vec<&'static str> {
26    dashboard::FEATURES
27        .iter()
28        .map(|feature| feature.tool)
29        .collect()
30}