Commit log
5623663
test: add tests for thinking (#9)
Click to expand commit body
* WIP test: add tests for thinking
* chore: fix thinking test
- add chrush.md
- add check to google provider
- make all tests use testify
* chore: remove duplicate name const
* test: add more specific reasoning tests
* chore: remove some annoying spell checks
* chore: reorganize thinking tests
---------
Co-authored-by: Kujtim Hoxha <kujtimii.h@gmail.com>
Andrey Nering
and
Kujtim Hoxha
created
1 month ago
9596881
lint: fix naked return warnings
Andrey Nering
created
1 month ago
d1d1b1a
chore: add labeler script
Andrey Nering
created
1 month ago
d3f8bd9
ci(labeler): add azure
Andrey Nering
created
1 month ago
1f41c27
fix: adjustments after rebase
Click to expand commit body
* Implement interface
* Fix options cast
* Make option structs public
Andrey Nering
created
1 month ago
dff590b
feat(gemini): fixes for streaming + thinking
Andrey Nering
created
1 month ago
997539c
test: fix gemini test to actually use pro model
Andrey Nering
created
1 month ago
44e3901
refactor: use `cmp.Or`
Andrey Nering
created
1 month ago
b3b3d58
ci: fix gemini tests when env is not set
Andrey Nering
created
1 month ago
19e737f
chore(taskfile): disable cache when running tests
Andrey Nering
created
1 month ago
d3f8722
lint: fix linting
Andrey Nering
created
1 month ago
f47a599
feat(gemini): implement streaming
Andrey Nering
created
1 month ago
a4fd3fa
feat: make google gemini work for basic + tool calls
Andrey Nering
created
1 month ago
a446339
chore(go.mod): add `github.com/charmbracelet/x/exp/slice`
Andrey Nering
created
1 month ago
5d03ea1
test: add google gemini to test matrix
Andrey Nering
created
2 months ago
3f98c67
chore: `anthropic` -> `google`
Andrey Nering
created
2 months ago
ff1a249
chore(go.mod): add `google.golang.org/genai`
Andrey Nering
created
2 months ago
6c4d2f8
feat: initial google provider
Kujtim Hoxha
created
2 months ago
e74fb3f
chore: add options parser (#12)
Click to expand commit body
* chore: add options parser
* chore: add options key method
* refactor: rename `OptionKey` to `Name`
* refactor: rename `OptionsFromMap` to `ParseOptions`
* refactor: minimal code improvement
---------
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Kujtim Hoxha
and
Andrey Nering
created
1 month ago
2058c73
chore: add json tags to provider options
kujtimiihoxha
created
1 month ago
624cb5b
ci: add issue / pr labeler
Andrey Nering
created
1 month ago
d1db2cb
refactor: rename go module to `fantasy` (#11)
Andrey Nering
created
1 month ago
b3b0f39
refactor: rename `ProviderOptionsKey` into `OptionsKey`
Andrey Nering
created
1 month ago
5097f73
refactor: separate interface into its own type
Andrey Nering
created
1 month ago
c6534e4
chore: remove unused lib
kujtimiihoxha
created
1 month ago
cc3c955
chore: make provider options an interface
kujtimiihoxha
created
1 month ago
2b4cfe6
chore: change how provider options work
kujtimiihoxha
created
1 month ago
215059b
Minor fixes (#8)
Click to expand commit body
* chore: remove unused headers
* feat: expose provider options
* fix: use mapstruct tag
* fix: thinking delta
* fix: agent prompt
* fix: fix reasoning metadata
fix: fix reasoning content
* fix: test
Kujtim Hoxha
created
1 month ago
245142f
refactor: simplify code a little bit
Andrey Nering
created
2 months ago
2b2da24
chore(.gitattributes): do not show diffs for cassettes
Andrey Nering
created
2 months ago
3f72650
test: add openai gpt o4 mini to the test matrix
Andrey Nering
created
2 months ago
2acf7f7
test: make test less intermittent
Andrey Nering
created
2 months ago
1aab862
test: add tests for stream with and without tool calls
Andrey Nering
created
2 months ago
e00c28f
test: add test with tool
Andrey Nering
created
2 months ago
d3c849b
chore: disable go-vcr's internal "sleep" to make tests much faster
Andrey Nering
created
2 months ago
3340d64
test: setup go-vcr to start recording real providers interactions
Andrey Nering
created
2 months ago
ef0ee71
fix: anthropic finish reason
Kujtim Hoxha
created
1 month ago
7f1366b
refactor: use json valid function from `charmbracelet/x/json`
Andrey Nering
created
2 months ago
fb35cdf
refactor: revert o use a single go module again
Click to expand commit body
I experimented with multiple Go modules, but the fact is that Go is smart
enough to strip out the uneeded modules from the user's `go.mod`, so this
is not in fact needed. Also, maintaining a single module is much easier.
Andrey Nering
created
2 months ago
ba1c1fd
refactor: move `providers/{openai|anthropic}` out of the `providers/` dir (#5)
Andrey Nering
created
2 months ago
5337bf2
ci: configure workflows to be package-by-package
Click to expand commit body
Copied generate script from `charmbracelet/x`.
Andrey Nering
created
2 months ago
67ff539
chore: make each package its own go module
Click to expand commit body
* `./ai` (previously root `/`)
* `./examples`
* `./providers/anthropic`
* `./providers/openai`
Andrey Nering
created
2 months ago
36e9eae
refactor: move root package into a sub-package `ai`
Andrey Nering
created
2 months ago
87c1466
refactor: move json helper to live inside the `openai` package
Andrey Nering
created
2 months ago
7712c19
refactor: use `cmp.Or` in more places
Andrey Nering
created
2 months ago
1a32307
refactor: change provider options structs to be private / internal
Click to expand commit body
These struct types don't make sense to be part of the public API. They
are only used internally to map options to the actual provider SDKs.
Andrey Nering
created
2 months ago
2e53c78
refactor: move each provider into its own package
Click to expand commit body
Reasoning for this is:
1. Users can import only those they want, and the Go compiler won't
compile the external library the user don't need.
2. This simplify the API and makes it follow the Go conventions better:
* `ai.NewOpenAiProvider` -> `openai.New`
* `ai.WithOpenAiAPIKey` -> `openai.WithAPIKey`
* etc.
Andrey Nering
created
2 months ago
66fbbb0
refactor: json check func should not be part of the public api
Andrey Nering
created
2 months ago
67080cf
refactor: declare func types for agent callbacks
Andrey Nering
created
2 months ago
6580e7f
fix(examples): improve sdk examples
Click to expand commit body
* Check errors where we weren't checking them
* Exit with status 1 on errors
Andrey Nering
created
2 months ago
Page 3 of 4