11import { z } from "zod" ;
2- import { getCloudBaseManager , logCloudBaseResult } from "../cloudbase-manager.js" ;
2+ import {
3+ getCloudBaseManager ,
4+ getEnvId ,
5+ logCloudBaseResult ,
6+ } from "../cloudbase-manager.js" ;
37import { ExtendedMcpServer } from "../server.js" ;
48import { jsonContent } from "../utils/json-content.js" ;
59
@@ -71,18 +75,10 @@ function normalizeAccessPath(path: string | undefined): string {
7175 return path . startsWith ( "/" ) ? path : `/${ path } ` ;
7276}
7377
74- function ensureGatewayEnvId ( cloudBaseOptions ?: { envId ?: string } ) {
75- const envId = cloudBaseOptions ?. envId ;
76- if ( ! envId ) {
77- throw new Error ( "当前网关操作需要已绑定 envId" ) ;
78- }
79- return envId ;
80- }
81-
8278export function registerGatewayTools ( server : ExtendedMcpServer ) {
8379 const cloudBaseOptions = server . cloudBaseOptions ;
8480 const getManager = ( ) => getCloudBaseManager ( { cloudBaseOptions } ) ;
85- const getGatewayEnvId = ( ) => ensureGatewayEnvId ( cloudBaseOptions ) ;
81+ const resolveEnvId = ( ) => getEnvId ( cloudBaseOptions ) ;
8682
8783 const buildEnvelope = (
8884 data : Record < string , unknown > ,
@@ -129,7 +125,7 @@ export function registerGatewayTools(server: ExtendedMcpServer) {
129125 const listHttpServiceRoutes = async ( domain ?: string ) => {
130126 const cloudbase = await getManager ( ) ;
131127 const result = await cloudbase . env . describeHttpServiceRoute ( {
132- EnvId : getGatewayEnvId ( ) ,
128+ EnvId : await resolveEnvId ( ) ,
133129 ...( domain
134130 ? {
135131 Filters : [
@@ -177,7 +173,7 @@ export function registerGatewayTools(server: ExtendedMcpServer) {
177173 }
178174
179175 return {
180- EnvId : getGatewayEnvId ( ) ,
176+ EnvId : await resolveEnvId ( ) ,
181177 Domain : {
182178 Domain : await resolveRouteDomain ( domain ) ,
183179 Routes : [
@@ -423,7 +419,7 @@ export function registerGatewayTools(server: ExtendedMcpServer) {
423419 const cloudbase = await getManager ( ) ;
424420 const domain = await resolveRouteDomain ( input . domain ) ;
425421 const result = await cloudbase . env . deleteHttpServiceRoute ( {
426- EnvId : getGatewayEnvId ( ) ,
422+ EnvId : await resolveEnvId ( ) ,
427423 Domain : domain ,
428424 Paths : [ normalizeAccessPath ( routePath ) ] ,
429425 } as any ) ;
@@ -445,7 +441,7 @@ export function registerGatewayTools(server: ExtendedMcpServer) {
445441 }
446442 const cloudbase = await getManager ( ) ;
447443 const result = await cloudbase . env . bindCustomDomain ( {
448- EnvId : getGatewayEnvId ( ) ,
444+ EnvId : await resolveEnvId ( ) ,
449445 Domain : {
450446 Domain : input . domain ,
451447 CertId : input . certificateId ,
@@ -469,7 +465,7 @@ export function registerGatewayTools(server: ExtendedMcpServer) {
469465 }
470466 const cloudbase = await getManager ( ) ;
471467 const result = await cloudbase . env . deleteCustomDomain ( {
472- EnvId : getGatewayEnvId ( ) ,
468+ EnvId : await resolveEnvId ( ) ,
473469 Domain : input . domain ,
474470 } ) ;
475471 logCloudBaseResult ( server . logger , result ) ;
0 commit comments