@effect/ai 0.14.0 → 0.15.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/AiEmbeddingModel/package.json +6 -0
- package/AiLanguageModel/package.json +6 -0
- package/AiTool/package.json +6 -0
- package/dist/cjs/AiChat.js +65 -86
- package/dist/cjs/AiChat.js.map +1 -1
- package/dist/cjs/{Embeddings.js → AiEmbeddingModel.js} +12 -12
- package/dist/cjs/AiEmbeddingModel.js.map +1 -0
- package/dist/cjs/AiError.js +8 -1
- package/dist/cjs/AiError.js.map +1 -1
- package/dist/cjs/AiInput.js +335 -248
- package/dist/cjs/AiInput.js.map +1 -1
- package/dist/cjs/AiLanguageModel.js +311 -0
- package/dist/cjs/AiLanguageModel.js.map +1 -0
- package/dist/cjs/AiModel.js +11 -5
- package/dist/cjs/AiModel.js.map +1 -1
- package/dist/cjs/AiPlan.js +10 -3
- package/dist/cjs/AiPlan.js.map +1 -1
- package/dist/cjs/AiResponse.js +481 -165
- package/dist/cjs/AiResponse.js.map +1 -1
- package/dist/cjs/AiTelemetry.js +10 -3
- package/dist/cjs/AiTelemetry.js.map +1 -1
- package/dist/cjs/AiTool.js +93 -0
- package/dist/cjs/AiTool.js.map +1 -0
- package/dist/cjs/AiToolkit.js +121 -98
- package/dist/cjs/AiToolkit.js.map +1 -1
- package/dist/cjs/Tokenizer.js +14 -16
- package/dist/cjs/Tokenizer.js.map +1 -1
- package/dist/cjs/index.js +7 -9
- package/dist/cjs/internal/aiPlan.js +6 -9
- package/dist/cjs/internal/aiPlan.js.map +1 -1
- package/dist/cjs/internal/common.js +22 -0
- package/dist/cjs/internal/common.js.map +1 -0
- package/dist/dts/AiChat.d.ts +58 -44
- package/dist/dts/AiChat.d.ts.map +1 -1
- package/dist/dts/{Embeddings.d.ts → AiEmbeddingModel.d.ts} +13 -14
- package/dist/dts/AiEmbeddingModel.d.ts.map +1 -0
- package/dist/dts/AiError.d.ts +4 -3
- package/dist/dts/AiError.d.ts.map +1 -1
- package/dist/dts/AiInput.d.ts +441 -146
- package/dist/dts/AiInput.d.ts.map +1 -1
- package/dist/dts/AiLanguageModel.d.ts +263 -0
- package/dist/dts/AiLanguageModel.d.ts.map +1 -0
- package/dist/dts/AiModel.d.ts +21 -20
- package/dist/dts/AiModel.d.ts.map +1 -1
- package/dist/dts/AiPlan.d.ts +90 -26
- package/dist/dts/AiPlan.d.ts.map +1 -1
- package/dist/dts/AiResponse.d.ts +711 -100
- package/dist/dts/AiResponse.d.ts.map +1 -1
- package/dist/dts/AiTelemetry.d.ts +175 -157
- package/dist/dts/AiTelemetry.d.ts.map +1 -1
- package/dist/dts/AiTool.d.ts +288 -0
- package/dist/dts/AiTool.d.ts.map +1 -0
- package/dist/dts/AiToolkit.d.ts +50 -111
- package/dist/dts/AiToolkit.d.ts.map +1 -1
- package/dist/dts/Tokenizer.d.ts +8 -6
- package/dist/dts/Tokenizer.d.ts.map +1 -1
- package/dist/dts/index.d.ts +8 -12
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/common.d.ts +2 -0
- package/dist/dts/internal/common.d.ts.map +1 -0
- package/dist/esm/AiChat.js +62 -83
- package/dist/esm/AiChat.js.map +1 -1
- package/dist/esm/{Embeddings.js → AiEmbeddingModel.js} +10 -10
- package/dist/esm/AiEmbeddingModel.js.map +1 -0
- package/dist/esm/AiError.js +8 -1
- package/dist/esm/AiError.js.map +1 -1
- package/dist/esm/AiInput.js +316 -238
- package/dist/esm/AiInput.js.map +1 -1
- package/dist/esm/AiLanguageModel.js +300 -0
- package/dist/esm/AiLanguageModel.js.map +1 -0
- package/dist/esm/AiModel.js +11 -5
- package/dist/esm/AiModel.js.map +1 -1
- package/dist/esm/AiPlan.js +8 -2
- package/dist/esm/AiPlan.js.map +1 -1
- package/dist/esm/AiResponse.js +467 -162
- package/dist/esm/AiResponse.js.map +1 -1
- package/dist/esm/AiTelemetry.js +8 -2
- package/dist/esm/AiTelemetry.js.map +1 -1
- package/dist/esm/AiTool.js +82 -0
- package/dist/esm/AiTool.js.map +1 -0
- package/dist/esm/AiToolkit.js +118 -96
- package/dist/esm/AiToolkit.js.map +1 -1
- package/dist/esm/Tokenizer.js +14 -16
- package/dist/esm/Tokenizer.js.map +1 -1
- package/dist/esm/index.js +8 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/aiPlan.js +4 -7
- package/dist/esm/internal/aiPlan.js.map +1 -1
- package/dist/esm/internal/common.js +14 -0
- package/dist/esm/internal/common.js.map +1 -0
- package/package.json +28 -36
- package/src/AiChat.ts +182 -207
- package/src/{Embeddings.ts → AiEmbeddingModel.ts} +19 -18
- package/src/AiError.ts +8 -1
- package/src/AiInput.ts +434 -313
- package/src/AiLanguageModel.ts +569 -0
- package/src/AiModel.ts +47 -29
- package/src/AiPlan.ts +102 -30
- package/src/AiResponse.ts +743 -187
- package/src/AiTelemetry.ts +214 -197
- package/src/AiTool.ts +496 -0
- package/src/AiToolkit.ts +200 -240
- package/src/Tokenizer.ts +18 -22
- package/src/index.ts +9 -14
- package/src/internal/aiPlan.ts +12 -14
- package/src/internal/common.ts +12 -0
- package/AiModels/package.json +0 -6
- package/AiRole/package.json +0 -6
- package/Completions/package.json +0 -6
- package/Embeddings/package.json +0 -6
- package/dist/cjs/AiModels.js +0 -54
- package/dist/cjs/AiModels.js.map +0 -1
- package/dist/cjs/AiRole.js +0 -106
- package/dist/cjs/AiRole.js.map +0 -1
- package/dist/cjs/Completions.js +0 -256
- package/dist/cjs/Completions.js.map +0 -1
- package/dist/cjs/Embeddings.js.map +0 -1
- package/dist/dts/AiModels.d.ts +0 -34
- package/dist/dts/AiModels.d.ts.map +0 -1
- package/dist/dts/AiRole.d.ts +0 -111
- package/dist/dts/AiRole.d.ts.map +0 -1
- package/dist/dts/Completions.d.ts +0 -128
- package/dist/dts/Completions.d.ts.map +0 -1
- package/dist/dts/Embeddings.d.ts.map +0 -1
- package/dist/esm/AiModels.js +0 -44
- package/dist/esm/AiModels.js.map +0 -1
- package/dist/esm/AiRole.js +0 -93
- package/dist/esm/AiRole.js.map +0 -1
- package/dist/esm/Completions.js +0 -245
- package/dist/esm/Completions.js.map +0 -1
- package/dist/esm/Embeddings.js.map +0 -1
- package/src/AiModels.ts +0 -77
- package/src/AiRole.ts +0 -122
- package/src/Completions.ts +0 -434
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Context_ from "effect/Context";
|
|
5
|
+
import type * as Effect from "effect/Effect";
|
|
6
|
+
import { type Pipeable } from "effect/Pipeable";
|
|
7
|
+
import * as Schema from "effect/Schema";
|
|
8
|
+
import * as AST from "effect/SchemaAST";
|
|
9
|
+
import type * as Types from "effect/Types";
|
|
10
|
+
import type { AiError } from "./AiError.js";
|
|
11
|
+
/**
|
|
12
|
+
* @since 1.0.0
|
|
13
|
+
* @category Type Ids
|
|
14
|
+
*/
|
|
15
|
+
export declare const TypeId: unique symbol;
|
|
16
|
+
/**
|
|
17
|
+
* @since 1.0.0
|
|
18
|
+
* @category Type Ids
|
|
19
|
+
*/
|
|
20
|
+
export type TypeId = typeof TypeId;
|
|
21
|
+
/**
|
|
22
|
+
* A `AiTool` represents an action that a large language model can take within
|
|
23
|
+
* your application. The results of a tool call can be returned back to the
|
|
24
|
+
* large language model to be incorporated into its next response.
|
|
25
|
+
*
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
* @category Models
|
|
28
|
+
*/
|
|
29
|
+
export interface AiTool<out Name extends string, out Parameters extends AnyStructSchema = Schema.Struct<{}>, out Success extends Schema.Schema.Any = typeof Schema.Void, out Failure extends Schema.Schema.All = typeof Schema.Never, out Requirements = never> extends Pipeable {
|
|
30
|
+
readonly [TypeId]: {
|
|
31
|
+
readonly _Requirements: Types.Covariant<Requirements>;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The name of the tool.
|
|
35
|
+
*/
|
|
36
|
+
readonly name: Name;
|
|
37
|
+
/**
|
|
38
|
+
* The optional description of the tool.
|
|
39
|
+
*/
|
|
40
|
+
readonly description?: string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* A key for the tool, used to identify the tool within a `Context`.
|
|
43
|
+
*/
|
|
44
|
+
readonly key: string;
|
|
45
|
+
/**
|
|
46
|
+
* A `Schema` representing the type of the parameters that a tool handler
|
|
47
|
+
* must be called with.
|
|
48
|
+
*/
|
|
49
|
+
readonly parametersSchema: Parameters;
|
|
50
|
+
/**
|
|
51
|
+
* A `Schema` representing the type that a tool returns from its handler
|
|
52
|
+
* if successful.
|
|
53
|
+
*/
|
|
54
|
+
readonly successSchema: Success;
|
|
55
|
+
/**
|
|
56
|
+
* A `Schema` representing the type that a tool returns from its handler
|
|
57
|
+
* if it fails.
|
|
58
|
+
*/
|
|
59
|
+
readonly failureSchema: Failure;
|
|
60
|
+
/**
|
|
61
|
+
* Adds a requirement on a particular service for the tool call to be able to
|
|
62
|
+
* be executed.
|
|
63
|
+
*/
|
|
64
|
+
addRequirement<Requirement>(): AiTool<Name, Parameters, Success, Failure, Requirements | Requirement>;
|
|
65
|
+
/**
|
|
66
|
+
* Set the schema to use for tool handler success.
|
|
67
|
+
*/
|
|
68
|
+
setSuccess<SuccessSchema extends Schema.Schema.Any>(schema: SuccessSchema): AiTool<Name, Parameters, SuccessSchema, Failure>;
|
|
69
|
+
/**
|
|
70
|
+
* Set the schema to use for tool handler failure.
|
|
71
|
+
*/
|
|
72
|
+
setFailure<FailureSchema extends Schema.Schema.Any>(schema: FailureSchema): AiTool<Name, Parameters, Success, FailureSchema>;
|
|
73
|
+
/**
|
|
74
|
+
* Set the schema for the tool parameters.
|
|
75
|
+
*/
|
|
76
|
+
setParameters<ParametersSchema extends Schema.Struct<any> | Schema.Struct.Fields>(schema: ParametersSchema): AiTool<Name, ParametersSchema extends Schema.Struct<infer _> ? ParametersSchema : ParametersSchema extends Schema.Struct.Fields ? Schema.Struct<ParametersSchema> : never, Success>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* @since 1.0.0
|
|
80
|
+
* @category Guards
|
|
81
|
+
*/
|
|
82
|
+
export declare const isAiTool: (u: unknown) => u is AiTool<any, any, any, any, any>;
|
|
83
|
+
/**
|
|
84
|
+
* @since 1.0.0
|
|
85
|
+
* @category Models
|
|
86
|
+
*/
|
|
87
|
+
export interface Any extends Pipeable {
|
|
88
|
+
readonly [TypeId]: {
|
|
89
|
+
readonly _Requirements: Types.Covariant<any>;
|
|
90
|
+
};
|
|
91
|
+
readonly name: string;
|
|
92
|
+
readonly description?: string | undefined;
|
|
93
|
+
readonly key: string;
|
|
94
|
+
readonly parametersSchema: AnyStructSchema;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @since 1.0.0
|
|
98
|
+
* @category Models
|
|
99
|
+
*/
|
|
100
|
+
export interface AnyWithProtocol extends Any {
|
|
101
|
+
readonly successSchema: Schema.Schema.Any;
|
|
102
|
+
readonly failureSchema: Schema.Schema.All;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Represents an `AiTool` that has been implemented within the application.
|
|
106
|
+
*
|
|
107
|
+
* @since 1.0.0
|
|
108
|
+
* @category Models
|
|
109
|
+
*/
|
|
110
|
+
export interface Handler<Name extends string> {
|
|
111
|
+
readonly _: unique symbol;
|
|
112
|
+
readonly name: Name;
|
|
113
|
+
readonly handler: (params: any) => Effect.Effect<any, any>;
|
|
114
|
+
readonly context: Context_.Context<never>;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* A utility type which returns the type of the `Effect` that will be used to
|
|
118
|
+
* resolve a tool call.
|
|
119
|
+
*
|
|
120
|
+
* @since 1.0.0
|
|
121
|
+
* @category Utility Types
|
|
122
|
+
*/
|
|
123
|
+
export type HandlerEffect<Tool extends Any> = [Tool] extends [
|
|
124
|
+
AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements>
|
|
125
|
+
] ? Effect.Effect<_Success["Type"], AiError | _Failure["Type"], _Parameters["Context"] | _Success["Context"] | _Failure["Context"] | _Requirements> : never;
|
|
126
|
+
/**
|
|
127
|
+
* Represents the result of calling the handler for a particular tool.
|
|
128
|
+
*
|
|
129
|
+
* @since 1.0.0
|
|
130
|
+
* @category Models
|
|
131
|
+
*/
|
|
132
|
+
export interface HandlerResult<Tool extends Any> {
|
|
133
|
+
/**
|
|
134
|
+
* The result of executing the handler for a particular tool.
|
|
135
|
+
*/
|
|
136
|
+
readonly result: Success<Tool>;
|
|
137
|
+
/**
|
|
138
|
+
* The encoded result of executing the handler for a particular tool, which
|
|
139
|
+
* is suitable for returning back to the large language model for
|
|
140
|
+
* incorporation into further responses.
|
|
141
|
+
*/
|
|
142
|
+
readonly encodedResult: unknown;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* A utility mapped type which associates tool names with tools.
|
|
146
|
+
*
|
|
147
|
+
* @since 1.0.0
|
|
148
|
+
* @category Utility Types
|
|
149
|
+
*/
|
|
150
|
+
export type ByName<Tools extends Any> = {
|
|
151
|
+
readonly [Tool in Tools as Tool["name"]]: Tool;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* A utility type to extract the `Name` type from an `AiTool`.
|
|
155
|
+
*
|
|
156
|
+
* @since 1.0.0
|
|
157
|
+
* @category Utility Types
|
|
158
|
+
*/
|
|
159
|
+
export type Name<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Name : never;
|
|
160
|
+
/**
|
|
161
|
+
* A utility type to extract the type of the parameters which an `AiTool` must
|
|
162
|
+
* be called with.
|
|
163
|
+
*
|
|
164
|
+
* @since 1.0.0
|
|
165
|
+
* @category Utility Types
|
|
166
|
+
*/
|
|
167
|
+
export type Parameters<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Parameters["Type"] : never;
|
|
168
|
+
/**
|
|
169
|
+
* A utility type to extract the schema type of the parameters which an `AiTool`
|
|
170
|
+
* must be called with.
|
|
171
|
+
*
|
|
172
|
+
* @since 1.0.0
|
|
173
|
+
* @category Utility Types
|
|
174
|
+
*/
|
|
175
|
+
export type ParametersSchema<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Parameters : never;
|
|
176
|
+
/**
|
|
177
|
+
* A utility type to extract the type of the response that an `AiTool` returns
|
|
178
|
+
* from its handler if successful.
|
|
179
|
+
*
|
|
180
|
+
* @since 1.0.0
|
|
181
|
+
* @category Utility Types
|
|
182
|
+
*/
|
|
183
|
+
export type Success<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Success["Type"] : never;
|
|
184
|
+
/**
|
|
185
|
+
* A utility type to extract the schema type of the response that an `AiTool`
|
|
186
|
+
* returns from its handler if successful.
|
|
187
|
+
*
|
|
188
|
+
* @since 1.0.0
|
|
189
|
+
* @category Utility Types
|
|
190
|
+
*/
|
|
191
|
+
export type SuccessSchema<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Success : never;
|
|
192
|
+
/**
|
|
193
|
+
* A utility type to extract the type of the response that an `AiTool` returns
|
|
194
|
+
* from its handler if it fails.
|
|
195
|
+
*
|
|
196
|
+
* @since 1.0.0
|
|
197
|
+
* @category Utility Types
|
|
198
|
+
*/
|
|
199
|
+
export type Failure<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Failure["Type"] : never;
|
|
200
|
+
/**
|
|
201
|
+
* A utility type to extract the schema type of the response that an `AiTool`
|
|
202
|
+
* returns from its handler if it fails.
|
|
203
|
+
*
|
|
204
|
+
* @since 1.0.0
|
|
205
|
+
* @category Utility Types
|
|
206
|
+
*/
|
|
207
|
+
export type FailureSchema<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Failure : never;
|
|
208
|
+
/**
|
|
209
|
+
* A utility type to the `Context` type from an `AiTool`.
|
|
210
|
+
*
|
|
211
|
+
* @since 1.0.0
|
|
212
|
+
* @category Utility Types
|
|
213
|
+
*/
|
|
214
|
+
export type Context<Tool> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? _Parameters["Context"] | _Success["Context"] | _Failure["Context"] | _Requirements : never;
|
|
215
|
+
/**
|
|
216
|
+
* @since 1.0.0
|
|
217
|
+
* @category Utility Types
|
|
218
|
+
*/
|
|
219
|
+
export interface AnyStructSchema extends Pipeable {
|
|
220
|
+
readonly [Schema.TypeId]: any;
|
|
221
|
+
readonly make: any;
|
|
222
|
+
readonly Type: any;
|
|
223
|
+
readonly Encoded: any;
|
|
224
|
+
readonly Context: any;
|
|
225
|
+
readonly ast: AST.AST;
|
|
226
|
+
readonly fields: Schema.Struct.Fields;
|
|
227
|
+
readonly annotations: any;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* @since 1.0.0
|
|
231
|
+
* @category Utility Types
|
|
232
|
+
*/
|
|
233
|
+
export interface AnyTaggedRequestSchema extends AnyStructSchema {
|
|
234
|
+
readonly _tag: string;
|
|
235
|
+
readonly success: Schema.Schema.Any;
|
|
236
|
+
readonly failure: Schema.Schema.All;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* A utility type to convert a `Schema.TaggedRequest` into an `AiTool`.
|
|
240
|
+
*
|
|
241
|
+
* @since 1.0.0
|
|
242
|
+
* @category Utility Types
|
|
243
|
+
*/
|
|
244
|
+
export interface FromTaggedRequest<S extends AnyTaggedRequestSchema> extends AiTool<S["_tag"], S, S["success"], S["failure"]> {
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* A utility type which returns the handler type for an `AiTool`.
|
|
248
|
+
*
|
|
249
|
+
* @since 1.0.0
|
|
250
|
+
* @category Utility Types
|
|
251
|
+
*/
|
|
252
|
+
export type ToHandler<Tool extends Any> = Tool extends AiTool<infer _Name, infer _Parameters, infer _Success, infer _Failure, infer _Requirements> ? Handler<_Name> : never;
|
|
253
|
+
/**
|
|
254
|
+
* Constructs an `AiTool` from a name and, optionally, a specification for the
|
|
255
|
+
* tool call's protocol.
|
|
256
|
+
*
|
|
257
|
+
* @since 1.0.0
|
|
258
|
+
* @category constructors
|
|
259
|
+
*/
|
|
260
|
+
export declare const make: <const Name extends string, Parameters extends Schema.Struct.Fields = {}, Success extends Schema.Schema.Any = typeof Schema.Void, Failure extends Schema.Schema.All = typeof Schema.Never>(name: Name, options?: {
|
|
261
|
+
/**
|
|
262
|
+
* An optional description of the tool.
|
|
263
|
+
*/
|
|
264
|
+
readonly description?: string | undefined;
|
|
265
|
+
/**
|
|
266
|
+
* A `Schema` representing the type of the parameters that a tool call
|
|
267
|
+
* handler must be provided with.
|
|
268
|
+
*/
|
|
269
|
+
readonly parameters?: Parameters;
|
|
270
|
+
/**
|
|
271
|
+
* A `Schema` representing the type that a tool returns from its handler if
|
|
272
|
+
* successful.
|
|
273
|
+
*/
|
|
274
|
+
readonly success?: Success;
|
|
275
|
+
/**
|
|
276
|
+
* A `Schema` representing the type that a tool returns from its handler if
|
|
277
|
+
* it fails.
|
|
278
|
+
*/
|
|
279
|
+
readonly failure?: Failure;
|
|
280
|
+
}) => AiTool<Name, Schema.Struct<Parameters>, Success, Failure>;
|
|
281
|
+
/**
|
|
282
|
+
* Constructs a new `AiTool` from a `Schema.TaggedRequest`.
|
|
283
|
+
*
|
|
284
|
+
* @since 1.0.0
|
|
285
|
+
* @category constructors
|
|
286
|
+
*/
|
|
287
|
+
export declare const fromTaggedRequest: <S extends AnyTaggedRequestSchema>(schema: S) => FromTaggedRequest<S>;
|
|
288
|
+
//# sourceMappingURL=AiTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiTool.d.ts","sourceRoot":"","sources":["../../src/AiTool.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/AiToolkit.d.ts
CHANGED
|
@@ -3,154 +3,93 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Context from "effect/Context";
|
|
5
5
|
import * as Effect from "effect/Effect";
|
|
6
|
-
import
|
|
7
|
-
import * as Inspectable from "effect/Inspectable";
|
|
6
|
+
import type { Inspectable } from "effect/Inspectable";
|
|
8
7
|
import * as Layer from "effect/Layer";
|
|
9
|
-
import type
|
|
10
|
-
import type
|
|
11
|
-
import
|
|
8
|
+
import type { Pipeable } from "effect/Pipeable";
|
|
9
|
+
import type * as Scope from "effect/Scope";
|
|
10
|
+
import * as AiTool from "./AiTool.js";
|
|
12
11
|
/**
|
|
13
12
|
* @since 1.0.0
|
|
14
|
-
* @category
|
|
13
|
+
* @category Type Ids
|
|
15
14
|
*/
|
|
16
15
|
export declare const TypeId: unique symbol;
|
|
17
16
|
/**
|
|
18
17
|
* @since 1.0.0
|
|
19
|
-
* @category
|
|
18
|
+
* @category Type Ids
|
|
20
19
|
*/
|
|
21
20
|
export type TypeId = typeof TypeId;
|
|
22
21
|
/**
|
|
22
|
+
* An `AiToolkit` represents a set of tools that a large language model can
|
|
23
|
+
* use to augment its response.
|
|
24
|
+
*
|
|
23
25
|
* @since 1.0.0
|
|
24
|
-
* @category
|
|
26
|
+
* @category Models
|
|
25
27
|
*/
|
|
26
|
-
export interface AiToolkit<in out Tools extends
|
|
28
|
+
export interface AiToolkit<in out Tools extends AiTool.Any> extends Effect.Effect<ToHandler<Tools>, never, AiTool.ToHandler<Tools>>, Inspectable, Pipeable {
|
|
29
|
+
new (_: never): {};
|
|
27
30
|
readonly [TypeId]: TypeId;
|
|
28
|
-
readonly tools: HashMap.HashMap<string, Tools>;
|
|
29
|
-
readonly add: <S extends Tool.AnySchema>(tool: S) => AiToolkit<Tools | S>;
|
|
30
|
-
readonly addAll: <ToAdd extends ReadonlyArray<Tool.AnySchema>>(...tools: ToAdd) => AiToolkit<Tools | ToAdd[number]>;
|
|
31
|
-
readonly concat: <T extends Tool.AnySchema>(that: AiToolkit<T>) => AiToolkit<Tools | T>;
|
|
32
|
-
readonly implement: <R, EX = never, RX = never>(f: (handlers: Handlers<Tools>) => Handlers<never, R> | Effect.Effect<Handlers<never, R>, EX, RX>) => Layer.Layer<Tool.ServiceFromTag<Tools["_tag"]> | Registry, EX, Exclude<R | RX, Scope>>;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* @since 1.0.0
|
|
36
|
-
* @category models
|
|
37
|
-
*/
|
|
38
|
-
export declare namespace AiToolkit {
|
|
39
|
-
/**
|
|
40
|
-
* @since 1.0.0
|
|
41
|
-
* @category models
|
|
42
|
-
*/
|
|
43
|
-
type Tools<A> = A extends AiToolkit<infer Tools> ? Tools : never;
|
|
44
|
-
/**
|
|
45
|
-
* @since 1.0.0
|
|
46
|
-
* @category models
|
|
47
|
-
*/
|
|
48
|
-
type SuccessSchema<A> = A extends AiToolkit<infer Tools> ? Tools["success"] : never;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* @since 1.0.0
|
|
52
|
-
* @category tool
|
|
53
|
-
*/
|
|
54
|
-
export declare namespace Tool {
|
|
55
|
-
/**
|
|
56
|
-
* @since 1.0.0
|
|
57
|
-
* @category tool
|
|
58
|
-
*/
|
|
59
|
-
interface AnySchema {
|
|
60
|
-
readonly [Schema.TypeId]: any;
|
|
61
|
-
readonly _tag: string;
|
|
62
|
-
readonly Type: Schema.SerializableWithResult.All;
|
|
63
|
-
readonly success: Schema.Schema.Any;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* @since 1.0.0
|
|
67
|
-
* @category tool
|
|
68
|
-
*/
|
|
69
|
-
type Success<Tool extends AnySchema> = Schema.WithResult.Success<Tool["Type"]>;
|
|
70
|
-
/**
|
|
71
|
-
* @since 1.0.0
|
|
72
|
-
* @category tool
|
|
73
|
-
*/
|
|
74
|
-
type Failure<Tool extends AnySchema> = Schema.WithResult.Failure<Tool["Type"]>;
|
|
75
|
-
/**
|
|
76
|
-
* @since 1.0.0
|
|
77
|
-
* @category tool
|
|
78
|
-
*/
|
|
79
|
-
type Context<Tool extends AnySchema> = Schema.WithResult.Context<Tool["Type"]>;
|
|
80
|
-
/**
|
|
81
|
-
* @since 1.0.0
|
|
82
|
-
* @category tool
|
|
83
|
-
*/
|
|
84
|
-
type Handler<Tool extends AnySchema, R> = (params: Tool["Type"]) => Effect.Effect<Success<Tool>, Failure<Tool>, R>;
|
|
85
31
|
/**
|
|
86
|
-
*
|
|
87
|
-
* @category tool
|
|
32
|
+
* A map containing the tools that are part of this toolkit.
|
|
88
33
|
*/
|
|
89
|
-
|
|
34
|
+
readonly tools: AiTool.ByName<Tools>;
|
|
90
35
|
/**
|
|
91
|
-
*
|
|
92
|
-
*
|
|
36
|
+
* Converts this toolkit into a `Context` object containing the handlers for
|
|
37
|
+
* all tools in the toolkit.
|
|
93
38
|
*/
|
|
94
|
-
|
|
95
|
-
readonly _: unique symbol;
|
|
96
|
-
readonly name: Types.Invariant<Tag>;
|
|
97
|
-
}
|
|
39
|
+
toContext<Handlers extends HandlersFrom<Tools>, EX = never, RX = never>(build: Handlers | Effect.Effect<Handlers, EX, RX>): Effect.Effect<Context.Context<AiTool.ToHandler<Tools>>, EX, RX>;
|
|
98
40
|
/**
|
|
99
|
-
*
|
|
100
|
-
*
|
|
41
|
+
* Converts this toolkit into a `Layer` containing the handlers for all tools
|
|
42
|
+
* in the toolkit.
|
|
101
43
|
*/
|
|
102
|
-
|
|
103
|
-
/**
|
|
104
|
-
* @since 1.0.0
|
|
105
|
-
* @category tool
|
|
106
|
-
*/
|
|
107
|
-
type Services<Tools extends AnySchema> = ServiceFromTag<Tools["_tag"]>;
|
|
44
|
+
toLayer<Handlers extends HandlersFrom<Tools>, EX = never, RX = never>(build: Handlers | Effect.Effect<Handlers, EX, RX>): Layer.Layer<AiTool.ToHandler<Tools>, EX, Exclude<RX, Scope.Scope>>;
|
|
108
45
|
}
|
|
109
|
-
declare const Registry_base: Context.TagClass<Registry, "@effect/ai/AiToolkit/Registry", Map<Tool.AnySchema, Tool.HandlerAny>>;
|
|
110
46
|
/**
|
|
111
47
|
* @since 1.0.0
|
|
112
|
-
* @category
|
|
48
|
+
* @category Models
|
|
113
49
|
*/
|
|
114
|
-
export
|
|
115
|
-
|
|
50
|
+
export interface Any {
|
|
51
|
+
readonly [TypeId]: TypeId;
|
|
52
|
+
readonly tools: ReadonlyMap<string, AiTool.Any>;
|
|
116
53
|
}
|
|
117
54
|
/**
|
|
55
|
+
* Represents an `AiToolkit` which has been augmented with a handler function
|
|
56
|
+
* for resolving tool call requests.
|
|
57
|
+
*
|
|
118
58
|
* @since 1.0.0
|
|
119
|
-
* @category
|
|
59
|
+
* @category Models
|
|
120
60
|
*/
|
|
121
|
-
export
|
|
61
|
+
export interface ToHandler<in out Tool extends AiTool.Any> {
|
|
62
|
+
readonly tools: ReadonlyArray<Tool>;
|
|
63
|
+
readonly handle: (toolName: AiTool.Name<Tool>, toolParams: AiTool.Parameters<Tool>) => AiTool.HandlerEffect<Tool>;
|
|
64
|
+
}
|
|
122
65
|
/**
|
|
66
|
+
* A utility mapped type which associates tool names with their handlers.
|
|
67
|
+
*
|
|
123
68
|
* @since 1.0.0
|
|
124
|
-
* @category
|
|
69
|
+
* @category Utility Types
|
|
125
70
|
*/
|
|
126
|
-
export
|
|
71
|
+
export type HandlersFrom<Tool extends AiTool.Any> = {
|
|
72
|
+
[Name in Tool as Tool["name"]]: (params: AiTool.Parameters<Tool>) => AiTool.HandlerEffect<Tool>;
|
|
73
|
+
};
|
|
127
74
|
/**
|
|
75
|
+
* A utility type which returns the tools in an `AiToolkit`.
|
|
76
|
+
*
|
|
128
77
|
* @since 1.0.0
|
|
129
|
-
* @category
|
|
78
|
+
* @category Utility Types
|
|
130
79
|
*/
|
|
131
|
-
export type
|
|
80
|
+
export type Tools<Toolkit> = Toolkit extends AiToolkit<infer Tool> ? string extends Tool["name"] ? never : Tool : never;
|
|
132
81
|
/**
|
|
82
|
+
* Constructs a new `AiToolkit` from the specified tools.
|
|
83
|
+
*
|
|
133
84
|
* @since 1.0.0
|
|
134
|
-
* @category
|
|
85
|
+
* @category Constructors
|
|
135
86
|
*/
|
|
136
|
-
export
|
|
137
|
-
readonly [HandlersTypeId]: Handlers.Variance<Tools>;
|
|
138
|
-
readonly toolkit: AiToolkit<Tools>;
|
|
139
|
-
readonly handlers: HashMap.HashMap<string, Tool.Handler<any, R>>;
|
|
140
|
-
readonly handle: <Tag extends Types.Tags<Tools>, RH>(tag: Tag, f: Tool.Handler<Types.ExtractTag<Tools, Tag>, RH>) => Handlers<Types.ExcludeTag<Tools, Tag>, R | RH | Tool.Context<Types.ExtractTag<Tools, Tag>>>;
|
|
141
|
-
}
|
|
87
|
+
export declare const make: <const Tools extends ReadonlyArray<AiTool.Any>>(...tools: Tools) => AiToolkit<Tools[number]>;
|
|
142
88
|
/**
|
|
89
|
+
* Merges this toolkit with one or more other toolkits.
|
|
90
|
+
*
|
|
143
91
|
* @since 1.0.0
|
|
144
|
-
* @category
|
|
92
|
+
* @category Merging
|
|
145
93
|
*/
|
|
146
|
-
export declare
|
|
147
|
-
/**
|
|
148
|
-
* @since 1.0.0
|
|
149
|
-
* @category handlers
|
|
150
|
-
*/
|
|
151
|
-
interface Variance<Tools extends Tool.AnySchema> {
|
|
152
|
-
readonly _Tools: Types.Invariant<Tools>;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
export {};
|
|
94
|
+
export declare const merge: <const Toolkits extends ReadonlyArray<Any>>(...toolkits: Toolkits) => AiToolkit<Tools<Toolkits[number]>>;
|
|
156
95
|
//# sourceMappingURL=AiToolkit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiToolkit.d.ts","sourceRoot":"","sources":["../../src/AiToolkit.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"AiToolkit.d.ts","sourceRoot":"","sources":["../../src/AiToolkit.ts"],"names":[],"mappings":"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"}
|
package/dist/dts/Tokenizer.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
1
4
|
import * as Context from "effect/Context";
|
|
2
5
|
import * as Effect from "effect/Effect";
|
|
3
6
|
import type { AiError } from "./AiError.js";
|
|
@@ -5,27 +8,26 @@ import * as AiInput from "./AiInput.js";
|
|
|
5
8
|
declare const Tokenizer_base: Context.TagClass<Tokenizer, "@effect/ai/Tokenizer", Tokenizer.Service>;
|
|
6
9
|
/**
|
|
7
10
|
* @since 1.0.0
|
|
8
|
-
* @category
|
|
11
|
+
* @category Tags
|
|
9
12
|
*/
|
|
10
13
|
export declare class Tokenizer extends Tokenizer_base {
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
13
16
|
* @since 1.0.0
|
|
14
|
-
* @category models
|
|
15
17
|
*/
|
|
16
18
|
export declare namespace Tokenizer {
|
|
17
19
|
/**
|
|
18
20
|
* @since 1.0.0
|
|
19
|
-
* @
|
|
21
|
+
* @category Models
|
|
20
22
|
*/
|
|
21
23
|
interface Service {
|
|
22
|
-
readonly tokenize: (
|
|
23
|
-
readonly truncate: (
|
|
24
|
+
readonly tokenize: (input: AiInput.Raw) => Effect.Effect<Array<number>, AiError>;
|
|
25
|
+
readonly truncate: (input: AiInput.Raw, tokens: number) => Effect.Effect<AiInput.AiInput, AiError>;
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
/**
|
|
27
29
|
* @since 1.0.0
|
|
28
|
-
* @category
|
|
30
|
+
* @category Constructors
|
|
29
31
|
*/
|
|
30
32
|
export declare const make: (options: {
|
|
31
33
|
readonly tokenize: (content: AiInput.AiInput) => Effect.Effect<Array<number>, AiError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tokenizer.d.ts","sourceRoot":"","sources":["../../src/Tokenizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tokenizer.d.ts","sourceRoot":"","sources":["../../src/Tokenizer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;;AAEvC;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAG5B;CAAG;AAEN;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC;;;OAGG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;QAChF,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;KACnG;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAA;CACvF,KAAG,SAAS,CAAC,OAQV,CAAA"}
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
export * as AiChat from "./AiChat.js";
|
|
5
|
+
/**
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
export * as AiEmbeddingModel from "./AiEmbeddingModel.js";
|
|
5
9
|
/**
|
|
6
10
|
* @since 1.0.0
|
|
7
11
|
*/
|
|
@@ -13,11 +17,11 @@ export * as AiInput from "./AiInput.js";
|
|
|
13
17
|
/**
|
|
14
18
|
* @since 1.0.0
|
|
15
19
|
*/
|
|
16
|
-
export * as
|
|
20
|
+
export * as AiLanguageModel from "./AiLanguageModel.js";
|
|
17
21
|
/**
|
|
18
22
|
* @since 1.0.0
|
|
19
23
|
*/
|
|
20
|
-
export * as
|
|
24
|
+
export * as AiModel from "./AiModel.js";
|
|
21
25
|
/**
|
|
22
26
|
* @since 1.0.0
|
|
23
27
|
*/
|
|
@@ -26,10 +30,6 @@ export * as AiPlan from "./AiPlan.js";
|
|
|
26
30
|
* @since 1.0.0
|
|
27
31
|
*/
|
|
28
32
|
export * as AiResponse from "./AiResponse.js";
|
|
29
|
-
/**
|
|
30
|
-
* @since 1.0.0
|
|
31
|
-
*/
|
|
32
|
-
export * as AiRole from "./AiRole.js";
|
|
33
33
|
/**
|
|
34
34
|
* @since 1.0.0
|
|
35
35
|
*/
|
|
@@ -37,15 +37,11 @@ export * as AiTelemetry from "./AiTelemetry.js";
|
|
|
37
37
|
/**
|
|
38
38
|
* @since 1.0.0
|
|
39
39
|
*/
|
|
40
|
-
export * as
|
|
41
|
-
/**
|
|
42
|
-
* @since 1.0.0
|
|
43
|
-
*/
|
|
44
|
-
export * as Completions from "./Completions.js";
|
|
40
|
+
export * as AiTool from "./AiTool.js";
|
|
45
41
|
/**
|
|
46
42
|
* @since 1.0.0
|
|
47
43
|
*/
|
|
48
|
-
export * as
|
|
44
|
+
export * as AiToolkit from "./AiToolkit.js";
|
|
49
45
|
/**
|
|
50
46
|
* @since 1.0.0
|
|
51
47
|
*/
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAEzD;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/internal/common.ts"],"names":[],"mappings":""}
|