flags.rs

 1use crate::FeatureFlag;
 2
 3pub struct NotebookFeatureFlag;
 4
 5impl FeatureFlag for NotebookFeatureFlag {
 6    const NAME: &'static str = "notebooks";
 7}
 8
 9pub struct PanicFeatureFlag;
10
11impl FeatureFlag for PanicFeatureFlag {
12    const NAME: &'static str = "panic";
13}
14
15pub struct AgentV2FeatureFlag;
16
17impl FeatureFlag for AgentV2FeatureFlag {
18    const NAME: &'static str = "agent-v2";
19
20    fn enabled_for_staff() -> bool {
21        true
22    }
23}
24
25pub struct AcpBetaFeatureFlag;
26
27impl FeatureFlag for AcpBetaFeatureFlag {
28    const NAME: &'static str = "acp-beta";
29}
30
31pub struct ToolPermissionsFeatureFlag;
32
33impl FeatureFlag for ToolPermissionsFeatureFlag {
34    const NAME: &'static str = "tool-permissions";
35
36    fn enabled_for_staff() -> bool {
37        false
38    }
39}
40
41pub struct AgentSharingFeatureFlag;
42
43impl FeatureFlag for AgentSharingFeatureFlag {
44    const NAME: &'static str = "agent-sharing";
45}
46
47pub struct SubagentsFeatureFlag;
48
49impl FeatureFlag for SubagentsFeatureFlag {
50    const NAME: &'static str = "subagents";
51
52    fn enabled_for_staff() -> bool {
53        false
54    }
55}
56
57pub struct DiffReviewFeatureFlag;
58
59impl FeatureFlag for DiffReviewFeatureFlag {
60    const NAME: &'static str = "diff-review";
61
62    fn enabled_for_staff() -> bool {
63        false
64    }
65}
66
67/// Controls whether we show the new thinking and effort level controls in the Agent Panel when using applicable models
68/// through the Zed provider (Cloud).
69pub struct CloudThinkingEffortFeatureFlag;
70
71impl FeatureFlag for CloudThinkingEffortFeatureFlag {
72    const NAME: &'static str = "cloud-thinking-effort";
73
74    fn enabled_for_staff() -> bool {
75        false
76    }
77}