@effect-uai/responses 0.12.0 → 0.12.1

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 (47) hide show
  1. package/dist/OpenAIDeepResearch.d.mts +6 -5
  2. package/dist/OpenAIDeepResearch.d.mts.map +1 -1
  3. package/dist/OpenAIDeepResearch.mjs +8 -4
  4. package/dist/OpenAIDeepResearch.mjs.map +1 -1
  5. package/dist/OpenAIEmbedding.d.mts +2 -3
  6. package/dist/OpenAIEmbedding.d.mts.map +1 -1
  7. package/dist/OpenAIEmbedding.mjs +1 -1
  8. package/dist/OpenAIEmbedding.mjs.map +1 -1
  9. package/dist/Responses.d.mts +0 -2
  10. package/dist/Responses.d.mts.map +1 -1
  11. package/dist/Responses.mjs +4 -3
  12. package/dist/Responses.mjs.map +1 -1
  13. package/dist/ResponsesTools.d.mts +0 -2
  14. package/dist/ResponsesTools.d.mts.map +1 -1
  15. package/dist/ResponsesTools.mjs +1 -1
  16. package/dist/ResponsesTools.mjs.map +1 -1
  17. package/dist/codec.d.mts +0 -2
  18. package/dist/codec.d.mts.map +1 -1
  19. package/dist/codec.mjs +1 -1
  20. package/dist/codec.mjs.map +1 -1
  21. package/dist/codec.test.d.mts +1 -1
  22. package/dist/codec.test.mjs +4 -3
  23. package/dist/codec.test.mjs.map +1 -1
  24. package/dist/{magic-string.es-CaWgF-3p.mjs → magic-string.es-CUAnjKYC.mjs} +14 -13
  25. package/dist/{magic-string.es-CaWgF-3p.mjs.map → magic-string.es-CUAnjKYC.mjs.map} +1 -1
  26. package/dist/models.d.mts.map +1 -1
  27. package/dist/region.d.mts.map +1 -1
  28. package/dist/region.mjs.map +1 -1
  29. package/dist/region.test.d.mts +1 -1
  30. package/dist/region.test.mjs +1 -1
  31. package/dist/region.test.mjs.map +1 -1
  32. package/dist/responsesTools.test.d.mts +1 -1
  33. package/dist/responsesTools.test.mjs +7 -5
  34. package/dist/responsesTools.test.mjs.map +1 -1
  35. package/dist/streamEvents.d.mts +0 -2
  36. package/dist/streamEvents.d.mts.map +1 -1
  37. package/dist/streamEvents.mjs +1 -1
  38. package/dist/streamEvents.mjs.map +1 -1
  39. package/dist/{test.DNmyFkvJ-CPKukVWS.mjs → test.DNmyFkvJ-N3QqMRwZ.mjs} +247 -222
  40. package/dist/test.DNmyFkvJ-N3QqMRwZ.mjs.map +1 -0
  41. package/package.json +5 -5
  42. package/src/OpenAIDeepResearch.ts +9 -14
  43. package/src/OpenAIEmbedding.ts +24 -29
  44. package/src/Responses.ts +4 -7
  45. package/src/ResponsesTools.ts +4 -6
  46. package/dist/test.DNmyFkvJ-CPKukVWS.mjs.map +0 -1
  47. /package/dist/{chunk-CfYAbeIz.mjs → rolldown-runtime-D7D4PA-g.mjs} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect-uai/responses",
3
- "version": "0.12.0",
3
+ "version": "0.12.1",
4
4
  "description": "OpenAI Responses API provider for @effect-uai/core.",
5
5
  "keywords": [
6
6
  "ai",
@@ -55,13 +55,13 @@
55
55
  "access": "public"
56
56
  },
57
57
  "devDependencies": {
58
- "effect": "4.0.0-beta.94",
59
- "typescript": "^6.0.3",
60
- "@effect-uai/core": "0.12.0"
58
+ "effect": "4.0.0-rc.111",
59
+ "typescript": "^7.0.2",
60
+ "@effect-uai/core": "0.12.1"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "@effect-uai/core": ">=0.2.0 <1",
64
- "effect": ">=4.0.0-beta.94 <5.0.0"
64
+ "effect": ">=4.0.0-rc.111 <5.0.0"
65
65
  },
66
66
  "scripts": {
67
67
  "build": "tsdown",
@@ -87,20 +87,15 @@ export const jobStateOf = (wire: WireResponseCompleted): ResearchState =>
87
87
  Match.value(wire.status ?? "").pipe(
88
88
  Match.when("queued", (): ResearchState => ({ _tag: "Pending" })),
89
89
  Match.when("in_progress", (): ResearchState => ({ _tag: "Running" })),
90
- Match.whenOr(
91
- "completed",
92
- "incomplete",
93
- (): ResearchState => ({ _tag: "Succeeded", result: turnFromCompleted(wire) }),
94
- ),
95
- Match.whenOr(
96
- "failed",
97
- "cancelled",
98
- (): ResearchState => ({
99
- _tag: "Failed",
100
- ...(wire.error?.message != null && { reason: wire.error.message }),
101
- raw: wire,
102
- }),
103
- ),
90
+ Match.whenOr("completed", "incomplete", (): ResearchState => ({
91
+ _tag: "Succeeded",
92
+ result: turnFromCompleted(wire),
93
+ })),
94
+ Match.whenOr("failed", "cancelled", (): ResearchState => ({
95
+ _tag: "Failed",
96
+ ...(wire.error?.message != null && { reason: wire.error.message }),
97
+ raw: wire,
98
+ })),
104
99
  Match.orElse((): ResearchState => ({ _tag: "Running" })),
105
100
  )
106
101
 
@@ -241,12 +241,10 @@ const embedManyImpl =
241
241
  ): Effect.Effect<EmbedManyResponse, AiError.AiError, HttpClient.HttpClient> =>
242
242
  buildBatchBody(request).pipe(
243
243
  Effect.flatMap((body) => postEmbed(cfg, body)),
244
- Effect.map(
245
- (decoded): EmbedManyResponse => ({
246
- embeddings: orderedEmbeddings(decoded.data),
247
- usage: usageOf(decoded.usage),
248
- }),
249
- ),
244
+ Effect.map((decoded): EmbedManyResponse => ({
245
+ embeddings: orderedEmbeddings(decoded.data),
246
+ usage: usageOf(decoded.usage),
247
+ })),
250
248
  )
251
249
 
252
250
  // ---------------------------------------------------------------------------
@@ -279,29 +277,26 @@ export const layer = (
279
277
  const typed = Layer.effect(OpenAIEmbedding, make(cfg))
280
278
  const generic = Layer.effect(
281
279
  EmbeddingModel,
282
- Effect.map(
283
- make(cfg),
284
- (s): EmbeddingModelService => ({
285
- // OpenAI emits float32 only and has no task parameter. Reject a
286
- // non-float32 `encoding` (bucket 1, else a float32 vector comes back
287
- // mislabeled as the requested type) and warn on a dropped `task`
288
- // (bucket 2).
289
- embed: <E extends EmbedEncoding | undefined = undefined>(
290
- req: Omit<CommonEmbedRequest, "encoding"> & { readonly encoding?: E },
291
- ) =>
292
- assertEncoding(req.encoding, ["float32"], "openai").pipe(
293
- Effect.andThen(warnTaskDropped(req.task)),
294
- Effect.andThen(s.embed(req as OpenAIEmbedRequest)),
295
- ) as Effect.Effect<EmbedResponse<E>, AiError.AiError>,
296
- embedMany: <E extends EmbedEncoding | undefined = undefined>(
297
- req: Omit<CommonEmbedManyRequest, "encoding"> & { readonly encoding?: E },
298
- ) =>
299
- assertEncoding(req.encoding, ["float32"], "openai").pipe(
300
- Effect.andThen(warnTaskDropped(req.task)),
301
- Effect.andThen(s.embedMany(req as OpenAIEmbedManyRequest)),
302
- ) as Effect.Effect<EmbedManyResponse<E>, AiError.AiError>,
303
- }),
304
- ),
280
+ Effect.map(make(cfg), (s): EmbeddingModelService => ({
281
+ // OpenAI emits float32 only and has no task parameter. Reject a
282
+ // non-float32 `encoding` (bucket 1, else a float32 vector comes back
283
+ // mislabeled as the requested type) and warn on a dropped `task`
284
+ // (bucket 2).
285
+ embed: <E extends EmbedEncoding | undefined = undefined>(
286
+ req: Omit<CommonEmbedRequest, "encoding"> & { readonly encoding?: E },
287
+ ) =>
288
+ assertEncoding(req.encoding, ["float32"], "openai").pipe(
289
+ Effect.andThen(warnTaskDropped(req.task)),
290
+ Effect.andThen(s.embed(req as OpenAIEmbedRequest)),
291
+ ) as Effect.Effect<EmbedResponse<E>, AiError.AiError>,
292
+ embedMany: <E extends EmbedEncoding | undefined = undefined>(
293
+ req: Omit<CommonEmbedManyRequest, "encoding"> & { readonly encoding?: E },
294
+ ) =>
295
+ assertEncoding(req.encoding, ["float32"], "openai").pipe(
296
+ Effect.andThen(warnTaskDropped(req.task)),
297
+ Effect.andThen(s.embedMany(req as OpenAIEmbedManyRequest)),
298
+ ) as Effect.Effect<EmbedManyResponse<E>, AiError.AiError>,
299
+ })),
305
300
  )
306
301
  return Layer.merge(typed, generic)
307
302
  }
package/src/Responses.ts CHANGED
@@ -396,13 +396,10 @@ export const layer = (
396
396
  const typed = Layer.effect(Responses, make(cfg))
397
397
  const generic = Layer.effect(
398
398
  LanguageModel,
399
- Effect.map(
400
- make(cfg),
401
- (s): LanguageModelService => ({
402
- streamTurn: (request) => s.streamTurn(request as ResponsesRequest),
403
- turn: (request) => s.turn(request as ResponsesRequest),
404
- }),
405
- ),
399
+ Effect.map(make(cfg), (s): LanguageModelService => ({
400
+ streamTurn: (request) => s.streamTurn(request as ResponsesRequest),
401
+ turn: (request) => s.turn(request as ResponsesRequest),
402
+ })),
406
403
  )
407
404
  return Layer.merge(typed, generic)
408
405
  }
@@ -139,12 +139,10 @@ const renderOne = (
139
139
  })
140
140
  : decodeConfig(tool.config).pipe(
141
141
  Result.map(configToWire),
142
- Result.mapError(
143
- (): ToolRenderError => ({
144
- capability: "providerTool",
145
- reason: `unrecognized Responses provider tool config on "${tool.name}"`,
146
- }),
147
- ),
142
+ Result.mapError((): ToolRenderError => ({
143
+ capability: "providerTool",
144
+ reason: `unrecognized Responses provider tool config on "${tool.name}"`,
145
+ })),
148
146
  )
149
147
 
150
148
  /**