@aws/agentcore 1.0.0-preview.8 → 1.0.0-preview.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1024,7 +1024,7 @@ type AgentCoreRegion =
1024
1024
  | 'us-east-2'
1025
1025
  | 'us-west-2'
1026
1026
  | 'us-gov-west-1';
1027
- `});import{readFileSync as qsi}from"fs";import{dirname as jsi,join as Hsi}from"path";import{fileURLToPath as Qsi}from"url";function Qot(e,t){if(typeof e=="string")return e;let n=jsi(Qsi(import.meta.url)),o=Hsi(n,"../../schema/llm-compacted",t);return qsi(o,"utf-8")}var Lun,Mun=L(()=>{"use strict";$un();Bun();Nun();Lun={"README.md":Qot(wun,"README.md"),"agentcore.ts":Qot(Oun,"agentcore.ts"),"aws-targets.ts":Qot(kun,"aws-targets.ts")}});import*as q_ from"node:fs/promises";import*as d0 from"node:path";var Vsi,IL,Gun=L(()=>{"use strict";In();dg();bY();Mun();u0();Vsi=".llm-context",IL=class{templateDir;agentsTemplateDir;assetsDir;constructor(){this.templateDir=yv("cdk"),this.agentsTemplateDir=yv("agents"),this.assetsDir=yv("")}async render(t){let{logger:n}=t,o=d0.join(t.projectRoot,ts),r=d0.join(o,nF);if(n?.logSubStep("Copying CDK project template..."),await Mot(this.templateDir,r),n?.logSubStep("CDK template copied"),n?.logSubStep("Copying AGENTS.md template..."),await this.copyAgentsTemplate(t.projectRoot),n?.logSubStep("AGENTS.md copied"),n?.logSubStep("Copying README.md template..."),await this.copyReadmeTemplate(t.projectRoot),n?.logSubStep("README.md copied"),n?.logSubStep("Writing LLM context files..."),await this.writeLlmContext(o),n?.logSubStep("LLM context files written"),process.env.AGENTCORE_SKIP_INSTALL)return r;n?.logSubStep("Running npm install (this may take a while)..."),n?.logCommand("npm",["install"]);let s=Date.now(),i=await Za("npm",["install"],{cwd:r}),a=Date.now()-s;if(i.stdout&&n?.logCommandOutput(i.stdout),i.stderr&&n?.logCommandOutput(i.stderr),i.code!==0)throw new Error(`npm install failed with code ${i.code}: ${i.stderr}`);n?.logSubStep(`npm install completed (${(a/1e3).toFixed(1)}s)`),await this.installBundledCdkIfPresent(r,n),n?.logSubStep("Running npm run format..."),n?.logCommand("npm",["run","format"]);let c=await Za("npm",["run","format"],{cwd:r});if(c.stdout&&n?.logCommandOutput(c.stdout),c.stderr&&n?.logCommandOutput(c.stderr),c.code!==0)throw new Error(`npm run format failed with code ${c.code}: ${c.stderr}`);return n?.logSubStep("Formatting completed"),r}async copyAgentsTemplate(t){let n=d0.join(this.agentsTemplateDir,"AGENTS.md"),o=d0.join(t,"AGENTS.md");await q_.copyFile(n,o)}async copyReadmeTemplate(t){let n=d0.join(this.assetsDir,"README.md"),o=d0.join(t,"README.md");await q_.copyFile(n,o)}async installBundledCdkIfPresent(t,n){let o=d0.join(this.assetsDir,"bundled-agentcore-cdk.tgz");try{await q_.access(o)}catch{return}let r=d0.join(t,"bundled-agentcore-cdk.tgz");await q_.copyFile(o,r),n?.logSubStep("Installing bundled @aws/agentcore-cdk override...");let s=await Za("npm",["install","./bundled-agentcore-cdk.tgz"],{cwd:t});if(s.stdout&&n?.logCommandOutput(s.stdout),s.stderr&&n?.logCommandOutput(s.stderr),s.code!==0)throw new Error(`Failed to install bundled @aws/agentcore-cdk: ${s.stderr}`);n?.logSubStep("Bundled @aws/agentcore-cdk installed")}async writeLlmContext(t){let n=d0.join(t,Vsi);await q_.mkdir(n,{recursive:!0});for(let[o,r]of Object.entries(Lun))await q_.writeFile(d0.join(n,o),r,"utf-8")}}});function Uun(e,t){return t==="Lambda"?zsi.map(n=>({...n,name:`${e}_${n.name}`})):[{name:e,description:`Tool for ${e}`,inputSchema:{type:"object"}}]}async function Vot(e,t,n,o="AgentCoreRuntime"){if(n!=="Python")throw new Error(`Gateway target templates for ${n} are not yet supported.`);let s=yv("mcp",o==="Lambda"?"python-lambda":"python");await BP(s,t,{Name:e})}var zsi,zot=L(()=>{"use strict";bY();u0();zsi=[{name:"lookup_ip",description:"Look up geolocation and network info for an IP address",inputSchema:{type:"object",properties:{ip_address:{type:"string",description:"IPv4 or IPv6 address to look up"}},required:["ip_address"]}},{name:"get_random_user",description:"Generate a random user profile for testing or mock data",inputSchema:{type:"object"}},{name:"fetch_post",description:"Fetch a post by ID from JSONPlaceholder API",inputSchema:{type:"object",properties:{post_id:{type:"integer",description:"The post ID (1-100)"}},required:["post_id"]}}]});function kP(e){if(e.protocol==="MCP")return new $Y(e);switch(e.sdkFramework){case"Strands":return new BY(e);case"GoogleADK":return new DY(e);case"LangChain_LangGraph":return new wY(e);case"OpenAIAgents":return new OY(e);default:{let t=e.sdkFramework;throw new Error(`Unsupported SDK framework: ${String(t)}`)}}}var yj=L(()=>{"use strict";Uot();Fot();qot();jot();Hot();RL();Gun();zot();Uot();Fot();qot();jot();Hot()});var Kot,Fun=L(async()=>{"use strict";In();ar();mY();cL();yj();await qi();Kot=G(at())});function jun(e){let t=NV[e];return Ksi.filter(n=>t.includes(n.id))}function Jbe(e){let t=yD(e);return Wsi.filter(n=>t.includes(n.id))}var qun,Wot,_L,Jot,Ksi,Wsi,Hun,Ybe,kY,NY=L(()=>{"use strict";Vr();qun=["projectName","language","buildType","protocol","sdk","modelProvider","apiKey","advanced","confirm"],Wot=[{id:"Python",title:"Python"},{id:"TypeScript",title:"TypeScript (coming soon)",disabled:!0}],_L=[{id:"CodeZip",title:"Direct Code Deploy",description:"Upload code directly to AgentCore"},{id:"Container",title:"Container",description:"Build and deploy a Docker container"}],Jot=[{id:"HTTP",title:"HTTP",description:"Standard HTTP agent (default)"},{id:"MCP",title:"MCP",description:"Model Context Protocol tool server"},{id:"A2A",title:"A2A",description:"Agent-to-Agent protocol"},{id:"AGUI",title:"AG-UI",description:"Stream rich agent events to frontends"}],Ksi=[{id:"Strands",title:"Strands Agents SDK",description:"AWS native agent framework"},{id:"LangChain_LangGraph",title:"LangChain + LangGraph",description:"Popular open-source frameworks"},{id:"GoogleADK",title:"Google ADK",description:"Google Agent Development Kit"},{id:"OpenAIAgents",title:"OpenAI Agents",description:"OpenAI native agent SDK"}];Wsi=[{id:"Bedrock",title:`Amazon Bedrock (${Op.Bedrock})`,description:"AWS managed model inference"},{id:"Anthropic",title:`Anthropic (${Op.Anthropic})`,description:"Claude models via Anthropic API"},{id:"OpenAI",title:`OpenAI (${Op.OpenAI})`,description:"GPT models via OpenAI API"},{id:"Gemini",title:`Google Gemini (${Op.Gemini})`,description:"Gemini models via Google API"}];Hun=[{id:"PUBLIC",title:"Public",description:void 0},{id:"VPC",title:"VPC",description:"Attach to your VPC"}],Ybe=[{id:"dockerfile",title:"Custom Dockerfile",description:"Specify a custom Dockerfile path"},{id:"network",title:"VPC networking",description:"Attach to your VPC with subnets & security groups"},{id:"headers",title:"Request header allowlist",description:"Allow custom headers through to your agent"},{id:"auth",title:"Custom auth (JWT)",description:"OIDC-based token validation for inbound requests"},{id:"lifecycle",title:"Lifecycle timeouts",description:"Idle timeout & max instance lifetime"},{id:"filesystem",title:"Session filesystem storage",description:"Persist files across session stop/resume"},{id:"configBundle",title:"Config bundle [preview]",description:"Manage system prompt and tool config without redeploying"}],kY=[{id:"none",title:"None",description:"No memory"},{id:"shortTerm",title:"Short-term memory",description:"Context within a session"},{id:"longAndShortTerm",title:"Long-term and short-term",description:"Persists across sessions"}]});function Qun(){return{projectName:"",buildType:"CodeZip",protocol:"HTTP",sdk:"Strands",modelProvider:"Bedrock",memory:"none",language:"Python"}}function Yot(e){let[t,n]=(0,Gs.useState)(!!e?.initialName),o=t?"language":"projectName",[r,s]=(0,Gs.useState)(o),[i,a]=(0,Gs.useState)(()=>({...Qun(),...e?.initialName?{projectName:e.initialName}:{}})),[c,l]=(0,Gs.useState)(null),[p,m]=(0,Gs.useState)(!1),[A,C]=(0,Gs.useState)(new Set),_=A.size>0,w=(0,Gs.useMemo)(()=>{let He=qun;if(t&&(He=He.filter(We=>We!=="projectName")),i.protocol==="MCP")He=He.filter(We=>We!=="sdk"&&We!=="modelProvider"&&We!=="apiKey");else if(i.modelProvider==="Bedrock"&&(He=He.filter(We=>We!=="apiKey")),p&&i.sdk==="Strands"){let We=He.indexOf("advanced");He=[...He.slice(0,We),"memory",...He.slice(We)]}if(_){let et=He.indexOf("advanced")+1,Ft=[];A.has("dockerfile")&&i.buildType==="Container"&&Ft.push("dockerfile"),A.has("network")&&(Ft.push("networkMode"),i.networkMode==="VPC"&&Ft.push("subnets","securityGroups")),A.has("headers")&&Ft.push("requestHeaderAllowlist"),A.has("auth")&&Ft.push("authorizerType"),A.has("lifecycle")&&Ft.push("idleTimeout","maxLifetime"),A.has("filesystem")&&Ft.push("sessionStorageMountPath"),He=[...He.slice(0,et),...Ft,...He.slice(et)]}if(i.authorizerType==="CUSTOM_JWT"&&He.includes("authorizerType")){let We=He.indexOf("authorizerType");He=[...He.slice(0,We+1),"jwtConfig",...He.slice(We+1)]}return He},[i.buildType,i.modelProvider,i.sdk,i.protocol,i.networkMode,i.authorizerType,t,p,_,A]),P=w.indexOf(r),D=(0,Gs.useCallback)(He=>{let We=yE.safeParse(He);return We.success?(l(null),a(et=>({...et,projectName:He})),s("language"),!0):(l(We.error.issues[0]?.message??"Invalid agent name"),!1)},[]),N=(0,Gs.useCallback)(He=>{a(We=>({...We,language:He})),s("buildType")},[]),U=(0,Gs.useCallback)(He=>{a(We=>({...We,buildType:He,dockerfile:void 0})),s("protocol")},[]),F=(0,Gs.useCallback)(He=>{a(We=>({...We,protocol:He,memory:He==="MCP"?"none":We.memory})),s(He==="MCP"?"advanced":"sdk")},[]),z=(0,Gs.useCallback)(He=>{m(!0),a(We=>{let et=Jbe(He),gt=et.some(vt=>vt.id===We.modelProvider)?We.modelProvider:et[0]?.id??"Bedrock",Pt=He==="Strands"?We.memory:"none";return{...We,sdk:He,modelProvider:gt,memory:Pt}}),s("modelProvider")},[]),oe=(0,Gs.useCallback)(He=>{a(We=>({...We,modelProvider:He})),He!=="Bedrock"?s("apiKey"):i.sdk==="Strands"?s("memory"):s("advanced")},[i.sdk]),ce=(0,Gs.useCallback)(He=>{a(We=>({...We,apiKey:He})),i.sdk==="Strands"?s("memory"):s("advanced")},[i.sdk]),re=(0,Gs.useCallback)(()=>{i.sdk==="Strands"?s("memory"):s("advanced")},[i.sdk]),ee=(0,Gs.useCallback)(He=>{a(We=>({...We,memory:He})),s("advanced")},[]),Ee=(0,Gs.useCallback)(He=>{let We=w.indexOf(He),et=We>=0?w[We+1]:void 0;s(et??"confirm")},[w]),se=(0,Gs.useCallback)(He=>{a(We=>({...We,dockerfile:He})),setTimeout(()=>Ee("dockerfile"),0)},[Ee]),he=(0,Gs.useCallback)(He=>{let We=new Set(He);C(We),We.size===0?(a(et=>({...et,dockerfile:void 0,networkMode:"PUBLIC",subnets:void 0,securityGroups:void 0,requestHeaderAllowlist:void 0,authorizerType:void 0,jwtConfig:void 0,idleRuntimeSessionTimeout:void 0,maxLifetime:void 0,sessionStorageMountPath:void 0,withConfigBundle:void 0})),s("confirm")):(a(et=>({...et,withConfigBundle:We.has("configBundle")||void 0})),setTimeout(()=>{We.has("dockerfile")&&i.buildType==="Container"?s("dockerfile"):We.has("network")?s("networkMode"):We.has("headers")?s("requestHeaderAllowlist"):We.has("auth")?s("authorizerType"):We.has("lifecycle")?s("idleTimeout"):We.has("filesystem")?s("sessionStorageMountPath"):s("confirm")},0))},[i.buildType]),Ce=(0,Gs.useCallback)(He=>{a(We=>({...We,networkMode:He})),He==="VPC"?s("subnets"):setTimeout(()=>Ee("networkMode"),0)},[Ee]),Pe=(0,Gs.useCallback)(He=>{a(We=>({...We,subnets:He})),s("securityGroups")},[]),le=(0,Gs.useCallback)(He=>{a(We=>({...We,securityGroups:He})),setTimeout(()=>Ee("securityGroups"),0)},[Ee]),ge=(0,Gs.useCallback)(He=>{a(We=>({...We,requestHeaderAllowlist:He})),setTimeout(()=>Ee("requestHeaderAllowlist"),0)},[Ee]),De=(0,Gs.useCallback)(()=>{setTimeout(()=>Ee("requestHeaderAllowlist"),0)},[Ee]),ke=(0,Gs.useCallback)(He=>{a(We=>({...We,authorizerType:He})),He==="CUSTOM_JWT"?s("jwtConfig"):(a(We=>({...We,authorizerType:He,jwtConfig:void 0})),setTimeout(()=>Ee("authorizerType"),0))},[Ee]),st=(0,Gs.useCallback)(He=>{a(We=>({...We,jwtConfig:He})),setTimeout(()=>Ee("jwtConfig"),0)},[Ee]),Et=(0,Gs.useCallback)(He=>{a(We=>({...We,idleRuntimeSessionTimeout:He})),s("maxLifetime")},[]),Le=(0,Gs.useCallback)(()=>{s("maxLifetime")},[]),Ge=(0,Gs.useCallback)(He=>{a(We=>({...We,maxLifetime:He})),setTimeout(()=>Ee("maxLifetime"),0)},[Ee]),Fe=(0,Gs.useCallback)(()=>{setTimeout(()=>Ee("maxLifetime"),0)},[Ee]),Qe=(0,Gs.useCallback)(He=>{if(He){let We=EI.shape.mountPath.safeParse(He);if(!We.success)return l(We.error.issues[0]?.message??"Invalid mount path"),!1}return l(null),a(We=>({...We,sessionStorageMountPath:He})),setTimeout(()=>Ee("sessionStorageMountPath"),0),!0},[Ee]),pt=(0,Gs.useCallback)(()=>{setTimeout(()=>Ee("sessionStorageMountPath"),0)},[Ee]),Sn=(0,Gs.useCallback)(()=>{l(null);let He=w[P-1];He&&s(He)},[P,w]),sn=(0,Gs.useCallback)(()=>{s("projectName"),a(Qun()),l(null),m(!1),C(new Set)},[]),Xe=(0,Gs.useCallback)(He=>{a(We=>({...We,projectName:He})),n(!0),s("language"),l(null)},[]);return{step:r,steps:w,currentIndex:P,config:i,error:c,hasInitialName:t,setProjectName:D,setLanguage:N,setBuildType:U,setDockerfile:se,setProtocol:F,setSdk:z,setModelProvider:oe,setApiKey:ce,skipApiKey:re,setMemory:ee,setAdvanced:he,advancedSelected:_,advancedSettings:A,setNetworkMode:Ce,setSubnets:Pe,setSecurityGroups:le,setRequestHeaderAllowlist:ge,skipRequestHeaderAllowlist:De,setAuthorizerType:ke,setJwtConfig:st,setIdleTimeout:Et,skipIdleTimeout:Le,setMaxLifetime:Ge,skipMaxLifetime:Fe,setSessionStorageMountPath:Qe,skipSessionStorageMountPath:pt,goBack:Sn,reset:sn,initWithName:Xe}}var Gs,Vun=L(()=>{"use strict";Vr();NY();Gs=G(at())});var LY,TL,zun,MY,Kun,Wun,Zot,GY=L(()=>{"use strict";Vr();Vr();LY={name:"Name",agentType:"Type",codeLocation:"Code",buildType:"Build",dockerfile:"Dockerfile",language:"Language",protocol:"Protocol",framework:"Framework",modelProvider:"Model",apiKey:"API Key",advanced:"Advanced",networkMode:"Network",subnets:"Subnets",securityGroups:"Security Groups",requestHeaderAllowlist:"Headers",authorizerType:"Auth",jwtConfig:"JWT Config",idleTimeout:"Idle Timeout",maxLifetime:"Max Lifetime",sessionStorageMountPath:"Session Storage",memory:"Memory",region:"Region",bedrockAgent:"Agent",bedrockAlias:"Alias",confirm:"Confirm"},TL=[{id:"AWS_IAM",title:"AWS IAM (default)",description:"Standard AWS IAM authentication"},{id:"CUSTOM_JWT",title:"Custom JWT",description:"OIDC-based token validation for inbound requests"}],zun=[{id:"create",title:"Create new agent"},{id:"byo",title:"Bring my own code"},{id:"import",title:"Import from Bedrock Agents"}],MY=[{id:"Strands",title:"Strands Agents SDK",description:"AWS native agent framework"},{id:"LangChain_LangGraph",title:"LangChain + LangGraph",description:"Popular open-source frameworks"},{id:"GoogleADK",title:"Google ADK",description:"Google Agent Development Kit"},{id:"OpenAIAgents",title:"OpenAI Agents",description:"OpenAI native agent SDK"}],Kun=[{id:"Bedrock",title:`Amazon Bedrock (${Op.Bedrock})`,description:"AWS managed model inference"},{id:"Anthropic",title:`Anthropic (${Op.Anthropic})`,description:"Claude models via Anthropic API"},{id:"OpenAI",title:`OpenAI (${Op.OpenAI})`,description:"GPT models via OpenAI API"},{id:"Gemini",title:`Google Gemini (${Op.Gemini})`,description:"Gemini models via Google API"}],Wun=[{id:"PUBLIC",title:"Public",description:void 0},{id:"VPC",title:"VPC",description:"Attach to your VPC"}],Zot="main.py"});import{basename as Jsi}from"path";function Jun(e){switch(e){case"OpenAI":return{name:"OpenAI",envVarName:"OPENAI_API_KEY"};case"Anthropic":return{name:"Anthropic",envVarName:"ANTHROPIC_API_KEY"};case"Gemini":return{name:"Google Gemini",envVarName:"GEMINI_API_KEY"};case"Bedrock":return{name:"Amazon Bedrock",envVarName:""}}}function Xot({wizard:e,onBack:t,onConfirm:n,isActive:o,credentialProjectName:r}){let i=(()=>{switch(e.step){case"language":return Wot.map(ee=>({id:ee.id,title:ee.title,disabled:"disabled"in ee?ee.disabled:void 0}));case"buildType":return _L.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"protocol":return Jot.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"sdk":return jun(e.config.protocol).map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"modelProvider":return Jbe(e.config.sdk).map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"memory":return kY.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"networkMode":return Hun.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"authorizerType":return TL.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));default:return[]}})(),a=i.length>0,c=e.step==="advanced",l=e.step==="projectName",p=e.step==="dockerfile",m=e.step==="apiKey",A=e.step==="subnets",C=e.step==="securityGroups",_=e.step==="requestHeaderAllowlist",w=e.step==="jwtConfig",P=e.step==="idleTimeout",D=e.step==="maxLifetime",N=e.step==="sessionStorageMountPath",U=e.step==="confirm",F=Ybe.filter(ee=>ee.id!=="dockerfile"||e.config.buildType==="Container").map(ee=>({id:ee.id,title:ee.title,description:ee.description})),z=ee=>{switch(e.step){case"language":e.setLanguage(ee.id);break;case"buildType":e.setBuildType(ee.id);break;case"protocol":e.setProtocol(ee.id);break;case"sdk":e.setSdk(ee.id);break;case"modelProvider":e.setModelProvider(ee.id);break;case"memory":e.setMemory(ee.id);break;case"networkMode":e.setNetworkMode(ee.id);break;case"authorizerType":e.setAuthorizerType(ee.id);break}},{selectedIndex:oe}=Nt({items:i,onSelect:z,onExit:t,isActive:o&&a&&!c,isDisabled:ee=>ee.disabled??!1,resetKey:e.step}),ce=ml({items:F,getId:ee=>ee.id,onConfirm:ee=>e.setAdvanced(ee),onExit:t,isActive:o&&c,requireSelection:!1}),re=B_({onComplete:ee=>{e.setJwtConfig(ee)},onBack:()=>{e.goBack()}});return No((ee,Ee)=>{Ee.return||ee==="y"?n():Ee.escape&&t()},{isActive:o&&U}),(0,So.jsxs)(lo,{children:[l&&(0,So.jsxs)(Z,{flexDirection:"column",children:[(0,So.jsx)(Rn,{prompt:"What should the agent be called?",initialValue:e.config.projectName,schema:yE,onSubmit:e.setProjectName,onCancel:t}),e.error&&(0,So.jsx)(Z,{marginTop:1,children:(0,So.jsxs)(x,{color:"red",children:["\u2717 ",e.error]})})]}),a&&!c&&(0,So.jsx)(Um,{items:i,selectedIndex:oe}),c&&(0,So.jsx)(Pl,{title:"Customize advanced settings",description:"Select settings to configure. Unselected items use defaults.",items:F,cursorIndex:ce.cursorIndex,selectedIds:ce.selectedIds}),p&&(0,So.jsx)(Ny,{placeholder:"Select a Dockerfile to copy into your agent directory",pathType:"file",allowEmpty:!0,emptyHelpText:"Press Enter to use the default Dockerfile",onSubmit:ee=>{e.setDockerfile(ee?Jsi(ee):void 0)},onCancel:t}),m&&(0,So.jsx)(UY,{providerName:Jun(e.config.modelProvider).name,envVarName:Jun(e.config.modelProvider).envVarName,onSubmit:e.setApiKey,onSkip:e.skipApiKey,onCancel:t,isActive:o}),A&&(0,So.jsx)(Rn,{prompt:"Subnet IDs (comma-separated)",initialValue:(e.config.subnets??[]).join(", "),customValidation:zW,onSubmit:ee=>{e.setSubnets(ee.split(",").map(Ee=>Ee.trim()).filter(Boolean))},onCancel:t}),C&&(0,So.jsx)(Rn,{prompt:"Security group IDs (comma-separated)",initialValue:(e.config.securityGroups??[]).join(", "),customValidation:KW,onSubmit:ee=>{e.setSecurityGroups(ee.split(",").map(Ee=>Ee.trim()).filter(Boolean))},onCancel:t}),_&&(0,So.jsxs)(Z,{flexDirection:"column",children:[(0,So.jsx)(Rn,{prompt:"Allowed request headers (comma-separated, or press Enter to skip)",initialValue:(e.config.requestHeaderAllowlist??[]).join(", "),allowEmpty:!0,customValidation:ee=>{let Ee=$4(ee);return Ee.success?!0:Ee.error},onSubmit:ee=>{let Ee=c$(ee);Ee.length>0?e.setRequestHeaderAllowlist(Ee):e.skipRequestHeaderAllowlist()},onCancel:t}),(0,So.jsx)(Z,{marginTop:1,children:(0,So.jsx)(x,{dimColor:!0,children:"Enter header suffixes or full names. We auto-prefix with X-Amzn-Bedrock-AgentCore-Runtime-Custom- if needed. 'Authorization' is also accepted."})})]}),w&&(0,So.jsx)($_,{subStep:re.subStep,steps:re.steps,selectedConstraints:re.selectedConstraints,customClaims:re.customClaims,discoveryUrl:re.discoveryUrl,audience:re.audience,clients:re.clients,scopes:re.scopes,onDiscoveryUrl:re.handlers.handleDiscoveryUrl,onConstraintsPicked:re.handlers.handleConstraintsPicked,onAudience:re.handlers.handleAudience,onClients:re.handlers.handleClients,onScopes:re.handlers.handleScopes,onCustomClaimsDone:re.handlers.handleCustomClaimsDone,onClientId:re.handlers.handleClientId,onClientIdSkip:re.handlers.handleClientIdSkip,onClientSecret:re.handlers.handleClientSecret,onBack:re.goBack,onClaimsManagerModeChange:re.handlers.handleClaimsManagerModeChange}),P&&(0,So.jsx)(Rn,{prompt:`Idle session timeout in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:ee=>{if(!ee)return!0;let Ee=Number(ee);return isNaN(Ee)||!Number.isInteger(Ee)||Ee<sl||Ee>al?`Must be an integer between ${sl} and ${al}`:!0},onSubmit:ee=>{ee?e.setIdleTimeout(Number(ee)):e.skipIdleTimeout()},onCancel:t}),D&&(0,So.jsx)(Rn,{prompt:`Max instance lifetime in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:ee=>{if(!ee)return!0;let Ee=Number(ee);return isNaN(Ee)||!Number.isInteger(Ee)||Ee<sl||Ee>al?`Must be an integer between ${sl} and ${al}`:e.config.idleRuntimeSessionTimeout!==void 0&&Ee<e.config.idleRuntimeSessionTimeout?"Must be >= idle timeout":!0},onSubmit:ee=>{ee?e.setMaxLifetime(Number(ee)):e.skipMaxLifetime()},onCancel:t}),N&&(0,So.jsx)(Rn,{prompt:"Session storage mount path (e.g. /mnt/data, or press Enter to skip)",initialValue:e.config.sessionStorageMountPath??"",allowEmpty:!0,schema:EI.shape.mountPath,onSubmit:ee=>{ee?e.setSessionStorageMountPath(ee):e.skipSessionStorageMountPath()},onCancel:t}),U&&(0,So.jsx)(Zsi,{config:e.config,credentialProjectName:r})]})}function ert(e){return e==="confirm"?"Enter/Y confirm \xB7 Esc back":e==="projectName"||e==="dockerfile"||e==="subnets"||e==="securityGroups"||e==="requestHeaderAllowlist"||e==="idleTimeout"||e==="maxLifetime"||e==="sessionStorageMountPath"?"Enter submit \xB7 Esc cancel":e==="apiKey"?"Enter submit \xB7 Tab show/hide \xB7 Esc back":e==="jwtConfig"?"Enter submit \xB7 Esc back":e==="advanced"?"Space toggle \xB7 Enter confirm \xB7 Esc back":"\u2191\u2193 navigate \xB7 Enter select \xB7 Esc back"}function Ysi(e){switch(e){case"none":return"None";case"shortTerm":return"Short-term";case"longAndShortTerm":return"Long-term + short-term"}}function Zsi({config:e,credentialProjectName:t}){let n=Wot.find(p=>p.id===e.language)?.title??e.language,o=_L.find(p=>p.id===e.buildType)?.title??e.buildType,r=Jot.find(p=>p.id===e.protocol)?.title??e.protocol,s=Ysi(e.memory),i=e.protocol==="MCP",c=`${t??e.projectName}${e.modelProvider}`,l=Ha(c);return(0,So.jsxs)(Z,{flexDirection:"column",children:[(0,So.jsx)(x,{bold:!0,children:"Review Configuration"}),(0,So.jsxs)(Z,{flexDirection:"column",marginTop:1,marginLeft:2,children:[(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Name: "}),(0,So.jsx)(x,{children:e.projectName})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Language: "}),(0,So.jsx)(x,{children:n})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Build: "}),(0,So.jsx)(x,{children:o})]}),e.buildType==="Container"&&e.dockerfile&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Dockerfile: "}),(0,So.jsx)(x,{children:e.dockerfile})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Protocol: "}),(0,So.jsx)(x,{children:r})]}),!i&&(0,So.jsxs)(So.Fragment,{children:[(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Framework: "}),(0,So.jsx)(x,{children:e.sdk})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Model Provider: "}),(0,So.jsxs)(x,{children:[e.modelProvider," (",Op[e.modelProvider],")"]})]}),e.modelProvider!=="Bedrock"&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"API Key: "}),(0,So.jsx)(x,{color:e.apiKey?"green":"yellow",children:e.apiKey?"Configured":`Not set - fill in ${l} in .env.local`})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Memory: "}),(0,So.jsx)(x,{children:s})]})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Network: "}),(0,So.jsx)(x,{children:e.networkMode??"PUBLIC"})]}),e.networkMode==="VPC"&&e.subnets&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Subnets: "}),(0,So.jsx)(x,{children:e.subnets.join(", ")})]}),e.networkMode==="VPC"&&e.securityGroups&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Security Groups: "}),(0,So.jsx)(x,{children:e.securityGroups.join(", ")})]}),e.requestHeaderAllowlist&&e.requestHeaderAllowlist.length>0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Headers: "}),(0,So.jsx)(x,{children:e.requestHeaderAllowlist.join(", ")})]}),e.authorizerType&&e.authorizerType!=="AWS_IAM"&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Inbound Auth: "}),(0,So.jsx)(x,{children:TL.find(p=>p.id===e.authorizerType)?.title??e.authorizerType})]}),e.authorizerType==="CUSTOM_JWT"&&e.jwtConfig&&(0,So.jsxs)(So.Fragment,{children:[(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Discovery URL: "}),(0,So.jsx)(x,{children:e.jwtConfig.discoveryUrl})]}),e.jwtConfig.allowedAudience&&e.jwtConfig.allowedAudience.length>0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Allowed Audience: "}),(0,So.jsx)(x,{children:e.jwtConfig.allowedAudience.join(", ")})]})]}),e.idleRuntimeSessionTimeout!==void 0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Idle Timeout: "}),(0,So.jsxs)(x,{children:[e.idleRuntimeSessionTimeout,"s"]})]}),e.maxLifetime!==void 0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Max Lifetime: "}),(0,So.jsxs)(x,{children:[e.maxLifetime,"s"]})]}),e.sessionStorageMountPath&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Session Storage: "}),(0,So.jsx)(x,{children:e.sessionStorageMountPath})]}),e.withConfigBundle&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Config Bundle: "}),(0,So.jsx)(x,{color:"green",children:"Yes (auto-created on deploy)"})]})]})]})}var So,Yun=L(async()=>{"use strict";Vr();c1();uP();gg();await _o();await YJ();await qi();GY();NY();await rn();So=G(Ne())});var Zun=L(async()=>{"use strict";await Fun();Vun();await Yun();NY()});var Xun=_e(($ps,Xsi)=>{Xsi.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var ndn=_e((Ops,tdn)=>{"use strict";var Zbe=Object.assign({},Xun()),edn=Object.keys(Zbe);Object.defineProperty(Zbe,"random",{get(){let e=Math.floor(Math.random()*edn.length),t=edn[e];return Zbe[t]}});tdn.exports=Zbe});function eai({type:e="dots"}){let[t,n]=(0,hj.useState)(0),o=odn.default[e];return(0,hj.useEffect)(()=>{let r=setInterval(()=>{n(s=>s===o.frames.length-1?0:s+1)},o.interval);return()=>{clearInterval(r)}},[o]),hj.default.createElement(x,null,o.frames[t])}var hj,odn,xL,Xbe=L(async()=>{hj=G(at(),1);await rn();odn=G(ndn(),1);xL=eai});import{basename as tai,resolve as nai}from"path";function rdn(e){switch(e){case"OpenAI":return{name:"OpenAI",envVarName:"OPENAI_API_KEY"};case"Anthropic":return{name:"Anthropic",envVarName:"ANTHROPIC_API_KEY"};case"Gemini":return{name:"Google Gemini",envVarName:"GEMINI_API_KEY"};case"Bedrock":return{name:"Amazon Bedrock",envVarName:""}}}function iai(e){let t=[...rai];if(e.modelProvider==="Bedrock"&&(t=t.filter(n=>n!=="apiKey")),e.advancedSettings.size>0){let o=t.indexOf("advanced")+1,r=[];e.advancedSettings.has("dockerfile")&&e.buildType==="Container"&&r.push("dockerfile"),e.advancedSettings.has("network")&&(r.push("networkMode"),e.networkMode==="VPC"&&r.push("subnets","securityGroups")),e.advancedSettings.has("headers")&&r.push("requestHeaderAllowlist"),e.advancedSettings.has("auth")&&r.push("authorizerType"),e.advancedSettings.has("lifecycle")&&r.push("idleTimeout","maxLifetime"),e.advancedSettings.has("filesystem")&&r.push("sessionStorageMountPath"),t=[...t.slice(0,o),...r,...t.slice(o)]}if(e.authorizerType==="CUSTOM_JWT"&&t.includes("authorizerType")){let n=t.indexOf("authorizerType");t=[...t.slice(0,n+1),"jwtConfig",...t.slice(n+1)]}return t}function FY({existingAgentNames:e,onComplete:t,onExit:n}){let[o,r]=(0,ei.useState)(""),[s,i]=(0,ei.useState)(null),[a,c]=(0,ei.useState)("name"),l=Yot({initialName:o}),[p,m]=(0,ei.useState)("codeLocation"),[A,C]=(0,ei.useState)({codeLocation:"",entrypoint:Zot,buildType:"CodeZip",dockerfile:"",modelProvider:"Bedrock",apiKey:void 0,networkMode:"PUBLIC",subnets:"",securityGroups:"",requestHeaderAllowlist:"",idleTimeout:"",maxLifetime:"",sessionStorageMountPath:"",withConfigBundle:void 0}),[_,w]=(0,ei.useState)(new Set),[P,D]=(0,ei.useState)("AWS_IAM"),[N,U]=(0,ei.useState)(void 0),{project:F}=Wbe(),[z,oe]=(0,ei.useState)("");(0,ei.useEffect)(()=>{(async()=>{try{let Te=await new Ut().readProjectSpec();oe(Te.name)}catch{}})()},[]);let[ce,re]=(0,ei.useState)("region"),[ee,Ee]=(0,ei.useState)({region:"",bedrockAgentId:"",bedrockAgentName:"",bedrockAliasId:"",bedrockAliasName:"",framework:"Strands",memory:"none"}),se=(0,ei.useRef)(ee);(0,ei.useEffect)(()=>{se.current=ee},[ee]);let[he,Ce]=(0,ei.useState)([]),[Pe,le]=(0,ei.useState)([]),[ge,De]=(0,ei.useState)("AWS_IAM"),[ke,st]=(0,ei.useState)(void 0),[Et,Le]=(0,ei.useState)(!1),[Ge,Fe]=(0,ei.useState)(null),Qe=s===null,pt=s==="create",Sn=s==="byo",sn=s==="import",Xe=(0,ei.useMemo)(()=>zun.map(q=>({id:q.id,title:q.title})),[]),He=(0,ei.useCallback)(q=>{r(q),c("agentType")},[]),We=(0,ei.useCallback)(q=>{i(q),q==="create"?l.initWithName(o):q==="byo"&&C(Q=>({...Q,codeLocation:`${Ki}/${o}/`}))},[o,l]),et=Nt({items:Xe,onSelect:q=>We(q.id),onExit:()=>{c("name")},isActive:Qe&&a==="agentType"}),Ft=(0,ei.useCallback)(()=>{let q={name:o,agentType:"create",codeLocation:`${o}/`,entrypoint:"main.py",language:l.config.language,buildType:l.config.buildType,...l.config.buildType==="Container"&&l.config.dockerfile&&{dockerfile:l.config.dockerfile},protocol:l.config.protocol,framework:l.config.sdk,modelProvider:l.config.modelProvider,apiKey:l.config.apiKey,networkMode:l.config.networkMode,subnets:l.config.networkMode==="VPC"?l.config.subnets:void 0,securityGroups:l.config.networkMode==="VPC"?l.config.securityGroups:void 0,requestHeaderAllowlist:l.config.requestHeaderAllowlist,...l.config.authorizerType&&l.config.authorizerType!=="AWS_IAM"&&{authorizerType:l.config.authorizerType},...l.config.authorizerType==="CUSTOM_JWT"&&l.config.jwtConfig&&{jwtConfig:l.config.jwtConfig},idleRuntimeSessionTimeout:l.config.idleRuntimeSessionTimeout,maxLifetime:l.config.maxLifetime,sessionStorageMountPath:l.config.sessionStorageMountPath,withConfigBundle:l.config.withConfigBundle,pythonVersion:pm,memory:l.config.memory};t(q)},[o,l.config,t]),gt=(0,ei.useCallback)(()=>{l.currentIndex===0?(i(null),c("agentType")):l.goBack()},[l]),Pt=_.size>0,vt=(0,ei.useMemo)(()=>iai({modelProvider:A.modelProvider,buildType:A.buildType,networkMode:A.networkMode,authorizerType:P,advancedSettings:_}),[A.buildType,A.modelProvider,A.networkMode,Pt,_,P]),zt=vt.indexOf(p),Kt=(0,ei.useCallback)(q=>{let Q=vt.indexOf(q),Te=Q>=0?vt[Q+1]:void 0;m(Te??"confirm")},[vt]),Oe=(0,ei.useMemo)(()=>Ybe.filter(q=>q.id!=="dockerfile"||A.buildType==="Container").map(q=>({id:q.id,title:q.title,description:q.description})),[A.buildType]),mt=(0,ei.useMemo)(()=>_L.map(q=>({id:q.id,title:q.title,description:q.description})),[]),pn=(0,ei.useMemo)(()=>Kun.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Yt=(0,ei.useCallback)(()=>{if(zt===0)i(null),c("agentType");else{let q=vt[zt-1];q&&m(q)}},[zt,vt]),Ve=(0,ei.useCallback)(()=>{let q=c$(A.requestHeaderAllowlist),Q={name:o,agentType:"byo",codeLocation:A.codeLocation,entrypoint:A.entrypoint,language:"Python",buildType:A.buildType,...A.buildType==="Container"&&A.dockerfile&&{dockerfile:A.dockerfile},protocol:"HTTP",framework:"Strands",modelProvider:A.modelProvider,apiKey:A.apiKey,networkMode:A.networkMode,subnets:A.networkMode==="VPC"?eS(A.subnets):void 0,securityGroups:A.networkMode==="VPC"?eS(A.securityGroups):void 0,...q.length>0&&{requestHeaderAllowlist:q},...P!=="AWS_IAM"&&{authorizerType:P},...P==="CUSTOM_JWT"&&N&&{jwtConfig:N},...A.idleTimeout&&{idleRuntimeSessionTimeout:Number(A.idleTimeout)},...A.maxLifetime&&{maxLifetime:Number(A.maxLifetime)},...A.sessionStorageMountPath&&{sessionStorageMountPath:A.sessionStorageMountPath},...A.withConfigBundle&&{withConfigBundle:!0},pythonVersion:pm,memory:"none"};t(Q)},[o,A,P,N,t]),Lt=Nt({items:mt,onSelect:q=>{let Q=q.id;C(Te=>({...Te,buildType:Q,dockerfile:""})),m("modelProvider")},onExit:Yt,isActive:Sn&&p==="buildType"}),on=Nt({items:pn,onSelect:q=>{let Q=q.id;C(Te=>({...Te,modelProvider:Q})),m(Q!=="Bedrock"?"apiKey":"advanced")},onExit:Yt,isActive:Sn&&p==="modelProvider"}),Xt=(0,ei.useMemo)(()=>Wun.map(q=>({id:q.id,title:q.title,description:q.description})),[]),_n=ml({items:Oe,getId:q=>q.id,onConfirm:q=>{let Q=new Set(q);w(Q),Q.size===0?(C(Te=>({...Te,dockerfile:"",networkMode:"PUBLIC",subnets:"",securityGroups:"",requestHeaderAllowlist:"",idleTimeout:"",maxLifetime:"",sessionStorageMountPath:"",withConfigBundle:void 0})),D("AWS_IAM"),U(void 0),m("confirm")):(C(Te=>({...Te,withConfigBundle:Q.has("configBundle")||void 0})),setTimeout(()=>{Q.has("dockerfile")&&A.buildType==="Container"?m("dockerfile"):Q.has("network")?m("networkMode"):Q.has("headers")?m("requestHeaderAllowlist"):Q.has("auth")?m("authorizerType"):Q.has("lifecycle")?m("idleTimeout"):Q.has("filesystem")?m("sessionStorageMountPath"):m("confirm")},0))},onExit:Yt,isActive:Sn&&p==="advanced",requireSelection:!1}),Io=Nt({items:Xt,onSelect:q=>{let Q=q.id;C(Te=>({...Te,networkMode:Q})),Q==="VPC"?m("subnets"):setTimeout(()=>Kt("networkMode"),0)},onExit:Yt,isActive:Sn&&p==="networkMode"}),dn=(0,ei.useMemo)(()=>TL.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Vn=Nt({items:dn,onSelect:q=>{let Q=q.id;D(Q),Q==="CUSTOM_JWT"?m("jwtConfig"):(U(void 0),setTimeout(()=>Kt("authorizerType"),0))},onExit:Yt,isActive:Sn&&p==="authorizerType"}),At=B_({onComplete:q=>{U(q),setTimeout(()=>Kt("jwtConfig"),0)},onBack:()=>{m("authorizerType")}});Nt({items:[{id:"confirm",title:"Confirm"}],onSelect:Ve,onExit:Yt,isActive:Sn&&p==="confirm"});let en=(0,ei.useMemo)(()=>{let q=[...sai];if(ge==="CUSTOM_JWT"){let Q=q.indexOf("authorizerType");q=[...q.slice(0,Q+1),"jwtConfig",...q.slice(Q+1)]}return q},[ge]),zn=en.indexOf(ce),mn=(0,ei.useCallback)(()=>{if(zn===0)i(null),c("agentType");else{let q=en[zn-1];q&&re(q)}},[zn,en]),Fo=(0,ei.useMemo)(()=>Van.map(q=>({id:q.id,title:`${q.title} (${q.id})`})),[]),gr=Nt({items:Fo,onSelect:q=>{Ee(Q=>({...Q,region:q.id})),re("bedrockAgent"),Le(!0),Fe(null),Han(q.id).then(Q=>{Ce(Q),Le(!1)}).catch(Q=>{Fe(Q instanceof Error?Q.message:"Failed to list agents"),Le(!1)})},onExit:mn,isActive:sn&&ce==="region"}),ve=(0,ei.useMemo)(()=>he.map(q=>({id:q.agentId,title:q.agentName||q.agentId,description:q.description})),[he]),dt=Nt({items:ve,onSelect:q=>{let Q=he.find(Te=>Te.agentId===q.id);Ee(Te=>({...Te,bedrockAgentId:q.id,bedrockAgentName:Q?.agentName??q.id})),re("bedrockAlias"),Le(!0),Fe(null),Qan(se.current.region,q.id).then(Te=>{le(Te),Le(!1)}).catch(Te=>{Fe(Te instanceof Error?Te.message:"Failed to list aliases"),Le(!1)})},onExit:mn,isActive:sn&&ce==="bedrockAgent"&&!Et}),nn=(0,ei.useMemo)(()=>Pe.map(q=>({id:q.aliasId,title:q.aliasName||q.aliasId,description:q.description})),[Pe]),jt=Nt({items:nn,onSelect:q=>{let Q=Pe.find(Te=>Te.aliasId===q.id);Ee(Te=>({...Te,bedrockAliasId:q.id,bedrockAliasName:Q?.aliasName??q.id})),re("framework")},onExit:mn,isActive:sn&&ce==="bedrockAlias"&&!Et}),An=(0,ei.useMemo)(()=>Ant.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Bo=Nt({items:An,onSelect:q=>{Ee(Q=>({...Q,framework:q.id})),re("memory")},onExit:mn,isActive:sn&&ce==="framework"}),To=(0,ei.useMemo)(()=>kY.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Zo=Nt({items:To,onSelect:q=>{Ee(Q=>({...Q,memory:q.id})),re("authorizerType")},onExit:mn,isActive:sn&&ce==="memory"}),cr=Nt({items:dn,onSelect:q=>{let Q=q.id;De(Q),Q==="CUSTOM_JWT"?re("jwtConfig"):(st(void 0),re("confirm"))},onExit:mn,isActive:sn&&ce==="authorizerType"}),sr=B_({onComplete:q=>{st(q),re("confirm")},onBack:()=>{re("authorizerType")}}),Yr=(0,ei.useCallback)(()=>{let q={name:o,agentType:"import",codeLocation:`${Ki}/${o}/`,entrypoint:"main.py",language:"Python",buildType:"CodeZip",protocol:"HTTP",framework:ee.framework,modelProvider:"Bedrock",pythonVersion:pm,memory:ee.memory,bedrockAgentId:ee.bedrockAgentId,bedrockAliasId:ee.bedrockAliasId,bedrockRegion:ee.region,...ge!=="AWS_IAM"&&{authorizerType:ge},...ge==="CUSTOM_JWT"&&ke&&{jwtConfig:ke}};t(q)},[o,ee,ge,ke,t]);Nt({items:[{id:"confirm",title:"Confirm"}],onSelect:Yr,onExit:mn,isActive:sn&&ce==="confirm"});let hs=()=>Qe?a==="name"?an.TEXT_INPUT:an.NAVIGATE_SELECT:pt?ert(l.step):sn?ce==="confirm"?an.CONFIRM_CANCEL:ce==="jwtConfig"?sr.subStep==="constraintPicker"?an.MULTI_SELECT:sr.subStep==="customClaims"?sr.claimsManagerMode==="add"||sr.claimsManagerMode==="edit"?"\u2191/\u2193 field \xB7 \u2190/\u2192 cycle \xB7 Enter next/save \xB7 Esc cancel":"Navigate \xB7 Enter select \xB7 Esc back":an.TEXT_INPUT:an.NAVIGATE_SELECT:p==="jwtConfig"?At.subStep==="constraintPicker"?an.MULTI_SELECT:At.subStep==="customClaims"?At.claimsManagerMode==="add"||At.claimsManagerMode==="edit"?"\u2191/\u2193 field \xB7 \u2190/\u2192 cycle \xB7 Enter next/save \xB7 Esc cancel":"Navigate \xB7 Enter select \xB7 Esc back":an.TEXT_INPUT:p==="codeLocation"||p==="dockerfile"||p==="apiKey"||p==="subnets"||p==="securityGroups"||p==="requestHeaderAllowlist"||p==="idleTimeout"||p==="maxLifetime"||p==="sessionStorageMountPath"?an.TEXT_INPUT:p==="advanced"?"Space toggle \xB7 Enter confirm \xB7 Esc back":p==="confirm"?an.CONFIRM_CANCEL:an.NAVIGATE_SELECT,Qs=()=>{if(Qe)return(0,Do.jsx)(cs,{steps:oai,currentStep:a,labels:LY});if(pt){let Q=["name","agentType",...l.steps],Te=l.step;return(0,Do.jsx)(cs,{steps:Q,currentStep:Te,labels:{...LY,sdk:"Framework"}})}if(sn){let Q=["name","agentType",...en];return(0,Do.jsx)(cs,{steps:Q,currentStep:ce,labels:LY})}let q=["name","agentType",...vt];return(0,Do.jsx)(cs,{steps:[...q],currentStep:p,labels:LY})};return Qe&&a==="name"?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:an.TEXT_INPUT,headerContent:Qs(),children:(0,Do.jsx)(lo,{children:(0,Do.jsx)(Rn,{prompt:"Agent name",initialValue:ju("MyAgent",e),onSubmit:He,onCancel:n,schema:CI,customValidation:q=>!e.includes(q)||"Agent name already exists"})})}):Qe&&a==="agentType"?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:an.NAVIGATE_SELECT,headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsx)(lo,{children:(0,Do.jsx)(qn,{title:"Select agent type",items:Xe,selectedIndex:et.selectedIndex})})}):pt?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:hs(),headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsx)(Xot,{wizard:l,onBack:gt,onConfirm:Ft,isActive:!0,credentialProjectName:z})}):sn?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:hs(),headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsxs)(lo,{children:[ce==="region"&&(0,Do.jsx)(qn,{title:"Select AWS region",items:Fo,selectedIndex:gr.selectedIndex}),ce==="bedrockAgent"&&Et&&(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(xL,{type:"dots"}),(0,Do.jsx)(x,{children:" Loading agents..."})]}),ce==="bedrockAgent"&&Ge&&(0,Do.jsxs)(x,{color:"red",children:["Error: ",Ge]}),ce==="bedrockAgent"&&!Et&&!Ge&&ve.length===0&&(0,Do.jsxs)(x,{color:"yellow",children:["No agents found in ",ee.region,". Press Esc to go back."]}),ce==="bedrockAgent"&&!Et&&!Ge&&ve.length>0&&(0,Do.jsx)(qn,{title:"Select Bedrock Agent",items:ve,selectedIndex:dt.selectedIndex}),ce==="bedrockAlias"&&Et&&(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(xL,{type:"dots"}),(0,Do.jsx)(x,{children:" Loading aliases..."})]}),ce==="bedrockAlias"&&Ge&&(0,Do.jsxs)(x,{color:"red",children:["Error: ",Ge]}),ce==="bedrockAlias"&&!Et&&!Ge&&nn.length===0&&(0,Do.jsx)(x,{color:"yellow",children:"No aliases found. Press Esc to go back."}),ce==="bedrockAlias"&&!Et&&!Ge&&nn.length>0&&(0,Do.jsx)(qn,{title:"Select Agent Alias",items:nn,selectedIndex:jt.selectedIndex}),ce==="framework"&&(0,Do.jsx)(qn,{title:"Select framework",items:An,selectedIndex:Bo.selectedIndex}),ce==="memory"&&(0,Do.jsx)(qn,{title:"Select memory configuration",items:To,selectedIndex:Zo.selectedIndex}),ce==="authorizerType"&&(0,Do.jsx)(qn,{title:"Select inbound auth mode",items:dn,selectedIndex:cr.selectedIndex}),ce==="jwtConfig"&&(0,Do.jsx)($_,{subStep:sr.subStep,steps:sr.steps,selectedConstraints:sr.selectedConstraints,customClaims:sr.customClaims,discoveryUrl:sr.discoveryUrl,audience:sr.audience,clients:sr.clients,scopes:sr.scopes,onDiscoveryUrl:sr.handlers.handleDiscoveryUrl,onConstraintsPicked:sr.handlers.handleConstraintsPicked,onAudience:sr.handlers.handleAudience,onClients:sr.handlers.handleClients,onScopes:sr.handlers.handleScopes,onCustomClaimsDone:sr.handlers.handleCustomClaimsDone,onClientId:sr.handlers.handleClientId,onClientIdSkip:sr.handlers.handleClientIdSkip,onClientSecret:sr.handlers.handleClientSecret,onBack:sr.goBack,onClaimsManagerModeChange:sr.handlers.handleClaimsManagerModeChange}),ce==="confirm"&&(0,Do.jsx)(Da,{fields:[{label:"Name",value:o},{label:"Type",value:"Import from Bedrock Agents"},{label:"Region",value:ee.region},{label:"Bedrock Agent",value:`${ee.bedrockAgentName} (${ee.bedrockAgentId})`},{label:"Alias",value:`${ee.bedrockAliasName} (${ee.bedrockAliasId})`},{label:"Framework",value:Ant.find(q=>q.id===ee.framework)?.title??ee.framework},{label:"Memory",value:kY.find(q=>q.id===ee.memory)?.title??ee.memory},...ge!=="AWS_IAM"?[{label:"Inbound Auth",value:TL.find(q=>q.id===ge)?.title??ge}]:[],...ge==="CUSTOM_JWT"&&ke?[{label:"Discovery URL",value:ke.discoveryUrl}]:[]]})]})}):(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:hs(),headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsxs)(lo,{children:[p==="codeLocation"&&(0,Do.jsx)(aai,{projectRoot:F?.projectRoot??process.cwd(),initialCodeLocation:A.codeLocation,initialEntrypoint:A.entrypoint,onSubmit:(q,Q)=>(C(Te=>({...Te,codeLocation:q,entrypoint:Q})),m("buildType"),!0),onCancel:Yt}),p==="buildType"&&(0,Do.jsx)(qn,{title:"Select build type",items:mt,selectedIndex:Lt.selectedIndex}),p==="dockerfile"&&(0,Do.jsx)(Ny,{placeholder:"Select a Dockerfile",basePath:nai(F?.projectRoot??process.cwd(),A.codeLocation),pathType:"file",allowEmpty:!0,emptyHelpText:"Press Enter to use the default Dockerfile",onSubmit:q=>{C(Q=>({...Q,dockerfile:q?tai(q):""})),Kt("dockerfile")},onCancel:Yt}),p==="modelProvider"&&(0,Do.jsx)(qn,{title:"Select model provider",items:pn,selectedIndex:on.selectedIndex}),p==="apiKey"&&(0,Do.jsx)(UY,{providerName:rdn(A.modelProvider).name,envVarName:rdn(A.modelProvider).envVarName,onSubmit:q=>{C(Q=>({...Q,apiKey:q})),m("advanced")},onSkip:()=>m("advanced"),onCancel:Yt}),p==="advanced"&&(0,Do.jsx)(Pl,{title:"Customize advanced settings",description:"Select settings to configure. Unselected items use defaults.",items:Oe,cursorIndex:_n.cursorIndex,selectedIds:_n.selectedIds}),p==="networkMode"&&(0,Do.jsx)(qn,{title:"Select network mode",items:Xt,selectedIndex:Io.selectedIndex}),p==="subnets"&&(0,Do.jsx)(Rn,{prompt:"Subnet IDs (comma-separated)",initialValue:A.subnets,customValidation:zW,onSubmit:q=>{C(Q=>({...Q,subnets:q})),m("securityGroups")},onCancel:Yt}),p==="securityGroups"&&(0,Do.jsx)(Rn,{prompt:"Security group IDs (comma-separated)",initialValue:A.securityGroups,customValidation:KW,onSubmit:q=>{C(Q=>({...Q,securityGroups:q})),Kt("securityGroups")},onCancel:Yt}),p==="requestHeaderAllowlist"&&(0,Do.jsxs)(Z,{flexDirection:"column",children:[(0,Do.jsx)(Rn,{prompt:"Allowed request headers (comma-separated, or press Enter to skip)",initialValue:A.requestHeaderAllowlist,allowEmpty:!0,customValidation:q=>{let Q=$4(q);return Q.success?!0:Q.error},onSubmit:q=>{C(Q=>({...Q,requestHeaderAllowlist:q})),Kt("requestHeaderAllowlist")},onCancel:Yt}),(0,Do.jsx)(Z,{marginTop:1,children:(0,Do.jsx)(x,{dimColor:!0,children:"Enter header suffixes or full names. We auto-prefix with X-Amzn-Bedrock-AgentCore-Runtime-Custom- if needed. 'Authorization' is also accepted."})})]}),p==="authorizerType"&&(0,Do.jsx)(qn,{title:"Select inbound auth type",description:"How will clients authenticate to this agent?",items:dn,selectedIndex:Vn.selectedIndex}),p==="jwtConfig"&&(0,Do.jsx)($_,{subStep:At.subStep,steps:At.steps,selectedConstraints:At.selectedConstraints,customClaims:At.customClaims,discoveryUrl:At.discoveryUrl,audience:At.audience,clients:At.clients,scopes:At.scopes,onDiscoveryUrl:At.handlers.handleDiscoveryUrl,onConstraintsPicked:At.handlers.handleConstraintsPicked,onAudience:At.handlers.handleAudience,onClients:At.handlers.handleClients,onScopes:At.handlers.handleScopes,onCustomClaimsDone:At.handlers.handleCustomClaimsDone,onClientId:At.handlers.handleClientId,onClientIdSkip:At.handlers.handleClientIdSkip,onClientSecret:At.handlers.handleClientSecret,onBack:At.goBack,onClaimsManagerModeChange:At.handlers.handleClaimsManagerModeChange}),p==="idleTimeout"&&(0,Do.jsx)(Rn,{prompt:`Idle session timeout in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:q=>{if(!q)return!0;let Q=Number(q);return isNaN(Q)||!Number.isInteger(Q)||Q<sl||Q>al?`Must be an integer between ${sl} and ${al}`:!0},onSubmit:q=>{C(Q=>({...Q,idleTimeout:q})),m("maxLifetime")},onCancel:Yt}),p==="maxLifetime"&&(0,Do.jsx)(Rn,{prompt:`Max instance lifetime in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:q=>{if(!q)return!0;let Q=Number(q);if(isNaN(Q)||!Number.isInteger(Q)||Q<sl||Q>al)return`Must be an integer between ${sl} and ${al}`;if(A.idleTimeout){let Te=Number(A.idleTimeout);if(!isNaN(Te)&&Q<Te)return"Must be >= idle timeout"}return!0},onSubmit:q=>{C(Q=>({...Q,maxLifetime:q})),Kt("maxLifetime")},onCancel:Yt}),p==="sessionStorageMountPath"&&(0,Do.jsx)(Rn,{prompt:"Session storage mount path (e.g. /mnt/session-storage, or press Enter to skip)",initialValue:A.sessionStorageMountPath,allowEmpty:!0,customValidation:q=>q?q.startsWith("/")?!0:"Must be an absolute path starting with /":!0,onSubmit:q=>{C(Q=>({...Q,sessionStorageMountPath:q})),Kt("sessionStorageMountPath")},onCancel:Yt}),p==="confirm"&&(0,Do.jsx)(Da,{fields:[{label:"Name",value:o},{label:"Type",value:"Bring my own code"},{label:"Code Location",value:A.codeLocation},{label:"Entrypoint",value:A.entrypoint},{label:"Build",value:_L.find(q=>q.id===A.buildType)?.title??A.buildType},...A.buildType==="Container"&&A.dockerfile?[{label:"Dockerfile",value:A.dockerfile}]:[],{label:"Model Provider",value:`${A.modelProvider} (${Op[A.modelProvider]})`},...A.modelProvider!=="Bedrock"?[{label:"API Key",value:A.apiKey?(0,Do.jsx)(x,{color:"green",children:"Configured"}):(0,Do.jsxs)(x,{color:"yellow",children:["Not set - fill in"," ",Ha(`${z}${A.modelProvider}`)," in .env.local"]})}]:[],{label:"Network Mode",value:A.networkMode},...A.networkMode==="VPC"?[{label:"Subnets",value:A.subnets||"(none)"},{label:"Security Groups",value:A.securityGroups||"(none)"}]:[],...(()=>{let q=c$(A.requestHeaderAllowlist);return q.length>0?[{label:"Headers",value:q.join(", ")}]:[]})(),{label:"Inbound Auth",value:TL.find(q=>q.id===P)?.title??P},...P==="CUSTOM_JWT"&&N?[{label:"Discovery URL",value:N.discoveryUrl},...N.allowedAudience?.length?[{label:"Allowed Audience",value:N.allowedAudience.join(", ")}]:[],...N.allowedClients?.length?[{label:"Allowed Clients",value:N.allowedClients.join(", ")}]:[],...N.allowedScopes?.length?[{label:"Allowed Scopes",value:N.allowedScopes.join(", ")}]:[],...N.customClaims?.length?[{label:"Custom Claims",value:`${N.customClaims.length} claim(s) configured`}]:[]]:[],...A.idleTimeout?[{label:"Idle Timeout",value:`${A.idleTimeout}s`}]:[],...A.maxLifetime?[{label:"Max Lifetime",value:`${A.maxLifetime}s`}]:[],...A.sessionStorageMountPath?[{label:"Session Storage",value:A.sessionStorageMountPath}]:[],...A.withConfigBundle?[{label:"Config Bundle",value:"Yes (auto-created on deploy)"}]:[]]})]})})}function aai({projectRoot:e,initialCodeLocation:t,initialEntrypoint:n,onSubmit:o,onCancel:r}){let[s,i]=(0,ei.useState)(t),[a,c]=(0,ei.useState)(n||Zot),[l,p]=(0,ei.useState)("codeLocation"),[m,A]=(0,ei.useState)(null);No((_,w)=>{if(w.escape){r();return}if(w.tab){p(P=>P==="codeLocation"?"entrypoint":"codeLocation"),A(null);return}if(w.return){if(l==="codeLocation")p("entrypoint"),A(null);else{if(!s.trim()||!a.trim()){A("Please fill in both fields");return}let P=s.endsWith("/")?s:`${s}/`;o(P,a)}return}if(w.backspace||w.delete){l==="codeLocation"?i(P=>P.slice(0,-1)):c(P=>P.slice(0,-1)),A(null);return}_&&!w.ctrl&&!w.meta&&(l==="codeLocation"?i(P=>P+_):c(P=>P+_),A(null))});let C=e.length>40?"..."+e.slice(-37):e;return(0,Do.jsxs)(Z,{flexDirection:"column",children:[(0,Do.jsx)(x,{bold:!0,children:"Code Location"}),(0,Do.jsx)(Z,{marginTop:1,children:(0,Do.jsx)(x,{dimColor:!0,children:"Set the folder where your agent code will live."})}),(0,Do.jsx)(Z,{children:(0,Do.jsx)(x,{dimColor:!0,children:"The folder will be created if it doesn't exist yet."})}),(0,Do.jsxs)(Z,{marginTop:1,children:[(0,Do.jsx)(x,{dimColor:!0,children:"Project: "}),(0,Do.jsx)(x,{color:"blue",children:C})]}),(0,Do.jsxs)(Z,{marginTop:1,flexDirection:"column",children:[(0,Do.jsx)(x,{dimColor:!0,children:"Agent folder (relative to project root):"}),(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(x,{color:l==="codeLocation"?"cyan":"gray",children:"> "}),(0,Do.jsx)(x,{color:l==="codeLocation"?void 0:"gray",children:s||(0,Do.jsx)(x,{dimColor:!0,children:"app/my-agent/"})}),l==="codeLocation"&&(0,Do.jsx)(aa,{})]})]}),(0,Do.jsxs)(Z,{marginTop:1,flexDirection:"column",children:[(0,Do.jsx)(x,{dimColor:!0,children:"Entrypoint file (relative to agent folder):"}),(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(x,{color:l==="entrypoint"?"cyan":"gray",children:"> "}),(0,Do.jsx)(x,{color:l==="entrypoint"?void 0:"gray",children:a||(0,Do.jsx)(x,{dimColor:!0,children:"main.py"})}),l==="entrypoint"&&(0,Do.jsx)(aa,{})]})]}),m&&(0,Do.jsx)(Z,{marginTop:1,children:(0,Do.jsx)(x,{color:"red",children:m})}),(0,Do.jsx)(Z,{marginTop:1,flexDirection:"column",children:(0,Do.jsx)(x,{dimColor:!0,children:"Tab switch fields \xB7 Enter continue"})})]})}var ei,Do,oai,rai,sai,eDe=L(async()=>{"use strict";In();Vr();fnt();c1();uP();zan();gg();await _o();await YJ();zs();await qi();Zf();await Zun();NY();GY();await rn();await Xbe();ei=G(at()),Do=G(Ne());oai=["name","agentType"],rai=["codeLocation","buildType","modelProvider","apiKey","advanced","confirm"];sai=["region","bedrockAgent","bedrockAlias","framework","memory","authorizerType","confirm"]});function trt({existingAgentNames:e,onComplete:t,onBack:n,onDeploy:o}){return(0,idn.jsx)(FY,{existingAgentNames:e,onComplete:t,onExit:n})}var idn,nrt=L(async()=>{"use strict";await eDe();idn=G(Ne())});async function U$(e,t){let n=new Ut({baseDir:t}),o=await n.readProjectSpec(),r=`${e}Config`;(o.configBundles??[]).some(s=>s.name===r)||(o.configBundles??=[],o.configBundles.push({type:"ConfigurationBundle",name:r,description:`Configuration for ${e} \u2014 managed by agentcore CLI`,components:{[`{{runtime:${e}}}`]:{configuration:{systemPrompt:"You are a helpful assistant. Use tools when appropriate.",toolDescriptions:{add_numbers:"Return the sum of two numbers"}}}},branchName:"mainline",commitMessage:"Initial configuration"}),await n.writeProjectSpec(o))}var qY=L(()=>{"use strict";In()});function PL(e){return e.replace(/[^a-zA-Z0-9_]/g,"_").replace(/^(\d)/,"_$1")}var F$,ort=L(()=>{"use strict";rp();F$=class e{constructor(t,n,o){this.config=t;this.options=n;this.collaboratorContext=o;this.agentInfo=t.agent,this.actionGroups=(t.action_groups??[]).filter(i=>(i.actionGroupState??"ENABLED")==="ENABLED"),this.customActionGroups=this.actionGroups.filter(i=>!i.parentActionSignature),this.knowledgeBases=t.knowledge_bases??[],this.collaborators=t.collaborators??[],this.modelId=this.agentInfo.foundationModel??"",this.agentRegion=this.agentInfo.agentArn?.split(":")[3]??"us-east-1",this.instruction=this.agentInfo.instruction??"",this.promptConfigs=this.agentInfo.promptOverrideConfiguration?.promptConfigurations??[],this.enabledPrompts=[];let r=this.agentInfo.memoryConfiguration;this.memoryEnabled=!!r?.enabledMemoryTypes?.length,this.agentcoreMemoryEnabled=n.enableMemory&&this.memoryEnabled,this.hasLongTermStrategies=n.memoryOption==="longAndShortTerm",this.codeInterpreterEnabled=this.actionGroups.some(i=>i.actionGroupName==="codeinterpreteraction"&&i.actionGroupState==="ENABLED"),this.userInputEnabled=this.actionGroups.some(i=>i.actionGroupName==="userinputaction"&&i.actionGroupState==="ENABLED"),this.multiAgentEnabled=(this.agentInfo.agentCollaboration??"DISABLED")!=="DISABLED"&&this.collaborators.length>0,this.supervisionType=this.agentInfo.agentCollaboration??"SUPERVISOR",this.observabilityEnabled=n.enableObservability,this.guardrailConfig={};let s=this.agentInfo.guardrailConfiguration;if(s){let i=s.guardrailId??s.guardrailIdentifier??"",a=s.version??s.guardrailVersion??"";i&&(this.guardrailConfig={guardrailIdentifier:i,guardrailVersion:a})}this.isCollaborator=!!o,this.isAcceptingRelays=o?.relayHistory==="TO_COLLABORATOR",this.collaboratorDescriptions=this.collaborators.map(i=>`{'agentName': '${e.escapePySingleQuote(i.agent?.agentName??"")}', 'collaboratorName': 'invoke_${PL(i.collaboratorName??"")}', 'collaboratorInstruction': '${e.escapePySingleQuote(i.collaborationInstruction??"")}'}`),this.collaboratorMap=new Map(this.collaborators.map(i=>[i.collaboratorName??"",i])),this.cleanedAgentName=(this.agentInfo.agentName??"agent").replace(/\s/g,"_").replace(/-/g,"_").toLowerCase().slice(0,30),this.tools=[],this.importsCode=`# ---------- NOTE: This file is auto-generated by AgentCore CLI (Import from Bedrock Agents). ----------
1027
+ `});import{readFileSync as qsi}from"fs";import{dirname as jsi,join as Hsi}from"path";import{fileURLToPath as Qsi}from"url";function Qot(e,t){if(typeof e=="string")return e;let n=jsi(Qsi(import.meta.url)),o=Hsi(n,"../../schema/llm-compacted",t);return qsi(o,"utf-8")}var Lun,Mun=L(()=>{"use strict";$un();Bun();Nun();Lun={"README.md":Qot(wun,"README.md"),"agentcore.ts":Qot(Oun,"agentcore.ts"),"aws-targets.ts":Qot(kun,"aws-targets.ts")}});import*as q_ from"node:fs/promises";import*as d0 from"node:path";var Vsi,IL,Gun=L(()=>{"use strict";In();dg();bY();Mun();u0();Vsi=".llm-context",IL=class{templateDir;agentsTemplateDir;assetsDir;constructor(){this.templateDir=yv("cdk"),this.agentsTemplateDir=yv("agents"),this.assetsDir=yv("")}async render(t){let{logger:n}=t,o=d0.join(t.projectRoot,ts),r=d0.join(o,nF);if(n?.logSubStep("Copying CDK project template..."),await Mot(this.templateDir,r),n?.logSubStep("CDK template copied"),n?.logSubStep("Copying AGENTS.md template..."),await this.copyAgentsTemplate(t.projectRoot),n?.logSubStep("AGENTS.md copied"),n?.logSubStep("Copying README.md template..."),await this.copyReadmeTemplate(t.projectRoot),n?.logSubStep("README.md copied"),n?.logSubStep("Writing LLM context files..."),await this.writeLlmContext(o),n?.logSubStep("LLM context files written"),process.env.AGENTCORE_SKIP_INSTALL)return r;n?.logSubStep("Running npm install (this may take a while)..."),n?.logCommand("npm",["install"]);let s=Date.now(),i=await Za("npm",["install"],{cwd:r}),a=Date.now()-s;if(i.stdout&&n?.logCommandOutput(i.stdout),i.stderr&&n?.logCommandOutput(i.stderr),i.code!==0)throw new Error(`npm install failed with code ${i.code}: ${i.stderr}`);n?.logSubStep(`npm install completed (${(a/1e3).toFixed(1)}s)`),await this.installBundledCdkIfPresent(r,n),n?.logSubStep("Running npm run format..."),n?.logCommand("npm",["run","format"]);let c=await Za("npm",["run","format"],{cwd:r});if(c.stdout&&n?.logCommandOutput(c.stdout),c.stderr&&n?.logCommandOutput(c.stderr),c.code!==0)throw new Error(`npm run format failed with code ${c.code}: ${c.stderr}`);return n?.logSubStep("Formatting completed"),r}async copyAgentsTemplate(t){let n=d0.join(this.agentsTemplateDir,"AGENTS.md"),o=d0.join(t,"AGENTS.md");await q_.copyFile(n,o)}async copyReadmeTemplate(t){let n=d0.join(this.assetsDir,"README.md"),o=d0.join(t,"README.md");await q_.copyFile(n,o)}async installBundledCdkIfPresent(t,n){let o=d0.join(this.assetsDir,"bundled-agentcore-cdk.tgz");try{await q_.access(o)}catch{return}let r=d0.join(t,"bundled-agentcore-cdk.tgz");await q_.copyFile(o,r),n?.logSubStep("Installing bundled @aws/agentcore-cdk override...");let s=await Za("npm",["install","./bundled-agentcore-cdk.tgz"],{cwd:t});if(s.stdout&&n?.logCommandOutput(s.stdout),s.stderr&&n?.logCommandOutput(s.stderr),s.code!==0)throw new Error(`Failed to install bundled @aws/agentcore-cdk: ${s.stderr}`);n?.logSubStep("Bundled @aws/agentcore-cdk installed")}async writeLlmContext(t){let n=d0.join(t,Vsi);await q_.mkdir(n,{recursive:!0});for(let[o,r]of Object.entries(Lun))await q_.writeFile(d0.join(n,o),r,"utf-8")}}});function Uun(e,t){return t==="Lambda"?zsi.map(n=>({...n,name:`${e}_${n.name}`})):[{name:e,description:`Tool for ${e}`,inputSchema:{type:"object"}}]}async function Vot(e,t,n,o="AgentCoreRuntime"){if(n!=="Python")throw new Error(`Gateway target templates for ${n} are not yet supported.`);let s=yv("mcp",o==="Lambda"?"python-lambda":"python");await BP(s,t,{Name:e})}var zsi,zot=L(()=>{"use strict";bY();u0();zsi=[{name:"lookup_ip",description:"Look up geolocation and network info for an IP address",inputSchema:{type:"object",properties:{ip_address:{type:"string",description:"IPv4 or IPv6 address to look up"}},required:["ip_address"]}},{name:"get_random_user",description:"Generate a random user profile for testing or mock data",inputSchema:{type:"object"}},{name:"fetch_post",description:"Fetch a post by ID from JSONPlaceholder API",inputSchema:{type:"object",properties:{post_id:{type:"integer",description:"The post ID (1-100)"}},required:["post_id"]}}]});function kP(e){if(e.protocol==="MCP")return new $Y(e);switch(e.sdkFramework){case"Strands":return new BY(e);case"GoogleADK":return new DY(e);case"LangChain_LangGraph":return new wY(e);case"OpenAIAgents":return new OY(e);default:{let t=e.sdkFramework;throw new Error(`Unsupported SDK framework: ${String(t)}`)}}}var yj=L(()=>{"use strict";Uot();Fot();qot();jot();Hot();RL();Gun();zot();Uot();Fot();qot();jot();Hot()});var Kot,Fun=L(async()=>{"use strict";In();ar();mY();cL();yj();await qi();Kot=G(at())});function jun(e){let t=NV[e];return Ksi.filter(n=>t.includes(n.id))}function Jbe(e){let t=yD(e);return Wsi.filter(n=>t.includes(n.id))}var qun,Wot,_L,Jot,Ksi,Wsi,Hun,Ybe,kY,NY=L(()=>{"use strict";Vr();qun=["projectName","language","buildType","protocol","sdk","modelProvider","apiKey","advanced","confirm"],Wot=[{id:"Python",title:"Python"},{id:"TypeScript",title:"TypeScript (coming soon)",disabled:!0}],_L=[{id:"CodeZip",title:"Direct Code Deploy",description:"Upload code directly to AgentCore"},{id:"Container",title:"Container",description:"Build and deploy a Docker container"}],Jot=[{id:"HTTP",title:"HTTP",description:"Standard HTTP agent (default)"},{id:"MCP",title:"MCP",description:"Model Context Protocol tool server"},{id:"A2A",title:"A2A",description:"Agent-to-Agent protocol"},{id:"AGUI",title:"AG-UI",description:"Stream rich agent events to frontends"}],Ksi=[{id:"Strands",title:"Strands Agents SDK",description:"AWS native agent framework"},{id:"LangChain_LangGraph",title:"LangChain + LangGraph",description:"Popular open-source frameworks"},{id:"GoogleADK",title:"Google ADK",description:"Google Agent Development Kit"},{id:"OpenAIAgents",title:"OpenAI Agents",description:"OpenAI native agent SDK"}];Wsi=[{id:"Bedrock",title:`Amazon Bedrock (${Op.Bedrock})`,description:"AWS managed model inference"},{id:"Anthropic",title:`Anthropic (${Op.Anthropic})`,description:"Claude models via Anthropic API"},{id:"OpenAI",title:`OpenAI (${Op.OpenAI})`,description:"GPT models via OpenAI API"},{id:"Gemini",title:`Google Gemini (${Op.Gemini})`,description:"Gemini models via Google API"}];Hun=[{id:"PUBLIC",title:"Public",description:void 0},{id:"VPC",title:"VPC",description:"Attach to your VPC"}],Ybe=[{id:"dockerfile",title:"Custom Dockerfile",description:"Specify a custom Dockerfile path"},{id:"network",title:"VPC networking",description:"Attach to your VPC with subnets & security groups"},{id:"headers",title:"Request header allowlist",description:"Allow custom headers through to your agent"},{id:"auth",title:"Custom auth (JWT)",description:"OIDC-based token validation for inbound requests"},{id:"lifecycle",title:"Lifecycle timeouts",description:"Idle timeout & max instance lifetime"},{id:"filesystem",title:"Session filesystem storage",description:"Persist files across session stop/resume"},{id:"configBundle",title:"Config bundle [preview]",description:"Manage system prompt and tool config without redeploying"}],kY=[{id:"none",title:"None",description:"No memory"},{id:"shortTerm",title:"Short-term memory",description:"Context within a session"},{id:"longAndShortTerm",title:"Long-term and short-term",description:"Persists across sessions"}]});function Qun(){return{projectName:"",buildType:"CodeZip",protocol:"HTTP",sdk:"Strands",modelProvider:"Bedrock",memory:"none",language:"Python"}}function Yot(e){let[t,n]=(0,Gs.useState)(!!e?.initialName),o=t?"language":"projectName",[r,s]=(0,Gs.useState)(o),[i,a]=(0,Gs.useState)(()=>({...Qun(),...e?.initialName?{projectName:e.initialName}:{}})),[c,l]=(0,Gs.useState)(null),[p,m]=(0,Gs.useState)(!1),[A,C]=(0,Gs.useState)(new Set),_=A.size>0,w=(0,Gs.useMemo)(()=>{let He=qun;if(t&&(He=He.filter(We=>We!=="projectName")),i.protocol==="MCP")He=He.filter(We=>We!=="sdk"&&We!=="modelProvider"&&We!=="apiKey");else if(i.modelProvider==="Bedrock"&&(He=He.filter(We=>We!=="apiKey")),p&&i.sdk==="Strands"){let We=He.indexOf("advanced");He=[...He.slice(0,We),"memory",...He.slice(We)]}if(_){let et=He.indexOf("advanced")+1,Ft=[];A.has("dockerfile")&&i.buildType==="Container"&&Ft.push("dockerfile"),A.has("network")&&(Ft.push("networkMode"),i.networkMode==="VPC"&&Ft.push("subnets","securityGroups")),A.has("headers")&&Ft.push("requestHeaderAllowlist"),A.has("auth")&&Ft.push("authorizerType"),A.has("lifecycle")&&Ft.push("idleTimeout","maxLifetime"),A.has("filesystem")&&Ft.push("sessionStorageMountPath"),He=[...He.slice(0,et),...Ft,...He.slice(et)]}if(i.authorizerType==="CUSTOM_JWT"&&He.includes("authorizerType")){let We=He.indexOf("authorizerType");He=[...He.slice(0,We+1),"jwtConfig",...He.slice(We+1)]}return He},[i.buildType,i.modelProvider,i.sdk,i.protocol,i.networkMode,i.authorizerType,t,p,_,A]),P=w.indexOf(r),D=(0,Gs.useCallback)(He=>{let We=yE.safeParse(He);return We.success?(l(null),a(et=>({...et,projectName:He})),s("language"),!0):(l(We.error.issues[0]?.message??"Invalid agent name"),!1)},[]),N=(0,Gs.useCallback)(He=>{a(We=>({...We,language:He})),s("buildType")},[]),U=(0,Gs.useCallback)(He=>{a(We=>({...We,buildType:He,dockerfile:void 0})),s("protocol")},[]),F=(0,Gs.useCallback)(He=>{a(We=>({...We,protocol:He,memory:He==="MCP"?"none":We.memory})),s(He==="MCP"?"advanced":"sdk")},[]),z=(0,Gs.useCallback)(He=>{m(!0),a(We=>{let et=Jbe(He),gt=et.some(vt=>vt.id===We.modelProvider)?We.modelProvider:et[0]?.id??"Bedrock",Pt=He==="Strands"?We.memory:"none";return{...We,sdk:He,modelProvider:gt,memory:Pt}}),s("modelProvider")},[]),oe=(0,Gs.useCallback)(He=>{a(We=>({...We,modelProvider:He})),He!=="Bedrock"?s("apiKey"):i.sdk==="Strands"?s("memory"):s("advanced")},[i.sdk]),ce=(0,Gs.useCallback)(He=>{a(We=>({...We,apiKey:He})),i.sdk==="Strands"?s("memory"):s("advanced")},[i.sdk]),re=(0,Gs.useCallback)(()=>{i.sdk==="Strands"?s("memory"):s("advanced")},[i.sdk]),ee=(0,Gs.useCallback)(He=>{a(We=>({...We,memory:He})),s("advanced")},[]),Ee=(0,Gs.useCallback)(He=>{let We=w.indexOf(He),et=We>=0?w[We+1]:void 0;s(et??"confirm")},[w]),se=(0,Gs.useCallback)(He=>{a(We=>({...We,dockerfile:He})),setTimeout(()=>Ee("dockerfile"),0)},[Ee]),he=(0,Gs.useCallback)(He=>{let We=new Set(He);C(We),We.size===0?(a(et=>({...et,dockerfile:void 0,networkMode:"PUBLIC",subnets:void 0,securityGroups:void 0,requestHeaderAllowlist:void 0,authorizerType:void 0,jwtConfig:void 0,idleRuntimeSessionTimeout:void 0,maxLifetime:void 0,sessionStorageMountPath:void 0,withConfigBundle:void 0})),s("confirm")):(a(et=>({...et,withConfigBundle:We.has("configBundle")||void 0})),setTimeout(()=>{We.has("dockerfile")&&i.buildType==="Container"?s("dockerfile"):We.has("network")?s("networkMode"):We.has("headers")?s("requestHeaderAllowlist"):We.has("auth")?s("authorizerType"):We.has("lifecycle")?s("idleTimeout"):We.has("filesystem")?s("sessionStorageMountPath"):s("confirm")},0))},[i.buildType]),Ce=(0,Gs.useCallback)(He=>{a(We=>({...We,networkMode:He})),He==="VPC"?s("subnets"):setTimeout(()=>Ee("networkMode"),0)},[Ee]),Pe=(0,Gs.useCallback)(He=>{a(We=>({...We,subnets:He})),s("securityGroups")},[]),le=(0,Gs.useCallback)(He=>{a(We=>({...We,securityGroups:He})),setTimeout(()=>Ee("securityGroups"),0)},[Ee]),ge=(0,Gs.useCallback)(He=>{a(We=>({...We,requestHeaderAllowlist:He})),setTimeout(()=>Ee("requestHeaderAllowlist"),0)},[Ee]),De=(0,Gs.useCallback)(()=>{setTimeout(()=>Ee("requestHeaderAllowlist"),0)},[Ee]),ke=(0,Gs.useCallback)(He=>{a(We=>({...We,authorizerType:He})),He==="CUSTOM_JWT"?s("jwtConfig"):(a(We=>({...We,authorizerType:He,jwtConfig:void 0})),setTimeout(()=>Ee("authorizerType"),0))},[Ee]),st=(0,Gs.useCallback)(He=>{a(We=>({...We,jwtConfig:He})),setTimeout(()=>Ee("jwtConfig"),0)},[Ee]),Et=(0,Gs.useCallback)(He=>{a(We=>({...We,idleRuntimeSessionTimeout:He})),s("maxLifetime")},[]),Le=(0,Gs.useCallback)(()=>{s("maxLifetime")},[]),Ge=(0,Gs.useCallback)(He=>{a(We=>({...We,maxLifetime:He})),setTimeout(()=>Ee("maxLifetime"),0)},[Ee]),Fe=(0,Gs.useCallback)(()=>{setTimeout(()=>Ee("maxLifetime"),0)},[Ee]),Qe=(0,Gs.useCallback)(He=>{if(He){let We=EI.shape.mountPath.safeParse(He);if(!We.success)return l(We.error.issues[0]?.message??"Invalid mount path"),!1}return l(null),a(We=>({...We,sessionStorageMountPath:He})),setTimeout(()=>Ee("sessionStorageMountPath"),0),!0},[Ee]),pt=(0,Gs.useCallback)(()=>{setTimeout(()=>Ee("sessionStorageMountPath"),0)},[Ee]),Sn=(0,Gs.useCallback)(()=>{l(null);let He=w[P-1];He&&s(He)},[P,w]),sn=(0,Gs.useCallback)(()=>{s("projectName"),a(Qun()),l(null),m(!1),C(new Set)},[]),Xe=(0,Gs.useCallback)(He=>{a(We=>({...We,projectName:He})),n(!0),s("language"),l(null)},[]);return{step:r,steps:w,currentIndex:P,config:i,error:c,hasInitialName:t,setProjectName:D,setLanguage:N,setBuildType:U,setDockerfile:se,setProtocol:F,setSdk:z,setModelProvider:oe,setApiKey:ce,skipApiKey:re,setMemory:ee,setAdvanced:he,advancedSelected:_,advancedSettings:A,setNetworkMode:Ce,setSubnets:Pe,setSecurityGroups:le,setRequestHeaderAllowlist:ge,skipRequestHeaderAllowlist:De,setAuthorizerType:ke,setJwtConfig:st,setIdleTimeout:Et,skipIdleTimeout:Le,setMaxLifetime:Ge,skipMaxLifetime:Fe,setSessionStorageMountPath:Qe,skipSessionStorageMountPath:pt,goBack:Sn,reset:sn,initWithName:Xe}}var Gs,Vun=L(()=>{"use strict";Vr();NY();Gs=G(at())});var LY,TL,zun,MY,Kun,Wun,Zot,GY=L(()=>{"use strict";Vr();Vr();LY={name:"Name",agentType:"Type",codeLocation:"Code",buildType:"Build",dockerfile:"Dockerfile",language:"Language",protocol:"Protocol",framework:"Framework",modelProvider:"Model",apiKey:"API Key",advanced:"Advanced",networkMode:"Network",subnets:"Subnets",securityGroups:"Security Groups",requestHeaderAllowlist:"Headers",authorizerType:"Auth",jwtConfig:"JWT Config",idleTimeout:"Idle Timeout",maxLifetime:"Max Lifetime",sessionStorageMountPath:"Session Storage",memory:"Memory",region:"Region",bedrockAgent:"Agent",bedrockAlias:"Alias",confirm:"Confirm"},TL=[{id:"AWS_IAM",title:"AWS IAM (default)",description:"Standard AWS IAM authentication"},{id:"CUSTOM_JWT",title:"Custom JWT",description:"OIDC-based token validation for inbound requests"}],zun=[{id:"create",title:"Create new agent"},{id:"byo",title:"Bring my own code"},{id:"import",title:"Import from Bedrock Agents"}],MY=[{id:"Strands",title:"Strands Agents SDK",description:"AWS native agent framework"},{id:"LangChain_LangGraph",title:"LangChain + LangGraph",description:"Popular open-source frameworks"},{id:"GoogleADK",title:"Google ADK",description:"Google Agent Development Kit"},{id:"OpenAIAgents",title:"OpenAI Agents",description:"OpenAI native agent SDK"}],Kun=[{id:"Bedrock",title:`Amazon Bedrock (${Op.Bedrock})`,description:"AWS managed model inference"},{id:"Anthropic",title:`Anthropic (${Op.Anthropic})`,description:"Claude models via Anthropic API"},{id:"OpenAI",title:`OpenAI (${Op.OpenAI})`,description:"GPT models via OpenAI API"},{id:"Gemini",title:`Google Gemini (${Op.Gemini})`,description:"Gemini models via Google API"}],Wun=[{id:"PUBLIC",title:"Public",description:void 0},{id:"VPC",title:"VPC",description:"Attach to your VPC"}],Zot="main.py"});import{basename as Jsi}from"path";function Jun(e){switch(e){case"OpenAI":return{name:"OpenAI",envVarName:"OPENAI_API_KEY"};case"Anthropic":return{name:"Anthropic",envVarName:"ANTHROPIC_API_KEY"};case"Gemini":return{name:"Google Gemini",envVarName:"GEMINI_API_KEY"};case"Bedrock":return{name:"Amazon Bedrock",envVarName:""}}}function Xot({wizard:e,onBack:t,onConfirm:n,isActive:o,credentialProjectName:r}){let i=(()=>{switch(e.step){case"language":return Wot.map(ee=>({id:ee.id,title:ee.title,disabled:"disabled"in ee?ee.disabled:void 0}));case"buildType":return _L.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"protocol":return Jot.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"sdk":return jun(e.config.protocol).map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"modelProvider":return Jbe(e.config.sdk).map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"memory":return kY.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"networkMode":return Hun.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));case"authorizerType":return TL.map(ee=>({id:ee.id,title:ee.title,description:ee.description}));default:return[]}})(),a=i.length>0,c=e.step==="advanced",l=e.step==="projectName",p=e.step==="dockerfile",m=e.step==="apiKey",A=e.step==="subnets",C=e.step==="securityGroups",_=e.step==="requestHeaderAllowlist",w=e.step==="jwtConfig",P=e.step==="idleTimeout",D=e.step==="maxLifetime",N=e.step==="sessionStorageMountPath",U=e.step==="confirm",F=Ybe.filter(ee=>ee.id!=="dockerfile"||e.config.buildType==="Container").map(ee=>({id:ee.id,title:ee.title,description:ee.description})),z=ee=>{switch(e.step){case"language":e.setLanguage(ee.id);break;case"buildType":e.setBuildType(ee.id);break;case"protocol":e.setProtocol(ee.id);break;case"sdk":e.setSdk(ee.id);break;case"modelProvider":e.setModelProvider(ee.id);break;case"memory":e.setMemory(ee.id);break;case"networkMode":e.setNetworkMode(ee.id);break;case"authorizerType":e.setAuthorizerType(ee.id);break}},{selectedIndex:oe}=Nt({items:i,onSelect:z,onExit:t,isActive:o&&a&&!c,isDisabled:ee=>ee.disabled??!1,resetKey:e.step}),ce=ml({items:F,getId:ee=>ee.id,onConfirm:ee=>e.setAdvanced(ee),onExit:t,isActive:o&&c,requireSelection:!1}),re=B_({onComplete:ee=>{e.setJwtConfig(ee)},onBack:()=>{e.goBack()}});return No((ee,Ee)=>{Ee.return||ee==="y"?n():Ee.escape&&t()},{isActive:o&&U}),(0,So.jsxs)(lo,{children:[l&&(0,So.jsxs)(Z,{flexDirection:"column",children:[(0,So.jsx)(Rn,{prompt:"What should the agent be called?",initialValue:e.config.projectName,schema:yE,onSubmit:e.setProjectName,onCancel:t}),e.error&&(0,So.jsx)(Z,{marginTop:1,children:(0,So.jsxs)(x,{color:"red",children:["\u2717 ",e.error]})})]}),a&&!c&&(0,So.jsx)(Um,{items:i,selectedIndex:oe}),c&&(0,So.jsx)(Pl,{title:"Customize advanced settings",description:"Select settings to configure. Unselected items use defaults.",items:F,cursorIndex:ce.cursorIndex,selectedIds:ce.selectedIds}),p&&(0,So.jsx)(Ny,{placeholder:"Select a Dockerfile to copy into your agent directory",pathType:"file",allowEmpty:!0,emptyHelpText:"Press Enter to use the default Dockerfile",onSubmit:ee=>{e.setDockerfile(ee?Jsi(ee):void 0)},onCancel:t}),m&&(0,So.jsx)(UY,{providerName:Jun(e.config.modelProvider).name,envVarName:Jun(e.config.modelProvider).envVarName,onSubmit:e.setApiKey,onSkip:e.skipApiKey,onCancel:t,isActive:o}),A&&(0,So.jsx)(Rn,{prompt:"Subnet IDs (comma-separated)",initialValue:(e.config.subnets??[]).join(", "),customValidation:zW,onSubmit:ee=>{e.setSubnets(ee.split(",").map(Ee=>Ee.trim()).filter(Boolean))},onCancel:t}),C&&(0,So.jsx)(Rn,{prompt:"Security group IDs (comma-separated)",initialValue:(e.config.securityGroups??[]).join(", "),customValidation:KW,onSubmit:ee=>{e.setSecurityGroups(ee.split(",").map(Ee=>Ee.trim()).filter(Boolean))},onCancel:t}),_&&(0,So.jsxs)(Z,{flexDirection:"column",children:[(0,So.jsx)(Rn,{prompt:"Allowed request headers (comma-separated, or press Enter to skip)",initialValue:(e.config.requestHeaderAllowlist??[]).join(", "),allowEmpty:!0,customValidation:ee=>{let Ee=$4(ee);return Ee.success?!0:Ee.error},onSubmit:ee=>{let Ee=c$(ee);Ee.length>0?e.setRequestHeaderAllowlist(Ee):e.skipRequestHeaderAllowlist()},onCancel:t}),(0,So.jsx)(Z,{marginTop:1,children:(0,So.jsx)(x,{dimColor:!0,children:"Enter header suffixes or full names. We auto-prefix with X-Amzn-Bedrock-AgentCore-Runtime-Custom- if needed. 'Authorization' is also accepted."})})]}),w&&(0,So.jsx)($_,{subStep:re.subStep,steps:re.steps,selectedConstraints:re.selectedConstraints,customClaims:re.customClaims,discoveryUrl:re.discoveryUrl,audience:re.audience,clients:re.clients,scopes:re.scopes,onDiscoveryUrl:re.handlers.handleDiscoveryUrl,onConstraintsPicked:re.handlers.handleConstraintsPicked,onAudience:re.handlers.handleAudience,onClients:re.handlers.handleClients,onScopes:re.handlers.handleScopes,onCustomClaimsDone:re.handlers.handleCustomClaimsDone,onClientId:re.handlers.handleClientId,onClientIdSkip:re.handlers.handleClientIdSkip,onClientSecret:re.handlers.handleClientSecret,onBack:re.goBack,onClaimsManagerModeChange:re.handlers.handleClaimsManagerModeChange}),P&&(0,So.jsx)(Rn,{prompt:`Idle session timeout in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:ee=>{if(!ee)return!0;let Ee=Number(ee);return isNaN(Ee)||!Number.isInteger(Ee)||Ee<sl||Ee>al?`Must be an integer between ${sl} and ${al}`:!0},onSubmit:ee=>{ee?e.setIdleTimeout(Number(ee)):e.skipIdleTimeout()},onCancel:t}),D&&(0,So.jsx)(Rn,{prompt:`Max instance lifetime in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:ee=>{if(!ee)return!0;let Ee=Number(ee);return isNaN(Ee)||!Number.isInteger(Ee)||Ee<sl||Ee>al?`Must be an integer between ${sl} and ${al}`:e.config.idleRuntimeSessionTimeout!==void 0&&Ee<e.config.idleRuntimeSessionTimeout?"Must be >= idle timeout":!0},onSubmit:ee=>{ee?e.setMaxLifetime(Number(ee)):e.skipMaxLifetime()},onCancel:t}),N&&(0,So.jsx)(Rn,{prompt:"Session storage mount path (e.g. /mnt/data, or press Enter to skip)",initialValue:e.config.sessionStorageMountPath??"",allowEmpty:!0,schema:EI.shape.mountPath,onSubmit:ee=>{ee?e.setSessionStorageMountPath(ee):e.skipSessionStorageMountPath()},onCancel:t}),U&&(0,So.jsx)(Zsi,{config:e.config,credentialProjectName:r})]})}function ert(e){return e==="confirm"?"Enter/Y confirm \xB7 Esc back":e==="projectName"||e==="dockerfile"||e==="subnets"||e==="securityGroups"||e==="requestHeaderAllowlist"||e==="idleTimeout"||e==="maxLifetime"||e==="sessionStorageMountPath"?"Enter submit \xB7 Esc cancel":e==="apiKey"?"Enter submit \xB7 Tab show/hide \xB7 Esc back":e==="jwtConfig"?"Enter submit \xB7 Esc back":e==="advanced"?"Space toggle \xB7 Enter confirm \xB7 Esc back":"\u2191\u2193 navigate \xB7 Enter select \xB7 Esc back"}function Ysi(e){switch(e){case"none":return"None";case"shortTerm":return"Short-term";case"longAndShortTerm":return"Long-term + short-term"}}function Zsi({config:e,credentialProjectName:t}){let n=Wot.find(p=>p.id===e.language)?.title??e.language,o=_L.find(p=>p.id===e.buildType)?.title??e.buildType,r=Jot.find(p=>p.id===e.protocol)?.title??e.protocol,s=Ysi(e.memory),i=e.protocol==="MCP",c=`${t??e.projectName}${e.modelProvider}`,l=Ha(c);return(0,So.jsxs)(Z,{flexDirection:"column",children:[(0,So.jsx)(x,{bold:!0,children:"Review Configuration"}),(0,So.jsxs)(Z,{flexDirection:"column",marginTop:1,marginLeft:2,children:[(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Name: "}),(0,So.jsx)(x,{children:e.projectName})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Language: "}),(0,So.jsx)(x,{children:n})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Build: "}),(0,So.jsx)(x,{children:o})]}),e.buildType==="Container"&&e.dockerfile&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Dockerfile: "}),(0,So.jsx)(x,{children:e.dockerfile})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Protocol: "}),(0,So.jsx)(x,{children:r})]}),!i&&(0,So.jsxs)(So.Fragment,{children:[(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Framework: "}),(0,So.jsx)(x,{children:e.sdk})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Model Provider: "}),(0,So.jsxs)(x,{children:[e.modelProvider," (",Op[e.modelProvider],")"]})]}),e.modelProvider!=="Bedrock"&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"API Key: "}),(0,So.jsx)(x,{color:e.apiKey?"green":"yellow",children:e.apiKey?"Configured":`Not set - fill in ${l} in .env.local`})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Memory: "}),(0,So.jsx)(x,{children:s})]})]}),(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Network: "}),(0,So.jsx)(x,{children:e.networkMode??"PUBLIC"})]}),e.networkMode==="VPC"&&e.subnets&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Subnets: "}),(0,So.jsx)(x,{children:e.subnets.join(", ")})]}),e.networkMode==="VPC"&&e.securityGroups&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Security Groups: "}),(0,So.jsx)(x,{children:e.securityGroups.join(", ")})]}),e.requestHeaderAllowlist&&e.requestHeaderAllowlist.length>0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Headers: "}),(0,So.jsx)(x,{children:e.requestHeaderAllowlist.join(", ")})]}),e.authorizerType&&e.authorizerType!=="AWS_IAM"&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Inbound Auth: "}),(0,So.jsx)(x,{children:TL.find(p=>p.id===e.authorizerType)?.title??e.authorizerType})]}),e.authorizerType==="CUSTOM_JWT"&&e.jwtConfig&&(0,So.jsxs)(So.Fragment,{children:[(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Discovery URL: "}),(0,So.jsx)(x,{children:e.jwtConfig.discoveryUrl})]}),e.jwtConfig.allowedAudience&&e.jwtConfig.allowedAudience.length>0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Allowed Audience: "}),(0,So.jsx)(x,{children:e.jwtConfig.allowedAudience.join(", ")})]})]}),e.idleRuntimeSessionTimeout!==void 0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Idle Timeout: "}),(0,So.jsxs)(x,{children:[e.idleRuntimeSessionTimeout,"s"]})]}),e.maxLifetime!==void 0&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Max Lifetime: "}),(0,So.jsxs)(x,{children:[e.maxLifetime,"s"]})]}),e.sessionStorageMountPath&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Session Storage: "}),(0,So.jsx)(x,{children:e.sessionStorageMountPath})]}),e.withConfigBundle&&(0,So.jsxs)(x,{children:[(0,So.jsx)(x,{dimColor:!0,children:"Config Bundle: "}),(0,So.jsx)(x,{color:"green",children:"Yes (auto-created on deploy)"})]})]})]})}var So,Yun=L(async()=>{"use strict";Vr();c1();uP();gg();await _o();await YJ();await qi();GY();NY();await rn();So=G(Ne())});var Zun=L(async()=>{"use strict";await Fun();Vun();await Yun();NY()});var Xun=_e(($ps,Xsi)=>{Xsi.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var ndn=_e((Ops,tdn)=>{"use strict";var Zbe=Object.assign({},Xun()),edn=Object.keys(Zbe);Object.defineProperty(Zbe,"random",{get(){let e=Math.floor(Math.random()*edn.length),t=edn[e];return Zbe[t]}});tdn.exports=Zbe});function eai({type:e="dots"}){let[t,n]=(0,hj.useState)(0),o=odn.default[e];return(0,hj.useEffect)(()=>{let r=setInterval(()=>{n(s=>s===o.frames.length-1?0:s+1)},o.interval);return()=>{clearInterval(r)}},[o]),hj.default.createElement(x,null,o.frames[t])}var hj,odn,xL,Xbe=L(async()=>{hj=G(at(),1);await rn();odn=G(ndn(),1);xL=eai});import{basename as tai,resolve as nai}from"path";function rdn(e){switch(e){case"OpenAI":return{name:"OpenAI",envVarName:"OPENAI_API_KEY"};case"Anthropic":return{name:"Anthropic",envVarName:"ANTHROPIC_API_KEY"};case"Gemini":return{name:"Google Gemini",envVarName:"GEMINI_API_KEY"};case"Bedrock":return{name:"Amazon Bedrock",envVarName:""}}}function iai(e){let t=[...rai];if(e.modelProvider==="Bedrock"&&(t=t.filter(n=>n!=="apiKey")),e.advancedSettings.size>0){let o=t.indexOf("advanced")+1,r=[];e.advancedSettings.has("dockerfile")&&e.buildType==="Container"&&r.push("dockerfile"),e.advancedSettings.has("network")&&(r.push("networkMode"),e.networkMode==="VPC"&&r.push("subnets","securityGroups")),e.advancedSettings.has("headers")&&r.push("requestHeaderAllowlist"),e.advancedSettings.has("auth")&&r.push("authorizerType"),e.advancedSettings.has("lifecycle")&&r.push("idleTimeout","maxLifetime"),e.advancedSettings.has("filesystem")&&r.push("sessionStorageMountPath"),t=[...t.slice(0,o),...r,...t.slice(o)]}if(e.authorizerType==="CUSTOM_JWT"&&t.includes("authorizerType")){let n=t.indexOf("authorizerType");t=[...t.slice(0,n+1),"jwtConfig",...t.slice(n+1)]}return t}function FY({existingAgentNames:e,onComplete:t,onExit:n}){let[o,r]=(0,ei.useState)(""),[s,i]=(0,ei.useState)(null),[a,c]=(0,ei.useState)("name"),l=Yot({initialName:o}),[p,m]=(0,ei.useState)("codeLocation"),[A,C]=(0,ei.useState)({codeLocation:"",entrypoint:Zot,buildType:"CodeZip",dockerfile:"",modelProvider:"Bedrock",apiKey:void 0,networkMode:"PUBLIC",subnets:"",securityGroups:"",requestHeaderAllowlist:"",idleTimeout:"",maxLifetime:"",sessionStorageMountPath:"",withConfigBundle:void 0}),[_,w]=(0,ei.useState)(new Set),[P,D]=(0,ei.useState)("AWS_IAM"),[N,U]=(0,ei.useState)(void 0),{project:F}=Wbe(),[z,oe]=(0,ei.useState)("");(0,ei.useEffect)(()=>{(async()=>{try{let Te=await new Ut().readProjectSpec();oe(Te.name)}catch{}})()},[]);let[ce,re]=(0,ei.useState)("region"),[ee,Ee]=(0,ei.useState)({region:"",bedrockAgentId:"",bedrockAgentName:"",bedrockAliasId:"",bedrockAliasName:"",framework:"Strands",memory:"none"}),se=(0,ei.useRef)(ee);(0,ei.useEffect)(()=>{se.current=ee},[ee]);let[he,Ce]=(0,ei.useState)([]),[Pe,le]=(0,ei.useState)([]),[ge,De]=(0,ei.useState)("AWS_IAM"),[ke,st]=(0,ei.useState)(void 0),[Et,Le]=(0,ei.useState)(!1),[Ge,Fe]=(0,ei.useState)(null),Qe=s===null,pt=s==="create",Sn=s==="byo",sn=s==="import",Xe=(0,ei.useMemo)(()=>zun.map(q=>({id:q.id,title:q.title})),[]),He=(0,ei.useCallback)(q=>{r(q),c("agentType")},[]),We=(0,ei.useCallback)(q=>{i(q),q==="create"?l.initWithName(o):q==="byo"&&C(Q=>({...Q,codeLocation:`${Ki}/${o}/`}))},[o,l]),et=Nt({items:Xe,onSelect:q=>We(q.id),onExit:()=>{c("name")},isActive:Qe&&a==="agentType"}),Ft=(0,ei.useCallback)(()=>{let q={name:o,agentType:"create",codeLocation:`${o}/`,entrypoint:"main.py",language:l.config.language,buildType:l.config.buildType,...l.config.buildType==="Container"&&l.config.dockerfile&&{dockerfile:l.config.dockerfile},protocol:l.config.protocol,framework:l.config.sdk,modelProvider:l.config.modelProvider,apiKey:l.config.apiKey,networkMode:l.config.networkMode,subnets:l.config.networkMode==="VPC"?l.config.subnets:void 0,securityGroups:l.config.networkMode==="VPC"?l.config.securityGroups:void 0,requestHeaderAllowlist:l.config.requestHeaderAllowlist,...l.config.authorizerType&&l.config.authorizerType!=="AWS_IAM"&&{authorizerType:l.config.authorizerType},...l.config.authorizerType==="CUSTOM_JWT"&&l.config.jwtConfig&&{jwtConfig:l.config.jwtConfig},idleRuntimeSessionTimeout:l.config.idleRuntimeSessionTimeout,maxLifetime:l.config.maxLifetime,sessionStorageMountPath:l.config.sessionStorageMountPath,withConfigBundle:l.config.withConfigBundle,pythonVersion:pm,memory:l.config.memory};t(q)},[o,l.config,t]),gt=(0,ei.useCallback)(()=>{l.currentIndex===0?(i(null),c("agentType")):l.goBack()},[l]),Pt=_.size>0,vt=(0,ei.useMemo)(()=>iai({modelProvider:A.modelProvider,buildType:A.buildType,networkMode:A.networkMode,authorizerType:P,advancedSettings:_}),[A.buildType,A.modelProvider,A.networkMode,Pt,_,P]),zt=vt.indexOf(p),Kt=(0,ei.useCallback)(q=>{let Q=vt.indexOf(q),Te=Q>=0?vt[Q+1]:void 0;m(Te??"confirm")},[vt]),Oe=(0,ei.useMemo)(()=>Ybe.filter(q=>q.id!=="dockerfile"||A.buildType==="Container").map(q=>({id:q.id,title:q.title,description:q.description})),[A.buildType]),mt=(0,ei.useMemo)(()=>_L.map(q=>({id:q.id,title:q.title,description:q.description})),[]),pn=(0,ei.useMemo)(()=>Kun.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Yt=(0,ei.useCallback)(()=>{if(zt===0)i(null),c("agentType");else{let q=vt[zt-1];q&&m(q)}},[zt,vt]),Ve=(0,ei.useCallback)(()=>{let q=c$(A.requestHeaderAllowlist),Q={name:o,agentType:"byo",codeLocation:A.codeLocation,entrypoint:A.entrypoint,language:"Python",buildType:A.buildType,...A.buildType==="Container"&&A.dockerfile&&{dockerfile:A.dockerfile},protocol:"HTTP",framework:"Strands",modelProvider:A.modelProvider,apiKey:A.apiKey,networkMode:A.networkMode,subnets:A.networkMode==="VPC"?eS(A.subnets):void 0,securityGroups:A.networkMode==="VPC"?eS(A.securityGroups):void 0,...q.length>0&&{requestHeaderAllowlist:q},...P!=="AWS_IAM"&&{authorizerType:P},...P==="CUSTOM_JWT"&&N&&{jwtConfig:N},...A.idleTimeout&&{idleRuntimeSessionTimeout:Number(A.idleTimeout)},...A.maxLifetime&&{maxLifetime:Number(A.maxLifetime)},...A.sessionStorageMountPath&&{sessionStorageMountPath:A.sessionStorageMountPath},...A.withConfigBundle&&{withConfigBundle:!0},pythonVersion:pm,memory:"none"};t(Q)},[o,A,P,N,t]),Lt=Nt({items:mt,onSelect:q=>{let Q=q.id;C(Te=>({...Te,buildType:Q,dockerfile:""})),m("modelProvider")},onExit:Yt,isActive:Sn&&p==="buildType"}),on=Nt({items:pn,onSelect:q=>{let Q=q.id;C(Te=>({...Te,modelProvider:Q})),m(Q!=="Bedrock"?"apiKey":"advanced")},onExit:Yt,isActive:Sn&&p==="modelProvider"}),Xt=(0,ei.useMemo)(()=>Wun.map(q=>({id:q.id,title:q.title,description:q.description})),[]),_n=ml({items:Oe,getId:q=>q.id,onConfirm:q=>{let Q=new Set(q);w(Q),Q.size===0?(C(Te=>({...Te,dockerfile:"",networkMode:"PUBLIC",subnets:"",securityGroups:"",requestHeaderAllowlist:"",idleTimeout:"",maxLifetime:"",sessionStorageMountPath:"",withConfigBundle:void 0})),D("AWS_IAM"),U(void 0),m("confirm")):(C(Te=>({...Te,withConfigBundle:Q.has("configBundle")||void 0})),setTimeout(()=>{Q.has("dockerfile")&&A.buildType==="Container"?m("dockerfile"):Q.has("network")?m("networkMode"):Q.has("headers")?m("requestHeaderAllowlist"):Q.has("auth")?m("authorizerType"):Q.has("lifecycle")?m("idleTimeout"):Q.has("filesystem")?m("sessionStorageMountPath"):m("confirm")},0))},onExit:Yt,isActive:Sn&&p==="advanced",requireSelection:!1}),Io=Nt({items:Xt,onSelect:q=>{let Q=q.id;C(Te=>({...Te,networkMode:Q})),Q==="VPC"?m("subnets"):setTimeout(()=>Kt("networkMode"),0)},onExit:Yt,isActive:Sn&&p==="networkMode"}),dn=(0,ei.useMemo)(()=>TL.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Vn=Nt({items:dn,onSelect:q=>{let Q=q.id;D(Q),Q==="CUSTOM_JWT"?m("jwtConfig"):(U(void 0),setTimeout(()=>Kt("authorizerType"),0))},onExit:Yt,isActive:Sn&&p==="authorizerType"}),At=B_({onComplete:q=>{U(q),setTimeout(()=>Kt("jwtConfig"),0)},onBack:()=>{m("authorizerType")}});Nt({items:[{id:"confirm",title:"Confirm"}],onSelect:Ve,onExit:Yt,isActive:Sn&&p==="confirm"});let en=(0,ei.useMemo)(()=>{let q=[...sai];if(ge==="CUSTOM_JWT"){let Q=q.indexOf("authorizerType");q=[...q.slice(0,Q+1),"jwtConfig",...q.slice(Q+1)]}return q},[ge]),zn=en.indexOf(ce),mn=(0,ei.useCallback)(()=>{if(zn===0)i(null),c("agentType");else{let q=en[zn-1];q&&re(q)}},[zn,en]),Fo=(0,ei.useMemo)(()=>Van.map(q=>({id:q.id,title:`${q.title} (${q.id})`})),[]),gr=Nt({items:Fo,onSelect:q=>{Ee(Q=>({...Q,region:q.id})),re("bedrockAgent"),Le(!0),Fe(null),Han(q.id).then(Q=>{Ce(Q),Le(!1)}).catch(Q=>{Fe(Q instanceof Error?Q.message:"Failed to list agents"),Le(!1)})},onExit:mn,isActive:sn&&ce==="region"}),ve=(0,ei.useMemo)(()=>he.map(q=>({id:q.agentId,title:q.agentName||q.agentId,description:q.description})),[he]),dt=Nt({items:ve,onSelect:q=>{let Q=he.find(Te=>Te.agentId===q.id);Ee(Te=>({...Te,bedrockAgentId:q.id,bedrockAgentName:Q?.agentName??q.id})),re("bedrockAlias"),Le(!0),Fe(null),Qan(se.current.region,q.id).then(Te=>{le(Te),Le(!1)}).catch(Te=>{Fe(Te instanceof Error?Te.message:"Failed to list aliases"),Le(!1)})},onExit:mn,isActive:sn&&ce==="bedrockAgent"&&!Et}),nn=(0,ei.useMemo)(()=>Pe.map(q=>({id:q.aliasId,title:q.aliasName||q.aliasId,description:q.description})),[Pe]),jt=Nt({items:nn,onSelect:q=>{let Q=Pe.find(Te=>Te.aliasId===q.id);Ee(Te=>({...Te,bedrockAliasId:q.id,bedrockAliasName:Q?.aliasName??q.id})),re("framework")},onExit:mn,isActive:sn&&ce==="bedrockAlias"&&!Et}),An=(0,ei.useMemo)(()=>Ant.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Bo=Nt({items:An,onSelect:q=>{Ee(Q=>({...Q,framework:q.id})),re("memory")},onExit:mn,isActive:sn&&ce==="framework"}),To=(0,ei.useMemo)(()=>kY.map(q=>({id:q.id,title:q.title,description:q.description})),[]),Zo=Nt({items:To,onSelect:q=>{Ee(Q=>({...Q,memory:q.id})),re("authorizerType")},onExit:mn,isActive:sn&&ce==="memory"}),cr=Nt({items:dn,onSelect:q=>{let Q=q.id;De(Q),Q==="CUSTOM_JWT"?re("jwtConfig"):(st(void 0),re("confirm"))},onExit:mn,isActive:sn&&ce==="authorizerType"}),sr=B_({onComplete:q=>{st(q),re("confirm")},onBack:()=>{re("authorizerType")}}),Yr=(0,ei.useCallback)(()=>{let q={name:o,agentType:"import",codeLocation:`${Ki}/${o}/`,entrypoint:"main.py",language:"Python",buildType:"CodeZip",protocol:"HTTP",framework:ee.framework,modelProvider:"Bedrock",pythonVersion:pm,memory:ee.memory,bedrockAgentId:ee.bedrockAgentId,bedrockAliasId:ee.bedrockAliasId,bedrockRegion:ee.region,...ge!=="AWS_IAM"&&{authorizerType:ge},...ge==="CUSTOM_JWT"&&ke&&{jwtConfig:ke}};t(q)},[o,ee,ge,ke,t]);Nt({items:[{id:"confirm",title:"Confirm"}],onSelect:Yr,onExit:mn,isActive:sn&&ce==="confirm"});let hs=()=>Qe?a==="name"?an.TEXT_INPUT:an.NAVIGATE_SELECT:pt?ert(l.step):sn?ce==="confirm"?an.CONFIRM_CANCEL:ce==="jwtConfig"?sr.subStep==="constraintPicker"?an.MULTI_SELECT:sr.subStep==="customClaims"?sr.claimsManagerMode==="add"||sr.claimsManagerMode==="edit"?"\u2191/\u2193 field \xB7 \u2190/\u2192 cycle \xB7 Enter next/save \xB7 Esc cancel":"Navigate \xB7 Enter select \xB7 Esc back":an.TEXT_INPUT:an.NAVIGATE_SELECT:p==="jwtConfig"?At.subStep==="constraintPicker"?an.MULTI_SELECT:At.subStep==="customClaims"?At.claimsManagerMode==="add"||At.claimsManagerMode==="edit"?"\u2191/\u2193 field \xB7 \u2190/\u2192 cycle \xB7 Enter next/save \xB7 Esc cancel":"Navigate \xB7 Enter select \xB7 Esc back":an.TEXT_INPUT:p==="codeLocation"||p==="dockerfile"||p==="apiKey"||p==="subnets"||p==="securityGroups"||p==="requestHeaderAllowlist"||p==="idleTimeout"||p==="maxLifetime"||p==="sessionStorageMountPath"?an.TEXT_INPUT:p==="advanced"?"Space toggle \xB7 Enter confirm \xB7 Esc back":p==="confirm"?an.CONFIRM_CANCEL:an.NAVIGATE_SELECT,Qs=()=>{if(Qe)return(0,Do.jsx)(cs,{steps:oai,currentStep:a,labels:LY});if(pt){let Q=["name","agentType",...l.steps],Te=l.step;return(0,Do.jsx)(cs,{steps:Q,currentStep:Te,labels:{...LY,sdk:"Framework"}})}if(sn){let Q=["name","agentType",...en];return(0,Do.jsx)(cs,{steps:Q,currentStep:ce,labels:LY})}let q=["name","agentType",...vt];return(0,Do.jsx)(cs,{steps:[...q],currentStep:p,labels:LY})};return Qe&&a==="name"?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:an.TEXT_INPUT,headerContent:Qs(),children:(0,Do.jsx)(lo,{children:(0,Do.jsx)(Rn,{prompt:"Agent name",initialValue:ju("MyAgent",e),onSubmit:He,onCancel:n,schema:CI,customValidation:q=>!e.includes(q)||"Agent name already exists"})})}):Qe&&a==="agentType"?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:an.NAVIGATE_SELECT,headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsx)(lo,{children:(0,Do.jsx)(qn,{title:"Select agent type",items:Xe,selectedIndex:et.selectedIndex})})}):pt?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:hs(),headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsx)(Xot,{wizard:l,onBack:gt,onConfirm:Ft,isActive:!0,credentialProjectName:z})}):sn?(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:hs(),headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsxs)(lo,{children:[ce==="region"&&(0,Do.jsx)(qn,{title:"Select AWS region",items:Fo,selectedIndex:gr.selectedIndex}),ce==="bedrockAgent"&&Et&&(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(xL,{type:"dots"}),(0,Do.jsx)(x,{children:" Loading agents..."})]}),ce==="bedrockAgent"&&Ge&&(0,Do.jsxs)(x,{color:"red",children:["Error: ",Ge]}),ce==="bedrockAgent"&&!Et&&!Ge&&ve.length===0&&(0,Do.jsxs)(x,{color:"yellow",children:["No agents found in ",ee.region,". Press Esc to go back."]}),ce==="bedrockAgent"&&!Et&&!Ge&&ve.length>0&&(0,Do.jsx)(qn,{title:"Select Bedrock Agent",items:ve,selectedIndex:dt.selectedIndex}),ce==="bedrockAlias"&&Et&&(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(xL,{type:"dots"}),(0,Do.jsx)(x,{children:" Loading aliases..."})]}),ce==="bedrockAlias"&&Ge&&(0,Do.jsxs)(x,{color:"red",children:["Error: ",Ge]}),ce==="bedrockAlias"&&!Et&&!Ge&&nn.length===0&&(0,Do.jsx)(x,{color:"yellow",children:"No aliases found. Press Esc to go back."}),ce==="bedrockAlias"&&!Et&&!Ge&&nn.length>0&&(0,Do.jsx)(qn,{title:"Select Agent Alias",items:nn,selectedIndex:jt.selectedIndex}),ce==="framework"&&(0,Do.jsx)(qn,{title:"Select framework",items:An,selectedIndex:Bo.selectedIndex}),ce==="memory"&&(0,Do.jsx)(qn,{title:"Select memory configuration",items:To,selectedIndex:Zo.selectedIndex}),ce==="authorizerType"&&(0,Do.jsx)(qn,{title:"Select inbound auth mode",items:dn,selectedIndex:cr.selectedIndex}),ce==="jwtConfig"&&(0,Do.jsx)($_,{subStep:sr.subStep,steps:sr.steps,selectedConstraints:sr.selectedConstraints,customClaims:sr.customClaims,discoveryUrl:sr.discoveryUrl,audience:sr.audience,clients:sr.clients,scopes:sr.scopes,onDiscoveryUrl:sr.handlers.handleDiscoveryUrl,onConstraintsPicked:sr.handlers.handleConstraintsPicked,onAudience:sr.handlers.handleAudience,onClients:sr.handlers.handleClients,onScopes:sr.handlers.handleScopes,onCustomClaimsDone:sr.handlers.handleCustomClaimsDone,onClientId:sr.handlers.handleClientId,onClientIdSkip:sr.handlers.handleClientIdSkip,onClientSecret:sr.handlers.handleClientSecret,onBack:sr.goBack,onClaimsManagerModeChange:sr.handlers.handleClaimsManagerModeChange}),ce==="confirm"&&(0,Do.jsx)(Da,{fields:[{label:"Name",value:o},{label:"Type",value:"Import from Bedrock Agents"},{label:"Region",value:ee.region},{label:"Bedrock Agent",value:`${ee.bedrockAgentName} (${ee.bedrockAgentId})`},{label:"Alias",value:`${ee.bedrockAliasName} (${ee.bedrockAliasId})`},{label:"Framework",value:Ant.find(q=>q.id===ee.framework)?.title??ee.framework},{label:"Memory",value:kY.find(q=>q.id===ee.memory)?.title??ee.memory},...ge!=="AWS_IAM"?[{label:"Inbound Auth",value:TL.find(q=>q.id===ge)?.title??ge}]:[],...ge==="CUSTOM_JWT"&&ke?[{label:"Discovery URL",value:ke.discoveryUrl}]:[]]})]})}):(0,Do.jsx)(Mt,{title:"Add Agent",onExit:n,helpText:hs(),headerContent:Qs(),exitEnabled:!1,children:(0,Do.jsxs)(lo,{children:[p==="codeLocation"&&(0,Do.jsx)(aai,{projectRoot:F?.projectRoot??process.cwd(),initialCodeLocation:A.codeLocation,initialEntrypoint:A.entrypoint,onSubmit:(q,Q)=>(C(Te=>({...Te,codeLocation:q,entrypoint:Q})),m("buildType"),!0),onCancel:Yt}),p==="buildType"&&(0,Do.jsx)(qn,{title:"Select build type",items:mt,selectedIndex:Lt.selectedIndex}),p==="dockerfile"&&(0,Do.jsx)(Ny,{placeholder:"Select a Dockerfile",basePath:nai(F?.projectRoot??process.cwd(),A.codeLocation),pathType:"file",allowEmpty:!0,emptyHelpText:"Press Enter to use the default Dockerfile",onSubmit:q=>{C(Q=>({...Q,dockerfile:q?tai(q):""})),Kt("dockerfile")},onCancel:Yt}),p==="modelProvider"&&(0,Do.jsx)(qn,{title:"Select model provider",items:pn,selectedIndex:on.selectedIndex}),p==="apiKey"&&(0,Do.jsx)(UY,{providerName:rdn(A.modelProvider).name,envVarName:rdn(A.modelProvider).envVarName,onSubmit:q=>{C(Q=>({...Q,apiKey:q})),m("advanced")},onSkip:()=>m("advanced"),onCancel:Yt}),p==="advanced"&&(0,Do.jsx)(Pl,{title:"Customize advanced settings",description:"Select settings to configure. Unselected items use defaults.",items:Oe,cursorIndex:_n.cursorIndex,selectedIds:_n.selectedIds}),p==="networkMode"&&(0,Do.jsx)(qn,{title:"Select network mode",items:Xt,selectedIndex:Io.selectedIndex}),p==="subnets"&&(0,Do.jsx)(Rn,{prompt:"Subnet IDs (comma-separated)",initialValue:A.subnets,customValidation:zW,onSubmit:q=>{C(Q=>({...Q,subnets:q})),m("securityGroups")},onCancel:Yt}),p==="securityGroups"&&(0,Do.jsx)(Rn,{prompt:"Security group IDs (comma-separated)",initialValue:A.securityGroups,customValidation:KW,onSubmit:q=>{C(Q=>({...Q,securityGroups:q})),Kt("securityGroups")},onCancel:Yt}),p==="requestHeaderAllowlist"&&(0,Do.jsxs)(Z,{flexDirection:"column",children:[(0,Do.jsx)(Rn,{prompt:"Allowed request headers (comma-separated, or press Enter to skip)",initialValue:A.requestHeaderAllowlist,allowEmpty:!0,customValidation:q=>{let Q=$4(q);return Q.success?!0:Q.error},onSubmit:q=>{C(Q=>({...Q,requestHeaderAllowlist:q})),Kt("requestHeaderAllowlist")},onCancel:Yt}),(0,Do.jsx)(Z,{marginTop:1,children:(0,Do.jsx)(x,{dimColor:!0,children:"Enter header suffixes or full names. We auto-prefix with X-Amzn-Bedrock-AgentCore-Runtime-Custom- if needed. 'Authorization' is also accepted."})})]}),p==="authorizerType"&&(0,Do.jsx)(qn,{title:"Select inbound auth type",description:"How will clients authenticate to this agent?",items:dn,selectedIndex:Vn.selectedIndex}),p==="jwtConfig"&&(0,Do.jsx)($_,{subStep:At.subStep,steps:At.steps,selectedConstraints:At.selectedConstraints,customClaims:At.customClaims,discoveryUrl:At.discoveryUrl,audience:At.audience,clients:At.clients,scopes:At.scopes,onDiscoveryUrl:At.handlers.handleDiscoveryUrl,onConstraintsPicked:At.handlers.handleConstraintsPicked,onAudience:At.handlers.handleAudience,onClients:At.handlers.handleClients,onScopes:At.handlers.handleScopes,onCustomClaimsDone:At.handlers.handleCustomClaimsDone,onClientId:At.handlers.handleClientId,onClientIdSkip:At.handlers.handleClientIdSkip,onClientSecret:At.handlers.handleClientSecret,onBack:At.goBack,onClaimsManagerModeChange:At.handlers.handleClaimsManagerModeChange}),p==="idleTimeout"&&(0,Do.jsx)(Rn,{prompt:`Idle session timeout in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:q=>{if(!q)return!0;let Q=Number(q);return isNaN(Q)||!Number.isInteger(Q)||Q<sl||Q>al?`Must be an integer between ${sl} and ${al}`:!0},onSubmit:q=>{C(Q=>({...Q,idleTimeout:q})),m("maxLifetime")},onCancel:Yt}),p==="maxLifetime"&&(0,Do.jsx)(Rn,{prompt:`Max instance lifetime in seconds (${sl}-${al}, or press Enter to skip)`,initialValue:"",allowEmpty:!0,customValidation:q=>{if(!q)return!0;let Q=Number(q);if(isNaN(Q)||!Number.isInteger(Q)||Q<sl||Q>al)return`Must be an integer between ${sl} and ${al}`;if(A.idleTimeout){let Te=Number(A.idleTimeout);if(!isNaN(Te)&&Q<Te)return"Must be >= idle timeout"}return!0},onSubmit:q=>{C(Q=>({...Q,maxLifetime:q})),Kt("maxLifetime")},onCancel:Yt}),p==="sessionStorageMountPath"&&(0,Do.jsx)(Rn,{prompt:"Session storage mount path (e.g. /mnt/session-storage, or press Enter to skip)",initialValue:A.sessionStorageMountPath,allowEmpty:!0,customValidation:q=>q?q.startsWith("/")?!0:"Must be an absolute path starting with /":!0,onSubmit:q=>{C(Q=>({...Q,sessionStorageMountPath:q})),Kt("sessionStorageMountPath")},onCancel:Yt}),p==="confirm"&&(0,Do.jsx)(Da,{fields:[{label:"Name",value:o},{label:"Type",value:"Bring my own code"},{label:"Code Location",value:A.codeLocation},{label:"Entrypoint",value:A.entrypoint},{label:"Build",value:_L.find(q=>q.id===A.buildType)?.title??A.buildType},...A.buildType==="Container"&&A.dockerfile?[{label:"Dockerfile",value:A.dockerfile}]:[],{label:"Model Provider",value:`${A.modelProvider} (${Op[A.modelProvider]})`},...A.modelProvider!=="Bedrock"?[{label:"API Key",value:A.apiKey?(0,Do.jsx)(x,{color:"green",children:"Configured"}):(0,Do.jsxs)(x,{color:"yellow",children:["Not set - fill in"," ",Ha(`${z}${A.modelProvider}`)," in .env.local"]})}]:[],{label:"Network Mode",value:A.networkMode},...A.networkMode==="VPC"?[{label:"Subnets",value:A.subnets||"(none)"},{label:"Security Groups",value:A.securityGroups||"(none)"}]:[],...(()=>{let q=c$(A.requestHeaderAllowlist);return q.length>0?[{label:"Headers",value:q.join(", ")}]:[]})(),{label:"Inbound Auth",value:TL.find(q=>q.id===P)?.title??P},...P==="CUSTOM_JWT"&&N?[{label:"Discovery URL",value:N.discoveryUrl},...N.allowedAudience?.length?[{label:"Allowed Audience",value:N.allowedAudience.join(", ")}]:[],...N.allowedClients?.length?[{label:"Allowed Clients",value:N.allowedClients.join(", ")}]:[],...N.allowedScopes?.length?[{label:"Allowed Scopes",value:N.allowedScopes.join(", ")}]:[],...N.customClaims?.length?[{label:"Custom Claims",value:`${N.customClaims.length} claim(s) configured`}]:[]]:[],...A.idleTimeout?[{label:"Idle Timeout",value:`${A.idleTimeout}s`}]:[],...A.maxLifetime?[{label:"Max Lifetime",value:`${A.maxLifetime}s`}]:[],...A.sessionStorageMountPath?[{label:"Session Storage",value:A.sessionStorageMountPath}]:[],...A.withConfigBundle?[{label:"Config Bundle",value:"Yes (auto-created on deploy)"}]:[]]})]})})}function aai({projectRoot:e,initialCodeLocation:t,initialEntrypoint:n,onSubmit:o,onCancel:r}){let[s,i]=(0,ei.useState)(t),[a,c]=(0,ei.useState)(n||Zot),[l,p]=(0,ei.useState)("codeLocation"),[m,A]=(0,ei.useState)(null);No((_,w)=>{if(w.escape){r();return}if(w.tab){p(P=>P==="codeLocation"?"entrypoint":"codeLocation"),A(null);return}if(w.return){if(l==="codeLocation")p("entrypoint"),A(null);else{if(!s.trim()||!a.trim()){A("Please fill in both fields");return}let P=s.endsWith("/")?s:`${s}/`;o(P,a)}return}if(w.backspace||w.delete){l==="codeLocation"?i(P=>P.slice(0,-1)):c(P=>P.slice(0,-1)),A(null);return}_&&!w.ctrl&&!w.meta&&(l==="codeLocation"?i(P=>P+_):c(P=>P+_),A(null))});let C=e.length>40?"..."+e.slice(-37):e;return(0,Do.jsxs)(Z,{flexDirection:"column",children:[(0,Do.jsx)(x,{bold:!0,children:"Code Location"}),(0,Do.jsx)(Z,{marginTop:1,children:(0,Do.jsx)(x,{dimColor:!0,children:"Set the folder where your agent code will live."})}),(0,Do.jsx)(Z,{children:(0,Do.jsx)(x,{dimColor:!0,children:"The folder will be created if it doesn't exist yet."})}),(0,Do.jsxs)(Z,{marginTop:1,children:[(0,Do.jsx)(x,{dimColor:!0,children:"Project: "}),(0,Do.jsx)(x,{color:"blue",children:C})]}),(0,Do.jsxs)(Z,{marginTop:1,flexDirection:"column",children:[(0,Do.jsx)(x,{dimColor:!0,children:"Agent folder (relative to project root):"}),(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(x,{color:l==="codeLocation"?"cyan":"gray",children:"> "}),(0,Do.jsx)(x,{color:l==="codeLocation"?void 0:"gray",children:s||(0,Do.jsx)(x,{dimColor:!0,children:"app/my-agent/"})}),l==="codeLocation"&&(0,Do.jsx)(aa,{})]})]}),(0,Do.jsxs)(Z,{marginTop:1,flexDirection:"column",children:[(0,Do.jsx)(x,{dimColor:!0,children:"Entrypoint file (relative to agent folder):"}),(0,Do.jsxs)(Z,{children:[(0,Do.jsx)(x,{color:l==="entrypoint"?"cyan":"gray",children:"> "}),(0,Do.jsx)(x,{color:l==="entrypoint"?void 0:"gray",children:a||(0,Do.jsx)(x,{dimColor:!0,children:"main.py"})}),l==="entrypoint"&&(0,Do.jsx)(aa,{})]})]}),m&&(0,Do.jsx)(Z,{marginTop:1,children:(0,Do.jsx)(x,{color:"red",children:m})}),(0,Do.jsx)(Z,{marginTop:1,flexDirection:"column",children:(0,Do.jsx)(x,{dimColor:!0,children:"Tab switch fields \xB7 Enter continue"})})]})}var ei,Do,oai,rai,sai,eDe=L(async()=>{"use strict";In();Vr();fnt();c1();uP();zan();gg();await _o();await YJ();zs();await qi();Zf();await Zun();NY();GY();await rn();await Xbe();ei=G(at()),Do=G(Ne());oai=["name","agentType"],rai=["codeLocation","buildType","modelProvider","apiKey","advanced","confirm"];sai=["region","bedrockAgent","bedrockAlias","framework","memory","authorizerType","confirm"]});function trt({existingAgentNames:e,onComplete:t,onBack:n,onDeploy:o}){return(0,idn.jsx)(FY,{existingAgentNames:e,onComplete:t,onExit:n})}var idn,nrt=L(async()=>{"use strict";await eDe();idn=G(Ne())});async function U$(e,t){let n=new Ut({baseDir:t}),o=await n.readProjectSpec(),r=`${e}Config`;(o.configBundles??[]).some(s=>s.name===r)||(o.configBundles??=[],o.configBundles.push({type:"ConfigurationBundle",name:r,description:`Configuration for ${e} \u2014 managed by agentcore CLI`,components:{[`{{runtime:${e}}}`]:{configuration:{systemPrompt:"You are a helpful assistant. Use tools when appropriate.",toolDescriptions:{add_numbers:"Return the sum of two numbers"}}}},branchName:"mainline",commitMessage:"Initial configuration"}),await n.writeProjectSpec(o))}var qY=L(()=>{"use strict";In()});function PL(e){return e.replace(/[^a-zA-Z0-9_]/g,"_").replace(/^(\d)/,"_$1")}var F$,ort=L(()=>{"use strict";rp();F$=class e{constructor(t,n,o){this.config=t;this.options=n;this.collaboratorContext=o;this.agentInfo=t.agent,this.actionGroups=(t.action_groups??[]).filter(i=>(i.actionGroupState??"ENABLED")==="ENABLED"),this.customActionGroups=this.actionGroups.filter(i=>!i.parentActionSignature),this.knowledgeBases=t.knowledge_bases??[],this.collaborators=t.collaborators??[],this.modelId=this.agentInfo.foundationModel??"",this.agentRegion=this.agentInfo.agentArn?.split(":")[3]??"us-east-1",this.instruction=this.agentInfo.instruction??"",this.promptConfigs=this.agentInfo.promptOverrideConfiguration?.promptConfigurations??[],this.enabledPrompts=[];let r=this.agentInfo.memoryConfiguration;this.memoryEnabled=!!r?.enabledMemoryTypes?.length,this.agentcoreMemoryEnabled=n.enableMemory&&this.memoryEnabled,this.hasLongTermStrategies=n.memoryOption==="longAndShortTerm",this.codeInterpreterEnabled=this.actionGroups.some(i=>i.actionGroupName==="codeinterpreteraction"&&i.actionGroupState==="ENABLED"),this.userInputEnabled=this.actionGroups.some(i=>i.actionGroupName==="userinputaction"&&i.actionGroupState==="ENABLED"),this.multiAgentEnabled=(this.agentInfo.agentCollaboration??"DISABLED")!=="DISABLED"&&this.collaborators.length>0,this.supervisionType=this.agentInfo.agentCollaboration??"SUPERVISOR",this.observabilityEnabled=n.enableObservability,this.guardrailConfig={};let s=this.agentInfo.guardrailConfiguration;if(s){let i=s.guardrailId??s.guardrailIdentifier??"",a=s.version??s.guardrailVersion??"";i&&(this.guardrailConfig={guardrailIdentifier:i,guardrailVersion:a})}this.isCollaborator=!!o,this.isAcceptingRelays=o?.relayHistory==="TO_COLLABORATOR",this.collaboratorDescriptions=this.collaborators.map(i=>`{'agentName': '${e.escapePySingleQuote(i.agent?.agentName??"")}', 'collaboratorName': 'invoke_${PL(i.collaboratorName??"")}', 'collaboratorInstruction': '${e.escapePyTripleQuote(i.collaborationInstruction??"")}'}`),this.collaboratorMap=new Map(this.collaborators.map(i=>[i.collaboratorName??"",i])),this.cleanedAgentName=(this.agentInfo.agentName??"agent").replace(/\s/g,"_").replace(/-/g,"_").toLowerCase().slice(0,30),this.tools=[],this.importsCode=`# ---------- NOTE: This file is auto-generated by AgentCore CLI (Import from Bedrock Agents). ----------
1028
1028
  # Use this agent definition as a starting point for your custom agent implementation.
1029
1029
  # Review the generated code, evaluate agent behavior, and make necessary changes before deploying.
1030
1030
  # -------------------------------------------------------------------------------------------------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/agentcore",
3
- "version": "1.0.0-preview.8",
3
+ "version": "1.0.0-preview.9",
4
4
  "description": "CLI for Amazon Bedrock AgentCore",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {