@effect/ai 0.26.0 → 0.27.0
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/Chat/package.json +6 -0
- package/EmbeddingModel/package.json +6 -0
- package/IdGenerator/package.json +6 -0
- package/LanguageModel/package.json +6 -0
- package/Model/package.json +6 -0
- package/Prompt/package.json +6 -0
- package/Response/package.json +6 -0
- package/Telemetry/package.json +6 -0
- package/Tool/package.json +6 -0
- package/Toolkit/package.json +6 -0
- package/dist/cjs/AiError.js +575 -11
- package/dist/cjs/AiError.js.map +1 -1
- package/dist/cjs/Chat.js +302 -0
- package/dist/cjs/Chat.js.map +1 -0
- package/dist/cjs/EmbeddingModel.js +184 -0
- package/dist/cjs/EmbeddingModel.js.map +1 -0
- package/dist/cjs/IdGenerator.js +255 -0
- package/dist/cjs/IdGenerator.js.map +1 -0
- package/dist/cjs/LanguageModel.js +584 -0
- package/dist/cjs/LanguageModel.js.map +1 -0
- package/dist/cjs/McpServer.js +12 -4
- package/dist/cjs/McpServer.js.map +1 -1
- package/dist/cjs/Model.js +118 -0
- package/dist/cjs/Model.js.map +1 -0
- package/dist/cjs/Prompt.js +649 -0
- package/dist/cjs/Prompt.js.map +1 -0
- package/dist/cjs/Response.js +635 -0
- package/dist/cjs/Response.js.map +1 -0
- package/dist/cjs/Telemetry.js +176 -0
- package/dist/cjs/Telemetry.js.map +1 -0
- package/dist/cjs/Tokenizer.js +87 -8
- package/dist/cjs/Tokenizer.js.map +1 -1
- package/dist/cjs/Tool.js +556 -0
- package/dist/cjs/Tool.js.map +1 -0
- package/dist/cjs/Toolkit.js +279 -0
- package/dist/cjs/Toolkit.js.map +1 -0
- package/dist/cjs/index.js +21 -19
- package/dist/dts/AiError.d.ts +577 -9
- package/dist/dts/AiError.d.ts.map +1 -1
- package/dist/dts/Chat.d.ts +356 -0
- package/dist/dts/Chat.d.ts.map +1 -0
- package/dist/dts/EmbeddingModel.d.ts +153 -0
- package/dist/dts/EmbeddingModel.d.ts.map +1 -0
- package/dist/dts/IdGenerator.d.ts +272 -0
- package/dist/dts/IdGenerator.d.ts.map +1 -0
- package/dist/dts/LanguageModel.d.ts +458 -0
- package/dist/dts/LanguageModel.d.ts.map +1 -0
- package/dist/dts/McpSchema.d.ts +25 -25
- package/dist/dts/McpServer.d.ts +6 -4
- package/dist/dts/McpServer.d.ts.map +1 -1
- package/dist/dts/Model.d.ts +124 -0
- package/dist/dts/Model.d.ts.map +1 -0
- package/dist/dts/Prompt.d.ts +1119 -0
- package/dist/dts/Prompt.d.ts.map +1 -0
- package/dist/dts/Response.d.ts +1519 -0
- package/dist/dts/Response.d.ts.map +1 -0
- package/dist/dts/Telemetry.d.ts +520 -0
- package/dist/dts/Telemetry.d.ts.map +1 -0
- package/dist/dts/Tokenizer.d.ts +131 -13
- package/dist/dts/Tokenizer.d.ts.map +1 -1
- package/dist/dts/Tool.d.ts +876 -0
- package/dist/dts/Tool.d.ts.map +1 -0
- package/dist/dts/Toolkit.d.ts +310 -0
- package/dist/dts/Toolkit.d.ts.map +1 -0
- package/dist/dts/index.d.ts +498 -13
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/AiError.js +570 -10
- package/dist/esm/AiError.js.map +1 -1
- package/dist/esm/Chat.js +291 -0
- package/dist/esm/Chat.js.map +1 -0
- package/dist/esm/EmbeddingModel.js +173 -0
- package/dist/esm/EmbeddingModel.js.map +1 -0
- package/dist/esm/IdGenerator.js +245 -0
- package/dist/esm/IdGenerator.js.map +1 -0
- package/dist/esm/LanguageModel.js +572 -0
- package/dist/esm/LanguageModel.js.map +1 -0
- package/dist/esm/McpServer.js +12 -4
- package/dist/esm/McpServer.js.map +1 -1
- package/dist/esm/Model.js +108 -0
- package/dist/esm/Model.js.map +1 -0
- package/dist/esm/Prompt.js +633 -0
- package/dist/esm/Prompt.js.map +1 -0
- package/dist/esm/Response.js +619 -0
- package/dist/esm/Response.js.map +1 -0
- package/dist/esm/Telemetry.js +166 -0
- package/dist/esm/Telemetry.js.map +1 -0
- package/dist/esm/Tokenizer.js +87 -8
- package/dist/esm/Tokenizer.js.map +1 -1
- package/dist/esm/Tool.js +534 -0
- package/dist/esm/Tool.js.map +1 -0
- package/dist/esm/Toolkit.js +269 -0
- package/dist/esm/Toolkit.js.map +1 -0
- package/dist/esm/index.js +498 -13
- package/dist/esm/index.js.map +1 -1
- package/package.json +76 -68
- package/src/AiError.ts +739 -9
- package/src/Chat.ts +546 -0
- package/src/EmbeddingModel.ts +311 -0
- package/src/IdGenerator.ts +320 -0
- package/src/LanguageModel.ts +1074 -0
- package/src/McpServer.ts +337 -194
- package/src/Model.ts +155 -0
- package/src/Prompt.ts +1616 -0
- package/src/Response.ts +2131 -0
- package/src/Telemetry.ts +655 -0
- package/src/Tokenizer.ts +145 -24
- package/src/Tool.ts +1267 -0
- package/src/Toolkit.ts +516 -0
- package/src/index.ts +499 -13
- package/AiChat/package.json +0 -6
- package/AiEmbeddingModel/package.json +0 -6
- package/AiInput/package.json +0 -6
- package/AiLanguageModel/package.json +0 -6
- package/AiModel/package.json +0 -6
- package/AiResponse/package.json +0 -6
- package/AiTelemetry/package.json +0 -6
- package/AiTool/package.json +0 -6
- package/AiToolkit/package.json +0 -6
- package/dist/cjs/AiChat.js +0 -122
- package/dist/cjs/AiChat.js.map +0 -1
- package/dist/cjs/AiEmbeddingModel.js +0 -109
- package/dist/cjs/AiEmbeddingModel.js.map +0 -1
- package/dist/cjs/AiInput.js +0 -458
- package/dist/cjs/AiInput.js.map +0 -1
- package/dist/cjs/AiLanguageModel.js +0 -351
- package/dist/cjs/AiLanguageModel.js.map +0 -1
- package/dist/cjs/AiModel.js +0 -37
- package/dist/cjs/AiModel.js.map +0 -1
- package/dist/cjs/AiResponse.js +0 -681
- package/dist/cjs/AiResponse.js.map +0 -1
- package/dist/cjs/AiTelemetry.js +0 -58
- package/dist/cjs/AiTelemetry.js.map +0 -1
- package/dist/cjs/AiTool.js +0 -150
- package/dist/cjs/AiTool.js.map +0 -1
- package/dist/cjs/AiToolkit.js +0 -157
- package/dist/cjs/AiToolkit.js.map +0 -1
- package/dist/cjs/internal/common.js +0 -21
- package/dist/cjs/internal/common.js.map +0 -1
- package/dist/dts/AiChat.d.ts +0 -101
- package/dist/dts/AiChat.d.ts.map +0 -1
- package/dist/dts/AiEmbeddingModel.d.ts +0 -65
- package/dist/dts/AiEmbeddingModel.d.ts.map +0 -1
- package/dist/dts/AiInput.d.ts +0 -590
- package/dist/dts/AiInput.d.ts.map +0 -1
- package/dist/dts/AiLanguageModel.d.ts +0 -302
- package/dist/dts/AiLanguageModel.d.ts.map +0 -1
- package/dist/dts/AiModel.d.ts +0 -25
- package/dist/dts/AiModel.d.ts.map +0 -1
- package/dist/dts/AiResponse.d.ts +0 -863
- package/dist/dts/AiResponse.d.ts.map +0 -1
- package/dist/dts/AiTelemetry.d.ts +0 -242
- package/dist/dts/AiTelemetry.d.ts.map +0 -1
- package/dist/dts/AiTool.d.ts +0 -334
- package/dist/dts/AiTool.d.ts.map +0 -1
- package/dist/dts/AiToolkit.d.ts +0 -96
- package/dist/dts/AiToolkit.d.ts.map +0 -1
- package/dist/dts/internal/common.d.ts +0 -2
- package/dist/dts/internal/common.d.ts.map +0 -1
- package/dist/esm/AiChat.js +0 -111
- package/dist/esm/AiChat.js.map +0 -1
- package/dist/esm/AiEmbeddingModel.js +0 -98
- package/dist/esm/AiEmbeddingModel.js.map +0 -1
- package/dist/esm/AiInput.js +0 -433
- package/dist/esm/AiInput.js.map +0 -1
- package/dist/esm/AiLanguageModel.js +0 -340
- package/dist/esm/AiLanguageModel.js.map +0 -1
- package/dist/esm/AiModel.js +0 -29
- package/dist/esm/AiModel.js.map +0 -1
- package/dist/esm/AiResponse.js +0 -657
- package/dist/esm/AiResponse.js.map +0 -1
- package/dist/esm/AiTelemetry.js +0 -48
- package/dist/esm/AiTelemetry.js.map +0 -1
- package/dist/esm/AiTool.js +0 -134
- package/dist/esm/AiTool.js.map +0 -1
- package/dist/esm/AiToolkit.js +0 -147
- package/dist/esm/AiToolkit.js.map +0 -1
- package/dist/esm/internal/common.js +0 -14
- package/dist/esm/internal/common.js.map +0 -1
- package/src/AiChat.ts +0 -251
- package/src/AiEmbeddingModel.ts +0 -169
- package/src/AiInput.ts +0 -602
- package/src/AiLanguageModel.ts +0 -685
- package/src/AiModel.ts +0 -53
- package/src/AiResponse.ts +0 -986
- package/src/AiTelemetry.ts +0 -333
- package/src/AiTool.ts +0 -579
- package/src/AiToolkit.ts +0 -265
- package/src/internal/common.ts +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tool.d.ts","sourceRoot":"","sources":["../../src/Tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `Toolkit` module allows for creating and implementing a collection of
|
|
3
|
+
* `Tool`s which can be used to enhance the capabilities of a large language
|
|
4
|
+
* model beyond simple text generation.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
9
|
+
* import { Effect, Schema } from "effect"
|
|
10
|
+
*
|
|
11
|
+
* // Create individual tools
|
|
12
|
+
* const GetCurrentTime = Tool.make("GetCurrentTime", {
|
|
13
|
+
* description: "Get the current timestamp",
|
|
14
|
+
* success: Schema.Number
|
|
15
|
+
* })
|
|
16
|
+
*
|
|
17
|
+
* const GetWeather = Tool.make("GetWeather", {
|
|
18
|
+
* description: "Get weather for a location",
|
|
19
|
+
* parameters: { location: Schema.String },
|
|
20
|
+
* success: Schema.Struct({
|
|
21
|
+
* temperature: Schema.Number,
|
|
22
|
+
* condition: Schema.String
|
|
23
|
+
* })
|
|
24
|
+
* })
|
|
25
|
+
*
|
|
26
|
+
* // Create a toolkit with multiple tools
|
|
27
|
+
* const MyToolkit = Toolkit.make(GetCurrentTime, GetWeather)
|
|
28
|
+
*
|
|
29
|
+
* const MyToolkitLayer = MyToolkit.toLayer({
|
|
30
|
+
* GetCurrentTime: () => Effect.succeed(Date.now()),
|
|
31
|
+
* GetWeather: ({ location }) => Effect.succeed({
|
|
32
|
+
* temperature: 72,
|
|
33
|
+
* condition: "sunny"
|
|
34
|
+
* })
|
|
35
|
+
* })
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
*/
|
|
40
|
+
import * as Context from "effect/Context";
|
|
41
|
+
import * as Effect from "effect/Effect";
|
|
42
|
+
import type { Inspectable } from "effect/Inspectable";
|
|
43
|
+
import * as Layer from "effect/Layer";
|
|
44
|
+
import { type Pipeable } from "effect/Pipeable";
|
|
45
|
+
import type * as Scope from "effect/Scope";
|
|
46
|
+
import * as Tool from "./Tool.js";
|
|
47
|
+
/**
|
|
48
|
+
* Unique identifier for toolkit instances.
|
|
49
|
+
*
|
|
50
|
+
* @since 1.0.0
|
|
51
|
+
* @category Type Ids
|
|
52
|
+
*/
|
|
53
|
+
export declare const TypeId = "~@effect/ai/Toolkit";
|
|
54
|
+
/**
|
|
55
|
+
* Type-level representation of the toolkit identifier.
|
|
56
|
+
*
|
|
57
|
+
* @since 1.0.0
|
|
58
|
+
* @category Type Ids
|
|
59
|
+
*/
|
|
60
|
+
export type TypeId = typeof TypeId;
|
|
61
|
+
/**
|
|
62
|
+
* Represents a collection of tools which can be used to enhance the
|
|
63
|
+
* capabilities of a large language model.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
68
|
+
* import { Effect, Schema } from "effect"
|
|
69
|
+
*
|
|
70
|
+
* // Create individual tools
|
|
71
|
+
* const GetCurrentTime = Tool.make("GetCurrentTime", {
|
|
72
|
+
* description: "Get the current timestamp",
|
|
73
|
+
* success: Schema.Number
|
|
74
|
+
* })
|
|
75
|
+
*
|
|
76
|
+
* const GetWeather = Tool.make("GetWeather", {
|
|
77
|
+
* description: "Get weather for a location",
|
|
78
|
+
* parameters: { location: Schema.String },
|
|
79
|
+
* success: Schema.Struct({
|
|
80
|
+
* temperature: Schema.Number,
|
|
81
|
+
* condition: Schema.String
|
|
82
|
+
* })
|
|
83
|
+
* })
|
|
84
|
+
*
|
|
85
|
+
* // Create a toolkit with multiple tools
|
|
86
|
+
* const MyToolkit = Toolkit.make(GetCurrentTime, GetWeather)
|
|
87
|
+
*
|
|
88
|
+
* const MyToolkitLayer = MyToolkit.toLayer({
|
|
89
|
+
* GetCurrentTime: () => Effect.succeed(Date.now()),
|
|
90
|
+
* GetWeather: ({ location }) => Effect.succeed({
|
|
91
|
+
* temperature: 72,
|
|
92
|
+
* condition: "sunny"
|
|
93
|
+
* })
|
|
94
|
+
* })
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* @since 1.0.0
|
|
98
|
+
* @category Models
|
|
99
|
+
*/
|
|
100
|
+
export interface Toolkit<in out Tools extends Record<string, Tool.Any>> extends Effect.Effect<WithHandler<Tools>, never, Tool.HandlersFor<Tools>>, Inspectable, Pipeable {
|
|
101
|
+
readonly [TypeId]: TypeId;
|
|
102
|
+
new (_: never): {};
|
|
103
|
+
/**
|
|
104
|
+
* A record containing all tools in this toolkit.
|
|
105
|
+
*/
|
|
106
|
+
readonly tools: Tools;
|
|
107
|
+
/**
|
|
108
|
+
* A helper method which can be used for type-safe handler declarations.
|
|
109
|
+
*/
|
|
110
|
+
of<Handlers extends HandlersFrom<Tools>>(handlers: Handlers): Handlers;
|
|
111
|
+
/**
|
|
112
|
+
* Converts a toolkit into an Effect Context containing handlers for each tool
|
|
113
|
+
* in the toolkit.
|
|
114
|
+
*/
|
|
115
|
+
toContext<Handlers extends HandlersFrom<Tools>, EX = never, RX = never>(build: Handlers | Effect.Effect<Handlers, EX, RX>): Effect.Effect<Context.Context<Tool.HandlersFor<Tools>>, EX, RX>;
|
|
116
|
+
/**
|
|
117
|
+
* Converts a toolkit into a Layer containing handlers for each tool in the
|
|
118
|
+
* toolkit.
|
|
119
|
+
*/
|
|
120
|
+
toLayer<Handlers extends HandlersFrom<Tools>, EX = never, RX = never>(
|
|
121
|
+
/**
|
|
122
|
+
* Handler functions or Effect that produces handlers.
|
|
123
|
+
*/
|
|
124
|
+
build: Handlers | Effect.Effect<Handlers, EX, RX>): Layer.Layer<Tool.HandlersFor<Tools>, EX, Exclude<RX, Scope.Scope>>;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* A utility type which structurally represents any toolkit instance.
|
|
128
|
+
*
|
|
129
|
+
* @since 1.0.0
|
|
130
|
+
* @category Utility Types
|
|
131
|
+
*/
|
|
132
|
+
export interface Any {
|
|
133
|
+
readonly [TypeId]: TypeId;
|
|
134
|
+
readonly tools: Record<string, Tool.Any>;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* A utility type which can be used to extract the tool definitions from a
|
|
138
|
+
* toolkit.
|
|
139
|
+
*
|
|
140
|
+
* @since 1.0.0
|
|
141
|
+
* @category Utility Types
|
|
142
|
+
*/
|
|
143
|
+
export type Tools<T> = T extends Toolkit<infer Tools> ? Tools : never;
|
|
144
|
+
/**
|
|
145
|
+
* A utility type which can transforms either a record or an array of tools into
|
|
146
|
+
* a record where keys are tool names and values are the tool instances.
|
|
147
|
+
*
|
|
148
|
+
* @since 1.0.0
|
|
149
|
+
* @category Utility Types
|
|
150
|
+
*/
|
|
151
|
+
export type ToolsByName<Tools> = Tools extends Record<string, Tool.Any> ? {
|
|
152
|
+
readonly [Name in keyof Tools]: Tools[Name];
|
|
153
|
+
} : Tools extends ReadonlyArray<Tool.Any> ? {
|
|
154
|
+
readonly [Tool in Tools[number] as Tool["name"]]: Tool;
|
|
155
|
+
} : never;
|
|
156
|
+
/**
|
|
157
|
+
* A utility type that maps tool names to their required handler functions.
|
|
158
|
+
*
|
|
159
|
+
* @since 1.0.0
|
|
160
|
+
* @category Utility Types
|
|
161
|
+
*/
|
|
162
|
+
export type HandlersFrom<Tools extends Record<string, Tool.Any>> = {
|
|
163
|
+
readonly [Name in keyof Tools as Tool.RequiresHandler<Tools[Name]> extends true ? Name : never]: (params: Tool.Parameters<Tools[Name]>) => Effect.Effect<Tool.Success<Tools[Name]>, Tool.Failure<Tools[Name]>, Tool.Requirements<Tools[Name]>>;
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* A toolkit instance with registered handlers ready for tool execution.
|
|
167
|
+
*
|
|
168
|
+
* @since 1.0.0
|
|
169
|
+
* @category Models
|
|
170
|
+
*/
|
|
171
|
+
export interface WithHandler<in out Tools extends Record<string, Tool.Any>> {
|
|
172
|
+
/**
|
|
173
|
+
* The tools available in this toolkit instance.
|
|
174
|
+
*/
|
|
175
|
+
readonly tools: Tools;
|
|
176
|
+
/**
|
|
177
|
+
* Handler function for executing tool calls.
|
|
178
|
+
*
|
|
179
|
+
* Receives a tool name and parameters, validates the input, executes the
|
|
180
|
+
* corresponding handler, and returns both the typed result and encoded result.
|
|
181
|
+
*/
|
|
182
|
+
readonly handle: <Name extends keyof Tools>(
|
|
183
|
+
/**
|
|
184
|
+
* The name of the tool to execute.
|
|
185
|
+
*/
|
|
186
|
+
name: Name,
|
|
187
|
+
/**
|
|
188
|
+
* Parameters to pass to the tool handler.
|
|
189
|
+
*/
|
|
190
|
+
params: Tool.Parameters<Tools[Name]>) => Effect.Effect<{
|
|
191
|
+
readonly result: Tool.Success<Tools[Name]>;
|
|
192
|
+
readonly encodedResult: unknown;
|
|
193
|
+
}, Tool.Failure<Tools[Name]>, Tool.Requirements<Tools[Name]>>;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* An empty toolkit with no tools.
|
|
197
|
+
*
|
|
198
|
+
* Useful as a starting point for building toolkits or as a default value. Can
|
|
199
|
+
* be extended using the merge function to add tools.
|
|
200
|
+
*
|
|
201
|
+
* @since 1.0.0
|
|
202
|
+
* @category Constructors
|
|
203
|
+
*/
|
|
204
|
+
export declare const empty: Toolkit<{}>;
|
|
205
|
+
/**
|
|
206
|
+
* Creates a new toolkit from the specified tools.
|
|
207
|
+
*
|
|
208
|
+
* This is the primary constructor for creating toolkits. It accepts multiple tools
|
|
209
|
+
* and organizes them into a toolkit that can be provided to AI language models.
|
|
210
|
+
* Tools can be either Tool instances or TaggedRequest schemas.
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* ```ts
|
|
214
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
215
|
+
* import { Schema } from "effect"
|
|
216
|
+
*
|
|
217
|
+
* const GetCurrentTime = Tool.make("GetCurrentTime", {
|
|
218
|
+
* description: "Get the current timestamp",
|
|
219
|
+
* success: Schema.Number
|
|
220
|
+
* })
|
|
221
|
+
*
|
|
222
|
+
* const GetWeather = Tool.make("get_weather", {
|
|
223
|
+
* description: "Get weather information",
|
|
224
|
+
* parameters: { location: Schema.String },
|
|
225
|
+
* success: Schema.Struct({
|
|
226
|
+
* temperature: Schema.Number,
|
|
227
|
+
* condition: Schema.String
|
|
228
|
+
* })
|
|
229
|
+
* })
|
|
230
|
+
*
|
|
231
|
+
* const toolkit = Toolkit.make(GetCurrentTime, GetWeather)
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* @since 1.0.0
|
|
235
|
+
* @category Constructors
|
|
236
|
+
*/
|
|
237
|
+
export declare const make: <Tools extends ReadonlyArray<Tool.Any>>(...tools: Tools) => Toolkit<ToolsByName<Tools>>;
|
|
238
|
+
/**
|
|
239
|
+
* A utility type which simplifies a record type.
|
|
240
|
+
*
|
|
241
|
+
* @since 1.0.0
|
|
242
|
+
* @category Utility Types
|
|
243
|
+
*/
|
|
244
|
+
export type SimplifyRecord<T> = {
|
|
245
|
+
[K in keyof T]: T[K];
|
|
246
|
+
} & {};
|
|
247
|
+
/**
|
|
248
|
+
* A utility type which merges two records of tools together.
|
|
249
|
+
*
|
|
250
|
+
* @since 1.0.0
|
|
251
|
+
* @category Utility Types
|
|
252
|
+
*/
|
|
253
|
+
export type MergeRecords<U> = {
|
|
254
|
+
readonly [K in Extract<U extends unknown ? keyof U : never, string>]: Extract<U extends Record<K, infer V> ? V : never, Tool.Any>;
|
|
255
|
+
};
|
|
256
|
+
/**
|
|
257
|
+
* A utility type which merges the tool calls of two toolkits into a single
|
|
258
|
+
* toolkit.
|
|
259
|
+
*
|
|
260
|
+
* @since 1.0.0
|
|
261
|
+
* @category Utility Types
|
|
262
|
+
*/
|
|
263
|
+
export type MergedTools<Toolkits extends ReadonlyArray<Any>> = SimplifyRecord<MergeRecords<Tools<Toolkits[number]>>>;
|
|
264
|
+
/**
|
|
265
|
+
* Merges multiple toolkits into a single toolkit.
|
|
266
|
+
*
|
|
267
|
+
* Combines all tools from the provided toolkits into one unified toolkit.
|
|
268
|
+
* If there are naming conflicts, tools from later toolkits will override
|
|
269
|
+
* tools from earlier ones.
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```ts
|
|
273
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
274
|
+
*
|
|
275
|
+
* const mathToolkit = Toolkit.make(
|
|
276
|
+
* Tool.make("add"),
|
|
277
|
+
* Tool.make("subtract")
|
|
278
|
+
* )
|
|
279
|
+
*
|
|
280
|
+
* const utilityToolkit = Toolkit.make(
|
|
281
|
+
* Tool.make("get_time"),
|
|
282
|
+
* Tool.make("get_weather")
|
|
283
|
+
* )
|
|
284
|
+
*
|
|
285
|
+
* const combined = Toolkit.merge(mathToolkit, utilityToolkit)
|
|
286
|
+
* // combined now has: add, subtract, get_time, get_weather
|
|
287
|
+
* ```
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* ```ts
|
|
291
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
292
|
+
*
|
|
293
|
+
* // Incremental toolkit building
|
|
294
|
+
* const baseToolkit = Toolkit.make(Tool.make("base_tool"))
|
|
295
|
+
* const extendedToolkit = Toolkit.merge(
|
|
296
|
+
* baseToolkit,
|
|
297
|
+
* Toolkit.make(Tool.make("additional_tool")),
|
|
298
|
+
* Toolkit.make(Tool.make("another_tool"))
|
|
299
|
+
* )
|
|
300
|
+
* ```
|
|
301
|
+
*
|
|
302
|
+
* @since 1.0.0
|
|
303
|
+
* @category Constructors
|
|
304
|
+
*/
|
|
305
|
+
export declare const merge: <const Toolkits extends ReadonlyArray<Any>>(
|
|
306
|
+
/**
|
|
307
|
+
* The toolkits to merge together.
|
|
308
|
+
*/
|
|
309
|
+
...toolkits: Toolkits) => Toolkit<MergedTools<Toolkits>>;
|
|
310
|
+
//# sourceMappingURL=Toolkit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolkit.d.ts","sourceRoot":"","sources":["../../src/Toolkit.ts"],"names":[],"mappings":"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"}
|