tycode_core/steering/
communication.rs1use std::sync::Arc;
2
3use crate::module::{PromptComponent, PromptComponentId};
4use crate::settings::config::Settings;
5use crate::steering::{Builtin, SteeringDocuments};
6
7pub const ID: PromptComponentId = PromptComponentId("communication");
8
9pub struct CommunicationComponent {
11 steering: Arc<SteeringDocuments>,
12}
13
14impl CommunicationComponent {
15 pub fn new(steering: Arc<SteeringDocuments>) -> Self {
16 Self { steering }
17 }
18}
19
20impl PromptComponent for CommunicationComponent {
21 fn id(&self) -> PromptComponentId {
22 ID
23 }
24
25 fn build_prompt_section(&self, _settings: &Settings) -> Option<String> {
26 Some(self.steering.get_builtin(Builtin::CommunicationGuidelines))
27 }
28}