@effect/ai-openai 4.0.0-beta.32 → 4.0.0-beta.34
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/OpenAiClient.d.ts +53 -7
- package/dist/OpenAiClient.d.ts.map +1 -1
- package/dist/OpenAiClient.js +193 -7
- package/dist/OpenAiClient.js.map +1 -1
- package/dist/OpenAiEmbeddingModel.d.ts +85 -0
- package/dist/OpenAiEmbeddingModel.d.ts.map +1 -0
- package/dist/OpenAiEmbeddingModel.js +116 -0
- package/dist/OpenAiEmbeddingModel.js.map +1 -0
- package/dist/OpenAiLanguageModel.d.ts.map +1 -1
- package/dist/OpenAiLanguageModel.js +9 -5
- package/dist/OpenAiLanguageModel.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/OpenAiClient.ts +306 -37
- package/src/OpenAiEmbeddingModel.ts +200 -0
- package/src/OpenAiLanguageModel.ts +7 -5
- package/src/index.ts +9 -0
package/dist/OpenAiClient.d.ts
CHANGED
|
@@ -4,9 +4,11 @@ import * as Layer from "effect/Layer";
|
|
|
4
4
|
import * as Redacted from "effect/Redacted";
|
|
5
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 HttpClientResponse from "effect/unstable/http/HttpClientResponse";
|
|
11
|
+
import * as Socket from "effect/unstable/socket/Socket";
|
|
10
12
|
import * as Generated from "./Generated.ts";
|
|
11
13
|
/**
|
|
12
14
|
* The OpenAI client interface.
|
|
@@ -22,14 +24,11 @@ export interface Service {
|
|
|
22
24
|
/**
|
|
23
25
|
* Create a response using the OpenAI responses endpoint.
|
|
24
26
|
*/
|
|
25
|
-
readonly createResponse: (options: typeof Generated.CreateResponse.Encoded) => Effect.Effect<[
|
|
26
|
-
body: typeof Generated.Response.Type,
|
|
27
|
-
response: HttpClientResponse.HttpClientResponse
|
|
28
|
-
], AiError.AiError>;
|
|
27
|
+
readonly createResponse: (options: typeof Generated.CreateResponse.Encoded) => Effect.Effect<readonly [body: typeof Generated.Response.Type, response: HttpClientResponse.HttpClientResponse], AiError.AiError>;
|
|
29
28
|
/**
|
|
30
29
|
* Create a streaming response using the OpenAI responses endpoint.
|
|
31
30
|
*/
|
|
32
|
-
readonly createResponseStream: (options: Omit<typeof Generated.CreateResponse.Encoded, "stream">) => Effect.Effect<[
|
|
31
|
+
readonly createResponseStream: (options: Omit<typeof Generated.CreateResponse.Encoded, "stream">) => Effect.Effect<readonly [
|
|
33
32
|
response: HttpClientResponse.HttpClientResponse,
|
|
34
33
|
stream: Stream.Stream<typeof Generated.ResponseStreamEvent.Type, AiError.AiError>
|
|
35
34
|
], AiError.AiError>;
|
|
@@ -120,5 +119,52 @@ export declare const layerConfig: (options?: {
|
|
|
120
119
|
*/
|
|
121
120
|
readonly transformClient?: ((client: HttpClient.HttpClient) => HttpClient.HttpClient) | undefined;
|
|
122
121
|
}) => Layer.Layer<OpenAiClient, Config.ConfigError, HttpClient.HttpClient>;
|
|
122
|
+
/**
|
|
123
|
+
* @since 1.0.0
|
|
124
|
+
* @category Events
|
|
125
|
+
*/
|
|
126
|
+
export type ResponseStreamEvent = typeof Generated.ResponseStreamEvent.Type;
|
|
127
|
+
declare const OpenAiSocket_base: ServiceMap.ServiceClass<OpenAiSocket, "@effect/ai-openai/OpenAiClient/OpenAiSocket", {
|
|
128
|
+
/**
|
|
129
|
+
* Create a streaming response using the OpenAI responses endpoint.
|
|
130
|
+
*/
|
|
131
|
+
readonly createResponseStream: (options: Omit<typeof Generated.CreateResponse.Encoded, "stream">) => Effect.Effect<readonly [response: HttpClientResponse.HttpClientResponse, stream: Stream.Stream<ResponseStreamEvent, AiError.AiError>], AiError.AiError>;
|
|
132
|
+
}>;
|
|
133
|
+
/**
|
|
134
|
+
* @since 1.0.0
|
|
135
|
+
* @category Websocket mode
|
|
136
|
+
*/
|
|
137
|
+
export declare class OpenAiSocket extends OpenAiSocket_base {
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Uses OpenAI's websocket mode for all responses within the provided effect.
|
|
141
|
+
*
|
|
142
|
+
* Note: This only works with the following WebSocket constructor layers:
|
|
143
|
+
*
|
|
144
|
+
* - `NodeSocket.layerWebSocketConstructorWS`
|
|
145
|
+
* - `BunSocket.layerWebSocketConstructor`
|
|
146
|
+
*
|
|
147
|
+
* This is because it needs to use non-standard options for setting the
|
|
148
|
+
* Authorization header.
|
|
149
|
+
*
|
|
150
|
+
* @since 1.0.0
|
|
151
|
+
* @category Websocket mode
|
|
152
|
+
*/
|
|
153
|
+
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>;
|
|
154
|
+
/**
|
|
155
|
+
* Uses OpenAI's websocket mode for all responses that use the Layer.
|
|
156
|
+
*
|
|
157
|
+
* Note: This only works with the following WebSocket constructor layers:
|
|
158
|
+
*
|
|
159
|
+
* - `NodeSocket.layerWebSocketConstructorWS`
|
|
160
|
+
* - `BunSocket.layerWebSocketConstructor`
|
|
161
|
+
*
|
|
162
|
+
* This is because it needs to use non-standard options for setting the
|
|
163
|
+
* Authorization header.
|
|
164
|
+
*
|
|
165
|
+
* @since 1.0.0
|
|
166
|
+
* @category Websocket mode
|
|
167
|
+
*/
|
|
168
|
+
export declare const layerWebSocketMode: Layer.Layer<OpenAiSocket | ResponseIdTracker.ResponseIdTracker, never, OpenAiClient | Socket.WebSocketConstructor>;
|
|
123
169
|
export {};
|
|
124
170
|
//# 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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"}
|
package/dist/OpenAiClient.js
CHANGED
|
@@ -7,18 +7,31 @@
|
|
|
7
7
|
* @since 1.0.0
|
|
8
8
|
*/
|
|
9
9
|
import * as Array from "effect/Array";
|
|
10
|
+
import * as Cause from "effect/Cause";
|
|
10
11
|
import * as Effect from "effect/Effect";
|
|
12
|
+
import * as Exit from "effect/Exit";
|
|
11
13
|
import { identity } from "effect/Function";
|
|
14
|
+
import * as Function from "effect/Function";
|
|
12
15
|
import * as Layer from "effect/Layer";
|
|
13
16
|
import * as Predicate from "effect/Predicate";
|
|
17
|
+
import * as Queue from "effect/Queue";
|
|
18
|
+
import * as RcRef from "effect/RcRef";
|
|
14
19
|
import * as Redacted from "effect/Redacted";
|
|
20
|
+
import * as Schedule from "effect/Schedule";
|
|
21
|
+
import * as Schema from "effect/Schema";
|
|
22
|
+
import * as Scope from "effect/Scope";
|
|
23
|
+
import * as Semaphore from "effect/Semaphore";
|
|
15
24
|
import * as ServiceMap from "effect/ServiceMap";
|
|
16
25
|
import * as Stream from "effect/Stream";
|
|
26
|
+
import * as AiError from "effect/unstable/ai/AiError";
|
|
27
|
+
import * as ResponseIdTracker from "effect/unstable/ai/ResponseIdTracker";
|
|
17
28
|
import * as Sse from "effect/unstable/encoding/Sse";
|
|
18
29
|
import * as Headers from "effect/unstable/http/Headers";
|
|
19
30
|
import * as HttpBody from "effect/unstable/http/HttpBody";
|
|
20
31
|
import * as HttpClient from "effect/unstable/http/HttpClient";
|
|
21
32
|
import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
|
|
33
|
+
import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
|
|
34
|
+
import * as Socket from "effect/unstable/socket/Socket";
|
|
22
35
|
import * as Generated from "./Generated.js";
|
|
23
36
|
import * as Errors from "./internal/errors.js";
|
|
24
37
|
import { OpenAiConfig } from "./OpenAiConfig.js";
|
|
@@ -47,7 +60,8 @@ const RedactedOpenAiHeaders = {
|
|
|
47
60
|
*/
|
|
48
61
|
export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
49
62
|
const baseClient = yield* HttpClient.HttpClient;
|
|
50
|
-
const
|
|
63
|
+
const apiUrl = options.apiUrl ?? "https://api.openai.com/v1";
|
|
64
|
+
const httpClient = baseClient.pipe(HttpClient.mapRequest(Function.flow(HttpClientRequest.prependUrl(apiUrl), options.apiKey ? HttpClientRequest.bearerToken(Redacted.value(options.apiKey)) : identity, options.organizationId ? HttpClientRequest.setHeader(RedactedOpenAiHeaders.OpenAiOrganization, Redacted.value(options.organizationId)) : identity, options.projectId ? HttpClientRequest.setHeader(RedactedOpenAiHeaders.OpenAiProject, Redacted.value(options.projectId)) : identity, HttpClientRequest.acceptJson)), options.transformClient ? options.transformClient : identity);
|
|
51
65
|
const httpClientOk = HttpClient.filterStatusOk(httpClient);
|
|
52
66
|
const client = Generated.make(httpClient, {
|
|
53
67
|
transformClient: Effect.fnUntraced(function* (client) {
|
|
@@ -76,12 +90,16 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
76
90
|
}));
|
|
77
91
|
return [response, stream];
|
|
78
92
|
};
|
|
79
|
-
const createResponseStream = payload =>
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
const createResponseStream = payload => Effect.servicesWith(services => {
|
|
94
|
+
const socket = ServiceMap.getOrUndefined(services, OpenAiSocket);
|
|
95
|
+
if (socket) return socket.createResponseStream(payload);
|
|
96
|
+
return httpClientOk.execute(HttpClientRequest.post("/responses", {
|
|
97
|
+
body: HttpBody.jsonUnsafe({
|
|
98
|
+
...payload,
|
|
99
|
+
stream: true
|
|
100
|
+
})
|
|
101
|
+
})).pipe(Effect.map(buildResponseStream), Effect.catchTag("HttpClientError", error => Errors.mapHttpClientError(error, "createResponseStream")));
|
|
102
|
+
});
|
|
85
103
|
const createEmbedding = payload => client.createEmbedding({
|
|
86
104
|
payload
|
|
87
105
|
}).pipe(Effect.catchTags({
|
|
@@ -125,4 +143,172 @@ export const layerConfig = options => Layer.effect(OpenAiClient, Effect.gen(func
|
|
|
125
143
|
transformClient: options?.transformClient
|
|
126
144
|
});
|
|
127
145
|
}));
|
|
146
|
+
/**
|
|
147
|
+
* @since 1.0.0
|
|
148
|
+
* @category Websocket mode
|
|
149
|
+
*/
|
|
150
|
+
export class OpenAiSocket extends /*#__PURE__*/ServiceMap.Service()("@effect/ai-openai/OpenAiClient/OpenAiSocket") {}
|
|
151
|
+
const makeSocket = /*#__PURE__*/Effect.gen(function* () {
|
|
152
|
+
const client = yield* OpenAiClient;
|
|
153
|
+
const tracker = yield* ResponseIdTracker.make;
|
|
154
|
+
const request = yield* Effect.orDie(client.client.httpClient.preprocess(HttpClientRequest.post("/responses")));
|
|
155
|
+
const socket = yield* Socket.makeWebSocket(request.url.replace(/^http/, "ws")).pipe(Effect.updateService(Socket.WebSocketConstructor, f => url => f(url, {
|
|
156
|
+
headers: request.headers
|
|
157
|
+
})));
|
|
158
|
+
const queueRef = yield* RcRef.make({
|
|
159
|
+
idleTimeToLive: 60_000,
|
|
160
|
+
acquire: Effect.gen(function* () {
|
|
161
|
+
const write = yield* socket.writer;
|
|
162
|
+
let currentQueue = null;
|
|
163
|
+
const send = (queue, message) => Effect.suspend(() => {
|
|
164
|
+
currentQueue = queue;
|
|
165
|
+
return write(JSON.stringify({
|
|
166
|
+
type: "response.create",
|
|
167
|
+
...message
|
|
168
|
+
}));
|
|
169
|
+
}).pipe(Effect.mapError(_error => AiError.make({
|
|
170
|
+
module: "OpenAiClient",
|
|
171
|
+
method: "createResponseStream",
|
|
172
|
+
reason: new AiError.NetworkError({
|
|
173
|
+
reason: "TransportError",
|
|
174
|
+
request: {
|
|
175
|
+
method: "POST",
|
|
176
|
+
url: request.url,
|
|
177
|
+
urlParams: [],
|
|
178
|
+
hash: undefined,
|
|
179
|
+
headers: request.headers
|
|
180
|
+
},
|
|
181
|
+
description: "Failed to send message over WebSocket"
|
|
182
|
+
})
|
|
183
|
+
})));
|
|
184
|
+
const cancel = Effect.suspend(() => write(JSON.stringify({
|
|
185
|
+
type: "response.cancel"
|
|
186
|
+
}))).pipe(Effect.ignore);
|
|
187
|
+
const reset = () => {
|
|
188
|
+
currentQueue = null;
|
|
189
|
+
};
|
|
190
|
+
const decoder = new TextDecoder();
|
|
191
|
+
yield* socket.runRaw(msg => {
|
|
192
|
+
if (!currentQueue) return;
|
|
193
|
+
const text = typeof msg === "string" ? msg : decoder.decode(msg);
|
|
194
|
+
try {
|
|
195
|
+
const event = decodeEvent(text);
|
|
196
|
+
if (event.type === "error") {
|
|
197
|
+
tracker.clearUnsafe();
|
|
198
|
+
}
|
|
199
|
+
if (event.type === "error" && "status" in event) {
|
|
200
|
+
return Queue.fail(currentQueue, AiError.make({
|
|
201
|
+
module: "OpenAiClient",
|
|
202
|
+
method: "createResponseStream",
|
|
203
|
+
reason: AiError.reasonFromHttpStatus({
|
|
204
|
+
status: event.status,
|
|
205
|
+
metadata: {
|
|
206
|
+
...event.error,
|
|
207
|
+
description: event.error.message
|
|
208
|
+
}
|
|
209
|
+
})
|
|
210
|
+
}));
|
|
211
|
+
}
|
|
212
|
+
Queue.offerUnsafe(currentQueue, event);
|
|
213
|
+
} catch {}
|
|
214
|
+
}).pipe(Effect.catchCause(cause => {
|
|
215
|
+
tracker.clearUnsafe();
|
|
216
|
+
return currentQueue ? Queue.fail(currentQueue, AiError.make({
|
|
217
|
+
module: "OpenAiClient",
|
|
218
|
+
method: "createResponseStream",
|
|
219
|
+
reason: new AiError.NetworkError({
|
|
220
|
+
reason: "TransportError",
|
|
221
|
+
request: {
|
|
222
|
+
method: "POST",
|
|
223
|
+
url: request.url,
|
|
224
|
+
urlParams: [],
|
|
225
|
+
hash: undefined,
|
|
226
|
+
headers: request.headers
|
|
227
|
+
},
|
|
228
|
+
description: Cause.pretty(cause)
|
|
229
|
+
})
|
|
230
|
+
})) : Effect.void;
|
|
231
|
+
}), Effect.repeat(Schedule.exponential(100, 1.5).pipe(Schedule.either(Schedule.spaced({
|
|
232
|
+
seconds: 5
|
|
233
|
+
})), Schedule.jittered)), Effect.forkScoped);
|
|
234
|
+
return {
|
|
235
|
+
send,
|
|
236
|
+
cancel,
|
|
237
|
+
reset
|
|
238
|
+
};
|
|
239
|
+
})
|
|
240
|
+
});
|
|
241
|
+
// Websocket mode only allows one request at a time
|
|
242
|
+
const semaphore = Semaphore.makeUnsafe(1);
|
|
243
|
+
return OpenAiSocket.serviceMap({
|
|
244
|
+
createResponseStream(options) {
|
|
245
|
+
const stream = Effect.gen(function* () {
|
|
246
|
+
yield* Effect.acquireRelease(semaphore.take(1), () => semaphore.release(1), {
|
|
247
|
+
interruptible: true
|
|
248
|
+
});
|
|
249
|
+
const {
|
|
250
|
+
send,
|
|
251
|
+
cancel,
|
|
252
|
+
reset
|
|
253
|
+
} = yield* RcRef.get(queueRef);
|
|
254
|
+
const incoming = yield* Queue.unbounded();
|
|
255
|
+
let done = false;
|
|
256
|
+
yield* Effect.acquireRelease(send(incoming, options), (_, exit) => {
|
|
257
|
+
reset();
|
|
258
|
+
if (Exit.isFailure(exit) && !Exit.hasInterrupts(exit)) return Effect.void;else if (done) return Effect.void;
|
|
259
|
+
return cancel;
|
|
260
|
+
}, {
|
|
261
|
+
interruptible: true
|
|
262
|
+
}).pipe(Effect.forkScoped({
|
|
263
|
+
startImmediately: true
|
|
264
|
+
}));
|
|
265
|
+
return Stream.fromQueue(incoming).pipe(Stream.takeUntil(e => {
|
|
266
|
+
done = e.type === "response.completed" || e.type === "response.incomplete";
|
|
267
|
+
return done;
|
|
268
|
+
}));
|
|
269
|
+
}).pipe(Stream.unwrap);
|
|
270
|
+
return Effect.succeed([HttpClientResponse.fromWeb(request, new Response()), stream]);
|
|
271
|
+
}
|
|
272
|
+
}).pipe(ServiceMap.add(ResponseIdTracker.ResponseIdTracker, tracker));
|
|
273
|
+
});
|
|
274
|
+
const ErrorEvent = /*#__PURE__*/Schema.Struct({
|
|
275
|
+
type: /*#__PURE__*/Schema.Literal("error"),
|
|
276
|
+
status: Schema.Number,
|
|
277
|
+
error: /*#__PURE__*/Schema.Struct({
|
|
278
|
+
type: Schema.String,
|
|
279
|
+
message: Schema.String
|
|
280
|
+
})
|
|
281
|
+
});
|
|
282
|
+
const AllEvents = /*#__PURE__*/Schema.Union([Generated.ResponseStreamEvent, ErrorEvent]);
|
|
283
|
+
const decodeEvent = /*#__PURE__*/Schema.decodeUnknownSync(/*#__PURE__*/Schema.fromJsonString(AllEvents));
|
|
284
|
+
/**
|
|
285
|
+
* Uses OpenAI's websocket mode for all responses within the provided effect.
|
|
286
|
+
*
|
|
287
|
+
* Note: This only works with the following WebSocket constructor layers:
|
|
288
|
+
*
|
|
289
|
+
* - `NodeSocket.layerWebSocketConstructorWS`
|
|
290
|
+
* - `BunSocket.layerWebSocketConstructor`
|
|
291
|
+
*
|
|
292
|
+
* This is because it needs to use non-standard options for setting the
|
|
293
|
+
* Authorization header.
|
|
294
|
+
*
|
|
295
|
+
* @since 1.0.0
|
|
296
|
+
* @category Websocket mode
|
|
297
|
+
*/
|
|
298
|
+
export const withWebSocketMode = effect => Effect.scopedWith(scope => Effect.flatMap(Scope.provide(makeSocket, scope), services => Effect.provideServices(effect, services)));
|
|
299
|
+
/**
|
|
300
|
+
* Uses OpenAI's websocket mode for all responses that use the Layer.
|
|
301
|
+
*
|
|
302
|
+
* Note: This only works with the following WebSocket constructor layers:
|
|
303
|
+
*
|
|
304
|
+
* - `NodeSocket.layerWebSocketConstructorWS`
|
|
305
|
+
* - `BunSocket.layerWebSocketConstructor`
|
|
306
|
+
*
|
|
307
|
+
* This is because it needs to use non-standard options for setting the
|
|
308
|
+
* Authorization header.
|
|
309
|
+
*
|
|
310
|
+
* @since 1.0.0
|
|
311
|
+
* @category Websocket mode
|
|
312
|
+
*/
|
|
313
|
+
export const layerWebSocketMode = /*#__PURE__*/Layer.effectServices(makeSocket);
|
|
128
314
|
//# sourceMappingURL=OpenAiClient.js.map
|
package/dist/OpenAiClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiClient.js","names":["Array","Effect","identity","Layer","Predicate","Redacted","ServiceMap","Stream","Sse","Headers","HttpBody","HttpClient","HttpClientRequest","Generated","Errors","OpenAiConfig","OpenAiClient","Service","RedactedOpenAiHeaders","OpenAiOrganization","OpenAiProject","make","fnUntraced","options","baseClient","httpClient","pipe","mapRequest","request","prependUrl","apiUrl","isNotUndefined","apiKey","bearerToken","value","organizationId","setHeader","projectId","acceptJson","transformClient","httpClientOk","filterStatusOk","client","config","getOrUndefined","createResponse","payload","includeResponse","catchTags","HttpClientError","error","mapHttpClientError","SchemaError","fail","mapSchemaError","buildResponseStream","response","stream","decodeText","pipeThroughChannel","decodeDataSchema","ResponseStreamEvent","takeUntil","event","data","type","map","Retry","die","fromEffect","createResponseStream","execute","post","body","jsonUnsafe","catchTag","createEmbedding","of","updateService","CurrentRedactedNames","appendAll","Object","values","layer","effect","layerConfig","gen","undefined"],"sources":["../src/OpenAiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OpenAiClient.js","names":["Array","Cause","Effect","Exit","identity","Function","Layer","Predicate","Queue","RcRef","Redacted","Schedule","Schema","Scope","Semaphore","ServiceMap","Stream","AiError","ResponseIdTracker","Sse","Headers","HttpBody","HttpClient","HttpClientRequest","HttpClientResponse","Socket","Generated","Errors","OpenAiConfig","OpenAiClient","Service","RedactedOpenAiHeaders","OpenAiOrganization","OpenAiProject","make","fnUntraced","options","baseClient","apiUrl","httpClient","pipe","mapRequest","flow","prependUrl","apiKey","bearerToken","value","organizationId","setHeader","projectId","acceptJson","transformClient","httpClientOk","filterStatusOk","client","config","getOrUndefined","isNotUndefined","createResponse","payload","includeResponse","catchTags","HttpClientError","error","mapHttpClientError","SchemaError","fail","mapSchemaError","buildResponseStream","response","stream","decodeText","pipeThroughChannel","decodeDataSchema","ResponseStreamEvent","takeUntil","event","data","type","map","Retry","die","fromEffect","createResponseStream","servicesWith","services","socket","OpenAiSocket","execute","post","body","jsonUnsafe","catchTag","createEmbedding","of","updateService","CurrentRedactedNames","appendAll","Object","values","layer","effect","layerConfig","gen","undefined","makeSocket","tracker","request","orDie","preprocess","makeWebSocket","url","replace","WebSocketConstructor","f","headers","queueRef","idleTimeToLive","acquire","write","writer","currentQueue","send","queue","message","suspend","JSON","stringify","mapError","_error","module","method","reason","NetworkError","urlParams","hash","description","cancel","ignore","reset","decoder","TextDecoder","runRaw","msg","text","decode","decodeEvent","clearUnsafe","reasonFromHttpStatus","status","metadata","offerUnsafe","catchCause","cause","pretty","void","repeat","exponential","either","spaced","seconds","jittered","forkScoped","semaphore","makeUnsafe","serviceMap","acquireRelease","take","release","interruptible","get","incoming","unbounded","done","_","exit","isFailure","hasInterrupts","startImmediately","fromQueue","e","unwrap","succeed","fromWeb","Response","add","ErrorEvent","Struct","Literal","Number","String","AllEvents","Union","decodeUnknownSync","fromJsonString","withWebSocketMode","scopedWith","scope","flatMap","provide","provideServices","layerWebSocketMode","effectServices"],"sources":["../src/OpenAiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Embedding Model implementation.
|
|
3
|
+
*
|
|
4
|
+
* Provides an EmbeddingModel implementation for OpenAI's embeddings API.
|
|
5
|
+
*
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import * as Layer from "effect/Layer";
|
|
10
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
11
|
+
import * as EmbeddingModel from "effect/unstable/ai/EmbeddingModel";
|
|
12
|
+
import * as AiModel from "effect/unstable/ai/Model";
|
|
13
|
+
import { OpenAiClient } from "./OpenAiClient.ts";
|
|
14
|
+
/**
|
|
15
|
+
* @since 1.0.0
|
|
16
|
+
* @category models
|
|
17
|
+
*/
|
|
18
|
+
export type Model = "text-embedding-ada-002" | "text-embedding-3-small" | "text-embedding-3-large";
|
|
19
|
+
declare const Config_base: ServiceMap.ServiceClass<Config, "@effect/ai-openai/OpenAiEmbeddingModel/Config", {
|
|
20
|
+
readonly [x: string]: unknown;
|
|
21
|
+
readonly encoding_format?: "float" | "base64";
|
|
22
|
+
readonly dimensions?: number;
|
|
23
|
+
readonly user?: string;
|
|
24
|
+
readonly model?: string;
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* Service definition for OpenAI embedding model configuration.
|
|
28
|
+
*
|
|
29
|
+
* @since 1.0.0
|
|
30
|
+
* @category services
|
|
31
|
+
*/
|
|
32
|
+
export declare class Config extends Config_base {
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @since 1.0.0
|
|
36
|
+
* @category constructors
|
|
37
|
+
*/
|
|
38
|
+
export declare const model: (model: (string & {}) | Model, options: {
|
|
39
|
+
readonly dimensions: number;
|
|
40
|
+
readonly config?: Omit<typeof Config.Service, "model" | "dimensions">;
|
|
41
|
+
}) => AiModel.Model<"openai", EmbeddingModel.EmbeddingModel | EmbeddingModel.Dimensions, OpenAiClient>;
|
|
42
|
+
/**
|
|
43
|
+
* Creates an OpenAI embedding model service.
|
|
44
|
+
*
|
|
45
|
+
* @since 1.0.0
|
|
46
|
+
* @category constructors
|
|
47
|
+
*/
|
|
48
|
+
export declare const make: (args_0: {
|
|
49
|
+
readonly model: (string & {}) | Model;
|
|
50
|
+
readonly config?: Omit<typeof Config.Service, "model"> | undefined;
|
|
51
|
+
}) => Effect.Effect<EmbeddingModel.Service, never, OpenAiClient>;
|
|
52
|
+
/**
|
|
53
|
+
* Creates a layer for the OpenAI embedding model.
|
|
54
|
+
*
|
|
55
|
+
* @since 1.0.0
|
|
56
|
+
* @category layers
|
|
57
|
+
*/
|
|
58
|
+
export declare const layer: (options: {
|
|
59
|
+
readonly model: (string & {}) | Model;
|
|
60
|
+
readonly config?: Omit<typeof Config.Service, "model"> | undefined;
|
|
61
|
+
}) => Layer.Layer<EmbeddingModel.EmbeddingModel, never, OpenAiClient>;
|
|
62
|
+
/**
|
|
63
|
+
* Provides config overrides for OpenAI embedding model operations.
|
|
64
|
+
*
|
|
65
|
+
* @since 1.0.0
|
|
66
|
+
* @category configuration
|
|
67
|
+
*/
|
|
68
|
+
export declare const withConfigOverride: {
|
|
69
|
+
/**
|
|
70
|
+
* Provides config overrides for OpenAI embedding model operations.
|
|
71
|
+
*
|
|
72
|
+
* @since 1.0.0
|
|
73
|
+
* @category configuration
|
|
74
|
+
*/
|
|
75
|
+
(overrides: typeof Config.Service): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, Exclude<R, Config>>;
|
|
76
|
+
/**
|
|
77
|
+
* Provides config overrides for OpenAI embedding model operations.
|
|
78
|
+
*
|
|
79
|
+
* @since 1.0.0
|
|
80
|
+
* @category configuration
|
|
81
|
+
*/
|
|
82
|
+
<A, E, R>(self: Effect.Effect<A, E, R>, overrides: typeof Config.Service): Effect.Effect<A, E, Exclude<R, Config>>;
|
|
83
|
+
};
|
|
84
|
+
export {};
|
|
85
|
+
//# sourceMappingURL=OpenAiEmbeddingModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAiEmbeddingModel.d.ts","sourceRoot":"","sources":["../src/OpenAiEmbeddingModel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAG/C,OAAO,KAAK,cAAc,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,wBAAwB,CAAA;;;;;;;;AAElG;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,WAawB;CAAG;AAEvD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,EAC5B,SAAS;IACP,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC,CAAA;CACtE,KACA,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,YAAY,CAc/F,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,IAAI;oBACC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK;sBACnB,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;gEAgBlE,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,SAAS;IAC7B,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CACnE,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,YAAY,CACN,CAAA;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAC/B;;;;;OAKG;IACH,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC,OAAO,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,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;IACtH;;;;;OAKG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;CAwBhH,CAAA"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Embedding Model implementation.
|
|
3
|
+
*
|
|
4
|
+
* Provides an EmbeddingModel implementation for OpenAI's embeddings API.
|
|
5
|
+
*
|
|
6
|
+
* @since 1.0.0
|
|
7
|
+
*/
|
|
8
|
+
import * as Effect from "effect/Effect";
|
|
9
|
+
import { dual } from "effect/Function";
|
|
10
|
+
import * as Layer from "effect/Layer";
|
|
11
|
+
import * as ServiceMap from "effect/ServiceMap";
|
|
12
|
+
import * as AiError from "effect/unstable/ai/AiError";
|
|
13
|
+
import * as EmbeddingModel from "effect/unstable/ai/EmbeddingModel";
|
|
14
|
+
import * as AiModel from "effect/unstable/ai/Model";
|
|
15
|
+
import { OpenAiClient } from "./OpenAiClient.js";
|
|
16
|
+
/**
|
|
17
|
+
* Service definition for OpenAI embedding model configuration.
|
|
18
|
+
*
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
* @category services
|
|
21
|
+
*/
|
|
22
|
+
export class Config extends /*#__PURE__*/ServiceMap.Service()("@effect/ai-openai/OpenAiEmbeddingModel/Config") {}
|
|
23
|
+
/**
|
|
24
|
+
* @since 1.0.0
|
|
25
|
+
* @category constructors
|
|
26
|
+
*/
|
|
27
|
+
export const model = (model, options) => AiModel.make("openai", model, Layer.merge(layer({
|
|
28
|
+
model,
|
|
29
|
+
config: {
|
|
30
|
+
...options.config,
|
|
31
|
+
dimensions: options.dimensions
|
|
32
|
+
}
|
|
33
|
+
}), Layer.succeed(EmbeddingModel.Dimensions, options.dimensions)));
|
|
34
|
+
/**
|
|
35
|
+
* Creates an OpenAI embedding model service.
|
|
36
|
+
*
|
|
37
|
+
* @since 1.0.0
|
|
38
|
+
* @category constructors
|
|
39
|
+
*/
|
|
40
|
+
export const make = /*#__PURE__*/Effect.fnUntraced(function* ({
|
|
41
|
+
model,
|
|
42
|
+
config: providerConfig
|
|
43
|
+
}) {
|
|
44
|
+
const client = yield* OpenAiClient;
|
|
45
|
+
const makeConfig = Effect.gen(function* () {
|
|
46
|
+
const services = yield* Effect.services();
|
|
47
|
+
return {
|
|
48
|
+
model,
|
|
49
|
+
...providerConfig,
|
|
50
|
+
...services.mapUnsafe.get(Config.key)
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
return yield* EmbeddingModel.make({
|
|
54
|
+
embedMany: Effect.fnUntraced(function* ({
|
|
55
|
+
inputs
|
|
56
|
+
}) {
|
|
57
|
+
const config = yield* makeConfig;
|
|
58
|
+
const response = yield* client.createEmbedding({
|
|
59
|
+
...config,
|
|
60
|
+
input: inputs
|
|
61
|
+
});
|
|
62
|
+
return yield* mapProviderResponse(inputs.length, response);
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Creates a layer for the OpenAI embedding model.
|
|
68
|
+
*
|
|
69
|
+
* @since 1.0.0
|
|
70
|
+
* @category layers
|
|
71
|
+
*/
|
|
72
|
+
export const layer = options => Layer.effect(EmbeddingModel.EmbeddingModel, make(options));
|
|
73
|
+
/**
|
|
74
|
+
* Provides config overrides for OpenAI embedding model operations.
|
|
75
|
+
*
|
|
76
|
+
* @since 1.0.0
|
|
77
|
+
* @category configuration
|
|
78
|
+
*/
|
|
79
|
+
export const withConfigOverride = /*#__PURE__*/dual(2, (self, overrides) => Effect.flatMap(Effect.serviceOption(Config), config => Effect.provideService(self, Config, {
|
|
80
|
+
...(config._tag === "Some" ? config.value : {}),
|
|
81
|
+
...overrides
|
|
82
|
+
})));
|
|
83
|
+
const mapProviderResponse = (inputLength, response) => {
|
|
84
|
+
if (response.data.length !== inputLength) {
|
|
85
|
+
return Effect.fail(invalidOutput("Provider returned " + response.data.length + " embeddings but expected " + inputLength));
|
|
86
|
+
}
|
|
87
|
+
const results = new Array(inputLength);
|
|
88
|
+
const seen = new Set();
|
|
89
|
+
for (const entry of response.data) {
|
|
90
|
+
if (!Number.isInteger(entry.index) || entry.index < 0 || entry.index >= inputLength) {
|
|
91
|
+
return Effect.fail(invalidOutput("Provider returned invalid embedding index: " + entry.index));
|
|
92
|
+
}
|
|
93
|
+
if (seen.has(entry.index)) {
|
|
94
|
+
return Effect.fail(invalidOutput("Provider returned duplicate embedding index: " + entry.index));
|
|
95
|
+
}
|
|
96
|
+
seen.add(entry.index);
|
|
97
|
+
results[entry.index] = [...entry.embedding];
|
|
98
|
+
}
|
|
99
|
+
if (seen.size !== inputLength) {
|
|
100
|
+
return Effect.fail(invalidOutput("Provider returned embeddings for " + seen.size + " inputs but expected " + inputLength));
|
|
101
|
+
}
|
|
102
|
+
return Effect.succeed({
|
|
103
|
+
results,
|
|
104
|
+
usage: {
|
|
105
|
+
inputTokens: response.usage?.prompt_tokens
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
const invalidOutput = description => AiError.make({
|
|
110
|
+
module: "OpenAiEmbeddingModel",
|
|
111
|
+
method: "embedMany",
|
|
112
|
+
reason: new AiError.InvalidOutputError({
|
|
113
|
+
description
|
|
114
|
+
})
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=OpenAiEmbeddingModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenAiEmbeddingModel.js","names":["Effect","dual","Layer","ServiceMap","AiError","EmbeddingModel","AiModel","OpenAiClient","Config","Service","model","options","make","merge","layer","config","dimensions","succeed","Dimensions","fnUntraced","providerConfig","client","makeConfig","gen","services","mapUnsafe","get","key","embedMany","inputs","response","createEmbedding","input","mapProviderResponse","length","effect","withConfigOverride","self","overrides","flatMap","serviceOption","provideService","_tag","value","inputLength","data","fail","invalidOutput","results","Array","seen","Set","entry","Number","isInteger","index","has","add","embedding","size","usage","inputTokens","prompt_tokens","description","module","method","reason","InvalidOutputError"],"sources":["../src/OpenAiEmbeddingModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiLanguageModel.d.ts","sourceRoot":"","sources":["../src/OpenAiLanguageModel.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAM/C,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AAOnD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,QAAA,MAAM,gBAAgB,8UAAyC,CAAA;AAC/D,QAAA,MAAM,cAAc,69CAAsC,CAAA;AAE1D;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,gBAAgB,CAAC,OAAO,GAAG,OAAO,cAAc,CAAC,OAAO,CAAA;AAEnF;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAkCpB;QACd;;;;;;WAMG;QACH,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;KAC3D,GAAG,SAAS;IACb;;;;OAIG;;gCACyB,OAAO,GAAG,SAAS;;AA3CrD;;;;;GAKG;AACH,qBAAa,MAAO,SAAQ,WAwCuB;CAAG;AAMtD,OAAO,QAAQ,2BAA2B,CAAC;IACzC,UAAiB,eAAgB,SAAQ,eAAe;QACtD,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB;;eAEG;YACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;SAC1C,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,oBAAqB,SAAQ,eAAe;QAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B;;;;eAIG;YACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAC1C,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,mBAAoB,SAAQ,eAAe;QAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;YACnE;;eAEG;YACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAC3C,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,qBAAsB,SAAQ,eAAe;QAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;YACnE;;eAEG;YACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SACpC,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,eAAgB,SAAQ,eAAe;QACtD,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;YACnE;;eAEG;YACH,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;SACjF,GAAG,IAAI,CAAA;KACT;CACF;AAED,OAAO,QAAQ,6BAA6B,CAAC;IAC3C,UAAiB,gBAAiB,SAAQ,gBAAgB;QACxD,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B;;;;eAIG;YACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAChC;;eAEG;YACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;YACnE;;eAEG;YACH,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;SACjF,CAAA;KACF;IAED,UAAiB,qBAAsB,SAAQ,gBAAgB;QAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAChC,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,mBAAoB,SAAQ,gBAAgB;QAC3D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;SACjF,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,qBAAsB,SAAQ,gBAAgB;QAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAC1C,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,0BAA2B,SAAQ,gBAAgB;QAClE,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAC1C,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,0BAA2B,SAAQ,gBAAgB;QAClE,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAChC,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,wBAAyB,SAAQ,gBAAgB;QAChE,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;SACnC,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,oBAAqB,SAAQ,gBAAgB;QAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAChC,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,0BAA2B,SAAQ,gBAAgB;QAClE,QAAQ,CAAC,MAAM,CAAC,EACZ;YACA,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;YAC9B;;eAEG;YACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;YACtB;;eAEG;YACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SACxB,GACC;YACA,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;YAC1B;;eAEG;YACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;YACtB;;eAEG;YACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SACxB,GACC;YACA,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAA;YACxC;;eAEG;YACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;YACvB;;eAEG;YACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;SAC7B,GACC,IAAI,CAAA;KACT;IAED,UAAiB,qBAAsB,SAAQ,gBAAgB;QAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;YAC7B;;eAEG;YACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;YAC3B;;eAEG;YACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;SAC1B,GAAG,IAAI,CAAA;KACT;IAED,UAAiB,kBAAmB,SAAQ,gBAAgB;QAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,IAAI,CAAA;SACjF,GAAG,IAAI,CAAA;KACT;CACF;AAMD;;;GAGG;AACH,eAAO,MAAM,KAAK,GAChB,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK,EAC5B,SAAS,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAC5C,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,EAAE,YAAY,CACX,CAAA;AAazD;;;;;GAKG;AACH,eAAO,MAAM,IAAI;oBACC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,KAAK;sBACnB,IAAI,CAAC,OAAO,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS;+
|
|
1
|
+
{"version":3,"file":"OpenAiLanguageModel.d.ts","sourceRoot":"","sources":["../src/OpenAiLanguageModel.ts"],"names":[],"mappings":"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"}
|