@@ -16,7 +16,7 @@ public void CanInstantiateWithServerSideClient()
1616 {
1717 var client = new LdClientAdapter ( new LdClient ( Configuration . Builder ( "key" ) . Offline ( true ) . Build ( ) ) ) ;
1818 var aiClient = new LdAiClient ( client ) ;
19- var result = aiClient . Config ( "foo" , Context . New ( "key" ) , LdAiConfig . Disabled ) ;
19+ var result = aiClient . CompletionConfig ( "foo" , Context . New ( "key" ) , LdAiConfig . Disabled ) ;
2020 Assert . False ( result . Config . Enabled ) ;
2121 }
2222
@@ -44,13 +44,13 @@ public void ReturnsDefaultConfigWhenGivenInvalidVariation()
4444
4545 var defaultConfig = LdAiConfig . New ( ) . AddMessage ( "Hello" ) . Build ( ) ;
4646
47- var tracker = client . Config ( "foo" , Context . New ( ContextKind . Default , "key" ) , defaultConfig ) ;
47+ var tracker = client . CompletionConfig ( "foo" , Context . New ( ContextKind . Default , "key" ) , defaultConfig ) ;
4848
4949 Assert . Equal ( defaultConfig , tracker . Config ) ;
5050 }
5151
5252 [ Fact ]
53- public void ConfigMethodCallsTrackWithCorrectParameters ( )
53+ public void CompletionConfigMethodCallsTrackWithCorrectParameters ( )
5454 {
5555 var mockClient = new Mock < ILaunchDarklyClient > ( ) ;
5656 var context = Context . New ( ContextKind . Default , "user-key" ) ;
@@ -85,17 +85,40 @@ public void ConfigMethodCallsTrackWithCorrectParameters()
8585 var client = new LdAiClient ( mockClient . Object ) ;
8686 var defaultConfig = LdAiConfig . New ( ) . Build ( ) ;
8787
88- var tracker = client . Config ( configKey , context , defaultConfig ) ;
88+ var tracker = client . CompletionConfig ( configKey , context , defaultConfig ) ;
8989
9090 mockClient . Verify ( c => c . Track (
91- "$ld:ai:config:function:single " ,
91+ "$ld:ai:usage:completion-config " ,
9292 context ,
9393 LdValue . Of ( configKey ) ,
9494 1 ) , Times . Once ) ;
9595
9696 Assert . NotNull ( tracker ) ;
9797 }
9898
99+ [ Fact ]
100+ public void ConstructorTracksSdkInfo ( )
101+ {
102+ var mockClient = new Mock < ILaunchDarklyClient > ( ) ;
103+ var mockLogger = new Mock < ILogger > ( ) ;
104+ mockClient . Setup ( x => x . GetLogger ( ) ) . Returns ( mockLogger . Object ) ;
105+
106+ var client = new LdAiClient ( mockClient . Object ) ;
107+ Assert . NotNull ( client ) ;
108+
109+ mockClient . Verify ( c => c . Track (
110+ "$ld:ai:sdk:info" ,
111+ It . Is < Context > ( ctx =>
112+ ctx . Kind == ContextKind . Of ( "ld_ai" ) &&
113+ ctx . Key == "ld-internal-tracking" &&
114+ ctx . Anonymous ) ,
115+ It . Is < LdValue > ( v =>
116+ v . Get ( "aiSdkName" ) . AsString == SdkInfo . Name &&
117+ v . Get ( "aiSdkVersion" ) . AsString == SdkInfo . Version &&
118+ v . Get ( "aiSdkLanguage" ) . AsString == SdkInfo . Language ) ,
119+ 1 ) , Times . Once ) ;
120+ }
121+
99122 private const string MetaDisabledExplicitly = """
100123 {
101124 "_ldMeta": {"variationKey": "1", "enabled": false},
@@ -142,7 +165,7 @@ public void ConfigNotEnabledReturnsDisabledInstance(string json)
142165 // All the JSON inputs here are considered disabled, either due to lack of the 'enabled' property,
143166 // or if present, it is set to false. Therefore, if the default was returned, we'd see the assertion fail
144167 // (since calling LdAiConfig.New() constructs an enabled config by default.)
145- var tracker = client . Config ( "foo" , Context . New ( ContextKind . Default , "key" ) ,
168+ var tracker = client . CompletionConfig ( "foo" , Context . New ( ContextKind . Default , "key" ) ,
146169 LdAiConfig . New ( ) . AddMessage ( "foo" ) . Build ( ) ) ;
147170
148171 Assert . False ( tracker . Config . Enabled ) ;
@@ -162,7 +185,7 @@ public void CanSetAllDefaultValueFields()
162185
163186 var client = new LdAiClient ( mockClient . Object ) ;
164187
165- var tracker = client . Config ( "foo" , Context . New ( ContextKind . Default , "key" ) ,
188+ var tracker = client . CompletionConfig ( "foo" , Context . New ( ContextKind . Default , "key" ) ,
166189 LdAiConfig . New ( ) .
167190 AddMessage ( "foo" ) .
168191 SetModelParam ( "foo" , LdValue . Of ( "bar" ) ) .
@@ -207,7 +230,7 @@ public void ConfigEnabledReturnsInstance()
207230 var client = new LdAiClient ( mockClient . Object ) ;
208231
209232 // We shouldn't get this default.
210- var tracker = client . Config ( "foo" , context ,
233+ var tracker = client . CompletionConfig ( "foo" , context ,
211234 LdAiConfig . New ( ) . AddMessage ( "Goodbye!" ) . Build ( ) ) ;
212235
213236 Assert . Collection ( tracker . Config . Messages ,
@@ -259,7 +282,7 @@ public void ModelParametersAreParsed()
259282 var client = new LdAiClient ( mockClient . Object ) ;
260283
261284 // We shouldn't get this default.
262- var tracker = client . Config ( "foo" , context ,
285+ var tracker = client . CompletionConfig ( "foo" , context ,
263286 LdAiConfig . New ( ) . AddMessage ( "Goodbye!" ) . Build ( ) ) ;
264287
265288 Assert . Equal ( "model-foo" , tracker . Config . Model . Name ) ;
@@ -296,7 +319,7 @@ public void ProviderConfigIsParsed()
296319 var client = new LdAiClient ( mockClient . Object ) ;
297320
298321 // We shouldn't get this default.
299- var tracker = client . Config ( "foo" , context ,
322+ var tracker = client . CompletionConfig ( "foo" , context ,
300323 LdAiConfig . New ( ) . AddMessage ( "Goodbye!" ) . Build ( ) ) ;
301324
302325 Assert . Equal ( "amazing-provider" , tracker . Config . Provider . Name ) ;
0 commit comments