@effect/ai-openai 4.0.0-beta.42 → 4.0.0-beta.43
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.map +1 -1
- package/dist/OpenAiClient.js +24 -24
- package/dist/OpenAiClient.js.map +1 -1
- package/package.json +3 -3
- package/src/OpenAiClient.ts +48 -45
|
@@ -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,7 +7,6 @@
|
|
|
7
7
|
* @since 1.0.0
|
|
8
8
|
*/
|
|
9
9
|
import * as Array from "effect/Array";
|
|
10
|
-
import * as Cause from "effect/Cause";
|
|
11
10
|
import * as Effect from "effect/Effect";
|
|
12
11
|
import { identity } from "effect/Function";
|
|
13
12
|
import * as Function from "effect/Function";
|
|
@@ -149,19 +148,24 @@ export class OpenAiSocket extends /*#__PURE__*/ServiceMap.Service()("@effect/ai-
|
|
|
149
148
|
const makeSocket = /*#__PURE__*/Effect.gen(function* () {
|
|
150
149
|
const client = yield* OpenAiClient;
|
|
151
150
|
const tracker = yield* ResponseIdTracker.make;
|
|
152
|
-
const
|
|
151
|
+
const socketScope = yield* Effect.scope;
|
|
152
|
+
const makeRequest = Effect.orDie(client.client.httpClient.preprocess(HttpClientRequest.post("/responses")));
|
|
153
|
+
const makeWebSocket = yield* Socket.WebSocketConstructor;
|
|
153
154
|
const decoder = new TextDecoder();
|
|
154
155
|
const queueRef = yield* RcRef.make({
|
|
155
156
|
idleTimeToLive: 60_000,
|
|
156
157
|
acquire: Effect.gen(function* () {
|
|
157
|
-
const
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
}).pipe(Effect.updateService(Socket.WebSocketConstructor, f => url => f(url, {
|
|
158
|
+
const scope = yield* Effect.scope;
|
|
159
|
+
const request = yield* makeRequest;
|
|
160
|
+
const socket = yield* Socket.makeWebSocket(request.url.replace(/^http/, "ws")).pipe(Effect.provideService(Socket.WebSocketConstructor, url => makeWebSocket(url, {
|
|
161
161
|
headers: request.headers
|
|
162
162
|
})));
|
|
163
163
|
const write = yield* socket.writer;
|
|
164
|
-
|
|
164
|
+
yield* Scope.addFinalizerExit(scope, () => {
|
|
165
|
+
tracker.clearUnsafe();
|
|
166
|
+
return Effect.void;
|
|
167
|
+
});
|
|
168
|
+
const incoming = yield* Queue.unbounded();
|
|
165
169
|
const send = message => write(JSON.stringify({
|
|
166
170
|
type: "response.create",
|
|
167
171
|
...message
|
|
@@ -181,13 +185,9 @@ const makeSocket = /*#__PURE__*/Effect.gen(function* () {
|
|
|
181
185
|
})
|
|
182
186
|
})));
|
|
183
187
|
yield* socket.runRaw(msg => {
|
|
184
|
-
if (!incoming) return;
|
|
185
188
|
const text = typeof msg === "string" ? msg : decoder.decode(msg);
|
|
186
189
|
try {
|
|
187
190
|
const event = decodeEvent(text);
|
|
188
|
-
if (event.type === "error") {
|
|
189
|
-
tracker.clearUnsafe();
|
|
190
|
-
}
|
|
191
191
|
if (event.type === "error" && "status" in event) {
|
|
192
192
|
const json = JSON.stringify(event.error);
|
|
193
193
|
return Effect.fail(AiError.make({
|
|
@@ -212,7 +212,7 @@ const makeSocket = /*#__PURE__*/Effect.gen(function* () {
|
|
|
212
212
|
}
|
|
213
213
|
Queue.offerUnsafe(incoming, event);
|
|
214
214
|
} catch {}
|
|
215
|
-
}).pipe(Effect.
|
|
215
|
+
}).pipe(Effect.catchTag("SocketError", error => AiError.make({
|
|
216
216
|
module: "OpenAiClient",
|
|
217
217
|
method: "createResponseStream",
|
|
218
218
|
reason: new AiError.NetworkError({
|
|
@@ -224,9 +224,11 @@ const makeSocket = /*#__PURE__*/Effect.gen(function* () {
|
|
|
224
224
|
hash: undefined,
|
|
225
225
|
headers: request.headers
|
|
226
226
|
},
|
|
227
|
-
description:
|
|
227
|
+
description: error.message
|
|
228
228
|
})
|
|
229
|
-
}))), Effect.ensuring(RcRef.invalidate(queueRef)
|
|
229
|
+
}).asEffect()), Effect.catchCause(cause => Queue.failCause(incoming, cause)), Effect.ensuring(Effect.forkIn(RcRef.invalidate(queueRef), socketScope, {
|
|
230
|
+
startImmediately: true
|
|
231
|
+
})), Effect.forkScoped({
|
|
230
232
|
startImmediately: true
|
|
231
233
|
}));
|
|
232
234
|
return {
|
|
@@ -235,12 +237,15 @@ const makeSocket = /*#__PURE__*/Effect.gen(function* () {
|
|
|
235
237
|
};
|
|
236
238
|
})
|
|
237
239
|
});
|
|
238
|
-
|
|
240
|
+
// Prime the websocket
|
|
241
|
+
yield* Effect.scoped(RcRef.get(queueRef));
|
|
239
242
|
// Websocket mode only allows one request at a time
|
|
240
243
|
const semaphore = Semaphore.makeUnsafe(1);
|
|
244
|
+
const request = yield* makeRequest;
|
|
241
245
|
return OpenAiSocket.serviceMap({
|
|
242
246
|
createResponseStream(options) {
|
|
243
|
-
const stream = Effect.gen(function* () {
|
|
247
|
+
const stream = Stream.unwrap(Effect.gen(function* () {
|
|
248
|
+
const scope = yield* Effect.scope;
|
|
244
249
|
yield* Effect.acquireRelease(semaphore.take(1), () => semaphore.release(1), {
|
|
245
250
|
interruptible: true
|
|
246
251
|
});
|
|
@@ -249,20 +254,15 @@ const makeSocket = /*#__PURE__*/Effect.gen(function* () {
|
|
|
249
254
|
incoming
|
|
250
255
|
} = yield* RcRef.get(queueRef);
|
|
251
256
|
let done = false;
|
|
252
|
-
yield*
|
|
253
|
-
|
|
254
|
-
tracker.clearUnsafe();
|
|
255
|
-
return RcRef.invalidate(queueRef);
|
|
256
|
-
}, {
|
|
257
|
-
interruptible: true
|
|
258
|
-
}).pipe(Effect.forkScoped({
|
|
257
|
+
yield* Scope.addFinalizerExit(scope, () => done ? Effect.void : RcRef.invalidate(queueRef));
|
|
258
|
+
yield* send(options).pipe(Effect.forkScoped({
|
|
259
259
|
startImmediately: true
|
|
260
260
|
}));
|
|
261
261
|
return Stream.fromQueue(incoming).pipe(Stream.takeUntil(e => {
|
|
262
262
|
done = e.type === "response.completed" || e.type === "response.incomplete";
|
|
263
263
|
return done;
|
|
264
264
|
}));
|
|
265
|
-
})
|
|
265
|
+
}));
|
|
266
266
|
return Effect.succeed([HttpClientResponse.fromWeb(request, new Response()), stream]);
|
|
267
267
|
}
|
|
268
268
|
}).pipe(ServiceMap.add(ResponseIdTracker.ResponseIdTracker, tracker));
|
package/dist/OpenAiClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAiClient.js","names":["Array","Cause","Effect","identity","Function","Layer","Predicate","Queue","RcRef","Redacted","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","decoder","TextDecoder","queueRef","idleTimeToLive","acquire","makeWebSocket","url","replace","closeCodeIsError","constTrue","WebSocketConstructor","f","headers","write","writer","incoming","unbounded","send","message","JSON","stringify","mapError","_error","module","method","reason","NetworkError","urlParams","hash","description","runRaw","msg","text","decode","decodeEvent","clearUnsafe","json","reasonFromHttpStatus","status","metadata","http","offerUnsafe","catchCause","cause","pretty","ensuring","invalidate","forkScoped","startImmediately","get","semaphore","makeUnsafe","serviceMap","acquireRelease","take","release","interruptible","done","void","fromQueue","e","unwrap","succeed","fromWeb","Response","add","ErrorEvent","Struct","Literal","Number","withDecodingDefault","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":[]}
|
|
1
|
+
{"version":3,"file":"OpenAiClient.js","names":["Array","Effect","identity","Function","Layer","Predicate","Queue","RcRef","Redacted","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","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","json","reasonFromHttpStatus","status","metadata","http","offerUnsafe","asEffect","catchCause","cause","failCause","ensuring","forkIn","invalidate","startImmediately","forkScoped","scoped","get","semaphore","makeUnsafe","serviceMap","unwrap","acquireRelease","take","release","interruptible","done","fromQueue","e","succeed","fromWeb","Response","add","ErrorEvent","Struct","Literal","Number","withDecodingDefault","String","AllEvents","Union","decodeUnknownSync","fromJsonString","withWebSocketMode","scopedWith","flatMap","provide","provideServices","layerWebSocketMode","effectServices"],"sources":["../src/OpenAiClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/ai-openai",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.43",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "An OpenAI provider integration for Effect AI SDK",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"provenance": true
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"effect": "^4.0.0-beta.
|
|
46
|
+
"effect": "^4.0.0-beta.43"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"effect": "^4.0.0-beta.
|
|
49
|
+
"effect": "^4.0.0-beta.43"
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"codegen": "effect-utils codegen",
|
package/src/OpenAiClient.ts
CHANGED
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* @since 1.0.0
|
|
8
8
|
*/
|
|
9
9
|
import * as Array from "effect/Array"
|
|
10
|
-
import * as Cause from "effect/Cause"
|
|
11
10
|
import type * as Config from "effect/Config"
|
|
12
11
|
import * as Effect from "effect/Effect"
|
|
13
12
|
import { identity } from "effect/Function"
|
|
@@ -374,8 +373,12 @@ export class OpenAiSocket extends ServiceMap.Service<OpenAiSocket, {
|
|
|
374
373
|
const makeSocket = Effect.gen(function*() {
|
|
375
374
|
const client = yield* OpenAiClient
|
|
376
375
|
const tracker = yield* ResponseIdTracker.make
|
|
377
|
-
const
|
|
376
|
+
const socketScope = yield* Effect.scope
|
|
377
|
+
const makeRequest = Effect.orDie(client.client.httpClient.preprocess(HttpClientRequest.post("/responses")))
|
|
378
|
+
const makeWebSocket = yield* Socket.WebSocketConstructor
|
|
379
|
+
|
|
378
380
|
const decoder = new TextDecoder()
|
|
381
|
+
|
|
379
382
|
const queueRef: RcRef.RcRef<
|
|
380
383
|
{
|
|
381
384
|
readonly send: (message: typeof Generated.CreateResponse.Encoded) => Effect.Effect<void, AiError.AiError>
|
|
@@ -384,18 +387,22 @@ const makeSocket = Effect.gen(function*() {
|
|
|
384
387
|
> = yield* RcRef.make({
|
|
385
388
|
idleTimeToLive: 60_000,
|
|
386
389
|
acquire: Effect.gen(function*() {
|
|
387
|
-
const
|
|
388
|
-
const
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
f(url, {
|
|
390
|
+
const scope = yield* Effect.scope
|
|
391
|
+
const request = yield* makeRequest
|
|
392
|
+
const socket = yield* Socket.makeWebSocket(request.url.replace(/^http/, "ws")).pipe(
|
|
393
|
+
Effect.provideService(Socket.WebSocketConstructor, (url) =>
|
|
394
|
+
makeWebSocket(url, {
|
|
393
395
|
headers: request.headers
|
|
394
396
|
} as any))
|
|
395
397
|
)
|
|
396
398
|
const write = yield* socket.writer
|
|
397
399
|
|
|
398
|
-
|
|
400
|
+
yield* Scope.addFinalizerExit(scope, () => {
|
|
401
|
+
tracker.clearUnsafe()
|
|
402
|
+
return Effect.void
|
|
403
|
+
})
|
|
404
|
+
|
|
405
|
+
const incoming = yield* Queue.unbounded<ResponseStreamEvent, AiError.AiError>()
|
|
399
406
|
const send = (message: typeof Generated.CreateResponse.Encoded) =>
|
|
400
407
|
write(JSON.stringify({
|
|
401
408
|
type: "response.create",
|
|
@@ -421,13 +428,9 @@ const makeSocket = Effect.gen(function*() {
|
|
|
421
428
|
)
|
|
422
429
|
|
|
423
430
|
yield* socket.runRaw((msg) => {
|
|
424
|
-
if (!incoming) return
|
|
425
431
|
const text = typeof msg === "string" ? msg : decoder.decode(msg)
|
|
426
432
|
try {
|
|
427
433
|
const event = decodeEvent(text)
|
|
428
|
-
if (event.type === "error") {
|
|
429
|
-
tracker.clearUnsafe()
|
|
430
|
-
}
|
|
431
434
|
if (event.type === "error" && "status" in event) {
|
|
432
435
|
const json = JSON.stringify(event.error)
|
|
433
436
|
return Effect.fail(
|
|
@@ -455,27 +458,26 @@ const makeSocket = Effect.gen(function*() {
|
|
|
455
458
|
Queue.offerUnsafe(incoming, event)
|
|
456
459
|
} catch {}
|
|
457
460
|
}).pipe(
|
|
458
|
-
Effect.
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
},
|
|
473
|
-
description: Cause.pretty(cause)
|
|
474
|
-
})
|
|
461
|
+
Effect.catchTag("SocketError", (error) =>
|
|
462
|
+
AiError.make({
|
|
463
|
+
module: "OpenAiClient",
|
|
464
|
+
method: "createResponseStream",
|
|
465
|
+
reason: new AiError.NetworkError({
|
|
466
|
+
reason: "TransportError",
|
|
467
|
+
request: {
|
|
468
|
+
method: "POST",
|
|
469
|
+
url: request.url,
|
|
470
|
+
urlParams: [],
|
|
471
|
+
hash: undefined,
|
|
472
|
+
headers: request.headers
|
|
473
|
+
},
|
|
474
|
+
description: error.message
|
|
475
475
|
})
|
|
476
|
-
)
|
|
477
|
-
),
|
|
478
|
-
Effect.ensuring(RcRef.invalidate(queueRef)
|
|
476
|
+
}).asEffect()),
|
|
477
|
+
Effect.catchCause((cause) => Queue.failCause(incoming, cause)),
|
|
478
|
+
Effect.ensuring(Effect.forkIn(RcRef.invalidate(queueRef), socketScope, {
|
|
479
|
+
startImmediately: true
|
|
480
|
+
})),
|
|
479
481
|
Effect.forkScoped({ startImmediately: true })
|
|
480
482
|
)
|
|
481
483
|
|
|
@@ -483,14 +485,17 @@ const makeSocket = Effect.gen(function*() {
|
|
|
483
485
|
})
|
|
484
486
|
})
|
|
485
487
|
|
|
486
|
-
|
|
488
|
+
// Prime the websocket
|
|
489
|
+
yield* Effect.scoped(RcRef.get(queueRef))
|
|
487
490
|
|
|
488
491
|
// Websocket mode only allows one request at a time
|
|
489
492
|
const semaphore = Semaphore.makeUnsafe(1)
|
|
493
|
+
const request = yield* makeRequest
|
|
490
494
|
|
|
491
495
|
return OpenAiSocket.serviceMap({
|
|
492
496
|
createResponseStream(options) {
|
|
493
|
-
const stream = Effect.gen(function*() {
|
|
497
|
+
const stream = Stream.unwrap(Effect.gen(function*() {
|
|
498
|
+
const scope = yield* Effect.scope
|
|
494
499
|
yield* Effect.acquireRelease(
|
|
495
500
|
semaphore.take(1),
|
|
496
501
|
() => semaphore.release(1),
|
|
@@ -499,24 +504,22 @@ const makeSocket = Effect.gen(function*() {
|
|
|
499
504
|
const { send, incoming } = yield* RcRef.get(queueRef)
|
|
500
505
|
let done = false
|
|
501
506
|
|
|
502
|
-
yield*
|
|
503
|
-
|
|
504
|
-
() =>
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
},
|
|
509
|
-
{ interruptible: true }
|
|
510
|
-
).pipe(
|
|
507
|
+
yield* Scope.addFinalizerExit(
|
|
508
|
+
scope,
|
|
509
|
+
() => done ? Effect.void : RcRef.invalidate(queueRef)
|
|
510
|
+
)
|
|
511
|
+
|
|
512
|
+
yield* send(options).pipe(
|
|
511
513
|
Effect.forkScoped({ startImmediately: true })
|
|
512
514
|
)
|
|
515
|
+
|
|
513
516
|
return Stream.fromQueue(incoming).pipe(
|
|
514
517
|
Stream.takeUntil((e) => {
|
|
515
518
|
done = e.type === "response.completed" || e.type === "response.incomplete"
|
|
516
519
|
return done
|
|
517
520
|
})
|
|
518
521
|
)
|
|
519
|
-
})
|
|
522
|
+
}))
|
|
520
523
|
|
|
521
524
|
return Effect.succeed([
|
|
522
525
|
HttpClientResponse.fromWeb(request, new Response()),
|