diff --git a/docs/api/AnthropicClient.Models.BaseMessageRequest.html b/docs/api/AnthropicClient.Models.BaseMessageRequest.html index e1a65be..6b0995f 100644 --- a/docs/api/AnthropicClient.Models.BaseMessageRequest.html +++ b/docs/api/AnthropicClient.Models.BaseMessageRequest.html @@ -162,9 +162,9 @@ Class BaseMessageRequest -

- BaseMessageRequest(string, List<Message>, int, string?, Dictionary<string, object>?, decimal, int?, decimal?, ToolChoice?, List<Tool>?, bool, List<string>?) - +

+ BaseMessageRequest(string, List<Message>, int, string?, Dictionary<string, object>?, decimal, int?, decimal?, ToolChoice?, List<Tool>?, bool, List<string>?, List<TextContent>?) +

Initializes a new instance of the BaseMessageRequest class.

@@ -172,7 +172,7 @@ Class BaseMessageRequest
-
protected BaseMessageRequest(string model, List<Message> messages, int maxTokens = 1024, string? system = null, Dictionary<string, object>? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List<Tool>? tools = null, bool stream = false, List<string>? stopSequences = null)
+
protected BaseMessageRequest(string model, List<Message> messages, int maxTokens, string? system, Dictionary<string, object>? metadata, decimal temperature, int? topK, decimal? topP, ToolChoice? toolChoice, List<Tool>? tools, bool stream, List<string>? stopSequences, List<TextContent>? systemMessages)

Parameters

@@ -187,7 +187,7 @@ Class BaseMessageRequest
string -

The system ID to use for the request.

+

The system prompt to use for the request.

metadata Dictionary<string, object>

The metadata to include with the request.

@@ -212,6 +212,9 @@ Class BaseMessageRequest List<string>

The prompt stop sequences.

+
+
systemMessages List<TextContent>
+

The system messages to use for the request.

@@ -252,7 +255,7 @@ Class BaseMessageRequest MaxTokens - +

Gets the maximum number of tokens to generate.

@@ -285,7 +288,7 @@ public int MaxTokens { get; init; }

Messages - +

Gets the messages to send to the model.

@@ -317,7 +320,7 @@ public int MaxTokens { get; init; }

Metadata - +

Gets the metadata to include with the request.

@@ -381,7 +384,7 @@ public int MaxTokens { get; init; }

StopSequences - +

Gets the prompt stop sequences.

@@ -414,7 +417,7 @@ public List<string> StopSequences { get; init; }

Stream - +

Gets a value indicating whether the message should be streamed.

@@ -446,15 +449,16 @@ public List<string> StopSequences { get; init; }

System - +

-

Gets the system prompt to use for the request.

+

Gets the system message that will be used as the system prompt if no system messages are provided.

-
public string? System { get; init; }
+
[JsonIgnore]
+public string? System { get; init; }
@@ -474,11 +478,79 @@ public List<string> StopSequences { get; init; } + + +

+ SystemMessages + +

+ +

Gets the system messages to send to the model to be used as the system prompt.

+
+
+ +
+
[JsonIgnore]
+public List<TextContent>? SystemMessages { get; init; }
+
+ + + + + +

Property Value

+
+
List<TextContent>
+
+
+ + + + + + + + + + +

+ SystemPrompt + +

+ +

Gets the system prompt that will be used for the request. +If will return the system messages if they are provided, otherwise it will return the system message. +If neither are provided, it will return null.

+
+
+ +
+
[JsonPropertyName("system")]
+public List<TextContent>? SystemPrompt { get; }
+
+ + + + + +

Property Value

+
+
List<TextContent>
+
+
+ + + + + + + +

Temperature - +

Gets the temperature to use for the request.

@@ -510,7 +582,7 @@ public List<string> StopSequences { get; init; }

ToolChoice - +

Gets the tool choice mode to use for the request.

@@ -543,7 +615,7 @@ public ToolChoice? ToolChoice { get; init; }

Tools - +

Gets the tools to use for the request.

@@ -575,7 +647,7 @@ public ToolChoice? ToolChoice { get; init; }

TopK - +

Gets the top-K value to use for the request.

@@ -607,7 +679,7 @@ public ToolChoice? ToolChoice { get; init; }

TopP - +

Gets the top-P value to use for the request.

diff --git a/docs/api/AnthropicClient.Models.CacheControl.html b/docs/api/AnthropicClient.Models.CacheControl.html new file mode 100644 index 0000000..e20b6bb --- /dev/null +++ b/docs/api/AnthropicClient.Models.CacheControl.html @@ -0,0 +1,262 @@ + + + + + Class CacheControl | AnthropicClient + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Class CacheControl +

+ +
+
Namespace
AnthropicClient.Models
+
Assembly
AnthropicClient.dll
+
+ +

Represents the cache control to be used for content.

+
+
+ +
+
public abstract class CacheControl
+
+ + + + +
+
Inheritance
+
+ +
CacheControl
+
+
+ + +
+
Derived
+
+ +
+
+ +
+
Inherited Members
+
+ + + + + + + +
+ + + + + + +

Constructors +

+ + + + +

+ CacheControl(string) + +

+ +

Initializes a new instance of the CacheControl class.

+
+
+ +
+
protected CacheControl(string type)
+
+ +

Parameters

+
+
type string
+

The type of the cache control.

+
+
+ + + + + + + + + +

Exceptions

+
+
ArgumentException
+

Thrown when the type is null or whitespace.

+
+
+ + + +

Properties +

+ + + + +

+ Type + +

+ +

Gets the type of the cache control.

+
+
+ +
+
public string Type { get; init; }
+
+ + + + + +

Property Value

+
+
string
+
+
+ + + + + + + + + +
+ + + + +
+ +
+ +
+
+ +
+ +
+
+
+ Made with docfx +
+
+
+ + diff --git a/docs/api/AnthropicClient.Models.CacheControlType.html b/docs/api/AnthropicClient.Models.CacheControlType.html new file mode 100644 index 0000000..b753f16 --- /dev/null +++ b/docs/api/AnthropicClient.Models.CacheControlType.html @@ -0,0 +1,212 @@ + + + + + Class CacheControlType | AnthropicClient + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Class CacheControlType +

+ +
+
Namespace
AnthropicClient.Models
+
Assembly
AnthropicClient.dll
+
+ +

Provides constants for cache control types.

+
+
+ +
+
public static class CacheControlType
+
+ + + + +
+
Inheritance
+
+ +
CacheControlType
+
+
+ + + +
+
Inherited Members
+
+ + + + + + + +
+ + + + + + +

Fields +

+ + + +

+ Ephemeral + +

+ +

The cache control type for an ephemeral cache.

+
+
+ +
+
public const string Ephemeral = "ephemeral"
+
+ + + + +

Field Value

+
+
string
+
+
+ + + + + + + + + + +
+ + + + +
+ +
+ +
+
+ +
+ +
+
+
+ Made with docfx +
+
+
+ + diff --git a/docs/api/AnthropicClient.Models.Content.html b/docs/api/AnthropicClient.Models.Content.html index 1ec6a6a..d3e89eb 100644 --- a/docs/api/AnthropicClient.Models.Content.html +++ b/docs/api/AnthropicClient.Models.Content.html @@ -166,7 +166,7 @@ Class Content Content(string) - +

Initializes a new instance of the Content class.

@@ -195,10 +195,79 @@ Class Content + +

+ Content(string, CacheControl) + +

+ +

Initializes a new instance of the Content class.

+
+
+ +
+
protected Content(string type, CacheControl cacheControl)
+
+ +

Parameters

+
+
type string
+

The type of the content.

+
+
cacheControl CacheControl
+

The cache control to be used for the content.

+
+
+ + + + + + + + + + + +

Properties

+ + +

+ CacheControl + +

+ +

Gets the cache control to be used for the content.

+
+
+ +
+
[JsonPropertyName("cache_control")]
+public CacheControl? CacheControl { get; set; }
+
+ + + + + +

Property Value

+
+
CacheControl
+
+
+ + + + + + + +

diff --git a/docs/api/AnthropicClient.Models.EphemeralCacheControl.html b/docs/api/AnthropicClient.Models.EphemeralCacheControl.html new file mode 100644 index 0000000..376aa2c --- /dev/null +++ b/docs/api/AnthropicClient.Models.EphemeralCacheControl.html @@ -0,0 +1,212 @@ + + + + + Class EphemeralCacheControl | AnthropicClient + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Class EphemeralCacheControl +

+ +
+
Namespace
AnthropicClient.Models
+
Assembly
AnthropicClient.dll
+
+ +

Represents the cache control to be used for content.

+
+
+ +
+
public class EphemeralCacheControl : CacheControl
+
+ + + + +
+
Inheritance
+
+ + +
EphemeralCacheControl
+
+
+ + + +
+
Inherited Members
+
+ + + + + + + + +
+ + + + + + +

Constructors +

+ + + + +

+ EphemeralCacheControl() + +

+ +

Initializes a new instance of the EphemeralCacheControl class.

+
+
+ +
+
public EphemeralCacheControl()
+
+ + + + + + + + + + + + + + +
+ + + + +
+ +
+ +
+
+ +
+ +
+
+
+ Made with docfx +
+
+
+ + diff --git a/docs/api/AnthropicClient.Models.ImageContent.html b/docs/api/AnthropicClient.Models.ImageContent.html index 4a0038e..6c556ac 100644 --- a/docs/api/AnthropicClient.Models.ImageContent.html +++ b/docs/api/AnthropicClient.Models.ImageContent.html @@ -125,6 +125,9 @@ Class ImageContent Content.Type

+ @@ -161,7 +164,7 @@ Class ImageContent ImageContent(string, string) - +

Initializes a new instance of the ImageContent class.

@@ -199,6 +202,51 @@ Class ImageContent + +

+ ImageContent(string, string, CacheControl) + +

+ +

Initializes a new instance of the ImageContent class.

+
+
+ +
+
public ImageContent(string mediaType, string data, CacheControl cacheControl)
+
+ +

Parameters

+
+
mediaType string
+

The media type of the image.

+
+
data string
+

The data of the image.

+
+
cacheControl CacheControl
+

The cache control to be used for the content.

+
+
+ + + + + + + + + +

Exceptions

+
+
ArgumentNullException
+

Thrown when the media type, data, or cache control is null.

+
+
+ + +

Properties

diff --git a/docs/api/AnthropicClient.Models.MessageRequest.html b/docs/api/AnthropicClient.Models.MessageRequest.html index c479f98..766f86b 100644 --- a/docs/api/AnthropicClient.Models.MessageRequest.html +++ b/docs/api/AnthropicClient.Models.MessageRequest.html @@ -128,6 +128,12 @@ Class MessageRequest BaseMessageRequest.System
+ + @@ -192,9 +198,9 @@ Class MessageRequest -

- MessageRequest(string, List<Message>, int, string?, Dictionary<string, object>?, decimal, int?, decimal?, ToolChoice?, List<Tool>?, List<string>?) - +

+ MessageRequest(string, List<Message>, int, string?, Dictionary<string, object>?, decimal, int?, decimal?, ToolChoice?, List<Tool>?, List<string>?, List<TextContent>?) +

Initializes a new instance of the MessageRequest class.

@@ -202,7 +208,7 @@ Class MessageRequest
-
public MessageRequest(string model, List<Message> messages, int maxTokens = 1024, string? system = null, Dictionary<string, object>? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List<Tool>? tools = null, List<string>? stopSequences = null)
+
public MessageRequest(string model, List<Message> messages, int maxTokens = 1024, string? system = null, Dictionary<string, object>? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List<Tool>? tools = null, List<string>? stopSequences = null, List<TextContent>? systemMessages = null)

Parameters

@@ -217,7 +223,7 @@ Class MessageRequest
string -

The system ID to use for the request.

+

The system prompt to use for the request.

metadata Dictionary<string, object>

The metadata to include with the request.

@@ -239,6 +245,9 @@ Class MessageRequest List<string>

The prompt stop sequences.

+
+
systemMessages List<TextContent>
+

The system messages to include with the request.

diff --git a/docs/api/AnthropicClient.Models.StreamMessageRequest.html b/docs/api/AnthropicClient.Models.StreamMessageRequest.html index 983eac6..d0540ec 100644 --- a/docs/api/AnthropicClient.Models.StreamMessageRequest.html +++ b/docs/api/AnthropicClient.Models.StreamMessageRequest.html @@ -128,6 +128,12 @@ Class StreamMessageRequest BaseMessageRequest.System
+ + @@ -192,9 +198,9 @@ Class StreamMessageRequest -

- StreamMessageRequest(string, List<Message>, int, string?, Dictionary<string, object>?, decimal, int?, decimal?, ToolChoice?, List<Tool>?, List<string>?) - +

+ StreamMessageRequest(string, List<Message>, int, string?, Dictionary<string, object>?, decimal, int?, decimal?, ToolChoice?, List<Tool>?, List<string>?, List<TextContent>?) +

Initializes a new instance of the StreamMessageRequest class.

@@ -202,7 +208,7 @@ Class StreamMessageRequest
-
public StreamMessageRequest(string model, List<Message> messages, int maxTokens = 1024, string? system = null, Dictionary<string, object>? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List<Tool>? tools = null, List<string>? stopSequences = null)
+
public StreamMessageRequest(string model, List<Message> messages, int maxTokens = 1024, string? system = null, Dictionary<string, object>? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List<Tool>? tools = null, List<string>? stopSequences = null, List<TextContent>? systemMessages = null)

Parameters

@@ -217,7 +223,7 @@ Class StreamMessageRequest
string -

The system ID to use for the request.

+

The system prompt to use for the request.

metadata Dictionary<string, object>

The metadata to include with the request.

@@ -239,6 +245,9 @@ Class StreamMessageRequest List<string>

The prompt stop sequences.

+
+
systemMessages List<TextContent>
+

The system messages to include with the request.

diff --git a/docs/api/AnthropicClient.Models.TextContent.html b/docs/api/AnthropicClient.Models.TextContent.html index b58b02c..2b9dd42 100644 --- a/docs/api/AnthropicClient.Models.TextContent.html +++ b/docs/api/AnthropicClient.Models.TextContent.html @@ -125,6 +125,9 @@ Class TextContent Content.Type
+ @@ -161,7 +164,7 @@ Class TextContent TextContent(string) - +

Initializes a new instance of the TextContent class.

@@ -196,6 +199,48 @@ Class TextContent + +

+ TextContent(string, CacheControl) + +

+ +

Initializes a new instance of the TextContent class.

+
+
+ +
+
public TextContent(string text, CacheControl cacheControl)
+
+ +

Parameters

+
+
text string
+

The text of the content.

+
+
cacheControl CacheControl
+

The cache control to be used for the content.

+
+
+ + + + + + + + + +

Exceptions

+
+
ArgumentNullException
+

Thrown when the text or cache control is null.

+
+
+ + +

Properties

diff --git a/docs/api/AnthropicClient.Models.Tool.html b/docs/api/AnthropicClient.Models.Tool.html index 438ab1f..d2505ed 100644 --- a/docs/api/AnthropicClient.Models.Tool.html +++ b/docs/api/AnthropicClient.Models.Tool.html @@ -153,6 +153,39 @@ Class Tool + +

+ CacheControl + +

+ +

Gets or sets the cache control to be used for the tool.

+
+
+ +
+
[JsonPropertyName("cache_control")]
+public CacheControl? CacheControl { get; set; }
+
+ + + + + +

Property Value

+
+
CacheControl
+
+
+ + + + + + + +

@@ -189,7 +222,7 @@ Class Tool DisplayName - +

Gets the display name of the tool.

@@ -322,9 +355,9 @@ public JsonObject InputSchema { get; } -

- CreateFromClass<T>() - +

+ CreateFromClass<T>(CacheControl?) +

Creates a tool from a type that implements ITool.

@@ -332,9 +365,14 @@ public JsonObject InputSchema { get; }
-
public static Tool CreateFromClass<T>() where T : ITool, new()
+
public static Tool CreateFromClass<T>(CacheControl? cacheControl = null) where T : ITool, new()
+

Parameters

+
+
cacheControl CacheControl
+
+

Returns

@@ -355,7 +393,7 @@ public JsonObject InputSchema { get; } -

Remarks

+

Remarks

The implementation of ITool must have a parameterless constructor.

@@ -373,9 +411,9 @@ public JsonObject InputSchema { get; } -

- CreateFromFunction<TResult>(string, string, Func<TResult>) - +

+ CreateFromFunction<TResult>(string, string, Func<TResult>, CacheControl?) +

Creates a tool from a function.

@@ -383,7 +421,7 @@ public JsonObject InputSchema { get; }
-
public static Tool CreateFromFunction<TResult>(string name, string description, Func<TResult> func)
+
public static Tool CreateFromFunction<TResult>(string name, string description, Func<TResult> func, CacheControl? cacheControl = null)

Parameters

@@ -396,6 +434,9 @@ public JsonObject InputSchema { get; }
func Func<TResult>

The function.

+
+
cacheControl CacheControl
+

The cache control to be used for the tool.

@@ -418,7 +459,7 @@ public JsonObject InputSchema { get; } -

Remarks

+

Remarks

The name of the tool will be sanitized to conform to the Anthropic tool naming rules.

@@ -433,9 +474,9 @@ public JsonObject InputSchema { get; } -

- CreateFromFunction<T1, TResult>(string, string, Func<T1, TResult>) - +

+ CreateFromFunction<T1, TResult>(string, string, Func<T1, TResult>, CacheControl?) +

Creates a tool from a function.

@@ -443,7 +484,7 @@ public JsonObject InputSchema { get; }
-
public static Tool CreateFromFunction<T1, TResult>(string name, string description, Func<T1, TResult> func)
+
public static Tool CreateFromFunction<T1, TResult>(string name, string description, Func<T1, TResult> func, CacheControl? cacheControl = null)

Parameters

@@ -456,6 +497,9 @@ public JsonObject InputSchema { get; }
func Func<T1, TResult>

The function.

+
+
cacheControl CacheControl
+

The cache control to be used for the tool.

@@ -481,7 +525,7 @@ public JsonObject InputSchema { get; } -

Remarks

+

Remarks

The name of the tool will be sanitized to conform to the Anthropic tool naming rules.

@@ -496,9 +540,9 @@ public JsonObject InputSchema { get; } -

- CreateFromFunction<T1, T2, TResult>(string, string, Func<T1, T2, TResult>) - +

+ CreateFromFunction<T1, T2, TResult>(string, string, Func<T1, T2, TResult>, CacheControl?) +

Creates a tool from a function.

@@ -506,7 +550,7 @@ public JsonObject InputSchema { get; }
-
public static Tool CreateFromFunction<T1, T2, TResult>(string name, string description, Func<T1, T2, TResult> func)
+
public static Tool CreateFromFunction<T1, T2, TResult>(string name, string description, Func<T1, T2, TResult> func, CacheControl? cacheControl = null)

Parameters

@@ -519,6 +563,9 @@ public JsonObject InputSchema { get; }
func Func<T1, T2, TResult>

The function.

+
+
cacheControl CacheControl
+

The cache control to be used for the tool.

@@ -547,7 +594,7 @@ public JsonObject InputSchema { get; } -

Remarks

+

Remarks

The name of the tool will be sanitized to conform to the Anthropic tool naming rules.

@@ -562,9 +609,9 @@ public JsonObject InputSchema { get; } -

- CreateFromInstanceMethod(string, string, object, string) - +

+ CreateFromInstanceMethod(string, string, object, string, CacheControl?) +

Creates a tool from an instance method.

@@ -572,7 +619,7 @@ public JsonObject InputSchema { get; }
-
public static Tool CreateFromInstanceMethod(string name, string description, object instance, string methodName)
+
public static Tool CreateFromInstanceMethod(string name, string description, object instance, string methodName, CacheControl? cacheControl = null)

Parameters

@@ -588,6 +635,9 @@ public JsonObject InputSchema { get; }
methodName string

The name of the method.

+
+
cacheControl CacheControl
+

The cache control to be used for the tool.

@@ -604,7 +654,7 @@ public JsonObject InputSchema { get; } -

Remarks

+

Remarks

The name of the tool will be sanitized to conform to the Anthropic tool naming rules.

@@ -625,9 +675,9 @@ public JsonObject InputSchema { get; } -

- CreateFromStaticMethod(string, string, Type, string) - +

+ CreateFromStaticMethod(string, string, Type, string, CacheControl?) +

Creates a tool from a static method.

@@ -635,7 +685,7 @@ public JsonObject InputSchema { get; }
-
public static Tool CreateFromStaticMethod(string name, string description, Type type, string methodName)
+
public static Tool CreateFromStaticMethod(string name, string description, Type type, string methodName, CacheControl? cacheControl = null)

Parameters

@@ -651,6 +701,9 @@ public JsonObject InputSchema { get; }
methodName string

The name of the method.

+
+
cacheControl CacheControl
+

The cache control to be used for the tool.

@@ -667,7 +720,7 @@ public JsonObject InputSchema { get; } -

Remarks

+

Remarks

The name of the tool will be sanitized to conform to the Anthropic tool naming rules.

diff --git a/docs/api/AnthropicClient.Models.ToolResultContent.html b/docs/api/AnthropicClient.Models.ToolResultContent.html index 34fed2a..b202c34 100644 --- a/docs/api/AnthropicClient.Models.ToolResultContent.html +++ b/docs/api/AnthropicClient.Models.ToolResultContent.html @@ -125,6 +125,9 @@ Class ToolResultContent Content.Type
+ @@ -161,7 +164,7 @@ Class ToolResultContent ToolResultContent(string, string) - +

Initializes a new instance of the ToolResultContent class.

@@ -190,6 +193,51 @@ Class ToolResultContent Exceptions +
+
ArgumentNullException
+

Thrown when the tool use ID or content is null.

+
+
+ + + + + +

+ ToolResultContent(string, string, CacheControl) + +

+ +

Initializes a new instance of the ToolResultContent class.

+
+
+ +
+
public ToolResultContent(string toolUseId, string content, CacheControl cacheControl)
+
+ +

Parameters

+
+
toolUseId string
+

The tool use ID of the content.

+
+
content string
+

The content of the tool result.

+
+
cacheControl CacheControl
+

The cache control to be used for the content.

+
+
+ + + + + + + + +

Exceptions

ArgumentNullException
diff --git a/docs/api/AnthropicClient.Models.ToolUseContent.html b/docs/api/AnthropicClient.Models.ToolUseContent.html index 60b12ba..ccf4296 100644 --- a/docs/api/AnthropicClient.Models.ToolUseContent.html +++ b/docs/api/AnthropicClient.Models.ToolUseContent.html @@ -125,6 +125,9 @@ Class ToolUseContent Content.Type
+ diff --git a/docs/api/AnthropicClient.Models.Usage.html b/docs/api/AnthropicClient.Models.Usage.html index 16ac6ae..a0d1c7b 100644 --- a/docs/api/AnthropicClient.Models.Usage.html +++ b/docs/api/AnthropicClient.Models.Usage.html @@ -153,6 +153,72 @@ Class Usage + +

+ CacheCreationInputTokens + +

+ +

Gets the number of tokens written to the cache when creating a new entry

+
+
+ +
+
[JsonPropertyName("cache_creation_input_tokens")]
+public int CacheCreationInputTokens { get; init; }
+
+ + + + + +

Property Value

+
+
int
+
+
+ + + + + + + + + + +

+ CacheReadInputTokens + +

+ +

Gets the number of tokens retrieved from the cache for the request.

+
+
+ +
+
[JsonPropertyName("cache_read_input_tokens")]
+public int CacheReadInputTokens { get; init; }
+
+ + + + + +

Property Value

+
+
int
+
+
+ + + + + + + +

diff --git a/docs/api/AnthropicClient.Models.html b/docs/api/AnthropicClient.Models.html index 2d19b31..fcdea5f 100644 --- a/docs/api/AnthropicClient.Models.html +++ b/docs/api/AnthropicClient.Models.html @@ -142,6 +142,16 @@ Classes
BaseMessageRequest

Represents a message request.

+
+
+
+
CacheControl
+

Represents the cache control to be used for content.

+
+
+
+
CacheControlType
+

Provides constants for cache control types.

@@ -177,6 +187,11 @@ Classes
ContentType

Represents the content type.

+
+
+
+
EphemeralCacheControl
+

Represents the cache control to be used for content.

diff --git a/docs/api/toc.html b/docs/api/toc.html index 0e58781..f2a8d78 100644 --- a/docs/api/toc.html +++ b/docs/api/toc.html @@ -60,6 +60,12 @@
  • BaseMessageRequest
  • +
  • + CacheControl +
  • +
  • + CacheControlType +
  • Content
  • @@ -81,6 +87,9 @@
  • ContentType
  • +
  • + EphemeralCacheControl +
  • Error
  • diff --git a/docs/api/toc.json b/docs/api/toc.json index 62c9765..1f6fa40 100644 --- a/docs/api/toc.json +++ b/docs/api/toc.json @@ -1,2 +1,2 @@ -{"items":[{"name":"AnthropicClient","href":"AnthropicClient.html","topicHref":"AnthropicClient.html","topicUid":"AnthropicClient","items":[{"name":"AnthropicApiClient","href":"AnthropicClient.AnthropicApiClient.html","topicHref":"AnthropicClient.AnthropicApiClient.html","topicUid":"AnthropicClient.AnthropicApiClient"},{"name":"IAnthropicApiClient","href":"AnthropicClient.IAnthropicApiClient.html","topicHref":"AnthropicClient.IAnthropicApiClient.html","topicUid":"AnthropicClient.IAnthropicApiClient"}]},{"name":"AnthropicClient.Models","href":"AnthropicClient.Models.html","topicHref":"AnthropicClient.Models.html","topicUid":"AnthropicClient.Models","items":[{"name":"AnthropicError","href":"AnthropicClient.Models.AnthropicError.html","topicHref":"AnthropicClient.Models.AnthropicError.html","topicUid":"AnthropicClient.Models.AnthropicError"},{"name":"AnthropicEvent","href":"AnthropicClient.Models.AnthropicEvent.html","topicHref":"AnthropicClient.Models.AnthropicEvent.html","topicUid":"AnthropicClient.Models.AnthropicEvent"},{"name":"AnthropicFunction","href":"AnthropicClient.Models.AnthropicFunction.html","topicHref":"AnthropicClient.Models.AnthropicFunction.html","topicUid":"AnthropicClient.Models.AnthropicFunction"},{"name":"AnthropicHeaders","href":"AnthropicClient.Models.AnthropicHeaders.html","topicHref":"AnthropicClient.Models.AnthropicHeaders.html","topicUid":"AnthropicClient.Models.AnthropicHeaders"},{"name":"AnthropicModels","href":"AnthropicClient.Models.AnthropicModels.html","topicHref":"AnthropicClient.Models.AnthropicModels.html","topicUid":"AnthropicClient.Models.AnthropicModels"},{"name":"AnyToolChoice","href":"AnthropicClient.Models.AnyToolChoice.html","topicHref":"AnthropicClient.Models.AnyToolChoice.html","topicUid":"AnthropicClient.Models.AnyToolChoice"},{"name":"ApiError","href":"AnthropicClient.Models.ApiError.html","topicHref":"AnthropicClient.Models.ApiError.html","topicUid":"AnthropicClient.Models.ApiError"},{"name":"AuthenticationError","href":"AnthropicClient.Models.AuthenticationError.html","topicHref":"AnthropicClient.Models.AuthenticationError.html","topicUid":"AnthropicClient.Models.AuthenticationError"},{"name":"AutoToolChoice","href":"AnthropicClient.Models.AutoToolChoice.html","topicHref":"AnthropicClient.Models.AutoToolChoice.html","topicUid":"AnthropicClient.Models.AutoToolChoice"},{"name":"BaseMessageRequest","href":"AnthropicClient.Models.BaseMessageRequest.html","topicHref":"AnthropicClient.Models.BaseMessageRequest.html","topicUid":"AnthropicClient.Models.BaseMessageRequest"},{"name":"Content","href":"AnthropicClient.Models.Content.html","topicHref":"AnthropicClient.Models.Content.html","topicUid":"AnthropicClient.Models.Content"},{"name":"ContentDelta","href":"AnthropicClient.Models.ContentDelta.html","topicHref":"AnthropicClient.Models.ContentDelta.html","topicUid":"AnthropicClient.Models.ContentDelta"},{"name":"ContentDeltaEventData","href":"AnthropicClient.Models.ContentDeltaEventData.html","topicHref":"AnthropicClient.Models.ContentDeltaEventData.html","topicUid":"AnthropicClient.Models.ContentDeltaEventData"},{"name":"ContentDeltaType","href":"AnthropicClient.Models.ContentDeltaType.html","topicHref":"AnthropicClient.Models.ContentDeltaType.html","topicUid":"AnthropicClient.Models.ContentDeltaType"},{"name":"ContentStartEventData","href":"AnthropicClient.Models.ContentStartEventData.html","topicHref":"AnthropicClient.Models.ContentStartEventData.html","topicUid":"AnthropicClient.Models.ContentStartEventData"},{"name":"ContentStopEventData","href":"AnthropicClient.Models.ContentStopEventData.html","topicHref":"AnthropicClient.Models.ContentStopEventData.html","topicUid":"AnthropicClient.Models.ContentStopEventData"},{"name":"ContentType","href":"AnthropicClient.Models.ContentType.html","topicHref":"AnthropicClient.Models.ContentType.html","topicUid":"AnthropicClient.Models.ContentType"},{"name":"Error","href":"AnthropicClient.Models.Error.html","topicHref":"AnthropicClient.Models.Error.html","topicUid":"AnthropicClient.Models.Error"},{"name":"ErrorEventData","href":"AnthropicClient.Models.ErrorEventData.html","topicHref":"AnthropicClient.Models.ErrorEventData.html","topicUid":"AnthropicClient.Models.ErrorEventData"},{"name":"ErrorType","href":"AnthropicClient.Models.ErrorType.html","topicHref":"AnthropicClient.Models.ErrorType.html","topicUid":"AnthropicClient.Models.ErrorType"},{"name":"EventData","href":"AnthropicClient.Models.EventData.html","topicHref":"AnthropicClient.Models.EventData.html","topicUid":"AnthropicClient.Models.EventData"},{"name":"EventType","href":"AnthropicClient.Models.EventType.html","topicHref":"AnthropicClient.Models.EventType.html","topicUid":"AnthropicClient.Models.EventType"},{"name":"FunctionParameterAttribute","href":"AnthropicClient.Models.FunctionParameterAttribute.html","topicHref":"AnthropicClient.Models.FunctionParameterAttribute.html","topicUid":"AnthropicClient.Models.FunctionParameterAttribute"},{"name":"FunctionPropertyAttribute","href":"AnthropicClient.Models.FunctionPropertyAttribute.html","topicHref":"AnthropicClient.Models.FunctionPropertyAttribute.html","topicUid":"AnthropicClient.Models.FunctionPropertyAttribute"},{"name":"ITool","href":"AnthropicClient.Models.ITool.html","topicHref":"AnthropicClient.Models.ITool.html","topicUid":"AnthropicClient.Models.ITool"},{"name":"ImageContent","href":"AnthropicClient.Models.ImageContent.html","topicHref":"AnthropicClient.Models.ImageContent.html","topicUid":"AnthropicClient.Models.ImageContent"},{"name":"ImageSource","href":"AnthropicClient.Models.ImageSource.html","topicHref":"AnthropicClient.Models.ImageSource.html","topicUid":"AnthropicClient.Models.ImageSource"},{"name":"ImageType","href":"AnthropicClient.Models.ImageType.html","topicHref":"AnthropicClient.Models.ImageType.html","topicUid":"AnthropicClient.Models.ImageType"},{"name":"InputProperty","href":"AnthropicClient.Models.InputProperty.html","topicHref":"AnthropicClient.Models.InputProperty.html","topicUid":"AnthropicClient.Models.InputProperty"},{"name":"InputSchema","href":"AnthropicClient.Models.InputSchema.html","topicHref":"AnthropicClient.Models.InputSchema.html","topicUid":"AnthropicClient.Models.InputSchema"},{"name":"InvalidRequestError","href":"AnthropicClient.Models.InvalidRequestError.html","topicHref":"AnthropicClient.Models.InvalidRequestError.html","topicUid":"AnthropicClient.Models.InvalidRequestError"},{"name":"JsonDelta","href":"AnthropicClient.Models.JsonDelta.html","topicHref":"AnthropicClient.Models.JsonDelta.html","topicUid":"AnthropicClient.Models.JsonDelta"},{"name":"Message","href":"AnthropicClient.Models.Message.html","topicHref":"AnthropicClient.Models.Message.html","topicUid":"AnthropicClient.Models.Message"},{"name":"MessageCompleteEventData","href":"AnthropicClient.Models.MessageCompleteEventData.html","topicHref":"AnthropicClient.Models.MessageCompleteEventData.html","topicUid":"AnthropicClient.Models.MessageCompleteEventData"},{"name":"MessageDelta","href":"AnthropicClient.Models.MessageDelta.html","topicHref":"AnthropicClient.Models.MessageDelta.html","topicUid":"AnthropicClient.Models.MessageDelta"},{"name":"MessageDeltaEventData","href":"AnthropicClient.Models.MessageDeltaEventData.html","topicHref":"AnthropicClient.Models.MessageDeltaEventData.html","topicUid":"AnthropicClient.Models.MessageDeltaEventData"},{"name":"MessageRequest","href":"AnthropicClient.Models.MessageRequest.html","topicHref":"AnthropicClient.Models.MessageRequest.html","topicUid":"AnthropicClient.Models.MessageRequest"},{"name":"MessageResponse","href":"AnthropicClient.Models.MessageResponse.html","topicHref":"AnthropicClient.Models.MessageResponse.html","topicUid":"AnthropicClient.Models.MessageResponse"},{"name":"MessageRole","href":"AnthropicClient.Models.MessageRole.html","topicHref":"AnthropicClient.Models.MessageRole.html","topicUid":"AnthropicClient.Models.MessageRole"},{"name":"MessageStartEventData","href":"AnthropicClient.Models.MessageStartEventData.html","topicHref":"AnthropicClient.Models.MessageStartEventData.html","topicUid":"AnthropicClient.Models.MessageStartEventData"},{"name":"MessageStopEventData","href":"AnthropicClient.Models.MessageStopEventData.html","topicHref":"AnthropicClient.Models.MessageStopEventData.html","topicUid":"AnthropicClient.Models.MessageStopEventData"},{"name":"NotFoundError","href":"AnthropicClient.Models.NotFoundError.html","topicHref":"AnthropicClient.Models.NotFoundError.html","topicUid":"AnthropicClient.Models.NotFoundError"},{"name":"OverloadedError","href":"AnthropicClient.Models.OverloadedError.html","topicHref":"AnthropicClient.Models.OverloadedError.html","topicUid":"AnthropicClient.Models.OverloadedError"},{"name":"PermissionError","href":"AnthropicClient.Models.PermissionError.html","topicHref":"AnthropicClient.Models.PermissionError.html","topicUid":"AnthropicClient.Models.PermissionError"},{"name":"PingEventData","href":"AnthropicClient.Models.PingEventData.html","topicHref":"AnthropicClient.Models.PingEventData.html","topicUid":"AnthropicClient.Models.PingEventData"},{"name":"RateLimitError","href":"AnthropicClient.Models.RateLimitError.html","topicHref":"AnthropicClient.Models.RateLimitError.html","topicUid":"AnthropicClient.Models.RateLimitError"},{"name":"SpecificToolChoice","href":"AnthropicClient.Models.SpecificToolChoice.html","topicHref":"AnthropicClient.Models.SpecificToolChoice.html","topicUid":"AnthropicClient.Models.SpecificToolChoice"},{"name":"StopReasonType","href":"AnthropicClient.Models.StopReasonType.html","topicHref":"AnthropicClient.Models.StopReasonType.html","topicUid":"AnthropicClient.Models.StopReasonType"},{"name":"StreamMessageRequest","href":"AnthropicClient.Models.StreamMessageRequest.html","topicHref":"AnthropicClient.Models.StreamMessageRequest.html","topicUid":"AnthropicClient.Models.StreamMessageRequest"},{"name":"TextContent","href":"AnthropicClient.Models.TextContent.html","topicHref":"AnthropicClient.Models.TextContent.html","topicUid":"AnthropicClient.Models.TextContent"},{"name":"TextDelta","href":"AnthropicClient.Models.TextDelta.html","topicHref":"AnthropicClient.Models.TextDelta.html","topicUid":"AnthropicClient.Models.TextDelta"},{"name":"Tool","href":"AnthropicClient.Models.Tool.html","topicHref":"AnthropicClient.Models.Tool.html","topicUid":"AnthropicClient.Models.Tool"},{"name":"ToolCall","href":"AnthropicClient.Models.ToolCall.html","topicHref":"AnthropicClient.Models.ToolCall.html","topicUid":"AnthropicClient.Models.ToolCall"},{"name":"ToolCallResult","href":"AnthropicClient.Models.ToolCallResult-1.html","topicHref":"AnthropicClient.Models.ToolCallResult-1.html","topicUid":"AnthropicClient.Models.ToolCallResult`1"},{"name":"ToolChoice","href":"AnthropicClient.Models.ToolChoice.html","topicHref":"AnthropicClient.Models.ToolChoice.html","topicUid":"AnthropicClient.Models.ToolChoice"},{"name":"ToolChoiceType","href":"AnthropicClient.Models.ToolChoiceType.html","topicHref":"AnthropicClient.Models.ToolChoiceType.html","topicUid":"AnthropicClient.Models.ToolChoiceType"},{"name":"ToolResultContent","href":"AnthropicClient.Models.ToolResultContent.html","topicHref":"AnthropicClient.Models.ToolResultContent.html","topicUid":"AnthropicClient.Models.ToolResultContent"},{"name":"ToolUseContent","href":"AnthropicClient.Models.ToolUseContent.html","topicHref":"AnthropicClient.Models.ToolUseContent.html","topicUid":"AnthropicClient.Models.ToolUseContent"},{"name":"Usage","href":"AnthropicClient.Models.Usage.html","topicHref":"AnthropicClient.Models.Usage.html","topicUid":"AnthropicClient.Models.Usage"}]}],"memberLayout":"SamePage"} +{"items":[{"name":"AnthropicClient","href":"AnthropicClient.html","topicHref":"AnthropicClient.html","topicUid":"AnthropicClient","items":[{"name":"AnthropicApiClient","href":"AnthropicClient.AnthropicApiClient.html","topicHref":"AnthropicClient.AnthropicApiClient.html","topicUid":"AnthropicClient.AnthropicApiClient"},{"name":"IAnthropicApiClient","href":"AnthropicClient.IAnthropicApiClient.html","topicHref":"AnthropicClient.IAnthropicApiClient.html","topicUid":"AnthropicClient.IAnthropicApiClient"}]},{"name":"AnthropicClient.Models","href":"AnthropicClient.Models.html","topicHref":"AnthropicClient.Models.html","topicUid":"AnthropicClient.Models","items":[{"name":"AnthropicError","href":"AnthropicClient.Models.AnthropicError.html","topicHref":"AnthropicClient.Models.AnthropicError.html","topicUid":"AnthropicClient.Models.AnthropicError"},{"name":"AnthropicEvent","href":"AnthropicClient.Models.AnthropicEvent.html","topicHref":"AnthropicClient.Models.AnthropicEvent.html","topicUid":"AnthropicClient.Models.AnthropicEvent"},{"name":"AnthropicFunction","href":"AnthropicClient.Models.AnthropicFunction.html","topicHref":"AnthropicClient.Models.AnthropicFunction.html","topicUid":"AnthropicClient.Models.AnthropicFunction"},{"name":"AnthropicHeaders","href":"AnthropicClient.Models.AnthropicHeaders.html","topicHref":"AnthropicClient.Models.AnthropicHeaders.html","topicUid":"AnthropicClient.Models.AnthropicHeaders"},{"name":"AnthropicModels","href":"AnthropicClient.Models.AnthropicModels.html","topicHref":"AnthropicClient.Models.AnthropicModels.html","topicUid":"AnthropicClient.Models.AnthropicModels"},{"name":"AnyToolChoice","href":"AnthropicClient.Models.AnyToolChoice.html","topicHref":"AnthropicClient.Models.AnyToolChoice.html","topicUid":"AnthropicClient.Models.AnyToolChoice"},{"name":"ApiError","href":"AnthropicClient.Models.ApiError.html","topicHref":"AnthropicClient.Models.ApiError.html","topicUid":"AnthropicClient.Models.ApiError"},{"name":"AuthenticationError","href":"AnthropicClient.Models.AuthenticationError.html","topicHref":"AnthropicClient.Models.AuthenticationError.html","topicUid":"AnthropicClient.Models.AuthenticationError"},{"name":"AutoToolChoice","href":"AnthropicClient.Models.AutoToolChoice.html","topicHref":"AnthropicClient.Models.AutoToolChoice.html","topicUid":"AnthropicClient.Models.AutoToolChoice"},{"name":"BaseMessageRequest","href":"AnthropicClient.Models.BaseMessageRequest.html","topicHref":"AnthropicClient.Models.BaseMessageRequest.html","topicUid":"AnthropicClient.Models.BaseMessageRequest"},{"name":"CacheControl","href":"AnthropicClient.Models.CacheControl.html","topicHref":"AnthropicClient.Models.CacheControl.html","topicUid":"AnthropicClient.Models.CacheControl"},{"name":"CacheControlType","href":"AnthropicClient.Models.CacheControlType.html","topicHref":"AnthropicClient.Models.CacheControlType.html","topicUid":"AnthropicClient.Models.CacheControlType"},{"name":"Content","href":"AnthropicClient.Models.Content.html","topicHref":"AnthropicClient.Models.Content.html","topicUid":"AnthropicClient.Models.Content"},{"name":"ContentDelta","href":"AnthropicClient.Models.ContentDelta.html","topicHref":"AnthropicClient.Models.ContentDelta.html","topicUid":"AnthropicClient.Models.ContentDelta"},{"name":"ContentDeltaEventData","href":"AnthropicClient.Models.ContentDeltaEventData.html","topicHref":"AnthropicClient.Models.ContentDeltaEventData.html","topicUid":"AnthropicClient.Models.ContentDeltaEventData"},{"name":"ContentDeltaType","href":"AnthropicClient.Models.ContentDeltaType.html","topicHref":"AnthropicClient.Models.ContentDeltaType.html","topicUid":"AnthropicClient.Models.ContentDeltaType"},{"name":"ContentStartEventData","href":"AnthropicClient.Models.ContentStartEventData.html","topicHref":"AnthropicClient.Models.ContentStartEventData.html","topicUid":"AnthropicClient.Models.ContentStartEventData"},{"name":"ContentStopEventData","href":"AnthropicClient.Models.ContentStopEventData.html","topicHref":"AnthropicClient.Models.ContentStopEventData.html","topicUid":"AnthropicClient.Models.ContentStopEventData"},{"name":"ContentType","href":"AnthropicClient.Models.ContentType.html","topicHref":"AnthropicClient.Models.ContentType.html","topicUid":"AnthropicClient.Models.ContentType"},{"name":"EphemeralCacheControl","href":"AnthropicClient.Models.EphemeralCacheControl.html","topicHref":"AnthropicClient.Models.EphemeralCacheControl.html","topicUid":"AnthropicClient.Models.EphemeralCacheControl"},{"name":"Error","href":"AnthropicClient.Models.Error.html","topicHref":"AnthropicClient.Models.Error.html","topicUid":"AnthropicClient.Models.Error"},{"name":"ErrorEventData","href":"AnthropicClient.Models.ErrorEventData.html","topicHref":"AnthropicClient.Models.ErrorEventData.html","topicUid":"AnthropicClient.Models.ErrorEventData"},{"name":"ErrorType","href":"AnthropicClient.Models.ErrorType.html","topicHref":"AnthropicClient.Models.ErrorType.html","topicUid":"AnthropicClient.Models.ErrorType"},{"name":"EventData","href":"AnthropicClient.Models.EventData.html","topicHref":"AnthropicClient.Models.EventData.html","topicUid":"AnthropicClient.Models.EventData"},{"name":"EventType","href":"AnthropicClient.Models.EventType.html","topicHref":"AnthropicClient.Models.EventType.html","topicUid":"AnthropicClient.Models.EventType"},{"name":"FunctionParameterAttribute","href":"AnthropicClient.Models.FunctionParameterAttribute.html","topicHref":"AnthropicClient.Models.FunctionParameterAttribute.html","topicUid":"AnthropicClient.Models.FunctionParameterAttribute"},{"name":"FunctionPropertyAttribute","href":"AnthropicClient.Models.FunctionPropertyAttribute.html","topicHref":"AnthropicClient.Models.FunctionPropertyAttribute.html","topicUid":"AnthropicClient.Models.FunctionPropertyAttribute"},{"name":"ITool","href":"AnthropicClient.Models.ITool.html","topicHref":"AnthropicClient.Models.ITool.html","topicUid":"AnthropicClient.Models.ITool"},{"name":"ImageContent","href":"AnthropicClient.Models.ImageContent.html","topicHref":"AnthropicClient.Models.ImageContent.html","topicUid":"AnthropicClient.Models.ImageContent"},{"name":"ImageSource","href":"AnthropicClient.Models.ImageSource.html","topicHref":"AnthropicClient.Models.ImageSource.html","topicUid":"AnthropicClient.Models.ImageSource"},{"name":"ImageType","href":"AnthropicClient.Models.ImageType.html","topicHref":"AnthropicClient.Models.ImageType.html","topicUid":"AnthropicClient.Models.ImageType"},{"name":"InputProperty","href":"AnthropicClient.Models.InputProperty.html","topicHref":"AnthropicClient.Models.InputProperty.html","topicUid":"AnthropicClient.Models.InputProperty"},{"name":"InputSchema","href":"AnthropicClient.Models.InputSchema.html","topicHref":"AnthropicClient.Models.InputSchema.html","topicUid":"AnthropicClient.Models.InputSchema"},{"name":"InvalidRequestError","href":"AnthropicClient.Models.InvalidRequestError.html","topicHref":"AnthropicClient.Models.InvalidRequestError.html","topicUid":"AnthropicClient.Models.InvalidRequestError"},{"name":"JsonDelta","href":"AnthropicClient.Models.JsonDelta.html","topicHref":"AnthropicClient.Models.JsonDelta.html","topicUid":"AnthropicClient.Models.JsonDelta"},{"name":"Message","href":"AnthropicClient.Models.Message.html","topicHref":"AnthropicClient.Models.Message.html","topicUid":"AnthropicClient.Models.Message"},{"name":"MessageCompleteEventData","href":"AnthropicClient.Models.MessageCompleteEventData.html","topicHref":"AnthropicClient.Models.MessageCompleteEventData.html","topicUid":"AnthropicClient.Models.MessageCompleteEventData"},{"name":"MessageDelta","href":"AnthropicClient.Models.MessageDelta.html","topicHref":"AnthropicClient.Models.MessageDelta.html","topicUid":"AnthropicClient.Models.MessageDelta"},{"name":"MessageDeltaEventData","href":"AnthropicClient.Models.MessageDeltaEventData.html","topicHref":"AnthropicClient.Models.MessageDeltaEventData.html","topicUid":"AnthropicClient.Models.MessageDeltaEventData"},{"name":"MessageRequest","href":"AnthropicClient.Models.MessageRequest.html","topicHref":"AnthropicClient.Models.MessageRequest.html","topicUid":"AnthropicClient.Models.MessageRequest"},{"name":"MessageResponse","href":"AnthropicClient.Models.MessageResponse.html","topicHref":"AnthropicClient.Models.MessageResponse.html","topicUid":"AnthropicClient.Models.MessageResponse"},{"name":"MessageRole","href":"AnthropicClient.Models.MessageRole.html","topicHref":"AnthropicClient.Models.MessageRole.html","topicUid":"AnthropicClient.Models.MessageRole"},{"name":"MessageStartEventData","href":"AnthropicClient.Models.MessageStartEventData.html","topicHref":"AnthropicClient.Models.MessageStartEventData.html","topicUid":"AnthropicClient.Models.MessageStartEventData"},{"name":"MessageStopEventData","href":"AnthropicClient.Models.MessageStopEventData.html","topicHref":"AnthropicClient.Models.MessageStopEventData.html","topicUid":"AnthropicClient.Models.MessageStopEventData"},{"name":"NotFoundError","href":"AnthropicClient.Models.NotFoundError.html","topicHref":"AnthropicClient.Models.NotFoundError.html","topicUid":"AnthropicClient.Models.NotFoundError"},{"name":"OverloadedError","href":"AnthropicClient.Models.OverloadedError.html","topicHref":"AnthropicClient.Models.OverloadedError.html","topicUid":"AnthropicClient.Models.OverloadedError"},{"name":"PermissionError","href":"AnthropicClient.Models.PermissionError.html","topicHref":"AnthropicClient.Models.PermissionError.html","topicUid":"AnthropicClient.Models.PermissionError"},{"name":"PingEventData","href":"AnthropicClient.Models.PingEventData.html","topicHref":"AnthropicClient.Models.PingEventData.html","topicUid":"AnthropicClient.Models.PingEventData"},{"name":"RateLimitError","href":"AnthropicClient.Models.RateLimitError.html","topicHref":"AnthropicClient.Models.RateLimitError.html","topicUid":"AnthropicClient.Models.RateLimitError"},{"name":"SpecificToolChoice","href":"AnthropicClient.Models.SpecificToolChoice.html","topicHref":"AnthropicClient.Models.SpecificToolChoice.html","topicUid":"AnthropicClient.Models.SpecificToolChoice"},{"name":"StopReasonType","href":"AnthropicClient.Models.StopReasonType.html","topicHref":"AnthropicClient.Models.StopReasonType.html","topicUid":"AnthropicClient.Models.StopReasonType"},{"name":"StreamMessageRequest","href":"AnthropicClient.Models.StreamMessageRequest.html","topicHref":"AnthropicClient.Models.StreamMessageRequest.html","topicUid":"AnthropicClient.Models.StreamMessageRequest"},{"name":"TextContent","href":"AnthropicClient.Models.TextContent.html","topicHref":"AnthropicClient.Models.TextContent.html","topicUid":"AnthropicClient.Models.TextContent"},{"name":"TextDelta","href":"AnthropicClient.Models.TextDelta.html","topicHref":"AnthropicClient.Models.TextDelta.html","topicUid":"AnthropicClient.Models.TextDelta"},{"name":"Tool","href":"AnthropicClient.Models.Tool.html","topicHref":"AnthropicClient.Models.Tool.html","topicUid":"AnthropicClient.Models.Tool"},{"name":"ToolCall","href":"AnthropicClient.Models.ToolCall.html","topicHref":"AnthropicClient.Models.ToolCall.html","topicUid":"AnthropicClient.Models.ToolCall"},{"name":"ToolCallResult","href":"AnthropicClient.Models.ToolCallResult-1.html","topicHref":"AnthropicClient.Models.ToolCallResult-1.html","topicUid":"AnthropicClient.Models.ToolCallResult`1"},{"name":"ToolChoice","href":"AnthropicClient.Models.ToolChoice.html","topicHref":"AnthropicClient.Models.ToolChoice.html","topicUid":"AnthropicClient.Models.ToolChoice"},{"name":"ToolChoiceType","href":"AnthropicClient.Models.ToolChoiceType.html","topicHref":"AnthropicClient.Models.ToolChoiceType.html","topicUid":"AnthropicClient.Models.ToolChoiceType"},{"name":"ToolResultContent","href":"AnthropicClient.Models.ToolResultContent.html","topicHref":"AnthropicClient.Models.ToolResultContent.html","topicUid":"AnthropicClient.Models.ToolResultContent"},{"name":"ToolUseContent","href":"AnthropicClient.Models.ToolUseContent.html","topicHref":"AnthropicClient.Models.ToolUseContent.html","topicUid":"AnthropicClient.Models.ToolUseContent"},{"name":"Usage","href":"AnthropicClient.Models.Usage.html","topicHref":"AnthropicClient.Models.Usage.html","topicUid":"AnthropicClient.Models.Usage"}]}],"memberLayout":"SamePage"} diff --git a/docs/index.html b/docs/index.html index 7e16f93..3664f10 100644 --- a/docs/index.html +++ b/docs/index.html @@ -428,10 +428,11 @@ if (response.IsSuccess is false) return; } +messages.Add(new(MessageRole.Assistant, response.Content)); + + foreach (var content in response.Value.Content) { - messages.Add(new(MessageRole.Assistant, [content])); - switch (content) { case TextContent textContent: @@ -545,10 +546,7 @@ if (response is null) return; } -foreach (var content in response.Content) -{ - messages.Add(new(MessageRole.Assistant, [content])); -} +messages.Add(new(MessageRole.Assistant, response.Content)); if (response?.ToolCall is not null) { @@ -602,6 +600,218 @@ foreach (var content in finalResponse.Value.Content) }

    If you do find that you need more control over how exactly provided tools are called and how the result of those tools are returned you can avoid using the InvokeAsync method and instead use the Tool and ToolUse properties of the ToolCall instance to implement your own solution.

    +

    System Prompt

    +

    Anthropic's models support the use of system prompts to provide additional context to the user. This can be used to provide additional information to the user or to ask for additional information from the user. This feature is covered in depth in Anthropic's API Documentation. This library aims to make using system prompts convenient by allowing you to provide the system prompts you want Anthropic's models to consider for use when creating a message.

    +

    System Message

    +

    You can create a system prompt by providing a string as the system parameter in the MessageRequest or StreamMessageRequest constructor.

    +
    using AnthropicClient;
    +using AnthropicClient.Models;
    +
    +var response = await client.CreateMessageAsync(new MessageRequest(
    +  AnthropicModels.Claude3Haiku,
    +  [
    +    new(
    +      MessageRole.User, 
    +      [new TextContent("Please write a haiku about the ocean.")]
    +    )
    +  ],
    +  system: "You are a internationally renowned poet. You excel at writing haikus.
    +));
    +
    +if (response.IsSuccess is false)
    +{
    +  Console.WriteLine($"Failed to create message");
    +  Console.WriteLine($"Error Type: {0}", response.Error.Error.Type);
    +  Console.WriteLine($"Error Message: {0}", response.Error.Error.Message);
    +  return;
    +}
    +
    +foreach (var content in response.Value.Content)
    +{
    +  switch (content)
    +  {
    +    case TextContent textContent:
    +      Console.WriteLine(textContent.Text);
    +      break;
    +  }
    +}
    +
    +

    System Messages

    +

    You can create a more complex system prompt by providing a List<TextContent> as the systemMessages parameter in the MessageRequest or StreamMessageRequest constructor.

    +
    using AnthropicClient;
    +using AnthropicClient.Models;
    +
    +var response = await client.CreateMessageAsync(new MessageRequest(
    +  AnthropicModels.Claude3Haiku,
    +  [
    +    new(
    +      MessageRole.User, 
    +      [new TextContent("Please write a haiku about the ocean.")]
    +    )
    +  ],
    +  systemMessages: [
    +    new TextContent("You are a internationally renowned poet. You excel at writing haikus."),
    +    new TextContent("You have been asked to write a haiku about the ocean.")
    +  ]
    +));
    +
    +if (response.IsSuccess is false)
    +{
    +  Console.WriteLine($"Failed to create message");
    +  Console.WriteLine($"Error Type: {0}", response.Error.Error.Type);
    +  Console.WriteLine($"Error Message: {0}", response.Error.Error.Message);
    +  return;
    +}
    +
    +foreach (var content in response.Value.Content)
    +{
    +  switch (content)
    +  {
    +    case TextContent textContent:
    +      Console.WriteLine(textContent.Text);
    +      break;
    +  }
    +}
    +
    +

    Prompt Caching

    +

    Anthropic has recently introduced a feature called Prompt Caching that allows you to cache all or part of the prompt you send to the model. This can be used to improve the performance of your application by reducing latency and token usage. This feature is covered in depth in Anthropic's API Documentation.

    +
    +
    Note
    +

    This feature is in beta and requires you to set an anthropic-beta header on your requests to use it. +The value of the header should be prompt-caching-2024-07-31.

    +
    +

    When using this library you can opt-in to prompt caching by adding the required header to the HttpClient instance you provide to the AnthropicApiClient constructor.

    +
    using AnthropicClient;
    +
    +var httpClient = new HttpClient();
    +httpClient.DefaultRequestHeaders.Add("anthropic-beta", "prompt-caching-2024-07-31");
    +
    +var client = new AnthropicApiClient(apiKey, httpClient);
    +
    +

    Prompt caching can be used to cache all parts of the prompt including system messages, user messages, and tools. You should refer to the Anthropic API Documentation for specifics on limitations and requirements for using prompt caching. This library aims to make using prompt caching convenient and give you complete control over what parts of the prompt are cached. Currently there is only one type of cache control available - EphemeralCacheControl.

    +

    Caching System Messages

    +

    System messages can be cached by providing a List<TextContent> as the systemMessages parameter in the MessageRequest or StreamMessageRequest constructor and having one or more of the TextContent instances have the CacheControl property set.

    +
    using AnthropicClient;
    +using AnthropicClient.Models;
    +
    +var response = await client.CreateMessageAsync(new MessageRequest(
    +  AnthropicModels.Claude3Haiku,
    +  [
    +    new(
    +      MessageRole.User, 
    +      [new TextContent("Please write a haiku about the ocean.")]
    +    )
    +  ],
    +  systemMessages: [
    +    new TextContent("You are a internationally renowned poet. You excel at writing haikus. Please use the following as examples."),
    +    new TextContent(exampleHaikus, new EphemeralCacheControl())
    +  ]
    +));
    +
    +if (response.IsSuccess is false)
    +{
    +  Console.WriteLine($"Failed to create message");
    +  Console.WriteLine($"Error Type: {0}", response.Error.Error.Type);
    +  Console.WriteLine($"Error Message: {0}", response.Error.Error.Message);
    +  return;
    +}
    +
    +foreach (var content in response.Value.Content)
    +{
    +  switch (content)
    +  {
    +    case TextContent textContent:
    +      Console.WriteLine(textContent.Text);
    +      break;
    +  }
    +}
    +
    +

    Caching User Messages

    +

    User messages can be cached by providing a List<Content> as the messages parameter in the MessageRequest or StreamMessageRequest constructor and having one or more of the Content instances have the CacheControl property set.

    +
    using AnthropicClient;
    +using AnthropicClient.Models;
    +
    +var response = await client.CreateMessageAsync(new MessageRequest(
    +  AnthropicModels.Claude3Haiku,
    +  [
    +    new(
    +      MessageRole.User, 
    +      [
    +        new TextContent("Please write a haiku about the ocean. Here are some examples of haikus I like."),
    +        new TextContent(exampleHaikus, new EphemeralCacheControl())
    +      ]
    +    ),
    +  ]
    +));
    +
    +if (response.IsSuccess is false)
    +{
    +  Console.WriteLine($"Failed to create message");
    +  Console.WriteLine($"Error Type: {0}", response.Error.Error.Type);
    +  Console.WriteLine($"Error Message: {0}", response.Error.Error.Message);
    +  return;
    +}
    +
    +foreach (var content in response.Value.Content)
    +{
    +  switch (content)
    +  {
    +    case TextContent textContent:
    +      Console.WriteLine(textContent.Text);
    +      break;
    +  }
    +}
    +
    +

    Caching Tools

    +

    Tools can be cached by providing a List<Tool> as the tools parameter in the MessageRequest or StreamMessageRequest constructor and having one or more of the Tool instances have the CacheControl property set. This property can be set after the tool is created manually or by using one of the static methods on the Tool class.

    +
    using AnthropicClient;
    +using AnthropicClient.Models;
    +
    +var tool = (string location, string units) => $"The weather in {location} is 72 degrees {units}";
    +
    +var getWeatherTool = Tool.CreateFromFunction(
    +  "Get Weather", 
    +  "Get the weather for a location in the specified units", 
    +  tool,
    +  new EphemeralCacheControl()
    +);
    +
    +var response = await client.CreateMessageAsync(new MessageRequest(
    +  AnthropicModels.Claude3Haiku,
    +  [
    +    new(
    +      MessageRole.User, 
    +      [new TextContent("What is the weather in New York?")]
    +    )
    +  ],
    +  tools: [
    +    // Lots of other tools
    +    // ...
    +    getWeatherTool
    +  ]
    +));
    +
    +if (response.IsSuccess is false)
    +{
    +  Console.WriteLine($"Failed to create message");
    +  Console.WriteLine($"Error Type: {0}", response.Error.Error.Type);
    +  Console.WriteLine($"Error Message: {0}", response.Error.Error.Message);
    +  return;
    +}
    +
    +foreach (var content in response.Value.Content)
    +{
    +  switch (content)
    +  {
    +    case TextContent textContent:
    +      Console.WriteLine(textContent.Text);
    +      break;
    +    case ToolUseContent toolUseContent:
    +      Console.WriteLine(toolUseContent.Name);
    +      break;
    +  }
    +}
    +
    diff --git a/docs/index.json b/docs/index.json index 889253c..a678089 100644 --- a/docs/index.json +++ b/docs/index.json @@ -57,12 +57,22 @@ "api/AnthropicClient.Models.BaseMessageRequest.html": { "href": "api/AnthropicClient.Models.BaseMessageRequest.html", "title": "Class BaseMessageRequest | AnthropicClient", - "keywords": "Class BaseMessageRequest Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a message request. public abstract class BaseMessageRequest Inheritance object BaseMessageRequest Derived MessageRequest StreamMessageRequest Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BaseMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, bool, List?) Initializes a new instance of the BaseMessageRequest class. protected BaseMessageRequest(string model, List messages, int maxTokens = 1024, string? system = null, Dictionary? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List? tools = null, bool stream = false, List? stopSequences = null) Parameters model string The model ID to use for the request. messages List The messages to send to the model. maxTokens int The maximum number of tokens to generate. system string The system ID to use for the request. metadata Dictionary The metadata to include with the request. temperature decimal The temperature to use for the request. topK int? The top-K value to use for the request. topP decimal? The top-P value to use for the request. toolChoice ToolChoice The tool choice mode to use for the request. tools List The tools to use for the request. stream bool A value indicating whether the message should be streamed. stopSequences List The prompt stop sequences. Exceptions ArgumentException Thrown when the model ID is invalid. ArgumentNullException Thrown when the model or messages is null. ArgumentException Thrown when the messages contain no messages. ArgumentException Thrown when the max tokens is less than one. ArgumentException Thrown when the temperature is less than zero or greater than one. Properties MaxTokens Gets the maximum number of tokens to generate. [JsonPropertyName(\"max_tokens\")] public int MaxTokens { get; init; } Property Value int Messages Gets the messages to send to the model. public List Messages { get; init; } Property Value List Metadata Gets the metadata to include with the request. public Dictionary? Metadata { get; init; } Property Value Dictionary Model Gets the model ID to use for the request. public string Model { get; init; } Property Value string StopSequences Gets the prompt stop sequences. [JsonPropertyName(\"stop_sequences\")] public List StopSequences { get; init; } Property Value List Stream Gets a value indicating whether the message should be streamed. public bool Stream { get; init; } Property Value bool System Gets the system prompt to use for the request. public string? System { get; init; } Property Value string Temperature Gets the temperature to use for the request. public decimal Temperature { get; init; } Property Value decimal ToolChoice Gets the tool choice mode to use for the request. [JsonPropertyName(\"tool_choice\")] public ToolChoice? ToolChoice { get; init; } Property Value ToolChoice Tools Gets the tools to use for the request. public List? Tools { get; init; } Property Value List TopK Gets the top-K value to use for the request. public int? TopK { get; init; } Property Value int? TopP Gets the top-P value to use for the request. public decimal? TopP { get; init; } Property Value decimal?" + "keywords": "Class BaseMessageRequest Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a message request. public abstract class BaseMessageRequest Inheritance object BaseMessageRequest Derived MessageRequest StreamMessageRequest Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors BaseMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, bool, List?, List?) Initializes a new instance of the BaseMessageRequest class. protected BaseMessageRequest(string model, List messages, int maxTokens, string? system, Dictionary? metadata, decimal temperature, int? topK, decimal? topP, ToolChoice? toolChoice, List? tools, bool stream, List? stopSequences, List? systemMessages) Parameters model string The model ID to use for the request. messages List The messages to send to the model. maxTokens int The maximum number of tokens to generate. system string The system prompt to use for the request. metadata Dictionary The metadata to include with the request. temperature decimal The temperature to use for the request. topK int? The top-K value to use for the request. topP decimal? The top-P value to use for the request. toolChoice ToolChoice The tool choice mode to use for the request. tools List The tools to use for the request. stream bool A value indicating whether the message should be streamed. stopSequences List The prompt stop sequences. systemMessages List The system messages to use for the request. Exceptions ArgumentException Thrown when the model ID is invalid. ArgumentNullException Thrown when the model or messages is null. ArgumentException Thrown when the messages contain no messages. ArgumentException Thrown when the max tokens is less than one. ArgumentException Thrown when the temperature is less than zero or greater than one. Properties MaxTokens Gets the maximum number of tokens to generate. [JsonPropertyName(\"max_tokens\")] public int MaxTokens { get; init; } Property Value int Messages Gets the messages to send to the model. public List Messages { get; init; } Property Value List Metadata Gets the metadata to include with the request. public Dictionary? Metadata { get; init; } Property Value Dictionary Model Gets the model ID to use for the request. public string Model { get; init; } Property Value string StopSequences Gets the prompt stop sequences. [JsonPropertyName(\"stop_sequences\")] public List StopSequences { get; init; } Property Value List Stream Gets a value indicating whether the message should be streamed. public bool Stream { get; init; } Property Value bool System Gets the system message that will be used as the system prompt if no system messages are provided. [JsonIgnore] public string? System { get; init; } Property Value string SystemMessages Gets the system messages to send to the model to be used as the system prompt. [JsonIgnore] public List? SystemMessages { get; init; } Property Value List SystemPrompt Gets the system prompt that will be used for the request. If will return the system messages if they are provided, otherwise it will return the system message. If neither are provided, it will return null. [JsonPropertyName(\"system\")] public List? SystemPrompt { get; } Property Value List Temperature Gets the temperature to use for the request. public decimal Temperature { get; init; } Property Value decimal ToolChoice Gets the tool choice mode to use for the request. [JsonPropertyName(\"tool_choice\")] public ToolChoice? ToolChoice { get; init; } Property Value ToolChoice Tools Gets the tools to use for the request. public List? Tools { get; init; } Property Value List TopK Gets the top-K value to use for the request. public int? TopK { get; init; } Property Value int? TopP Gets the top-P value to use for the request. public decimal? TopP { get; init; } Property Value decimal?" + }, + "api/AnthropicClient.Models.CacheControl.html": { + "href": "api/AnthropicClient.Models.CacheControl.html", + "title": "Class CacheControl | AnthropicClient", + "keywords": "Class CacheControl Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents the cache control to be used for content. public abstract class CacheControl Inheritance object CacheControl Derived EphemeralCacheControl Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors CacheControl(string) Initializes a new instance of the CacheControl class. protected CacheControl(string type) Parameters type string The type of the cache control. Exceptions ArgumentException Thrown when the type is null or whitespace. Properties Type Gets the type of the cache control. public string Type { get; init; } Property Value string" + }, + "api/AnthropicClient.Models.CacheControlType.html": { + "href": "api/AnthropicClient.Models.CacheControlType.html", + "title": "Class CacheControlType | AnthropicClient", + "keywords": "Class CacheControlType Namespace AnthropicClient.Models Assembly AnthropicClient.dll Provides constants for cache control types. public static class CacheControlType Inheritance object CacheControlType Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields Ephemeral The cache control type for an ephemeral cache. public const string Ephemeral = \"ephemeral\" Field Value string" }, "api/AnthropicClient.Models.Content.html": { "href": "api/AnthropicClient.Models.Content.html", "title": "Class Content | AnthropicClient", - "keywords": "Class Content Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents part of the content of a message. public abstract class Content Inheritance object Content Derived ImageContent TextContent ToolResultContent ToolUseContent Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors Content(string) Initializes a new instance of the Content class. protected Content(string type) Parameters type string The type of the content. Properties Type Gets the type of the content. public string Type { get; init; } Property Value string" + "keywords": "Class Content Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents part of the content of a message. public abstract class Content Inheritance object Content Derived ImageContent TextContent ToolResultContent ToolUseContent Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors Content(string) Initializes a new instance of the Content class. protected Content(string type) Parameters type string The type of the content. Content(string, CacheControl) Initializes a new instance of the Content class. protected Content(string type, CacheControl cacheControl) Parameters type string The type of the content. cacheControl CacheControl The cache control to be used for the content. Properties CacheControl Gets the cache control to be used for the content. [JsonPropertyName(\"cache_control\")] public CacheControl? CacheControl { get; set; } Property Value CacheControl Type Gets the type of the content. public string Type { get; init; } Property Value string" }, "api/AnthropicClient.Models.ContentDelta.html": { "href": "api/AnthropicClient.Models.ContentDelta.html", @@ -94,6 +104,11 @@ "title": "Class ContentType | AnthropicClient", "keywords": "Class ContentType Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents the content type. public static class ContentType Inheritance object ContentType Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Fields Image Represents the image content type. public const string Image = \"image\" Field Value string Text Represents the text content type. public const string Text = \"text\" Field Value string ToolResult Represents the tool result content type. public const string ToolResult = \"tool_result\" Field Value string ToolUse Represents the tool use content type. public const string ToolUse = \"tool_use\" Field Value string" }, + "api/AnthropicClient.Models.EphemeralCacheControl.html": { + "href": "api/AnthropicClient.Models.EphemeralCacheControl.html", + "title": "Class EphemeralCacheControl | AnthropicClient", + "keywords": "Class EphemeralCacheControl Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents the cache control to be used for content. public class EphemeralCacheControl : CacheControl Inheritance object CacheControl EphemeralCacheControl Inherited Members CacheControl.Type object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors EphemeralCacheControl() Initializes a new instance of the EphemeralCacheControl class. public EphemeralCacheControl()" + }, "api/AnthropicClient.Models.Error.html": { "href": "api/AnthropicClient.Models.Error.html", "title": "Class Error | AnthropicClient", @@ -137,7 +152,7 @@ "api/AnthropicClient.Models.ImageContent.html": { "href": "api/AnthropicClient.Models.ImageContent.html", "title": "Class ImageContent | AnthropicClient", - "keywords": "Class ImageContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents image content that is part of a message. public class ImageContent : Content Inheritance object Content ImageContent Inherited Members Content.Type object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ImageContent(string, string) Initializes a new instance of the ImageContent class. public ImageContent(string mediaType, string data) Parameters mediaType string The media type of the image. data string The data of the image. Exceptions ArgumentNullException Thrown when the media type or data is null. Properties Source Gets the source of the image. public ImageSource Source { get; init; } Property Value ImageSource" + "keywords": "Class ImageContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents image content that is part of a message. public class ImageContent : Content Inheritance object Content ImageContent Inherited Members Content.Type Content.CacheControl object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ImageContent(string, string) Initializes a new instance of the ImageContent class. public ImageContent(string mediaType, string data) Parameters mediaType string The media type of the image. data string The data of the image. Exceptions ArgumentNullException Thrown when the media type or data is null. ImageContent(string, string, CacheControl) Initializes a new instance of the ImageContent class. public ImageContent(string mediaType, string data, CacheControl cacheControl) Parameters mediaType string The media type of the image. data string The data of the image. cacheControl CacheControl The cache control to be used for the content. Exceptions ArgumentNullException Thrown when the media type, data, or cache control is null. Properties Source Gets the source of the image. public ImageSource Source { get; init; } Property Value ImageSource" }, "api/AnthropicClient.Models.ImageSource.html": { "href": "api/AnthropicClient.Models.ImageSource.html", @@ -192,7 +207,7 @@ "api/AnthropicClient.Models.MessageRequest.html": { "href": "api/AnthropicClient.Models.MessageRequest.html", "title": "Class MessageRequest | AnthropicClient", - "keywords": "Class MessageRequest Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a message request. public class MessageRequest : BaseMessageRequest Inheritance object BaseMessageRequest MessageRequest Inherited Members BaseMessageRequest.Model BaseMessageRequest.System BaseMessageRequest.Messages BaseMessageRequest.MaxTokens BaseMessageRequest.Metadata BaseMessageRequest.StopSequences BaseMessageRequest.Temperature BaseMessageRequest.TopK BaseMessageRequest.TopP BaseMessageRequest.ToolChoice BaseMessageRequest.Tools BaseMessageRequest.Stream object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?) Initializes a new instance of the MessageRequest class. public MessageRequest(string model, List messages, int maxTokens = 1024, string? system = null, Dictionary? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List? tools = null, List? stopSequences = null) Parameters model string The model ID to use for the request. messages List The messages to send to the model. maxTokens int The maximum number of tokens to generate. system string The system ID to use for the request. metadata Dictionary The metadata to include with the request. temperature decimal The temperature to use for the request. topK int? The top-K value to use for the request. topP decimal? The top-P value to use for the request. toolChoice ToolChoice The tool choice mode to use for the request. tools List The tools to use for the request. stopSequences List The prompt stop sequences. Exceptions ArgumentException Thrown when the model ID is invalid. ArgumentNullException Thrown when the model or messages is null. ArgumentException Thrown when the messages contain no messages. ArgumentException Thrown when the max tokens is less than one. ArgumentException Thrown when the temperature is less than zero or greater than one." + "keywords": "Class MessageRequest Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a message request. public class MessageRequest : BaseMessageRequest Inheritance object BaseMessageRequest MessageRequest Inherited Members BaseMessageRequest.Model BaseMessageRequest.System BaseMessageRequest.SystemMessages BaseMessageRequest.SystemPrompt BaseMessageRequest.Messages BaseMessageRequest.MaxTokens BaseMessageRequest.Metadata BaseMessageRequest.StopSequences BaseMessageRequest.Temperature BaseMessageRequest.TopK BaseMessageRequest.TopP BaseMessageRequest.ToolChoice BaseMessageRequest.Tools BaseMessageRequest.Stream object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors MessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?, List?) Initializes a new instance of the MessageRequest class. public MessageRequest(string model, List messages, int maxTokens = 1024, string? system = null, Dictionary? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List? tools = null, List? stopSequences = null, List? systemMessages = null) Parameters model string The model ID to use for the request. messages List The messages to send to the model. maxTokens int The maximum number of tokens to generate. system string The system prompt to use for the request. metadata Dictionary The metadata to include with the request. temperature decimal The temperature to use for the request. topK int? The top-K value to use for the request. topP decimal? The top-P value to use for the request. toolChoice ToolChoice The tool choice mode to use for the request. tools List The tools to use for the request. stopSequences List The prompt stop sequences. systemMessages List The system messages to include with the request. Exceptions ArgumentException Thrown when the model ID is invalid. ArgumentNullException Thrown when the model or messages is null. ArgumentException Thrown when the messages contain no messages. ArgumentException Thrown when the max tokens is less than one. ArgumentException Thrown when the temperature is less than zero or greater than one." }, "api/AnthropicClient.Models.MessageResponse.html": { "href": "api/AnthropicClient.Models.MessageResponse.html", @@ -252,12 +267,12 @@ "api/AnthropicClient.Models.StreamMessageRequest.html": { "href": "api/AnthropicClient.Models.StreamMessageRequest.html", "title": "Class StreamMessageRequest | AnthropicClient", - "keywords": "Class StreamMessageRequest Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a message request. public class StreamMessageRequest : BaseMessageRequest Inheritance object BaseMessageRequest StreamMessageRequest Inherited Members BaseMessageRequest.Model BaseMessageRequest.System BaseMessageRequest.Messages BaseMessageRequest.MaxTokens BaseMessageRequest.Metadata BaseMessageRequest.StopSequences BaseMessageRequest.Temperature BaseMessageRequest.TopK BaseMessageRequest.TopP BaseMessageRequest.ToolChoice BaseMessageRequest.Tools BaseMessageRequest.Stream object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors StreamMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?) Initializes a new instance of the StreamMessageRequest class. public StreamMessageRequest(string model, List messages, int maxTokens = 1024, string? system = null, Dictionary? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List? tools = null, List? stopSequences = null) Parameters model string The model ID to use for the request. messages List The messages to send to the model. maxTokens int The maximum number of tokens to generate. system string The system ID to use for the request. metadata Dictionary The metadata to include with the request. temperature decimal The temperature to use for the request. topK int? The top-K value to use for the request. topP decimal? The top-P value to use for the request. toolChoice ToolChoice The tool choice mode to use for the request. tools List The tools to use for the request. stopSequences List The prompt stop sequences. Exceptions ArgumentException Thrown when the model ID is invalid. ArgumentNullException Thrown when the model or messages is null. ArgumentException Thrown when the messages contain no messages. ArgumentException Thrown when the max tokens is less than one. ArgumentException Thrown when the temperature is less than zero or greater than one." + "keywords": "Class StreamMessageRequest Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a message request. public class StreamMessageRequest : BaseMessageRequest Inheritance object BaseMessageRequest StreamMessageRequest Inherited Members BaseMessageRequest.Model BaseMessageRequest.System BaseMessageRequest.SystemMessages BaseMessageRequest.SystemPrompt BaseMessageRequest.Messages BaseMessageRequest.MaxTokens BaseMessageRequest.Metadata BaseMessageRequest.StopSequences BaseMessageRequest.Temperature BaseMessageRequest.TopK BaseMessageRequest.TopP BaseMessageRequest.ToolChoice BaseMessageRequest.Tools BaseMessageRequest.Stream object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors StreamMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?, List?) Initializes a new instance of the StreamMessageRequest class. public StreamMessageRequest(string model, List messages, int maxTokens = 1024, string? system = null, Dictionary? metadata = null, decimal temperature = 0.0, int? topK = null, decimal? topP = null, ToolChoice? toolChoice = null, List? tools = null, List? stopSequences = null, List? systemMessages = null) Parameters model string The model ID to use for the request. messages List The messages to send to the model. maxTokens int The maximum number of tokens to generate. system string The system prompt to use for the request. metadata Dictionary The metadata to include with the request. temperature decimal The temperature to use for the request. topK int? The top-K value to use for the request. topP decimal? The top-P value to use for the request. toolChoice ToolChoice The tool choice mode to use for the request. tools List The tools to use for the request. stopSequences List The prompt stop sequences. systemMessages List The system messages to include with the request. Exceptions ArgumentException Thrown when the model ID is invalid. ArgumentNullException Thrown when the model or messages is null. ArgumentException Thrown when the messages contain no messages. ArgumentException Thrown when the max tokens is less than one. ArgumentException Thrown when the temperature is less than zero or greater than one." }, "api/AnthropicClient.Models.TextContent.html": { "href": "api/AnthropicClient.Models.TextContent.html", "title": "Class TextContent | AnthropicClient", - "keywords": "Class TextContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents text content that is part of a message. public class TextContent : Content Inheritance object Content TextContent Inherited Members Content.Type object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors TextContent(string) Initializes a new instance of the TextContent class. public TextContent(string text) Parameters text string The text of the content. Exceptions ArgumentNullException Thrown when the text is null. Properties Text Gets the text of the content. public string Text { get; init; } Property Value string" + "keywords": "Class TextContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents text content that is part of a message. public class TextContent : Content Inheritance object Content TextContent Inherited Members Content.Type Content.CacheControl object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors TextContent(string) Initializes a new instance of the TextContent class. public TextContent(string text) Parameters text string The text of the content. Exceptions ArgumentNullException Thrown when the text is null. TextContent(string, CacheControl) Initializes a new instance of the TextContent class. public TextContent(string text, CacheControl cacheControl) Parameters text string The text of the content. cacheControl CacheControl The cache control to be used for the content. Exceptions ArgumentNullException Thrown when the text or cache control is null. Properties Text Gets the text of the content. public string Text { get; init; } Property Value string" }, "api/AnthropicClient.Models.TextDelta.html": { "href": "api/AnthropicClient.Models.TextDelta.html", @@ -267,7 +282,7 @@ "api/AnthropicClient.Models.Tool.html": { "href": "api/AnthropicClient.Models.Tool.html", "title": "Class Tool | AnthropicClient", - "keywords": "Class Tool Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a tool that can be used. public class Tool Inheritance object Tool Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties Description Gets the description of the tool. public string Description { get; } Property Value string DisplayName Gets the display name of the tool. [JsonIgnore] public string DisplayName { get; } Property Value string Function Gets the function of the tool. [JsonIgnore] public AnthropicFunction Function { get; } Property Value AnthropicFunction InputSchema Gets the input schema of the tool. [JsonPropertyName(\"input_schema\")] public JsonObject InputSchema { get; } Property Value JsonObject Name Gets the name of the tool. This name will conform to the Anthropic tool naming rules. public string Name { get; } Property Value string Methods CreateFromClass() Creates a tool from a type that implements ITool. public static Tool CreateFromClass() where T : ITool, new() Returns Tool The created tool as instance of Tool. Type Parameters T The type that implements ITool. Remarks The implementation of ITool must have a parameterless constructor. Exceptions ArgumentException Thrown when the name or description of the tool is null or empty. ArgumentNullException Thrown when the function of the tool is null. CreateFromFunction(string, string, Func) Creates a tool from a function. public static Tool CreateFromFunction(string name, string description, Func func) Parameters name string The name of the tool. description string The description of the tool. func Func The function. Returns Tool The created tool as instance of Tool. Type Parameters TResult The type of the result for the delegate. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentNullException Thrown when func is null. CreateFromFunction(string, string, Func) Creates a tool from a function. public static Tool CreateFromFunction(string name, string description, Func func) Parameters name string The name of the tool. description string The description of the tool. func Func The function. Returns Tool The created tool as instance of Tool. Type Parameters T1 The type of the first parameter for the delegate. TResult The type of the result for the delegate. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentNullException Thrown when func is null. CreateFromFunction(string, string, Func) Creates a tool from a function. public static Tool CreateFromFunction(string name, string description, Func func) Parameters name string The name of the tool. description string The description of the tool. func Func The function. Returns Tool The created tool as instance of Tool. Type Parameters T1 The type of the first parameter for the delegate. T2 The type of the second parameter for the delegate. TResult The type of the result for the delegate. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentNullException Thrown when func is null. CreateFromInstanceMethod(string, string, object, string) Creates a tool from an instance method. public static Tool CreateFromInstanceMethod(string name, string description, object instance, string methodName) Parameters name string The name of the tool. description string The description of the tool. instance object The instance that contains the method. methodName string The name of the method. Returns Tool The created tool as instance of Tool. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentException Thrown when methodName is null or empty. ArgumentNullException Thrown when instance is null. ArgumentException Thrown when methodName is not found in the type of instance. CreateFromStaticMethod(string, string, Type, string) Creates a tool from a static method. public static Tool CreateFromStaticMethod(string name, string description, Type type, string methodName) Parameters name string The name of the tool. description string The description of the tool. type Type The type that contains the method. methodName string The name of the method. Returns Tool The created tool as instance of Tool. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentException Thrown when methodName is null or empty. ArgumentNullException Thrown when type is null. ArgumentException Thrown when the method is not found in the type." + "keywords": "Class Tool Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents a tool that can be used. public class Tool Inheritance object Tool Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties CacheControl Gets or sets the cache control to be used for the tool. [JsonPropertyName(\"cache_control\")] public CacheControl? CacheControl { get; set; } Property Value CacheControl Description Gets the description of the tool. public string Description { get; } Property Value string DisplayName Gets the display name of the tool. [JsonIgnore] public string DisplayName { get; } Property Value string Function Gets the function of the tool. [JsonIgnore] public AnthropicFunction Function { get; } Property Value AnthropicFunction InputSchema Gets the input schema of the tool. [JsonPropertyName(\"input_schema\")] public JsonObject InputSchema { get; } Property Value JsonObject Name Gets the name of the tool. This name will conform to the Anthropic tool naming rules. public string Name { get; } Property Value string Methods CreateFromClass(CacheControl?) Creates a tool from a type that implements ITool. public static Tool CreateFromClass(CacheControl? cacheControl = null) where T : ITool, new() Parameters cacheControl CacheControl Returns Tool The created tool as instance of Tool. Type Parameters T The type that implements ITool. Remarks The implementation of ITool must have a parameterless constructor. Exceptions ArgumentException Thrown when the name or description of the tool is null or empty. ArgumentNullException Thrown when the function of the tool is null. CreateFromFunction(string, string, Func, CacheControl?) Creates a tool from a function. public static Tool CreateFromFunction(string name, string description, Func func, CacheControl? cacheControl = null) Parameters name string The name of the tool. description string The description of the tool. func Func The function. cacheControl CacheControl The cache control to be used for the tool. Returns Tool The created tool as instance of Tool. Type Parameters TResult The type of the result for the delegate. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentNullException Thrown when func is null. CreateFromFunction(string, string, Func, CacheControl?) Creates a tool from a function. public static Tool CreateFromFunction(string name, string description, Func func, CacheControl? cacheControl = null) Parameters name string The name of the tool. description string The description of the tool. func Func The function. cacheControl CacheControl The cache control to be used for the tool. Returns Tool The created tool as instance of Tool. Type Parameters T1 The type of the first parameter for the delegate. TResult The type of the result for the delegate. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentNullException Thrown when func is null. CreateFromFunction(string, string, Func, CacheControl?) Creates a tool from a function. public static Tool CreateFromFunction(string name, string description, Func func, CacheControl? cacheControl = null) Parameters name string The name of the tool. description string The description of the tool. func Func The function. cacheControl CacheControl The cache control to be used for the tool. Returns Tool The created tool as instance of Tool. Type Parameters T1 The type of the first parameter for the delegate. T2 The type of the second parameter for the delegate. TResult The type of the result for the delegate. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentNullException Thrown when func is null. CreateFromInstanceMethod(string, string, object, string, CacheControl?) Creates a tool from an instance method. public static Tool CreateFromInstanceMethod(string name, string description, object instance, string methodName, CacheControl? cacheControl = null) Parameters name string The name of the tool. description string The description of the tool. instance object The instance that contains the method. methodName string The name of the method. cacheControl CacheControl The cache control to be used for the tool. Returns Tool The created tool as instance of Tool. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentException Thrown when methodName is null or empty. ArgumentNullException Thrown when instance is null. ArgumentException Thrown when methodName is not found in the type of instance. CreateFromStaticMethod(string, string, Type, string, CacheControl?) Creates a tool from a static method. public static Tool CreateFromStaticMethod(string name, string description, Type type, string methodName, CacheControl? cacheControl = null) Parameters name string The name of the tool. description string The description of the tool. type Type The type that contains the method. methodName string The name of the method. cacheControl CacheControl The cache control to be used for the tool. Returns Tool The created tool as instance of Tool. Remarks The name of the tool will be sanitized to conform to the Anthropic tool naming rules. Exceptions ArgumentException Thrown when methodName is null or empty. ArgumentNullException Thrown when type is null. ArgumentException Thrown when the method is not found in the type." }, "api/AnthropicClient.Models.ToolCall.html": { "href": "api/AnthropicClient.Models.ToolCall.html", @@ -292,22 +307,22 @@ "api/AnthropicClient.Models.ToolResultContent.html": { "href": "api/AnthropicClient.Models.ToolResultContent.html", "title": "Class ToolResultContent | AnthropicClient", - "keywords": "Class ToolResultContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents tool result content that is part of a message. public class ToolResultContent : Content Inheritance object Content ToolResultContent Inherited Members Content.Type object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ToolResultContent(string, string) Initializes a new instance of the ToolResultContent class. public ToolResultContent(string toolUseId, string content) Parameters toolUseId string The tool use ID of the content. content string The content of the tool result. Exceptions ArgumentNullException Thrown when the tool use ID or content is null. Properties Content Gets the content of the tool result. public string Content { get; init; } Property Value string ToolUseId Gets the tool use ID of the content. [JsonPropertyName(\"tool_use_id\")] public string ToolUseId { get; init; } Property Value string" + "keywords": "Class ToolResultContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents tool result content that is part of a message. public class ToolResultContent : Content Inheritance object Content ToolResultContent Inherited Members Content.Type Content.CacheControl object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ToolResultContent(string, string) Initializes a new instance of the ToolResultContent class. public ToolResultContent(string toolUseId, string content) Parameters toolUseId string The tool use ID of the content. content string The content of the tool result. Exceptions ArgumentNullException Thrown when the tool use ID or content is null. ToolResultContent(string, string, CacheControl) Initializes a new instance of the ToolResultContent class. public ToolResultContent(string toolUseId, string content, CacheControl cacheControl) Parameters toolUseId string The tool use ID of the content. content string The content of the tool result. cacheControl CacheControl The cache control to be used for the content. Exceptions ArgumentNullException Thrown when the tool use ID or content is null. Properties Content Gets the content of the tool result. public string Content { get; init; } Property Value string ToolUseId Gets the tool use ID of the content. [JsonPropertyName(\"tool_use_id\")] public string ToolUseId { get; init; } Property Value string" }, "api/AnthropicClient.Models.ToolUseContent.html": { "href": "api/AnthropicClient.Models.ToolUseContent.html", "title": "Class ToolUseContent | AnthropicClient", - "keywords": "Class ToolUseContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents tool use content that is part of a message. public class ToolUseContent : Content Inheritance object Content ToolUseContent Inherited Members Content.Type object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ToolUseContent() Initializes a new instance of the ToolUseContent class. public ToolUseContent() Properties Id Gets the ID of the tool use. public string Id { get; init; } Property Value string Input Gets the input of the tool. public Dictionary Input { get; init; } Property Value Dictionary Name Gets the name of the tool. public string Name { get; init; } Property Value string" + "keywords": "Class ToolUseContent Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents tool use content that is part of a message. public class ToolUseContent : Content Inheritance object Content ToolUseContent Inherited Members Content.Type Content.CacheControl object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Constructors ToolUseContent() Initializes a new instance of the ToolUseContent class. public ToolUseContent() Properties Id Gets the ID of the tool use. public string Id { get; init; } Property Value string Input Gets the input of the tool. public Dictionary Input { get; init; } Property Value Dictionary Name Gets the name of the tool. public string Name { get; init; } Property Value string" }, "api/AnthropicClient.Models.Usage.html": { "href": "api/AnthropicClient.Models.Usage.html", "title": "Class Usage | AnthropicClient", - "keywords": "Class Usage Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents the usage of a response. public class Usage Inheritance object Usage Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties InputTokens Gets the number of input tokens used. [JsonPropertyName(\"input_tokens\")] public int InputTokens { get; init; } Property Value int OutputTokens Gets the number of output tokens used. [JsonPropertyName(\"output_tokens\")] public int OutputTokens { get; init; } Property Value int" + "keywords": "Class Usage Namespace AnthropicClient.Models Assembly AnthropicClient.dll Represents the usage of a response. public class Usage Inheritance object Usage Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Properties CacheCreationInputTokens Gets the number of tokens written to the cache when creating a new entry [JsonPropertyName(\"cache_creation_input_tokens\")] public int CacheCreationInputTokens { get; init; } Property Value int CacheReadInputTokens Gets the number of tokens retrieved from the cache for the request. [JsonPropertyName(\"cache_read_input_tokens\")] public int CacheReadInputTokens { get; init; } Property Value int InputTokens Gets the number of input tokens used. [JsonPropertyName(\"input_tokens\")] public int InputTokens { get; init; } Property Value int OutputTokens Gets the number of output tokens used. [JsonPropertyName(\"output_tokens\")] public int OutputTokens { get; init; } Property Value int" }, "api/AnthropicClient.Models.html": { "href": "api/AnthropicClient.Models.html", "title": "Namespace AnthropicClient.Models | AnthropicClient", - "keywords": "Namespace AnthropicClient.Models Classes AnthropicError Represents an error response from the Anthropic API. AnthropicEvent Represents an event from the Anthropic API. AnthropicFunction Represents a function that can be provided as a tool. AnthropicHeaders Represents headers included in Anthropic API responses. AnthropicModels Provides constants for the Anthropic models. AnyToolChoice Represents the any tool choice mode. ApiError Represents an api_error response from the Anthropic API. AuthenticationError Represents an authentication_error response from the Anthropic API. AutoToolChoice Represents the auto tool choice mode. BaseMessageRequest Represents a message request. Content Represents part of the content of a message. ContentDelta Represents a content delta. ContentDeltaEventData Represents data for a content_block_delta event. ContentDeltaType Provides constants for content delta types. ContentStartEventData Represents data for a content_block_start event. ContentStopEventData Represents data for a content_block_stop event. ContentType Represents the content type. Error Represents an error. ErrorEventData Represents data for an error event. ErrorType Represents the error type. EventData Represents data for an event. EventType Provides constants for event types. FunctionParameterAttribute Attribute to describe a function parameter. FunctionPropertyAttribute Attribute to describe a property of a type that is used as a function parameter. ImageContent Represents image content that is part of a message. ImageSource Represents an image source. ImageType Represents the image type. InputProperty Represents an input property. InputSchema Represents an input schema. InvalidRequestError Represents an invalid_request error. JsonDelta Represents a JSON delta. Message Represents a message. MessageCompleteEventData Represents data for the message_complete event. MessageDelta Represents a message delta. MessageDeltaEventData Represents data for a message_delta event. MessageRequest Represents a message request. MessageResponse Represents a response. MessageRole Represents the message role. MessageStartEventData Represents data for a message_start event. MessageStopEventData Represents data for a message_stop event. NotFoundError Represents a not_found error. OverloadedError Represents an overloaded error. PermissionError Represents a permission error. PingEventData Represents data for a ping event. RateLimitError Represents a rate_limit error. SpecificToolChoice Represents the specific tool choice mode. StopReasonType Represents the stop reason type. StreamMessageRequest Represents a message request. TextContent Represents text content that is part of a message. TextDelta Represents a text delta. Tool Represents a tool that can be used. ToolCall Represents a tool call. ToolCallResult Represents a tool call result. ToolChoice Represents a tool choice mode. ToolChoiceType Represents the tool choice type. ToolResultContent Represents tool result content that is part of a message. ToolUseContent Represents tool use content that is part of a message. Usage Represents the usage of a response. Interfaces ITool Interface that a class can implement to be used to create a tool." + "keywords": "Namespace AnthropicClient.Models Classes AnthropicError Represents an error response from the Anthropic API. AnthropicEvent Represents an event from the Anthropic API. AnthropicFunction Represents a function that can be provided as a tool. AnthropicHeaders Represents headers included in Anthropic API responses. AnthropicModels Provides constants for the Anthropic models. AnyToolChoice Represents the any tool choice mode. ApiError Represents an api_error response from the Anthropic API. AuthenticationError Represents an authentication_error response from the Anthropic API. AutoToolChoice Represents the auto tool choice mode. BaseMessageRequest Represents a message request. CacheControl Represents the cache control to be used for content. CacheControlType Provides constants for cache control types. Content Represents part of the content of a message. ContentDelta Represents a content delta. ContentDeltaEventData Represents data for a content_block_delta event. ContentDeltaType Provides constants for content delta types. ContentStartEventData Represents data for a content_block_start event. ContentStopEventData Represents data for a content_block_stop event. ContentType Represents the content type. EphemeralCacheControl Represents the cache control to be used for content. Error Represents an error. ErrorEventData Represents data for an error event. ErrorType Represents the error type. EventData Represents data for an event. EventType Provides constants for event types. FunctionParameterAttribute Attribute to describe a function parameter. FunctionPropertyAttribute Attribute to describe a property of a type that is used as a function parameter. ImageContent Represents image content that is part of a message. ImageSource Represents an image source. ImageType Represents the image type. InputProperty Represents an input property. InputSchema Represents an input schema. InvalidRequestError Represents an invalid_request error. JsonDelta Represents a JSON delta. Message Represents a message. MessageCompleteEventData Represents data for the message_complete event. MessageDelta Represents a message delta. MessageDeltaEventData Represents data for a message_delta event. MessageRequest Represents a message request. MessageResponse Represents a response. MessageRole Represents the message role. MessageStartEventData Represents data for a message_start event. MessageStopEventData Represents data for a message_stop event. NotFoundError Represents a not_found error. OverloadedError Represents an overloaded error. PermissionError Represents a permission error. PingEventData Represents data for a ping event. RateLimitError Represents a rate_limit error. SpecificToolChoice Represents the specific tool choice mode. StopReasonType Represents the stop reason type. StreamMessageRequest Represents a message request. TextContent Represents text content that is part of a message. TextDelta Represents a text delta. Tool Represents a tool that can be used. ToolCall Represents a tool call. ToolCallResult Represents a tool call result. ToolChoice Represents a tool choice mode. ToolChoiceType Represents the tool choice type. ToolResultContent Represents tool result content that is part of a message. ToolUseContent Represents tool use content that is part of a message. Usage Represents the usage of a response. Interfaces ITool Interface that a class can implement to be used to create a tool." }, "api/AnthropicClient.html": { "href": "api/AnthropicClient.html", @@ -317,6 +332,6 @@ "index.html": { "href": "index.html", "title": "AnthropicClient | AnthropicClient", - "keywords": "AnthropicClient This library for the Anthropic API is meant to simplify development in C# for Anthropic users. Note This is an unofficial SDK for the Anthropic API. It was not built in consultation with Anthropic or any member of their organization. This SDK was developed independently using existing libraries and the Anthropic API documentation as the starting point with the intention of making development of integrations done in C# with Anthropic quicker and more convenient. Note This client library is heavily inspired by the Anthropic.SDK library. I chose to create a new library because I wanted to handle streaming and tool calling differently as well as have control over the client library as I plan to use it to build a connector for SemanticKernel. However if you are looking for a client library the Anthropic.SDK is a great place to start. 📝 Issues If you encounter any issues while using this library please open an issue here. 📜 License This library is licensed under the MIT License and is free to use and modify. 📝 Contributing If you would like to contribute to this library please open a pull request here. 🛠️ Dependencies Microsoft.Bcl.AsyncInterfaces Used to support async interfaces when streaming messages System.Text.Json Used for JSON serialization and deserialization 💾 Installation Install the package from NuGet using the following command: dotnet add package AnthropicClient 🔑 API Key In order to use the Anthropic API you will need an API key. You can get one by signing up at Anthropic. Please keep your API key secure and do not share it with others. Be mindful of where you store your API key and do not commit it to a public repository. 👨🏻‍💻 Start Coding AnthropicApiClient The most common way to use the SDK is to create an AnthropicApiClient instance and call its methods. Its constructor requires two parameters: apiKey - your Anthropic API key httpClient - an HttpClient instance. You can configure and customize the HttpClient instance as needed. This library however will perform the necessary configuration to work with the Anthropic API. Such as setting the base address and adding the proper headers. Note This library does not manage the lifecycle of the HttpClient instance. You should create and manage the lifecycle of the HttpClient instance in your application. It is best practice to read the API key from a secure location such as a configuration file or environment variable. For example using the appsettings.json file: { \"AnthropicApiKey\": \"YOUR_API\" } Example constructing an AnthropicApiClient instance: using AnthropicClient; using Microsoft.Extensions.Configuration; var configuration = new ConfigurationBuilder() .AddJsonFile(\"appsettings.json\") .Build(); var apiKey = configuration[\"AnthropicApiKey\"]; var client = new AnthropicApiClient(apiKey, new HttpClient()); IAnthropicApiClient The library does expose an interface IAnthropicApiClient that can be used for dependency injection and testing. The interface is implemented by the AnthropicApiClient class. Full API Documentation This library was developed to make using the Anthropic API easier within a .NET application. If you are looking for the full API documentation you can find it at Anthropic API Documentation. Usage The primary use case for working with the Anthropic API is to create a message in response to a request that includes one or more other messages. The created message can then be received either as a complete response or a stream of events. This can be used to create a conversation between the caller and Anthropic's AI models and/or to use Anthropic's AI models to perform a task. Note The following examples assume that you have already created an instance of the AnthropicApiClient class named client. You can also find these snippets in the examples directory. Create a message The AnthropicApiClient exposes a single method named CreateMessageAsync that can be used to create a message. The method requires a MessageRequest or a StreamMessageRequest instance as a parameter. The MessageRequest class is used to create a message whose response is not streamed and the StreamMessageRequest class is used to create a message whose response is streamed. The MessageRequest instance's properties can be set to configure how the message is created. Non-Streaming using AnthropicClient; using AnthropicClient.Models; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ] )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } Streaming Anthropic uses Server-Sent Events (SSE) to stream messages. The possible events and the format of those events are documented in the Anthropic API Documentation. This library provides a way to consume them after they have been deserialized into strongly-typed C# objects that are returned in an IAsyncEnumerable collection. This allows you to consume the events as they are received and process them in the way that best fits your use case. The following example demonstrates how to consume the streamed events and build up the complete text response from the model. using AnthropicClient; using AnthropicClient.Models; var events = client.CreateMessageAsync(new StreamMessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ] )); var msgBuilder = new StringBuilder(); await foreach (var e in events) { switch (e.Data) { case var data when data is ContentDeltaEventData contentData: switch (contentData.Delta) { case var delta when delta is TextDelta textDelta: msgBuilder.Append(textDelta.Text); break; } break; } } Console.WriteLine(msgBuilder.ToString()); Message Complete Event This library also provides a custom message_complete event that is yielded when all the message's events have been received. This event is not part of Anthropic's SSE events but is provided to allow for easier consumption of the entire message response if desired and make it easier to implement built-in tool calling. using AnthropicClient; using AnthropicClient.Models; var events = client.CreateMessageAsync(new StreamMessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ] )); MessageResponse? response = null; await foreach (var e in events) { switch (e.Data) { case var data when data is MessageCompleteEventData msgData: response = msgData.Message; break; } } var textContent = response?.Content .OfType() .Aggregate(new StringBuilder(), (sb, c) => sb.Append(c.Text)) .ToString(); Console.WriteLine(textContent); Tool Use Anthropic's models support the use of tools to perform tasks. This allows the models to interact with external client-side tools that can perform actions the models cannot do natively. This gives you the ability to further extend the model's abilities with your own custom tools. This feature is covered in depth in Anthropic's API Documentation. This library aims to make using tools convenient by allowing you to create, provide, and call tools from within your application by leveraging the reflection capabilities of C#. Note All tools are user provided. The models do no not have access to any built-in server-side tools. Create a tool You can create a tool in 4 different ways and then provide that tool when creating a message. Create a tool from a class Create a tool from a static method Create a tool from an instance method Create a tool from a delegate Create a tool from a class When creating a tool from a class the class must implement the ITool interface. using AnthropicClient.Models; class GetWeatherTool : ITool { public string Name => \"Get Weather\"; public string Description => \"Get the weather for a location in the specified units\"; public MethodInfo Function => typeof(GetWeatherTool).GetMethod(nameof(GetWeather))!; public static string GetWeather(string location, string units) { return $\"The weather in {location} is 72 degrees {units}\"; } } var getWeatherTool = Tool.CreateFromClass(); Create a tool from a static method When creating a tool from a static method the method must be public and static. using AnthropicClient.Models; class GetWeatherTool { public static string GetWeather(string location) { return $\"The weather in {location} is 72 degrees Fahrenheit\"; } } var getWeatherTool = Tool.CreateFromStaticMethod( \"Get Weather\", \"Get the weather for a location in the specified units\", typeof(GetWeatherTool), nameof(GetWeatherTool.GetWeather) ); Create a tool from an instance method When creating a tool from an instance method the method must be public and non-static. using AnthropicClient.Models; class GetWeatherTool { public string GetWeather(string location) { return $\"The weather in {location} is 72 degrees Fahrenheit\"; } } var toolInstance = new GetWeatherTool(); var getWeatherTool = Tool.CreateFromInstanceMethod( \"Get Weather\", \"Get the weather for a location in the specified units\", toolInstance, nameof(toolInstance.GetWeather) ); Create a tool from a delegate When creating a tool from a delegate the delegate must be a Func, Func, or Func. If you need to create a tool from a delegate that takes more than 2 parameters you should create a complex type and pass that as the parameter. using AnthropicClient.Models; var tool = (string location, string units) => $\"The weather in {location} is 72 degrees {units}\"; var getWeatherTool = Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool ); Function Parameter Attribute When you create a tool from one of the methods above and send it to Anthropic in your request a JSON representation of the tool is provided in the message. This JSON representation includes the name, description, and input schema of the tool. This information is used by Anthropic's models to discern if and when it should use a tool. This library provides a FunctionParameterAttribute that can be used to provide additional information about the parameters of the tool. This information is used to provide a more detailed input schema for the tool. using AnthropicClient.Models; var tool = ( [FunctionParameter(description: \"The location of the weather being got\", name: \"Location\", required: true)] string location, string units ) => $\"The weather in {location} is 72 degrees {units}\"; var getWeatherTool = Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool ); Function Property Attribute This library also provides a FunctionPropertyAttribute that can be used to provide additional information about the members of complex types used as parameters in the tool. This information is used to provide a more detailed input schema for the tool. using AnthropicClient.Models; class GetWeatherInput { [FunctionProperty( description: \"The location of the weather being got\", required: true )] public string Location { get; } = string.Empty; [FunctionProperty( description: \"The units to get the weather in\", required: false, defaultValue: \"Fahrenheit\", possibleValues: [\"Fahrenheit\", \"Celsius\"] )] public string Units { get; } = \"Fahrenheit\"; } var tool = (GetWeatherInput input) => $\"The weather in {input.Location} is 72 degrees {input.Units}\"; var getWeatherTool = Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool ); Call a tool It is important to remember that while Anthropic's models do support tool use they don't actually have access to any built-in server-side tools. All tools are user provided. This means that while Anthropic's models can respond to a request to create a message with a request to use a tool that is all it is - a request. It is still up to the client to handle the tool request by calling the tool with the input provided by the model and then providing the result of that call back to the model. This library aims to make this process convenient by allowing you to simply provide the tools you want Anthropic's models to consider for use when creating a message, receive the response, check if the response contains a tool call, and if it does invoke the tool to get the result. Note Anthropic's API expects requests to contain messages that alternate between the user and the assistant. In addition if you receive a tool use from the model the API expects you to respond with a message that contains the result of the tool call. The tool use content will always be from the assistant while the tool result will always be from the user. using AnthropicClient; using AnthropicClient.Models; class GetWeatherTool : ITool { public string Name => \"Get Weather\"; public string Description => \"Get the weather for a location in the specified units\"; public MethodInfo Function => typeof(GetWeatherTool).GetMethod(nameof(GetWeather))!; public static string GetWeather(string location, string units) { return $\"The weather in {location} is 72 degrees {units}\"; } } List messages = [ new( MessageRole.User, [new TextContent(\"What is the weather in New York?\")] ) ]; List tools = [Tool.CreateFromClass()]; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { messages.Add(new(MessageRole.Assistant, [content])); switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; case ToolUseContent toolUseContent: Console.WriteLine(toolUseContent.Name); break; } } if (response.Value.ToolCall is not null) { var toolCallResult = await response.Value.ToolCall.InvokeAsync(); string toolResultContent; if (toolCallResult.IsSuccess && toolCallResult.Value is not null) { Console.WriteLine(toolCallResult.Value); toolResultContent = toolCallResult.Value; } else { Console.WriteLine(toolCallResult.Error.Message); toolResultContent = toolCallResult.Error.Message; } messages.Add( new( MessageRole.User, [ new ToolResultContent( response.Value.ToolCall.ToolUse.Id, toolResultContent ) ] ) ); } var finalResponse = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); if (finalResponse.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", finalResponse.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", finalResponse.Error.Error.Message); return; } foreach (var content in finalResponse.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } If an exception is thrown while invoking the tool the InvokeAsync method will return a ToolCallResult with the exception contained in the Error property. Note The InvokeAsync method does accept a generic type parameter that can be used to specify the type of the Value property of the ToolCallResult. If it is not specified it will be an object. Call a tool in streamed message Tool calling is also supported when streaming the message response. The following example demonstrates how you can handle a tool call in a streamed message response. using AnthropicClient; using AnthropicClient.Models; var tool = (string location, string units) => $\"The weather in {location} is 72 degrees {units}\"; var messages = [ new( MessageRole.User, [new TextContent(\"What is the weather in New York?\")] ) ]; var tools = [Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool )]; var events = client.CreateMessageAsync(new StreamMessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); MessageResponse? response = null; await foreach (var e in events) { switch (e.Data) { case var data when data is MessageCompleteEventData msgData: response = msgData.Message; break; } } if (response is null) { Console.WriteLine(\"Failed to get message response\"); return; } foreach (var content in response.Content) { messages.Add(new(MessageRole.Assistant, [content])); } if (response?.ToolCall is not null) { var toolCallResult = await response.ToolCall.InvokeAsync(); string toolResultContent; if (toolCallResult.IsSuccess && toolCallResult.Value is not null) { toolResultContent = toolCallResult.Value; } else { toolResultContent = toolCallResult.Error.Message; } messages.Add( new( MessageRole.User, [ new ToolResultContent( response.ToolCall.ToolUse.Id, toolResultContent ) ] ) ); } var finalResponse = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); if (finalResponse.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", finalResponse.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", finalResponse.Error.Error.Message); return; } foreach (var content in finalResponse.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } If you do find that you need more control over how exactly provided tools are called and how the result of those tools are returned you can avoid using the InvokeAsync method and instead use the Tool and ToolUse properties of the ToolCall instance to implement your own solution." + "keywords": "AnthropicClient This library for the Anthropic API is meant to simplify development in C# for Anthropic users. Note This is an unofficial SDK for the Anthropic API. It was not built in consultation with Anthropic or any member of their organization. This SDK was developed independently using existing libraries and the Anthropic API documentation as the starting point with the intention of making development of integrations done in C# with Anthropic quicker and more convenient. Note This client library is heavily inspired by the Anthropic.SDK library. I chose to create a new library because I wanted to handle streaming and tool calling differently as well as have control over the client library as I plan to use it to build a connector for SemanticKernel. However if you are looking for a client library the Anthropic.SDK is a great place to start. 📝 Issues If you encounter any issues while using this library please open an issue here. 📜 License This library is licensed under the MIT License and is free to use and modify. 📝 Contributing If you would like to contribute to this library please open a pull request here. 🛠️ Dependencies Microsoft.Bcl.AsyncInterfaces Used to support async interfaces when streaming messages System.Text.Json Used for JSON serialization and deserialization 💾 Installation Install the package from NuGet using the following command: dotnet add package AnthropicClient 🔑 API Key In order to use the Anthropic API you will need an API key. You can get one by signing up at Anthropic. Please keep your API key secure and do not share it with others. Be mindful of where you store your API key and do not commit it to a public repository. 👨🏻‍💻 Start Coding AnthropicApiClient The most common way to use the SDK is to create an AnthropicApiClient instance and call its methods. Its constructor requires two parameters: apiKey - your Anthropic API key httpClient - an HttpClient instance. You can configure and customize the HttpClient instance as needed. This library however will perform the necessary configuration to work with the Anthropic API. Such as setting the base address and adding the proper headers. Note This library does not manage the lifecycle of the HttpClient instance. You should create and manage the lifecycle of the HttpClient instance in your application. It is best practice to read the API key from a secure location such as a configuration file or environment variable. For example using the appsettings.json file: { \"AnthropicApiKey\": \"YOUR_API\" } Example constructing an AnthropicApiClient instance: using AnthropicClient; using Microsoft.Extensions.Configuration; var configuration = new ConfigurationBuilder() .AddJsonFile(\"appsettings.json\") .Build(); var apiKey = configuration[\"AnthropicApiKey\"]; var client = new AnthropicApiClient(apiKey, new HttpClient()); IAnthropicApiClient The library does expose an interface IAnthropicApiClient that can be used for dependency injection and testing. The interface is implemented by the AnthropicApiClient class. Full API Documentation This library was developed to make using the Anthropic API easier within a .NET application. If you are looking for the full API documentation you can find it at Anthropic API Documentation. Usage The primary use case for working with the Anthropic API is to create a message in response to a request that includes one or more other messages. The created message can then be received either as a complete response or a stream of events. This can be used to create a conversation between the caller and Anthropic's AI models and/or to use Anthropic's AI models to perform a task. Note The following examples assume that you have already created an instance of the AnthropicApiClient class named client. You can also find these snippets in the examples directory. Create a message The AnthropicApiClient exposes a single method named CreateMessageAsync that can be used to create a message. The method requires a MessageRequest or a StreamMessageRequest instance as a parameter. The MessageRequest class is used to create a message whose response is not streamed and the StreamMessageRequest class is used to create a message whose response is streamed. The MessageRequest instance's properties can be set to configure how the message is created. Non-Streaming using AnthropicClient; using AnthropicClient.Models; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ] )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } Streaming Anthropic uses Server-Sent Events (SSE) to stream messages. The possible events and the format of those events are documented in the Anthropic API Documentation. This library provides a way to consume them after they have been deserialized into strongly-typed C# objects that are returned in an IAsyncEnumerable collection. This allows you to consume the events as they are received and process them in the way that best fits your use case. The following example demonstrates how to consume the streamed events and build up the complete text response from the model. using AnthropicClient; using AnthropicClient.Models; var events = client.CreateMessageAsync(new StreamMessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ] )); var msgBuilder = new StringBuilder(); await foreach (var e in events) { switch (e.Data) { case var data when data is ContentDeltaEventData contentData: switch (contentData.Delta) { case var delta when delta is TextDelta textDelta: msgBuilder.Append(textDelta.Text); break; } break; } } Console.WriteLine(msgBuilder.ToString()); Message Complete Event This library also provides a custom message_complete event that is yielded when all the message's events have been received. This event is not part of Anthropic's SSE events but is provided to allow for easier consumption of the entire message response if desired and make it easier to implement built-in tool calling. using AnthropicClient; using AnthropicClient.Models; var events = client.CreateMessageAsync(new StreamMessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ] )); MessageResponse? response = null; await foreach (var e in events) { switch (e.Data) { case var data when data is MessageCompleteEventData msgData: response = msgData.Message; break; } } var textContent = response?.Content .OfType() .Aggregate(new StringBuilder(), (sb, c) => sb.Append(c.Text)) .ToString(); Console.WriteLine(textContent); Tool Use Anthropic's models support the use of tools to perform tasks. This allows the models to interact with external client-side tools that can perform actions the models cannot do natively. This gives you the ability to further extend the model's abilities with your own custom tools. This feature is covered in depth in Anthropic's API Documentation. This library aims to make using tools convenient by allowing you to create, provide, and call tools from within your application by leveraging the reflection capabilities of C#. Note All tools are user provided. The models do no not have access to any built-in server-side tools. Create a tool You can create a tool in 4 different ways and then provide that tool when creating a message. Create a tool from a class Create a tool from a static method Create a tool from an instance method Create a tool from a delegate Create a tool from a class When creating a tool from a class the class must implement the ITool interface. using AnthropicClient.Models; class GetWeatherTool : ITool { public string Name => \"Get Weather\"; public string Description => \"Get the weather for a location in the specified units\"; public MethodInfo Function => typeof(GetWeatherTool).GetMethod(nameof(GetWeather))!; public static string GetWeather(string location, string units) { return $\"The weather in {location} is 72 degrees {units}\"; } } var getWeatherTool = Tool.CreateFromClass(); Create a tool from a static method When creating a tool from a static method the method must be public and static. using AnthropicClient.Models; class GetWeatherTool { public static string GetWeather(string location) { return $\"The weather in {location} is 72 degrees Fahrenheit\"; } } var getWeatherTool = Tool.CreateFromStaticMethod( \"Get Weather\", \"Get the weather for a location in the specified units\", typeof(GetWeatherTool), nameof(GetWeatherTool.GetWeather) ); Create a tool from an instance method When creating a tool from an instance method the method must be public and non-static. using AnthropicClient.Models; class GetWeatherTool { public string GetWeather(string location) { return $\"The weather in {location} is 72 degrees Fahrenheit\"; } } var toolInstance = new GetWeatherTool(); var getWeatherTool = Tool.CreateFromInstanceMethod( \"Get Weather\", \"Get the weather for a location in the specified units\", toolInstance, nameof(toolInstance.GetWeather) ); Create a tool from a delegate When creating a tool from a delegate the delegate must be a Func, Func, or Func. If you need to create a tool from a delegate that takes more than 2 parameters you should create a complex type and pass that as the parameter. using AnthropicClient.Models; var tool = (string location, string units) => $\"The weather in {location} is 72 degrees {units}\"; var getWeatherTool = Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool ); Function Parameter Attribute When you create a tool from one of the methods above and send it to Anthropic in your request a JSON representation of the tool is provided in the message. This JSON representation includes the name, description, and input schema of the tool. This information is used by Anthropic's models to discern if and when it should use a tool. This library provides a FunctionParameterAttribute that can be used to provide additional information about the parameters of the tool. This information is used to provide a more detailed input schema for the tool. using AnthropicClient.Models; var tool = ( [FunctionParameter(description: \"The location of the weather being got\", name: \"Location\", required: true)] string location, string units ) => $\"The weather in {location} is 72 degrees {units}\"; var getWeatherTool = Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool ); Function Property Attribute This library also provides a FunctionPropertyAttribute that can be used to provide additional information about the members of complex types used as parameters in the tool. This information is used to provide a more detailed input schema for the tool. using AnthropicClient.Models; class GetWeatherInput { [FunctionProperty( description: \"The location of the weather being got\", required: true )] public string Location { get; } = string.Empty; [FunctionProperty( description: \"The units to get the weather in\", required: false, defaultValue: \"Fahrenheit\", possibleValues: [\"Fahrenheit\", \"Celsius\"] )] public string Units { get; } = \"Fahrenheit\"; } var tool = (GetWeatherInput input) => $\"The weather in {input.Location} is 72 degrees {input.Units}\"; var getWeatherTool = Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool ); Call a tool It is important to remember that while Anthropic's models do support tool use they don't actually have access to any built-in server-side tools. All tools are user provided. This means that while Anthropic's models can respond to a request to create a message with a request to use a tool that is all it is - a request. It is still up to the client to handle the tool request by calling the tool with the input provided by the model and then providing the result of that call back to the model. This library aims to make this process convenient by allowing you to simply provide the tools you want Anthropic's models to consider for use when creating a message, receive the response, check if the response contains a tool call, and if it does invoke the tool to get the result. Note Anthropic's API expects requests to contain messages that alternate between the user and the assistant. In addition if you receive a tool use from the model the API expects you to respond with a message that contains the result of the tool call. The tool use content will always be from the assistant while the tool result will always be from the user. using AnthropicClient; using AnthropicClient.Models; class GetWeatherTool : ITool { public string Name => \"Get Weather\"; public string Description => \"Get the weather for a location in the specified units\"; public MethodInfo Function => typeof(GetWeatherTool).GetMethod(nameof(GetWeather))!; public static string GetWeather(string location, string units) { return $\"The weather in {location} is 72 degrees {units}\"; } } List messages = [ new( MessageRole.User, [new TextContent(\"What is the weather in New York?\")] ) ]; List tools = [Tool.CreateFromClass()]; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } messages.Add(new(MessageRole.Assistant, response.Content)); foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; case ToolUseContent toolUseContent: Console.WriteLine(toolUseContent.Name); break; } } if (response.Value.ToolCall is not null) { var toolCallResult = await response.Value.ToolCall.InvokeAsync(); string toolResultContent; if (toolCallResult.IsSuccess && toolCallResult.Value is not null) { Console.WriteLine(toolCallResult.Value); toolResultContent = toolCallResult.Value; } else { Console.WriteLine(toolCallResult.Error.Message); toolResultContent = toolCallResult.Error.Message; } messages.Add( new( MessageRole.User, [ new ToolResultContent( response.Value.ToolCall.ToolUse.Id, toolResultContent ) ] ) ); } var finalResponse = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); if (finalResponse.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", finalResponse.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", finalResponse.Error.Error.Message); return; } foreach (var content in finalResponse.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } If an exception is thrown while invoking the tool the InvokeAsync method will return a ToolCallResult with the exception contained in the Error property. Note The InvokeAsync method does accept a generic type parameter that can be used to specify the type of the Value property of the ToolCallResult. If it is not specified it will be an object. Call a tool in streamed message Tool calling is also supported when streaming the message response. The following example demonstrates how you can handle a tool call in a streamed message response. using AnthropicClient; using AnthropicClient.Models; var tool = (string location, string units) => $\"The weather in {location} is 72 degrees {units}\"; var messages = [ new( MessageRole.User, [new TextContent(\"What is the weather in New York?\")] ) ]; var tools = [Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool )]; var events = client.CreateMessageAsync(new StreamMessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); MessageResponse? response = null; await foreach (var e in events) { switch (e.Data) { case var data when data is MessageCompleteEventData msgData: response = msgData.Message; break; } } if (response is null) { Console.WriteLine(\"Failed to get message response\"); return; } messages.Add(new(MessageRole.Assistant, response.Content)); if (response?.ToolCall is not null) { var toolCallResult = await response.ToolCall.InvokeAsync(); string toolResultContent; if (toolCallResult.IsSuccess && toolCallResult.Value is not null) { toolResultContent = toolCallResult.Value; } else { toolResultContent = toolCallResult.Error.Message; } messages.Add( new( MessageRole.User, [ new ToolResultContent( response.ToolCall.ToolUse.Id, toolResultContent ) ] ) ); } var finalResponse = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, messages, tools: tools )); if (finalResponse.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", finalResponse.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", finalResponse.Error.Error.Message); return; } foreach (var content in finalResponse.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } If you do find that you need more control over how exactly provided tools are called and how the result of those tools are returned you can avoid using the InvokeAsync method and instead use the Tool and ToolUse properties of the ToolCall instance to implement your own solution. System Prompt Anthropic's models support the use of system prompts to provide additional context to the user. This can be used to provide additional information to the user or to ask for additional information from the user. This feature is covered in depth in Anthropic's API Documentation. This library aims to make using system prompts convenient by allowing you to provide the system prompts you want Anthropic's models to consider for use when creating a message. System Message You can create a system prompt by providing a string as the system parameter in the MessageRequest or StreamMessageRequest constructor. using AnthropicClient; using AnthropicClient.Models; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ], system: \"You are a internationally renowned poet. You excel at writing haikus. )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } System Messages You can create a more complex system prompt by providing a List as the systemMessages parameter in the MessageRequest or StreamMessageRequest constructor. using AnthropicClient; using AnthropicClient.Models; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ], systemMessages: [ new TextContent(\"You are a internationally renowned poet. You excel at writing haikus.\"), new TextContent(\"You have been asked to write a haiku about the ocean.\") ] )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } Prompt Caching Anthropic has recently introduced a feature called Prompt Caching that allows you to cache all or part of the prompt you send to the model. This can be used to improve the performance of your application by reducing latency and token usage. This feature is covered in depth in Anthropic's API Documentation. Note This feature is in beta and requires you to set an anthropic-beta header on your requests to use it. The value of the header should be prompt-caching-2024-07-31. When using this library you can opt-in to prompt caching by adding the required header to the HttpClient instance you provide to the AnthropicApiClient constructor. using AnthropicClient; var httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Add(\"anthropic-beta\", \"prompt-caching-2024-07-31\"); var client = new AnthropicApiClient(apiKey, httpClient); Prompt caching can be used to cache all parts of the prompt including system messages, user messages, and tools. You should refer to the Anthropic API Documentation for specifics on limitations and requirements for using prompt caching. This library aims to make using prompt caching convenient and give you complete control over what parts of the prompt are cached. Currently there is only one type of cache control available - EphemeralCacheControl. Caching System Messages System messages can be cached by providing a List as the systemMessages parameter in the MessageRequest or StreamMessageRequest constructor and having one or more of the TextContent instances have the CacheControl property set. using AnthropicClient; using AnthropicClient.Models; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"Please write a haiku about the ocean.\")] ) ], systemMessages: [ new TextContent(\"You are a internationally renowned poet. You excel at writing haikus. Please use the following as examples.\"), new TextContent(exampleHaikus, new EphemeralCacheControl()) ] )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } Caching User Messages User messages can be cached by providing a List as the messages parameter in the MessageRequest or StreamMessageRequest constructor and having one or more of the Content instances have the CacheControl property set. using AnthropicClient; using AnthropicClient.Models; var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [ new TextContent(\"Please write a haiku about the ocean. Here are some examples of haikus I like.\"), new TextContent(exampleHaikus, new EphemeralCacheControl()) ] ), ] )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; } } Caching Tools Tools can be cached by providing a List as the tools parameter in the MessageRequest or StreamMessageRequest constructor and having one or more of the Tool instances have the CacheControl property set. This property can be set after the tool is created manually or by using one of the static methods on the Tool class. using AnthropicClient; using AnthropicClient.Models; var tool = (string location, string units) => $\"The weather in {location} is 72 degrees {units}\"; var getWeatherTool = Tool.CreateFromFunction( \"Get Weather\", \"Get the weather for a location in the specified units\", tool, new EphemeralCacheControl() ); var response = await client.CreateMessageAsync(new MessageRequest( AnthropicModels.Claude3Haiku, [ new( MessageRole.User, [new TextContent(\"What is the weather in New York?\")] ) ], tools: [ // Lots of other tools // ... getWeatherTool ] )); if (response.IsSuccess is false) { Console.WriteLine($\"Failed to create message\"); Console.WriteLine($\"Error Type: {0}\", response.Error.Error.Type); Console.WriteLine($\"Error Message: {0}\", response.Error.Error.Message); return; } foreach (var content in response.Value.Content) { switch (content) { case TextContent textContent: Console.WriteLine(textContent.Text); break; case ToolUseContent toolUseContent: Console.WriteLine(toolUseContent.Name); break; } }" } } \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index 3751a33..339d4ad 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -130,6 +130,26 @@ }, "version": "" }, + { + "type": "ManagedReference", + "source_relative_path": "api/AnthropicClient.Models.CacheControl.yml", + "output": { + ".html": { + "relative_path": "api/AnthropicClient.Models.CacheControl.html" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/AnthropicClient.Models.CacheControlType.yml", + "output": { + ".html": { + "relative_path": "api/AnthropicClient.Models.CacheControlType.html" + } + }, + "version": "" + }, { "type": "ManagedReference", "source_relative_path": "api/AnthropicClient.Models.Content.yml", @@ -200,6 +220,16 @@ }, "version": "" }, + { + "type": "ManagedReference", + "source_relative_path": "api/AnthropicClient.Models.EphemeralCacheControl.yml", + "output": { + ".html": { + "relative_path": "api/AnthropicClient.Models.EphemeralCacheControl.html" + } + }, + "version": "" + }, { "type": "ManagedReference", "source_relative_path": "api/AnthropicClient.Models.Error.yml", @@ -644,11 +674,11 @@ "type": "Toc", "source_relative_path": "api/toc.yml", "output": { - ".html": { - "relative_path": "api/toc.html" - }, ".json": { "relative_path": "api/toc.json" + }, + ".html": { + "relative_path": "api/toc.html" } }, "version": "" @@ -667,11 +697,11 @@ "type": "Toc", "source_relative_path": "toc.yml", "output": { - ".html": { - "relative_path": "toc.html" - }, ".json": { "relative_path": "toc.json" + }, + ".html": { + "relative_path": "toc.html" } }, "version": "" diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index 9f2eee4..e66d539 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -481,15 +481,15 @@ references: commentId: T:AnthropicClient.Models.BaseMessageRequest fullName: AnthropicClient.Models.BaseMessageRequest nameWithType: BaseMessageRequest -- uid: AnthropicClient.Models.BaseMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Boolean,System.Collections.Generic.List{System.String}) - name: BaseMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, bool, List?) - href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest__ctor_System_String_System_Collections_Generic_List_AnthropicClient_Models_Message__System_Int32_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Decimal_System_Nullable_System_Int32__System_Nullable_System_Decimal__AnthropicClient_Models_ToolChoice_System_Collections_Generic_List_AnthropicClient_Models_Tool__System_Boolean_System_Collections_Generic_List_System_String__ - commentId: M:AnthropicClient.Models.BaseMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Boolean,System.Collections.Generic.List{System.String}) - name.vb: New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), Boolean, List(Of String)) - fullName: AnthropicClient.Models.BaseMessageRequest.BaseMessageRequest(string, System.Collections.Generic.List, int, string?, System.Collections.Generic.Dictionary?, decimal, int?, decimal?, AnthropicClient.Models.ToolChoice?, System.Collections.Generic.List?, bool, System.Collections.Generic.List?) - fullName.vb: AnthropicClient.Models.BaseMessageRequest.New(String, System.Collections.Generic.List(Of AnthropicClient.Models.Message), Integer, String, System.Collections.Generic.Dictionary(Of String, Object), Decimal, Integer?, Decimal?, AnthropicClient.Models.ToolChoice, System.Collections.Generic.List(Of AnthropicClient.Models.Tool), Boolean, System.Collections.Generic.List(Of String)) - nameWithType: BaseMessageRequest.BaseMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, bool, List?) - nameWithType.vb: BaseMessageRequest.New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), Boolean, List(Of String)) +- uid: AnthropicClient.Models.BaseMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Boolean,System.Collections.Generic.List{System.String},System.Collections.Generic.List{AnthropicClient.Models.TextContent}) + name: BaseMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, bool, List?, List?) + href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest__ctor_System_String_System_Collections_Generic_List_AnthropicClient_Models_Message__System_Int32_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Decimal_System_Nullable_System_Int32__System_Nullable_System_Decimal__AnthropicClient_Models_ToolChoice_System_Collections_Generic_List_AnthropicClient_Models_Tool__System_Boolean_System_Collections_Generic_List_System_String__System_Collections_Generic_List_AnthropicClient_Models_TextContent__ + commentId: M:AnthropicClient.Models.BaseMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Boolean,System.Collections.Generic.List{System.String},System.Collections.Generic.List{AnthropicClient.Models.TextContent}) + name.vb: New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), Boolean, List(Of String), List(Of TextContent)) + fullName: AnthropicClient.Models.BaseMessageRequest.BaseMessageRequest(string, System.Collections.Generic.List, int, string?, System.Collections.Generic.Dictionary?, decimal, int?, decimal?, AnthropicClient.Models.ToolChoice?, System.Collections.Generic.List?, bool, System.Collections.Generic.List?, System.Collections.Generic.List?) + fullName.vb: AnthropicClient.Models.BaseMessageRequest.New(String, System.Collections.Generic.List(Of AnthropicClient.Models.Message), Integer, String, System.Collections.Generic.Dictionary(Of String, Object), Decimal, Integer?, Decimal?, AnthropicClient.Models.ToolChoice, System.Collections.Generic.List(Of AnthropicClient.Models.Tool), Boolean, System.Collections.Generic.List(Of String), System.Collections.Generic.List(Of AnthropicClient.Models.TextContent)) + nameWithType: BaseMessageRequest.BaseMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, bool, List?, List?) + nameWithType.vb: BaseMessageRequest.New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), Boolean, List(Of String), List(Of TextContent)) - uid: AnthropicClient.Models.BaseMessageRequest.#ctor* name: BaseMessageRequest href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest__ctor_ @@ -591,6 +591,32 @@ references: isSpec: "True" fullName: AnthropicClient.Models.BaseMessageRequest.System nameWithType: BaseMessageRequest.System +- uid: AnthropicClient.Models.BaseMessageRequest.SystemMessages + name: SystemMessages + href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest_SystemMessages + commentId: P:AnthropicClient.Models.BaseMessageRequest.SystemMessages + fullName: AnthropicClient.Models.BaseMessageRequest.SystemMessages + nameWithType: BaseMessageRequest.SystemMessages +- uid: AnthropicClient.Models.BaseMessageRequest.SystemMessages* + name: SystemMessages + href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest_SystemMessages_ + commentId: Overload:AnthropicClient.Models.BaseMessageRequest.SystemMessages + isSpec: "True" + fullName: AnthropicClient.Models.BaseMessageRequest.SystemMessages + nameWithType: BaseMessageRequest.SystemMessages +- uid: AnthropicClient.Models.BaseMessageRequest.SystemPrompt + name: SystemPrompt + href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest_SystemPrompt + commentId: P:AnthropicClient.Models.BaseMessageRequest.SystemPrompt + fullName: AnthropicClient.Models.BaseMessageRequest.SystemPrompt + nameWithType: BaseMessageRequest.SystemPrompt +- uid: AnthropicClient.Models.BaseMessageRequest.SystemPrompt* + name: SystemPrompt + href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest_SystemPrompt_ + commentId: Overload:AnthropicClient.Models.BaseMessageRequest.SystemPrompt + isSpec: "True" + fullName: AnthropicClient.Models.BaseMessageRequest.SystemPrompt + nameWithType: BaseMessageRequest.SystemPrompt - uid: AnthropicClient.Models.BaseMessageRequest.Temperature name: Temperature href: api/AnthropicClient.Models.BaseMessageRequest.html#AnthropicClient_Models_BaseMessageRequest_Temperature @@ -656,6 +682,56 @@ references: isSpec: "True" fullName: AnthropicClient.Models.BaseMessageRequest.TopP nameWithType: BaseMessageRequest.TopP +- uid: AnthropicClient.Models.CacheControl + name: CacheControl + href: api/AnthropicClient.Models.CacheControl.html + commentId: T:AnthropicClient.Models.CacheControl + fullName: AnthropicClient.Models.CacheControl + nameWithType: CacheControl +- uid: AnthropicClient.Models.CacheControl.#ctor(System.String) + name: CacheControl(string) + href: api/AnthropicClient.Models.CacheControl.html#AnthropicClient_Models_CacheControl__ctor_System_String_ + commentId: M:AnthropicClient.Models.CacheControl.#ctor(System.String) + name.vb: New(String) + fullName: AnthropicClient.Models.CacheControl.CacheControl(string) + fullName.vb: AnthropicClient.Models.CacheControl.New(String) + nameWithType: CacheControl.CacheControl(string) + nameWithType.vb: CacheControl.New(String) +- uid: AnthropicClient.Models.CacheControl.#ctor* + name: CacheControl + href: api/AnthropicClient.Models.CacheControl.html#AnthropicClient_Models_CacheControl__ctor_ + commentId: Overload:AnthropicClient.Models.CacheControl.#ctor + isSpec: "True" + name.vb: New + fullName: AnthropicClient.Models.CacheControl.CacheControl + fullName.vb: AnthropicClient.Models.CacheControl.New + nameWithType: CacheControl.CacheControl + nameWithType.vb: CacheControl.New +- uid: AnthropicClient.Models.CacheControl.Type + name: Type + href: api/AnthropicClient.Models.CacheControl.html#AnthropicClient_Models_CacheControl_Type + commentId: P:AnthropicClient.Models.CacheControl.Type + fullName: AnthropicClient.Models.CacheControl.Type + nameWithType: CacheControl.Type +- uid: AnthropicClient.Models.CacheControl.Type* + name: Type + href: api/AnthropicClient.Models.CacheControl.html#AnthropicClient_Models_CacheControl_Type_ + commentId: Overload:AnthropicClient.Models.CacheControl.Type + isSpec: "True" + fullName: AnthropicClient.Models.CacheControl.Type + nameWithType: CacheControl.Type +- uid: AnthropicClient.Models.CacheControlType + name: CacheControlType + href: api/AnthropicClient.Models.CacheControlType.html + commentId: T:AnthropicClient.Models.CacheControlType + fullName: AnthropicClient.Models.CacheControlType + nameWithType: CacheControlType +- uid: AnthropicClient.Models.CacheControlType.Ephemeral + name: Ephemeral + href: api/AnthropicClient.Models.CacheControlType.html#AnthropicClient_Models_CacheControlType_Ephemeral + commentId: F:AnthropicClient.Models.CacheControlType.Ephemeral + fullName: AnthropicClient.Models.CacheControlType.Ephemeral + nameWithType: CacheControlType.Ephemeral - uid: AnthropicClient.Models.Content name: Content href: api/AnthropicClient.Models.Content.html @@ -671,6 +747,15 @@ references: fullName.vb: AnthropicClient.Models.Content.New(String) nameWithType: Content.Content(string) nameWithType.vb: Content.New(String) +- uid: AnthropicClient.Models.Content.#ctor(System.String,AnthropicClient.Models.CacheControl) + name: Content(string, CacheControl) + href: api/AnthropicClient.Models.Content.html#AnthropicClient_Models_Content__ctor_System_String_AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.Content.#ctor(System.String,AnthropicClient.Models.CacheControl) + name.vb: New(String, CacheControl) + fullName: AnthropicClient.Models.Content.Content(string, AnthropicClient.Models.CacheControl) + fullName.vb: AnthropicClient.Models.Content.New(String, AnthropicClient.Models.CacheControl) + nameWithType: Content.Content(string, CacheControl) + nameWithType.vb: Content.New(String, CacheControl) - uid: AnthropicClient.Models.Content.#ctor* name: Content href: api/AnthropicClient.Models.Content.html#AnthropicClient_Models_Content__ctor_ @@ -681,6 +766,19 @@ references: fullName.vb: AnthropicClient.Models.Content.New nameWithType: Content.Content nameWithType.vb: Content.New +- uid: AnthropicClient.Models.Content.CacheControl + name: CacheControl + href: api/AnthropicClient.Models.Content.html#AnthropicClient_Models_Content_CacheControl + commentId: P:AnthropicClient.Models.Content.CacheControl + fullName: AnthropicClient.Models.Content.CacheControl + nameWithType: Content.CacheControl +- uid: AnthropicClient.Models.Content.CacheControl* + name: CacheControl + href: api/AnthropicClient.Models.Content.html#AnthropicClient_Models_Content_CacheControl_ + commentId: Overload:AnthropicClient.Models.Content.CacheControl + isSpec: "True" + fullName: AnthropicClient.Models.Content.CacheControl + nameWithType: Content.CacheControl - uid: AnthropicClient.Models.Content.Type name: Type href: api/AnthropicClient.Models.Content.html#AnthropicClient_Models_Content_Type @@ -920,6 +1018,31 @@ references: commentId: F:AnthropicClient.Models.ContentType.ToolUse fullName: AnthropicClient.Models.ContentType.ToolUse nameWithType: ContentType.ToolUse +- uid: AnthropicClient.Models.EphemeralCacheControl + name: EphemeralCacheControl + href: api/AnthropicClient.Models.EphemeralCacheControl.html + commentId: T:AnthropicClient.Models.EphemeralCacheControl + fullName: AnthropicClient.Models.EphemeralCacheControl + nameWithType: EphemeralCacheControl +- uid: AnthropicClient.Models.EphemeralCacheControl.#ctor + name: EphemeralCacheControl() + href: api/AnthropicClient.Models.EphemeralCacheControl.html#AnthropicClient_Models_EphemeralCacheControl__ctor + commentId: M:AnthropicClient.Models.EphemeralCacheControl.#ctor + name.vb: New() + fullName: AnthropicClient.Models.EphemeralCacheControl.EphemeralCacheControl() + fullName.vb: AnthropicClient.Models.EphemeralCacheControl.New() + nameWithType: EphemeralCacheControl.EphemeralCacheControl() + nameWithType.vb: EphemeralCacheControl.New() +- uid: AnthropicClient.Models.EphemeralCacheControl.#ctor* + name: EphemeralCacheControl + href: api/AnthropicClient.Models.EphemeralCacheControl.html#AnthropicClient_Models_EphemeralCacheControl__ctor_ + commentId: Overload:AnthropicClient.Models.EphemeralCacheControl.#ctor + isSpec: "True" + name.vb: New + fullName: AnthropicClient.Models.EphemeralCacheControl.EphemeralCacheControl + fullName.vb: AnthropicClient.Models.EphemeralCacheControl.New + nameWithType: EphemeralCacheControl.EphemeralCacheControl + nameWithType.vb: EphemeralCacheControl.New - uid: AnthropicClient.Models.Error name: Error href: api/AnthropicClient.Models.Error.html @@ -1356,6 +1479,15 @@ references: fullName.vb: AnthropicClient.Models.ImageContent.New(String, String) nameWithType: ImageContent.ImageContent(string, string) nameWithType.vb: ImageContent.New(String, String) +- uid: AnthropicClient.Models.ImageContent.#ctor(System.String,System.String,AnthropicClient.Models.CacheControl) + name: ImageContent(string, string, CacheControl) + href: api/AnthropicClient.Models.ImageContent.html#AnthropicClient_Models_ImageContent__ctor_System_String_System_String_AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.ImageContent.#ctor(System.String,System.String,AnthropicClient.Models.CacheControl) + name.vb: New(String, String, CacheControl) + fullName: AnthropicClient.Models.ImageContent.ImageContent(string, string, AnthropicClient.Models.CacheControl) + fullName.vb: AnthropicClient.Models.ImageContent.New(String, String, AnthropicClient.Models.CacheControl) + nameWithType: ImageContent.ImageContent(string, string, CacheControl) + nameWithType.vb: ImageContent.New(String, String, CacheControl) - uid: AnthropicClient.Models.ImageContent.#ctor* name: ImageContent href: api/AnthropicClient.Models.ImageContent.html#AnthropicClient_Models_ImageContent__ctor_ @@ -1861,15 +1993,15 @@ references: commentId: T:AnthropicClient.Models.MessageRequest fullName: AnthropicClient.Models.MessageRequest nameWithType: MessageRequest -- uid: AnthropicClient.Models.MessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String}) - name: MessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?) - href: api/AnthropicClient.Models.MessageRequest.html#AnthropicClient_Models_MessageRequest__ctor_System_String_System_Collections_Generic_List_AnthropicClient_Models_Message__System_Int32_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Decimal_System_Nullable_System_Int32__System_Nullable_System_Decimal__AnthropicClient_Models_ToolChoice_System_Collections_Generic_List_AnthropicClient_Models_Tool__System_Collections_Generic_List_System_String__ - commentId: M:AnthropicClient.Models.MessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String}) - name.vb: New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String)) - fullName: AnthropicClient.Models.MessageRequest.MessageRequest(string, System.Collections.Generic.List, int, string?, System.Collections.Generic.Dictionary?, decimal, int?, decimal?, AnthropicClient.Models.ToolChoice?, System.Collections.Generic.List?, System.Collections.Generic.List?) - fullName.vb: AnthropicClient.Models.MessageRequest.New(String, System.Collections.Generic.List(Of AnthropicClient.Models.Message), Integer, String, System.Collections.Generic.Dictionary(Of String, Object), Decimal, Integer?, Decimal?, AnthropicClient.Models.ToolChoice, System.Collections.Generic.List(Of AnthropicClient.Models.Tool), System.Collections.Generic.List(Of String)) - nameWithType: MessageRequest.MessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?) - nameWithType.vb: MessageRequest.New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String)) +- uid: AnthropicClient.Models.MessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String},System.Collections.Generic.List{AnthropicClient.Models.TextContent}) + name: MessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?, List?) + href: api/AnthropicClient.Models.MessageRequest.html#AnthropicClient_Models_MessageRequest__ctor_System_String_System_Collections_Generic_List_AnthropicClient_Models_Message__System_Int32_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Decimal_System_Nullable_System_Int32__System_Nullable_System_Decimal__AnthropicClient_Models_ToolChoice_System_Collections_Generic_List_AnthropicClient_Models_Tool__System_Collections_Generic_List_System_String__System_Collections_Generic_List_AnthropicClient_Models_TextContent__ + commentId: M:AnthropicClient.Models.MessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String},System.Collections.Generic.List{AnthropicClient.Models.TextContent}) + name.vb: New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String), List(Of TextContent)) + fullName: AnthropicClient.Models.MessageRequest.MessageRequest(string, System.Collections.Generic.List, int, string?, System.Collections.Generic.Dictionary?, decimal, int?, decimal?, AnthropicClient.Models.ToolChoice?, System.Collections.Generic.List?, System.Collections.Generic.List?, System.Collections.Generic.List?) + fullName.vb: AnthropicClient.Models.MessageRequest.New(String, System.Collections.Generic.List(Of AnthropicClient.Models.Message), Integer, String, System.Collections.Generic.Dictionary(Of String, Object), Decimal, Integer?, Decimal?, AnthropicClient.Models.ToolChoice, System.Collections.Generic.List(Of AnthropicClient.Models.Tool), System.Collections.Generic.List(Of String), System.Collections.Generic.List(Of AnthropicClient.Models.TextContent)) + nameWithType: MessageRequest.MessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?, List?) + nameWithType.vb: MessageRequest.New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String), List(Of TextContent)) - uid: AnthropicClient.Models.MessageRequest.#ctor* name: MessageRequest href: api/AnthropicClient.Models.MessageRequest.html#AnthropicClient_Models_MessageRequest__ctor_ @@ -2283,15 +2415,15 @@ references: commentId: T:AnthropicClient.Models.StreamMessageRequest fullName: AnthropicClient.Models.StreamMessageRequest nameWithType: StreamMessageRequest -- uid: AnthropicClient.Models.StreamMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String}) - name: StreamMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?) - href: api/AnthropicClient.Models.StreamMessageRequest.html#AnthropicClient_Models_StreamMessageRequest__ctor_System_String_System_Collections_Generic_List_AnthropicClient_Models_Message__System_Int32_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Decimal_System_Nullable_System_Int32__System_Nullable_System_Decimal__AnthropicClient_Models_ToolChoice_System_Collections_Generic_List_AnthropicClient_Models_Tool__System_Collections_Generic_List_System_String__ - commentId: M:AnthropicClient.Models.StreamMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String}) - name.vb: New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String)) - fullName: AnthropicClient.Models.StreamMessageRequest.StreamMessageRequest(string, System.Collections.Generic.List, int, string?, System.Collections.Generic.Dictionary?, decimal, int?, decimal?, AnthropicClient.Models.ToolChoice?, System.Collections.Generic.List?, System.Collections.Generic.List?) - fullName.vb: AnthropicClient.Models.StreamMessageRequest.New(String, System.Collections.Generic.List(Of AnthropicClient.Models.Message), Integer, String, System.Collections.Generic.Dictionary(Of String, Object), Decimal, Integer?, Decimal?, AnthropicClient.Models.ToolChoice, System.Collections.Generic.List(Of AnthropicClient.Models.Tool), System.Collections.Generic.List(Of String)) - nameWithType: StreamMessageRequest.StreamMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?) - nameWithType.vb: StreamMessageRequest.New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String)) +- uid: AnthropicClient.Models.StreamMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String},System.Collections.Generic.List{AnthropicClient.Models.TextContent}) + name: StreamMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?, List?) + href: api/AnthropicClient.Models.StreamMessageRequest.html#AnthropicClient_Models_StreamMessageRequest__ctor_System_String_System_Collections_Generic_List_AnthropicClient_Models_Message__System_Int32_System_String_System_Collections_Generic_Dictionary_System_String_System_Object__System_Decimal_System_Nullable_System_Int32__System_Nullable_System_Decimal__AnthropicClient_Models_ToolChoice_System_Collections_Generic_List_AnthropicClient_Models_Tool__System_Collections_Generic_List_System_String__System_Collections_Generic_List_AnthropicClient_Models_TextContent__ + commentId: M:AnthropicClient.Models.StreamMessageRequest.#ctor(System.String,System.Collections.Generic.List{AnthropicClient.Models.Message},System.Int32,System.String,System.Collections.Generic.Dictionary{System.String,System.Object},System.Decimal,System.Nullable{System.Int32},System.Nullable{System.Decimal},AnthropicClient.Models.ToolChoice,System.Collections.Generic.List{AnthropicClient.Models.Tool},System.Collections.Generic.List{System.String},System.Collections.Generic.List{AnthropicClient.Models.TextContent}) + name.vb: New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String), List(Of TextContent)) + fullName: AnthropicClient.Models.StreamMessageRequest.StreamMessageRequest(string, System.Collections.Generic.List, int, string?, System.Collections.Generic.Dictionary?, decimal, int?, decimal?, AnthropicClient.Models.ToolChoice?, System.Collections.Generic.List?, System.Collections.Generic.List?, System.Collections.Generic.List?) + fullName.vb: AnthropicClient.Models.StreamMessageRequest.New(String, System.Collections.Generic.List(Of AnthropicClient.Models.Message), Integer, String, System.Collections.Generic.Dictionary(Of String, Object), Decimal, Integer?, Decimal?, AnthropicClient.Models.ToolChoice, System.Collections.Generic.List(Of AnthropicClient.Models.Tool), System.Collections.Generic.List(Of String), System.Collections.Generic.List(Of AnthropicClient.Models.TextContent)) + nameWithType: StreamMessageRequest.StreamMessageRequest(string, List, int, string?, Dictionary?, decimal, int?, decimal?, ToolChoice?, List?, List?, List?) + nameWithType.vb: StreamMessageRequest.New(String, List(Of Message), Integer, String, Dictionary(Of String, Object), Decimal, Integer?, Decimal?, ToolChoice, List(Of Tool), List(Of String), List(Of TextContent)) - uid: AnthropicClient.Models.StreamMessageRequest.#ctor* name: StreamMessageRequest href: api/AnthropicClient.Models.StreamMessageRequest.html#AnthropicClient_Models_StreamMessageRequest__ctor_ @@ -2317,6 +2449,15 @@ references: fullName.vb: AnthropicClient.Models.TextContent.New(String) nameWithType: TextContent.TextContent(string) nameWithType.vb: TextContent.New(String) +- uid: AnthropicClient.Models.TextContent.#ctor(System.String,AnthropicClient.Models.CacheControl) + name: TextContent(string, CacheControl) + href: api/AnthropicClient.Models.TextContent.html#AnthropicClient_Models_TextContent__ctor_System_String_AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.TextContent.#ctor(System.String,AnthropicClient.Models.CacheControl) + name.vb: New(String, CacheControl) + fullName: AnthropicClient.Models.TextContent.TextContent(string, AnthropicClient.Models.CacheControl) + fullName.vb: AnthropicClient.Models.TextContent.New(String, AnthropicClient.Models.CacheControl) + nameWithType: TextContent.TextContent(string, CacheControl) + nameWithType.vb: TextContent.New(String, CacheControl) - uid: AnthropicClient.Models.TextContent.#ctor* name: TextContent href: api/AnthropicClient.Models.TextContent.html#AnthropicClient_Models_TextContent__ctor_ @@ -2384,6 +2525,19 @@ references: commentId: T:AnthropicClient.Models.Tool fullName: AnthropicClient.Models.Tool nameWithType: Tool +- uid: AnthropicClient.Models.Tool.CacheControl + name: CacheControl + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CacheControl + commentId: P:AnthropicClient.Models.Tool.CacheControl + fullName: AnthropicClient.Models.Tool.CacheControl + nameWithType: Tool.CacheControl +- uid: AnthropicClient.Models.Tool.CacheControl* + name: CacheControl + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CacheControl_ + commentId: Overload:AnthropicClient.Models.Tool.CacheControl + isSpec: "True" + fullName: AnthropicClient.Models.Tool.CacheControl + nameWithType: Tool.CacheControl - uid: AnthropicClient.Models.Tool.CreateFromClass* name: CreateFromClass href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromClass_ @@ -2391,15 +2545,15 @@ references: isSpec: "True" fullName: AnthropicClient.Models.Tool.CreateFromClass nameWithType: Tool.CreateFromClass -- uid: AnthropicClient.Models.Tool.CreateFromClass``1 - name: CreateFromClass() - href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromClass__1 - commentId: M:AnthropicClient.Models.Tool.CreateFromClass``1 - name.vb: CreateFromClass(Of T)() - fullName: AnthropicClient.Models.Tool.CreateFromClass() - fullName.vb: AnthropicClient.Models.Tool.CreateFromClass(Of T)() - nameWithType: Tool.CreateFromClass() - nameWithType.vb: Tool.CreateFromClass(Of T)() +- uid: AnthropicClient.Models.Tool.CreateFromClass``1(AnthropicClient.Models.CacheControl) + name: CreateFromClass(CacheControl?) + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromClass__1_AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.Tool.CreateFromClass``1(AnthropicClient.Models.CacheControl) + name.vb: CreateFromClass(Of T)(CacheControl) + fullName: AnthropicClient.Models.Tool.CreateFromClass(AnthropicClient.Models.CacheControl?) + fullName.vb: AnthropicClient.Models.Tool.CreateFromClass(Of T)(AnthropicClient.Models.CacheControl) + nameWithType: Tool.CreateFromClass(CacheControl?) + nameWithType.vb: Tool.CreateFromClass(Of T)(CacheControl) - uid: AnthropicClient.Models.Tool.CreateFromFunction* name: CreateFromFunction href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromFunction_ @@ -2407,42 +2561,42 @@ references: isSpec: "True" fullName: AnthropicClient.Models.Tool.CreateFromFunction nameWithType: Tool.CreateFromFunction -- uid: AnthropicClient.Models.Tool.CreateFromFunction``1(System.String,System.String,System.Func{``0}) - name: CreateFromFunction(string, string, Func) - href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromFunction__1_System_String_System_String_System_Func___0__ - commentId: M:AnthropicClient.Models.Tool.CreateFromFunction``1(System.String,System.String,System.Func{``0}) - name.vb: CreateFromFunction(Of TResult)(String, String, Func(Of TResult)) - fullName: AnthropicClient.Models.Tool.CreateFromFunction(string, string, System.Func) - fullName.vb: AnthropicClient.Models.Tool.CreateFromFunction(Of TResult)(String, String, System.Func(Of TResult)) - nameWithType: Tool.CreateFromFunction(string, string, Func) - nameWithType.vb: Tool.CreateFromFunction(Of TResult)(String, String, Func(Of TResult)) -- uid: AnthropicClient.Models.Tool.CreateFromFunction``2(System.String,System.String,System.Func{``0,``1}) - name: CreateFromFunction(string, string, Func) - href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromFunction__2_System_String_System_String_System_Func___0___1__ - commentId: M:AnthropicClient.Models.Tool.CreateFromFunction``2(System.String,System.String,System.Func{``0,``1}) - name.vb: CreateFromFunction(Of T1, TResult)(String, String, Func(Of T1, TResult)) - fullName: AnthropicClient.Models.Tool.CreateFromFunction(string, string, System.Func) - fullName.vb: AnthropicClient.Models.Tool.CreateFromFunction(Of T1, TResult)(String, String, System.Func(Of T1, TResult)) - nameWithType: Tool.CreateFromFunction(string, string, Func) - nameWithType.vb: Tool.CreateFromFunction(Of T1, TResult)(String, String, Func(Of T1, TResult)) -- uid: AnthropicClient.Models.Tool.CreateFromFunction``3(System.String,System.String,System.Func{``0,``1,``2}) - name: CreateFromFunction(string, string, Func) - href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromFunction__3_System_String_System_String_System_Func___0___1___2__ - commentId: M:AnthropicClient.Models.Tool.CreateFromFunction``3(System.String,System.String,System.Func{``0,``1,``2}) - name.vb: CreateFromFunction(Of T1, T2, TResult)(String, String, Func(Of T1, T2, TResult)) - fullName: AnthropicClient.Models.Tool.CreateFromFunction(string, string, System.Func) - fullName.vb: AnthropicClient.Models.Tool.CreateFromFunction(Of T1, T2, TResult)(String, String, System.Func(Of T1, T2, TResult)) - nameWithType: Tool.CreateFromFunction(string, string, Func) - nameWithType.vb: Tool.CreateFromFunction(Of T1, T2, TResult)(String, String, Func(Of T1, T2, TResult)) -- uid: AnthropicClient.Models.Tool.CreateFromInstanceMethod(System.String,System.String,System.Object,System.String) - name: CreateFromInstanceMethod(string, string, object, string) - href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromInstanceMethod_System_String_System_String_System_Object_System_String_ - commentId: M:AnthropicClient.Models.Tool.CreateFromInstanceMethod(System.String,System.String,System.Object,System.String) - name.vb: CreateFromInstanceMethod(String, String, Object, String) - fullName: AnthropicClient.Models.Tool.CreateFromInstanceMethod(string, string, object, string) - fullName.vb: AnthropicClient.Models.Tool.CreateFromInstanceMethod(String, String, Object, String) - nameWithType: Tool.CreateFromInstanceMethod(string, string, object, string) - nameWithType.vb: Tool.CreateFromInstanceMethod(String, String, Object, String) +- uid: AnthropicClient.Models.Tool.CreateFromFunction``1(System.String,System.String,System.Func{``0},AnthropicClient.Models.CacheControl) + name: CreateFromFunction(string, string, Func, CacheControl?) + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromFunction__1_System_String_System_String_System_Func___0__AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.Tool.CreateFromFunction``1(System.String,System.String,System.Func{``0},AnthropicClient.Models.CacheControl) + name.vb: CreateFromFunction(Of TResult)(String, String, Func(Of TResult), CacheControl) + fullName: AnthropicClient.Models.Tool.CreateFromFunction(string, string, System.Func, AnthropicClient.Models.CacheControl?) + fullName.vb: AnthropicClient.Models.Tool.CreateFromFunction(Of TResult)(String, String, System.Func(Of TResult), AnthropicClient.Models.CacheControl) + nameWithType: Tool.CreateFromFunction(string, string, Func, CacheControl?) + nameWithType.vb: Tool.CreateFromFunction(Of TResult)(String, String, Func(Of TResult), CacheControl) +- uid: AnthropicClient.Models.Tool.CreateFromFunction``2(System.String,System.String,System.Func{``0,``1},AnthropicClient.Models.CacheControl) + name: CreateFromFunction(string, string, Func, CacheControl?) + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromFunction__2_System_String_System_String_System_Func___0___1__AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.Tool.CreateFromFunction``2(System.String,System.String,System.Func{``0,``1},AnthropicClient.Models.CacheControl) + name.vb: CreateFromFunction(Of T1, TResult)(String, String, Func(Of T1, TResult), CacheControl) + fullName: AnthropicClient.Models.Tool.CreateFromFunction(string, string, System.Func, AnthropicClient.Models.CacheControl?) + fullName.vb: AnthropicClient.Models.Tool.CreateFromFunction(Of T1, TResult)(String, String, System.Func(Of T1, TResult), AnthropicClient.Models.CacheControl) + nameWithType: Tool.CreateFromFunction(string, string, Func, CacheControl?) + nameWithType.vb: Tool.CreateFromFunction(Of T1, TResult)(String, String, Func(Of T1, TResult), CacheControl) +- uid: AnthropicClient.Models.Tool.CreateFromFunction``3(System.String,System.String,System.Func{``0,``1,``2},AnthropicClient.Models.CacheControl) + name: CreateFromFunction(string, string, Func, CacheControl?) + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromFunction__3_System_String_System_String_System_Func___0___1___2__AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.Tool.CreateFromFunction``3(System.String,System.String,System.Func{``0,``1,``2},AnthropicClient.Models.CacheControl) + name.vb: CreateFromFunction(Of T1, T2, TResult)(String, String, Func(Of T1, T2, TResult), CacheControl) + fullName: AnthropicClient.Models.Tool.CreateFromFunction(string, string, System.Func, AnthropicClient.Models.CacheControl?) + fullName.vb: AnthropicClient.Models.Tool.CreateFromFunction(Of T1, T2, TResult)(String, String, System.Func(Of T1, T2, TResult), AnthropicClient.Models.CacheControl) + nameWithType: Tool.CreateFromFunction(string, string, Func, CacheControl?) + nameWithType.vb: Tool.CreateFromFunction(Of T1, T2, TResult)(String, String, Func(Of T1, T2, TResult), CacheControl) +- uid: AnthropicClient.Models.Tool.CreateFromInstanceMethod(System.String,System.String,System.Object,System.String,AnthropicClient.Models.CacheControl) + name: CreateFromInstanceMethod(string, string, object, string, CacheControl?) + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromInstanceMethod_System_String_System_String_System_Object_System_String_AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.Tool.CreateFromInstanceMethod(System.String,System.String,System.Object,System.String,AnthropicClient.Models.CacheControl) + name.vb: CreateFromInstanceMethod(String, String, Object, String, CacheControl) + fullName: AnthropicClient.Models.Tool.CreateFromInstanceMethod(string, string, object, string, AnthropicClient.Models.CacheControl?) + fullName.vb: AnthropicClient.Models.Tool.CreateFromInstanceMethod(String, String, Object, String, AnthropicClient.Models.CacheControl) + nameWithType: Tool.CreateFromInstanceMethod(string, string, object, string, CacheControl?) + nameWithType.vb: Tool.CreateFromInstanceMethod(String, String, Object, String, CacheControl) - uid: AnthropicClient.Models.Tool.CreateFromInstanceMethod* name: CreateFromInstanceMethod href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromInstanceMethod_ @@ -2450,15 +2604,15 @@ references: isSpec: "True" fullName: AnthropicClient.Models.Tool.CreateFromInstanceMethod nameWithType: Tool.CreateFromInstanceMethod -- uid: AnthropicClient.Models.Tool.CreateFromStaticMethod(System.String,System.String,System.Type,System.String) - name: CreateFromStaticMethod(string, string, Type, string) - href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromStaticMethod_System_String_System_String_System_Type_System_String_ - commentId: M:AnthropicClient.Models.Tool.CreateFromStaticMethod(System.String,System.String,System.Type,System.String) - name.vb: CreateFromStaticMethod(String, String, Type, String) - fullName: AnthropicClient.Models.Tool.CreateFromStaticMethod(string, string, System.Type, string) - fullName.vb: AnthropicClient.Models.Tool.CreateFromStaticMethod(String, String, System.Type, String) - nameWithType: Tool.CreateFromStaticMethod(string, string, Type, string) - nameWithType.vb: Tool.CreateFromStaticMethod(String, String, Type, String) +- uid: AnthropicClient.Models.Tool.CreateFromStaticMethod(System.String,System.String,System.Type,System.String,AnthropicClient.Models.CacheControl) + name: CreateFromStaticMethod(string, string, Type, string, CacheControl?) + href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromStaticMethod_System_String_System_String_System_Type_System_String_AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.Tool.CreateFromStaticMethod(System.String,System.String,System.Type,System.String,AnthropicClient.Models.CacheControl) + name.vb: CreateFromStaticMethod(String, String, Type, String, CacheControl) + fullName: AnthropicClient.Models.Tool.CreateFromStaticMethod(string, string, System.Type, string, AnthropicClient.Models.CacheControl?) + fullName.vb: AnthropicClient.Models.Tool.CreateFromStaticMethod(String, String, System.Type, String, AnthropicClient.Models.CacheControl) + nameWithType: Tool.CreateFromStaticMethod(string, string, Type, string, CacheControl?) + nameWithType.vb: Tool.CreateFromStaticMethod(String, String, Type, String, CacheControl) - uid: AnthropicClient.Models.Tool.CreateFromStaticMethod* name: CreateFromStaticMethod href: api/AnthropicClient.Models.Tool.html#AnthropicClient_Models_Tool_CreateFromStaticMethod_ @@ -2812,6 +2966,15 @@ references: fullName.vb: AnthropicClient.Models.ToolResultContent.New(String, String) nameWithType: ToolResultContent.ToolResultContent(string, string) nameWithType.vb: ToolResultContent.New(String, String) +- uid: AnthropicClient.Models.ToolResultContent.#ctor(System.String,System.String,AnthropicClient.Models.CacheControl) + name: ToolResultContent(string, string, CacheControl) + href: api/AnthropicClient.Models.ToolResultContent.html#AnthropicClient_Models_ToolResultContent__ctor_System_String_System_String_AnthropicClient_Models_CacheControl_ + commentId: M:AnthropicClient.Models.ToolResultContent.#ctor(System.String,System.String,AnthropicClient.Models.CacheControl) + name.vb: New(String, String, CacheControl) + fullName: AnthropicClient.Models.ToolResultContent.ToolResultContent(string, string, AnthropicClient.Models.CacheControl) + fullName.vb: AnthropicClient.Models.ToolResultContent.New(String, String, AnthropicClient.Models.CacheControl) + nameWithType: ToolResultContent.ToolResultContent(string, string, CacheControl) + nameWithType.vb: ToolResultContent.New(String, String, CacheControl) - uid: AnthropicClient.Models.ToolResultContent.#ctor* name: ToolResultContent href: api/AnthropicClient.Models.ToolResultContent.html#AnthropicClient_Models_ToolResultContent__ctor_ @@ -2918,6 +3081,32 @@ references: commentId: T:AnthropicClient.Models.Usage fullName: AnthropicClient.Models.Usage nameWithType: Usage +- uid: AnthropicClient.Models.Usage.CacheCreationInputTokens + name: CacheCreationInputTokens + href: api/AnthropicClient.Models.Usage.html#AnthropicClient_Models_Usage_CacheCreationInputTokens + commentId: P:AnthropicClient.Models.Usage.CacheCreationInputTokens + fullName: AnthropicClient.Models.Usage.CacheCreationInputTokens + nameWithType: Usage.CacheCreationInputTokens +- uid: AnthropicClient.Models.Usage.CacheCreationInputTokens* + name: CacheCreationInputTokens + href: api/AnthropicClient.Models.Usage.html#AnthropicClient_Models_Usage_CacheCreationInputTokens_ + commentId: Overload:AnthropicClient.Models.Usage.CacheCreationInputTokens + isSpec: "True" + fullName: AnthropicClient.Models.Usage.CacheCreationInputTokens + nameWithType: Usage.CacheCreationInputTokens +- uid: AnthropicClient.Models.Usage.CacheReadInputTokens + name: CacheReadInputTokens + href: api/AnthropicClient.Models.Usage.html#AnthropicClient_Models_Usage_CacheReadInputTokens + commentId: P:AnthropicClient.Models.Usage.CacheReadInputTokens + fullName: AnthropicClient.Models.Usage.CacheReadInputTokens + nameWithType: Usage.CacheReadInputTokens +- uid: AnthropicClient.Models.Usage.CacheReadInputTokens* + name: CacheReadInputTokens + href: api/AnthropicClient.Models.Usage.html#AnthropicClient_Models_Usage_CacheReadInputTokens_ + commentId: Overload:AnthropicClient.Models.Usage.CacheReadInputTokens + isSpec: "True" + fullName: AnthropicClient.Models.Usage.CacheReadInputTokens + nameWithType: Usage.CacheReadInputTokens - uid: AnthropicClient.Models.Usage.InputTokens name: InputTokens href: api/AnthropicClient.Models.Usage.html#AnthropicClient_Models_Usage_InputTokens