Agents Llm Client
Interfaces
Interfaces
ModelConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
contextWindow | number | Yes | |
costPer1MInput | number | Yes | |
costPer1MOutput | number | Yes | |
costPer1MCacheWrite | number | undefined | No | |
costPer1MCacheRead | number | undefined | No |
ProviderConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
apiKey | string | undefined | No | |
baseUrl | string | undefined | No | |
models | Record<string, ModelConfig> | Yes |
LLMClientConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
provider | LLMProvider | Yes | |
model | string | Yes | |
apiKey | string | undefined | No | |
baseUrl | string | undefined | No | |
environment | "node" | "browser" | undefined | No | |
proxyUrl | string | undefined | No | |
temperature | number | undefined | No | |
maxTokens | number | undefined | No | |
retry | RetryConfig | undefined | No | |
logging | LoggingConfig | undefined | No | |
budget | BudgetConfig | undefined | No | |
onRequest | ((request: LLMRequest) => void) | undefined | No | |
onResponse | ((response: LLMResponse) => void) | undefined | No | |
onError | ((error: Error) => void) | undefined | No | |
onStreamStart | ((event: StreamStartEvent) => void) | undefined | No | |
onStreamEnd | ((event: StreamEndEvent) => void) | undefined | No | |
ams | AMSConfig | undefined | No | |
knowledgeStore | KnowledgeStoreConfig | undefined | No |
RetryConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
maxAttempts | number | undefined | No | |
initialDelayMs | number | undefined | No | |
maxDelayMs | number | undefined | No | |
backoffMultiplier | number | undefined | No | |
retryableErrors | string[] | undefined | No | |
onRetry | ((attempt: number, error: Error) => void) | undefined | No |
LoggingConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
level | "debug" | "info" | "warn" | "error" | "none" | undefined | No | |
logger | Logger | undefined | No | |
logRequests | boolean | undefined | No | |
logResponses | boolean | undefined | No | |
logTokenUsage | boolean | undefined | No | |
redactApiKey | boolean | undefined | No |
Logger
BudgetConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
maxCostPerRequest | number | undefined | No | |
maxTokensPerRequest | number | undefined | No | |
dailyBudget | number | undefined | No | |
onBudgetExceeded | ((spent: number, limit: number) => void) | undefined | No |
AMSConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
client | any | Yes | |
sessionId | string | Yes | |
namespace | string | Yes | |
contextWindowMax | number | undefined | No | |
autoSave | boolean | undefined | No | |
includeContextByDefault | boolean | undefined | No | |
useMemoryPromptApi | boolean | undefined | No | Use Memory Prompt API instead of manual message building. |
| When enabled, LLMClient will use AMS's getMemoryPrompt method | |||
| to construct the message array with proper context management. | |||
modelName | string | undefined | No | Model name for token counting. |
| Required when useMemoryPromptApi is true. | |||
| Used by AMS to calculate token budgets for context window management. |
KnowledgeStoreConfig
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
client | any | Yes | |
agentId | string | Yes | |
autoEnhancePrompt | boolean | undefined | No | |
knowledgeTypes | string[] | undefined | No | |
maxKnowledgeItems | number | undefined | No | |
minImportance | number | undefined | No |
QueryParams
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | |
systemPrompt | string | undefined | No | |
temperature | number | undefined | No | |
maxTokens | number | undefined | No | |
tools | Record<string, ToolDefinition> | undefined | No | |
toolChoice | "none" | "auto" | "required" | undefined | No | |
maxToolRoundtrips | number | undefined | No | |
includeAMSContext | boolean | undefined | No | |
saveToAMS | boolean | undefined | No | |
responseFormat | "text" | "json" | undefined | No | |
schema | ZodSchema<any, import("/Users/sthornock/code/epic/epic-flowstate/node_modules/zod/index").ZodTypeDef, any> | undefined | No |
ToolDefinition
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
description | string | Yes | |
parameters | ZodSchema<any, import("/Users/sthornock/code/epic/epic-flowstate/node_modules/zod/index").ZodTypeDef, any> | Yes | |
execute | (params: any) => Promise<any> | Yes |
LLMRequest
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | |
model | string | Yes | |
timestamp | string | Yes |
LLMResponse
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
latency | number | Yes | |
tokens | number | Yes | |
cost | number | Yes |
LLMResult
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
content | string | Yes | |
usage | TokenUsage | Yes | |
cost | CostBreakdown | Yes | |
toolCalls | ToolCall[] | undefined | No | |
metadata | ResultMetadata | Yes |
TokenUsage
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
inputTokens | number | Yes | |
outputTokens | number | Yes | |
cacheCreationTokens | number | Yes | |
cacheReadTokens | number | Yes | |
totalTokens | number | Yes |
CostBreakdown
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
inputCostUSD | number | Yes | |
outputCostUSD | number | Yes | |
cacheCostUSD | number | Yes | |
totalCostUSD | number | Yes | |
model | string | Yes | |
currency | "USD" | Yes |
ToolCall
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
toolName | string | Yes | |
arguments | Record<string, any> | Yes | |
result | any | No |
ResultMetadata
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | |
model | string | Yes | |
latencyMs | number | Yes | |
finishReason | string | Yes | |
retryCount | number | Yes | |
timestamp | string | Yes |
TextDeltaChunk
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "text-delta" | Yes | |
textDelta | string | Yes |
ToolCallChunk
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "tool-call" | Yes | |
toolCallId | string | Yes | |
toolName | string | Yes | |
args | Record<string, any> | Yes |
ToolResultChunk
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "tool-result" | Yes | |
toolCallId | string | Yes | |
toolName | string | Yes | |
result | any | Yes |
FinishChunk
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
type | "finish" | Yes | |
finishReason | string | Yes | |
usage | TokenUsage | Yes | |
cost | CostBreakdown | Yes |
StreamStartEvent
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
provider | string | Yes | |
model | string | Yes | |
timestamp | string | Yes |
StreamEndEvent
Properties:
| Property | Type | Required | Description |
|---|---|---|---|
usage | TokenUsage | Yes | |
cost | CostBreakdown | Yes | |
latency | number | Yes | |
fullText | string | Yes |