@@ -59,12 +59,16 @@ export function mapCredential(cred: CredentialDecl): unknown {
5959 `credential '${ cred . name } ': Bailian only supports credential type 'environment_variable', but '${ cred . type } ' was declared.` ,
6060 ) ;
6161 }
62+ if ( cred . networking ?. type === "limited" && cred . networking . allowed_hosts === undefined ) {
63+ throw new UserError ( `credential '${ cred . name } ': Bailian limited networking requires networking.allowed_hosts.` ) ;
64+ }
6265 const body : Record < string , unknown > = {
6366 auth : {
6467 type : "environment_variable" ,
6568 secret_name : cred . secret_name ,
6669 secret_value : cred . secret_value ,
67- networking : cred . networking ?? { type : "unrestricted" } ,
70+ networking : { allowed_hosts : cred . networking ?. allowed_hosts ?? [ "*" ] } ,
71+ injection_location : cred . injection_location ?? { header : true , body : false } ,
6872 } ,
6973 display_name : cred . name ,
7074 } ;
@@ -95,14 +99,16 @@ export function credToDecl(raw: Record<string, unknown>, vaultName: string): Cre
9599 }
96100
97101 // Default to environment_variable (Bailian's accepted credential type).
98- const networking = auth . networking as { type : "unrestricted" | "limited" } | undefined ;
102+ const networking = auth . networking as CredentialDecl [ "networking" ] ;
103+ const injectionLocation = auth . injection_location as CredentialDecl [ "injection_location" ] ;
99104 return {
100105 name,
101106 type : "environment_variable" ,
102107 metadata : stripAgentsMetadata ( raw . metadata ) ,
103108 secret_name : ( auth . secret_name as string ) ?? name ,
104109 secret_value : placeholder ,
105110 networking : networking ?? { type : "unrestricted" } ,
111+ ...( injectionLocation ? { injection_location : injectionLocation } : { } ) ,
106112 } ;
107113}
108114
0 commit comments