@@ -331,3 +331,34 @@ class RequiredParam(BaseModel):
331331 }
332332 assert func_def ["function_data" ]["__schema" ]["properties" ]["model" ]["x-bt-type" ] == "model"
333333 assert "required_text" not in func_def ["function_data" ]["data" ]
334+
335+
336+ def test_project_parameters_create_includes_tags (mock_project_ids ):
337+ project = projects .create ("test-project" )
338+ project .parameters .create (
339+ name = "test-parameters" ,
340+ schema = {"model" : {"type" : "model" , "default" : "gpt-5-mini" }},
341+ tags = ["production" , "v1" ],
342+ )
343+
344+ parameters = project ._publishable_parameters
345+ assert len (parameters ) == 1
346+
347+ func_def = parameters [0 ].to_function_definition (None , mock_project_ids )
348+
349+ assert func_def ["tags" ] == ["production" , "v1" ]
350+
351+
352+ def test_project_parameters_create_excludes_tags_when_none (mock_project_ids ):
353+ project = projects .create ("test-project" )
354+ project .parameters .create (
355+ name = "test-parameters" ,
356+ schema = {"model" : {"type" : "model" , "default" : "gpt-5-mini" }},
357+ )
358+
359+ parameters = project ._publishable_parameters
360+ assert len (parameters ) == 1
361+
362+ func_def = parameters [0 ].to_function_definition (None , mock_project_ids )
363+
364+ assert "tags" not in func_def
0 commit comments