Skip to content
Closed
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
a3cf34a
Staging branch for LLM module
eb8680 Oct 9, 2025
b57a18d
Move LLM interface code from `robotl` (#358)
jfeser Oct 9, 2025
8170a64
Implement basic tool calling (#366)
jfeser Oct 10, 2025
bcbf7bb
Merge branch 'master' into staging-llm
eb8680 Oct 10, 2025
66a5eb4
Merge branch 'master' into staging-llm
jfeser Oct 20, 2025
ab9e2fe
enable strict mode for tool calling (#375)
jfeser Oct 20, 2025
661cab8
add structured generation and remove unused `decode` operation (#376)
jfeser Oct 20, 2025
02c4378
implemented support for class methods in `Template.define` (#377)
kiranandcode Oct 24, 2025
d9d1782
Revert "implemented support for class methods in `Template.define` (#…
kiranandcode Oct 24, 2025
1053fdd
Add support for methods in `Template.define` (#377) (#378)
kiranandcode Oct 26, 2025
54efb77
Adding a lower-level event and a logger example (#382)
datvo06 Oct 28, 2025
657924e
Add support for tools returning images (#385)
kiranandcode Oct 29, 2025
68af295
Implement Caching Handler for LLM (#392)
datvo06 Nov 12, 2025
b9207b4
implement first to k-ahead sampler (#412)
kiranandcode Nov 24, 2025
41b52b4
Add inheritable class for stateful templates (#416)
jfeser Nov 26, 2025
248ff6e
Support multiple providers (via `litellm`) (#418)
kiranandcode Dec 1, 2025
e4c0d99
store source of generated functions in `__src__` attribute (#403)
kiranandcode Dec 2, 2025
5cb8e89
Adds type-based encoding and support for legacy APIs (#411)
kiranandcode Dec 2, 2025
1f50599
Add LLM Integration tests to the workflows. (#420)
kiranandcode Dec 3, 2025
8118a8f
Merge master into llm-staging (#423)
jfeser Dec 4, 2025
62e45a4
Fix `staging-llm` diff against `master` (#426)
eb8680 Dec 5, 2025
1c37637
Implement a RetryHandler for LLM module (#428)
datvo06 Dec 9, 2025
bb5bded
Merge `master` into `staging-llm` again (#443)
eb8680 Dec 12, 2025
44d7d12
Implements a unified `encode`ing/`decode`ing pipeline for `llm` (#442)
kiranandcode Dec 15, 2025
931d507
Initial version of Lexical Context Collection - Collecting Tools and …
datvo06 Dec 15, 2025
50ce47c
EncodableSynthesizedFunction
datvo06 Dec 22, 2025
8530fd0
Update `staging-llm` from `master` (#457)
eb8680 Dec 22, 2025
45083c6
Merge branch 'staging-llm' of https://github.com/BasisResearch/effect…
datvo06 Dec 23, 2025
b0f28e7
Passing test
datvo06 Dec 23, 2025
7abea68
Linting
datvo06 Dec 23, 2025
19fbfa4
Trim decode changes
datvo06 Dec 23, 2025
ada8512
Linting tests
datvo06 Dec 23, 2025
e6e21bb
Minor
datvo06 Dec 23, 2025
bae8d02
Convert `Template` into an operation (#424)
jfeser Dec 29, 2025
3311d1b
Fail when encoding terms or operations (#474)
jfeser Dec 29, 2025
23f95ef
Implemented record and replay fixtures for LLM calls (#467)
kiranandcode Dec 31, 2025
2094f22
Remove program synthesis code (#475)
jfeser Dec 31, 2025
05b28ef
Disables direct recursion on templates by default (#466)
kiranandcode Dec 31, 2025
d91d4c9
drop k-ahead sampler (#479)
jfeser Dec 31, 2025
e3e8c7e
Document `Template` and `Tool` (#478)
jfeser Jan 1, 2026
13f41ee
Merge staging-llm
datvo06 Jan 2, 2026
74589b4
Minor fix and merge
datvo06 Jan 4, 2026
34a8b17
Minor
datvo06 Jan 4, 2026
8adab92
Linting
datvo06 Jan 5, 2026
0229ce9
Remove `agent.py` from handler and add docs on how to implement Agent…
kiranandcode Jan 5, 2026
cabeead
Fix RetryHandler not to use Template.replace() (#483)
datvo06 Jan 14, 2026
b65992e
Rename `handlers.llm.providers` to `completions` (#485)
eb8680 Jan 15, 2026
53356ad
Merge branch 'staging-llm' of https://github.com/basisresearch/effect…
datvo06 Jan 21, 2026
91c4fe0
Update test to include synthesis again
datvo06 Jan 21, 2026
dc9b013
Rebase to master
datvo06 Jan 21, 2026
a58f051
Revert minor change
datvo06 Jan 21, 2026
6e797f4
Remove uv lock
datvo06 Jan 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ jobs:
with:
enable-cache: true

- name: Install pandoc
run: |
sudo apt install -y pandoc

- name: Install dependencies
run: |
uv sync --all-extras --dev
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ jobs:
with:
enable-cache: true

- name: Install pandoc
run: |
sudo apt install -y pandoc

- name: Install Python dependencies
run: |
uv sync --all-extras --dev --python ${{ matrix.python-version }}
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/test_llm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: LLM Integration Tests

on:
pull_request:
branches:
- master
- 'staging-*'
# Allow manual trigger
workflow_dispatch:

jobs:
test-llm:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["'3.13'"]
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true

- name: Install Python dependencies
run: |
uv sync --all-extras --dev --python ${{ matrix.python-version }}

- name: Run LLM integration tests
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
uv run pytest tests/test_handlers_llm_provider.py -v --tb=short
4 changes: 4 additions & 0 deletions .github/workflows/test_notebooks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ jobs:
with:
enable-cache: true

- name: Install pandoc
run: |
sudo apt install -y pandoc

- name: Install Python packages
run: |
uv sync --all-extras --dev
Expand Down
1 change: 0 additions & 1 deletion docs/source/effectful.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ Syntax
:members:
:undoc-members:

.. autofunction:: effectful.ops.syntax.defterm(value: T) -> Expr[T]
.. autofunction:: effectful.ops.syntax.defdata(value: Term[T]) -> Expr[T]

Semantics
Expand Down
2 changes: 1 addition & 1 deletion docs/source/lambda_.py
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ def sort_add(x: Expr[int], y: Expr[int]) -> Expr[int]:
case Term(add_, (a, Term(vx, ()))), Term(vy, ()) if add_ == add and id(vx) > id(
vy
):
return (a + vy()) + vx() # type: ignore
return (a + vy()) + vx()
case _:
return fwd()

Expand Down
Loading
Loading