pub struct TeamSettings {Show 23 fields
pub name: Option<String>,
pub llm_base_url: Option<String>,
pub llm_model: Option<String>,
pub llm_model_summary: Option<String>,
pub llm_model_guide: Option<String>,
pub llm_model_flow: Option<String>,
pub embed_model: Option<String>,
pub enrich: Option<bool>,
pub flows: Option<bool>,
pub guide: Option<bool>,
pub embed: Option<bool>,
pub max_enrich: Option<usize>,
pub max_flows: Option<usize>,
pub llm_concurrency: Option<usize>,
pub llm_price_in: Option<f64>,
pub llm_price_out: Option<f64>,
pub format: Option<String>,
pub scip: Option<String>,
pub auto_index: Option<bool>,
pub auto_index_llm: Option<bool>,
pub auto_index_minutes: Option<usize>,
pub repos: Vec<String>,
pub teams: Option<Vec<TeamDef>>,
}Expand description
What everyone using an index shares; None leaves comindly’s default.
Fields§
§name: Option<String>§llm_base_url: Option<String>§llm_model: Option<String>§llm_model_summary: Option<String>The model for one LLM task in place of llm_model.
llm_model_guide: Option<String>§llm_model_flow: Option<String>§embed_model: Option<String>§enrich: Option<bool>§flows: Option<bool>§guide: Option<bool>§embed: Option<bool>Search embeddings when indexing.
max_enrich: Option<usize>Most symbols summarised by the LLM, most central first.
max_flows: Option<usize>Most flows given a written walkthrough, furthest-reaching first.
llm_concurrency: Option<usize>LLM requests in flight at once.
llm_price_in: Option<f64>The LLM’s price in USD per million input tokens, to show what indexing costs.
llm_price_out: Option<f64>The LLM’s price in USD per million output tokens.
format: Option<String>What MCP tools return as text: md (default) or json; the JSON is always attached too.
scip: Option<String>SCIP use when indexing: auto (default), require or off.
auto_index: Option<bool>Re-index when a listed repository’s default branch moves on its remote.
auto_index_llm: Option<bool>Also run the LLM steps on automatic re-indexes, for new or changed code only.
auto_index_minutes: Option<usize>Minutes between checks whether a default branch moved (default 5).
repos: Vec<String>Clone URLs of the team’s repositories, so everyone can get the same set.
teams: Option<Vec<TeamDef>>Teams labelling repositories; None until set up, so an upgrade can backfill once.
Implementations§
Source§impl TeamSettings
impl TeamSettings
pub fn team_list(&self) -> &[TeamDef]
Sourcepub fn teams_of(&self, repo: &str) -> Vec<String>
pub fn teams_of(&self, repo: &str) -> Vec<String>
Teams labelling repo, in the order they were defined.
Sourcepub fn outside(&self, writer: &[String], repos: &[&str]) -> Option<Vec<String>>
pub fn outside(&self, writer: &[String], repos: &[&str]) -> Option<Vec<String>>
The teams owning repos when the writer is in none of them; None inside or unlabelled.
Sourcepub fn accepts(&self, writer: &[String], repos: &[&str]) -> Result<()>
pub fn accepts(&self, writer: &[String], repos: &[&str]) -> Result<()>
Refuses a note from outside when every team owning repos is closed to them.
Sourcepub fn incoming(&self, owners: &[String]) -> Incoming
pub fn incoming(&self, owners: &[String]) -> Incoming
The most open policy among owners for notes from outside.
Sourcepub fn teams_of_member(&self, email: &str) -> Vec<String>
pub fn teams_of_member(&self, email: &str) -> Vec<String>
Teams email belongs to.
Sourcepub fn set_member(&mut self, email: &str, teams: &[String]) -> Result<()>
pub fn set_member(&mut self, email: &str, teams: &[String]) -> Result<()>
Put email in exactly the existing teams named in teams.
Sourcepub fn in_view(&self, repo: &str, selected: &[String]) -> bool
pub fn in_view(&self, repo: &str, selected: &[String]) -> bool
Whether repo is in view for the selected teams (empty: everything; none: unlabelled).
Sourcepub fn tidy_teams(&mut self) -> Result<()>
pub fn tidy_teams(&mut self) -> Result<()>
Trim names, drop empty and duplicate teams and repeated repositories.