@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
|
@@ -1,340 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @since 1.0.0
|
|
3
|
-
*/
|
|
4
|
-
import * as _Context from "effect/Context";
|
|
5
|
-
import * as Effect from "effect/Effect";
|
|
6
|
-
import * as JsonSchema from "effect/JSONSchema";
|
|
7
|
-
import * as Option from "effect/Option";
|
|
8
|
-
import * as Predicate from "effect/Predicate";
|
|
9
|
-
import * as Random from "effect/Random";
|
|
10
|
-
import * as Schema from "effect/Schema";
|
|
11
|
-
import * as AST from "effect/SchemaAST";
|
|
12
|
-
import * as Stream from "effect/Stream";
|
|
13
|
-
import { AiError } from "./AiError.js";
|
|
14
|
-
import * as AiInput from "./AiInput.js";
|
|
15
|
-
import * as AiResponse from "./AiResponse.js";
|
|
16
|
-
import { CurrentSpanTransformer } from "./AiTelemetry.js";
|
|
17
|
-
const constDisableValidation = {
|
|
18
|
-
disableValidation: true
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* @since 1.0.0
|
|
22
|
-
* @category Context
|
|
23
|
-
*/
|
|
24
|
-
export class AiLanguageModel extends /*#__PURE__*/_Context.Tag("@effect/ai/AiLanguageModel")() {}
|
|
25
|
-
const ALPHANUMS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
|
26
|
-
const DefaultToolCallIdGenerator = {
|
|
27
|
-
generateId: /*#__PURE__*/Effect.fnUntraced(function* () {
|
|
28
|
-
const chars = new Array(32);
|
|
29
|
-
for (let i = 0; i < 32; i++) {
|
|
30
|
-
chars[i] = ALPHANUMS[yield* Random.nextIntBetween(0, ALPHANUMS.length - 1)];
|
|
31
|
-
}
|
|
32
|
-
return `tool_${chars.join("")}`;
|
|
33
|
-
})
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* @since 1.0.0
|
|
37
|
-
* @category Context
|
|
38
|
-
*/
|
|
39
|
-
export class CurrentToolCallIdGenerator extends /*#__PURE__*/_Context.Tag("@effect/ai/CurrentToolCallIdGenerator")() {}
|
|
40
|
-
const constEmptyMap = /*#__PURE__*/new Map();
|
|
41
|
-
/**
|
|
42
|
-
* @since 1.0.0
|
|
43
|
-
* @category Constructors
|
|
44
|
-
*/
|
|
45
|
-
export const make = /*#__PURE__*/Effect.fnUntraced(function* (opts) {
|
|
46
|
-
const parentSpanTransformer = yield* Effect.serviceOption(CurrentSpanTransformer);
|
|
47
|
-
const getSpanTransformer = Effect.serviceOption(CurrentSpanTransformer).pipe(Effect.map(Option.orElse(() => parentSpanTransformer)));
|
|
48
|
-
const toolCallIdGenerator = yield* Effect.serviceOption(CurrentToolCallIdGenerator).pipe(Effect.map(Option.getOrElse(() => DefaultToolCallIdGenerator)));
|
|
49
|
-
const generateText = ({
|
|
50
|
-
concurrency,
|
|
51
|
-
toolChoice = "auto",
|
|
52
|
-
toolkit,
|
|
53
|
-
...options
|
|
54
|
-
}) => Effect.useSpan("AiLanguageModel.generateText", {
|
|
55
|
-
captureStackTrace: false,
|
|
56
|
-
attributes: {
|
|
57
|
-
concurrency,
|
|
58
|
-
toolChoice
|
|
59
|
-
}
|
|
60
|
-
}, Effect.fnUntraced(function* (span) {
|
|
61
|
-
const prompt = AiInput.make(options.prompt);
|
|
62
|
-
const system = Option.fromNullable(options.system);
|
|
63
|
-
const spanTransformer = yield* getSpanTransformer;
|
|
64
|
-
const modelOptions = {
|
|
65
|
-
prompt,
|
|
66
|
-
system,
|
|
67
|
-
tools: [],
|
|
68
|
-
toolChoice: "none",
|
|
69
|
-
span
|
|
70
|
-
};
|
|
71
|
-
if (Predicate.isUndefined(toolkit)) {
|
|
72
|
-
const response = yield* opts.generateText(modelOptions);
|
|
73
|
-
if (Option.isSome(spanTransformer)) {
|
|
74
|
-
spanTransformer.value({
|
|
75
|
-
...modelOptions,
|
|
76
|
-
response
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
return response;
|
|
80
|
-
}
|
|
81
|
-
modelOptions.toolChoice = toolChoice;
|
|
82
|
-
const actualToolkit = Effect.isEffect(toolkit) ? yield* toolkit : toolkit;
|
|
83
|
-
for (const tool of actualToolkit.tools) {
|
|
84
|
-
modelOptions.tools.push(convertTool(tool));
|
|
85
|
-
}
|
|
86
|
-
const response = yield* opts.generateText(modelOptions);
|
|
87
|
-
if (Option.isSome(spanTransformer)) {
|
|
88
|
-
spanTransformer.value({
|
|
89
|
-
...modelOptions,
|
|
90
|
-
response
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
if (options.disableToolCallResolution) {
|
|
94
|
-
return response;
|
|
95
|
-
}
|
|
96
|
-
return yield* resolveParts({
|
|
97
|
-
response,
|
|
98
|
-
toolkit: actualToolkit,
|
|
99
|
-
concurrency,
|
|
100
|
-
method: "generateText"
|
|
101
|
-
});
|
|
102
|
-
}, (effect, span) => Effect.withParentSpan(effect, span), Effect.provideService(CurrentToolCallIdGenerator, toolCallIdGenerator)));
|
|
103
|
-
const streamText = Effect.fnUntraced(function* ({
|
|
104
|
-
concurrency,
|
|
105
|
-
toolChoice = "auto",
|
|
106
|
-
toolkit,
|
|
107
|
-
...options
|
|
108
|
-
}) {
|
|
109
|
-
const span = yield* Effect.makeSpanScoped("AiLanguageModel.streamText", {
|
|
110
|
-
captureStackTrace: false,
|
|
111
|
-
attributes: {
|
|
112
|
-
concurrency,
|
|
113
|
-
toolChoice
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
const prompt = AiInput.make(options.prompt);
|
|
117
|
-
const system = Option.fromNullable(options.system);
|
|
118
|
-
const modelOptions = {
|
|
119
|
-
prompt,
|
|
120
|
-
system,
|
|
121
|
-
tools: [],
|
|
122
|
-
toolChoice: "none",
|
|
123
|
-
span
|
|
124
|
-
};
|
|
125
|
-
if (Predicate.isUndefined(toolkit)) {
|
|
126
|
-
return [opts.streamText(modelOptions), modelOptions];
|
|
127
|
-
}
|
|
128
|
-
modelOptions.toolChoice = toolChoice;
|
|
129
|
-
const actualToolkit = Effect.isEffect(toolkit) ? yield* toolkit : toolkit;
|
|
130
|
-
for (const tool of actualToolkit.tools) {
|
|
131
|
-
modelOptions.tools.push(convertTool(tool));
|
|
132
|
-
}
|
|
133
|
-
const stream = opts.streamText(modelOptions);
|
|
134
|
-
if (options.disableToolCallResolution) {
|
|
135
|
-
return [stream, modelOptions];
|
|
136
|
-
}
|
|
137
|
-
return [stream.pipe(Stream.mapEffect(response => resolveParts({
|
|
138
|
-
response,
|
|
139
|
-
toolkit: actualToolkit,
|
|
140
|
-
concurrency,
|
|
141
|
-
method: "streamText"
|
|
142
|
-
}), {
|
|
143
|
-
concurrency: "unbounded"
|
|
144
|
-
})), modelOptions];
|
|
145
|
-
}, Effect.flatMap(Effect.fnUntraced(function* ([stream, options]) {
|
|
146
|
-
const spanTransformer = yield* getSpanTransformer;
|
|
147
|
-
if (Option.isNone(spanTransformer)) {
|
|
148
|
-
return stream;
|
|
149
|
-
}
|
|
150
|
-
let finalResponse = AiResponse.empty;
|
|
151
|
-
return stream.pipe(Stream.map(response => {
|
|
152
|
-
finalResponse = AiResponse.merge(finalResponse, response);
|
|
153
|
-
return response;
|
|
154
|
-
}), Stream.ensuring(Effect.sync(() => {
|
|
155
|
-
spanTransformer.value({
|
|
156
|
-
...options,
|
|
157
|
-
response: finalResponse
|
|
158
|
-
});
|
|
159
|
-
})));
|
|
160
|
-
})), Stream.unwrapScoped, Stream.provideService(CurrentToolCallIdGenerator, toolCallIdGenerator));
|
|
161
|
-
const generateObject = options => {
|
|
162
|
-
const toolCallId = options.toolCallId ? options.toolCallId : "_tag" in options.schema ? options.schema._tag : "identifier" in options.schema ? options.schema.identifier : "generateObject";
|
|
163
|
-
return Effect.useSpan("AiLanguageModel.generateObject", {
|
|
164
|
-
captureStackTrace: false,
|
|
165
|
-
attributes: {
|
|
166
|
-
toolCallId
|
|
167
|
-
}
|
|
168
|
-
}, Effect.fnUntraced(function* (span) {
|
|
169
|
-
const prompt = AiInput.make(options.prompt);
|
|
170
|
-
const system = Option.fromNullable(options.system);
|
|
171
|
-
const spanTransformer = yield* getSpanTransformer;
|
|
172
|
-
const decode = Schema.decodeUnknown(options.schema);
|
|
173
|
-
const tool = convertStructured(toolCallId, options.schema);
|
|
174
|
-
const toolChoice = {
|
|
175
|
-
tool: tool.name
|
|
176
|
-
};
|
|
177
|
-
const modelOptions = {
|
|
178
|
-
prompt,
|
|
179
|
-
system,
|
|
180
|
-
tools: [tool],
|
|
181
|
-
toolChoice,
|
|
182
|
-
span
|
|
183
|
-
};
|
|
184
|
-
const response = yield* opts.generateText(modelOptions);
|
|
185
|
-
if (Option.isSome(spanTransformer)) {
|
|
186
|
-
spanTransformer.value({
|
|
187
|
-
...modelOptions,
|
|
188
|
-
response
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
const toolCallPart = response.parts.find(part => part._tag === "ToolCallPart" && part.name === toolCallId);
|
|
192
|
-
if (Predicate.isUndefined(toolCallPart)) {
|
|
193
|
-
return yield* new AiError({
|
|
194
|
-
module: "AiLanguageModel",
|
|
195
|
-
method: "generateObject",
|
|
196
|
-
description: `Tool call '${toolCallId}' not found in model response`
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
return yield* Effect.matchEffect(decode(toolCallPart.params), {
|
|
200
|
-
onFailure: cause => new AiError({
|
|
201
|
-
module: "AiLanguageModel",
|
|
202
|
-
method: "generateObject",
|
|
203
|
-
description: `Failed to decode tool call '${toolCallId}' parameters`,
|
|
204
|
-
cause
|
|
205
|
-
}),
|
|
206
|
-
onSuccess: output => Effect.succeed(new AiResponse.WithStructuredOutput({
|
|
207
|
-
parts: response.parts,
|
|
208
|
-
id: toolCallPart.id,
|
|
209
|
-
name: toolCallPart.name,
|
|
210
|
-
value: output
|
|
211
|
-
}, constDisableValidation))
|
|
212
|
-
});
|
|
213
|
-
}, (effect, span) => Effect.withParentSpan(effect, span), Effect.provideService(CurrentToolCallIdGenerator, toolCallIdGenerator)));
|
|
214
|
-
};
|
|
215
|
-
return AiLanguageModel.of({
|
|
216
|
-
generateText,
|
|
217
|
-
streamText,
|
|
218
|
-
generateObject
|
|
219
|
-
});
|
|
220
|
-
});
|
|
221
|
-
const convertTool = tool => ({
|
|
222
|
-
name: tool.name,
|
|
223
|
-
description: tool.description ?? getDescription(tool.parametersSchema.ast),
|
|
224
|
-
parameters: makeJsonSchema(tool.parametersSchema.ast),
|
|
225
|
-
structured: false
|
|
226
|
-
});
|
|
227
|
-
const convertStructured = (name, schema) => ({
|
|
228
|
-
name,
|
|
229
|
-
description: getDescription(schema.ast),
|
|
230
|
-
parameters: makeJsonSchema(schema.ast),
|
|
231
|
-
structured: true
|
|
232
|
-
});
|
|
233
|
-
const makeJsonSchema = ast => {
|
|
234
|
-
const props = AST.getPropertySignatures(ast);
|
|
235
|
-
if (props.length === 0) {
|
|
236
|
-
return {
|
|
237
|
-
type: "object",
|
|
238
|
-
properties: {},
|
|
239
|
-
required: [],
|
|
240
|
-
additionalProperties: false
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
const $defs = {};
|
|
244
|
-
const schema = JsonSchema.fromAST(ast, {
|
|
245
|
-
definitions: $defs,
|
|
246
|
-
topLevelReferenceStrategy: "skip"
|
|
247
|
-
});
|
|
248
|
-
if (Object.keys($defs).length === 0) return schema;
|
|
249
|
-
schema.$defs = $defs;
|
|
250
|
-
return schema;
|
|
251
|
-
};
|
|
252
|
-
const getDescription = ast => {
|
|
253
|
-
const annotations = ast._tag === "Transformation" ? {
|
|
254
|
-
...ast.to.annotations,
|
|
255
|
-
...ast.annotations
|
|
256
|
-
} : ast.annotations;
|
|
257
|
-
return AST.DescriptionAnnotationId in annotations ? annotations[AST.DescriptionAnnotationId] : "";
|
|
258
|
-
};
|
|
259
|
-
const resolveParts = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
260
|
-
const toolNames = [];
|
|
261
|
-
const toolParts = options.response.parts.filter(part => {
|
|
262
|
-
if (part._tag === "ToolCallPart") {
|
|
263
|
-
toolNames.push(part.name);
|
|
264
|
-
return true;
|
|
265
|
-
}
|
|
266
|
-
return false;
|
|
267
|
-
});
|
|
268
|
-
if (toolParts.length === 0) {
|
|
269
|
-
return new AiResponse.WithToolCallResults({
|
|
270
|
-
parts: options.response.parts,
|
|
271
|
-
results: constEmptyMap,
|
|
272
|
-
encodedResults: constEmptyMap
|
|
273
|
-
}, constDisableValidation);
|
|
274
|
-
}
|
|
275
|
-
yield* Effect.annotateCurrentSpan("toolCalls", toolNames);
|
|
276
|
-
const results = new Map();
|
|
277
|
-
const encodedResults = new Map();
|
|
278
|
-
const resolve = Effect.forEach(toolParts, part => {
|
|
279
|
-
const id = part.id;
|
|
280
|
-
const name = part.name;
|
|
281
|
-
const params = part.params;
|
|
282
|
-
const toolCall = options.toolkit.handle(name, params);
|
|
283
|
-
return Effect.map(toolCall, ({
|
|
284
|
-
encodedResult,
|
|
285
|
-
result
|
|
286
|
-
}) => {
|
|
287
|
-
results.set(id, {
|
|
288
|
-
name,
|
|
289
|
-
result
|
|
290
|
-
});
|
|
291
|
-
encodedResults.set(id, {
|
|
292
|
-
name,
|
|
293
|
-
result: encodedResult
|
|
294
|
-
});
|
|
295
|
-
});
|
|
296
|
-
}, {
|
|
297
|
-
concurrency: options.concurrency,
|
|
298
|
-
discard: true
|
|
299
|
-
});
|
|
300
|
-
yield* resolve;
|
|
301
|
-
return new AiResponse.WithToolCallResults({
|
|
302
|
-
parts: options.response.parts,
|
|
303
|
-
results,
|
|
304
|
-
encodedResults
|
|
305
|
-
}, constDisableValidation);
|
|
306
|
-
});
|
|
307
|
-
/**
|
|
308
|
-
* Generate text using a large language model for the specified `prompt`.
|
|
309
|
-
*
|
|
310
|
-
* If a `toolkit` is specified, the large language model will additionally
|
|
311
|
-
* be able to perform tool calls to augment its response.
|
|
312
|
-
*
|
|
313
|
-
* @since 1.0.0
|
|
314
|
-
* @category Functions
|
|
315
|
-
*/
|
|
316
|
-
export const generateText = /*#__PURE__*/Effect.serviceFunctionEffect(AiLanguageModel, _ => _.generateText);
|
|
317
|
-
/**
|
|
318
|
-
* Generate a structured object for the specified prompt and schema using a
|
|
319
|
-
* large language model.
|
|
320
|
-
*
|
|
321
|
-
* When using a `Schema` that does not have an `identifier` or `_tag`
|
|
322
|
-
* property, you must specify a `toolCallId` to properly associate the
|
|
323
|
-
* output of the model.
|
|
324
|
-
*
|
|
325
|
-
* @since 1.0.0
|
|
326
|
-
* @category Functions
|
|
327
|
-
*/
|
|
328
|
-
export const generateObject = /*#__PURE__*/Effect.serviceFunctionEffect(AiLanguageModel, _ => _.generateObject);
|
|
329
|
-
/**
|
|
330
|
-
* Generate text using a large language model for the specified `prompt`,
|
|
331
|
-
* streaming output from the model as soon as it is available.
|
|
332
|
-
*
|
|
333
|
-
* If a `toolkit` is specified, the large language model will additionally
|
|
334
|
-
* be able to perform tool calls to augment its response.
|
|
335
|
-
*
|
|
336
|
-
* @since 1.0.0
|
|
337
|
-
* @category Functions
|
|
338
|
-
*/
|
|
339
|
-
export const streamText = options => Stream.unwrap(AiLanguageModel.pipe(Effect.map(_ => _.streamText(options))));
|
|
340
|
-
//# sourceMappingURL=AiLanguageModel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AiLanguageModel.js","names":["_Context","Effect","JsonSchema","Option","Predicate","Random","Schema","AST","Stream","AiError","AiInput","AiResponse","CurrentSpanTransformer","constDisableValidation","disableValidation","AiLanguageModel","Tag","ALPHANUMS","DefaultToolCallIdGenerator","generateId","fnUntraced","chars","Array","i","nextIntBetween","length","join","CurrentToolCallIdGenerator","constEmptyMap","Map","make","opts","parentSpanTransformer","serviceOption","getSpanTransformer","pipe","map","orElse","toolCallIdGenerator","getOrElse","generateText","concurrency","toolChoice","toolkit","options","useSpan","captureStackTrace","attributes","span","prompt","system","fromNullable","spanTransformer","modelOptions","tools","isUndefined","response","isSome","value","actualToolkit","isEffect","tool","push","convertTool","disableToolCallResolution","resolveParts","method","effect","withParentSpan","provideService","streamText","makeSpanScoped","stream","mapEffect","flatMap","isNone","finalResponse","empty","merge","ensuring","sync","unwrapScoped","generateObject","toolCallId","schema","_tag","identifier","decode","decodeUnknown","convertStructured","name","toolCallPart","parts","find","part","module","description","matchEffect","params","onFailure","cause","onSuccess","output","succeed","WithStructuredOutput","id","of","getDescription","parametersSchema","ast","parameters","makeJsonSchema","structured","props","getPropertySignatures","type","properties","required","additionalProperties","$defs","fromAST","definitions","topLevelReferenceStrategy","Object","keys","annotations","to","DescriptionAnnotationId","toolNames","toolParts","filter","WithToolCallResults","results","encodedResults","annotateCurrentSpan","resolve","forEach","toolCall","handle","encodedResult","result","set","discard","serviceFunctionEffect","_","unwrap"],"sources":["../../src/AiLanguageModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/AiModel.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { CommitPrototype } from "effect/Effectable";
|
|
3
|
-
import { identity } from "effect/Function";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
/**
|
|
6
|
-
* @since 1.0.0
|
|
7
|
-
* @category type ids
|
|
8
|
-
*/
|
|
9
|
-
export const TypeId = /*#__PURE__*/Symbol.for("@effect/ai/AiModel");
|
|
10
|
-
const AiModelProto = {
|
|
11
|
-
...CommitPrototype,
|
|
12
|
-
[TypeId]: TypeId,
|
|
13
|
-
[Layer.LayerTypeId]: {
|
|
14
|
-
_ROut: identity,
|
|
15
|
-
_E: identity,
|
|
16
|
-
_RIn: identity
|
|
17
|
-
},
|
|
18
|
-
commit() {
|
|
19
|
-
return Effect.contextWith(context => {
|
|
20
|
-
return Layer.provide(this, Layer.succeedContext(context));
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* @since 1.0.0
|
|
26
|
-
* @category constructors
|
|
27
|
-
*/
|
|
28
|
-
export const make = layer => Object.assign(Object.create(AiModelProto), layer);
|
|
29
|
-
//# sourceMappingURL=AiModel.js.map
|
package/dist/esm/AiModel.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AiModel.js","names":["Effect","CommitPrototype","identity","Layer","TypeId","Symbol","for","AiModelProto","LayerTypeId","_ROut","_E","_RIn","commit","contextWith","context","provide","succeedContext","make","layer","Object","assign","create"],"sources":["../../src/AiModel.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,oBAAoB,CAAC;AAkBrE,MAAMC,YAAY,GAAG;EACnB,GAAGN,eAAe;EAClB,CAACG,MAAM,GAAGA,MAAM;EAChB,CAACD,KAAK,CAACK,WAAW,GAAG;IACnBC,KAAK,EAAEP,QAAQ;IACfQ,EAAE,EAAER,QAAQ;IACZS,IAAI,EAAET;GACP;EACDU,MAAMA,CAAA;IACJ,OAAOZ,MAAM,CAACa,WAAW,CAAEC,OAA+B,IAAI;MAC5D,OAAOX,KAAK,CAACY,OAAO,CAAC,IAAI,EAAEZ,KAAK,CAACa,cAAc,CAACF,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;EACJ;CACD;AAED;;;;AAIA,OAAO,MAAMG,IAAI,GACfC,KAA6C,IACbC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACd,YAAY,CAAC,EAAEW,KAAK,CAAC","ignoreList":[]}
|