Compare commits

...

1 Commits

Author SHA1 Message Date
rafaelj
df3e2c3265 Add onboarding interactive tools feature flag 2026-05-21 14:08:50 -04:00
3 changed files with 17 additions and 2 deletions

View File

@@ -500,6 +500,9 @@
"network_proxy": {
"$ref": "#/definitions/FeatureToml_for_NetworkProxyConfigToml"
},
"onboarding_interactive_tools": {
"type": "boolean"
},
"personality": {
"type": "boolean"
},
@@ -4431,6 +4434,9 @@
"network_proxy": {
"$ref": "#/definitions/FeatureToml_for_NetworkProxyConfigToml"
},
"onboarding_interactive_tools": {
"type": "boolean"
},
"personality": {
"type": "boolean"
},

View File

@@ -174,6 +174,8 @@ pub enum Feature {
MentionsV2,
/// Allow request_user_input in Default collaboration mode.
DefaultModeRequestUserInput,
/// Allow onboarding-only interactive tools.
OnboardingInteractiveTools,
/// Enable automatic review for approval prompts.
GuardianApproval,
/// Enable persisted thread goals and automatic goal continuation.
@@ -1068,6 +1070,12 @@ pub const FEATURES: &[FeatureSpec] = &[
stage: Stage::UnderDevelopment,
default_enabled: false,
},
FeatureSpec {
id: Feature::OnboardingInteractiveTools,
key: "onboarding_interactive_tools",
stage: Stage::UnderDevelopment,
default_enabled: false,
},
FeatureSpec {
id: Feature::GuardianApproval,
key: "guardian_approval",

View File

@@ -27,8 +27,9 @@ pub fn request_user_input_available_modes(features: &Features) -> Vec<ModeKind>
.into_iter()
.filter(|mode| {
mode.allows_request_user_input()
|| (features.enabled(Feature::DefaultModeRequestUserInput)
&& *mode == ModeKind::Default)
|| (*mode == ModeKind::Default
&& (features.enabled(Feature::DefaultModeRequestUserInput)
|| features.enabled(Feature::OnboardingInteractiveTools)))
})
.collect()
}