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 AgentSharingFeatureFlag;
32
33impl FeatureFlag for AgentSharingFeatureFlag {
34 const NAME: &'static str = "agent-sharing";
35}
36
37pub struct SubagentsFeatureFlag;
38
39impl FeatureFlag for SubagentsFeatureFlag {
40 const NAME: &'static str = "subagents";
41
42 fn enabled_for_staff() -> bool {
43 false
44 }
45}
46
47pub struct DiffReviewFeatureFlag;
48
49impl FeatureFlag for DiffReviewFeatureFlag {
50 const NAME: &'static str = "diff-review";
51
52 fn enabled_for_staff() -> bool {
53 false
54 }
55}
56
57/// Controls whether we show the new thinking and effort level controls in the Agent Panel when using applicable models
58/// through the Zed provider (Cloud).
59pub struct CloudThinkingEffortFeatureFlag;
60
61impl FeatureFlag for CloudThinkingEffortFeatureFlag {
62 const NAME: &'static str = "cloud-thinking-effort";
63
64 fn enabled_for_staff() -> bool {
65 false
66 }
67}