@iqai/adk 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -8
- package/README.md +177 -0
- package/dist/index.d.mts +33 -4
- package/dist/index.d.ts +33 -4
- package/dist/index.js +440 -364
- package/dist/index.mjs +257 -181
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
# @iqai/adk
|
|
2
2
|
|
|
3
|
-
## 0.0.
|
|
3
|
+
## 0.0.7
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
|
|
9
|
-
## 0.0.5
|
|
10
|
-
|
|
11
|
-
### Patch Changes
|
|
12
|
-
|
|
13
|
-
- 5448661: Updates pglite session to take pglite instance as input instead of drizzle
|
|
7
|
+
- 35cb95d: Adds MCP Sampling request handling
|
package/README.md
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# @iqai/adk - Agent Development Kit Core
|
|
2
|
+
|
|
3
|
+
`@iqai/adk` is the core TypeScript library for the Agent Development Kit, providing the foundational tools and abstractions to build sophisticated AI agents. It enables seamless integration with multiple Large Language Models (LLMs), advanced tool usage, and persistent memory capabilities.
|
|
4
|
+
|
|
5
|
+
<p align="center">
|
|
6
|
+
<a href="https://www.npmjs.com/package/@iqai/adk">
|
|
7
|
+
<img src="https://img.shields.io/npm/v/@iqai/adk" alt="NPM Version" />
|
|
8
|
+
</a>
|
|
9
|
+
<a href="https://www.npmjs.com/package/@iqai/adk">
|
|
10
|
+
<img src="https://img.shields.io/npm/dm/@iqai/adk" alt="NPM Downloads" />
|
|
11
|
+
</a>
|
|
12
|
+
<a href="https://github.com/IQAIcom/adk-ts/blob/main/LICENSE.md">
|
|
13
|
+
<img src="https://img.shields.io/npm/l/@iqai/adk" alt="License" />
|
|
14
|
+
</a>
|
|
15
|
+
<a href="https://github.com/IQAIcom/adk-ts">
|
|
16
|
+
<img src="https://img.shields.io/github/stars/IQAIcom/adk-ts?style=social" alt="GitHub Stars" />
|
|
17
|
+
</a>
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
## 🚀 Core Features
|
|
21
|
+
|
|
22
|
+
The `@iqai/adk` package empowers your AI agent development with:
|
|
23
|
+
|
|
24
|
+
* **Multi-Provider LLM Support:** Flexibly integrate and switch between leading LLM providers like OpenAI, Anthropic, and Google.
|
|
25
|
+
* **Extensible Tool System:** Define and utilize custom tools with declarative schemas, allowing LLMs to intelligently leverage external functionalities.
|
|
26
|
+
* **Advanced Agent Reasoning Loop:** A complete reasoning loop implementation for complex task execution and iterative problem-solving.
|
|
27
|
+
* **Real-Time Streaming:** Support for streaming responses from LLMs for dynamic user interactions.
|
|
28
|
+
* **Flexible Authentication:** Mechanisms for securing agent API access.
|
|
29
|
+
* **Persistent Memory Systems:** Capabilities for agents to retain context and learn from past interactions.
|
|
30
|
+
|
|
31
|
+
## 🚦 Installation
|
|
32
|
+
|
|
33
|
+
Install the `@iqai/adk` package using your preferred package manager:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Using npm
|
|
37
|
+
npm install @iqai/adk
|
|
38
|
+
|
|
39
|
+
# Using yarn
|
|
40
|
+
yarn add @iqai/adk
|
|
41
|
+
|
|
42
|
+
# Using pnpm
|
|
43
|
+
pnpm add @iqai/adk
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## ⚙️ Environment Configuration
|
|
47
|
+
|
|
48
|
+
For the library to connect to LLM providers, you need to set up API keys. Create a `.env` file in the root of your project and add your keys:
|
|
49
|
+
|
|
50
|
+
```env
|
|
51
|
+
OPENAI_API_KEY=your_openai_api_key
|
|
52
|
+
ANTHROPIC_API_KEY=your_anthropic_api_key
|
|
53
|
+
GOOGLE_API_KEY=your_google_api_key
|
|
54
|
+
```
|
|
55
|
+
The library uses `dotenv` to load these variables automatically if `dotenv.config()` is called in your application.
|
|
56
|
+
|
|
57
|
+
## 📖 Basic Usage
|
|
58
|
+
|
|
59
|
+
Here's a fundamental example of creating and running an agent:
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
import { Agent } from '@iqai/adk';
|
|
63
|
+
import dotenv from 'dotenv';
|
|
64
|
+
|
|
65
|
+
// Load environment variables
|
|
66
|
+
dotenv.config();
|
|
67
|
+
|
|
68
|
+
// Instantiate the agent
|
|
69
|
+
const myAgent = new Agent({
|
|
70
|
+
name: "simple_query_assistant",
|
|
71
|
+
model: "gemini-2.5-flash-preview-05-20", // Or "gpt-4-turbo", "claude-3-opus"
|
|
72
|
+
description: "A basic assistant to answer questions.",
|
|
73
|
+
instructions: "You are a helpful AI. Respond clearly and concisely."
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// Asynchronously run the agent
|
|
77
|
+
async function runQuery() {
|
|
78
|
+
try {
|
|
79
|
+
const query = "What is the capital of France?";
|
|
80
|
+
console.log(`User: ${query}`);
|
|
81
|
+
|
|
82
|
+
const response = await myAgent.run({
|
|
83
|
+
messages: [{ role: 'user', content: query }]
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
console.log(`Agent: ${response.content}`);
|
|
87
|
+
} catch (error) {
|
|
88
|
+
console.error("Error during agent execution:", error);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
runQuery();
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 🛠️ Using Tools with an Agent
|
|
96
|
+
|
|
97
|
+
Extend your agent's capabilities by defining and integrating custom tools.
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
import { Agent, BaseTool } from '@iqai/adk';
|
|
101
|
+
import dotenv from 'dotenv';
|
|
102
|
+
|
|
103
|
+
dotenv.config();
|
|
104
|
+
|
|
105
|
+
// Define a simple calculator tool
|
|
106
|
+
class CalculatorTool extends BaseTool {
|
|
107
|
+
constructor() {
|
|
108
|
+
super({
|
|
109
|
+
name: 'calculator',
|
|
110
|
+
description: 'Performs basic arithmetic operations: add, subtract, multiply, divide.'
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
getDeclaration() {
|
|
115
|
+
return {
|
|
116
|
+
name: this.name,
|
|
117
|
+
description: this.description,
|
|
118
|
+
parameters: {
|
|
119
|
+
type: 'object',
|
|
120
|
+
properties: {
|
|
121
|
+
operation: {
|
|
122
|
+
type: 'string',
|
|
123
|
+
enum: ['add', 'subtract', 'multiply', 'divide']
|
|
124
|
+
},
|
|
125
|
+
operand1: { type: 'number' },
|
|
126
|
+
operand2: { type: 'number' }
|
|
127
|
+
},
|
|
128
|
+
required: ['operation', 'operand1', 'operand2']
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
async runAsync(args: { operation: string; operand1: number; operand2: number }) {
|
|
134
|
+
const { operation, operand1, operand2 } = args;
|
|
135
|
+
switch (operation) {
|
|
136
|
+
case 'add': return { result: operand1 + operand2 };
|
|
137
|
+
case 'subtract': return { result: operand1 - operand2 };
|
|
138
|
+
case 'multiply': return { result: operand1 * operand2 };
|
|
139
|
+
case 'divide':
|
|
140
|
+
if (operand2 === 0) return { error: 'Cannot divide by zero.' };
|
|
141
|
+
return { result: operand1 / operand2 };
|
|
142
|
+
default: return { error: `Unknown operation: ${operation}` };
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// Create an agent equipped with the calculator tool
|
|
148
|
+
const mathAgent = new Agent({
|
|
149
|
+
name: "math_assistant_agent",
|
|
150
|
+
model: "gpt-4-turbo", // Choose a model proficient with tool usage
|
|
151
|
+
instructions:
|
|
152
|
+
"You are a helpful assistant. Use the calculator tool for any mathematical calculations requested.",
|
|
153
|
+
tools: [new CalculatorTool()]
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
async function performCalculation() {
|
|
157
|
+
const response = await mathAgent.run({
|
|
158
|
+
messages: [
|
|
159
|
+
{ role: 'user', content: 'What is 15 multiplied by 4?' }
|
|
160
|
+
]
|
|
161
|
+
});
|
|
162
|
+
// The response.content will likely include the thought process and the tool's output.
|
|
163
|
+
console.log(JSON.stringify(response, null, 2));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
performCalculation().catch(console.error);
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
More detailed examples and advanced usage patterns can be found in the `apps/examples` directory of the main [ADK TypeScript repository](https://github.com/IQAIcom/adk-ts).
|
|
170
|
+
|
|
171
|
+
## 🤝 Contributing
|
|
172
|
+
|
|
173
|
+
While this README focuses on the `@iqai/adk` package, contributions to the overall ADK TypeScript project are welcome. Please see the [Contributing Guide](https://github.com/IQAIcom/adk-ts/blob/main/CONTRIBUTING.md) in the main repository for details on how to contribute.
|
|
174
|
+
|
|
175
|
+
## 📜 License
|
|
176
|
+
|
|
177
|
+
This package is licensed under the [MIT License](https://github.com/IQAIcom/adk-ts/blob/main/LICENSE.md).
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
2
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { CreateMessageRequestSchema, CreateMessageResultSchema, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { z } from 'zod';
|
|
3
4
|
import { AxiosInstance } from 'axios';
|
|
4
5
|
import OpenAI from 'openai';
|
|
5
6
|
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
@@ -440,6 +441,7 @@ declare class AnthropicLLM extends BaseLLM {
|
|
|
440
441
|
* Default parameters for requests
|
|
441
442
|
*/
|
|
442
443
|
private defaultParams;
|
|
444
|
+
private logger;
|
|
443
445
|
/**
|
|
444
446
|
* Constructor for AnthropicLLM
|
|
445
447
|
*/
|
|
@@ -516,6 +518,7 @@ declare class AnthropicLLMConnection extends BaseLLMConnection {
|
|
|
516
518
|
private responseCallback?;
|
|
517
519
|
private errorCallback?;
|
|
518
520
|
private endCallback?;
|
|
521
|
+
private logger;
|
|
519
522
|
/**
|
|
520
523
|
* Constructor
|
|
521
524
|
*/
|
|
@@ -712,6 +715,7 @@ declare class OpenAILLM extends BaseLLM {
|
|
|
712
715
|
* Default parameters for requests
|
|
713
716
|
*/
|
|
714
717
|
private defaultParams;
|
|
718
|
+
private logger;
|
|
715
719
|
/**
|
|
716
720
|
* Constructor for OpenAILLM
|
|
717
721
|
*/
|
|
@@ -1995,6 +1999,7 @@ declare class Agent extends BaseAgent {
|
|
|
1995
1999
|
* The minimum relevance score for memory augmentation (0-1)
|
|
1996
2000
|
*/
|
|
1997
2001
|
private memoryRelevanceThreshold;
|
|
2002
|
+
private logger;
|
|
1998
2003
|
/**
|
|
1999
2004
|
* Constructor for Agent
|
|
2000
2005
|
*/
|
|
@@ -2069,6 +2074,7 @@ interface EnhancedLLMResponse extends LLMResponse {
|
|
|
2069
2074
|
* Each sub-agent's output becomes input to the next agent
|
|
2070
2075
|
*/
|
|
2071
2076
|
declare class SequentialAgent extends BaseAgent {
|
|
2077
|
+
private logger;
|
|
2072
2078
|
/**
|
|
2073
2079
|
* Constructor for SequentialAgent
|
|
2074
2080
|
*/
|
|
@@ -2113,6 +2119,7 @@ interface ParallelAgentConfig {
|
|
|
2113
2119
|
* All sub-agents execute independently with the same input
|
|
2114
2120
|
*/
|
|
2115
2121
|
declare class ParallelAgent extends BaseAgent {
|
|
2122
|
+
private logger;
|
|
2116
2123
|
/**
|
|
2117
2124
|
* Constructor for ParallelAgent
|
|
2118
2125
|
*/
|
|
@@ -2181,6 +2188,7 @@ declare class LoopAgent extends BaseAgent {
|
|
|
2181
2188
|
* Custom condition check function
|
|
2182
2189
|
*/
|
|
2183
2190
|
private conditionCheck?;
|
|
2191
|
+
private logger;
|
|
2184
2192
|
/**
|
|
2185
2193
|
* Constructor for LoopAgent
|
|
2186
2194
|
*/
|
|
@@ -2278,6 +2286,7 @@ declare class LangGraphAgent extends BaseAgent {
|
|
|
2278
2286
|
* Results from node executions
|
|
2279
2287
|
*/
|
|
2280
2288
|
private results;
|
|
2289
|
+
private logger;
|
|
2281
2290
|
/**
|
|
2282
2291
|
* Constructor for LangGraphAgent
|
|
2283
2292
|
*/
|
|
@@ -2439,6 +2448,7 @@ declare function createFunctionTool(func: (...args: any[]) => any, options?: {
|
|
|
2439
2448
|
* Simple GoogleSearch tool implementation
|
|
2440
2449
|
*/
|
|
2441
2450
|
declare class GoogleSearch extends BaseTool {
|
|
2451
|
+
private logger;
|
|
2442
2452
|
/**
|
|
2443
2453
|
* Constructor for GoogleSearch
|
|
2444
2454
|
*/
|
|
@@ -2591,6 +2601,7 @@ declare module "./tool-context" {
|
|
|
2591
2601
|
* Tool that allows an agent to exit the current execution loop
|
|
2592
2602
|
*/
|
|
2593
2603
|
declare class ExitLoopTool extends BaseTool {
|
|
2604
|
+
private logger;
|
|
2594
2605
|
/**
|
|
2595
2606
|
* Constructor for ExitLoopTool
|
|
2596
2607
|
*/
|
|
@@ -2609,6 +2620,7 @@ declare class ExitLoopTool extends BaseTool {
|
|
|
2609
2620
|
* Tool that allows an agent to get a choice from the user
|
|
2610
2621
|
*/
|
|
2611
2622
|
declare class GetUserChoiceTool extends BaseTool {
|
|
2623
|
+
private logger;
|
|
2612
2624
|
/**
|
|
2613
2625
|
* Constructor for GetUserChoiceTool
|
|
2614
2626
|
*/
|
|
@@ -2632,6 +2644,7 @@ declare class GetUserChoiceTool extends BaseTool {
|
|
|
2632
2644
|
* Tool that allows an agent to transfer control to another agent
|
|
2633
2645
|
*/
|
|
2634
2646
|
declare class TransferToAgentTool extends BaseTool {
|
|
2647
|
+
private logger;
|
|
2635
2648
|
/**
|
|
2636
2649
|
* Constructor for TransferToAgentTool
|
|
2637
2650
|
*/
|
|
@@ -2652,6 +2665,7 @@ declare class TransferToAgentTool extends BaseTool {
|
|
|
2652
2665
|
* Tool that allows an agent to load memories relevant to a query
|
|
2653
2666
|
*/
|
|
2654
2667
|
declare class LoadMemoryTool extends BaseTool {
|
|
2668
|
+
private logger;
|
|
2655
2669
|
/**
|
|
2656
2670
|
* Constructor for LoadMemoryTool
|
|
2657
2671
|
*/
|
|
@@ -2685,6 +2699,7 @@ type McpConfig = {
|
|
|
2685
2699
|
maxSize?: number;
|
|
2686
2700
|
};
|
|
2687
2701
|
debug?: boolean;
|
|
2702
|
+
samplingHandler?: SamplingHandler;
|
|
2688
2703
|
};
|
|
2689
2704
|
type McpTransportType = {
|
|
2690
2705
|
mode: "stdio";
|
|
@@ -2704,7 +2719,9 @@ declare enum McpErrorType {
|
|
|
2704
2719
|
TOOL_EXECUTION_ERROR = "tool_execution_error",
|
|
2705
2720
|
RESOURCE_CLOSED_ERROR = "resource_closed_error",
|
|
2706
2721
|
TIMEOUT_ERROR = "timeout_error",
|
|
2707
|
-
INVALID_SCHEMA_ERROR = "invalid_schema_error"
|
|
2722
|
+
INVALID_SCHEMA_ERROR = "invalid_schema_error",
|
|
2723
|
+
SAMPLING_ERROR = "SAMPLING_ERROR",
|
|
2724
|
+
INVALID_REQUEST_ERROR = "INVALID_REQUEST_ERROR"
|
|
2708
2725
|
}
|
|
2709
2726
|
/**
|
|
2710
2727
|
* Custom error class for MCP-related errors
|
|
@@ -2714,12 +2731,17 @@ declare class McpError extends Error {
|
|
|
2714
2731
|
originalError?: Error;
|
|
2715
2732
|
constructor(message: string, type: McpErrorType, originalError?: Error);
|
|
2716
2733
|
}
|
|
2734
|
+
type SamplingRequest = z.infer<typeof CreateMessageRequestSchema>;
|
|
2735
|
+
type SamplingResponse = z.infer<typeof CreateMessageResultSchema>;
|
|
2736
|
+
type SamplingHandler = (request: SamplingRequest) => Promise<SamplingResponse>;
|
|
2717
2737
|
|
|
2718
2738
|
declare class McpClientService {
|
|
2719
2739
|
private config;
|
|
2720
2740
|
private client;
|
|
2721
2741
|
private transport;
|
|
2722
2742
|
private isClosing;
|
|
2743
|
+
private samplingHandler;
|
|
2744
|
+
private logger;
|
|
2723
2745
|
constructor(config: McpConfig);
|
|
2724
2746
|
/**
|
|
2725
2747
|
* Initializes and returns an MCP client based on configuration.
|
|
@@ -2754,6 +2776,9 @@ declare class McpClientService {
|
|
|
2754
2776
|
* Checks if the client is currently connected
|
|
2755
2777
|
*/
|
|
2756
2778
|
isConnected(): boolean;
|
|
2779
|
+
private setupSamplingHandler;
|
|
2780
|
+
setSamplingHandler(handler: SamplingHandler): void;
|
|
2781
|
+
removeSamplingHandler(): void;
|
|
2757
2782
|
}
|
|
2758
2783
|
|
|
2759
2784
|
/**
|
|
@@ -2861,6 +2886,9 @@ declare const index$2_McpErrorType: typeof McpErrorType;
|
|
|
2861
2886
|
type index$2_McpToolset = McpToolset;
|
|
2862
2887
|
declare const index$2_McpToolset: typeof McpToolset;
|
|
2863
2888
|
type index$2_McpTransportType = McpTransportType;
|
|
2889
|
+
type index$2_SamplingHandler = SamplingHandler;
|
|
2890
|
+
type index$2_SamplingRequest = SamplingRequest;
|
|
2891
|
+
type index$2_SamplingResponse = SamplingResponse;
|
|
2864
2892
|
type index$2_ToolConfig = ToolConfig;
|
|
2865
2893
|
type index$2_ToolContext = ToolContext;
|
|
2866
2894
|
declare const index$2_ToolContext: typeof ToolContext;
|
|
@@ -2876,7 +2904,7 @@ declare const index$2_jsonSchemaToDeclaration: typeof jsonSchemaToDeclaration;
|
|
|
2876
2904
|
declare const index$2_mcpSchemaToParameters: typeof mcpSchemaToParameters;
|
|
2877
2905
|
declare const index$2_normalizeJsonSchema: typeof normalizeJsonSchema;
|
|
2878
2906
|
declare namespace index$2 {
|
|
2879
|
-
export { index$2_BaseTool as BaseTool, type index$2_BuildFunctionDeclarationOptions as BuildFunctionDeclarationOptions, index$2_ExitLoopTool as ExitLoopTool, index$2_FileOperationsTool as FileOperationsTool, index$2_FunctionTool as FunctionTool, index$2_GetUserChoiceTool as GetUserChoiceTool, index$2_GoogleSearch as GoogleSearch, index$2_HttpRequestTool as HttpRequestTool, type index$2_IToolContext as IToolContext, index$2_LoadMemoryTool as LoadMemoryTool, type index$2_McpConfig as McpConfig, index$2_McpError as McpError, index$2_McpErrorType as McpErrorType, index$2_McpToolset as McpToolset, type index$2_McpTransportType as McpTransportType, type index$2_ToolConfig as ToolConfig, index$2_ToolContext as ToolContext, index$2_TransferToAgentTool as TransferToAgentTool, index$2_UserInteractionTool as UserInteractionTool, index$2_adkToMcpToolType as adkToMcpToolType, index$2_buildFunctionDeclaration as buildFunctionDeclaration, index$2_createFunctionTool as createFunctionTool, index$2_getMcpTools as getMcpTools, index$2_jsonSchemaToDeclaration as jsonSchemaToDeclaration, index$2_mcpSchemaToParameters as mcpSchemaToParameters, index$2_normalizeJsonSchema as normalizeJsonSchema };
|
|
2907
|
+
export { index$2_BaseTool as BaseTool, type index$2_BuildFunctionDeclarationOptions as BuildFunctionDeclarationOptions, index$2_ExitLoopTool as ExitLoopTool, index$2_FileOperationsTool as FileOperationsTool, index$2_FunctionTool as FunctionTool, index$2_GetUserChoiceTool as GetUserChoiceTool, index$2_GoogleSearch as GoogleSearch, index$2_HttpRequestTool as HttpRequestTool, type index$2_IToolContext as IToolContext, index$2_LoadMemoryTool as LoadMemoryTool, type index$2_McpConfig as McpConfig, index$2_McpError as McpError, index$2_McpErrorType as McpErrorType, index$2_McpToolset as McpToolset, type index$2_McpTransportType as McpTransportType, type index$2_SamplingHandler as SamplingHandler, type index$2_SamplingRequest as SamplingRequest, type index$2_SamplingResponse as SamplingResponse, type index$2_ToolConfig as ToolConfig, index$2_ToolContext as ToolContext, index$2_TransferToAgentTool as TransferToAgentTool, index$2_UserInteractionTool as UserInteractionTool, index$2_adkToMcpToolType as adkToMcpToolType, index$2_buildFunctionDeclaration as buildFunctionDeclaration, index$2_createFunctionTool as createFunctionTool, index$2_getMcpTools as getMcpTools, index$2_jsonSchemaToDeclaration as jsonSchemaToDeclaration, index$2_mcpSchemaToParameters as mcpSchemaToParameters, index$2_normalizeJsonSchema as normalizeJsonSchema };
|
|
2880
2908
|
}
|
|
2881
2909
|
|
|
2882
2910
|
/**
|
|
@@ -2955,6 +2983,7 @@ declare class PersistentMemoryService implements BaseMemoryService {
|
|
|
2955
2983
|
* File prefix for memory files
|
|
2956
2984
|
*/
|
|
2957
2985
|
private filePrefix;
|
|
2986
|
+
private logger;
|
|
2958
2987
|
/**
|
|
2959
2988
|
* Constructor for PersistentMemoryService
|
|
2960
2989
|
*/
|
|
@@ -3434,4 +3463,4 @@ declare class InMemoryRunner extends Runner {
|
|
|
3434
3463
|
|
|
3435
3464
|
declare const VERSION = "0.1.0";
|
|
3436
3465
|
|
|
3437
|
-
export { Agent, type AgentConfig, index$3 as Agents, AnthropicLLM, type AnthropicLLMConfig, AnthropicLLMConnection, ApiKeyCredential, ApiKeyScheme, type AudioTranscriptionConfig, AuthConfig, AuthCredential, AuthCredentialType, AuthHandler, AuthScheme, AuthSchemeType, BaseAgent, BaseLLM, BaseLLMConnection, type BaseMemoryService, BaseTool, BasicAuthCredential, BearerTokenCredential, type BuildFunctionDeclarationOptions, ExitLoopTool, FileOperationsTool, type FunctionCall, type FunctionDeclaration, FunctionTool, GetUserChoiceTool, GoogleLLM, type GoogleLLMConfig, GoogleSearch, HttpRequestTool, HttpScheme, type IToolContext, type ImageContent, InMemoryMemoryService, InMemoryRunner, InMemorySessionService, InvocationContext, type JSONSchema, LLMRegistry, LLMRequest, type LLMRequestConfig, LLMResponse, LangGraphAgent, type LangGraphAgentConfig, type LangGraphNode, type ListSessionOptions, LoadMemoryTool, LoopAgent, type LoopAgentConfig, type McpConfig, McpError, McpErrorType, McpToolset, type McpTransportType, index$1 as Memory, type MemoryResult, type Message, type MessageContent, type MessageRole, index$4 as Models, OAuth2Credential, OAuth2Scheme, type OAuthFlow, type OAuthFlows, OpenAILLM, type OpenAILLMConfig, OpenAILLMConnection, OpenIdConnectScheme, ParallelAgent, type ParallelAgentConfig, PersistentMemoryService, PgLiteSessionService, PostgresSessionService, RunConfig, Runner, type SearchMemoryOptions, type SearchMemoryResponse, SequentialAgent, type SequentialAgentConfig, type Session, type SessionService, SessionState, index as Sessions, type SpeechConfig, SqliteSessionService, StreamingMode, type TextContent, type ToolCall, type ToolConfig, ToolContext, index$2 as Tools, TransferToAgentTool, UserInteractionTool, VERSION, adkToMcpToolType, buildFunctionDeclaration, cloneSession, createFunctionTool, generateSessionId, getMcpTools, jsonSchemaToDeclaration, mcpSchemaToParameters, normalizeJsonSchema, registerProviders, validateSession };
|
|
3466
|
+
export { Agent, type AgentConfig, index$3 as Agents, AnthropicLLM, type AnthropicLLMConfig, AnthropicLLMConnection, ApiKeyCredential, ApiKeyScheme, type AudioTranscriptionConfig, AuthConfig, AuthCredential, AuthCredentialType, AuthHandler, AuthScheme, AuthSchemeType, BaseAgent, BaseLLM, BaseLLMConnection, type BaseMemoryService, BaseTool, BasicAuthCredential, BearerTokenCredential, type BuildFunctionDeclarationOptions, ExitLoopTool, FileOperationsTool, type FunctionCall, type FunctionDeclaration, FunctionTool, GetUserChoiceTool, GoogleLLM, type GoogleLLMConfig, GoogleSearch, HttpRequestTool, HttpScheme, type IToolContext, type ImageContent, InMemoryMemoryService, InMemoryRunner, InMemorySessionService, InvocationContext, type JSONSchema, LLMRegistry, LLMRequest, type LLMRequestConfig, LLMResponse, LangGraphAgent, type LangGraphAgentConfig, type LangGraphNode, type ListSessionOptions, LoadMemoryTool, LoopAgent, type LoopAgentConfig, type McpConfig, McpError, McpErrorType, McpToolset, type McpTransportType, index$1 as Memory, type MemoryResult, type Message, type MessageContent, type MessageRole, index$4 as Models, OAuth2Credential, OAuth2Scheme, type OAuthFlow, type OAuthFlows, OpenAILLM, type OpenAILLMConfig, OpenAILLMConnection, OpenIdConnectScheme, ParallelAgent, type ParallelAgentConfig, PersistentMemoryService, PgLiteSessionService, PostgresSessionService, RunConfig, Runner, type SamplingHandler, type SamplingRequest, type SamplingResponse, type SearchMemoryOptions, type SearchMemoryResponse, SequentialAgent, type SequentialAgentConfig, type Session, type SessionService, SessionState, index as Sessions, type SpeechConfig, SqliteSessionService, StreamingMode, type TextContent, type ToolCall, type ToolConfig, ToolContext, index$2 as Tools, TransferToAgentTool, UserInteractionTool, VERSION, adkToMcpToolType, buildFunctionDeclaration, cloneSession, createFunctionTool, generateSessionId, getMcpTools, jsonSchemaToDeclaration, mcpSchemaToParameters, normalizeJsonSchema, registerProviders, validateSession };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
2
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { CreateMessageRequestSchema, CreateMessageResultSchema, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { z } from 'zod';
|
|
3
4
|
import { AxiosInstance } from 'axios';
|
|
4
5
|
import OpenAI from 'openai';
|
|
5
6
|
import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
|
|
@@ -440,6 +441,7 @@ declare class AnthropicLLM extends BaseLLM {
|
|
|
440
441
|
* Default parameters for requests
|
|
441
442
|
*/
|
|
442
443
|
private defaultParams;
|
|
444
|
+
private logger;
|
|
443
445
|
/**
|
|
444
446
|
* Constructor for AnthropicLLM
|
|
445
447
|
*/
|
|
@@ -516,6 +518,7 @@ declare class AnthropicLLMConnection extends BaseLLMConnection {
|
|
|
516
518
|
private responseCallback?;
|
|
517
519
|
private errorCallback?;
|
|
518
520
|
private endCallback?;
|
|
521
|
+
private logger;
|
|
519
522
|
/**
|
|
520
523
|
* Constructor
|
|
521
524
|
*/
|
|
@@ -712,6 +715,7 @@ declare class OpenAILLM extends BaseLLM {
|
|
|
712
715
|
* Default parameters for requests
|
|
713
716
|
*/
|
|
714
717
|
private defaultParams;
|
|
718
|
+
private logger;
|
|
715
719
|
/**
|
|
716
720
|
* Constructor for OpenAILLM
|
|
717
721
|
*/
|
|
@@ -1995,6 +1999,7 @@ declare class Agent extends BaseAgent {
|
|
|
1995
1999
|
* The minimum relevance score for memory augmentation (0-1)
|
|
1996
2000
|
*/
|
|
1997
2001
|
private memoryRelevanceThreshold;
|
|
2002
|
+
private logger;
|
|
1998
2003
|
/**
|
|
1999
2004
|
* Constructor for Agent
|
|
2000
2005
|
*/
|
|
@@ -2069,6 +2074,7 @@ interface EnhancedLLMResponse extends LLMResponse {
|
|
|
2069
2074
|
* Each sub-agent's output becomes input to the next agent
|
|
2070
2075
|
*/
|
|
2071
2076
|
declare class SequentialAgent extends BaseAgent {
|
|
2077
|
+
private logger;
|
|
2072
2078
|
/**
|
|
2073
2079
|
* Constructor for SequentialAgent
|
|
2074
2080
|
*/
|
|
@@ -2113,6 +2119,7 @@ interface ParallelAgentConfig {
|
|
|
2113
2119
|
* All sub-agents execute independently with the same input
|
|
2114
2120
|
*/
|
|
2115
2121
|
declare class ParallelAgent extends BaseAgent {
|
|
2122
|
+
private logger;
|
|
2116
2123
|
/**
|
|
2117
2124
|
* Constructor for ParallelAgent
|
|
2118
2125
|
*/
|
|
@@ -2181,6 +2188,7 @@ declare class LoopAgent extends BaseAgent {
|
|
|
2181
2188
|
* Custom condition check function
|
|
2182
2189
|
*/
|
|
2183
2190
|
private conditionCheck?;
|
|
2191
|
+
private logger;
|
|
2184
2192
|
/**
|
|
2185
2193
|
* Constructor for LoopAgent
|
|
2186
2194
|
*/
|
|
@@ -2278,6 +2286,7 @@ declare class LangGraphAgent extends BaseAgent {
|
|
|
2278
2286
|
* Results from node executions
|
|
2279
2287
|
*/
|
|
2280
2288
|
private results;
|
|
2289
|
+
private logger;
|
|
2281
2290
|
/**
|
|
2282
2291
|
* Constructor for LangGraphAgent
|
|
2283
2292
|
*/
|
|
@@ -2439,6 +2448,7 @@ declare function createFunctionTool(func: (...args: any[]) => any, options?: {
|
|
|
2439
2448
|
* Simple GoogleSearch tool implementation
|
|
2440
2449
|
*/
|
|
2441
2450
|
declare class GoogleSearch extends BaseTool {
|
|
2451
|
+
private logger;
|
|
2442
2452
|
/**
|
|
2443
2453
|
* Constructor for GoogleSearch
|
|
2444
2454
|
*/
|
|
@@ -2591,6 +2601,7 @@ declare module "./tool-context" {
|
|
|
2591
2601
|
* Tool that allows an agent to exit the current execution loop
|
|
2592
2602
|
*/
|
|
2593
2603
|
declare class ExitLoopTool extends BaseTool {
|
|
2604
|
+
private logger;
|
|
2594
2605
|
/**
|
|
2595
2606
|
* Constructor for ExitLoopTool
|
|
2596
2607
|
*/
|
|
@@ -2609,6 +2620,7 @@ declare class ExitLoopTool extends BaseTool {
|
|
|
2609
2620
|
* Tool that allows an agent to get a choice from the user
|
|
2610
2621
|
*/
|
|
2611
2622
|
declare class GetUserChoiceTool extends BaseTool {
|
|
2623
|
+
private logger;
|
|
2612
2624
|
/**
|
|
2613
2625
|
* Constructor for GetUserChoiceTool
|
|
2614
2626
|
*/
|
|
@@ -2632,6 +2644,7 @@ declare class GetUserChoiceTool extends BaseTool {
|
|
|
2632
2644
|
* Tool that allows an agent to transfer control to another agent
|
|
2633
2645
|
*/
|
|
2634
2646
|
declare class TransferToAgentTool extends BaseTool {
|
|
2647
|
+
private logger;
|
|
2635
2648
|
/**
|
|
2636
2649
|
* Constructor for TransferToAgentTool
|
|
2637
2650
|
*/
|
|
@@ -2652,6 +2665,7 @@ declare class TransferToAgentTool extends BaseTool {
|
|
|
2652
2665
|
* Tool that allows an agent to load memories relevant to a query
|
|
2653
2666
|
*/
|
|
2654
2667
|
declare class LoadMemoryTool extends BaseTool {
|
|
2668
|
+
private logger;
|
|
2655
2669
|
/**
|
|
2656
2670
|
* Constructor for LoadMemoryTool
|
|
2657
2671
|
*/
|
|
@@ -2685,6 +2699,7 @@ type McpConfig = {
|
|
|
2685
2699
|
maxSize?: number;
|
|
2686
2700
|
};
|
|
2687
2701
|
debug?: boolean;
|
|
2702
|
+
samplingHandler?: SamplingHandler;
|
|
2688
2703
|
};
|
|
2689
2704
|
type McpTransportType = {
|
|
2690
2705
|
mode: "stdio";
|
|
@@ -2704,7 +2719,9 @@ declare enum McpErrorType {
|
|
|
2704
2719
|
TOOL_EXECUTION_ERROR = "tool_execution_error",
|
|
2705
2720
|
RESOURCE_CLOSED_ERROR = "resource_closed_error",
|
|
2706
2721
|
TIMEOUT_ERROR = "timeout_error",
|
|
2707
|
-
INVALID_SCHEMA_ERROR = "invalid_schema_error"
|
|
2722
|
+
INVALID_SCHEMA_ERROR = "invalid_schema_error",
|
|
2723
|
+
SAMPLING_ERROR = "SAMPLING_ERROR",
|
|
2724
|
+
INVALID_REQUEST_ERROR = "INVALID_REQUEST_ERROR"
|
|
2708
2725
|
}
|
|
2709
2726
|
/**
|
|
2710
2727
|
* Custom error class for MCP-related errors
|
|
@@ -2714,12 +2731,17 @@ declare class McpError extends Error {
|
|
|
2714
2731
|
originalError?: Error;
|
|
2715
2732
|
constructor(message: string, type: McpErrorType, originalError?: Error);
|
|
2716
2733
|
}
|
|
2734
|
+
type SamplingRequest = z.infer<typeof CreateMessageRequestSchema>;
|
|
2735
|
+
type SamplingResponse = z.infer<typeof CreateMessageResultSchema>;
|
|
2736
|
+
type SamplingHandler = (request: SamplingRequest) => Promise<SamplingResponse>;
|
|
2717
2737
|
|
|
2718
2738
|
declare class McpClientService {
|
|
2719
2739
|
private config;
|
|
2720
2740
|
private client;
|
|
2721
2741
|
private transport;
|
|
2722
2742
|
private isClosing;
|
|
2743
|
+
private samplingHandler;
|
|
2744
|
+
private logger;
|
|
2723
2745
|
constructor(config: McpConfig);
|
|
2724
2746
|
/**
|
|
2725
2747
|
* Initializes and returns an MCP client based on configuration.
|
|
@@ -2754,6 +2776,9 @@ declare class McpClientService {
|
|
|
2754
2776
|
* Checks if the client is currently connected
|
|
2755
2777
|
*/
|
|
2756
2778
|
isConnected(): boolean;
|
|
2779
|
+
private setupSamplingHandler;
|
|
2780
|
+
setSamplingHandler(handler: SamplingHandler): void;
|
|
2781
|
+
removeSamplingHandler(): void;
|
|
2757
2782
|
}
|
|
2758
2783
|
|
|
2759
2784
|
/**
|
|
@@ -2861,6 +2886,9 @@ declare const index$2_McpErrorType: typeof McpErrorType;
|
|
|
2861
2886
|
type index$2_McpToolset = McpToolset;
|
|
2862
2887
|
declare const index$2_McpToolset: typeof McpToolset;
|
|
2863
2888
|
type index$2_McpTransportType = McpTransportType;
|
|
2889
|
+
type index$2_SamplingHandler = SamplingHandler;
|
|
2890
|
+
type index$2_SamplingRequest = SamplingRequest;
|
|
2891
|
+
type index$2_SamplingResponse = SamplingResponse;
|
|
2864
2892
|
type index$2_ToolConfig = ToolConfig;
|
|
2865
2893
|
type index$2_ToolContext = ToolContext;
|
|
2866
2894
|
declare const index$2_ToolContext: typeof ToolContext;
|
|
@@ -2876,7 +2904,7 @@ declare const index$2_jsonSchemaToDeclaration: typeof jsonSchemaToDeclaration;
|
|
|
2876
2904
|
declare const index$2_mcpSchemaToParameters: typeof mcpSchemaToParameters;
|
|
2877
2905
|
declare const index$2_normalizeJsonSchema: typeof normalizeJsonSchema;
|
|
2878
2906
|
declare namespace index$2 {
|
|
2879
|
-
export { index$2_BaseTool as BaseTool, type index$2_BuildFunctionDeclarationOptions as BuildFunctionDeclarationOptions, index$2_ExitLoopTool as ExitLoopTool, index$2_FileOperationsTool as FileOperationsTool, index$2_FunctionTool as FunctionTool, index$2_GetUserChoiceTool as GetUserChoiceTool, index$2_GoogleSearch as GoogleSearch, index$2_HttpRequestTool as HttpRequestTool, type index$2_IToolContext as IToolContext, index$2_LoadMemoryTool as LoadMemoryTool, type index$2_McpConfig as McpConfig, index$2_McpError as McpError, index$2_McpErrorType as McpErrorType, index$2_McpToolset as McpToolset, type index$2_McpTransportType as McpTransportType, type index$2_ToolConfig as ToolConfig, index$2_ToolContext as ToolContext, index$2_TransferToAgentTool as TransferToAgentTool, index$2_UserInteractionTool as UserInteractionTool, index$2_adkToMcpToolType as adkToMcpToolType, index$2_buildFunctionDeclaration as buildFunctionDeclaration, index$2_createFunctionTool as createFunctionTool, index$2_getMcpTools as getMcpTools, index$2_jsonSchemaToDeclaration as jsonSchemaToDeclaration, index$2_mcpSchemaToParameters as mcpSchemaToParameters, index$2_normalizeJsonSchema as normalizeJsonSchema };
|
|
2907
|
+
export { index$2_BaseTool as BaseTool, type index$2_BuildFunctionDeclarationOptions as BuildFunctionDeclarationOptions, index$2_ExitLoopTool as ExitLoopTool, index$2_FileOperationsTool as FileOperationsTool, index$2_FunctionTool as FunctionTool, index$2_GetUserChoiceTool as GetUserChoiceTool, index$2_GoogleSearch as GoogleSearch, index$2_HttpRequestTool as HttpRequestTool, type index$2_IToolContext as IToolContext, index$2_LoadMemoryTool as LoadMemoryTool, type index$2_McpConfig as McpConfig, index$2_McpError as McpError, index$2_McpErrorType as McpErrorType, index$2_McpToolset as McpToolset, type index$2_McpTransportType as McpTransportType, type index$2_SamplingHandler as SamplingHandler, type index$2_SamplingRequest as SamplingRequest, type index$2_SamplingResponse as SamplingResponse, type index$2_ToolConfig as ToolConfig, index$2_ToolContext as ToolContext, index$2_TransferToAgentTool as TransferToAgentTool, index$2_UserInteractionTool as UserInteractionTool, index$2_adkToMcpToolType as adkToMcpToolType, index$2_buildFunctionDeclaration as buildFunctionDeclaration, index$2_createFunctionTool as createFunctionTool, index$2_getMcpTools as getMcpTools, index$2_jsonSchemaToDeclaration as jsonSchemaToDeclaration, index$2_mcpSchemaToParameters as mcpSchemaToParameters, index$2_normalizeJsonSchema as normalizeJsonSchema };
|
|
2880
2908
|
}
|
|
2881
2909
|
|
|
2882
2910
|
/**
|
|
@@ -2955,6 +2983,7 @@ declare class PersistentMemoryService implements BaseMemoryService {
|
|
|
2955
2983
|
* File prefix for memory files
|
|
2956
2984
|
*/
|
|
2957
2985
|
private filePrefix;
|
|
2986
|
+
private logger;
|
|
2958
2987
|
/**
|
|
2959
2988
|
* Constructor for PersistentMemoryService
|
|
2960
2989
|
*/
|
|
@@ -3434,4 +3463,4 @@ declare class InMemoryRunner extends Runner {
|
|
|
3434
3463
|
|
|
3435
3464
|
declare const VERSION = "0.1.0";
|
|
3436
3465
|
|
|
3437
|
-
export { Agent, type AgentConfig, index$3 as Agents, AnthropicLLM, type AnthropicLLMConfig, AnthropicLLMConnection, ApiKeyCredential, ApiKeyScheme, type AudioTranscriptionConfig, AuthConfig, AuthCredential, AuthCredentialType, AuthHandler, AuthScheme, AuthSchemeType, BaseAgent, BaseLLM, BaseLLMConnection, type BaseMemoryService, BaseTool, BasicAuthCredential, BearerTokenCredential, type BuildFunctionDeclarationOptions, ExitLoopTool, FileOperationsTool, type FunctionCall, type FunctionDeclaration, FunctionTool, GetUserChoiceTool, GoogleLLM, type GoogleLLMConfig, GoogleSearch, HttpRequestTool, HttpScheme, type IToolContext, type ImageContent, InMemoryMemoryService, InMemoryRunner, InMemorySessionService, InvocationContext, type JSONSchema, LLMRegistry, LLMRequest, type LLMRequestConfig, LLMResponse, LangGraphAgent, type LangGraphAgentConfig, type LangGraphNode, type ListSessionOptions, LoadMemoryTool, LoopAgent, type LoopAgentConfig, type McpConfig, McpError, McpErrorType, McpToolset, type McpTransportType, index$1 as Memory, type MemoryResult, type Message, type MessageContent, type MessageRole, index$4 as Models, OAuth2Credential, OAuth2Scheme, type OAuthFlow, type OAuthFlows, OpenAILLM, type OpenAILLMConfig, OpenAILLMConnection, OpenIdConnectScheme, ParallelAgent, type ParallelAgentConfig, PersistentMemoryService, PgLiteSessionService, PostgresSessionService, RunConfig, Runner, type SearchMemoryOptions, type SearchMemoryResponse, SequentialAgent, type SequentialAgentConfig, type Session, type SessionService, SessionState, index as Sessions, type SpeechConfig, SqliteSessionService, StreamingMode, type TextContent, type ToolCall, type ToolConfig, ToolContext, index$2 as Tools, TransferToAgentTool, UserInteractionTool, VERSION, adkToMcpToolType, buildFunctionDeclaration, cloneSession, createFunctionTool, generateSessionId, getMcpTools, jsonSchemaToDeclaration, mcpSchemaToParameters, normalizeJsonSchema, registerProviders, validateSession };
|
|
3466
|
+
export { Agent, type AgentConfig, index$3 as Agents, AnthropicLLM, type AnthropicLLMConfig, AnthropicLLMConnection, ApiKeyCredential, ApiKeyScheme, type AudioTranscriptionConfig, AuthConfig, AuthCredential, AuthCredentialType, AuthHandler, AuthScheme, AuthSchemeType, BaseAgent, BaseLLM, BaseLLMConnection, type BaseMemoryService, BaseTool, BasicAuthCredential, BearerTokenCredential, type BuildFunctionDeclarationOptions, ExitLoopTool, FileOperationsTool, type FunctionCall, type FunctionDeclaration, FunctionTool, GetUserChoiceTool, GoogleLLM, type GoogleLLMConfig, GoogleSearch, HttpRequestTool, HttpScheme, type IToolContext, type ImageContent, InMemoryMemoryService, InMemoryRunner, InMemorySessionService, InvocationContext, type JSONSchema, LLMRegistry, LLMRequest, type LLMRequestConfig, LLMResponse, LangGraphAgent, type LangGraphAgentConfig, type LangGraphNode, type ListSessionOptions, LoadMemoryTool, LoopAgent, type LoopAgentConfig, type McpConfig, McpError, McpErrorType, McpToolset, type McpTransportType, index$1 as Memory, type MemoryResult, type Message, type MessageContent, type MessageRole, index$4 as Models, OAuth2Credential, OAuth2Scheme, type OAuthFlow, type OAuthFlows, OpenAILLM, type OpenAILLMConfig, OpenAILLMConnection, OpenIdConnectScheme, ParallelAgent, type ParallelAgentConfig, PersistentMemoryService, PgLiteSessionService, PostgresSessionService, RunConfig, Runner, type SamplingHandler, type SamplingRequest, type SamplingResponse, type SearchMemoryOptions, type SearchMemoryResponse, SequentialAgent, type SequentialAgentConfig, type Session, type SessionService, SessionState, index as Sessions, type SpeechConfig, SqliteSessionService, StreamingMode, type TextContent, type ToolCall, type ToolConfig, ToolContext, index$2 as Tools, TransferToAgentTool, UserInteractionTool, VERSION, adkToMcpToolType, buildFunctionDeclaration, cloneSession, createFunctionTool, generateSessionId, getMcpTools, jsonSchemaToDeclaration, mcpSchemaToParameters, normalizeJsonSchema, registerProviders, validateSession };
|