def create_lifespan()

in src/mcp_server_aliyun_observability/server.py [0:0]


def create_lifespan(credential: Optional[CredentialWrapper] = None):
    @asynccontextmanager
    async def lifespan(fastmcp: FastMCP) -> AsyncIterator[dict]:
        sls_client = SLSClientWrapper(credential)
        arms_client = ArmsClientWrapper(credential)
        cms_client = SLSClientWrapper(credential)
        yield {
            "sls_client": sls_client,
            "arms_client": arms_client,
            "cms_client": cms_client,
        }

    return lifespan