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
21pub struct AcpBetaFeatureFlag;
22
23impl FeatureFlag for AcpBetaFeatureFlag {
24    const NAME: &'static str = "acp-beta";
25}
26
27pub struct ToolPermissionsFeatureFlag;
28
29impl FeatureFlag for ToolPermissionsFeatureFlag {
30    const NAME: &'static str = "tool-permissions";
31}
32
33pub struct AgentSharingFeatureFlag;
34
35impl FeatureFlag for AgentSharingFeatureFlag {
36    const NAME: &'static str = "agent-sharing";
37}
38
39pub struct SubagentsFeatureFlag;
40
41impl FeatureFlag for SubagentsFeatureFlag {
42    const NAME: &'static str = "subagents";
43
44    fn enabled_for_staff() -> bool {
45        false
46    }
47}
48
49/// Whether to use the OpenAI Responses API format when sending requests to Cloud.
50pub struct OpenAiResponsesApiFeatureFlag;
51
52impl FeatureFlag for OpenAiResponsesApiFeatureFlag {
53    const NAME: &'static str = "open-ai-responses-api";
54
55    fn enabled_for_staff() -> bool {
56        // Add yourself to the flag manually to test it out.
57        false
58    }
59}