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
21pub struct AcpBetaFeatureFlag;
22
23impl FeatureFlag for AcpBetaFeatureFlag {
24 const NAME: &'static str = "acp-beta";
25}
26
27pub struct UserSlashCommandsFeatureFlag;
28
29impl FeatureFlag for UserSlashCommandsFeatureFlag {
30 const NAME: &'static str = "slash-commands";
31}
32
33pub struct ToolPermissionsFeatureFlag;
34
35impl FeatureFlag for ToolPermissionsFeatureFlag {
36 const NAME: &'static str = "tool-permissions";
37
38 fn enabled_for_staff() -> bool {
39 false
40 }
41}
42
43pub struct AgentSharingFeatureFlag;
44
45impl FeatureFlag for AgentSharingFeatureFlag {
46 const NAME: &'static str = "agent-sharing";
47}
48
49pub struct SubagentsFeatureFlag;
50
51impl FeatureFlag for SubagentsFeatureFlag {
52 const NAME: &'static str = "subagents";
53
54 fn enabled_for_staff() -> bool {
55 true
56 }
57}
58
59pub struct DiffReviewFeatureFlag;
60
61impl FeatureFlag for DiffReviewFeatureFlag {
62 const NAME: &'static str = "diff-review";
63
64 fn enabled_for_staff() -> bool {
65 false
66 }
67}
68
69/// Controls whether we show the new thinking toggle in the Agent Panel when using models through the Zed provider (Cloud).
70pub struct CloudThinkingToggleFeatureFlag;
71
72impl FeatureFlag for CloudThinkingToggleFeatureFlag {
73 const NAME: &'static str = "cloud-thinking-toggle";
74
75 fn enabled_for_staff() -> bool {
76 false
77 }
78}