@@ -20,6 +20,7 @@ public void FieldRoundtrip_Works()
2020 Instruction = "Find all clickable navigation links" ,
2121 Options = new ( )
2222 {
23+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
2324 Model = new ModelConfig ( )
2425 {
2526 ModelName = "openai/gpt-5.4-mini" ,
@@ -51,6 +52,7 @@ public void FieldRoundtrip_Works()
5152 string expectedInstruction = "Find all clickable navigation links" ;
5253 SessionObserveParamsOptions expectedOptions = new ( )
5354 {
55+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
5456 Model = new ModelConfig ( )
5557 {
5658 ModelName = "openai/gpt-5.4-mini" ,
@@ -132,6 +134,7 @@ public void OptionalNullableParamsUnsetAreNotSet_Works()
132134 Instruction = "Find all clickable navigation links" ,
133135 Options = new ( )
134136 {
137+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
135138 Model = new ModelConfig ( )
136139 {
137140 ModelName = "openai/gpt-5.4-mini" ,
@@ -171,6 +174,7 @@ public void OptionalNullableParamsSetToNullAreSetToNull_Works()
171174 Instruction = "Find all clickable navigation links" ,
172175 Options = new ( )
173176 {
177+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
174178 Model = new ModelConfig ( )
175179 {
176180 ModelName = "openai/gpt-5.4-mini" ,
@@ -260,6 +264,7 @@ public void CopyConstructor_Works()
260264 Instruction = "Find all clickable navigation links" ,
261265 Options = new ( )
262266 {
267+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
263268 Model = new ModelConfig ( )
264269 {
265270 ModelName = "openai/gpt-5.4-mini" ,
@@ -299,6 +304,7 @@ public void FieldRoundtrip_Works()
299304 {
300305 var model = new SessionObserveParamsOptions
301306 {
307+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
302308 Model = new ModelConfig ( )
303309 {
304310 ModelName = "openai/gpt-5.4-mini" ,
@@ -323,6 +329,7 @@ public void FieldRoundtrip_Works()
323329 } ,
324330 } ;
325331
332+ List < string > expectedIgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ;
326333 SessionObserveParamsOptionsModel expectedModel = new ModelConfig ( )
327334 {
328335 ModelName = "openai/gpt-5.4-mini" ,
@@ -346,6 +353,12 @@ public void FieldRoundtrip_Works()
346353 { "rememberMe" , true } ,
347354 } ;
348355
356+ Assert . NotNull ( model . IgnoreSelectors ) ;
357+ Assert . Equal ( expectedIgnoreSelectors . Count , model . IgnoreSelectors . Count ) ;
358+ for ( int i = 0 ; i < expectedIgnoreSelectors . Count ; i ++ )
359+ {
360+ Assert . Equal ( expectedIgnoreSelectors [ i ] , model . IgnoreSelectors [ i ] ) ;
361+ }
349362 Assert . Equal ( expectedModel , model . Model ) ;
350363 Assert . Equal ( expectedSelector , model . Selector ) ;
351364 Assert . Equal ( expectedTimeout , model . Timeout ) ;
@@ -364,6 +377,7 @@ public void SerializationRoundtrip_Works()
364377 {
365378 var model = new SessionObserveParamsOptions
366379 {
380+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
367381 Model = new ModelConfig ( )
368382 {
369383 ModelName = "openai/gpt-5.4-mini" ,
@@ -402,6 +416,7 @@ public void FieldRoundtripThroughSerialization_Works()
402416 {
403417 var model = new SessionObserveParamsOptions
404418 {
419+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
405420 Model = new ModelConfig ( )
406421 {
407422 ModelName = "openai/gpt-5.4-mini" ,
@@ -433,6 +448,7 @@ public void FieldRoundtripThroughSerialization_Works()
433448 ) ;
434449 Assert . NotNull ( deserialized ) ;
435450
451+ List < string > expectedIgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ;
436452 SessionObserveParamsOptionsModel expectedModel = new ModelConfig ( )
437453 {
438454 ModelName = "openai/gpt-5.4-mini" ,
@@ -456,6 +472,12 @@ public void FieldRoundtripThroughSerialization_Works()
456472 { "rememberMe" , true } ,
457473 } ;
458474
475+ Assert . NotNull ( deserialized . IgnoreSelectors ) ;
476+ Assert . Equal ( expectedIgnoreSelectors . Count , deserialized . IgnoreSelectors . Count ) ;
477+ for ( int i = 0 ; i < expectedIgnoreSelectors . Count ; i ++ )
478+ {
479+ Assert . Equal ( expectedIgnoreSelectors [ i ] , deserialized . IgnoreSelectors [ i ] ) ;
480+ }
459481 Assert . Equal ( expectedModel , deserialized . Model ) ;
460482 Assert . Equal ( expectedSelector , deserialized . Selector ) ;
461483 Assert . Equal ( expectedTimeout , deserialized . Timeout ) ;
@@ -474,6 +496,7 @@ public void Validation_Works()
474496 {
475497 var model = new SessionObserveParamsOptions
476498 {
499+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
477500 Model = new ModelConfig ( )
478501 {
479502 ModelName = "openai/gpt-5.4-mini" ,
@@ -506,6 +529,8 @@ public void OptionalNonNullablePropertiesUnsetAreNotSet_Works()
506529 {
507530 var model = new SessionObserveParamsOptions { } ;
508531
532+ Assert . Null ( model . IgnoreSelectors ) ;
533+ Assert . False ( model . RawData . ContainsKey ( "ignoreSelectors" ) ) ;
509534 Assert . Null ( model . Model ) ;
510535 Assert . False ( model . RawData . ContainsKey ( "model" ) ) ;
511536 Assert . Null ( model . Selector ) ;
@@ -530,12 +555,15 @@ public void OptionalNonNullablePropertiesSetToNullAreNotSet_Works()
530555 var model = new SessionObserveParamsOptions
531556 {
532557 // Null should be interpreted as omitted for these properties
558+ IgnoreSelectors = null ,
533559 Model = null ,
534560 Selector = null ,
535561 Timeout = null ,
536562 Variables = null ,
537563 } ;
538564
565+ Assert . Null ( model . IgnoreSelectors ) ;
566+ Assert . False ( model . RawData . ContainsKey ( "ignoreSelectors" ) ) ;
539567 Assert . Null ( model . Model ) ;
540568 Assert . False ( model . RawData . ContainsKey ( "model" ) ) ;
541569 Assert . Null ( model . Selector ) ;
@@ -552,6 +580,7 @@ public void OptionalNonNullablePropertiesSetToNullValidation_Works()
552580 var model = new SessionObserveParamsOptions
553581 {
554582 // Null should be interpreted as omitted for these properties
583+ IgnoreSelectors = null ,
555584 Model = null ,
556585 Selector = null ,
557586 Timeout = null ,
@@ -566,6 +595,7 @@ public void CopyConstructor_Works()
566595 {
567596 var model = new SessionObserveParamsOptions
568597 {
598+ IgnoreSelectors = [ "nav" , ".cookie-banner" , "#sidebar-ads" ] ,
569599 Model = new ModelConfig ( )
570600 {
571601 ModelName = "openai/gpt-5.4-mini" ,
0 commit comments