@@ -29,8 +29,8 @@ export function useGenerateWizard(options?: UseGenerateWizardOptions) {
2929 } ) ) ;
3030 const [ error , setError ] = useState < string | null > ( null ) ;
3131
32- // Steps depend on model provider and whether we have an initial name
33- // Filter out apiKey for Bedrock, and projectName if we have initialName
32+ // 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
3434 const steps = useMemo ( ( ) => {
3535 let filtered = BASE_GENERATE_STEPS ;
3636 if ( hasInitialName ) {
@@ -39,8 +39,11 @@ export function useGenerateWizard(options?: UseGenerateWizardOptions) {
3939 if ( config . modelProvider === 'Bedrock' ) {
4040 filtered = filtered . filter ( s => s !== 'apiKey' ) ;
4141 }
42+ if ( config . sdk !== 'Strands' ) {
43+ filtered = filtered . filter ( s => s !== 'memory' ) ;
44+ }
4245 return filtered ;
43- } , [ config . modelProvider , hasInitialName ] ) ;
46+ } , [ config . modelProvider , config . sdk , hasInitialName ] ) ;
4447
4548 const currentIndex = steps . indexOf ( step ) ;
4649
@@ -67,29 +70,47 @@ export function useGenerateWizard(options?: UseGenerateWizardOptions) {
6770 const supportedProviders = getModelProviderOptionsForSdk ( sdk ) ;
6871 const isCurrentProviderSupported = supportedProviders . some ( p => p . id === c . modelProvider ) ;
6972 const newModelProvider = isCurrentProviderSupported ? c . modelProvider : ( supportedProviders [ 0 ] ?. id ?? 'Bedrock' ) ;
70- return { ...c , sdk, modelProvider : newModelProvider } ;
73+ // Reset memory to 'none' for non-Strands SDKs
74+ const newMemory = sdk === 'Strands' ? c . memory : 'none' ;
75+ return { ...c , sdk, modelProvider : newModelProvider , memory : newMemory } ;
7176 } ) ;
7277 setStep ( 'modelProvider' ) ;
7378 } , [ ] ) ;
7479
75- const setModelProvider = useCallback ( ( modelProvider : GenerateConfig [ 'modelProvider' ] ) => {
76- setConfig ( c => ( { ...c , modelProvider } ) ) ;
77- // Non-Bedrock providers need API key step
78- if ( modelProvider !== 'Bedrock' ) {
79- setStep ( 'apiKey' ) ;
80- } else {
81- setStep ( 'memory' ) ;
82- }
83- } , [ ] ) ;
84-
85- const setApiKey = useCallback ( ( apiKey : string | undefined ) => {
86- setConfig ( c => ( { ...c , apiKey } ) ) ;
87- setStep ( 'memory' ) ;
88- } , [ ] ) ;
80+ const setModelProvider = useCallback (
81+ ( modelProvider : GenerateConfig [ 'modelProvider' ] ) => {
82+ setConfig ( c => ( { ...c , modelProvider } ) ) ;
83+ // Non-Bedrock providers need API key step
84+ if ( modelProvider !== 'Bedrock' ) {
85+ setStep ( 'apiKey' ) ;
86+ } else if ( config . sdk === 'Strands' ) {
87+ setStep ( 'memory' ) ;
88+ } else {
89+ setStep ( 'confirm' ) ;
90+ }
91+ } ,
92+ [ config . sdk ]
93+ ) ;
94+
95+ const setApiKey = useCallback (
96+ ( apiKey : string | undefined ) => {
97+ setConfig ( c => ( { ...c , apiKey } ) ) ;
98+ if ( config . sdk === 'Strands' ) {
99+ setStep ( 'memory' ) ;
100+ } else {
101+ setStep ( 'confirm' ) ;
102+ }
103+ } ,
104+ [ config . sdk ]
105+ ) ;
89106
90107 const skipApiKey = useCallback ( ( ) => {
91- setStep ( 'memory' ) ;
92- } , [ ] ) ;
108+ if ( config . sdk === 'Strands' ) {
109+ setStep ( 'memory' ) ;
110+ } else {
111+ setStep ( 'confirm' ) ;
112+ }
113+ } , [ config . sdk ] ) ;
93114
94115 const setMemory = useCallback ( ( memory : MemoryOption ) => {
95116 setConfig ( c => ( { ...c , memory } ) ) ;
0 commit comments