@@ -1386,114 +1386,3 @@ async fn test_middleware_performance_timing() {
13861386 // The call should complete relatively quickly for a mock provider
13871387 assert ! ( duration < Duration :: from_secs( 1 ) ) ;
13881388}
1389-
1390- #[ cfg( test) ]
1391- mod provider_from_model_tests {
1392- use crate :: providers:: Provider ;
1393-
1394- #[ test]
1395- fn test_explicit_provider_prefixes ( ) {
1396- // Valid explicit prefixes
1397- assert_eq ! (
1398- Provider :: from_model( "openai/gpt-4" ) . unwrap( ) ,
1399- ( Provider :: OpenAI , "gpt-4" . to_string( ) )
1400- ) ;
1401- assert_eq ! (
1402- Provider :: from_model( "anthropic/claude-3-sonnet" ) . unwrap( ) ,
1403- ( Provider :: Anthropic , "claude-3-sonnet" . to_string( ) )
1404- ) ;
1405- assert_eq ! (
1406- Provider :: from_model( "google/gemini-1.5-pro" ) . unwrap( ) ,
1407- ( Provider :: Google , "gemini-1.5-pro" . to_string( ) )
1408- ) ;
1409-
1410- // Test aliases as prefixes
1411- assert_eq ! (
1412- Provider :: from_model( "gpt/gpt-4o-mini" ) . unwrap( ) ,
1413- ( Provider :: OpenAI , "gpt-4o-mini" . to_string( ) )
1414- ) ;
1415- assert_eq ! (
1416- Provider :: from_model( "claude/claude-3-haiku" ) . unwrap( ) ,
1417- ( Provider :: Anthropic , "claude-3-haiku" . to_string( ) )
1418- ) ;
1419- assert_eq ! (
1420- Provider :: from_model( "gemini/gemini-1.5-flash" ) . unwrap( ) ,
1421- ( Provider :: Google , "gemini-1.5-flash" . to_string( ) )
1422- ) ;
1423- }
1424-
1425- #[ test]
1426- fn test_model_prefix_inference ( ) {
1427- // Core library now only supports explicit provider/model format
1428- // Patterns without provider prefix should fail
1429- assert ! ( Provider :: from_model( "gpt-4o-mini" ) . is_err( ) ) ;
1430- assert ! ( Provider :: from_model( "gpt-3.5-turbo" ) . is_err( ) ) ;
1431- assert ! ( Provider :: from_model( "gpt-4" ) . is_err( ) ) ;
1432- assert ! ( Provider :: from_model( "claude-3-5-sonnet-20241022" ) . is_err( ) ) ;
1433- assert ! ( Provider :: from_model( "claude-3-sonnet" ) . is_err( ) ) ;
1434- assert ! ( Provider :: from_model( "gemini-1.5-pro" ) . is_err( ) ) ;
1435- assert ! ( Provider :: from_model( "gemini-1.5-flash" ) . is_err( ) ) ;
1436- }
1437-
1438- #[ test]
1439- fn test_unrecognized_model_patterns ( ) {
1440- // These should fail since they don't match our alias patterns or built-in aliases
1441- // Note: o1-preview now succeeds due to built-in alias, so we test other patterns
1442- assert ! ( Provider :: from_model( "text-davinci-003" ) . is_err( ) ) ;
1443- assert ! ( Provider :: from_model( "models/gemini-pro" ) . is_err( ) ) ;
1444- assert ! ( Provider :: from_model( "random-model-name" ) . is_err( ) ) ;
1445- assert ! ( Provider :: from_model( "unknown-prefix-model" ) . is_err( ) ) ;
1446- }
1447-
1448- #[ test]
1449- fn test_built_in_aliases ( ) {
1450- // Core library no longer supports built-in aliases - they are CLI-specific
1451- // All single-word inputs should fail as they need explicit provider/model format
1452- assert ! ( Provider :: from_model( "gpt4" ) . is_err( ) ) ;
1453- assert ! ( Provider :: from_model( "chatgpt" ) . is_err( ) ) ;
1454- assert ! ( Provider :: from_model( "claude" ) . is_err( ) ) ;
1455- assert ! ( Provider :: from_model( "sonnet" ) . is_err( ) ) ;
1456- assert ! ( Provider :: from_model( "gemini" ) . is_err( ) ) ;
1457- assert ! ( Provider :: from_model( "o1-preview" ) . is_err( ) ) ;
1458- }
1459-
1460- #[ test]
1461- fn test_case_insensitive_aliases ( ) {
1462- // Case insensitive provider prefix matching still works
1463- assert_eq ! (
1464- Provider :: from_model( "OpenAI/gpt-4" ) . unwrap( ) ,
1465- ( Provider :: OpenAI , "gpt-4" . to_string( ) )
1466- ) ;
1467- assert_eq ! (
1468- Provider :: from_model( "ANTHROPIC/claude-3-sonnet" ) . unwrap( ) ,
1469- ( Provider :: Anthropic , "claude-3-sonnet" . to_string( ) )
1470- ) ;
1471- assert_eq ! (
1472- Provider :: from_model( "Google/gemini-1.5-pro" ) . unwrap( ) ,
1473- ( Provider :: Google , "gemini-1.5-pro" . to_string( ) )
1474- ) ;
1475-
1476- // Single-word aliases are no longer supported in core
1477- assert ! ( Provider :: from_model( "GPT4" ) . is_err( ) ) ;
1478- assert ! ( Provider :: from_model( "CLAUDE" ) . is_err( ) ) ;
1479- }
1480-
1481- #[ test]
1482- fn test_error_cases ( ) {
1483- // Unknown provider prefix
1484- assert ! ( Provider :: from_model( "unknown/some-model" ) . is_err( ) ) ;
1485- assert ! ( Provider :: from_model( "invalid-provider/model" ) . is_err( ) ) ;
1486- assert ! ( Provider :: from_model( "" ) . is_err( ) ) ;
1487- }
1488-
1489- #[ test]
1490- fn test_provider_names_should_error ( ) {
1491- // All provider names should error in core since they don't use provider/model format
1492- assert ! ( Provider :: from_model( "openai" ) . is_err( ) ) ;
1493- assert ! ( Provider :: from_model( "gpt" ) . is_err( ) ) ;
1494- assert ! ( Provider :: from_model( "anthropic" ) . is_err( ) ) ;
1495- assert ! ( Provider :: from_model( "google" ) . is_err( ) ) ;
1496- assert ! ( Provider :: from_model( "claude" ) . is_err( ) ) ;
1497- assert ! ( Provider :: from_model( "gemini" ) . is_err( ) ) ;
1498- }
1499- }
0 commit comments