@effect/ai-openai 4.0.0-beta.8 → 4.0.0-beta.81

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 (58) hide show
  1. package/dist/Generated.d.ts +66675 -37672
  2. package/dist/Generated.d.ts.map +1 -1
  3. package/dist/Generated.js +1 -1
  4. package/dist/Generated.js.map +1 -1
  5. package/dist/OpenAiClient.d.ts +170 -29
  6. package/dist/OpenAiClient.d.ts.map +1 -1
  7. package/dist/OpenAiClient.js +321 -46
  8. package/dist/OpenAiClient.js.map +1 -1
  9. package/dist/OpenAiClientGenerated.d.ts +91 -0
  10. package/dist/OpenAiClientGenerated.d.ts.map +1 -0
  11. package/dist/OpenAiClientGenerated.js +84 -0
  12. package/dist/OpenAiClientGenerated.js.map +1 -0
  13. package/dist/OpenAiConfig.d.ts +88 -10
  14. package/dist/OpenAiConfig.d.ts.map +1 -1
  15. package/dist/OpenAiConfig.js +42 -7
  16. package/dist/OpenAiConfig.js.map +1 -1
  17. package/dist/OpenAiEmbeddingModel.d.ts +188 -0
  18. package/dist/OpenAiEmbeddingModel.d.ts.map +1 -0
  19. package/dist/OpenAiEmbeddingModel.js +194 -0
  20. package/dist/OpenAiEmbeddingModel.js.map +1 -0
  21. package/dist/OpenAiError.d.ts +168 -35
  22. package/dist/OpenAiError.d.ts.map +1 -1
  23. package/dist/OpenAiError.js +1 -1
  24. package/dist/OpenAiLanguageModel.d.ts +357 -63
  25. package/dist/OpenAiLanguageModel.d.ts.map +1 -1
  26. package/dist/OpenAiLanguageModel.js +390 -168
  27. package/dist/OpenAiLanguageModel.js.map +1 -1
  28. package/dist/OpenAiSchema.d.ts +2325 -0
  29. package/dist/OpenAiSchema.d.ts.map +1 -0
  30. package/dist/OpenAiSchema.js +811 -0
  31. package/dist/OpenAiSchema.js.map +1 -0
  32. package/dist/OpenAiTelemetry.d.ts +63 -22
  33. package/dist/OpenAiTelemetry.d.ts.map +1 -1
  34. package/dist/OpenAiTelemetry.js +20 -10
  35. package/dist/OpenAiTelemetry.js.map +1 -1
  36. package/dist/OpenAiTool.d.ts +148 -62
  37. package/dist/OpenAiTool.d.ts.map +1 -1
  38. package/dist/OpenAiTool.js +125 -39
  39. package/dist/OpenAiTool.js.map +1 -1
  40. package/dist/index.d.ts +19 -33
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +19 -33
  43. package/dist/index.js.map +1 -1
  44. package/dist/internal/errors.js +4 -4
  45. package/dist/internal/errors.js.map +1 -1
  46. package/package.json +3 -3
  47. package/src/Generated.ts +9717 -4887
  48. package/src/OpenAiClient.ts +499 -98
  49. package/src/OpenAiClientGenerated.ts +202 -0
  50. package/src/OpenAiConfig.ts +89 -11
  51. package/src/OpenAiEmbeddingModel.ts +332 -0
  52. package/src/OpenAiError.ts +170 -35
  53. package/src/OpenAiLanguageModel.ts +776 -169
  54. package/src/OpenAiSchema.ts +1286 -0
  55. package/src/OpenAiTelemetry.ts +69 -28
  56. package/src/OpenAiTool.ts +126 -40
  57. package/src/index.ts +22 -33
  58. package/src/internal/errors.ts +6 -4
@@ -1,57 +1,69 @@
1
1
  import type * as Config from "effect/Config";
2
+ import * as Context from "effect/Context";
2
3
  import * as Effect from "effect/Effect";
3
4
  import * as Layer from "effect/Layer";
4
5
  import * as Redacted from "effect/Redacted";
5
- import * as ServiceMap from "effect/ServiceMap";
6
6
  import * as Stream from "effect/Stream";
7
- import type * as AiError from "effect/unstable/ai/AiError";
7
+ import * as AiError from "effect/unstable/ai/AiError";
8
+ import * as ResponseIdTracker from "effect/unstable/ai/ResponseIdTracker";
8
9
  import * as HttpClient from "effect/unstable/http/HttpClient";
9
- import type * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
10
- import * as Generated from "./Generated.ts";
10
+ import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
11
+ import * as Socket from "effect/unstable/socket/Socket";
12
+ import * as OpenAiSchema from "./OpenAiSchema.ts";
11
13
  /**
12
- * The OpenAI client interface.
14
+ * Effect service interface for the handwritten OpenAI client.
15
+ *
16
+ * **Details**
17
+ *
18
+ * Provides the configured HTTP client plus helpers for Responses API calls, streaming Responses events, and embeddings. Transport and schema decoding failures are mapped to `AiError`.
13
19
  *
14
- * @since 1.0.0
15
20
  * @category models
21
+ * @since 4.0.0
16
22
  */
17
23
  export interface Service {
18
24
  /**
19
- * The underlying generated OpenAI client.
25
+ * The transformed HTTP client used by this service.
20
26
  */
21
- readonly client: Generated.OpenAiClient;
27
+ readonly client: HttpClient.HttpClient;
22
28
  /**
23
29
  * Create a response using the OpenAI responses endpoint.
24
30
  */
25
- readonly createResponse: (options: typeof Generated.CreateResponse.Encoded) => Effect.Effect<[
26
- body: typeof Generated.Response.Type,
27
- response: HttpClientResponse.HttpClientResponse
28
- ], AiError.AiError>;
31
+ readonly createResponse: (options: typeof OpenAiSchema.CreateResponse.Encoded) => Effect.Effect<readonly [body: typeof OpenAiSchema.Response.Type, response: HttpClientResponse.HttpClientResponse], AiError.AiError>;
29
32
  /**
30
33
  * Create a streaming response using the OpenAI responses endpoint.
31
34
  */
32
- readonly createResponseStream: (options: Omit<typeof Generated.CreateResponse.Encoded, "stream">) => Effect.Effect<[
35
+ readonly createResponseStream: (options: Omit<typeof OpenAiSchema.CreateResponse.Encoded, "stream">) => Effect.Effect<readonly [
33
36
  response: HttpClientResponse.HttpClientResponse,
34
- stream: Stream.Stream<typeof Generated.ResponseStreamEvent.Type, AiError.AiError>
37
+ stream: Stream.Stream<typeof OpenAiSchema.ResponseStreamEvent.Type, AiError.AiError>
35
38
  ], AiError.AiError>;
36
39
  /**
37
40
  * Create embeddings using the OpenAI embeddings endpoint.
38
41
  */
39
- readonly createEmbedding: (options: typeof Generated.CreateEmbeddingRequest.Encoded) => Effect.Effect<typeof Generated.CreateEmbeddingResponse.Type, AiError.AiError>;
42
+ readonly createEmbedding: (options: typeof OpenAiSchema.CreateEmbeddingRequest.Encoded) => Effect.Effect<typeof OpenAiSchema.CreateEmbeddingResponse.Type, AiError.AiError>;
40
43
  }
41
- declare const OpenAiClient_base: ServiceMap.ServiceClass<OpenAiClient, "@effect/ai-openai/OpenAiClient", Service>;
44
+ declare const OpenAiClient_base: Context.ServiceClass<OpenAiClient, "@effect/ai-openai/OpenAiClient", Service>;
42
45
  /**
43
- * Service identifier for the OpenAI client.
46
+ * Service tag for the OpenAI client.
47
+ *
48
+ * **When to use**
44
49
  *
45
- * @since 1.0.0
46
- * @category service
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
+ *
57
+ * @category services
58
+ * @since 4.0.0
47
59
  */
48
60
  export declare class OpenAiClient extends OpenAiClient_base {
49
61
  }
50
62
  /**
51
63
  * Options for configuring the OpenAI client.
52
64
  *
53
- * @since 1.0.0
54
- * @category models
65
+ * @category options
66
+ * @since 4.0.0
55
67
  */
56
68
  export type Options = {
57
69
  /**
@@ -80,29 +92,69 @@ export type Options = {
80
92
  /**
81
93
  * Creates an OpenAI client service with the given options.
82
94
  *
83
- * @since 1.0.0
95
+ * **When to use**
96
+ *
97
+ * Use when you need the OpenAI client service value inside an effect.
98
+ *
99
+ * **Details**
100
+ *
101
+ * The returned service uses the current `HttpClient`, prepends `apiUrl` or
102
+ * `https://api.openai.com/v1`, adds the bearer token and optional OpenAI
103
+ * organization/project headers, accepts JSON responses, filters for successful
104
+ * HTTP statuses, and applies `transformClient` when provided.
105
+ *
106
+ * **Gotchas**
107
+ *
108
+ * A scoped `OpenAiConfig.withClientTransform` is applied when request helpers
109
+ * run, after the `transformClient` option supplied to `make`.
110
+ *
111
+ * @see {@link layer} for providing this client from explicit options
112
+ * @see {@link layerConfig} for loading client settings from `Config`
113
+ *
84
114
  * @category constructors
115
+ * @since 4.0.0
85
116
  */
86
117
  export declare const make: (options: Options) => Effect.Effect<Service, never, HttpClient.HttpClient>;
87
118
  /**
88
119
  * Creates a layer for the OpenAI client with the given options.
89
120
  *
90
- * @since 1.0.0
121
+ * **When to use**
122
+ *
123
+ * Use when you already have explicit `Options` values, such as an API key or
124
+ * custom API URL, and want to provide `OpenAiClient` as a `Layer`.
125
+ *
126
+ * @see {@link make} for constructing the client service effectfully
127
+ * @see {@link layerConfig} for loading client settings from `Config`
128
+ *
91
129
  * @category layers
130
+ * @since 4.0.0
92
131
  */
93
132
  export declare const layer: (options: Options) => Layer.Layer<OpenAiClient, never, HttpClient.HttpClient>;
94
133
  /**
95
- * Creates a layer for the OpenAI client, loading the requisite configuration
96
- * via Effect's `Config` module.
134
+ * Creates a layer for the OpenAI client from provided `Config` values.
135
+ *
136
+ * **When to use**
137
+ *
138
+ * Use when you need client settings for OpenAI-compatible APIs to be read from
139
+ * Effect `Config` values while providing `OpenAiClient` as a `Layer`.
140
+ *
141
+ * **Details**
142
+ *
143
+ * Only config values supplied in `options` are loaded. Omitted fields are
144
+ * passed to `make` as `undefined`, and `transformClient` is forwarded as a
145
+ * plain option.
146
+ *
147
+ * @see {@link make} for constructing the client service effectfully
148
+ * @see {@link layer} for providing the client from already-resolved options
97
149
  *
98
- * @since 1.0.0
99
150
  * @category layers
151
+ * @since 4.0.0
100
152
  */
101
153
  export declare const layerConfig: (options?: {
102
154
  /**
103
155
  * The config value to load for the API key.
104
156
  */
105
- readonly apiKey?: Config.Config<Redacted.Redacted<string>> | undefined;
157
+ readonly apiKey?: Config.Config<Redacted.Redacted<string> | undefined> | undefined;
106
158
  /**
107
159
  * The config value to load for the API URL.
108
160
  */
@@ -110,15 +162,104 @@ export declare const layerConfig: (options?: {
110
162
  /**
111
163
  * The config value to load for the organization ID.
112
164
  */
113
- readonly organizationId?: Config.Config<Redacted.Redacted<string>> | undefined;
165
+ readonly organizationId?: Config.Config<Redacted.Redacted<string> | undefined> | undefined;
114
166
  /**
115
167
  * The config value to load for the project ID.
116
168
  */
117
- readonly projectId?: Config.Config<Redacted.Redacted<string>> | undefined;
169
+ readonly projectId?: Config.Config<Redacted.Redacted<string> | undefined> | undefined;
118
170
  /**
119
171
  * Optional transformer for the HTTP client.
120
172
  */
121
173
  readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined;
122
174
  }) => Layer.Layer<OpenAiClient, Config.ConfigError, HttpClient.HttpClient>;
175
+ /**
176
+ * Response stream event emitted by the OpenAI Responses API.
177
+ *
178
+ * @category Events
179
+ * @since 4.0.0
180
+ */
181
+ export type ResponseStreamEvent = typeof OpenAiSchema.ResponseStreamEvent.Type;
182
+ declare const OpenAiSocket_base: Context.ServiceClass<OpenAiSocket, "@effect/ai-openai/OpenAiClient/OpenAiSocket", {
183
+ /**
184
+ * Create a streaming response using the OpenAI responses endpoint.
185
+ */
186
+ readonly createResponseStream: (options: Omit<typeof OpenAiSchema.CreateResponse.Encoded, "stream">) => Effect.Effect<readonly [response: HttpClientResponse.HttpClientResponse, stream: Stream.Stream<ResponseStreamEvent, AiError.AiError>], AiError.AiError>;
187
+ }>;
188
+ /**
189
+ * Service for creating OpenAI response streams over a WebSocket connection.
190
+ *
191
+ * **When to use**
192
+ *
193
+ * Use when you need direct access to the WebSocket-backed response streaming
194
+ * service rather than wrapping an effect with WebSocket mode.
195
+ *
196
+ * **Details**
197
+ *
198
+ * `createResponseStream` sends a `response.create` message over the WebSocket
199
+ * connection and returns an HTTP response together with a stream of
200
+ * `ResponseStreamEvent` values.
201
+ *
202
+ * **Gotchas**
203
+ *
204
+ * WebSocket response streams are serialized to one request at a time by the
205
+ * shared socket service.
206
+ *
207
+ * @see {@link withWebSocketMode} for enabling WebSocket mode for one effect
208
+ * @see {@link layerWebSocketMode} for providing WebSocket mode through a layer
209
+ *
210
+ * @category Websocket mode
211
+ * @since 4.0.0
212
+ */
213
+ export declare class OpenAiSocket extends OpenAiSocket_base {
214
+ }
215
+ /**
216
+ * Uses OpenAI's WebSocket mode for response streams within the provided effect.
217
+ *
218
+ * **When to use**
219
+ *
220
+ * Use to enable WebSocket mode around one effect that creates OpenAI response
221
+ * streams.
222
+ *
223
+ * **Gotchas**
224
+ *
225
+ * This only works with the following WebSocket constructor layers:
226
+ *
227
+ * - `NodeSocket.layerWebSocketConstructorWS`
228
+ * - `BunSocket.layerWebSocketConstructor`
229
+ *
230
+ * These constructor layers support the non-standard options needed to set the
231
+ * Authorization header.
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
+ *
236
+ * @category Websocket mode
237
+ * @since 4.0.0
238
+ */
239
+ export declare const withWebSocketMode: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, OpenAiSocket | ResponseIdTracker.ResponseIdTracker> | OpenAiClient | Socket.WebSocketConstructor>;
240
+ /**
241
+ * Uses OpenAI's websocket mode for all responses that use the Layer.
242
+ *
243
+ * **When to use**
244
+ *
245
+ * Use to provide WebSocket mode through layer composition for effects that use
246
+ * OpenAI response streaming.
247
+ *
248
+ * **Gotchas**
249
+ *
250
+ * This only works with the following WebSocket constructor layers:
251
+ *
252
+ * - `NodeSocket.layerWebSocketConstructorWS`
253
+ * - `BunSocket.layerWebSocketConstructor`
254
+ *
255
+ * These constructor layers support the non-standard options needed to set the
256
+ * Authorization header.
257
+ *
258
+ * @see {@link withWebSocketMode} for enabling WebSocket mode around a single effect
259
+ *
260
+ * @category Websocket mode
261
+ * @since 4.0.0
262
+ */
263
+ export declare const layerWebSocketMode: Layer.Layer<OpenAiSocket | ResponseIdTracker.ResponseIdTracker, never, OpenAiClient | Socket.WebSocketConstructor>;
123
264
  export {};
124
265
  //# sourceMappingURL=OpenAiClient.d.ts.map
@@ -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":"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"}