@effect/ai-openai 4.0.0-beta.7 → 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.
- package/dist/Generated.d.ts +66734 -37723
- package/dist/Generated.d.ts.map +1 -1
- package/dist/Generated.js +1 -1
- package/dist/Generated.js.map +1 -1
- package/dist/OpenAiClient.d.ts +167 -27
- package/dist/OpenAiClient.d.ts.map +1 -1
- package/dist/OpenAiClient.js +337 -44
- package/dist/OpenAiClient.js.map +1 -1
- package/dist/OpenAiClientGenerated.d.ts +91 -0
- package/dist/OpenAiClientGenerated.d.ts.map +1 -0
- package/dist/OpenAiClientGenerated.js +84 -0
- package/dist/OpenAiClientGenerated.js.map +1 -0
- package/dist/OpenAiConfig.d.ts +114 -10
- package/dist/OpenAiConfig.d.ts.map +1 -1
- package/dist/OpenAiConfig.js +68 -7
- package/dist/OpenAiConfig.js.map +1 -1
- package/dist/OpenAiEmbeddingModel.d.ts +213 -0
- package/dist/OpenAiEmbeddingModel.d.ts.map +1 -0
- package/dist/OpenAiEmbeddingModel.js +219 -0
- package/dist/OpenAiEmbeddingModel.js.map +1 -0
- package/dist/OpenAiError.d.ts +168 -35
- package/dist/OpenAiError.d.ts.map +1 -1
- package/dist/OpenAiError.js +1 -1
- package/dist/OpenAiLanguageModel.d.ts +384 -62
- package/dist/OpenAiLanguageModel.d.ts.map +1 -1
- package/dist/OpenAiLanguageModel.js +416 -166
- package/dist/OpenAiLanguageModel.js.map +1 -1
- package/dist/OpenAiSchema.d.ts +2298 -0
- package/dist/OpenAiSchema.d.ts.map +1 -0
- package/dist/OpenAiSchema.js +814 -0
- package/dist/OpenAiSchema.js.map +1 -0
- package/dist/OpenAiTelemetry.d.ts +59 -18
- package/dist/OpenAiTelemetry.d.ts.map +1 -1
- package/dist/OpenAiTelemetry.js +35 -8
- package/dist/OpenAiTelemetry.js.map +1 -1
- package/dist/OpenAiTool.d.ts +157 -62
- package/dist/OpenAiTool.d.ts.map +1 -1
- package/dist/OpenAiTool.js +134 -39
- package/dist/OpenAiTool.js.map +1 -1
- package/dist/index.d.ts +19 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -33
- package/dist/index.js.map +1 -1
- package/dist/internal/errors.js +4 -4
- package/dist/internal/errors.js.map +1 -1
- package/package.json +3 -3
- package/src/Generated.ts +9858 -5044
- package/src/OpenAiClient.ts +513 -95
- package/src/OpenAiClientGenerated.ts +202 -0
- package/src/OpenAiConfig.ts +115 -11
- package/src/OpenAiEmbeddingModel.ts +357 -0
- package/src/OpenAiError.ts +170 -35
- package/src/OpenAiLanguageModel.ts +802 -167
- package/src/OpenAiSchema.ts +1289 -0
- package/src/OpenAiTelemetry.ts +81 -23
- package/src/OpenAiTool.ts +135 -40
- package/src/index.ts +22 -33
- package/src/internal/errors.ts +6 -4
package/dist/OpenAiClient.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
10
|
-
import * as
|
|
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
|
-
*
|
|
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
|
|
25
|
+
* The transformed HTTP client used by this service.
|
|
20
26
|
*/
|
|
21
|
-
readonly client:
|
|
27
|
+
readonly client: HttpClient.HttpClient;
|
|
22
28
|
/**
|
|
23
29
|
* Create a response using the OpenAI responses endpoint.
|
|
24
30
|
*/
|
|
25
|
-
readonly createResponse: (options: typeof
|
|
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
|
|
35
|
+
readonly createResponseStream: (options: Omit<typeof OpenAiSchema.CreateResponse.Encoded, "stream">) => Effect.Effect<readonly [
|
|
33
36
|
response: HttpClientResponse.HttpClientResponse,
|
|
34
|
-
stream: Stream.Stream<typeof
|
|
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
|
|
42
|
+
readonly createEmbedding: (options: typeof OpenAiSchema.CreateEmbeddingRequest.Encoded) => Effect.Effect<typeof OpenAiSchema.CreateEmbeddingResponse.Type, AiError.AiError>;
|
|
40
43
|
}
|
|
41
|
-
declare const OpenAiClient_base:
|
|
44
|
+
declare const OpenAiClient_base: Context.ServiceClass<OpenAiClient, "@effect/ai-openai/OpenAiClient", Service>;
|
|
42
45
|
/**
|
|
43
46
|
* Service identifier for the OpenAI client.
|
|
44
47
|
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
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
|
+
*
|
|
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
65
|
* @category models
|
|
66
|
+
* @since 4.0.0
|
|
55
67
|
*/
|
|
56
68
|
export type Options = {
|
|
57
69
|
/**
|
|
@@ -80,29 +92,70 @@ export type Options = {
|
|
|
80
92
|
/**
|
|
81
93
|
* Creates an OpenAI client service with the given options.
|
|
82
94
|
*
|
|
83
|
-
*
|
|
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
|
+
*
|
|
84
115
|
* @category constructors
|
|
116
|
+
* @since 4.0.0
|
|
85
117
|
*/
|
|
86
118
|
export declare const make: (options: Options) => Effect.Effect<Service, never, HttpClient.HttpClient>;
|
|
87
119
|
/**
|
|
88
120
|
* Creates a layer for the OpenAI client with the given options.
|
|
89
121
|
*
|
|
90
|
-
*
|
|
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
|
+
*
|
|
91
130
|
* @category layers
|
|
131
|
+
* @since 4.0.0
|
|
92
132
|
*/
|
|
93
133
|
export declare const layer: (options: Options) => Layer.Layer<OpenAiClient, never, HttpClient.HttpClient>;
|
|
94
134
|
/**
|
|
95
|
-
* Creates a layer for the OpenAI client
|
|
96
|
-
*
|
|
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
|
|
97
150
|
*
|
|
98
|
-
* @since 1.0.0
|
|
99
151
|
* @category layers
|
|
152
|
+
* @since 4.0.0
|
|
100
153
|
*/
|
|
101
154
|
export declare const layerConfig: (options?: {
|
|
102
155
|
/**
|
|
103
156
|
* The config value to load for the API key.
|
|
104
157
|
*/
|
|
105
|
-
readonly apiKey?: Config.Config<Redacted.Redacted<string
|
|
158
|
+
readonly apiKey?: Config.Config<Redacted.Redacted<string> | undefined> | undefined;
|
|
106
159
|
/**
|
|
107
160
|
* The config value to load for the API URL.
|
|
108
161
|
*/
|
|
@@ -110,15 +163,102 @@ export declare const layerConfig: (options?: {
|
|
|
110
163
|
/**
|
|
111
164
|
* The config value to load for the organization ID.
|
|
112
165
|
*/
|
|
113
|
-
readonly organizationId?: Config.Config<Redacted.Redacted<string
|
|
166
|
+
readonly organizationId?: Config.Config<Redacted.Redacted<string> | undefined> | undefined;
|
|
114
167
|
/**
|
|
115
168
|
* The config value to load for the project ID.
|
|
116
169
|
*/
|
|
117
|
-
readonly projectId?: Config.Config<Redacted.Redacted<string
|
|
170
|
+
readonly projectId?: Config.Config<Redacted.Redacted<string> | undefined> | undefined;
|
|
118
171
|
/**
|
|
119
172
|
* Optional transformer for the HTTP client.
|
|
120
173
|
*/
|
|
121
174
|
readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined;
|
|
122
175
|
}) => Layer.Layer<OpenAiClient, Config.ConfigError, HttpClient.HttpClient>;
|
|
176
|
+
/**
|
|
177
|
+
* Response stream event emitted by the OpenAI Responses API.
|
|
178
|
+
*
|
|
179
|
+
* @category Events
|
|
180
|
+
* @since 4.0.0
|
|
181
|
+
*/
|
|
182
|
+
export type ResponseStreamEvent = typeof OpenAiSchema.ResponseStreamEvent.Type;
|
|
183
|
+
declare const OpenAiSocket_base: Context.ServiceClass<OpenAiSocket, "@effect/ai-openai/OpenAiClient/OpenAiSocket", {
|
|
184
|
+
/**
|
|
185
|
+
* Create a streaming response using the OpenAI responses endpoint.
|
|
186
|
+
*/
|
|
187
|
+
readonly createResponseStream: (options: Omit<typeof OpenAiSchema.CreateResponse.Encoded, "stream">) => Effect.Effect<readonly [response: HttpClientResponse.HttpClientResponse, stream: Stream.Stream<ResponseStreamEvent, AiError.AiError>], AiError.AiError>;
|
|
188
|
+
}>;
|
|
189
|
+
/**
|
|
190
|
+
* Service for creating OpenAI response streams over a WebSocket connection.
|
|
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
|
+
*
|
|
211
|
+
* @category Websocket mode
|
|
212
|
+
* @since 4.0.0
|
|
213
|
+
*/
|
|
214
|
+
export declare class OpenAiSocket extends OpenAiSocket_base {
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
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.
|
|
223
|
+
*
|
|
224
|
+
* **Gotchas**
|
|
225
|
+
*
|
|
226
|
+
* This only works with the following WebSocket constructor layers:
|
|
227
|
+
*
|
|
228
|
+
* - `NodeSocket.layerWebSocketConstructorWS`
|
|
229
|
+
* - `BunSocket.layerWebSocketConstructor`
|
|
230
|
+
*
|
|
231
|
+
* This is because it needs to use non-standard options for setting the 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
|
+
* This is because it needs to use non-standard options for setting the Authorization header.
|
|
256
|
+
*
|
|
257
|
+
* @see {@link withWebSocketMode} for enabling WebSocket mode around a single effect
|
|
258
|
+
*
|
|
259
|
+
* @category Websocket mode
|
|
260
|
+
* @since 4.0.0
|
|
261
|
+
*/
|
|
262
|
+
export declare const layerWebSocketMode: Layer.Layer<OpenAiSocket | ResponseIdTracker.ResponseIdTracker, never, OpenAiClient | Socket.WebSocketConstructor>;
|
|
123
263
|
export {};
|
|
124
264
|
//# sourceMappingURL=OpenAiClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiClient.d.ts","sourceRoot":"","sources":["../src/OpenAiClient.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenAiClient.d.ts","sourceRoot":"","sources":["../src/OpenAiClient.ts"],"names":[],"mappings":"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"}
|