Skip to main content

agentmux_srv/migrations/
m0005_registry_source_bases.rs

1// Copyright 2026, AgentMux Corp.
2// SPDX-License-Identifier: Apache-2.0
3
4use crate::registry;
5use super::{Migration, MigrationContext, MigrationError, MigrationScope};
6
7pub struct M0005RegistrySourceBases;
8
9impl Migration for M0005RegistrySourceBases {
10    fn id(&self) -> &'static str { "0005_registry_source_bases" }
11    fn scope(&self) -> MigrationScope { MigrationScope::Global }
12    fn description(&self) -> &'static str { "Backfill source_agents_base on registry instance records" }
13
14    fn up(&self, ctx: &MigrationContext) -> Result<(), MigrationError> {
15        let registry_root = ctx.home.join("shared").join("agents").join("registry");
16        let reg = registry::Registry::open(registry_root)
17            .map_err(|e| MigrationError(format!("registry_source_bases: open registry: {}", e)))?;
18        registry::backfill_source_bases_once(&ctx.home, &reg)
19            .map(|_| ())
20            .map_err(|e| MigrationError(format!("registry_source_bases: {}", e)))
21    }
22}