Move agent message board host integration to app-server (#59162)

## What changed

Move the board host adapter and `install_agent_message_board` from `codex-core` to `codex-app-server`, using public core runtime interfaces. Update extension registration, test callers, dependencies, and installation documentation to use the new location.

Format `CHANNEL_POST` notification payloads in the host adapter and retain recognition of legacy board notices in core. Expose `MULTI_AGENT_V2_NAMESPACE_DESCRIPTION` for host extensions to share with native tools.

GitOrigin-RevId: 679b5751de102bff80e6b9d4b0728a84fbdedd85
This commit is contained in:
jif
2026-11-03 13:38:59 +00:00
committed by copyberry
parent c0d2a6fac4
commit bfdbf01bfa
14 changed files with 46 additions and 38 deletions
@@ -1,12 +1,11 @@
//! Attributed discussion notices with bounded previews.
//! Recognizes legacy board notices in saved user-role messages. New notices use agent mail.
use super::ContextualUserFragment;
use codex_message_board::PostPreview;
use codex_protocol::models::ContentItem;
use codex_protocol::models::ContentItemKind;
use codex_protocol::models::input_text;
pub(crate) struct AgentMessageBoardNotification(pub(crate) PostPreview);
pub(crate) struct AgentMessageBoardNotification;
impl ContextualUserFragment for AgentMessageBoardNotification {
fn role(&self) -> &'static str {
@@ -26,19 +25,6 @@ impl ContextualUserFragment for AgentMessageBoardNotification {
)
}
fn body(&self) -> ContentItem {
let post = &self.0;
let suffix = if post.truncated {
"\n[Use read_post for the rest.]"
} else {
""
};
input_text(format!(
"Message Type: CHANNEL_POST\nSender: {}\nChannel: {}\nMessage ID: {}\nThread ID: {}\nPayload:\n{}{suffix}",
post.metadata.author,
post.metadata.channel_name,
post.metadata.message_id,
post.metadata.thread_id,
post.text_preview,
))
input_text(String::new())
}
}