llm-advanced-tools 0.1.4 → 0.1.5
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 +16 -7
- package/dist/adapters/vercel-ai.d.ts +1 -2
- package/dist/adapters/vercel-ai.d.ts.map +1 -1
- package/dist/adapters/vercel-ai.js +66 -28
- package/dist/adapters/vercel-ai.js.map +1 -1
- package/dist/search/bm25.d.ts +1 -1
- package/dist/search/bm25.d.ts.map +1 -1
- package/dist/search/bm25.js +1 -1
- package/dist/search/bm25.js.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -91,9 +91,9 @@ const openaiClient = new Client({
|
|
|
91
91
|
enableProgrammaticCalling: true
|
|
92
92
|
}, registry);
|
|
93
93
|
|
|
94
|
-
// Or use with Anthropic Claude Sonnet 4.
|
|
94
|
+
// Or use with Anthropic Claude Sonnet 4.6
|
|
95
95
|
const claudeClient = new Client({
|
|
96
|
-
adapter: new VercelAIAdapter(anthropic('claude-sonnet-4-
|
|
96
|
+
adapter: new VercelAIAdapter(anthropic('claude-sonnet-4-6')),
|
|
97
97
|
enableToolSearch: true,
|
|
98
98
|
enableProgrammaticCalling: true
|
|
99
99
|
}, registry);
|
|
@@ -115,7 +115,7 @@ console.log(response);
|
|
|
115
115
|
**Benefits:**
|
|
116
116
|
- ✅ **One Interface**: Work with all major providers (OpenAI, Anthropic, Google, Mistral, etc.)
|
|
117
117
|
- ✅ **Easy Switching**: Change providers by modifying one line of code
|
|
118
|
-
- ✅ **Latest Models**: Support for GPT-5, Claude Sonnet 4.
|
|
118
|
+
- ✅ **Latest Models**: Support for GPT-5, Claude Sonnet 4.6, Gemini 2.0, and more
|
|
119
119
|
- ✅ **Advanced Features**: Tool search, programmatic calling work across all providers
|
|
120
120
|
- ✅ **Type Safety**: Full TypeScript support with excellent IDE integration
|
|
121
121
|
- ✅ **AI SDK 6 Ready**: Compatible with the latest Vercel AI SDK v6.0
|
|
@@ -140,7 +140,7 @@ console.log(response);
|
|
|
140
140
|
│ Vercel AI SDK Adapter │
|
|
141
141
|
│ Supports all Vercel AI SDK providers: │
|
|
142
142
|
│ • OpenAI (GPT-4, GPT-5) │
|
|
143
|
-
│ • Anthropic (Claude
|
|
143
|
+
│ • Anthropic (Claude Sonnet 4, 4.5, 4.6) │
|
|
144
144
|
│ • Google (Gemini) │
|
|
145
145
|
│ • Mistral, Groq, Cohere, and more │
|
|
146
146
|
└─────────────────────────────────────────────────────────┘
|
|
@@ -217,7 +217,7 @@ All providers supported through Vercel AI SDK:
|
|
|
217
217
|
| Provider | Tool Search | Code Execution | Examples | Latest Models |
|
|
218
218
|
|----------|------------|----------------|----------|---------------|
|
|
219
219
|
| **OpenAI** | ✅ (emulated) | ✅ (emulated) | ✅ (emulated) | GPT-5, GPT-4o |
|
|
220
|
-
| **Anthropic** | ✅ (native + emulated) | ✅ (native + emulated) | ✅ (native + emulated) | Claude Sonnet 4.
|
|
220
|
+
| **Anthropic** | ✅ (native + emulated) | ✅ (native + emulated) | ✅ (native + emulated) | Claude Sonnet 4.6 |
|
|
221
221
|
| **Google** | ✅ (emulated) | ✅ (emulated) | ✅ (emulated) | Gemini 2.0 |
|
|
222
222
|
| **Mistral** | ✅ (emulated) | ✅ (emulated) | ✅ (emulated) | Latest |
|
|
223
223
|
| **Groq** | ✅ (emulated) | ✅ (emulated) | ✅ (emulated) | Latest |
|
|
@@ -355,7 +355,14 @@ The default VM executor is **NOT secure** for untrusted code. For production:
|
|
|
355
355
|
|
|
356
356
|
## Changelog
|
|
357
357
|
|
|
358
|
-
### v0.1.
|
|
358
|
+
### v0.1.4 (Latest)
|
|
359
|
+
**Tool Loop Fixes & Provider Validation**
|
|
360
|
+
- ✅ **Anthropic Verified**: Confirmed working against `claude-sonnet-4-6`
|
|
361
|
+
- ✅ **Tool Loop Fix**: Correctly round-trips AI SDK tool calls and tool results
|
|
362
|
+
- ✅ **Deferred Loading Fix**: `tool_search` can now load deferred tools and continue the conversation
|
|
363
|
+
- ✅ **Examples Updated**: README and sample code consistently use `VercelAIAdapter`
|
|
364
|
+
|
|
365
|
+
### v0.1.3
|
|
359
366
|
**AI SDK 6 Support & Latest Models**
|
|
360
367
|
- ✅ **AI SDK 6**: Full support for Vercel AI SDK v6.0
|
|
361
368
|
- ✅ **Latest Models**: Support for GPT-5, Claude Sonnet 4.5, Gemini 2.0
|
|
@@ -380,7 +387,7 @@ The default VM executor is **NOT secure** for untrusted code. For production:
|
|
|
380
387
|
|
|
381
388
|
- [x] Core library with Vercel AI SDK adapter
|
|
382
389
|
- [x] AI SDK 6 support
|
|
383
|
-
- [x] Latest model support (GPT-5, Claude Sonnet 4.
|
|
390
|
+
- [x] Latest model support (GPT-5, Claude Sonnet 4.6)
|
|
384
391
|
- [ ] Docker-based executor
|
|
385
392
|
- [ ] E2B integration
|
|
386
393
|
- [ ] Streaming support
|
|
@@ -397,6 +404,8 @@ MIT
|
|
|
397
404
|
|
|
398
405
|
## Credits
|
|
399
406
|
|
|
407
|
+
Made by Het Patel.
|
|
408
|
+
|
|
400
409
|
This library implements features described in Anthropic's blog post:
|
|
401
410
|
[Introducing advanced tool use on the Claude Developer Platform](https://www.anthropic.com/engineering/advanced-tool-use)
|
|
402
411
|
|
|
@@ -20,13 +20,12 @@ export declare class VercelAIAdapter implements ProviderAdapter {
|
|
|
20
20
|
readonly name = "vercel-ai";
|
|
21
21
|
readonly capabilities: ProviderCapabilities;
|
|
22
22
|
private model;
|
|
23
|
-
private providerName;
|
|
24
23
|
/**
|
|
25
24
|
* @param model - AI SDK language model (e.g., from @ai-sdk/openai, @ai-sdk/anthropic)
|
|
26
25
|
* Supports V1, V2, and V3 model versions for compatibility
|
|
27
26
|
* @param providerName - Optional provider name for identification
|
|
28
27
|
*/
|
|
29
|
-
constructor(model: AnyLanguageModel,
|
|
28
|
+
constructor(model: AnyLanguageModel, _providerName?: string);
|
|
30
29
|
/**
|
|
31
30
|
* Format a tool definition for AI SDK's format
|
|
32
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../src/adapters/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../src/adapters/vercel-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,IAAI,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EAEX,MAAM,UAAU,CAAC;AAElB;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,eAAe,GACf,aAAa,GACb;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE3B;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAOzC;IAEF,OAAO,CAAC,KAAK,CAAmB;IAEhC;;;;OAIG;gBACS,KAAK,EAAE,gBAAgB,EAAE,aAAa,SAAW;IAI7D;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAyBrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAwEvB;;OAEG;IACH,OAAO,CAAC,eAAe;IA6EvB;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAyFvD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,EAAE;IAQ5C;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG;IAK7C;;OAEG;IACH,OAAO,CAAC,eAAe;CAiBxB"}
|
|
@@ -14,7 +14,7 @@ class VercelAIAdapter {
|
|
|
14
14
|
* Supports V1, V2, and V3 model versions for compatibility
|
|
15
15
|
* @param providerName - Optional provider name for identification
|
|
16
16
|
*/
|
|
17
|
-
constructor(model,
|
|
17
|
+
constructor(model, _providerName = 'ai-sdk') {
|
|
18
18
|
this.name = 'vercel-ai';
|
|
19
19
|
this.capabilities = {
|
|
20
20
|
supportsNativeToolSearch: false,
|
|
@@ -25,7 +25,6 @@ class VercelAIAdapter {
|
|
|
25
25
|
maxTokens: 128000 // Depends on model, using safe default
|
|
26
26
|
};
|
|
27
27
|
this.model = model;
|
|
28
|
-
this.providerName = providerName;
|
|
29
28
|
}
|
|
30
29
|
/**
|
|
31
30
|
* Format a tool definition for AI SDK's format
|
|
@@ -55,11 +54,58 @@ class VercelAIAdapter {
|
|
|
55
54
|
* Convert our Message format to AI SDK's format
|
|
56
55
|
*/
|
|
57
56
|
convertMessages(messages) {
|
|
57
|
+
const toolNamesByCallId = new Map();
|
|
58
|
+
for (const msg of messages) {
|
|
59
|
+
if (msg.role === 'assistant' && msg.toolCalls) {
|
|
60
|
+
msg.toolCalls.forEach(toolCall => {
|
|
61
|
+
toolNamesByCallId.set(toolCall.id, toolCall.name);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
58
65
|
const converted = [];
|
|
59
66
|
for (const msg of messages) {
|
|
60
67
|
if (msg.role === 'tool') {
|
|
61
|
-
|
|
62
|
-
|
|
68
|
+
const toolResults = msg.toolResults ?? [];
|
|
69
|
+
if (toolResults.length === 0) {
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
converted.push({
|
|
73
|
+
role: 'tool',
|
|
74
|
+
content: toolResults.map(result => ({
|
|
75
|
+
type: 'tool-result',
|
|
76
|
+
toolCallId: result.toolCallId,
|
|
77
|
+
toolName: toolNamesByCallId.get(result.toolCallId) ?? 'unknown_tool',
|
|
78
|
+
output: {
|
|
79
|
+
type: 'json',
|
|
80
|
+
value: result.error
|
|
81
|
+
? {
|
|
82
|
+
error: result.error.message,
|
|
83
|
+
code: result.error.code,
|
|
84
|
+
details: result.error.details
|
|
85
|
+
}
|
|
86
|
+
: result.data ?? null
|
|
87
|
+
}
|
|
88
|
+
}))
|
|
89
|
+
});
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
if (msg.role === 'assistant' && msg.toolCalls && msg.toolCalls.length > 0) {
|
|
93
|
+
const content = [];
|
|
94
|
+
if (typeof msg.content === 'string' && msg.content.length > 0) {
|
|
95
|
+
content.push({ type: 'text', text: msg.content });
|
|
96
|
+
}
|
|
97
|
+
msg.toolCalls.forEach(toolCall => {
|
|
98
|
+
content.push({
|
|
99
|
+
type: 'tool-call',
|
|
100
|
+
toolCallId: toolCall.id,
|
|
101
|
+
toolName: toolCall.name,
|
|
102
|
+
input: toolCall.input
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
converted.push({
|
|
106
|
+
role: 'assistant',
|
|
107
|
+
content
|
|
108
|
+
});
|
|
63
109
|
continue;
|
|
64
110
|
}
|
|
65
111
|
converted.push({
|
|
@@ -113,13 +159,15 @@ class VercelAIAdapter {
|
|
|
113
159
|
break;
|
|
114
160
|
case 'array':
|
|
115
161
|
// Try to infer item type
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
162
|
+
{
|
|
163
|
+
let itemType = zod_1.z.any();
|
|
164
|
+
if (prop.items) {
|
|
165
|
+
itemType = this.jsonSchemaToZod(prop.items);
|
|
166
|
+
}
|
|
167
|
+
zodType = zod_1.z.array(itemType);
|
|
168
|
+
if (prop.description) {
|
|
169
|
+
zodType = zodType.describe(prop.description);
|
|
170
|
+
}
|
|
123
171
|
}
|
|
124
172
|
break;
|
|
125
173
|
case 'object':
|
|
@@ -166,22 +214,12 @@ class VercelAIAdapter {
|
|
|
166
214
|
// It's a JSON schema - convert to Zod for AI SDK
|
|
167
215
|
schema = this.jsonSchemaToZod(toolDef.inputSchema);
|
|
168
216
|
}
|
|
169
|
-
//
|
|
170
|
-
//
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
tools[name] = {
|
|
217
|
+
// Let the client own the tool execution loop so deferred loading,
|
|
218
|
+
// search-discovered tools, and programmatic execution all share the
|
|
219
|
+
// same conversation flow.
|
|
220
|
+
tools[toolDef.name] = {
|
|
174
221
|
description,
|
|
175
|
-
inputSchema: schema
|
|
176
|
-
execute: async (args) => {
|
|
177
|
-
try {
|
|
178
|
-
const result = await handler(args);
|
|
179
|
-
return result;
|
|
180
|
-
}
|
|
181
|
-
catch (error) {
|
|
182
|
-
throw new Error(`Tool ${name} failed: ${error.message}`);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
222
|
+
inputSchema: schema // AI SDK uses 'inputSchema' not 'parameters'
|
|
185
223
|
};
|
|
186
224
|
}
|
|
187
225
|
// Generate text with tools
|
|
@@ -210,7 +248,7 @@ class VercelAIAdapter {
|
|
|
210
248
|
toolCalls.push({
|
|
211
249
|
id: `call_${index}`,
|
|
212
250
|
name: tc.toolName,
|
|
213
|
-
input: tc.args
|
|
251
|
+
input: tc.input ?? tc.args ?? {}
|
|
214
252
|
});
|
|
215
253
|
});
|
|
216
254
|
}
|
|
@@ -238,7 +276,7 @@ class VercelAIAdapter {
|
|
|
238
276
|
return toolCalls.map((tc, index) => ({
|
|
239
277
|
id: `call_${index}`,
|
|
240
278
|
name: tc.toolName,
|
|
241
|
-
input: tc.args
|
|
279
|
+
input: tc.input ?? tc.args ?? {}
|
|
242
280
|
}));
|
|
243
281
|
}
|
|
244
282
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../../src/adapters/vercel-ai.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"vercel-ai.js","sourceRoot":"","sources":["../../src/adapters/vercel-ai.ts"],"names":[],"mappings":"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"}
|
package/dist/search/bm25.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare class BM25SearchStrategy extends BaseSearchStrategy {
|
|
|
10
10
|
private toolsIndex;
|
|
11
11
|
constructor(maxResults?: number, threshold?: number);
|
|
12
12
|
search(query: string, tools: ToolDefinition[], maxResults?: number): Promise<ToolDefinition[]>;
|
|
13
|
-
protected scoreRelevance(
|
|
13
|
+
protected scoreRelevance(_query: string, _tool: ToolDefinition): number;
|
|
14
14
|
private buildIndex;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=bm25.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAG5C;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,UAAU,CAA8B;gBAEpC,UAAU,SAAK,EAAE,SAAS,SAAM;IAOtC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,cAAc,EAAE,EACvB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;IAsB5B,SAAS,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAG5C;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,UAAU,CAA8B;gBAEpC,UAAU,SAAK,EAAE,SAAS,SAAM;IAOtC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,cAAc,EAAE,EACvB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;IAsB5B,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM;IAMvE,OAAO,CAAC,UAAU;CAWnB"}
|
package/dist/search/bm25.js
CHANGED
|
@@ -64,7 +64,7 @@ class BM25SearchStrategy extends base_1.BaseSearchStrategy {
|
|
|
64
64
|
const limit = maxResults ?? this.maxResults;
|
|
65
65
|
return results.slice(0, limit).map(({ tool }) => tool);
|
|
66
66
|
}
|
|
67
|
-
scoreRelevance(
|
|
67
|
+
scoreRelevance(_query, _tool) {
|
|
68
68
|
// This is handled by TF-IDF in the search method
|
|
69
69
|
// This method is not used for BM25 but required by base class
|
|
70
70
|
return 0;
|
package/dist/search/bm25.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bm25.js","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAA4C;AAC5C,iDAAmC;AAEnC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,yBAAkB;IAKxD,YAAY,UAAU,GAAG,EAAE,EAAE,SAAS,GAAG,GAAG;QAC1C,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAa,EACb,KAAuB,EACvB,UAAmB;QAEnB,qCAAqC;QACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvB,sBAAsB;QACtB,MAAM,OAAO,GAAmD,EAAE,CAAC;QAEnE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE1C,qBAAqB;QACrB,MAAM,KAAK,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAES,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"bm25.js","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iCAA4C;AAC5C,iDAAmC;AAEnC;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,yBAAkB;IAKxD,YAAY,UAAU,GAAG,EAAE,EAAE,SAAS,GAAG,GAAG;QAC1C,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAAa,EACb,KAAuB,EACvB,UAAmB;QAEnB,qCAAqC;QACrC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvB,sBAAsB;QACtB,MAAM,OAAO,GAAmD,EAAE,CAAC;QAEnE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE1C,qBAAqB;QACrB,MAAM,KAAK,GAAG,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAES,cAAc,CAAC,MAAc,EAAE,KAAqB;QAC5D,iDAAiD;QACjD,8DAA8D;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,UAAU,CAAC,KAAuB;QACxC,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,iEAAiE;YACjE,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9E,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvDD,gDAuDC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "llm-advanced-tools",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Provider-agnostic advanced tool use library for LLMs",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -46,7 +46,6 @@
|
|
|
46
46
|
"LICENSE"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"llm-advanced-tools": "^0.1.3",
|
|
50
49
|
"natural": "^6.0.0",
|
|
51
50
|
"zod": "^3.22.0"
|
|
52
51
|
},
|