huskies: merge 1107 story Chat bootstrap Phase 2a: stack-overlay framework + Rust and Node stack overlays

This commit is contained in:
dave
2026-05-16 23:01:49 +00:00
parent b6df89d24c
commit 3a43337735
7 changed files with 425 additions and 60 deletions
@@ -260,19 +260,24 @@ pub(in crate::chat::transport::matrix::bot) async fn on_room_message(
// Gateway-local commands and freeform text fall through to normal handling below.
}
// In gateway mode, handle the "new project <name>" command to bootstrap a
// bare project container and register it with the gateway.
// In gateway mode, handle the "new project <name> [--stack <stack>]" command
// to bootstrap a project container and register it with the gateway.
if ctx.is_gateway()
&& let Some(project_name) = super::super::super::new_project::extract_new_project_command(
&& let Some(cmd) = super::super::super::new_project::extract_new_project_command(
&user_message,
&ctx.services.bot_name,
ctx.matrix_user_id.as_str(),
)
{
slog!("[matrix-bot] Handling new project command from {sender}: name={project_name:?}");
slog!(
"[matrix-bot] Handling new project command from {sender}: name={:?} stack={:?}",
cmd.name,
cmd.stack
);
let response = if let Some(ref store) = ctx.gateway_projects_store {
super::super::super::new_project::handle_new_project(
&project_name,
&cmd.name,
cmd.stack.as_deref(),
store,
&ctx.services.project_root,
)