Class: Robota
Main class for Robota (refactored version) Provides an interface for initializing and running agents
Example
const robota = new Robota({
aiProviders: { openai: openaiProvider },
currentProvider: 'openai',
currentModel: 'gpt-4',
systemPrompt: 'You are a helpful AI assistant.'
});
const response = await robota.execute('Hello!');
Table of contents
Constructors
Methods
- addAIProvider
- setCurrentAI
- getCurrentAI
- setSystemPrompt
- setSystemMessages
- addSystemMessage
- setFunctionCallMode
- configureFunctionCall
- setMaxTokenLimit
- setMaxRequestLimit
- getMaxTokenLimit
- getMaxRequestLimit
- getLimitInfo
- getRequestCount
- getTotalTokensUsed
- getAnalytics
- resetAnalytics
- getTokenUsageByPeriod
- run
- execute
- chat
- runStream
- executeStream
- addResponseToConversationHistory
- clearConversationHistory
- callTool
- getAvailableTools
- close
Constructors
constructor
• new Robota(options
): Robota
Create a Robota instance
Parameters
Name | Type | Description |
---|---|---|
options | RobotaOptions | Robota initialization options |
Returns
Defined in
Methods
addAIProvider
▸ addAIProvider(name
, aiProvider
): void
Add an AI provider
Parameters
Name | Type |
---|---|
name | string |
aiProvider | AIProvider |
Returns
void
Defined in
setCurrentAI
▸ setCurrentAI(providerName
, model
): void
Set the current AI provider and model
Parameters
Name | Type |
---|---|
providerName | string |
model | string |
Returns
void
Defined in
getCurrentAI
▸ getCurrentAI(): Object
Get the currently configured AI provider and model
Returns
Object
Name | Type |
---|---|
provider? | string |
model? | string |
Defined in
setSystemPrompt
▸ setSystemPrompt(prompt
): void
Set a single system prompt
Parameters
Name | Type |
---|---|
prompt | string |
Returns
void
Defined in
setSystemMessages
▸ setSystemMessages(messages
): void
Set multiple system messages
Parameters
Name | Type |
---|---|
messages | Message [] |
Returns
void
Defined in
addSystemMessage
▸ addSystemMessage(content
): void
Add a system message
Parameters
Name | Type |
---|---|
content | string |
Returns
void
Defined in
setFunctionCallMode
▸ setFunctionCallMode(mode
): void
Set function call mode
Parameters
Name | Type |
---|---|
mode | FunctionCallMode |
Returns
void
Defined in
configureFunctionCall
▸ configureFunctionCall(config
): void
Configure function call settings
Parameters
Name | Type |
---|---|
config | Object |
config.mode? | FunctionCallMode |
config.maxCalls? | number |
config.timeout? | number |
config.allowedFunctions? | string [] |
Returns
void
Defined in
setMaxTokenLimit
▸ setMaxTokenLimit(limit
): void
Set maximum token limit (0 = unlimited)
Parameters
Name | Type |
---|---|
limit | number |
Returns
void
Defined in
setMaxRequestLimit
▸ setMaxRequestLimit(limit
): void
Set maximum request limit (0 = unlimited)
Parameters
Name | Type |
---|---|
limit | number |
Returns
void
Defined in
getMaxTokenLimit
▸ getMaxTokenLimit(): number
Get current maximum token limit
Returns
number
Defined in
getMaxRequestLimit
▸ getMaxRequestLimit(): number
Get current maximum request limit
Returns
number
Defined in
getLimitInfo
▸ getLimitInfo(): Object
Get comprehensive limit information
Returns
Object
Name | Type |
---|---|
maxTokens | number |
maxRequests | number |
currentTokensUsed | number |
currentRequestCount | number |
remainingTokens? | number |
remainingRequests? | number |
isTokensUnlimited | boolean |
isRequestsUnlimited | boolean |
Defined in
getRequestCount
▸ getRequestCount(): number
Get total number of requests made
Returns
number
Defined in
getTotalTokensUsed
▸ getTotalTokensUsed(): number
Get total number of tokens used
Returns
number
Defined in
getAnalytics
▸ getAnalytics(): Object
Get detailed analytics data
Returns
Object
Name | Type |
---|---|
requestCount | number |
totalTokensUsed | number |
averageTokensPerRequest | number |
tokenUsageHistory | { timestamp : Date ; tokens : number ; provider : string ; model : string }[] |
Defined in
resetAnalytics
▸ resetAnalytics(): void
Reset all analytics data
Returns
void
Defined in
getTokenUsageByPeriod
▸ getTokenUsageByPeriod(startDate
, endDate?
): Object
Get token usage for a specific time period
Parameters
Name | Type |
---|---|
startDate | Date |
endDate? | Date |
Returns
Object
Name | Type |
---|---|
totalTokens | number |
requestCount | number |
usageHistory | { timestamp : Date ; tokens : number ; provider : string ; model : string }[] |
Defined in
run
▸ run(prompt
, options?
): Promise
<string
>
Execute a text prompt
Parameters
Name | Type |
---|---|
prompt | string |
options | RunOptions |
Returns
Promise
<string
>
Deprecated
Use execute() instead. This method will be removed in a future version.
Defined in
execute
▸ execute(prompt
, options?
): Promise
<string
>
Execute a text prompt
Parameters
Name | Type |
---|---|
prompt | string |
options | RunOptions |
Returns
Promise
<string
>
Defined in
chat
▸ chat(message
, options?
): Promise
<string
>
Process chat message and generate response
Parameters
Name | Type |
---|---|
message | string |
options | RunOptions |
Returns
Promise
<string
>
Defined in
runStream
▸ runStream(prompt
, options?
): Promise
<AsyncIterable
<StreamingResponseChunk
, any
, any
>>
Generate streaming response
Parameters
Name | Type |
---|---|
prompt | string |
options | RunOptions |
Returns
Promise
<AsyncIterable
<StreamingResponseChunk
, any
, any
>>
Deprecated
Use executeStream() instead. This method will be removed in a future version.
Defined in
executeStream
▸ executeStream(prompt
, options?
): Promise
<AsyncIterable
<StreamingResponseChunk
, any
, any
>>
Generate streaming response
Parameters
Name | Type |
---|---|
prompt | string |
options | RunOptions |
Returns
Promise
<AsyncIterable
<StreamingResponseChunk
, any
, any
>>
Defined in
addResponseToConversationHistory
▸ addResponseToConversationHistory(response
): void
Add response message to conversation history
Parameters
Name | Type |
---|---|
response | ModelResponse |
Returns
void
Defined in
clearConversationHistory
▸ clearConversationHistory(): void
Clear conversation history
Returns
void
Defined in
callTool
▸ callTool(toolName
, parameters
): Promise
<any
>
Call a tool (public API)
Parameters
Name | Type |
---|---|
toolName | string |
parameters | Record <string , any > |
Returns
Promise
<any
>
Defined in
getAvailableTools
▸ getAvailableTools(): any
[]
Get list of available tools
Returns
any
[]
Defined in
close
▸ close(): Promise
<void
>
Release resources
Returns
Promise
<void
>