@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.
@@ -1 +1 @@
1
- {"version":3,"file":"AiError.js","names":["Predicate","Schema","TypeId","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","fromResponseError","methodUrlStatus","getStatusCodeSuggestion","MalformedInput","MalformedOutput","fromParseError","UnknownError","moduleMethod","isUndefined","AiError","Union","statusCode"],"sources":["../../src/AiError.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AiError.js","names":["Effect","Inspectable","Predicate","Schema","TypeId","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":"AAwEA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AAEjD,OAAO,KAAKC,SAAS,MAAM,kBAAkB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC;;;;;;AAMA,OAAO,MAAMC,MAAM,GAAG,qBAAqB;AAU3C;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,MAAMC,SAAS,GAAIC,CAAU,IAAmBJ,SAAS,CAACK,WAAW,CAACD,CAAC,EAAEF,MAAM,CAAC;AAEvF;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,MAAMI,kBAAkB,gBAAGL,MAAM,CAACM,MAAM,CAAC;EAC9CC,MAAM,EAAEP,MAAM,CAACQ,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;EAClFC,GAAG,EAAET,MAAM,CAACU,MAAM;EAClBC,SAAS,EAAEX,MAAM,CAACY,KAAK,CAACZ,MAAM,CAACa,KAAK,CAACb,MAAM,CAACU,MAAM,EAAEV,MAAM,CAACU,MAAM,CAAC,CAAC;EACnEI,IAAI,EAAEd,MAAM,CAACe,MAAM,CAACf,MAAM,CAACU,MAAM,CAAC;EAClCM,OAAO,EAAEhB,MAAM,CAACiB,MAAM,CAAC;IAAEC,GAAG,EAAElB,MAAM,CAACU,MAAM;IAAES,KAAK,EAAEnB,MAAM,CAACU;EAAM,CAAE;CACpE,CAAC,CAACU,WAAW,CAAC;EAAEC,UAAU,EAAE;AAAoB,CAAE,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,OAAM,MAAOC,gBAAiB,sBAAQtB,MAAM,CAACuB,WAAW,CACtD,qCAAqC,CACtC,CAAC,kBAAkB,EAAE;EACpBC,MAAM,EAAExB,MAAM,CAACU,MAAM;EACrBH,MAAM,EAAEP,MAAM,CAACU,MAAM;EACrBe,MAAM,eAAEzB,MAAM,CAACQ,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC;EAC3DkB,OAAO,EAAErB,kBAAkB;EAC3BsB,WAAW,eAAE3B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAACU,MAAM,CAAC;EAC3CmB,KAAK,eAAE7B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAAC8B,MAAM;CACrC,CAAC;EACA;;;EAGS,CAAC7B,MAAM,IAAYA,MAAM;EAElC;;;;;;;;;;;;;;;;;;;;;EAqBA,OAAO8B,gBAAgBA,CAAC;IAAEC,KAAK;IAAE,GAAGC;EAAM,CAIzC;IACC,OAAO,IAAIX,gBAAgB,CAAC;MAC1B,GAAGW,MAAM;MACTJ,KAAK,EAAEG,KAAK;MACZL,WAAW,EAAEK,KAAK,CAACL,WAAW;MAC9BF,MAAM,EAAEO,KAAK,CAACP,MAAM;MACpBC,OAAO,EAAE;QACPZ,IAAI,EAAEkB,KAAK,CAACN,OAAO,CAACZ,IAAI;QACxBE,OAAO,EAAEgB,KAAK,CAACN,OAAO,CAACV,OAAO;QAC9BT,MAAM,EAAEyB,KAAK,CAACN,OAAO,CAACnB,MAAM;QAC5BE,GAAG,EAAEuB,KAAK,CAACN,OAAO,CAACjB,GAAG;QACtBE,SAAS,EAAEqB,KAAK,CAACN,OAAO,CAACf;;KAE5B,CAAC;EACJ;EAEA,IAAIuB,OAAOA,CAAA;IACT,MAAMC,YAAY,GAAG,GAAG,IAAI,CAACT,OAAO,CAACnB,MAAM,IAAI,IAAI,CAACmB,OAAO,CAACjB,GAAG,EAAE;IAEjE,IAAI2B,WAAW,GAAG,IAAI,CAACT,WAAW,GAC9B,GAAG,IAAI,CAACF,MAAM,KAAK,IAAI,CAACE,WAAW,EAAE,GACrC,GAAG,IAAI,CAACF,MAAM,mCAAmC;IAErDW,WAAW,IAAI,KAAKD,YAAY,GAAG;IAEnC,IAAIE,UAAU,GAAG,EAAE;IACnB,QAAQ,IAAI,CAACZ,MAAM;MACjB,KAAK,QAAQ;QAAE;UACbY,UAAU,IAAI,+FAA+F;UAC7G;QACF;MAEA,KAAK,YAAY;QAAE;UACjBA,UAAU,IAAI,4FAA4F;UAC1GA,UAAU,IAAI,2DAA2D;UACzE;QACF;MAEA,KAAK,WAAW;QAAE;UAChBA,UAAU,IAAI,gFAAgF;UAC9F;QACF;IACF;IAEAD,WAAW,IAAI,mBAAmBC,UAAU,EAAE;IAE9C,OAAOD,WAAW;EACpB;;AAGF;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,MAAME,mBAAmB,gBAAGtC,MAAM,CAACM,MAAM,CAAC;EAC/CiC,MAAM,EAAEvC,MAAM,CAACwC,MAAM;EACrBxB,OAAO,EAAEhB,MAAM,CAACiB,MAAM,CAAC;IAAEC,GAAG,EAAElB,MAAM,CAACU,MAAM;IAAES,KAAK,EAAEnB,MAAM,CAACU;EAAM,CAAE;CACpE,CAAC,CAACU,WAAW,CAAC;EAAEC,UAAU,EAAE;AAAqB,CAAE,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,OAAM,MAAOoB,iBAAkB,sBAAQzC,MAAM,CAACuB,WAAW,CACvD,sCAAsC,CACvC,CAAC,mBAAmB,EAAE;EACrBC,MAAM,EAAExB,MAAM,CAACU,MAAM;EACrBH,MAAM,EAAEP,MAAM,CAACU,MAAM;EACrBgB,OAAO,EAAErB,kBAAkB;EAC3BqC,QAAQ,EAAEJ,mBAAmB;EAC7BK,IAAI,eAAE3C,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAACU,MAAM,CAAC;EACpCe,MAAM,eAAEzB,MAAM,CAACQ,OAAO,CAAC,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC;EAC3DmB,WAAW,eAAE3B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAACU,MAAM;CAC3C,CAAC;EACA;;;EAGS,CAACT,MAAM,IAAYA,MAAM;EAElC;;;;;;;;;;;;;;;;;;;;;EAqBA,OAAO2C,iBAAiBA,CAAC;IAAEZ,KAAK;IAAE,GAAGC;EAAM,CAI1C;IACC,IAAIU,IAAI,GAA0D9C,MAAM,CAACgD,IAAI;IAC7E,MAAMC,WAAW,GAAGd,KAAK,CAACU,QAAQ,CAAC1B,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;IAChE,IAAI8B,WAAW,CAACC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAC5CJ,IAAI,GAAGX,KAAK,CAACU,QAAQ,CAACM,IAAI;IAC5B,CAAC,MAAM,IAAIF,WAAW,CAACC,QAAQ,CAAC,OAAO,CAAC,IAAID,WAAW,CAACC,QAAQ,CAAC,YAAY,CAAC,EAAE;MAC9EJ,IAAI,GAAGX,KAAK,CAACU,QAAQ,CAACO,IAAI;IAC5B;IACA,OAAOpD,MAAM,CAACqD,OAAO,CAACrD,MAAM,CAACsD,KAAK,CAACR,IAAI,CAAC,EAAGA,IAAI,IAC7C,IAAIF,iBAAiB,CAAC;MACpB,GAAGR,MAAM;MACTN,WAAW,EAAEK,KAAK,CAACL,WAAW;MAC9BF,MAAM,EAAEO,KAAK,CAACP,MAAM;MACpBC,OAAO,EAAE;QACPZ,IAAI,EAAEkB,KAAK,CAACN,OAAO,CAACZ,IAAI;QACxBE,OAAO,EAAEgB,KAAK,CAACN,OAAO,CAACV,OAAO;QAC9BT,MAAM,EAAEyB,KAAK,CAACN,OAAO,CAACnB,MAAM;QAC5BE,GAAG,EAAEuB,KAAK,CAACN,OAAO,CAACjB,GAAG;QACtBE,SAAS,EAAEqB,KAAK,CAACN,OAAO,CAACf;OAC1B;MACD+B,QAAQ,EAAE;QACR1B,OAAO,EAAEgB,KAAK,CAACU,QAAQ,CAAC1B,OAAO;QAC/BuB,MAAM,EAAEP,KAAK,CAACU,QAAQ,CAACH;OACxB;MACDI,IAAI,EAAE7C,WAAW,CAACsD,MAAM,CAACT,IAAI;KAC9B,CAAC,CAAC;EACP;EAEA,IAAIT,OAAOA,CAAA;IACT,MAAMmB,eAAe,GAAG,GAAG,IAAI,CAACX,QAAQ,CAACH,MAAM,IAAI,IAAI,CAACb,OAAO,CAACnB,MAAM,IAAI,IAAI,CAACmB,OAAO,CAACjB,GAAG,EAAE;IAE5F,IAAI2B,WAAW,GAAG,IAAI,CAACT,WAAW,GAC9B,GAAG,IAAI,CAACF,MAAM,KAAK,IAAI,CAACE,WAAW,EAAE,GACrC,GAAG,IAAI,CAACF,MAAM,oCAAoC;IAEtDW,WAAW,IAAI,KAAKiB,eAAe,GAAG;IAEtC,IAAIhB,UAAU,GAAG,EAAE;IACnB,QAAQ,IAAI,CAACZ,MAAM;MACjB,KAAK,QAAQ;QAAE;UACbY,UAAU,IAAI,uDAAuD,GACnE,iEAAiE,GACjE,oDAAoD;UACtD;QACF;MACA,KAAK,WAAW;QAAE;UAChBA,UAAU,IAAI,0DAA0D,GACtE,oFAAoF;UACtF;QACF;MACA,KAAK,YAAY;QAAE;UACjBA,UAAU,IAAIiB,uBAAuB,CAAC,IAAI,CAACZ,QAAQ,CAACH,MAAM,CAAC;UAC3D;QACF;IACF;IAEAH,WAAW,IAAI,OAAOC,UAAU,EAAE;IAElC,IAAItC,SAAS,CAACwD,cAAc,CAAC,IAAI,CAACZ,IAAI,CAAC,EAAE;MACvCP,WAAW,IAAI,sBAAsB,IAAI,CAACO,IAAI,EAAE;IAClD;IAEA,OAAOP,WAAW;EACpB;;AAGF;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,OAAM,MAAOoB,cAAe,sBAAQxD,MAAM,CAACuB,WAAW,CACpD,mCAAmC,CACpC,CAAC,gBAAgB,EAAE;EAClBC,MAAM,EAAExB,MAAM,CAACU,MAAM;EACrBH,MAAM,EAAEP,MAAM,CAACU,MAAM;EACrBiB,WAAW,eAAE3B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAACU,MAAM,CAAC;EAC3CmB,KAAK,eAAE7B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAAC8B,MAAM;CACrC,CAAC;EACA;;;EAGS,CAAC7B,MAAM,IAAYA,MAAM;;AAGpC;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,OAAM,MAAOwD,eAAgB,sBAAQzD,MAAM,CAACuB,WAAW,CACrD,oCAAoC,CACrC,CAAC,iBAAiB,EAAE;EACnBC,MAAM,EAAExB,MAAM,CAACU,MAAM;EACrBH,MAAM,EAAEP,MAAM,CAACU,MAAM;EACrBiB,WAAW,eAAE3B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAACU,MAAM,CAAC;EAC3CmB,KAAK,eAAE7B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAAC8B,MAAM;CACrC,CAAC;EACA;;;EAGS,CAAC7B,MAAM,IAAYA,MAAM;EAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BA,OAAOyD,cAAcA,CAAC;IAAE1B,KAAK;IAAE,GAAGC;EAAM,CAKvC;IACC;IACA,OAAO,IAAIwB,eAAe,CAAC;MACzB,GAAGxB,MAAM;MACTJ,KAAK,EAAEG;KACR,CAAC;EACJ;;AAGF;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,OAAM,MAAO2B,YAAa,sBAAQ3D,MAAM,CAACuB,WAAW,CAClD,yBAAyB,CAC1B,CAAC,cAAc,EAAE;EAChBC,MAAM,EAAExB,MAAM,CAACU,MAAM;EACrBH,MAAM,EAAEP,MAAM,CAACU,MAAM;EACrBiB,WAAW,eAAE3B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAACU,MAAM,CAAC;EAC3CmB,KAAK,eAAE7B,MAAM,CAAC4B,QAAQ,CAAC5B,MAAM,CAAC8B,MAAM;CACrC,CAAC;EACA;;;EAGS,CAAC7B,MAAM,IAAYA,MAAM;EAElC;;;EAGA,IAAIiC,OAAOA,CAAA;IACT,MAAM0B,YAAY,GAAG,GAAG,IAAI,CAACpC,MAAM,IAAI,IAAI,CAACjB,MAAM,EAAE;IACpD,OAAOR,SAAS,CAAC8D,WAAW,CAAC,IAAI,CAAClC,WAAW,CAAC,GAC1C,GAAGiC,YAAY,qBAAqB,GACpC,GAAGA,YAAY,KAAK,IAAI,CAACjC,WAAW,EAAE;EAC5C;;AA+CF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,OAAO,MAAMmC,OAAO,gBAMf9D,MAAM,CAAC+D,KAAK,CACfzC,gBAAgB,EAChBmB,iBAAiB,EACjBe,cAAc,EACdC,eAAe,EACfE,YAAY,CACb;AAED;AACA;AACA;AAEA,MAAML,uBAAuB,GAAIU,UAAkB,IAAY;EAC7D,IAAIA,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,EAAE;IACzC,QAAQA,UAAU;MAChB,KAAK,GAAG;QACN,OAAO,6FAA6F;MACtG,KAAK,GAAG;QACN,OAAO,iFAAiF;MAC1F,KAAK,GAAG;QACN,OAAO,6EAA6E;MACtF,KAAK,GAAG;QACN,OAAO,6EAA6E;MACtF,KAAK,GAAG;QACN,OAAO,qFAAqF;MAC9F,KAAK,GAAG;QACN,OAAO,0FAA0F;MACnG,KAAK,GAAG;QACN,OAAO,2EAA2E;MACpF;QACE,OAAO,0EAA0E;IACrF;EACF,CAAC,MAAM,IAAIA,UAAU,IAAI,GAAG,EAAE;IAC5B,OAAO,0FAA0F;EACnG,CAAC,MAAM;IACL,OAAO,+CAA+C;EACxD;AACF,CAAC","ignoreList":[]}
package/dist/esm/Chat.js CHANGED
@@ -1,57 +1,13 @@
1
- /**
2
- * The `Chat` module provides a stateful conversation interface for AI language
3
- * models.
4
- *
5
- * This module enables persistent chat sessions that maintain conversation
6
- * history, support tool calling, and offer both streaming and non-streaming
7
- * text generation. It integrates seamlessly with the Effect AI ecosystem,
8
- * providing type-safe conversational AI capabilities.
9
- *
10
- * @example
11
- * ```ts
12
- * import { Chat, LanguageModel } from "@effect/ai"
13
- * import { Effect, Layer } from "effect"
14
- *
15
- * // Create a new chat session
16
- * const program = Effect.gen(function* () {
17
- * const chat = yield* Chat.empty
18
- *
19
- * // Send a message and get response
20
- * const response = yield* chat.generateText({
21
- * prompt: "Hello! What can you help me with?"
22
- * })
23
- *
24
- * console.log(response.content)
25
- *
26
- * return response
27
- * })
28
- * ```
29
- *
30
- * @example
31
- * ```ts
32
- * import { Chat, LanguageModel } from "@effect/ai"
33
- * import { Effect, Stream } from "effect"
34
- *
35
- * // Streaming chat with tool support
36
- * const streamingChat = Effect.gen(function* () {
37
- * const chat = yield* Chat.empty
38
- *
39
- * yield* chat.streamText({
40
- * prompt: "Generate a creative story"
41
- * }).pipe(Stream.runForEach((part) =>
42
- * Effect.sync(() => console.log(part))
43
- * ))
44
- * })
45
- * ```
46
- *
47
- * @since 1.0.0
48
- */
1
+ import { BackingPersistence } from "@effect/experimental/Persistence";
49
2
  import * as Channel from "effect/Channel";
50
3
  import * as Context from "effect/Context";
51
4
  import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Option from "effect/Option";
52
7
  import * as Ref from "effect/Ref";
53
8
  import * as Schema from "effect/Schema";
54
9
  import * as Stream from "effect/Stream";
10
+ import * as AiError from "./AiError.js";
55
11
  import * as LanguageModel from "./LanguageModel.js";
56
12
  import * as Prompt from "./Prompt.js";
57
13
  /**
@@ -79,71 +35,63 @@ import * as Prompt from "./Prompt.js";
79
35
  * @category Context
80
36
  */
81
37
  export class Chat extends /*#__PURE__*/Context.Tag("@effect/ai/Chat")() {}
38
+ // =============================================================================
39
+ // Constructors
40
+ // =============================================================================
82
41
  /**
83
- * Creates a new Chat service from an initial prompt.
42
+ * Creates a new Chat service with empty conversation history.
84
43
  *
85
- * This is the primary constructor for creating chat instances. It initializes
86
- * a new conversation with the provided prompt as the starting context.
44
+ * This is the most common way to start a fresh chat session without
45
+ * any initial context or system prompts.
87
46
  *
88
47
  * @example
89
48
  * ```ts
90
- * import { Chat, Prompt } from "@effect/ai"
49
+ * import { Chat } from "@effect/ai"
91
50
  * import { Effect } from "effect"
92
51
  *
93
- * const chatWithSystemPrompt = Effect.gen(function* () {
94
- * const chat = yield* Chat.fromPrompt([{
95
- * role: "system",
96
- * content: "You are a helpful assistant specialized in mathematics."
97
- * }])
52
+ * const freshChat = Effect.gen(function* () {
53
+ * const chat = yield* Chat.empty
98
54
  *
99
55
  * const response = yield* chat.generateText({
100
- * prompt: "What is 2+2?"
56
+ * prompt: "Hello! Can you introduce yourself?"
101
57
  * })
102
58
  *
103
- * return response.content
104
- * })
105
- * ```
106
- *
107
- * @example
108
- * ```ts
109
- * import { Chat, Prompt } from "@effect/ai"
110
- * import { Effect } from "effect"
111
- *
112
- * // Initialize with conversation history
113
- * const existingChat = Effect.gen(function* () {
114
- * const chat = yield* Chat.fromPrompt([
115
- * { role: "user", content: [{ type: "text", text: "What's the weather like?" }] },
116
- * { role: "assistant", content: [{ type: "text", text: "I don't have access to weather data." }] },
117
- * { role: "user", content: [{ type: "text", text: "Can you help me with coding?" }] }
118
- * ])
119
- *
120
- * const response = yield* chat.generateText({
121
- * prompt: "I need help with TypeScript"
122
- * })
59
+ * console.log(response.content)
123
60
  *
124
- * return response
61
+ * return chat
125
62
  * })
126
63
  * ```
127
64
  *
128
65
  * @since 1.0.0
129
66
  * @category Constructors
130
67
  */
131
- export const fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (prompt) {
132
- const languageModel = yield* LanguageModel.LanguageModel;
68
+ export const empty = /*#__PURE__*/Effect.gen(function* () {
69
+ const history = yield* Ref.make(Prompt.empty);
133
70
  const context = yield* Effect.context();
71
+ const semaphore = yield* Effect.makeSemaphore(1);
134
72
  const provideContext = effect => Effect.mapInputContext(effect, input => Context.merge(context, input));
135
73
  const provideContextStream = stream => Stream.mapInputContext(stream, input => Context.merge(context, input));
136
- const history = yield* Ref.make(Prompt.make(prompt));
137
- const semaphore = yield* Effect.makeSemaphore(1);
74
+ const encodeHistory = Schema.encode(Prompt.Prompt);
75
+ const encodeHistoryJson = Schema.encode(Prompt.FromJson);
138
76
  return Chat.of({
139
77
  history,
140
- export: Ref.get(history).pipe(Effect.flatMap(Schema.encode(Prompt.Prompt)), Effect.withSpan("Chat.export"), Effect.orDie),
141
- exportJson: Ref.get(history).pipe(Effect.flatMap(Schema.encode(Prompt.FromJson)), Effect.withSpan("Chat.exportJson"), Effect.orDie),
78
+ export: Ref.get(history).pipe(Effect.flatMap(encodeHistory), Effect.catchTag("ParseError", error => AiError.MalformedOutput.fromParseError({
79
+ module: "Chat",
80
+ method: "exportJson",
81
+ description: "Failed to encode chat history",
82
+ error
83
+ })), Effect.withSpan("Chat.export")),
84
+ exportJson: Ref.get(history).pipe(Effect.flatMap(encodeHistoryJson), Effect.catchTag("ParseError", error => AiError.MalformedOutput.fromParseError({
85
+ module: "Chat",
86
+ method: "exportJson",
87
+ description: "Failed to encode chat history into JSON",
88
+ error
89
+ })), Effect.withSpan("Chat.exportJson")),
142
90
  generateText: Effect.fnUntraced(function* (options) {
143
91
  const newPrompt = Prompt.make(options.prompt);
144
92
  const oldPrompt = yield* Ref.get(history);
145
93
  const prompt = Prompt.merge(oldPrompt, newPrompt);
146
- const response = yield* languageModel.generateText({
94
+ const response = yield* LanguageModel.generateText({
147
95
  ...options,
148
96
  prompt
149
97
  });
@@ -155,7 +103,7 @@ export const fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (prompt) {
155
103
  })),
156
104
  streamText: Effect.fnUntraced(function* (options) {
157
105
  let combined = Prompt.empty;
158
- 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({
106
+ 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({
159
107
  ...options,
160
108
  prompt
161
109
  }).pipe(Stream.mapChunksEffect(Effect.fnUntraced(function* (chunk) {
@@ -170,7 +118,7 @@ export const fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (prompt) {
170
118
  const newPrompt = Prompt.make(options.prompt);
171
119
  const oldPrompt = yield* Ref.get(history);
172
120
  const prompt = Prompt.merge(oldPrompt, newPrompt);
173
- const response = yield* languageModel.generateObject({
121
+ const response = yield* LanguageModel.generateObject({
174
122
  ...options,
175
123
  prompt
176
124
  });
@@ -186,33 +134,59 @@ export const fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (prompt) {
186
134
  });
187
135
  });
188
136
  /**
189
- * Creates a new Chat service with empty conversation history.
137
+ * Creates a new Chat service from an initial prompt.
190
138
  *
191
- * This is the most common way to start a fresh chat session without
192
- * any initial context or system prompts.
139
+ * This is the primary constructor for creating chat instances. It initializes
140
+ * a new conversation with the provided prompt as the starting context.
193
141
  *
194
142
  * @example
195
143
  * ```ts
196
- * import { Chat } from "@effect/ai"
144
+ * import { Chat, Prompt } from "@effect/ai"
197
145
  * import { Effect } from "effect"
198
146
  *
199
- * const freshChat = Effect.gen(function* () {
200
- * const chat = yield* Chat.empty
147
+ * const chatWithSystemPrompt = Effect.gen(function* () {
148
+ * const chat = yield* Chat.fromPrompt([{
149
+ * role: "system",
150
+ * content: "You are a helpful assistant specialized in mathematics."
151
+ * }])
201
152
  *
202
153
  * const response = yield* chat.generateText({
203
- * prompt: "Hello! Can you introduce yourself?"
154
+ * prompt: "What is 2+2?"
204
155
  * })
205
156
  *
206
- * console.log(response.content)
157
+ * return response.content
158
+ * })
159
+ * ```
207
160
  *
208
- * return chat
161
+ * @example
162
+ * ```ts
163
+ * import { Chat, Prompt } from "@effect/ai"
164
+ * import { Effect } from "effect"
165
+ *
166
+ * // Initialize with conversation history
167
+ * const existingChat = Effect.gen(function* () {
168
+ * const chat = yield* Chat.fromPrompt([
169
+ * { role: "user", content: [{ type: "text", text: "What's the weather like?" }] },
170
+ * { role: "assistant", content: [{ type: "text", text: "I don't have access to weather data." }] },
171
+ * { role: "user", content: [{ type: "text", text: "Can you help me with coding?" }] }
172
+ * ])
173
+ *
174
+ * const response = yield* chat.generateText({
175
+ * prompt: "I need help with TypeScript"
176
+ * })
177
+ *
178
+ * return response
209
179
  * })
210
180
  * ```
211
181
  *
212
182
  * @since 1.0.0
213
183
  * @category Constructors
214
184
  */
215
- export const empty = /*#__PURE__*/fromPrompt(Prompt.empty);
185
+ export const fromPrompt = /*#__PURE__*/Effect.fnUntraced(function* (prompt) {
186
+ const chat = yield* empty;
187
+ yield* Ref.set(chat.history, Prompt.make(prompt));
188
+ return chat;
189
+ });
216
190
  const decodeUnknown = /*#__PURE__*/Schema.decodeUnknown(Prompt.Prompt);
217
191
  /**
218
192
  * Creates a Chat service from previously exported chat data.
@@ -250,7 +224,7 @@ const decodeUnknown = /*#__PURE__*/Schema.decodeUnknown(Prompt.Prompt);
250
224
  * @category Constructors
251
225
  */
252
226
  export const fromExport = data => Effect.flatMap(decodeUnknown(data), fromPrompt);
253
- const decodeJson = /*#__PURE__*/Schema.decode(Prompt.FromJson);
227
+ const decodeHistoryJson = /*#__PURE__*/Schema.decodeUnknown(Prompt.FromJson);
254
228
  /**
255
229
  * Creates a Chat service from previously exported JSON chat data.
256
230
  *
@@ -287,5 +261,103 @@ const decodeJson = /*#__PURE__*/Schema.decode(Prompt.FromJson);
287
261
  * @since 1.0.0
288
262
  * @category Constructors
289
263
  */
290
- export const fromJson = data => Effect.flatMap(decodeJson(data), fromPrompt);
264
+ export const fromJson = data => Effect.flatMap(decodeHistoryJson(data), fromPrompt);
265
+ // =============================================================================
266
+ // Chat Persistence
267
+ // =============================================================================
268
+ /**
269
+ * An error that occurs when attempting to retrieve a persisted `Chat` that
270
+ * does not exist in the backing persistence store.
271
+ *
272
+ * @since 1.0.0
273
+ * @category Errors
274
+ */
275
+ export class ChatNotFoundError extends /*#__PURE__*/Schema.TaggedError("@effect/ai/Chat/ChatNotFoundError")("ChatNotFoundError", {
276
+ chatId: Schema.String
277
+ }) {}
278
+ // @effect-diagnostics effect/leakingRequirements:off
279
+ /**
280
+ * The context tag for chat persistence.
281
+ *
282
+ * @since 1.0.0
283
+ * @category Context
284
+ */
285
+ export class Persistence extends /*#__PURE__*/Context.Tag("@effect/ai/Chat/Persisted")() {}
286
+ /**
287
+ * Creates a new chat persistence service.
288
+ *
289
+ * The provided store identifier will be used to indicate which "store" the
290
+ * backing persistence should load chats from.
291
+ *
292
+ * @since 1.0.0
293
+ * @category Constructors
294
+ */
295
+ export const makePersisted = /*#__PURE__*/Effect.fnUntraced(function* (options) {
296
+ const persistence = yield* BackingPersistence;
297
+ const store = yield* persistence.make(options.storeId);
298
+ const toPersisted = (chatId, chat) => {
299
+ const persistChat = chat.exportJson.pipe(Effect.flatMap(history => store.set(chatId, history, Option.none())), Effect.orDie);
300
+ return {
301
+ ...chat,
302
+ id: chatId,
303
+ generateText: options => chat.generateText(options).pipe(Effect.ensuring(persistChat)),
304
+ generateObject: options => chat.generateObject(options).pipe(Effect.ensuring(persistChat)),
305
+ streamText: options => chat.streamText(options).pipe(Stream.ensuring(persistChat))
306
+ };
307
+ };
308
+ const createChat = Effect.fnUntraced(function* (chatId) {
309
+ // Create an empty chat
310
+ const chat = yield* empty;
311
+ // Save the history for the newly created chat
312
+ const history = yield* chat.exportJson;
313
+ yield* store.set(chatId, history, Option.none());
314
+ // Convert the chat to a persisted chat
315
+ return toPersisted(chatId, chat);
316
+ }, Effect.catchTag("PersistenceError", error => {
317
+ // Should never happen because we are using the backing persistence
318
+ // store directly, and parse errors can only occur when using result
319
+ // persistence
320
+ if (error.reason === "ParseError") return Effect.die(error);
321
+ return Effect.fail(error);
322
+ }));
323
+ const getChat = Effect.fnUntraced(function* (chatId) {
324
+ // Create an empty chat
325
+ const chat = yield* empty;
326
+ // Hydrate the chat history
327
+ yield* store.get(chatId).pipe(Effect.flatMap(Effect.transposeMapOption(decodeHistoryJson)), Effect.flatten, Effect.catchTag("NoSuchElementException", () => new ChatNotFoundError({
328
+ chatId
329
+ })), Effect.flatMap(history => Ref.set(chat.history, history)));
330
+ // Convert the chat to a persisted chat
331
+ return toPersisted(chatId, chat);
332
+ }, Effect.catchTags({
333
+ ParseError: error => Effect.die(error),
334
+ PersistenceError: error => {
335
+ // Should never happen because we are using the backing persistence
336
+ // store directly, and parse errors can only occur when using result
337
+ // persistence
338
+ if (error.reason === "ParseError") return Effect.die(error);
339
+ return Effect.fail(error);
340
+ }
341
+ }));
342
+ const get = Effect.fn("PersistedChat.get")(function* (chatId) {
343
+ return yield* getChat(chatId);
344
+ });
345
+ const getOrCreate = Effect.fn("PersistedChat.getOrCreate")(function* (chatId) {
346
+ return yield* getChat(chatId).pipe(Effect.catchTag("ChatNotFoundError", () => createChat(chatId)));
347
+ });
348
+ return Persistence.of({
349
+ get,
350
+ getOrCreate
351
+ });
352
+ });
353
+ /**
354
+ * Creates a `Layer` new chat persistence service.
355
+ *
356
+ * The provided store identifier will be used to indicate which "store" the
357
+ * backing persistence should load chats from.
358
+ *
359
+ * @since 1.0.0
360
+ * @category Constructors
361
+ */
362
+ export const layerPersisted = options => Layer.scoped(Persistence, makePersisted(options));
291
363
  //# sourceMappingURL=Chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","names":["Channel","Context","Effect","Ref","Schema","Stream","LanguageModel","Prompt","Chat","Tag","fromPrompt","fnUntraced","prompt","languageModel","context","provideContext","effect","mapInputContext","input","merge","provideContextStream","stream","history","make","semaphore","makeSemaphore","of","export","get","pipe","flatMap","encode","withSpan","orDie","exportJson","FromJson","generateText","options","newPrompt","oldPrompt","response","newHistory","fromResponseParts","content","set","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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,GAAG,MAAM,YAAY;AACjC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AACnD,OAAO,KAAKC,MAAM,MAAM,aAAa;AAIrC;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,OAAM,MAAOC,IAAK,sBAAQP,OAAO,CAACQ,GAAG,CAAC,iBAAiB,CAAC,EAGrD;AAsMH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiDA,OAAO,MAAMC,UAAU,gBAAGR,MAAM,CAACS,UAAU,CAAC,WAC1CC,MAAuB;EAEvB,MAAMC,aAAa,GAAG,OAAOP,aAAa,CAACA,aAAa;EACxD,MAAMQ,OAAO,GAAG,OAAOZ,MAAM,CAACY,OAAO,EAAS;EAC9C,MAAMC,cAAc,GAAaC,MAA8B,IAC7Dd,MAAM,CAACe,eAAe,CAACD,MAAM,EAAGE,KAAK,IAAKjB,OAAO,CAACkB,KAAK,CAACL,OAAO,EAAEI,KAAK,CAAC,CAAC;EAC1E,MAAME,oBAAoB,GAAaC,MAA8B,IACnEhB,MAAM,CAACY,eAAe,CAACI,MAAM,EAAGH,KAAK,IAAKjB,OAAO,CAACkB,KAAK,CAACL,OAAO,EAAEI,KAAK,CAAC,CAAC;EAC1E,MAAMI,OAAO,GAAG,OAAOnB,GAAG,CAACoB,IAAI,CAAgBhB,MAAM,CAACgB,IAAI,CAACX,MAAM,CAAC,CAAC;EACnE,MAAMY,SAAS,GAAG,OAAOtB,MAAM,CAACuB,aAAa,CAAC,CAAC,CAAC;EAEhD,OAAOjB,IAAI,CAACkB,EAAE,CAAC;IACbJ,OAAO;IACPK,MAAM,EAAExB,GAAG,CAACyB,GAAG,CAACN,OAAO,CAAC,CAACO,IAAI,CAC3B3B,MAAM,CAAC4B,OAAO,CAAC1B,MAAM,CAAC2B,MAAM,CAACxB,MAAM,CAACA,MAAM,CAAC,CAAC,EAC5CL,MAAM,CAAC8B,QAAQ,CAAC,aAAa,CAAC,EAC9B9B,MAAM,CAAC+B,KAAK,CACb;IACDC,UAAU,EAAE/B,GAAG,CAACyB,GAAG,CAACN,OAAO,CAAC,CAACO,IAAI,CAC/B3B,MAAM,CAAC4B,OAAO,CAAC1B,MAAM,CAAC2B,MAAM,CAACxB,MAAM,CAAC4B,QAAQ,CAAC,CAAC,EAC9CjC,MAAM,CAAC8B,QAAQ,CAAC,iBAAiB,CAAC,EAClC9B,MAAM,CAAC+B,KAAK,CACb;IACDG,YAAY,EAAElC,MAAM,CAACS,UAAU,CAC7B,WAAU0B,OAAO;MACf,MAAMC,SAAS,GAAG/B,MAAM,CAACgB,IAAI,CAACc,OAAO,CAACzB,MAAM,CAAC;MAC7C,MAAM2B,SAAS,GAAG,OAAOpC,GAAG,CAACyB,GAAG,CAACN,OAAO,CAAC;MACzC,MAAMV,MAAM,GAAGL,MAAM,CAACY,KAAK,CAACoB,SAAS,EAAED,SAAS,CAAC;MAEjD,MAAME,QAAQ,GAAG,OAAO3B,aAAa,CAACuB,YAAY,CAAC;QAAE,GAAGC,OAAO;QAAEzB;MAAM,CAAE,CAAC;MAE1E,MAAM6B,UAAU,GAAGlC,MAAM,CAACY,KAAK,CAACP,MAAM,EAAEL,MAAM,CAACmC,iBAAiB,CAACF,QAAQ,CAACG,OAAO,CAAC,CAAC;MACnF,OAAOxC,GAAG,CAACyC,GAAG,CAACtB,OAAO,EAAEmB,UAAU,CAAC;MAEnC,OAAOD,QAAQ;IACjB,CAAC,EACDzB,cAAc,EACdS,SAAS,CAACqB,WAAW,CAAC,CAAC,CAAC,EACxB3C,MAAM,CAAC8B,QAAQ,CAAC,mBAAmB,EAAE;MAAEc,iBAAiB,EAAE;IAAK,CAAE,CAAC,CACnE;IACDC,UAAU,EAAE7C,MAAM,CAACS,UAAU,CAC3B,WAAU0B,OAAO;MACf,IAAIW,QAAQ,GAAkBzC,MAAM,CAAC0C,KAAK;MAC1C,OAAO5C,MAAM,CAAC6C,WAAW,CAAClD,OAAO,CAACmD,iBAAiB,CACjD3B,SAAS,CAAC4B,IAAI,CAAC,CAAC,CAAC,CAACvB,IAAI,CACpB3B,MAAM,CAACmD,QAAQ,CAAClD,GAAG,CAACyB,GAAG,CAACN,OAAO,CAAC,CAAC,EACjCpB,MAAM,CAACoD,GAAG,CAAEhC,OAAO,IAAKf,MAAM,CAACY,KAAK,CAACG,OAAO,EAAEf,MAAM,CAACgB,IAAI,CAACc,OAAO,CAACzB,MAAM,CAAC,CAAC,CAAC,CAC5E,EACAA,MAAM,IACLC,aAAa,CAACkC,UAAU,CAAC;QAAE,GAAGV,OAAO;QAAEzB;MAAM,CAAE,CAAC,CAACiB,IAAI,CACnDxB,MAAM,CAACkD,eAAe,CAACrD,MAAM,CAACS,UAAU,CAAC,WAAU6C,KAAK;QACtD,MAAMC,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACH,KAAK,CAAC;QAC/BR,QAAQ,GAAGzC,MAAM,CAACY,KAAK,CAAC6B,QAAQ,EAAEzC,MAAM,CAACmC,iBAAiB,CAACe,KAAK,CAAC,CAAC;QAClE,OAAOD,KAAK;MACd,CAAC,CAAC,CAAC,EACHnD,MAAM,CAACuD,SAAS,CACjB,EACFH,KAAK,IACJvD,MAAM,CAACmD,QAAQ,CACblD,GAAG,CAACyC,GAAG,CAACtB,OAAO,EAAEf,MAAM,CAACY,KAAK,CAACsC,KAAK,EAAET,QAAQ,CAAC,CAAC,EAC/CxB,SAAS,CAACqC,OAAO,CAAC,CAAC,CAAC,CACrB,CACJ,CAAC,CAAChC,IAAI,CACLT,oBAAoB,EACpBf,MAAM,CAAC2B,QAAQ,CAAC,iBAAiB,EAAE;QACjCc,iBAAiB,EAAE;OACpB,CAAC,CACH;IACH,CAAC,EACDzC,MAAM,CAACyD,MAAM,CACd;IACDC,cAAc,EAAE7D,MAAM,CAACS,UAAU,CAC/B,WAAU0B,OAAO;MACf,MAAMC,SAAS,GAAG/B,MAAM,CAACgB,IAAI,CAACc,OAAO,CAACzB,MAAM,CAAC;MAC7C,MAAM2B,SAAS,GAAG,OAAOpC,GAAG,CAACyB,GAAG,CAACN,OAAO,CAAC;MACzC,MAAMV,MAAM,GAAGL,MAAM,CAACY,KAAK,CAACoB,SAAS,EAAED,SAAS,CAAC;MAEjD,MAAME,QAAQ,GAAG,OAAO3B,aAAa,CAACkD,cAAc,CAAC;QAAE,GAAG1B,OAAO;QAAEzB;MAAM,CAAE,CAAC;MAE5E,MAAM6B,UAAU,GAAGlC,MAAM,CAACY,KAAK,CAACP,MAAM,EAAEL,MAAM,CAACmC,iBAAiB,CAACF,QAAQ,CAACG,OAAO,CAAC,CAAC;MACnF,OAAOxC,GAAG,CAACyC,GAAG,CAACtB,OAAO,EAAEmB,UAAU,CAAC;MAEnC,OAAOD,QAAQ;IACjB,CAAC,EACDzB,cAAc,EACdS,SAAS,CAACqB,WAAW,CAAC,CAAC,CAAC,EACxB,CAAC7B,MAAM,EAAEqB,OAAO,KACdnC,MAAM,CAAC8B,QAAQ,CAAChB,MAAM,EAAE,qBAAqB,EAAE;MAC7CgD,UAAU,EAAE;QACVC,UAAU,EAAE,YAAY,IAAI5B,OAAO,GAC/BA,OAAO,CAAC4B,UAAU,GAClB,MAAM,IAAI5B,OAAO,CAAC6B,MAAM,GACxB7B,OAAO,CAAC6B,MAAM,CAACC,IAAI,GAClB9B,OAAO,CAAC6B,MAAc,CAACE,UAAU,IAAI;OAC3C;MACDtB,iBAAiB,EAAE;KACpB,CAAC;GAEP,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAO,MAAMG,KAAK,gBAA+DvC,UAAU,CAACH,MAAM,CAAC0C,KAAK,CAAC;AAEzG,MAAMoB,aAAa,gBAAGjE,MAAM,CAACiE,aAAa,CAAC9D,MAAM,CAACA,MAAM,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,OAAO,MAAM+D,UAAU,GAAIC,IAAa,IACtCrE,MAAM,CAAC4B,OAAO,CAACuC,aAAa,CAACE,IAAI,CAAC,EAAE7D,UAAU,CAAC;AAEjD,MAAM8D,UAAU,gBAAGpE,MAAM,CAACqE,MAAM,CAAClE,MAAM,CAAC4B,QAAQ,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,OAAO,MAAMuC,QAAQ,GAAIH,IAAY,IACnCrE,MAAM,CAAC4B,OAAO,CAAC0C,UAAU,CAACD,IAAI,CAAC,EAAE7D,UAAU,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Chat.js","names":["BackingPersistence","Channel","Context","Effect","Layer","Option","Ref","Schema","Stream","AiError","LanguageModel","Prompt","Chat","Tag","empty","gen","history","make","context","semaphore","makeSemaphore","provideContext","effect","mapInputContext","input","merge","provideContextStream","stream","encodeHistory","encode","encodeHistoryJson","FromJson","of","export","get","pipe","flatMap","catchTag","error","MalformedOutput","fromParseError","module","method","description","withSpan","exportJson","generateText","fnUntraced","options","newPrompt","prompt","oldPrompt","response","newHistory","fromResponseParts","content","set","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","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":[]}