@@ -103,6 +103,9 @@ const CreateDatasetForm = ({ onClose }: CreateDatasetFormProps) => {
103103
104104 // Step 3: Storage & metadata
105105 const [ datasetName , setDatasetName ] = useState ( "" ) ;
106+ const [ namespace , setNamespace ] = useState ( "" ) ;
107+ const [ collection , setCollection ] = useState ( "" ) ;
108+ const [ description , setDescription ] = useState ( "" ) ;
106109 const [ storageType , setStorageType ] = useState ( "file" ) ;
107110 const [ storagePath , setStoragePath ] = useState ( "" ) ;
108111 const [ tags , setTags ] = useState < TagEntry [ ] > ( [ ] ) ;
@@ -268,6 +271,10 @@ const CreateDatasetForm = ({ onClose }: CreateDatasetFormProps) => {
268271 ) ,
269272 } ;
270273
274+ if ( namespace . trim ( ) ) payload . namespace = namespace . trim ( ) ;
275+ if ( collection . trim ( ) ) payload . collection = collection . trim ( ) ;
276+ if ( description . trim ( ) ) payload . description = description . trim ( ) ;
277+
271278 if ( featureMode === "service" && selectedService . length > 0 ) {
272279 payload . feature_service_name = selectedService [ 0 ] . label ;
273280 } else if ( featureMode === "individual" && selectedFeatures . length > 0 ) {
@@ -562,6 +569,47 @@ const CreateDatasetForm = ({ onClose }: CreateDatasetFormProps) => {
562569 />
563570 </ EuiFormRow >
564571
572+ < EuiFormRow
573+ label = "Description (optional)"
574+ helpText = "Brief description of this dataset."
575+ >
576+ < EuiFieldText
577+ value = { description }
578+ onChange = { ( e ) => setDescription ( e . target . value ) }
579+ placeholder = "e.g. Training data for driver fraud model"
580+ fullWidth
581+ />
582+ </ EuiFormRow >
583+
584+ < EuiFlexGroup gutterSize = "m" >
585+ < EuiFlexItem >
586+ < EuiFormRow
587+ label = "Namespace (optional)"
588+ helpText = "Top-level grouping (e.g. fraud, underwriting)."
589+ >
590+ < EuiFieldText
591+ value = { namespace }
592+ onChange = { ( e ) => setNamespace ( e . target . value ) }
593+ placeholder = "e.g. fraud"
594+ />
595+ </ EuiFormRow >
596+ </ EuiFlexItem >
597+ < EuiFlexItem >
598+ < EuiFormRow
599+ label = "Collection (optional)"
600+ helpText = "Sub-grouping within namespace (e.g. raw, curated)."
601+ >
602+ < EuiFieldText
603+ value = { collection }
604+ onChange = { ( e ) => setCollection ( e . target . value ) }
605+ placeholder = "e.g. training"
606+ />
607+ </ EuiFormRow >
608+ </ EuiFlexItem >
609+ </ EuiFlexGroup >
610+
611+ < EuiSpacer size = "m" />
612+
565613 < EuiFlexGroup gutterSize = "m" >
566614 < EuiFlexItem grow = { 1 } >
567615 < EuiFormRow label = "Storage Type" >
0 commit comments