effect-uai 0.5.2 → 0.6.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.
- package/CHANGELOG.md +83 -0
- package/README.md +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,88 @@
|
|
|
1
1
|
# effect-uai
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- a332f0a: 0.6 bundles one large-but-mechanical naming sweep with a set of
|
|
8
|
+
additive features. The breaking part is source-level only — **the wire
|
|
9
|
+
format is unchanged** (`function_call` / `function_call_output` still
|
|
10
|
+
go out on the wire, so no provider payloads change). Almost every
|
|
11
|
+
rewrite is find-and-replace; the full before/after diffs and the
|
|
12
|
+
recommended order live in [Migrating to 0.6](https://effect-uai.betalyra.com/migrations/v0-6/).
|
|
13
|
+
|
|
14
|
+
### Breaking: "function call" → "tool call" terminology
|
|
15
|
+
|
|
16
|
+
Every public name that said "function call" now says "tool call":
|
|
17
|
+
- `Item` → `HistoryItem`; `FunctionCall` → `ToolCall`;
|
|
18
|
+
`FunctionCallOutput` → `ToolCallOutput`.
|
|
19
|
+
- `Items.functionCallOutput` → `Items.toolCallOutput`;
|
|
20
|
+
`Items.isFunctionCall` → `Items.isToolCall`;
|
|
21
|
+
`Items.isFunctionCallOutput` → `Items.isToolCallOutput`.
|
|
22
|
+
- `Turn.functionCalls` → `Turn.getToolCalls`.
|
|
23
|
+
|
|
24
|
+
### Breaking: module renames
|
|
25
|
+
- `@effect-uai/core/Outcome` → `@effect-uai/core/ToolResult`. Also
|
|
26
|
+
`ToolResult.Value` → `ToolResult.Ok`, `isValue` → `isOk`,
|
|
27
|
+
`rejected(...)` → `failed(...)`, `toFunctionCallOutput` →
|
|
28
|
+
`toToolCallOutput`.
|
|
29
|
+
- `@effect-uai/core/Resolvers` → `@effect-uai/core/Approval`. Also
|
|
30
|
+
`fromApprovalMap` → `fromMap`, `fromVerdictQueue` → `fromQueue`,
|
|
31
|
+
`ToolCallDecision` → `ApprovalDecision`, and the queue helper's
|
|
32
|
+
`announce` field → `approvalRequests`.
|
|
33
|
+
|
|
34
|
+
### Breaking: Turn / Toolkit / Tool / ToolEvent renames
|
|
35
|
+
- `Turn.appendTurn` → `Turn.appendToHistory`.
|
|
36
|
+
- `Turn.toStructured` → `Turn.decodeStructured`.
|
|
37
|
+
- `Toolkit.executeAll` → `Toolkit.run`.
|
|
38
|
+
- `Toolkit.continueWith` → `Toolkit.continueWithResults`.
|
|
39
|
+
- `Toolkit.make(...)` + `Toolkit.toDescriptors(kit)` → just
|
|
40
|
+
`Tool.toDescriptors([...])`. The homogeneous-toolkit wrapper is gone.
|
|
41
|
+
- `Tool.AnyKindTool` → `Tool.AnyTool`.
|
|
42
|
+
- `ToolEvent.Intermediate` → `ToolEvent.Progress`;
|
|
43
|
+
`isIntermediate` → `isProgress`.
|
|
44
|
+
|
|
45
|
+
### Breaking: Loop helper trim
|
|
46
|
+
- `Loop.loopFrom(...)` → `Loop.loopOver(...)`.
|
|
47
|
+
- `Loop.Event<A, S>` → `Loop.Step<A, S>`.
|
|
48
|
+
- `return stop` → `return stop()`.
|
|
49
|
+
- `Loop.stopWith(state)` → `Loop.stop(state)`.
|
|
50
|
+
- `nextAfter` / `stopAfter` / `stopWithAfter` / `stopEvent` /
|
|
51
|
+
`nextAfterFold` are removed — compose with `Stream.concat` instead.
|
|
52
|
+
See the migration doc for one-line replacements.
|
|
53
|
+
|
|
54
|
+
### Additive: new Toolkit / Loop helpers
|
|
55
|
+
- `Toolkit.appendToolResults(state, turn)` — shorthand for the canonical
|
|
56
|
+
`continueWithResults` body that folds tool results into history.
|
|
57
|
+
- `Toolkit.collectResults` — lower-level drain of a `Stream<ToolEvent>`
|
|
58
|
+
to its `ToolResult`s without advancing the loop.
|
|
59
|
+
- `Loop.emitValues(stream)` / `Loop.emitNext(effect)` — fork-helper
|
|
60
|
+
building blocks behind `Toolkit.continueWithResults`.
|
|
61
|
+
|
|
62
|
+
### Additive: sandboxes
|
|
63
|
+
|
|
64
|
+
A new `Sandbox` capability in `@effect-uai/core/sandbox` for running
|
|
65
|
+
untrusted code, commands, or LLM-generated scripts inside an isolated
|
|
66
|
+
microVM. Two new provider packages ship behind the same
|
|
67
|
+
`SandboxService`:
|
|
68
|
+
- **`@effect-uai/microsandbox`** — local Firecracker microVMs via
|
|
69
|
+
[microsandbox](https://github.com/microsandbox/microsandbox).
|
|
70
|
+
- **`@effect-uai/deno`** — hosted Firecracker microVMs on
|
|
71
|
+
[Deno Deploy](https://docs.deno.com/deploy/).
|
|
72
|
+
|
|
73
|
+
Both cover `create` / `exec` / `execStream` / volumes / snapshots /
|
|
74
|
+
network policies / bound secrets / OCI image references. The
|
|
75
|
+
`recipes-extras/sandbox-code-interpreter` recipe shows the "run, fix,
|
|
76
|
+
repeat" pattern.
|
|
77
|
+
|
|
78
|
+
### Additive: new recipes
|
|
79
|
+
- `sleeper-agent` — long-lived background agent waking on scheduled
|
|
80
|
+
triggers.
|
|
81
|
+
- `external-task-polling` — drive the loop from an external task
|
|
82
|
+
queue.
|
|
83
|
+
- `sandbox-code-interpreter` (in `recipes-extras/`) — agent writes
|
|
84
|
+
Python, sandbox runs it, stderr feeds back into the next turn.
|
|
85
|
+
|
|
3
86
|
## 0.5.2
|
|
4
87
|
|
|
5
88
|
### 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