Skip to content

Commit e6d2d13

Browse files
committed
fix: add VPC warnings to TUI dev and invoke screens
The non-interactive CLI paths had VPC warnings but the TUI screens did not. - DevScreen: warn that local dev runs outside VPC - InvokeScreen: warn about VPC endpoint requirements - Thread networkMode through useInvokeFlow config
1 parent 74157e4 commit e6d2d13

4 files changed

Lines changed: 21 additions & 2 deletions

File tree

src/cli/tui/hooks/useDevServer.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,7 @@ export function useDevServer(options: { workingDir: string; port: number; agentN
292292
stop,
293293
logFilePath: loggerRef.current?.getRelativeLogPath(),
294294
hasMemory: (project?.memories?.length ?? 0) > 0,
295+
hasVpc: project?.agents.find(a => a.name === config?.agentName)?.networkMode === 'VPC',
295296
modelProvider: project?.agents.find(a => a.name === config?.agentName)?.modelProvider,
296297
};
297298
}

src/cli/tui/screens/dev/DevScreen.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ export function DevScreen(props: DevScreenProps) {
177177
stop,
178178
logFilePath,
179179
hasMemory,
180+
hasVpc,
180181
modelProvider,
181182
} = useDevServer({
182183
workingDir,
@@ -446,6 +447,12 @@ export function DevScreen(props: DevScreenProps) {
446447
AgentCore memory is not available when running locally. To test memory, deploy and use invoke.
447448
</Text>
448449
)}
450+
{hasVpc && (
451+
<Text color="yellow">
452+
This agent uses VPC network mode. Local dev server runs outside your VPC. Network behavior may differ from
453+
deployed environment.
454+
</Text>
455+
)}
449456
</Box>
450457
);
451458

src/cli/tui/screens/invoke/InvokeScreen.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,11 @@ export function InvokeScreen({
337337
</Text>
338338
)}
339339
{traceUrl && <Text dimColor>Note: Traces may take 2-3 minutes to appear in CloudWatch</Text>}
340+
{mode !== 'select-agent' && agent?.networkMode === 'VPC' && (
341+
<Text color="yellow">
342+
This agent uses VPC network mode. Ensure your VPC endpoints are configured for invocation.
343+
</Text>
344+
)}
340345
</Box>
341346
);
342347

src/cli/tui/screens/invoke/useInvokeFlow.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type {
33
AgentCoreDeployedState,
44
AwsDeploymentTarget,
55
ModelProvider,
6+
NetworkMode,
67
AgentCoreProjectSpec as _AgentCoreProjectSpec,
78
} from '../../../../schema';
89
import { DEFAULT_RUNTIME_USER_ID, invokeAgentRuntimeStreaming } from '../../../aws';
@@ -12,7 +13,7 @@ import { generateSessionId } from '../../../operations/session';
1213
import { useCallback, useEffect, useRef, useState } from 'react';
1314

1415
export interface InvokeConfig {
15-
agents: { name: string; state: AgentCoreDeployedState; modelProvider?: ModelProvider }[];
16+
agents: { name: string; state: AgentCoreDeployedState; modelProvider?: ModelProvider; networkMode?: NetworkMode }[];
1617
target: AwsDeploymentTarget;
1718
targetName: string;
1819
projectName: string;
@@ -82,7 +83,12 @@ export function useInvokeFlow(options: InvokeFlowOptions = {}): InvokeFlowState
8283
for (const agent of project.agents) {
8384
const state = targetState?.resources?.agents?.[agent.name];
8485
if (state) {
85-
agents.push({ name: agent.name, state, modelProvider: agent.modelProvider });
86+
agents.push({
87+
name: agent.name,
88+
state,
89+
modelProvider: agent.modelProvider,
90+
networkMode: agent.networkMode,
91+
});
8692
}
8793
}
8894

0 commit comments

Comments
 (0)