@effect/ai 0.28.0 → 0.28.2
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/dist/cjs/AiError.js +19 -7
- package/dist/cjs/AiError.js.map +1 -1
- package/dist/cjs/Chat.js +176 -102
- package/dist/cjs/Chat.js.map +1 -1
- package/dist/cjs/Prompt.js +199 -17
- package/dist/cjs/Prompt.js.map +1 -1
- package/dist/cjs/Tool.js.map +1 -1
- package/dist/dts/AiError.d.ts +4 -2
- package/dist/dts/AiError.d.ts.map +1 -1
- package/dist/dts/Chat.d.ts +177 -33
- package/dist/dts/Chat.d.ts.map +1 -1
- package/dist/dts/Prompt.d.ts +358 -18
- package/dist/dts/Prompt.d.ts.map +1 -1
- package/dist/dts/Tool.d.ts +1 -1
- package/dist/dts/Tool.d.ts.map +1 -1
- package/dist/esm/AiError.js +19 -7
- package/dist/esm/AiError.js.map +1 -1
- package/dist/esm/Chat.js +172 -100
- package/dist/esm/Chat.js.map +1 -1
- package/dist/esm/Prompt.js +194 -13
- package/dist/esm/Prompt.js.map +1 -1
- package/dist/esm/Tool.js.map +1 -1
- package/package.json +4 -4
- package/src/AiError.ts +36 -21
- package/src/Chat.ts +286 -62
- package/src/Prompt.ts +384 -49
- package/src/Tool.ts +2 -1
package/dist/cjs/AiError.js
CHANGED
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.isAiError = exports.UnknownError = exports.TypeId = exports.MalformedOutput = exports.MalformedInput = exports.HttpResponseError = exports.HttpResponseDetails = exports.HttpRequestError = exports.HttpRequestDetails = exports.AiError = void 0;
|
|
7
|
+
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
8
|
+
var Inspectable = _interopRequireWildcard(require("effect/Inspectable"));
|
|
7
9
|
var Predicate = _interopRequireWildcard(require("effect/Predicate"));
|
|
8
10
|
var Schema = _interopRequireWildcard(require("effect/Schema"));
|
|
9
11
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
@@ -271,9 +273,9 @@ class HttpResponseError extends /*#__PURE__*/Schema.TaggedError("@effect/ai/AiEr
|
|
|
271
273
|
method: Schema.String,
|
|
272
274
|
request: HttpRequestDetails,
|
|
273
275
|
response: HttpResponseDetails,
|
|
276
|
+
body: /*#__PURE__*/Schema.optional(Schema.String),
|
|
274
277
|
reason: /*#__PURE__*/Schema.Literal("StatusCode", "Decode", "EmptyBody"),
|
|
275
|
-
description: /*#__PURE__*/Schema.optional(Schema.String)
|
|
276
|
-
cause: /*#__PURE__*/Schema.optional(Schema.Defect)
|
|
278
|
+
description: /*#__PURE__*/Schema.optional(Schema.String)
|
|
277
279
|
}) {
|
|
278
280
|
/**
|
|
279
281
|
* @since 1.0.0
|
|
@@ -304,9 +306,15 @@ class HttpResponseError extends /*#__PURE__*/Schema.TaggedError("@effect/ai/AiEr
|
|
|
304
306
|
error,
|
|
305
307
|
...params
|
|
306
308
|
}) {
|
|
307
|
-
|
|
309
|
+
let body = Effect.void;
|
|
310
|
+
const contentType = error.response.headers["content-type"] ?? "";
|
|
311
|
+
if (contentType.includes("application/json")) {
|
|
312
|
+
body = error.response.json;
|
|
313
|
+
} else if (contentType.includes("text/") || contentType.includes("urlencoded")) {
|
|
314
|
+
body = error.response.text;
|
|
315
|
+
}
|
|
316
|
+
return Effect.flatMap(Effect.merge(body), body => new HttpResponseError({
|
|
308
317
|
...params,
|
|
309
|
-
cause: error,
|
|
310
318
|
description: error.description,
|
|
311
319
|
reason: error.reason,
|
|
312
320
|
request: {
|
|
@@ -319,8 +327,9 @@ class HttpResponseError extends /*#__PURE__*/Schema.TaggedError("@effect/ai/AiEr
|
|
|
319
327
|
response: {
|
|
320
328
|
headers: error.response.headers,
|
|
321
329
|
status: error.response.status
|
|
322
|
-
}
|
|
323
|
-
|
|
330
|
+
},
|
|
331
|
+
body: Inspectable.format(body)
|
|
332
|
+
}));
|
|
324
333
|
}
|
|
325
334
|
get message() {
|
|
326
335
|
const methodUrlStatus = `${this.response.status} ${this.request.method} ${this.request.url}`;
|
|
@@ -344,7 +353,10 @@ class HttpResponseError extends /*#__PURE__*/Schema.TaggedError("@effect/ai/AiEr
|
|
|
344
353
|
break;
|
|
345
354
|
}
|
|
346
355
|
}
|
|
347
|
-
baseMessage += `\n\
|
|
356
|
+
baseMessage += `\n\n${suggestion}`;
|
|
357
|
+
if (Predicate.isNotUndefined(this.body)) {
|
|
358
|
+
baseMessage += `\n\nResponse Body: ${this.body}`;
|
|
359
|
+
}
|
|
348
360
|
return baseMessage;
|
|
349
361
|
}
|
|
350
362
|
}
|
package/dist/cjs/AiError.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AiError.js","names":["
|
|
1
|
+
{"version":3,"file":"AiError.js","names":["Effect","_interopRequireWildcard","require","Inspectable","Predicate","Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","isAiError","u","hasProperty","HttpRequestDetails","Struct","method","Literal","url","String","urlParams","Array","Tuple","hash","Option","headers","Record","key","value","annotations","identifier","HttpRequestError","TaggedError","module","reason","request","description","optional","cause","Defect","fromRequestError","error","params","message","methodAndUrl","baseMessage","suggestion","HttpResponseDetails","status","Number","HttpResponseError","response","body","fromResponseError","void","contentType","includes","json","text","flatMap","merge","format","methodUrlStatus","getStatusCodeSuggestion","isNotUndefined","MalformedInput","MalformedOutput","fromParseError","UnknownError","moduleMethod","isUndefined","AiError","Union","statusCode"],"sources":["../../src/AiError.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/Chat.js
CHANGED
|
@@ -3,65 +3,20 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.fromPrompt = exports.fromJson = exports.fromExport = exports.empty = exports.Chat = void 0;
|
|
6
|
+
exports.makePersisted = exports.layerPersisted = exports.fromPrompt = exports.fromJson = exports.fromExport = exports.empty = exports.Persistence = exports.ChatNotFoundError = exports.Chat = void 0;
|
|
7
|
+
var _Persistence = require("@effect/experimental/Persistence");
|
|
7
8
|
var Channel = _interopRequireWildcard(require("effect/Channel"));
|
|
8
9
|
var Context = _interopRequireWildcard(require("effect/Context"));
|
|
9
10
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
11
|
+
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
12
|
+
var Option = _interopRequireWildcard(require("effect/Option"));
|
|
10
13
|
var Ref = _interopRequireWildcard(require("effect/Ref"));
|
|
11
14
|
var Schema = _interopRequireWildcard(require("effect/Schema"));
|
|
12
15
|
var Stream = _interopRequireWildcard(require("effect/Stream"));
|
|
16
|
+
var AiError = _interopRequireWildcard(require("./AiError.js"));
|
|
13
17
|
var LanguageModel = _interopRequireWildcard(require("./LanguageModel.js"));
|
|
14
18
|
var Prompt = _interopRequireWildcard(require("./Prompt.js"));
|
|
15
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
|
-
/**
|
|
17
|
-
* The `Chat` module provides a stateful conversation interface for AI language
|
|
18
|
-
* models.
|
|
19
|
-
*
|
|
20
|
-
* This module enables persistent chat sessions that maintain conversation
|
|
21
|
-
* history, support tool calling, and offer both streaming and non-streaming
|
|
22
|
-
* text generation. It integrates seamlessly with the Effect AI ecosystem,
|
|
23
|
-
* providing type-safe conversational AI capabilities.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```ts
|
|
27
|
-
* import { Chat, LanguageModel } from "@effect/ai"
|
|
28
|
-
* import { Effect, Layer } from "effect"
|
|
29
|
-
*
|
|
30
|
-
* // Create a new chat session
|
|
31
|
-
* const program = Effect.gen(function* () {
|
|
32
|
-
* const chat = yield* Chat.empty
|
|
33
|
-
*
|
|
34
|
-
* // Send a message and get response
|
|
35
|
-
* const response = yield* chat.generateText({
|
|
36
|
-
* prompt: "Hello! What can you help me with?"
|
|
37
|
-
* })
|
|
38
|
-
*
|
|
39
|
-
* console.log(response.content)
|
|
40
|
-
*
|
|
41
|
-
* return response
|
|
42
|
-
* })
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```ts
|
|
47
|
-
* import { Chat, LanguageModel } from "@effect/ai"
|
|
48
|
-
* import { Effect, Stream } from "effect"
|
|
49
|
-
*
|
|
50
|
-
* // Streaming chat with tool support
|
|
51
|
-
* const streamingChat = Effect.gen(function* () {
|
|
52
|
-
* const chat = yield* Chat.empty
|
|
53
|
-
*
|
|
54
|
-
* yield* chat.streamText({
|
|
55
|
-
* prompt: "Generate a creative story"
|
|
56
|
-
* }).pipe(Stream.runForEach((part) =>
|
|
57
|
-
* Effect.sync(() => console.log(part))
|
|
58
|
-
* ))
|
|
59
|
-
* })
|
|
60
|
-
* ```
|
|
61
|
-
*
|
|
62
|
-
* @since 1.0.0
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
20
|
/**
|
|
66
21
|
* The `Chat` service tag for dependency injection.
|
|
67
22
|
*
|
|
@@ -87,49 +42,30 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
87
42
|
* @category Context
|
|
88
43
|
*/
|
|
89
44
|
class Chat extends /*#__PURE__*/Context.Tag("@effect/ai/Chat")() {}
|
|
45
|
+
// =============================================================================
|
|
46
|
+
// Constructors
|
|
47
|
+
// =============================================================================
|
|
90
48
|
/**
|
|
91
|
-
* Creates a new Chat service
|
|
49
|
+
* Creates a new Chat service with empty conversation history.
|
|
92
50
|
*
|
|
93
|
-
* This is the
|
|
94
|
-
*
|
|
51
|
+
* This is the most common way to start a fresh chat session without
|
|
52
|
+
* any initial context or system prompts.
|
|
95
53
|
*
|
|
96
54
|
* @example
|
|
97
55
|
* ```ts
|
|
98
|
-
* import { Chat
|
|
56
|
+
* import { Chat } from "@effect/ai"
|
|
99
57
|
* import { Effect } from "effect"
|
|
100
58
|
*
|
|
101
|
-
* const
|
|
102
|
-
* const chat = yield* Chat.
|
|
103
|
-
* role: "system",
|
|
104
|
-
* content: "You are a helpful assistant specialized in mathematics."
|
|
105
|
-
* }])
|
|
59
|
+
* const freshChat = Effect.gen(function* () {
|
|
60
|
+
* const chat = yield* Chat.empty
|
|
106
61
|
*
|
|
107
62
|
* const response = yield* chat.generateText({
|
|
108
|
-
* prompt: "
|
|
63
|
+
* prompt: "Hello! Can you introduce yourself?"
|
|
109
64
|
* })
|
|
110
65
|
*
|
|
111
|
-
*
|
|
112
|
-
* })
|
|
113
|
-
* ```
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```ts
|
|
117
|
-
* import { Chat, Prompt } from "@effect/ai"
|
|
118
|
-
* import { Effect } from "effect"
|
|
119
|
-
*
|
|
120
|
-
* // Initialize with conversation history
|
|
121
|
-
* const existingChat = Effect.gen(function* () {
|
|
122
|
-
* const chat = yield* Chat.fromPrompt([
|
|
123
|
-
* { role: "user", content: [{ type: "text", text: "What's the weather like?" }] },
|
|
124
|
-
* { role: "assistant", content: [{ type: "text", text: "I don't have access to weather data." }] },
|
|
125
|
-
* { role: "user", content: [{ type: "text", text: "Can you help me with coding?" }] }
|
|
126
|
-
* ])
|
|
127
|
-
*
|
|
128
|
-
* const response = yield* chat.generateText({
|
|
129
|
-
* prompt: "I need help with TypeScript"
|
|
130
|
-
* })
|
|
66
|
+
* console.log(response.content)
|
|
131
67
|
*
|
|
132
|
-
* return
|
|
68
|
+
* return chat
|
|
133
69
|
* })
|
|
134
70
|
* ```
|
|
135
71
|
*
|
|
@@ -137,22 +73,33 @@ class Chat extends /*#__PURE__*/Context.Tag("@effect/ai/Chat")() {}
|
|
|
137
73
|
* @category Constructors
|
|
138
74
|
*/
|
|
139
75
|
exports.Chat = Chat;
|
|
140
|
-
const
|
|
141
|
-
const
|
|
76
|
+
const empty = exports.empty = /*#__PURE__*/Effect.gen(function* () {
|
|
77
|
+
const history = yield* Ref.make(Prompt.empty);
|
|
142
78
|
const context = yield* Effect.context();
|
|
79
|
+
const semaphore = yield* Effect.makeSemaphore(1);
|
|
143
80
|
const provideContext = effect => Effect.mapInputContext(effect, input => Context.merge(context, input));
|
|
144
81
|
const provideContextStream = stream => Stream.mapInputContext(stream, input => Context.merge(context, input));
|
|
145
|
-
const
|
|
146
|
-
const
|
|
82
|
+
const encodeHistory = Schema.encode(Prompt.Prompt);
|
|
83
|
+
const encodeHistoryJson = Schema.encode(Prompt.FromJson);
|
|
147
84
|
return Chat.of({
|
|
148
85
|
history,
|
|
149
|
-
export: Ref.get(history).pipe(Effect.flatMap(
|
|
150
|
-
|
|
86
|
+
export: Ref.get(history).pipe(Effect.flatMap(encodeHistory), Effect.catchTag("ParseError", error => AiError.MalformedOutput.fromParseError({
|
|
87
|
+
module: "Chat",
|
|
88
|
+
method: "exportJson",
|
|
89
|
+
description: "Failed to encode chat history",
|
|
90
|
+
error
|
|
91
|
+
})), Effect.withSpan("Chat.export")),
|
|
92
|
+
exportJson: Ref.get(history).pipe(Effect.flatMap(encodeHistoryJson), Effect.catchTag("ParseError", error => AiError.MalformedOutput.fromParseError({
|
|
93
|
+
module: "Chat",
|
|
94
|
+
method: "exportJson",
|
|
95
|
+
description: "Failed to encode chat history into JSON",
|
|
96
|
+
error
|
|
97
|
+
})), Effect.withSpan("Chat.exportJson")),
|
|
151
98
|
generateText: Effect.fnUntraced(function* (options) {
|
|
152
99
|
const newPrompt = Prompt.make(options.prompt);
|
|
153
100
|
const oldPrompt = yield* Ref.get(history);
|
|
154
101
|
const prompt = Prompt.merge(oldPrompt, newPrompt);
|
|
155
|
-
const response = yield*
|
|
102
|
+
const response = yield* LanguageModel.generateText({
|
|
156
103
|
...options,
|
|
157
104
|
prompt
|
|
158
105
|
});
|
|
@@ -164,7 +111,7 @@ const fromPrompt = exports.fromPrompt = /*#__PURE__*/Effect.fnUntraced(function*
|
|
|
164
111
|
})),
|
|
165
112
|
streamText: Effect.fnUntraced(function* (options) {
|
|
166
113
|
let combined = Prompt.empty;
|
|
167
|
-
return Stream.fromChannel(Channel.acquireUseRelease(semaphore.take(1).pipe(Effect.zipRight(Ref.get(history)), Effect.map(history => Prompt.merge(history, Prompt.make(options.prompt)))), prompt =>
|
|
114
|
+
return Stream.fromChannel(Channel.acquireUseRelease(semaphore.take(1).pipe(Effect.zipRight(Ref.get(history)), Effect.map(history => Prompt.merge(history, Prompt.make(options.prompt)))), prompt => LanguageModel.streamText({
|
|
168
115
|
...options,
|
|
169
116
|
prompt
|
|
170
117
|
}).pipe(Stream.mapChunksEffect(Effect.fnUntraced(function* (chunk) {
|
|
@@ -179,7 +126,7 @@ const fromPrompt = exports.fromPrompt = /*#__PURE__*/Effect.fnUntraced(function*
|
|
|
179
126
|
const newPrompt = Prompt.make(options.prompt);
|
|
180
127
|
const oldPrompt = yield* Ref.get(history);
|
|
181
128
|
const prompt = Prompt.merge(oldPrompt, newPrompt);
|
|
182
|
-
const response = yield*
|
|
129
|
+
const response = yield* LanguageModel.generateObject({
|
|
183
130
|
...options,
|
|
184
131
|
prompt
|
|
185
132
|
});
|
|
@@ -195,33 +142,59 @@ const fromPrompt = exports.fromPrompt = /*#__PURE__*/Effect.fnUntraced(function*
|
|
|
195
142
|
});
|
|
196
143
|
});
|
|
197
144
|
/**
|
|
198
|
-
* Creates a new Chat service
|
|
145
|
+
* Creates a new Chat service from an initial prompt.
|
|
199
146
|
*
|
|
200
|
-
* This is the
|
|
201
|
-
*
|
|
147
|
+
* This is the primary constructor for creating chat instances. It initializes
|
|
148
|
+
* a new conversation with the provided prompt as the starting context.
|
|
202
149
|
*
|
|
203
150
|
* @example
|
|
204
151
|
* ```ts
|
|
205
|
-
* import { Chat } from "@effect/ai"
|
|
152
|
+
* import { Chat, Prompt } from "@effect/ai"
|
|
206
153
|
* import { Effect } from "effect"
|
|
207
154
|
*
|
|
208
|
-
* const
|
|
209
|
-
* const chat = yield* Chat.
|
|
155
|
+
* const chatWithSystemPrompt = Effect.gen(function* () {
|
|
156
|
+
* const chat = yield* Chat.fromPrompt([{
|
|
157
|
+
* role: "system",
|
|
158
|
+
* content: "You are a helpful assistant specialized in mathematics."
|
|
159
|
+
* }])
|
|
210
160
|
*
|
|
211
161
|
* const response = yield* chat.generateText({
|
|
212
|
-
* prompt: "
|
|
162
|
+
* prompt: "What is 2+2?"
|
|
213
163
|
* })
|
|
214
164
|
*
|
|
215
|
-
*
|
|
165
|
+
* return response.content
|
|
166
|
+
* })
|
|
167
|
+
* ```
|
|
216
168
|
*
|
|
217
|
-
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```ts
|
|
171
|
+
* import { Chat, Prompt } from "@effect/ai"
|
|
172
|
+
* import { Effect } from "effect"
|
|
173
|
+
*
|
|
174
|
+
* // Initialize with conversation history
|
|
175
|
+
* const existingChat = Effect.gen(function* () {
|
|
176
|
+
* const chat = yield* Chat.fromPrompt([
|
|
177
|
+
* { role: "user", content: [{ type: "text", text: "What's the weather like?" }] },
|
|
178
|
+
* { role: "assistant", content: [{ type: "text", text: "I don't have access to weather data." }] },
|
|
179
|
+
* { role: "user", content: [{ type: "text", text: "Can you help me with coding?" }] }
|
|
180
|
+
* ])
|
|
181
|
+
*
|
|
182
|
+
* const response = yield* chat.generateText({
|
|
183
|
+
* prompt: "I need help with TypeScript"
|
|
184
|
+
* })
|
|
185
|
+
*
|
|
186
|
+
* return response
|
|
218
187
|
* })
|
|
219
188
|
* ```
|
|
220
189
|
*
|
|
221
190
|
* @since 1.0.0
|
|
222
191
|
* @category Constructors
|
|
223
192
|
*/
|
|
224
|
-
const
|
|
193
|
+
const fromPrompt = exports.fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (prompt) {
|
|
194
|
+
const chat = yield* empty;
|
|
195
|
+
yield* Ref.set(chat.history, Prompt.make(prompt));
|
|
196
|
+
return chat;
|
|
197
|
+
});
|
|
225
198
|
const decodeUnknown = /*#__PURE__*/Schema.decodeUnknown(Prompt.Prompt);
|
|
226
199
|
/**
|
|
227
200
|
* Creates a Chat service from previously exported chat data.
|
|
@@ -260,7 +233,7 @@ const decodeUnknown = /*#__PURE__*/Schema.decodeUnknown(Prompt.Prompt);
|
|
|
260
233
|
*/
|
|
261
234
|
const fromExport = data => Effect.flatMap(decodeUnknown(data), fromPrompt);
|
|
262
235
|
exports.fromExport = fromExport;
|
|
263
|
-
const
|
|
236
|
+
const decodeHistoryJson = /*#__PURE__*/Schema.decodeUnknown(Prompt.FromJson);
|
|
264
237
|
/**
|
|
265
238
|
* Creates a Chat service from previously exported JSON chat data.
|
|
266
239
|
*
|
|
@@ -297,6 +270,107 @@ const decodeJson = /*#__PURE__*/Schema.decode(Prompt.FromJson);
|
|
|
297
270
|
* @since 1.0.0
|
|
298
271
|
* @category Constructors
|
|
299
272
|
*/
|
|
300
|
-
const fromJson = data => Effect.flatMap(
|
|
273
|
+
const fromJson = data => Effect.flatMap(decodeHistoryJson(data), fromPrompt);
|
|
274
|
+
// =============================================================================
|
|
275
|
+
// Chat Persistence
|
|
276
|
+
// =============================================================================
|
|
277
|
+
/**
|
|
278
|
+
* An error that occurs when attempting to retrieve a persisted `Chat` that
|
|
279
|
+
* does not exist in the backing persistence store.
|
|
280
|
+
*
|
|
281
|
+
* @since 1.0.0
|
|
282
|
+
* @category Errors
|
|
283
|
+
*/
|
|
301
284
|
exports.fromJson = fromJson;
|
|
285
|
+
class ChatNotFoundError extends /*#__PURE__*/Schema.TaggedError("@effect/ai/Chat/ChatNotFoundError")("ChatNotFoundError", {
|
|
286
|
+
chatId: Schema.String
|
|
287
|
+
}) {}
|
|
288
|
+
// @effect-diagnostics effect/leakingRequirements:off
|
|
289
|
+
/**
|
|
290
|
+
* The context tag for chat persistence.
|
|
291
|
+
*
|
|
292
|
+
* @since 1.0.0
|
|
293
|
+
* @category Context
|
|
294
|
+
*/
|
|
295
|
+
exports.ChatNotFoundError = ChatNotFoundError;
|
|
296
|
+
class Persistence extends /*#__PURE__*/Context.Tag("@effect/ai/Chat/Persisted")() {}
|
|
297
|
+
/**
|
|
298
|
+
* Creates a new chat persistence service.
|
|
299
|
+
*
|
|
300
|
+
* The provided store identifier will be used to indicate which "store" the
|
|
301
|
+
* backing persistence should load chats from.
|
|
302
|
+
*
|
|
303
|
+
* @since 1.0.0
|
|
304
|
+
* @category Constructors
|
|
305
|
+
*/
|
|
306
|
+
exports.Persistence = Persistence;
|
|
307
|
+
const makePersisted = exports.makePersisted = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
308
|
+
const persistence = yield* _Persistence.BackingPersistence;
|
|
309
|
+
const store = yield* persistence.make(options.storeId);
|
|
310
|
+
const toPersisted = (chatId, chat) => {
|
|
311
|
+
const persistChat = chat.exportJson.pipe(Effect.flatMap(history => store.set(chatId, history, Option.none())), Effect.orDie);
|
|
312
|
+
return {
|
|
313
|
+
...chat,
|
|
314
|
+
id: chatId,
|
|
315
|
+
generateText: options => chat.generateText(options).pipe(Effect.ensuring(persistChat)),
|
|
316
|
+
generateObject: options => chat.generateObject(options).pipe(Effect.ensuring(persistChat)),
|
|
317
|
+
streamText: options => chat.streamText(options).pipe(Stream.ensuring(persistChat))
|
|
318
|
+
};
|
|
319
|
+
};
|
|
320
|
+
const createChat = Effect.fnUntraced(function* (chatId) {
|
|
321
|
+
// Create an empty chat
|
|
322
|
+
const chat = yield* empty;
|
|
323
|
+
// Save the history for the newly created chat
|
|
324
|
+
const history = yield* chat.exportJson;
|
|
325
|
+
yield* store.set(chatId, history, Option.none());
|
|
326
|
+
// Convert the chat to a persisted chat
|
|
327
|
+
return toPersisted(chatId, chat);
|
|
328
|
+
}, Effect.catchTag("PersistenceError", error => {
|
|
329
|
+
// Should never happen because we are using the backing persistence
|
|
330
|
+
// store directly, and parse errors can only occur when using result
|
|
331
|
+
// persistence
|
|
332
|
+
if (error.reason === "ParseError") return Effect.die(error);
|
|
333
|
+
return Effect.fail(error);
|
|
334
|
+
}));
|
|
335
|
+
const getChat = Effect.fnUntraced(function* (chatId) {
|
|
336
|
+
// Create an empty chat
|
|
337
|
+
const chat = yield* empty;
|
|
338
|
+
// Hydrate the chat history
|
|
339
|
+
yield* store.get(chatId).pipe(Effect.flatMap(Effect.transposeMapOption(decodeHistoryJson)), Effect.flatten, Effect.catchTag("NoSuchElementException", () => new ChatNotFoundError({
|
|
340
|
+
chatId
|
|
341
|
+
})), Effect.flatMap(history => Ref.set(chat.history, history)));
|
|
342
|
+
// Convert the chat to a persisted chat
|
|
343
|
+
return toPersisted(chatId, chat);
|
|
344
|
+
}, Effect.catchTags({
|
|
345
|
+
ParseError: error => Effect.die(error),
|
|
346
|
+
PersistenceError: error => {
|
|
347
|
+
// Should never happen because we are using the backing persistence
|
|
348
|
+
// store directly, and parse errors can only occur when using result
|
|
349
|
+
// persistence
|
|
350
|
+
if (error.reason === "ParseError") return Effect.die(error);
|
|
351
|
+
return Effect.fail(error);
|
|
352
|
+
}
|
|
353
|
+
}));
|
|
354
|
+
const get = Effect.fn("PersistedChat.get")(function* (chatId) {
|
|
355
|
+
return yield* getChat(chatId);
|
|
356
|
+
});
|
|
357
|
+
const getOrCreate = Effect.fn("PersistedChat.getOrCreate")(function* (chatId) {
|
|
358
|
+
return yield* getChat(chatId).pipe(Effect.catchTag("ChatNotFoundError", () => createChat(chatId)));
|
|
359
|
+
});
|
|
360
|
+
return Persistence.of({
|
|
361
|
+
get,
|
|
362
|
+
getOrCreate
|
|
363
|
+
});
|
|
364
|
+
});
|
|
365
|
+
/**
|
|
366
|
+
* Creates a `Layer` new chat persistence service.
|
|
367
|
+
*
|
|
368
|
+
* The provided store identifier will be used to indicate which "store" the
|
|
369
|
+
* backing persistence should load chats from.
|
|
370
|
+
*
|
|
371
|
+
* @since 1.0.0
|
|
372
|
+
* @category Constructors
|
|
373
|
+
*/
|
|
374
|
+
const layerPersisted = options => Layer.scoped(Persistence, makePersisted(options));
|
|
375
|
+
exports.layerPersisted = layerPersisted;
|
|
302
376
|
//# sourceMappingURL=Chat.js.map
|
package/dist/cjs/Chat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","names":["Channel","_interopRequireWildcard","require","Context","Effect","Ref","Schema","Stream","LanguageModel","Prompt","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Chat","Tag","exports","fromPrompt","fnUntraced","prompt","languageModel","context","provideContext","effect","mapInputContext","input","merge","provideContextStream","stream","history","make","semaphore","makeSemaphore","of","export","pipe","flatMap","encode","withSpan","orDie","exportJson","FromJson","generateText","options","newPrompt","oldPrompt","response","newHistory","fromResponseParts","content","withPermits","captureStackTrace","streamText","combined","empty","fromChannel","acquireUseRelease","take","zipRight","map","mapChunksEffect","chunk","parts","Array","from","toChannel","release","unwrap","generateObject","attributes","objectName","schema","_tag","identifier","decodeUnknown","fromExport","data","decodeJson","decode","fromJson"],"sources":["../../src/Chat.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Chat.js","names":["_Persistence","require","Channel","_interopRequireWildcard","Context","Effect","Layer","Option","Ref","Schema","Stream","AiError","LanguageModel","Prompt","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Chat","Tag","exports","empty","gen","history","make","context","semaphore","makeSemaphore","provideContext","effect","mapInputContext","input","merge","provideContextStream","stream","encodeHistory","encode","encodeHistoryJson","FromJson","of","export","pipe","flatMap","catchTag","error","MalformedOutput","fromParseError","module","method","description","withSpan","exportJson","generateText","fnUntraced","options","newPrompt","prompt","oldPrompt","response","newHistory","fromResponseParts","content","withPermits","captureStackTrace","streamText","combined","fromChannel","acquireUseRelease","take","zipRight","map","mapChunksEffect","chunk","parts","Array","from","toChannel","release","unwrap","generateObject","attributes","objectName","schema","_tag","identifier","fromPrompt","chat","decodeUnknown","fromExport","data","decodeHistoryJson","fromJson","ChatNotFoundError","TaggedError","chatId","String","Persistence","makePersisted","persistence","BackingPersistence","store","storeId","toPersisted","persistChat","none","orDie","id","ensuring","createChat","reason","die","fail","getChat","transposeMapOption","flatten","catchTags","ParseError","PersistenceError","fn","getOrCreate","layerPersisted","scoped"],"sources":["../../src/Chat.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|