Skip to main content
Glama
schema.rs927 B
use si_pkg::SiPkg; use telemetry::prelude::*; use crate::{ BuiltinsError, BuiltinsResult, DalContext, module::Module, pkg::{ ImportOptions, import_pkg_from_pkg, }, }; pub async fn migrate_pkg( ctx: &DalContext, pkg_filename: &str, schemas: Option<Vec<String>>, ) -> BuiltinsResult<()> { info!("Migrate: {pkg_filename}"); let pkgs_path = ctx.pkgs_path().ok_or(BuiltinsError::MissingPkgsPath)?; let pkg_path = pkgs_path.join(pkg_filename); let pkg = SiPkg::load_from_file(pkg_path).await?; let root_hash = pkg.hash()?.to_string(); if Module::find_by_root_hash(ctx, root_hash).await?.is_none() { import_pkg_from_pkg( ctx, &pkg, schemas.map(|schemas| ImportOptions { schemas: Some(schemas), ..Default::default() }), ) .await?; } Ok(()) }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server