effect-uai 0.5.2 → 0.7.0

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 (3) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +4 -0
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,108 @@
1
1
  # effect-uai
2
2
 
3
+ ## 0.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 602bfa9: 0.7 is a capability-honesty pass across every audio and embedding
8
+ surface. The unifying rule: where a provider cannot honor a request, the
9
+ call now fails with `AiError.Unsupported` (load-bearing gaps) or emits a
10
+ structured `warnDropped` (best-effort hints), instead of silently
11
+ substituting a different result. Alongside that, `Duration` replaces raw
12
+ `durationSeconds` everywhere audio carries a length, the `MusicGenerator`
13
+ surface is reshaped, an ElevenLabs music provider lands, and Gemini
14
+ `toolChoice` is now mapped.
15
+
16
+ Most of it is mechanical (find-and-replace renames plus a
17
+ `Duration.seconds(n)` wrap). The parts that need judgement are the
18
+ removed `GeminiTranscriber` (use OpenAI / ElevenLabs / Inworld instead)
19
+ and the requests that now error where they previously degraded silently.
20
+ The full before/after diffs and the recommended order live in
21
+ [Migrating to 0.7](https://effect-uai.betalyra.com/migrations/v0-7/).
22
+
23
+ `@effect-uai/anthropic`, `@effect-uai/microsandbox`, and
24
+ `@effect-uai/deno` have no functional changes this release; they bump for
25
+ lockstep versioning only.
26
+
27
+ ## 0.6.0
28
+
29
+ ### Minor Changes
30
+
31
+ - a332f0a: 0.6 bundles one large-but-mechanical naming sweep with a set of
32
+ additive features. The breaking part is source-level only — **the wire
33
+ format is unchanged** (`function_call` / `function_call_output` still
34
+ go out on the wire, so no provider payloads change). Almost every
35
+ rewrite is find-and-replace; the full before/after diffs and the
36
+ recommended order live in [Migrating to 0.6](https://effect-uai.betalyra.com/migrations/v0-6/).
37
+
38
+ ### Breaking: "function call" → "tool call" terminology
39
+
40
+ Every public name that said "function call" now says "tool call":
41
+ - `Item` → `HistoryItem`; `FunctionCall` → `ToolCall`;
42
+ `FunctionCallOutput` → `ToolCallOutput`.
43
+ - `Items.functionCallOutput` → `Items.toolCallOutput`;
44
+ `Items.isFunctionCall` → `Items.isToolCall`;
45
+ `Items.isFunctionCallOutput` → `Items.isToolCallOutput`.
46
+ - `Turn.functionCalls` → `Turn.getToolCalls`.
47
+
48
+ ### Breaking: module renames
49
+ - `@effect-uai/core/Outcome` → `@effect-uai/core/ToolResult`. Also
50
+ `ToolResult.Value` → `ToolResult.Ok`, `isValue` → `isOk`,
51
+ `rejected(...)` → `failed(...)`, `toFunctionCallOutput` →
52
+ `toToolCallOutput`.
53
+ - `@effect-uai/core/Resolvers` → `@effect-uai/core/Approval`. Also
54
+ `fromApprovalMap` → `fromMap`, `fromVerdictQueue` → `fromQueue`,
55
+ `ToolCallDecision` → `ApprovalDecision`, and the queue helper's
56
+ `announce` field → `approvalRequests`.
57
+
58
+ ### Breaking: Turn / Toolkit / Tool / ToolEvent renames
59
+ - `Turn.appendTurn` → `Turn.appendToHistory`.
60
+ - `Turn.toStructured` → `Turn.decodeStructured`.
61
+ - `Toolkit.executeAll` → `Toolkit.run`.
62
+ - `Toolkit.continueWith` → `Toolkit.continueWithResults`.
63
+ - `Toolkit.make(...)` + `Toolkit.toDescriptors(kit)` → just
64
+ `Tool.toDescriptors([...])`. The homogeneous-toolkit wrapper is gone.
65
+ - `Tool.AnyKindTool` → `Tool.AnyTool`.
66
+ - `ToolEvent.Intermediate` → `ToolEvent.Progress`;
67
+ `isIntermediate` → `isProgress`.
68
+
69
+ ### Breaking: Loop helper trim
70
+ - `Loop.loopFrom(...)` → `Loop.loopOver(...)`.
71
+ - `Loop.Event<A, S>` → `Loop.Step<A, S>`.
72
+ - `return stop` → `return stop()`.
73
+ - `Loop.stopWith(state)` → `Loop.stop(state)`.
74
+ - `nextAfter` / `stopAfter` / `stopWithAfter` / `stopEvent` /
75
+ `nextAfterFold` are removed — compose with `Stream.concat` instead.
76
+ See the migration doc for one-line replacements.
77
+
78
+ ### Additive: new Toolkit / Loop helpers
79
+ - `Toolkit.appendToolResults(state, turn)` — shorthand for the canonical
80
+ `continueWithResults` body that folds tool results into history.
81
+ - `Toolkit.collectResults` — lower-level drain of a `Stream<ToolEvent>`
82
+ to its `ToolResult`s without advancing the loop.
83
+
84
+ ### Additive: sandboxes
85
+
86
+ A new `Sandbox` capability in `@effect-uai/core/sandbox` for running
87
+ untrusted code, commands, or LLM-generated scripts inside an isolated
88
+ microVM. Two new provider packages ship behind the same
89
+ `SandboxService`:
90
+ - **`@effect-uai/microsandbox`** — local Firecracker microVMs via
91
+ [microsandbox](https://github.com/microsandbox/microsandbox).
92
+ - **`@effect-uai/deno`** — hosted Firecracker microVMs on
93
+ [Deno Deploy](https://docs.deno.com/deploy/).
94
+
95
+ Both cover `create` / `exec` / `execStream` / volumes / snapshots /
96
+ network policies / bound secrets / OCI image references. The
97
+ `recipes-extras/sandbox-code-interpreter` recipe shows the "run, fix,
98
+ repeat" pattern.
99
+
100
+ ### Additive: new recipes
101
+ - `sleeper-agent` — long-lived background agent waking on scheduled
102
+ triggers.
103
+ - `sandbox-code-interpreter` (in `recipes-extras/`) — agent writes
104
+ Python, sandbox runs it, stderr feeds back into the next turn.
105
+
3
106
  ## 0.5.2
4
107
 
5
108
  ### Patch Changes
package/README.md CHANGED
@@ -19,5 +19,9 @@ packages live under the `@effect-uai/*` scope:
19
19
  Inworld speech.
20
20
  - [`@effect-uai/jina`](https://www.npmjs.com/package/@effect-uai/jina) —
21
21
  Jina embeddings (dense / sparse / multivector).
22
+ - [`@effect-uai/microsandbox`](https://www.npmjs.com/package/@effect-uai/microsandbox) —
23
+ Local microVM sandboxes via [microsandbox](https://github.com/microsandbox/microsandbox).
24
+ - [`@effect-uai/deno`](https://www.npmjs.com/package/@effect-uai/deno) —
25
+ Hosted Firecracker microVMs on Deno Deploy.
22
26
 
23
27
  Project repository: https://github.com/betalyra/effect-uai
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-uai",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "Reserved name. See @effect-uai/core and the @effect-uai/* provider packages.",
5
5
  "homepage": "https://github.com/betalyra/effect-uai#readme",
6
6
  "bugs": {