Skip to content
Effect Days 2026 Get your ticket

@effect/ai-openrouter

4.0.0-rc.115

Patch Changes

4.0.0-rc.114

Patch Changes

  • #8170 b0f7be1 Thanks @JeremyFunk! - Fix negative text and uncached token usage when reasoning or cached counts exceed their parent totals. Treat these counts as disjoint, adding them to the total and retaining the parent count as text or uncached usage.

    Disjoint counts at or below their parent totals remain indistinguishable from subsets, so their totals are still undercounted.

  • Updated dependencies [3ff4952, 6d55555, 716e0c0, d4e4ad5, b1988f4, 482b7d7, 716e0c0, 9941e6d]:

    • effect@4.0.0-rc.114

4.0.0-rc.113

Patch Changes

4.0.0-rc.112

Patch Changes

4.0.0-rc.111

Patch Changes

4.0.0-rc.110

Patch Changes

4.0.0-rc.109

Patch Changes

4.0.0-rc.108

Patch Changes

4.0.0-beta.107

Patch Changes

4.0.0-beta.106

Patch Changes

4.0.0-beta.105

Patch Changes

4.0.0-beta.104

Patch Changes

4.0.0-beta.103

Patch Changes

4.0.0-beta.102

Patch Changes

  • #6608 0e50ec7 Thanks @gcanti! - Add Schema.Natural for non-negative safe integers and use canonical Schema.Int, Schema.Finite, and Schema.Natural schemas for numeric domain values across Effect, AI protocols, and OpenAPI patches.

    Update the date, date-time, file, time-zone, cluster, event-log, persistence, socket, SQL, and DevTools schemas to reject invalid non-finite or non-integer values where appropriate. Correct the decoded schema of Schema.NumberFromString, and allow Schema.DurationFromMillis and Schema.DurationFromNanos to represent negative durations.

  • #6567 5101e92 Thanks @gcanti! - Add Record.assignProperty and safely handle dynamic record keys such as __proto__ and inherited property names.

  • #6572 c0f9fc9 Thanks @tim-smart! - Regenerate the Generated module against OpenRouter’s current published specification. This preserves nullable generation statistics and streamed usage cost metadata while incorporating the broader upstream schema changes.

    Notable generated schema renames include ChatGenerationParams to ChatRequest, ChatGenerationTokenUsage to ChatUsage, AssistantMessage to ChatAssistantMessage, ChatStreamingResponseChunk to ChatStreamingResponse, and ChatMessageContentItemCacheControl to ChatContentCacheControl. Handwritten public aliases such as ChatStreamingResponseChunkData, ReasoningDetails, and FileAnnotation retain their existing names.

  • Updated dependencies [b6392e1, 7ed9450, 45762bd, a6e8391, 4ac7e8b, 4cd40f5, 6956bc0, 0e50ec7, 9fcdade, 57367d5, 35c445f, c917bb9, bc1f358, 0e0c9d7, 73d40aa, 4f1e318, 9d8d85c, 6079fda, 5101e92, d0b3265, 7a03c89, cea1d9c, 078e1f5, 97bafea, fab0ab8, c323d8b, 6966353, 0444004, 028bbb3, ff5d6e2, 1bfce93, 7ce815c, 7271a7f, 475fe5c]:

    • effect@4.0.0-beta.102

4.0.0-beta.101

Patch Changes

4.0.0-beta.100

Patch Changes

4.0.0-beta.99

Patch Changes

4.0.0-beta.98

Patch Changes

4.0.0-beta.97

Patch Changes

  • Updated dependencies []:
    • effect@4.0.0-beta.97

4.0.0-beta.96

Patch Changes

4.0.0-beta.95

Patch Changes

4.0.0-beta.94

Patch Changes

4.0.0-beta.93

Patch Changes

4.0.0-beta.92

Patch Changes

  • Updated dependencies [affdc13]:
    • effect@4.0.0-beta.92

4.0.0-beta.91

Patch Changes

4.0.0-beta.90

Patch Changes

  • Updated dependencies [d237fdf]:
    • effect@4.0.0-beta.90

4.0.0-beta.89

Patch Changes

4.0.0-beta.88

Patch Changes

4.0.0-beta.87

Patch Changes

4.0.0-beta.86

Patch Changes

4.0.0-beta.85

Patch Changes

4.0.0-beta.84

Patch Changes

  • #2379 717d1c8 Thanks @walln! - Convert audio file parts in prompts into OpenRouter input_audio content blocks.

    Previously, every non-image file part was converted into a generic file content block. OpenRouter only accepts audio as base64-encoded input_audio content parts, so audio attachments were rejected or mishandled by the upstream provider.

    Audio file parts with a recognized mediaType (aac, aiff, flac, m4a, mp3, ogg, pcm16, pcm24, and wav) are now converted into input_audio blocks. Unsupported audio media types and URL audio data fail with an AiError since OpenRouter requires base64-encoded audio data and does not fetch audio URLs.

  • Updated dependencies [87f52ba, b8ee07f, 867c0d7, b93bc6c, 57d387f, bacca41, 0f8ac79, 25b4482, 9cf3a25, 8def767]:

    • effect@4.0.0-beta.84

4.0.0-beta.83

Patch Changes

  • Updated dependencies [1f2e8ce]:
    • effect@4.0.0-beta.83

4.0.0-beta.82

Patch Changes

  • Updated dependencies [193690b]:
    • effect@4.0.0-beta.82

4.0.0-beta.81

Patch Changes

4.0.0-beta.80

Patch Changes

4.0.0-beta.79

Patch Changes

4.0.0-beta.78

Patch Changes

4.0.0-beta.77

Patch Changes

4.0.0-beta.76

Patch Changes

4.0.0-beta.75

Patch Changes

4.0.0-beta.74

Patch Changes

  • Updated dependencies [b1fc6a4]:
    • effect@4.0.0-beta.74

4.0.0-beta.73

Patch Changes

4.0.0-beta.72

Patch Changes

4.0.0-beta.71

Patch Changes

4.0.0-beta.70

Patch Changes

4.0.0-beta.69

Patch Changes

4.0.0-beta.68

Patch Changes

4.0.0-beta.67

Patch Changes

4.0.0-beta.66

Patch Changes

4.0.0-beta.65

Patch Changes

  • Updated dependencies [6f11454]:
    • effect@4.0.0-beta.65

4.0.0-beta.64

Patch Changes

  • Updated dependencies [7d4877a]:
    • effect@4.0.0-beta.64

4.0.0-beta.63

Patch Changes

4.0.0-beta.62

Patch Changes

  • Updated dependencies [4ab4b90]:
    • effect@4.0.0-beta.62

4.0.0-beta.61

Patch Changes

4.0.0-beta.60

Patch Changes

4.0.0-beta.59

Patch Changes

  • Updated dependencies [56837ea]:
    • effect@4.0.0-beta.59

4.0.0-beta.58

Patch Changes

4.0.0-beta.57

Patch Changes

4.0.0-beta.56

Patch Changes

  • Updated dependencies []:
    • effect@4.0.0-beta.56

4.0.0-beta.55

Patch Changes

4.0.0-beta.54

Patch Changes

4.0.0-beta.53

Patch Changes

4.0.0-beta.52

Patch Changes

4.0.0-beta.51

Patch Changes

4.0.0-beta.50

Patch Changes

4.0.0-beta.49

Patch Changes

4.0.0-beta.48

Patch Changes

4.0.0-beta.47

Patch Changes

4.0.0-beta.46

Patch Changes

  • Updated dependencies [3a30b9e]:
    • effect@4.0.0-beta.46

4.0.0-beta.45

Patch Changes

  • Updated dependencies [5c3af6d]:
    • effect@4.0.0-beta.45

4.0.0-beta.44

Patch Changes

4.0.0-beta.43

Patch Changes

4.0.0-beta.42

Patch Changes

4.0.0-beta.41

Patch Changes

4.0.0-beta.40

Patch Changes

4.0.0-beta.39

Patch Changes

4.0.0-beta.38

Patch Changes

4.0.0-beta.37

Patch Changes

4.0.0-beta.36

Patch Changes

4.0.0-beta.35

Patch Changes

4.0.0-beta.34

Patch Changes

4.0.0-beta.33

Patch Changes

  • Updated dependencies [571447d]:
    • effect@4.0.0-beta.33

4.0.0-beta.32

Patch Changes

4.0.0-beta.31

Patch Changes

4.0.0-beta.30

Patch Changes

4.0.0-beta.29

Patch Changes

4.0.0-beta.28

Patch Changes

4.0.0-beta.27

Patch Changes

4.0.0-beta.26

Patch Changes

4.0.0-beta.25

Patch Changes

4.0.0-beta.24

Patch Changes

4.0.0-beta.23

Patch Changes

  • Updated dependencies [5c73c41]:
    • effect@4.0.0-beta.23

4.0.0-beta.22

Patch Changes

4.0.0-beta.21

Patch Changes

4.0.0-beta.20

Patch Changes

4.0.0-beta.19

Patch Changes

  • Updated dependencies []:
    • effect@4.0.0-beta.19

4.0.0-beta.18

Patch Changes

4.0.0-beta.17

Patch Changes

  • Updated dependencies [8f59c32]:
    • effect@4.0.0-beta.17

4.0.0-beta.16

Patch Changes

4.0.0-beta.15

Patch Changes

4.0.0-beta.14

Patch Changes

4.0.0-beta.13

Patch Changes

4.0.0-beta.12

Patch Changes

4.0.0-beta.11

Patch Changes

4.0.0-beta.10

Patch Changes

4.0.0-beta.9

Patch Changes

4.0.0-beta.8

Patch Changes

  • #1354 b94962c Thanks @IMax153! - Fix the generated schemas for ai providers

  • Updated dependencies [246e672, 807dec0]:

    • effect@4.0.0-beta.8

4.0.0-beta.7

Patch Changes

4.0.0-beta.6

Patch Changes

4.0.0-beta.5

Patch Changes

4.0.0-beta.4

Patch Changes

4.0.0-beta.3

Patch Changes

  • #1306 c9fb5a5 Thanks @Leka74! - Fix sparse array crash in streamText tool call handling.

  • Updated dependencies [3a0cf36, c4da328]:

    • effect@4.0.0-beta.3

4.0.0-beta.2

Patch Changes

4.0.0-beta.1

Patch Changes

4.0.0-beta.0

Major Changes

Patch Changes

  • Updated dependencies [be642ab]:
    • effect@4.0.0-beta.0