@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.
@@ -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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"}
@@ -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 request = yield* Effect.orDie(client.client.httpClient.preprocess(HttpClientRequest.post("/responses")));
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 request = yield* Effect.orDie(client.client.httpClient.preprocess(HttpClientRequest.post("/responses")));
158
- const socket = yield* Socket.makeWebSocket(request.url.replace(/^http/, "ws"), {
159
- closeCodeIsError: Function.constTrue
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
- let incoming = yield* Queue.unbounded();
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.catchCause(cause => Queue.fail(incoming, AiError.make({
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: Cause.pretty(cause)
227
+ description: error.message
228
228
  })
229
- }))), Effect.ensuring(RcRef.invalidate(queueRef)), Effect.forkScoped({
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
- yield* Effect.forkScoped(RcRef.get(queueRef));
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* Effect.acquireRelease(send(options), () => {
253
- if (done) return Effect.void;
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
- }).pipe(Stream.unwrap);
265
+ }));
266
266
  return Effect.succeed([HttpClientResponse.fromWeb(request, new Response()), stream]);
267
267
  }
268
268
  }).pipe(ServiceMap.add(ResponseIdTracker.ResponseIdTracker, tracker));
@@ -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.42",
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.42"
46
+ "effect": "^4.0.0-beta.43"
47
47
  },
48
48
  "peerDependencies": {
49
- "effect": "^4.0.0-beta.42"
49
+ "effect": "^4.0.0-beta.43"
50
50
  },
51
51
  "scripts": {
52
52
  "codegen": "effect-utils codegen",
@@ -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 request = yield* Effect.orDie(client.client.httpClient.preprocess(HttpClientRequest.post("/responses")))
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 request = yield* Effect.orDie(client.client.httpClient.preprocess(HttpClientRequest.post("/responses")))
388
- const socket = yield* Socket.makeWebSocket(request.url.replace(/^http/, "ws"), {
389
- closeCodeIsError: Function.constTrue
390
- }).pipe(
391
- Effect.updateService(Socket.WebSocketConstructor, (f) => (url) =>
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
- let incoming = yield* Queue.unbounded<ResponseStreamEvent, AiError.AiError>()
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.catchCause((cause) =>
459
- Queue.fail(
460
- incoming,
461
- AiError.make({
462
- module: "OpenAiClient",
463
- method: "createResponseStream",
464
- reason: new AiError.NetworkError({
465
- reason: "TransportError",
466
- request: {
467
- method: "POST",
468
- url: request.url,
469
- urlParams: [],
470
- hash: undefined,
471
- headers: request.headers
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
- yield* Effect.forkScoped(RcRef.get(queueRef))
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* Effect.acquireRelease(
503
- send(options),
504
- () => {
505
- if (done) return Effect.void
506
- tracker.clearUnsafe()
507
- return RcRef.invalidate(queueRef)
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
- }).pipe(Stream.unwrap)
522
+ }))
520
523
 
521
524
  return Effect.succeed([
522
525
  HttpClientResponse.fromWeb(request, new Response()),