@mozilla-ai/mcpd 0.0.2 → 0.0.4
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/README.md +166 -6
- package/dist/client.d.ts +36 -47
- package/dist/client.d.ts.map +1 -1
- package/dist/functionBuilder.d.ts +6 -0
- package/dist/functionBuilder.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +241 -45
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +241 -45
- package/dist/index.mjs.map +1 -1
- package/dist/logger.d.ts +93 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/types.d.ts +106 -19
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -73,7 +73,6 @@ const client = new McpdClient({
|
|
|
73
73
|
apiEndpoint: "http://localhost:8090",
|
|
74
74
|
apiKey: "optional-key", // Optional API key
|
|
75
75
|
healthCacheTtl: 10, // Cache health checks for 10 seconds
|
|
76
|
-
serverCacheTtl: 60, // Cache server/tool metadata for 60 seconds
|
|
77
76
|
});
|
|
78
77
|
|
|
79
78
|
// Full type safety and autocomplete
|
|
@@ -107,11 +106,114 @@ const client = new McpdClient({
|
|
|
107
106
|
apiEndpoint: "http://localhost:8090", // Required
|
|
108
107
|
apiKey: "optional-key", // Optional: API key for authentication
|
|
109
108
|
healthCacheTtl: 10, // Optional: TTL in seconds for health cache (default: 10)
|
|
110
|
-
serverCacheTtl: 60, // Optional: TTL in seconds for server/tools cache (default: 60)
|
|
111
109
|
timeout: 30000, // Optional: Request timeout in ms (default: 30000)
|
|
112
110
|
});
|
|
113
111
|
```
|
|
114
112
|
|
|
113
|
+
### Logging
|
|
114
|
+
|
|
115
|
+
The SDK includes optional logging for warnings about unhealthy or non-existent servers that are skipped during operations.
|
|
116
|
+
|
|
117
|
+
**Important:** Logging is disabled by default. Only enable logging in non-MCP-server contexts. MCP servers using stdio transport for JSON-RPC communication should never enable logging, as it will contaminate stdout/stderr and break the protocol.
|
|
118
|
+
|
|
119
|
+
#### Using Environment Variable
|
|
120
|
+
|
|
121
|
+
Set the `MCPD_LOG_LEVEL` environment variable to control logging:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Valid levels: trace, debug, info, warn, error, off (default)
|
|
125
|
+
export MCPD_LOG_LEVEL=warn
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**Available Log Levels:**
|
|
129
|
+
|
|
130
|
+
| Level | Description |
|
|
131
|
+
| ------- | --------------------------------------------------------------- |
|
|
132
|
+
| `trace` | Verbose information (includes `debug`, `info`, `warn`, `error`) |
|
|
133
|
+
| `debug` | Debug information (includes `info`, `warn`, `error`) |
|
|
134
|
+
| `info` | General informational messages (includes `warn`, `error`) |
|
|
135
|
+
| `warn` | Warning messages only (includes `error`) |
|
|
136
|
+
| `error` | Error messages only |
|
|
137
|
+
| `off` | (...or unset) Logging disabled (default) |
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
// Logging is automatically enabled based on MCPD_LOG_LEVEL
|
|
141
|
+
const client = new McpdClient({
|
|
142
|
+
apiEndpoint: "http://localhost:8090",
|
|
143
|
+
});
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### Using Custom Logger
|
|
147
|
+
|
|
148
|
+
For advanced use cases, inject your own logger implementation.
|
|
149
|
+
|
|
150
|
+
**Partial Logger Support:** You can provide only the methods you want to customize. Any omitted methods will fall back to the default logger, which respects `MCPD_LOG_LEVEL`.
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
import { McpdClient } from "@mozilla-ai/mcpd";
|
|
154
|
+
|
|
155
|
+
// Full custom logger
|
|
156
|
+
const client = new McpdClient({
|
|
157
|
+
apiEndpoint: "http://localhost:8090",
|
|
158
|
+
logger: {
|
|
159
|
+
trace: (...args) => myLogger.trace(args),
|
|
160
|
+
debug: (...args) => myLogger.debug(args),
|
|
161
|
+
info: (...args) => myLogger.info(args),
|
|
162
|
+
warn: (...args) => myLogger.warn(args),
|
|
163
|
+
error: (...args) => myLogger.error(args),
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
// Partial logger: custom warn/error, default (MCPD_LOG_LEVEL-aware) for others
|
|
168
|
+
const client2 = new McpdClient({
|
|
169
|
+
apiEndpoint: "http://localhost:8090",
|
|
170
|
+
logger: {
|
|
171
|
+
warn: (msg) => console.warn(`[mcpd] ${msg}`),
|
|
172
|
+
error: (msg) => console.error(`[mcpd] ${msg}`),
|
|
173
|
+
// trace, debug, info use default logger (respects MCPD_LOG_LEVEL)
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### Disabling Logging
|
|
179
|
+
|
|
180
|
+
To disable logging, simply ensure `MCPD_LOG_LEVEL` is unset or set to `off` (the default):
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
// Logging is disabled by default (no configuration needed)
|
|
184
|
+
const client = new McpdClient({
|
|
185
|
+
apiEndpoint: "http://localhost:8090",
|
|
186
|
+
});
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
If you need to disable logging even when `MCPD_LOG_LEVEL` is set (rare case), provide a custom logger with no-op implementations:
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
// Override MCPD_LOG_LEVEL to force disable
|
|
193
|
+
const client = new McpdClient({
|
|
194
|
+
apiEndpoint: "http://localhost:8090",
|
|
195
|
+
logger: {
|
|
196
|
+
trace: () => {},
|
|
197
|
+
debug: () => {},
|
|
198
|
+
info: () => {},
|
|
199
|
+
warn: () => {},
|
|
200
|
+
error: () => {},
|
|
201
|
+
},
|
|
202
|
+
});
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
When logging is enabled, warnings are emitted for:
|
|
206
|
+
|
|
207
|
+
- Unhealthy servers that are skipped (e.g., status `timeout`, `unreachable`)
|
|
208
|
+
- Non-existent servers specified in filter options
|
|
209
|
+
|
|
210
|
+
Example warning messages:
|
|
211
|
+
|
|
212
|
+
```text
|
|
213
|
+
Skipping unhealthy server 'time' with status 'timeout'
|
|
214
|
+
Skipping non-existent server 'unknown'
|
|
215
|
+
```
|
|
216
|
+
|
|
115
217
|
### Core Methods
|
|
116
218
|
|
|
117
219
|
#### `client.listServers()`
|
|
@@ -357,12 +459,29 @@ if (await client.isServerHealthy("time")) {
|
|
|
357
459
|
|
|
358
460
|
#### `client.getAgentTools(options?)`
|
|
359
461
|
|
|
360
|
-
Generate callable functions that work directly with AI agent frameworks. No conversion layers needed.
|
|
462
|
+
Generate (cached) callable functions that work directly with AI agent frameworks. No conversion layers needed.
|
|
463
|
+
|
|
464
|
+
> [!IMPORTANT]
|
|
465
|
+
> Generated functions are cached for performance. Once cached, subsequent calls return cached functions regardless of filter parameters.
|
|
466
|
+
> To force regeneration, either call `client.clearAgentToolsCache()` first, or use the `refreshCache: true` option.
|
|
467
|
+
|
|
468
|
+
##### Supports filtering by servers and by tools
|
|
469
|
+
|
|
470
|
+
AI agents perform better with focused tool sets they need to complete the given task.
|
|
471
|
+
Tool filtering enables progressive disclosure - operators can expose a subset of server tools via `mcpd` configuration,
|
|
472
|
+
then agents can further narrow down to only the tools needed for their specific task.
|
|
473
|
+
This prevents overwhelming the model's context window and improves response quality.
|
|
474
|
+
|
|
475
|
+
##### Examples
|
|
361
476
|
|
|
362
477
|
```typescript
|
|
363
|
-
// Options: { servers?: string[], format?: 'array' | 'object' | 'map' }
|
|
364
|
-
// Default format is 'array' (for LangChain)
|
|
478
|
+
// Options: { servers?: string[], tools?: string[], format?: 'array' | 'object' | 'map', refreshCache?: boolean }
|
|
479
|
+
// Default format is 'array' (for LangChain), refreshCache defaults to false
|
|
480
|
+
```
|
|
365
481
|
|
|
482
|
+
LangChain
|
|
483
|
+
|
|
484
|
+
```typescript
|
|
366
485
|
// Use with LangChain JS (array format is default)
|
|
367
486
|
import { ChatOpenAI } from "@langchain/openai";
|
|
368
487
|
|
|
@@ -380,7 +499,11 @@ const agent = await createOpenAIToolsAgent({
|
|
|
380
499
|
tools: langchainTools,
|
|
381
500
|
prompt,
|
|
382
501
|
});
|
|
502
|
+
```
|
|
383
503
|
|
|
504
|
+
Vercel-AI
|
|
505
|
+
|
|
506
|
+
```typescript
|
|
384
507
|
// Use with Vercel AI SDK (expects object format)
|
|
385
508
|
import { generateText } from "ai";
|
|
386
509
|
|
|
@@ -390,12 +513,46 @@ const result = await generateText({
|
|
|
390
513
|
tools: vercelTools,
|
|
391
514
|
prompt: "What time is it in Tokyo?",
|
|
392
515
|
});
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
Filtering examples
|
|
393
519
|
|
|
520
|
+
```typescript
|
|
394
521
|
// Filter to specific servers
|
|
395
522
|
const timeTools = await client.getAgentTools({
|
|
396
523
|
servers: ["time"],
|
|
397
524
|
format: "array",
|
|
398
525
|
});
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
```typescript
|
|
529
|
+
// Filter by tool names (cross-cutting across all servers)
|
|
530
|
+
const mathTools = await client.getAgentTools({
|
|
531
|
+
tools: ["add", "multiply"],
|
|
532
|
+
});
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
```typescript
|
|
536
|
+
// Filter by qualified tool names (server-specific)
|
|
537
|
+
const specificTools = await client.getAgentTools({
|
|
538
|
+
tools: ["time__get_current_time", "math__add"],
|
|
539
|
+
});
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
```typescript
|
|
543
|
+
// Combine server and tool filtering
|
|
544
|
+
const filteredTools = await client.getAgentTools({
|
|
545
|
+
servers: ["time", "math"],
|
|
546
|
+
tools: ["add", "get_current_time"],
|
|
547
|
+
});
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
```typescript
|
|
551
|
+
// Tool filtering works with different formats
|
|
552
|
+
const toolsObject = await client.getAgentTools({
|
|
553
|
+
tools: ["add", "multiply"],
|
|
554
|
+
format: "object",
|
|
555
|
+
});
|
|
399
556
|
|
|
400
557
|
// Use with Map for efficient lookups
|
|
401
558
|
const toolMap = await client.getAgentTools({ format: "map" });
|
|
@@ -404,6 +561,9 @@ if (timeTool) {
|
|
|
404
561
|
const result = await timeTool({ timezone: "UTC" });
|
|
405
562
|
}
|
|
406
563
|
|
|
564
|
+
// Force refresh from cache to get latest schemas
|
|
565
|
+
const freshTools = await client.getAgentTools({ refreshCache: true });
|
|
566
|
+
|
|
407
567
|
// Each function has metadata for both frameworks
|
|
408
568
|
const tools = await client.getAgentTools();
|
|
409
569
|
for (const tool of tools) {
|
|
@@ -419,7 +579,7 @@ for (const tool of tools) {
|
|
|
419
579
|
Clear the cache of generated agent tools functions.
|
|
420
580
|
|
|
421
581
|
```typescript
|
|
422
|
-
// Clear cache to regenerate tools with latest schemas
|
|
582
|
+
// Clear cache to regenerate tools with latest schemas, or latest client side server/tool filters.
|
|
423
583
|
client.clearAgentToolsCache();
|
|
424
584
|
const freshTools = await client.getAgentTools();
|
|
425
585
|
```
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { McpdClientOptions, ServerHealth } from './types';
|
|
1
|
+
import { McpdClientOptions, ServerHealth, ArrayAgentToolsOptions, ObjectAgentToolsOptions, MapAgentToolsOptions } from './types';
|
|
2
2
|
import { ServersNamespace } from './dynamicCaller';
|
|
3
3
|
import { AgentFunction } from './functionBuilder';
|
|
4
4
|
/**
|
|
@@ -20,7 +20,6 @@ import { AgentFunction } from './functionBuilder';
|
|
|
20
20
|
* apiEndpoint: 'http://localhost:8090',
|
|
21
21
|
* apiKey: 'optional-key',
|
|
22
22
|
* healthCacheTtl: 10,
|
|
23
|
-
* serverCacheTtl: 60
|
|
24
23
|
* });
|
|
25
24
|
*
|
|
26
25
|
* // List available servers
|
|
@@ -48,6 +47,10 @@ export declare class McpdClient {
|
|
|
48
47
|
* Get a list of all configured MCP servers.
|
|
49
48
|
*
|
|
50
49
|
* @returns Array of server names
|
|
50
|
+
*
|
|
51
|
+
* @throws {AuthenticationError} If API key was present and authentication fails
|
|
52
|
+
* @throws {ConnectionError} If unable to connect to the mcpd daemon
|
|
53
|
+
* @throws {TimeoutError} If the request times out
|
|
51
54
|
* @throws {McpdError} If the request fails
|
|
52
55
|
*
|
|
53
56
|
* @example
|
|
@@ -60,9 +63,13 @@ export declare class McpdClient {
|
|
|
60
63
|
/**
|
|
61
64
|
* Get health information for one or all servers.
|
|
62
65
|
*
|
|
63
|
-
* @param serverName -
|
|
66
|
+
* @param serverName - Server name to get health for, or undefined for all servers
|
|
67
|
+
*
|
|
64
68
|
* @returns Health information for the specified server or all servers
|
|
65
|
-
*
|
|
69
|
+
*
|
|
70
|
+
* @throws {AuthenticationError} If API key was present and authentication fails
|
|
71
|
+
* @throws {ConnectionError} If unable to connect to the mcpd daemon
|
|
72
|
+
* @throws {TimeoutError} If the request times out
|
|
66
73
|
* @throws {McpdError} If the request fails
|
|
67
74
|
*
|
|
68
75
|
* @example
|
|
@@ -82,8 +89,14 @@ export declare class McpdClient {
|
|
|
82
89
|
* Check if a specific server is healthy.
|
|
83
90
|
*
|
|
84
91
|
* @param serverName - The name of the server to check
|
|
92
|
+
*
|
|
85
93
|
* @returns True if the server is healthy, false otherwise
|
|
86
94
|
*
|
|
95
|
+
* @throws {AuthenticationError} If API key was present and authentication fails
|
|
96
|
+
* @throws {ConnectionError} If unable to connect to the mcpd daemon
|
|
97
|
+
* @throws {TimeoutError} If the request times out
|
|
98
|
+
* @throws {McpdError} If the request fails
|
|
99
|
+
*
|
|
87
100
|
* @example
|
|
88
101
|
* ```typescript
|
|
89
102
|
* if (await client.isServerHealthy('time')) {
|
|
@@ -102,47 +115,29 @@ export declare class McpdClient {
|
|
|
102
115
|
* This forces fresh health checks on the next getServerHealth() or isServerHealthy() call.
|
|
103
116
|
*/
|
|
104
117
|
clearServerHealthCache(): void;
|
|
105
|
-
/**
|
|
106
|
-
* Generate callable functions for use with AI agent frameworks (internal).
|
|
107
|
-
*
|
|
108
|
-
* This method queries servers and creates self-contained, callable functions
|
|
109
|
-
* that can be passed to AI agent frameworks. Each function includes its schema
|
|
110
|
-
* as metadata and handles the MCP communication internally.
|
|
111
|
-
*
|
|
112
|
-
* This method automatically filters out unhealthy servers by checking their health
|
|
113
|
-
* status before fetching tools. Unhealthy servers are silently skipped to ensure
|
|
114
|
-
* the method returns quickly without waiting for timeouts on failed servers.
|
|
115
|
-
*
|
|
116
|
-
* Tool fetches from multiple servers are executed concurrently for optimal performance.
|
|
117
|
-
*
|
|
118
|
-
* @param servers - Optional list of server names to include. If not specified, includes all servers.
|
|
119
|
-
* @returns Array of callable functions with metadata. Only includes tools from healthy servers.
|
|
120
|
-
*
|
|
121
|
-
* @throws {ConnectionError} If unable to connect to the mcpd daemon
|
|
122
|
-
* @throws {TimeoutError} If requests to the daemon time out
|
|
123
|
-
* @throws {AuthenticationError} If API key authentication fails
|
|
124
|
-
* @throws {McpdError} If unable to retrieve health status, server list, or generate functions
|
|
125
|
-
* @internal
|
|
126
|
-
*/
|
|
127
|
-
agentTools(servers?: string[]): Promise<AgentFunction[]>;
|
|
128
118
|
/**
|
|
129
119
|
* Generate callable functions for use with AI agent frameworks.
|
|
130
120
|
*
|
|
131
|
-
* This method queries servers and
|
|
121
|
+
* This method queries servers to create and cache self-contained, callable functions
|
|
132
122
|
* that can be passed to AI agent frameworks. Each function includes its schema
|
|
133
123
|
* as metadata and handles the MCP communication internally.
|
|
134
124
|
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
125
|
+
* @remarks
|
|
126
|
+
* This method automatically filters out unhealthy servers by checking their health status before fetching tools.
|
|
127
|
+
* Unhealthy servers are skipped (with optional warnings when logging is enabled) to ensure the
|
|
128
|
+
* method returns quickly without waiting for timeouts on failed servers.
|
|
138
129
|
*
|
|
139
130
|
* Tool fetches from multiple servers are executed concurrently for optimal performance.
|
|
140
131
|
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
132
|
+
* Generated functions are cached for performance. Once cached, subsequent calls return
|
|
133
|
+
* the cached functions immediately without refetching schemas, regardless of filter parameters.
|
|
134
|
+
* Use {@link clearAgentToolsCache()} to clear the cache, or set refreshCache to true
|
|
135
|
+
* to force regeneration when tool schemas have changed.
|
|
136
|
+
*
|
|
137
|
+
* @param options - Options for output format, server/tool filtering, and cache control
|
|
143
138
|
*
|
|
144
|
-
* @
|
|
145
|
-
*
|
|
139
|
+
* @returns Functions in the requested format (array, object, or map).
|
|
140
|
+
* Only includes tools from healthy servers.
|
|
146
141
|
*
|
|
147
142
|
* @throws {ConnectionError} If unable to connect to the mcpd daemon
|
|
148
143
|
* @throws {TimeoutError} If requests to the daemon time out
|
|
@@ -158,6 +153,9 @@ export declare class McpdClient {
|
|
|
158
153
|
* // Get tools from specific servers
|
|
159
154
|
* const tools = await client.getAgentTools({ servers: ['time', 'fetch'] });
|
|
160
155
|
*
|
|
156
|
+
* // Force refresh from cache
|
|
157
|
+
* const freshTools = await client.getAgentTools({ refreshCache: true });
|
|
158
|
+
*
|
|
161
159
|
* // Use with LangChain JS (array format)
|
|
162
160
|
* const langchainTools = await client.getAgentTools({ format: 'array' });
|
|
163
161
|
* const agent = await createOpenAIToolsAgent({ llm, tools: langchainTools, prompt });
|
|
@@ -170,17 +168,8 @@ export declare class McpdClient {
|
|
|
170
168
|
* const result = await generateText({ model, tools: vercelTools, prompt });
|
|
171
169
|
* ```
|
|
172
170
|
*/
|
|
173
|
-
getAgentTools(options?:
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}): Promise<AgentFunction[]>;
|
|
177
|
-
getAgentTools(options: {
|
|
178
|
-
format: "object";
|
|
179
|
-
servers?: string[];
|
|
180
|
-
}): Promise<Record<string, AgentFunction>>;
|
|
181
|
-
getAgentTools(options: {
|
|
182
|
-
format: "map";
|
|
183
|
-
servers?: string[];
|
|
184
|
-
}): Promise<Map<string, AgentFunction>>;
|
|
171
|
+
getAgentTools(options?: ArrayAgentToolsOptions): Promise<AgentFunction[]>;
|
|
172
|
+
getAgentTools(options: ObjectAgentToolsOptions): Promise<Record<string, AgentFunction>>;
|
|
173
|
+
getAgentTools(options: MapAgentToolsOptions): Promise<Map<string, AgentFunction>>;
|
|
185
174
|
}
|
|
186
175
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,EAEL,iBAAiB,EACjB,YAAY,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,EAEL,iBAAiB,EACjB,YAAY,EAMZ,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EAUrB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgDxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,UAAU;;IAarB;;OAEG;IACH,SAAgB,OAAO,EAAE,gBAAgB,CAAC;IAE1C;;;;OAIG;gBACS,OAAO,EAAE,iBAAiB;IAiKtC;;;;;;;;;;;;;;;OAeG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA8PtC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoDhE;;;;;;;;;;;;;;;;;;OAkBG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkJ3D;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;;OAGG;IACH,sBAAsB,IAAI,IAAI;IA4D9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACG,aAAa,CACjB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,aAAa,EAAE,CAAC;IACrB,aAAa,CACjB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,aAAa,CACjB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CA+DvC"}
|
|
@@ -106,5 +106,11 @@ export declare class FunctionBuilder {
|
|
|
106
106
|
* @returns The number of functions currently cached
|
|
107
107
|
*/
|
|
108
108
|
getCacheSize(): number;
|
|
109
|
+
/**
|
|
110
|
+
* Get all cached functions.
|
|
111
|
+
*
|
|
112
|
+
* @returns Array of all cached agent functions, or empty array if cache is empty
|
|
113
|
+
*/
|
|
114
|
+
getCachedFunctions(): AgentFunction[];
|
|
109
115
|
}
|
|
110
116
|
//# sourceMappingURL=functionBuilder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionBuilder.d.ts","sourceRoot":"","sources":["../src/functionBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGnD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAIpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IAItB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAG7C,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAe;;IAI1B;;;;OAIG;gBACS,WAAW,EAAE,aAAa;IA2EtC;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;;;;OAaG;IACH,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa;IAoBzE;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAoIrB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;OAIG;IACH,YAAY,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"functionBuilder.d.ts","sourceRoot":"","sources":["../src/functionBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGnD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAIpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IAItB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAG7C,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAe;;IAI1B;;;;OAIG;gBACS,WAAW,EAAE,aAAa;IA2EtC;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;;;;OAaG;IACH,wBAAwB,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,aAAa;IAoBzE;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAoIrB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAoCvB;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAIlB;;;;OAIG;IACH,YAAY,IAAI,MAAM;IAItB;;;;OAIG;IACH,kBAAkB,IAAI,aAAa,EAAE;CAGtC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
*/
|
|
17
17
|
export { McpdClient } from './client';
|
|
18
18
|
export { McpdError, AuthenticationError, ConnectionError, ServerNotFoundError, ServerUnhealthyError, TimeoutError, ToolExecutionError, ToolNotFoundError, ValidationError, } from './errors';
|
|
19
|
-
export { HealthStatus, HealthStatusHelpers, type JsonSchema, type Tool, type Tools, type ToolAnnotations, type ServerHealth, type ToolsResponse, type HealthResponse, type McpdClientOptions, type ErrorDetail, type ErrorModel, type
|
|
19
|
+
export { HealthStatus, HealthStatusHelpers, type JsonSchema, type Tool, type Tools, type ToolAnnotations, type ServerHealth, type ToolsResponse, type HealthResponse, type McpdClientOptions, type ErrorDetail, type ErrorModel, type AgentToolsFormat, type BaseAgentToolsOptions, type ArrayAgentToolsOptions, type ObjectAgentToolsOptions, type MapAgentToolsOptions, type AgentToolsOptions, type Resource, type Resources, type ResourceContent, type ResourceTemplate, type ResourceTemplates, type Prompt, type PromptArgument, type Prompts, type PromptMessage, type PromptGenerateArguments, type GeneratePromptResponseBody, } from './types';
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,KAAK,EACV,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,KAAK,EACV,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,GAChC,MAAM,SAAS,CAAC"}
|