@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,269 @@
|
|
|
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 { CommitPrototype } from "effect/Effectable";
|
|
43
|
+
import { identity } from "effect/Function";
|
|
44
|
+
import { BaseProto as InspectableProto } from "effect/Inspectable";
|
|
45
|
+
import * as Layer from "effect/Layer";
|
|
46
|
+
import { pipeArguments } from "effect/Pipeable";
|
|
47
|
+
import * as Predicate from "effect/Predicate";
|
|
48
|
+
import * as Schema from "effect/Schema";
|
|
49
|
+
import * as AiError from "./AiError.js";
|
|
50
|
+
import * as Tool from "./Tool.js";
|
|
51
|
+
/**
|
|
52
|
+
* Unique identifier for toolkit instances.
|
|
53
|
+
*
|
|
54
|
+
* @since 1.0.0
|
|
55
|
+
* @category Type Ids
|
|
56
|
+
*/
|
|
57
|
+
export const TypeId = "~@effect/ai/Toolkit";
|
|
58
|
+
const Proto = {
|
|
59
|
+
...CommitPrototype,
|
|
60
|
+
...InspectableProto,
|
|
61
|
+
of: identity,
|
|
62
|
+
toContext(build) {
|
|
63
|
+
return Effect.gen(this, function* () {
|
|
64
|
+
const context = yield* Effect.context();
|
|
65
|
+
const handlers = Effect.isEffect(build) ? yield* build : build;
|
|
66
|
+
const contextMap = new Map();
|
|
67
|
+
for (const [name, handler] of Object.entries(handlers)) {
|
|
68
|
+
const tool = this.tools[name];
|
|
69
|
+
contextMap.set(tool.id, {
|
|
70
|
+
handler,
|
|
71
|
+
context
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
return Context.unsafeMake(contextMap);
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
toLayer(build) {
|
|
78
|
+
return Layer.scopedContext(this.toContext(build));
|
|
79
|
+
},
|
|
80
|
+
commit() {
|
|
81
|
+
return Effect.gen(this, function* () {
|
|
82
|
+
const tools = this.tools;
|
|
83
|
+
const context = yield* Effect.context();
|
|
84
|
+
const schemasCache = new WeakMap();
|
|
85
|
+
const getSchemas = tool => {
|
|
86
|
+
let schemas = schemasCache.get(tool);
|
|
87
|
+
if (Predicate.isUndefined(schemas)) {
|
|
88
|
+
const handler = context.unsafeMap.get(tool.id);
|
|
89
|
+
const encodeSuccess = Schema.encodeUnknown(tool.successSchema);
|
|
90
|
+
const encodeFailure = Schema.encodeUnknown(tool.failureSchema);
|
|
91
|
+
const decodeFailure = Schema.decodeUnknown(tool.failureSchema);
|
|
92
|
+
const decodeParameters = Schema.decodeUnknown(tool.parametersSchema);
|
|
93
|
+
schemas = {
|
|
94
|
+
context: handler.context,
|
|
95
|
+
handler: handler.handler,
|
|
96
|
+
encodeSuccess,
|
|
97
|
+
encodeFailure,
|
|
98
|
+
decodeFailure,
|
|
99
|
+
decodeParameters
|
|
100
|
+
};
|
|
101
|
+
schemasCache.set(tool, schemas);
|
|
102
|
+
}
|
|
103
|
+
return schemas;
|
|
104
|
+
};
|
|
105
|
+
const handle = Effect.fn("Toolkit.handle", {
|
|
106
|
+
captureStackTrace: false
|
|
107
|
+
})(function* (name, params) {
|
|
108
|
+
yield* Effect.annotateCurrentSpan({
|
|
109
|
+
tool: name,
|
|
110
|
+
parameters: params
|
|
111
|
+
});
|
|
112
|
+
const tool = tools[name];
|
|
113
|
+
if (Predicate.isUndefined(tool)) {
|
|
114
|
+
const toolNames = Object.keys(tools).join(",");
|
|
115
|
+
return yield* new AiError.MalformedOutput({
|
|
116
|
+
module: "Toolkit",
|
|
117
|
+
method: `${name}.handle`,
|
|
118
|
+
description: `Failed to find tool with name '${name}' in toolkit - available tools: ${toolNames}`
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
const schemas = getSchemas(tool);
|
|
122
|
+
const decodedParams = yield* Effect.mapError(schemas.decodeParameters(params), cause => new AiError.MalformedOutput({
|
|
123
|
+
module: "Toolkit",
|
|
124
|
+
method: `${name}.handle`,
|
|
125
|
+
description: `Failed to decode tool call parameters for tool '${name}' from:\n'${JSON.stringify(params, undefined, 2)}'`,
|
|
126
|
+
cause
|
|
127
|
+
}));
|
|
128
|
+
const result = yield* schemas.handler(decodedParams).pipe(Effect.mapInputContext(input => Context.merge(schemas.context, input)), Effect.catchAll(error => schemas.decodeFailure(error).pipe(Effect.mapError(cause => new AiError.MalformedInput({
|
|
129
|
+
module: "Toolkit",
|
|
130
|
+
method: `${name}.handle`,
|
|
131
|
+
description: `Failed to decode tool call failure for tool '${name}'`,
|
|
132
|
+
cause
|
|
133
|
+
})), Effect.flatMap(Effect.fail))));
|
|
134
|
+
const encodedResult = yield* Effect.mapError(schemas.encodeSuccess(result), cause => new AiError.MalformedInput({
|
|
135
|
+
module: "Toolkit",
|
|
136
|
+
method: `${name}.handle`,
|
|
137
|
+
description: `Failed to encode tool call result for tool '${name}'`,
|
|
138
|
+
cause
|
|
139
|
+
}));
|
|
140
|
+
return {
|
|
141
|
+
result,
|
|
142
|
+
encodedResult
|
|
143
|
+
};
|
|
144
|
+
});
|
|
145
|
+
return {
|
|
146
|
+
tools,
|
|
147
|
+
handle
|
|
148
|
+
};
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
toJSON() {
|
|
152
|
+
return {
|
|
153
|
+
_id: "@effect/ai/Toolkit",
|
|
154
|
+
tools: Array.from(Object.values(this.tools)).map(tool => tool.name)
|
|
155
|
+
};
|
|
156
|
+
},
|
|
157
|
+
pipe() {
|
|
158
|
+
return pipeArguments(this, arguments);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
const makeProto = tools => Object.assign(function () {}, Proto, {
|
|
162
|
+
tools
|
|
163
|
+
});
|
|
164
|
+
const resolveInput = (...tools) => {
|
|
165
|
+
const output = {};
|
|
166
|
+
for (const tool of tools) {
|
|
167
|
+
const value = Schema.isSchema(tool) ? Tool.fromTaggedRequest(tool) : tool;
|
|
168
|
+
output[tool.name] = value;
|
|
169
|
+
}
|
|
170
|
+
return output;
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* An empty toolkit with no tools.
|
|
174
|
+
*
|
|
175
|
+
* Useful as a starting point for building toolkits or as a default value. Can
|
|
176
|
+
* be extended using the merge function to add tools.
|
|
177
|
+
*
|
|
178
|
+
* @since 1.0.0
|
|
179
|
+
* @category Constructors
|
|
180
|
+
*/
|
|
181
|
+
export const empty = /*#__PURE__*/makeProto({});
|
|
182
|
+
/**
|
|
183
|
+
* Creates a new toolkit from the specified tools.
|
|
184
|
+
*
|
|
185
|
+
* This is the primary constructor for creating toolkits. It accepts multiple tools
|
|
186
|
+
* and organizes them into a toolkit that can be provided to AI language models.
|
|
187
|
+
* Tools can be either Tool instances or TaggedRequest schemas.
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```ts
|
|
191
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
192
|
+
* import { Schema } from "effect"
|
|
193
|
+
*
|
|
194
|
+
* const GetCurrentTime = Tool.make("GetCurrentTime", {
|
|
195
|
+
* description: "Get the current timestamp",
|
|
196
|
+
* success: Schema.Number
|
|
197
|
+
* })
|
|
198
|
+
*
|
|
199
|
+
* const GetWeather = Tool.make("get_weather", {
|
|
200
|
+
* description: "Get weather information",
|
|
201
|
+
* parameters: { location: Schema.String },
|
|
202
|
+
* success: Schema.Struct({
|
|
203
|
+
* temperature: Schema.Number,
|
|
204
|
+
* condition: Schema.String
|
|
205
|
+
* })
|
|
206
|
+
* })
|
|
207
|
+
*
|
|
208
|
+
* const toolkit = Toolkit.make(GetCurrentTime, GetWeather)
|
|
209
|
+
* ```
|
|
210
|
+
*
|
|
211
|
+
* @since 1.0.0
|
|
212
|
+
* @category Constructors
|
|
213
|
+
*/
|
|
214
|
+
export const make = (...tools) => makeProto(resolveInput(...tools));
|
|
215
|
+
/**
|
|
216
|
+
* Merges multiple toolkits into a single toolkit.
|
|
217
|
+
*
|
|
218
|
+
* Combines all tools from the provided toolkits into one unified toolkit.
|
|
219
|
+
* If there are naming conflicts, tools from later toolkits will override
|
|
220
|
+
* tools from earlier ones.
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```ts
|
|
224
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
225
|
+
*
|
|
226
|
+
* const mathToolkit = Toolkit.make(
|
|
227
|
+
* Tool.make("add"),
|
|
228
|
+
* Tool.make("subtract")
|
|
229
|
+
* )
|
|
230
|
+
*
|
|
231
|
+
* const utilityToolkit = Toolkit.make(
|
|
232
|
+
* Tool.make("get_time"),
|
|
233
|
+
* Tool.make("get_weather")
|
|
234
|
+
* )
|
|
235
|
+
*
|
|
236
|
+
* const combined = Toolkit.merge(mathToolkit, utilityToolkit)
|
|
237
|
+
* // combined now has: add, subtract, get_time, get_weather
|
|
238
|
+
* ```
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```ts
|
|
242
|
+
* import { Toolkit, Tool } from "@effect/ai"
|
|
243
|
+
*
|
|
244
|
+
* // Incremental toolkit building
|
|
245
|
+
* const baseToolkit = Toolkit.make(Tool.make("base_tool"))
|
|
246
|
+
* const extendedToolkit = Toolkit.merge(
|
|
247
|
+
* baseToolkit,
|
|
248
|
+
* Toolkit.make(Tool.make("additional_tool")),
|
|
249
|
+
* Toolkit.make(Tool.make("another_tool"))
|
|
250
|
+
* )
|
|
251
|
+
* ```
|
|
252
|
+
*
|
|
253
|
+
* @since 1.0.0
|
|
254
|
+
* @category Constructors
|
|
255
|
+
*/
|
|
256
|
+
export const merge = (
|
|
257
|
+
/**
|
|
258
|
+
* The toolkits to merge together.
|
|
259
|
+
*/
|
|
260
|
+
...toolkits) => {
|
|
261
|
+
const tools = {};
|
|
262
|
+
for (const toolkit of toolkits) {
|
|
263
|
+
for (const [name, tool] of Object.entries(toolkit.tools)) {
|
|
264
|
+
tools[name] = tool;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return makeProto(tools);
|
|
268
|
+
};
|
|
269
|
+
//# sourceMappingURL=Toolkit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toolkit.js","names":["Context","Effect","CommitPrototype","identity","BaseProto","InspectableProto","Layer","pipeArguments","Predicate","Schema","AiError","Tool","TypeId","Proto","of","toContext","build","gen","context","handlers","isEffect","contextMap","Map","name","handler","Object","entries","tool","tools","set","id","unsafeMake","toLayer","scopedContext","commit","schemasCache","WeakMap","getSchemas","schemas","get","isUndefined","unsafeMap","encodeSuccess","encodeUnknown","successSchema","encodeFailure","failureSchema","decodeFailure","decodeUnknown","decodeParameters","parametersSchema","handle","fn","captureStackTrace","params","annotateCurrentSpan","parameters","toolNames","keys","join","MalformedOutput","module","method","description","decodedParams","mapError","cause","JSON","stringify","undefined","result","pipe","mapInputContext","input","merge","catchAll","error","MalformedInput","flatMap","fail","encodedResult","toJSON","_id","Array","from","values","map","arguments","makeProto","assign","resolveInput","output","value","isSchema","fromTaggedRequest","empty","make","toolkits","toolkit"],"sources":["../../src/Toolkit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|