@@ -194,6 +194,51 @@ suite('CustomizationHarnessService', () => {
194194 assert . deepStrictEqual ( descriptor . workspaceSubpaths , [ '.test-ext' ] ) ;
195195 } ) ;
196196
197+ test ( 'external harness with hideGenerateButton' , ( ) => {
198+ const service = createService ( ) ;
199+ const emitter = new Emitter < IExternalCustomizationChangeEvent > ( ) ;
200+ store . add ( emitter ) ;
201+ const externalDescriptor : IHarnessDescriptor = {
202+ id : 'test-ext' ,
203+ label : 'Test Extension' ,
204+ icon : ThemeIcon . fromId ( 'extensions' ) ,
205+ hideGenerateButton : true ,
206+ getStorageSourceFilter : ( ) => ( { sources : [ PromptsStorage . local ] } ) ,
207+ itemProvider : {
208+ onDidChange : emitter . event ,
209+ provideChatSessionCustomizations : async ( ) => ( { items : [ ] } ) ,
210+ } ,
211+ } ;
212+
213+ store . add ( service . registerExternalHarness ( externalDescriptor ) ) ;
214+ service . setActiveHarness ( 'test-ext' ) ;
215+
216+ const descriptor = service . getActiveDescriptor ( ) ;
217+ assert . strictEqual ( descriptor . hideGenerateButton , true ) ;
218+ } ) ;
219+
220+ test ( 'external harness without hideGenerateButton defaults to undefined' , ( ) => {
221+ const service = createService ( ) ;
222+ const emitter = new Emitter < IExternalCustomizationChangeEvent > ( ) ;
223+ store . add ( emitter ) ;
224+ const externalDescriptor : IHarnessDescriptor = {
225+ id : 'test-ext' ,
226+ label : 'Test Extension' ,
227+ icon : ThemeIcon . fromId ( 'extensions' ) ,
228+ getStorageSourceFilter : ( ) => ( { sources : [ PromptsStorage . local ] } ) ,
229+ itemProvider : {
230+ onDidChange : emitter . event ,
231+ provideChatSessionCustomizations : async ( ) => ( { items : [ ] } ) ,
232+ } ,
233+ } ;
234+
235+ store . add ( service . registerExternalHarness ( externalDescriptor ) ) ;
236+ service . setActiveHarness ( 'test-ext' ) ;
237+
238+ const descriptor = service . getActiveDescriptor ( ) ;
239+ assert . strictEqual ( descriptor . hideGenerateButton , undefined ) ;
240+ } ) ;
241+
197242 test ( 'external harness with same id as static harness replaces it' , ( ) => {
198243 const staticDescriptor : IHarnessDescriptor = {
199244 id : 'cli' ,
0 commit comments