Skip to content

Commit 7f0fd87

Browse files
only add memory in flow if strands (aws#126)
1 parent 6d34b7a commit 7f0fd87

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

src/cli/tui/screens/generate/types.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,13 @@ export interface GenerateConfig {
1818
language: TargetLanguage;
1919
}
2020

21-
/** Base steps - apiKey is conditionally shown based on model provider */
21+
/** Base steps - apiKey and memory are conditionally added based on selections */
2222
export const BASE_GENERATE_STEPS: GenerateStep[] = [
2323
'projectName',
2424
'language',
2525
'sdk',
2626
'modelProvider',
2727
'apiKey',
28-
'memory',
2928
'confirm',
3029
];
3130

src/cli/tui/screens/generate/useGenerateWizard.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,12 @@ export function useGenerateWizard(options?: UseGenerateWizardOptions) {
2929
}));
3030
const [error, setError] = useState<string | null>(null);
3131

32+
// Track if user has selected a framework (moved past sdk step)
33+
const [sdkSelected, setSdkSelected] = useState(false);
34+
3235
// Steps depend on SDK, model provider, and whether we have an initial name
33-
// Filter out: projectName if initialName, apiKey for Bedrock, memory for non-Strands SDKs
36+
// Filter out: projectName if initialName, apiKey for Bedrock
37+
// Add memory step only for Strands SDK after user has selected it
3438
const steps = useMemo(() => {
3539
let filtered = BASE_GENERATE_STEPS;
3640
if (hasInitialName) {
@@ -39,11 +43,12 @@ export function useGenerateWizard(options?: UseGenerateWizardOptions) {
3943
if (config.modelProvider === 'Bedrock') {
4044
filtered = filtered.filter(s => s !== 'apiKey');
4145
}
42-
if (config.sdk !== 'Strands') {
43-
filtered = filtered.filter(s => s !== 'memory');
46+
if (sdkSelected && config.sdk === 'Strands') {
47+
const confirmIndex = filtered.indexOf('confirm');
48+
filtered = [...filtered.slice(0, confirmIndex), 'memory', ...filtered.slice(confirmIndex)];
4449
}
4550
return filtered;
46-
}, [config.modelProvider, config.sdk, hasInitialName]);
51+
}, [config.modelProvider, config.sdk, hasInitialName, sdkSelected]);
4752

4853
const currentIndex = steps.indexOf(step);
4954

@@ -65,6 +70,7 @@ export function useGenerateWizard(options?: UseGenerateWizardOptions) {
6570
}, []);
6671

6772
const setSdk = useCallback((sdk: GenerateConfig['sdk']) => {
73+
setSdkSelected(true);
6874
setConfig(c => {
6975
// Reset modelProvider if it's not supported by the new SDK
7076
const supportedProviders = getModelProviderOptionsForSdk(sdk);
@@ -127,6 +133,7 @@ export function useGenerateWizard(options?: UseGenerateWizardOptions) {
127133
setStep('projectName');
128134
setConfig(getDefaultConfig());
129135
setError(null);
136+
setSdkSelected(false);
130137
}, []);
131138

132139
/**

0 commit comments

Comments
 (0)