diff --git a/flexus_client_kit/ckit_bot_install.py b/flexus_client_kit/ckit_bot_install.py index 758cd431..e389dce6 100644 --- a/flexus_client_kit/ckit_bot_install.py +++ b/flexus_client_kit/ckit_bot_install.py @@ -83,6 +83,8 @@ async def marketplace_upsert_dev_bot( marketable_default_inbox_default: int = 100_000, # limit for 1 task marketable_max_inprogress: int = 2, marketable_forms: Optional[Dict[str, str]] = None, + marketable_preferred_model_expensive_reasoning_effort: Optional[str] = None, + marketable_preferred_model_cheap_reasoning_effort: Optional[str] = None, marketable_required_policydocs: List[str] = [], marketable_auth_needed: List[str] = [], marketable_auth_supported: List[str] = [], @@ -178,7 +180,7 @@ async def marketplace_upsert_dev_bot( expert_dict["fexp_name"] = f"{marketable_name}_{expert_name}" experts_input.append(expert_dict) - mutation = gql.gql(f"""mutation InstallBot($ws: String!, $name: String!, $ver: String!, $title1: String!, $title2: String!, $author: String!, $accent_color: String!, $occupation: String!, $desc: String!, $typical_group: String!, $repo: String!, $run: String!, $setup: String!, $featured: [FFeaturedActionInput!]!, $intro: String!, $model_expensive: String!, $model_cheap: String!, $daily: Int!, $inbox: Int!, $experts: [FMarketplaceExpertInput!]!, $schedule: String!, $big: String!, $small: String!, $tags: [String!]!, $forms: String, $required_policydocs: [String!]!, $auth_needed: [String!]!, $auth_supported: [String!]!, $auth_scopes: String, $max_inprogress: Int!, $features: [String!]!) {{ + mutation = gql.gql(f"""mutation InstallBot($ws: String!, $name: String!, $ver: String!, $title1: String!, $title2: String!, $author: String!, $accent_color: String!, $occupation: String!, $desc: String!, $typical_group: String!, $repo: String!, $run: String!, $setup: String!, $featured: [FFeaturedActionInput!]!, $intro: String!, $model_expensive: String!, $model_cheap: String!, $reasoning_expensive: String, $reasoning_cheap: String, $daily: Int!, $inbox: Int!, $experts: [FMarketplaceExpertInput!]!, $schedule: String!, $big: String!, $small: String!, $tags: [String!]!, $forms: String, $required_policydocs: [String!]!, $auth_needed: [String!]!, $auth_supported: [String!]!, $auth_scopes: String, $max_inprogress: Int!, $features: [String!]!) {{ marketplace_upsert_dev_bot( ws_id: $ws, marketable_name: $name, @@ -197,6 +199,8 @@ async def marketplace_upsert_dev_bot( marketable_intro_message: $intro, marketable_preferred_model_expensive: $model_expensive, marketable_preferred_model_cheap: $model_cheap, + marketable_preferred_model_expensive_reasoning_effort: $reasoning_expensive, + marketable_preferred_model_cheap_reasoning_effort: $reasoning_cheap, marketable_daily_budget_default: $daily, marketable_default_inbox_default: $inbox, marketable_experts: $experts, @@ -233,6 +237,8 @@ async def marketplace_upsert_dev_bot( "intro": marketable_intro_message, "model_expensive": marketable_preferred_model_expensive, "model_cheap": marketable_preferred_model_cheap, + "reasoning_expensive": marketable_preferred_model_expensive_reasoning_effort, + "reasoning_cheap": marketable_preferred_model_cheap_reasoning_effort, "daily": marketable_daily_budget_default, "inbox": marketable_default_inbox_default, "experts": experts_input, diff --git a/flexus_client_kit/manifest_schema.json b/flexus_client_kit/manifest_schema.json index 1afc6072..f6bde03d 100644 --- a/flexus_client_kit/manifest_schema.json +++ b/flexus_client_kit/manifest_schema.json @@ -87,6 +87,16 @@ "title": "Preferred Model (Cheap)", "description": "LLM model for simple tasks where cost efficiency matters. Example: 'gpt-5.4-nano'." }, + "preferred_model_expensive_reasoning_effort": { + "type": "string", + "title": "Preferred Expensive Model Reasoning Effort", + "description": "Optional default reasoning effort for the expensive model tier. Example: 'high', 'medium', 'none'. Leave unset to inherit provider defaults." + }, + "preferred_model_cheap_reasoning_effort": { + "type": "string", + "title": "Preferred Cheap Model Reasoning Effort", + "description": "Optional default reasoning effort for the cheap model tier. Example: 'low', 'medium', 'none'. Leave unset to inherit provider defaults." + }, "daily_budget_default": { "type": "integer", "title": "Daily Budget", diff --git a/flexus_client_kit/no_special_code_bot.py b/flexus_client_kit/no_special_code_bot.py index 94414641..aa7cc691 100644 --- a/flexus_client_kit/no_special_code_bot.py +++ b/flexus_client_kit/no_special_code_bot.py @@ -66,6 +66,8 @@ async def install_from_manifest(m, setup_schema, bot_dir, tools, client): marketable_intro_message=m["intro_message"], marketable_preferred_model_expensive=m["preferred_model_expensive"], marketable_preferred_model_cheap=m["preferred_model_cheap"], + marketable_preferred_model_expensive_reasoning_effort=m["preferred_model_expensive_reasoning_effort"], + marketable_preferred_model_cheap_reasoning_effort=m["preferred_model_cheap_reasoning_effort"], marketable_daily_budget_default=m["daily_budget_default"], marketable_default_inbox_default=m["default_inbox_default"], marketable_experts=[(name, exp.filter_tools(tools)) for name, exp in experts],