@effect/ai-openai 4.0.0-beta.70 → 4.0.0-beta.71

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.
Files changed (41) hide show
  1. package/dist/OpenAiClient.d.ts +87 -3
  2. package/dist/OpenAiClient.d.ts.map +1 -1
  3. package/dist/OpenAiClient.js +118 -6
  4. package/dist/OpenAiClient.js.map +1 -1
  5. package/dist/OpenAiConfig.d.ts +84 -15
  6. package/dist/OpenAiConfig.d.ts.map +1 -1
  7. package/dist/OpenAiConfig.js +52 -15
  8. package/dist/OpenAiConfig.js.map +1 -1
  9. package/dist/OpenAiEmbeddingModel.d.ts +126 -2
  10. package/dist/OpenAiEmbeddingModel.d.ts.map +1 -1
  11. package/dist/OpenAiEmbeddingModel.js +100 -2
  12. package/dist/OpenAiEmbeddingModel.js.map +1 -1
  13. package/dist/OpenAiLanguageModel.d.ts +138 -9
  14. package/dist/OpenAiLanguageModel.d.ts.map +1 -1
  15. package/dist/OpenAiLanguageModel.js +106 -7
  16. package/dist/OpenAiLanguageModel.js.map +1 -1
  17. package/dist/OpenAiSchema.d.ts +281 -12
  18. package/dist/OpenAiSchema.d.ts.map +1 -1
  19. package/dist/OpenAiSchema.js +227 -4
  20. package/dist/OpenAiSchema.js.map +1 -1
  21. package/dist/OpenAiTelemetry.d.ts +29 -1
  22. package/dist/OpenAiTelemetry.d.ts.map +1 -1
  23. package/dist/OpenAiTelemetry.js +29 -4
  24. package/dist/OpenAiTelemetry.js.map +1 -1
  25. package/dist/OpenAiTool.d.ts +111 -5
  26. package/dist/OpenAiTool.d.ts.map +1 -1
  27. package/dist/OpenAiTool.js +111 -5
  28. package/dist/OpenAiTool.js.map +1 -1
  29. package/dist/index.d.ts +1 -49
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -49
  32. package/dist/index.js.map +1 -1
  33. package/package.json +3 -3
  34. package/src/OpenAiClient.ts +118 -6
  35. package/src/OpenAiConfig.ts +84 -15
  36. package/src/OpenAiEmbeddingModel.ts +152 -2
  37. package/src/OpenAiLanguageModel.ts +170 -11
  38. package/src/OpenAiSchema.ts +309 -4
  39. package/src/OpenAiTelemetry.ts +50 -5
  40. package/src/OpenAiTool.ts +111 -5
  41. package/src/index.ts +1 -49
@@ -45,6 +45,15 @@ declare const OpenAiClient_base: Context.ServiceClass<OpenAiClient, "@effect/ai-
45
45
  /**
46
46
  * Service identifier for the OpenAI client.
47
47
  *
48
+ * **When to use**
49
+ *
50
+ * Use when accessing or providing the OpenAI client service through Effect's
51
+ * context.
52
+ *
53
+ * @see {@link make} for constructing an OpenAI client effectfully
54
+ * @see {@link layer} for providing a client from explicit options
55
+ * @see {@link layerConfig} for providing a client from `Config`
56
+ *
48
57
  * @category services
49
58
  * @since 4.0.0
50
59
  */
@@ -83,6 +92,26 @@ export type Options = {
83
92
  /**
84
93
  * Creates an OpenAI client service with the given options.
85
94
  *
95
+ * **When to use**
96
+ *
97
+ * Use to construct the OpenAI client service inside an effect when you need the
98
+ * service value directly.
99
+ *
100
+ * **Details**
101
+ *
102
+ * The returned service uses the current `HttpClient`, prepends `apiUrl` or
103
+ * `https://api.openai.com/v1`, adds the bearer token and optional OpenAI
104
+ * organization/project headers, accepts JSON responses, filters for successful
105
+ * HTTP statuses, and applies `transformClient` when provided.
106
+ *
107
+ * **Gotchas**
108
+ *
109
+ * A scoped `OpenAiConfig.withClientTransform` is applied when request helpers
110
+ * run, after the `transformClient` option supplied to `make`.
111
+ *
112
+ * @see {@link layer} for providing this client from explicit options
113
+ * @see {@link layerConfig} for loading client settings from `Config`
114
+ *
86
115
  * @category constructors
87
116
  * @since 4.0.0
88
117
  */
@@ -90,13 +119,34 @@ export declare const make: (options: Options) => Effect.Effect<Service, never, H
90
119
  /**
91
120
  * Creates a layer for the OpenAI client with the given options.
92
121
  *
122
+ * **When to use**
123
+ *
124
+ * Use when you already have explicit `Options` values, such as an API key or
125
+ * custom API URL, and want to provide `OpenAiClient` as a `Layer`.
126
+ *
127
+ * @see {@link make} for constructing the client service effectfully
128
+ * @see {@link layerConfig} for loading client settings from `Config`
129
+ *
93
130
  * @category layers
94
131
  * @since 4.0.0
95
132
  */
96
133
  export declare const layer: (options: Options) => Layer.Layer<OpenAiClient, never, HttpClient.HttpClient>;
97
134
  /**
98
- * Creates a layer for the OpenAI client, loading the requisite configuration
99
- * via Effect's `Config` module.
135
+ * Creates a layer for the OpenAI client from provided `Config` values.
136
+ *
137
+ * **When to use**
138
+ *
139
+ * Use when client settings should be read from Effect `Config` values while
140
+ * providing `OpenAiClient` as a `Layer`.
141
+ *
142
+ * **Details**
143
+ *
144
+ * Only config values supplied in `options` are loaded. Omitted fields are
145
+ * passed to `make` as `undefined`, and `transformClient` is forwarded as a
146
+ * plain option.
147
+ *
148
+ * @see {@link make} for constructing the client service effectfully
149
+ * @see {@link layer} for providing the client from already-resolved options
100
150
  *
101
151
  * @category layers
102
152
  * @since 4.0.0
@@ -139,13 +189,37 @@ declare const OpenAiSocket_base: Context.ServiceClass<OpenAiSocket, "@effect/ai-
139
189
  /**
140
190
  * Service for creating OpenAI response streams over a WebSocket connection.
141
191
  *
192
+ * **When to use**
193
+ *
194
+ * Use when code needs direct access to the WebSocket-backed response streaming
195
+ * service rather than wrapping an effect with WebSocket mode.
196
+ *
197
+ * **Details**
198
+ *
199
+ * `createResponseStream` sends a `response.create` message over the WebSocket
200
+ * connection and returns an HTTP response together with a stream of
201
+ * `ResponseStreamEvent` values.
202
+ *
203
+ * **Gotchas**
204
+ *
205
+ * WebSocket response streams are serialized to one request at a time by the
206
+ * shared socket service.
207
+ *
208
+ * @see {@link withWebSocketMode} for enabling WebSocket mode for one effect
209
+ * @see {@link layerWebSocketMode} for providing WebSocket mode through a layer
210
+ *
142
211
  * @category Websocket mode
143
212
  * @since 4.0.0
144
213
  */
145
214
  export declare class OpenAiSocket extends OpenAiSocket_base {
146
215
  }
147
216
  /**
148
- * Uses OpenAI's websocket mode for all responses within the provided effect.
217
+ * Uses OpenAI's WebSocket mode for response streams within the provided effect.
218
+ *
219
+ * **When to use**
220
+ *
221
+ * Use to enable WebSocket mode around one effect that creates OpenAI response
222
+ * streams.
149
223
  *
150
224
  * **Gotchas**
151
225
  *
@@ -156,6 +230,9 @@ export declare class OpenAiSocket extends OpenAiSocket_base {
156
230
  *
157
231
  * This is because it needs to use non-standard options for setting the Authorization header.
158
232
  *
233
+ * @see {@link layerWebSocketMode} for providing WebSocket mode through a layer
234
+ * @see {@link OpenAiSocket} for direct access to the WebSocket-backed streaming service
235
+ *
159
236
  * @category Websocket mode
160
237
  * @since 4.0.0
161
238
  */
@@ -163,6 +240,11 @@ export declare const withWebSocketMode: <A, E, R>(effect: Effect.Effect<A, E, R>
163
240
  /**
164
241
  * Uses OpenAI's websocket mode for all responses that use the Layer.
165
242
  *
243
+ * **When to use**
244
+ *
245
+ * Use to provide WebSocket mode through layer composition for effects that use
246
+ * OpenAI response streaming.
247
+ *
166
248
  * **Gotchas**
167
249
  *
168
250
  * This only works with the following WebSocket constructor layers:
@@ -172,6 +254,8 @@ export declare const withWebSocketMode: <A, E, R>(effect: Effect.Effect<A, E, R>
172
254
  *
173
255
  * This is because it needs to use non-standard options for setting the Authorization header.
174
256
  *
257
+ * @see {@link withWebSocketMode} for enabling WebSocket mode around a single effect
258
+ *
175
259
  * @category Websocket mode
176
260
  * @since 4.0.0
177
261
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiClient.d.ts","sourceRoot":"","sources":["../src/OpenAiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAiClient.d.ts","sourceRoot":"","sources":["../src/OpenAiClient.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAI3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AACrD,OAAO,KAAK,iBAAiB,MAAM,sCAAsC,CAAA;AAIzE,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAE7D,OAAO,KAAK,kBAAkB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAGvD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAMjD;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAA;IAEtC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,CACvB,OAAO,EAAE,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,KAChD,MAAM,CAAC,MAAM,CAChB,SAAS,CAAC,IAAI,EAAE,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,EACnG,OAAO,CAAC,OAAO,CAChB,CAAA;IAED;;OAEG;IACH,QAAQ,CAAC,oBAAoB,EAAE,CAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,KAChE,MAAM,CAAC,MAAM,CAChB,SAAS;QACP,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB;QAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC;KACrF,EACD,OAAO,CAAC,OAAO,CAChB,CAAA;IAED;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,CACxB,OAAO,EAAE,OAAO,YAAY,CAAC,sBAAsB,CAAC,OAAO,KACxD,MAAM,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CACtF;;AAMD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAa,SAAQ,iBAEjC;CAAG;AAMJ;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAEpC;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAE/D;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAE1D;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;CAClG,CAAA;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,IAAI,4EA4IhB,CAAA;AAMD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,KAAK,GAAI,SAAS,OAAO,KAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU,CAAC,UAAU,CACpD,CAAA;AAE3C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU;IACpC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;IAElF;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAEnD;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;IAE1F;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;IAErF;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;CAClG,KAAG,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,UAAU,CAwBpE,CAAA;AAMH;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAA;;IA4B5E;;OAEG;mCAC4B,CAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,YAAY,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,KAChE,MAAM,CAAC,MAAM,CAChB,SAAS,CACP,QAAQ,EAAE,kBAAkB,CAAC,kBAAkB,EAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC,OAAO,CAAC,CAC5D,EACD,OAAO,CAAC,OAAO,CAChB;;AArCH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,YAAa,SAAQ,iBAaiB;CAAG;AA2LtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACvC,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC7B,MAAM,CAAC,MAAM,CACd,CAAC,EACD,CAAC,EACD,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,MAAM,CAAC,oBAAoB,CAO1G,CAAA;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAC1C,YAAY,GAAG,iBAAiB,CAAC,iBAAiB,EAClD,KAAK,EACL,YAAY,GAAG,MAAM,CAAC,oBAAoB,CACT,CAAA"}
@@ -1,8 +1,36 @@
1
1
  /**
2
- * OpenAI Client module for interacting with OpenAI's API.
2
+ * The `OpenAiClient` module provides the handwritten Effect service used by
3
+ * the OpenAI integration for Responses API and embedding requests. It builds on
4
+ * the Effect HTTP client, applies OpenAI authentication and organization or
5
+ * project headers, decodes the minimal schemas needed by higher-level modules,
6
+ * and maps transport or decoding failures into `AiError`.
3
7
  *
4
- * Provides a type-safe, Effect-based client for OpenAI operations including
5
- * completions, embeddings, and streaming responses.
8
+ * The service exposes a configured HTTP client plus helpers for non-streaming
9
+ * responses, server-sent event response streams, and embeddings. It also
10
+ * includes WebSocket mode for response streams when an application wants to use
11
+ * OpenAI's WebSocket transport instead of the default SSE path.
12
+ *
13
+ * **Common tasks**
14
+ *
15
+ * - Construct the service directly with {@link make}
16
+ * - Provide the service with {@link layer} or load settings from `Config` with
17
+ * {@link layerConfig}
18
+ * - Call `createResponse`, `createResponseStream`, or `createEmbedding` from
19
+ * code that depends on the `OpenAiClient` service
20
+ * - Enable WebSocket streaming around an effect with {@link withWebSocketMode}
21
+ * or through layers with {@link layerWebSocketMode}
22
+ *
23
+ * **Gotchas**
24
+ *
25
+ * - The default base URL is `https://api.openai.com/v1`; set `apiUrl` for
26
+ * proxies, local gateways, or compatible deployments.
27
+ * - A constructor `transformClient` is applied when the service is built, while
28
+ * scoped `OpenAiConfig` transforms are applied by request helpers when they
29
+ * run.
30
+ * - WebSocket mode requires a supported `Socket.WebSocketConstructor` layer and
31
+ * serializes response streams through the shared socket service.
32
+ * - This module is intentionally narrower than the generated OpenAI client; use
33
+ * `OpenAiClientGenerated` for direct access to generated endpoint helpers.
6
34
  *
7
35
  * @since 4.0.0
8
36
  */
@@ -38,6 +66,15 @@ import * as OpenAiSchema from "./OpenAiSchema.js";
38
66
  /**
39
67
  * Service identifier for the OpenAI client.
40
68
  *
69
+ * **When to use**
70
+ *
71
+ * Use when accessing or providing the OpenAI client service through Effect's
72
+ * context.
73
+ *
74
+ * @see {@link make} for constructing an OpenAI client effectfully
75
+ * @see {@link layer} for providing a client from explicit options
76
+ * @see {@link layerConfig} for providing a client from `Config`
77
+ *
41
78
  * @category services
42
79
  * @since 4.0.0
43
80
  */
@@ -52,6 +89,26 @@ const RedactedOpenAiHeaders = {
52
89
  /**
53
90
  * Creates an OpenAI client service with the given options.
54
91
  *
92
+ * **When to use**
93
+ *
94
+ * Use to construct the OpenAI client service inside an effect when you need the
95
+ * service value directly.
96
+ *
97
+ * **Details**
98
+ *
99
+ * The returned service uses the current `HttpClient`, prepends `apiUrl` or
100
+ * `https://api.openai.com/v1`, adds the bearer token and optional OpenAI
101
+ * organization/project headers, accepts JSON responses, filters for successful
102
+ * HTTP statuses, and applies `transformClient` when provided.
103
+ *
104
+ * **Gotchas**
105
+ *
106
+ * A scoped `OpenAiConfig.withClientTransform` is applied when request helpers
107
+ * run, after the `transformClient` option supplied to `make`.
108
+ *
109
+ * @see {@link layer} for providing this client from explicit options
110
+ * @see {@link layerConfig} for loading client settings from `Config`
111
+ *
55
112
  * @category constructors
56
113
  * @since 4.0.0
57
114
  */
@@ -106,13 +163,34 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
106
163
  /**
107
164
  * Creates a layer for the OpenAI client with the given options.
108
165
  *
166
+ * **When to use**
167
+ *
168
+ * Use when you already have explicit `Options` values, such as an API key or
169
+ * custom API URL, and want to provide `OpenAiClient` as a `Layer`.
170
+ *
171
+ * @see {@link make} for constructing the client service effectfully
172
+ * @see {@link layerConfig} for loading client settings from `Config`
173
+ *
109
174
  * @category layers
110
175
  * @since 4.0.0
111
176
  */
112
177
  export const layer = options => Layer.effect(OpenAiClient, make(options));
113
178
  /**
114
- * Creates a layer for the OpenAI client, loading the requisite configuration
115
- * via Effect's `Config` module.
179
+ * Creates a layer for the OpenAI client from provided `Config` values.
180
+ *
181
+ * **When to use**
182
+ *
183
+ * Use when client settings should be read from Effect `Config` values while
184
+ * providing `OpenAiClient` as a `Layer`.
185
+ *
186
+ * **Details**
187
+ *
188
+ * Only config values supplied in `options` are loaded. Omitted fields are
189
+ * passed to `make` as `undefined`, and `transformClient` is forwarded as a
190
+ * plain option.
191
+ *
192
+ * @see {@link make} for constructing the client service effectfully
193
+ * @see {@link layer} for providing the client from already-resolved options
116
194
  *
117
195
  * @category layers
118
196
  * @since 4.0.0
@@ -133,6 +211,25 @@ export const layerConfig = options => Layer.effect(OpenAiClient, Effect.gen(func
133
211
  /**
134
212
  * Service for creating OpenAI response streams over a WebSocket connection.
135
213
  *
214
+ * **When to use**
215
+ *
216
+ * Use when code needs direct access to the WebSocket-backed response streaming
217
+ * service rather than wrapping an effect with WebSocket mode.
218
+ *
219
+ * **Details**
220
+ *
221
+ * `createResponseStream` sends a `response.create` message over the WebSocket
222
+ * connection and returns an HTTP response together with a stream of
223
+ * `ResponseStreamEvent` values.
224
+ *
225
+ * **Gotchas**
226
+ *
227
+ * WebSocket response streams are serialized to one request at a time by the
228
+ * shared socket service.
229
+ *
230
+ * @see {@link withWebSocketMode} for enabling WebSocket mode for one effect
231
+ * @see {@link layerWebSocketMode} for providing WebSocket mode through a layer
232
+ *
136
233
  * @category Websocket mode
137
234
  * @since 4.0.0
138
235
  */
@@ -275,7 +372,12 @@ const ErrorEvent = /*#__PURE__*/Schema.Struct({
275
372
  const AllEvents = /*#__PURE__*/Schema.Union([ErrorEvent, OpenAiSchema.ResponseStreamEvent]);
276
373
  const decodeEvent = /*#__PURE__*/Schema.decodeUnknownSync(/*#__PURE__*/Schema.fromJsonString(AllEvents));
277
374
  /**
278
- * Uses OpenAI's websocket mode for all responses within the provided effect.
375
+ * Uses OpenAI's WebSocket mode for response streams within the provided effect.
376
+ *
377
+ * **When to use**
378
+ *
379
+ * Use to enable WebSocket mode around one effect that creates OpenAI response
380
+ * streams.
279
381
  *
280
382
  * **Gotchas**
281
383
  *
@@ -286,6 +388,9 @@ const decodeEvent = /*#__PURE__*/Schema.decodeUnknownSync(/*#__PURE__*/Schema.fr
286
388
  *
287
389
  * This is because it needs to use non-standard options for setting the Authorization header.
288
390
  *
391
+ * @see {@link layerWebSocketMode} for providing WebSocket mode through a layer
392
+ * @see {@link OpenAiSocket} for direct access to the WebSocket-backed streaming service
393
+ *
289
394
  * @category Websocket mode
290
395
  * @since 4.0.0
291
396
  */
@@ -293,6 +398,11 @@ export const withWebSocketMode = effect => Effect.scopedWith(scope => Effect.fla
293
398
  /**
294
399
  * Uses OpenAI's websocket mode for all responses that use the Layer.
295
400
  *
401
+ * **When to use**
402
+ *
403
+ * Use to provide WebSocket mode through layer composition for effects that use
404
+ * OpenAI response streaming.
405
+ *
296
406
  * **Gotchas**
297
407
  *
298
408
  * This only works with the following WebSocket constructor layers:
@@ -302,6 +412,8 @@ export const withWebSocketMode = effect => Effect.scopedWith(scope => Effect.fla
302
412
  *
303
413
  * This is because it needs to use non-standard options for setting the Authorization header.
304
414
  *
415
+ * @see {@link withWebSocketMode} for enabling WebSocket mode around a single effect
416
+ *
305
417
  * @category Websocket mode
306
418
  * @since 4.0.0
307
419
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiClient.js","names":["Array","Context","Effect","identity","Function","Layer","Predicate","Queue","RcRef","Redacted","Schema","Scope","Semaphore","Stream","AiError","ResponseIdTracker","Sse","Headers","HttpBody","HttpClient","HttpClientRequest","HttpClientResponse","Socket","Errors","OpenAiConfig","OpenAiSchema","OpenAiClient","Service","RedactedOpenAiHeaders","OpenAiOrganization","OpenAiProject","make","fnUntraced","options","baseClient","apiUrl","httpClient","pipe","mapRequest","flow","prependUrl","apiKey","bearerToken","value","organizationId","setHeader","projectId","acceptJson","filterStatusOk","transformClient","resolveHttpClient","map","getOrUndefined","config","isNotUndefined","decodeResponse","schemaBodyJson","Response","createResponse","payload","flatMap","client","execute","post","body","jsonUnsafe","response","catchTags","HttpClientError","error","mapHttpClientError","SchemaError","fail","mapSchemaError","buildResponseStream","stream","decodeText","pipeThroughChannel","decodeDataSchema","ResponseStreamEvent","takeUntil","event","data","type","Retry","die","fromEffect","createResponseStream","contextWith","services","socket","OpenAiSocket","catchTag","decodeEmbedding","CreateEmbeddingResponse","createEmbedding","of","updateService","CurrentRedactedNames","appendAll","Object","values","layer","effect","layerConfig","gen","undefined","makeSocket","tracker","socketScope","scope","makeRequest","orDie","preprocess","makeWebSocket","WebSocketConstructor","decoder","TextDecoder","queueRef","idleTimeToLive","acquire","request","url","replace","provideService","headers","write","writer","addFinalizerExit","clearUnsafe","void","incoming","unbounded","send","message","JSON","stringify","mapError","_error","module","method","reason","NetworkError","urlParams","hash","description","runRaw","msg","text","decode","decodeEvent","status","Number","json","reasonFromHttpStatus","isNaN","metadata","http","offerUnsafe","catchCause","cause","failCause","ensuring","forkIn","invalidate","startImmediately","forkScoped","scoped","get","semaphore","makeUnsafe","context","unwrap","acquireRelease","take","release","interruptible","done","fromQueue","e","succeed","fromWeb","add","ErrorEvent","Struct","Literal","withDecodingDefault","String","AllEvents","Union","decodeUnknownSync","fromJsonString","withWebSocketMode","scopedWith","provide","provideContext","layerWebSocketMode","effectContext"],"sources":["../src/OpenAiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenAiClient.js","names":["Array","Context","Effect","identity","Function","Layer","Predicate","Queue","RcRef","Redacted","Schema","Scope","Semaphore","Stream","AiError","ResponseIdTracker","Sse","Headers","HttpBody","HttpClient","HttpClientRequest","HttpClientResponse","Socket","Errors","OpenAiConfig","OpenAiSchema","OpenAiClient","Service","RedactedOpenAiHeaders","OpenAiOrganization","OpenAiProject","make","fnUntraced","options","baseClient","apiUrl","httpClient","pipe","mapRequest","flow","prependUrl","apiKey","bearerToken","value","organizationId","setHeader","projectId","acceptJson","filterStatusOk","transformClient","resolveHttpClient","map","getOrUndefined","config","isNotUndefined","decodeResponse","schemaBodyJson","Response","createResponse","payload","flatMap","client","execute","post","body","jsonUnsafe","response","catchTags","HttpClientError","error","mapHttpClientError","SchemaError","fail","mapSchemaError","buildResponseStream","stream","decodeText","pipeThroughChannel","decodeDataSchema","ResponseStreamEvent","takeUntil","event","data","type","Retry","die","fromEffect","createResponseStream","contextWith","services","socket","OpenAiSocket","catchTag","decodeEmbedding","CreateEmbeddingResponse","createEmbedding","of","updateService","CurrentRedactedNames","appendAll","Object","values","layer","effect","layerConfig","gen","undefined","makeSocket","tracker","socketScope","scope","makeRequest","orDie","preprocess","makeWebSocket","WebSocketConstructor","decoder","TextDecoder","queueRef","idleTimeToLive","acquire","request","url","replace","provideService","headers","write","writer","addFinalizerExit","clearUnsafe","void","incoming","unbounded","send","message","JSON","stringify","mapError","_error","module","method","reason","NetworkError","urlParams","hash","description","runRaw","msg","text","decode","decodeEvent","status","Number","json","reasonFromHttpStatus","isNaN","metadata","http","offerUnsafe","catchCause","cause","failCause","ensuring","forkIn","invalidate","startImmediately","forkScoped","scoped","get","semaphore","makeUnsafe","context","unwrap","acquireRelease","take","release","interruptible","done","fromQueue","e","succeed","fromWeb","add","ErrorEvent","Struct","Literal","withDecodingDefault","String","AllEvents","Union","decodeUnknownSync","fromJsonString","withWebSocketMode","scopedWith","provide","provideContext","layerWebSocketMode","effectContext"],"sources":["../src/OpenAiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,33 @@
1
1
  /**
2
- * The `OpenAiConfig` module provides contextual configuration for the
3
- * `@effect/ai-openai` integration. It is used to customize how OpenAI clients
4
- * are built and interpreted without threading configuration through every API
5
- * call manually.
6
- *
7
- * The primary use case is installing an HTTP client transform with
8
- * {@link withClientTransform}. This lets applications adapt the underlying
9
- * OpenAI HTTP client for cross-cutting concerns such as custom middleware,
10
- * instrumentation, proxying, or request policy changes while keeping the
11
- * OpenAI service APIs unchanged.
12
- *
13
- * Configuration is scoped through Effect's context, so transforms only apply to
14
- * the effect they are provided to and anything evaluated inside that scope.
15
- * When multiple transforms are needed, compose them into a single
16
- * `HttpClient => HttpClient` function before providing the configuration.
2
+ * The `OpenAiConfig` module carries request-time configuration for the
3
+ * `@effect/ai-openai` package through Effect's context. It currently exposes a
4
+ * scoped HTTP client transform used by OpenAI request helpers when they execute
5
+ * provider calls.
6
+ *
7
+ * **Mental model**
8
+ *
9
+ * Client constructors set the baseline HTTP client for an OpenAI service.
10
+ * `OpenAiConfig` is for narrower dynamic scopes: wrap an effect with
11
+ * {@link withClientTransform} and OpenAI requests evaluated inside that effect
12
+ * see the transformed `HttpClient`. Leaving the scope restores the previous
13
+ * configuration.
14
+ *
15
+ * **Common tasks**
16
+ *
17
+ * - Add request middleware, tracing, retry policy, proxy routing, or test
18
+ * interception around a group of OpenAI calls.
19
+ * - Apply a temporary HTTP client transform without rebuilding the OpenAI
20
+ * service layer.
21
+ * - Share one transform across all OpenAI helpers executed inside the same
22
+ * Effect scope.
23
+ *
24
+ * **Gotchas**
25
+ *
26
+ * - Only one `transformClient` value is stored in the scoped config. Compose
27
+ * transforms into a single `HttpClient => HttpClient` function when multiple
28
+ * behaviors should apply.
29
+ * - The transform affects OpenAI requests that read this contextual config; it
30
+ * does not mutate an already constructed HTTP client globally.
17
31
  *
18
32
  * @since 4.0.0
19
33
  */
@@ -25,6 +39,13 @@ declare const OpenAiConfig_base: Context.ServiceClass<OpenAiConfig, "@effect/ai-
25
39
  * Context service carrying scoped OpenAI configuration for provider
26
40
  * operations.
27
41
  *
42
+ * **When to use**
43
+ *
44
+ * Use to provide scoped OpenAI client configuration, such as an HTTP client
45
+ * transform, to OpenAI provider operations without passing it through each call.
46
+ *
47
+ * @see {@link withClientTransform} for scoping an HTTP client transformation
48
+ *
28
49
  * @category services
29
50
  * @since 4.0.0
30
51
  */
@@ -57,6 +78,22 @@ export declare namespace OpenAiConfig {
57
78
  * Provides a scoped transform for the OpenAI HTTP client used by provider
58
79
  * operations.
59
80
  *
81
+ * **When to use**
82
+ *
83
+ * Use when a single effect or workflow needs temporary OpenAI HTTP client
84
+ * customization without rebuilding the client layer.
85
+ *
86
+ * **Details**
87
+ *
88
+ * Supports both data-first and data-last forms. The transform is stored in the
89
+ * scoped `OpenAiConfig` service and read by OpenAI provider operations while
90
+ * running the supplied effect.
91
+ *
92
+ * **Gotchas**
93
+ *
94
+ * If a transform is already present in the scoped config, this helper replaces
95
+ * it. Compose transforms manually when both should apply.
96
+ *
60
97
  * @category configuration
61
98
  * @since 4.0.0
62
99
  */
@@ -65,6 +102,22 @@ export declare const withClientTransform: {
65
102
  * Provides a scoped transform for the OpenAI HTTP client used by provider
66
103
  * operations.
67
104
  *
105
+ * **When to use**
106
+ *
107
+ * Use when a single effect or workflow needs temporary OpenAI HTTP client
108
+ * customization without rebuilding the client layer.
109
+ *
110
+ * **Details**
111
+ *
112
+ * Supports both data-first and data-last forms. The transform is stored in the
113
+ * scoped `OpenAiConfig` service and read by OpenAI provider operations while
114
+ * running the supplied effect.
115
+ *
116
+ * **Gotchas**
117
+ *
118
+ * If a transform is already present in the scoped config, this helper replaces
119
+ * it. Compose transforms manually when both should apply.
120
+ *
68
121
  * @category configuration
69
122
  * @since 4.0.0
70
123
  */
@@ -73,6 +126,22 @@ export declare const withClientTransform: {
73
126
  * Provides a scoped transform for the OpenAI HTTP client used by provider
74
127
  * operations.
75
128
  *
129
+ * **When to use**
130
+ *
131
+ * Use when a single effect or workflow needs temporary OpenAI HTTP client
132
+ * customization without rebuilding the client layer.
133
+ *
134
+ * **Details**
135
+ *
136
+ * Supports both data-first and data-last forms. The transform is stored in the
137
+ * scoped `OpenAiConfig` service and read by OpenAI provider operations while
138
+ * running the supplied effect.
139
+ *
140
+ * **Gotchas**
141
+ *
142
+ * If a transform is already present in the scoped config, this helper replaces
143
+ * it. Compose transforms manually when both should apply.
144
+ *
76
145
  * @category configuration
77
146
  * @since 4.0.0
78
147
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAiConfig.d.ts","sourceRoot":"","sources":["../src/OpenAiConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;;AAEjE;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,iBAGG;IACnC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAGrF;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC;;;;;;OAMG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;KAC5E;CACF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE;IAChC;;;;;;OAMG;IACH,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAClH;;;;;;OAMG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACN,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,GAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAQvB,CAAA"}
1
+ {"version":3,"file":"OpenAiConfig.d.ts","sourceRoot":"","sources":["../src/OpenAiConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;;AAEjE;;;;;;;;;;;;;GAaG;AACH,qBAAa,YAAa,SAAQ,iBAGG;IACnC;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAGrF;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC;;;;;;OAMG;IACH,UAAiB,OAAO;QACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;KAC5E;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,EAAE;IAChC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAClH;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACN,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,UAAU,GAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAQvB,CAAA"}
@@ -1,19 +1,33 @@
1
1
  /**
2
- * The `OpenAiConfig` module provides contextual configuration for the
3
- * `@effect/ai-openai` integration. It is used to customize how OpenAI clients
4
- * are built and interpreted without threading configuration through every API
5
- * call manually.
6
- *
7
- * The primary use case is installing an HTTP client transform with
8
- * {@link withClientTransform}. This lets applications adapt the underlying
9
- * OpenAI HTTP client for cross-cutting concerns such as custom middleware,
10
- * instrumentation, proxying, or request policy changes while keeping the
11
- * OpenAI service APIs unchanged.
12
- *
13
- * Configuration is scoped through Effect's context, so transforms only apply to
14
- * the effect they are provided to and anything evaluated inside that scope.
15
- * When multiple transforms are needed, compose them into a single
16
- * `HttpClient => HttpClient` function before providing the configuration.
2
+ * The `OpenAiConfig` module carries request-time configuration for the
3
+ * `@effect/ai-openai` package through Effect's context. It currently exposes a
4
+ * scoped HTTP client transform used by OpenAI request helpers when they execute
5
+ * provider calls.
6
+ *
7
+ * **Mental model**
8
+ *
9
+ * Client constructors set the baseline HTTP client for an OpenAI service.
10
+ * `OpenAiConfig` is for narrower dynamic scopes: wrap an effect with
11
+ * {@link withClientTransform} and OpenAI requests evaluated inside that effect
12
+ * see the transformed `HttpClient`. Leaving the scope restores the previous
13
+ * configuration.
14
+ *
15
+ * **Common tasks**
16
+ *
17
+ * - Add request middleware, tracing, retry policy, proxy routing, or test
18
+ * interception around a group of OpenAI calls.
19
+ * - Apply a temporary HTTP client transform without rebuilding the OpenAI
20
+ * service layer.
21
+ * - Share one transform across all OpenAI helpers executed inside the same
22
+ * Effect scope.
23
+ *
24
+ * **Gotchas**
25
+ *
26
+ * - Only one `transformClient` value is stored in the scoped config. Compose
27
+ * transforms into a single `HttpClient => HttpClient` function when multiple
28
+ * behaviors should apply.
29
+ * - The transform affects OpenAI requests that read this contextual config; it
30
+ * does not mutate an already constructed HTTP client globally.
17
31
  *
18
32
  * @since 4.0.0
19
33
  */
@@ -24,6 +38,13 @@ import { dual } from "effect/Function";
24
38
  * Context service carrying scoped OpenAI configuration for provider
25
39
  * operations.
26
40
  *
41
+ * **When to use**
42
+ *
43
+ * Use to provide scoped OpenAI client configuration, such as an HTTP client
44
+ * transform, to OpenAI provider operations without passing it through each call.
45
+ *
46
+ * @see {@link withClientTransform} for scoping an HTTP client transformation
47
+ *
27
48
  * @category services
28
49
  * @since 4.0.0
29
50
  */
@@ -39,6 +60,22 @@ export class OpenAiConfig extends /*#__PURE__*/Context.Service()("@effect/ai-ope
39
60
  * Provides a scoped transform for the OpenAI HTTP client used by provider
40
61
  * operations.
41
62
  *
63
+ * **When to use**
64
+ *
65
+ * Use when a single effect or workflow needs temporary OpenAI HTTP client
66
+ * customization without rebuilding the client layer.
67
+ *
68
+ * **Details**
69
+ *
70
+ * Supports both data-first and data-last forms. The transform is stored in the
71
+ * scoped `OpenAiConfig` service and read by OpenAI provider operations while
72
+ * running the supplied effect.
73
+ *
74
+ * **Gotchas**
75
+ *
76
+ * If a transform is already present in the scoped config, this helper replaces
77
+ * it. Compose transforms manually when both should apply.
78
+ *
42
79
  * @category configuration
43
80
  * @since 4.0.0
44
81
  */