ea03063
v0.21.1
Andrey Nering created
ea03063
v0.21.1
Andrey Nering created
43a2aa5
test: re-record test fixtures
Andrey Nering created
d8aafda
chore(deps): import strings package
Andrey Nering created
5f0d1e3
fix(openrouter): use xstrings helper
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Christian Rocha and Andrey Nering created
1720eac
fix(openrouter): don't clip thinking output on claude models
Christian Rocha created
b7c17e0
ci: fix build running twice on pull requests
Andrey Nering created
f8a3e2f
chore(deps): bump the all group with 2 updates (#215)
Bumps the all group with 2 updates: [github.com/aws/smithy-go](https://github.com/aws/smithy-go) and [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema). Updates `github.com/aws/smithy-go` from 1.25.0 to 1.25.1 - [Release notes](https://github.com/aws/smithy-go/releases) - [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws/smithy-go/compare/v1.25.0...v1.25.1) Updates `github.com/kaptinlin/jsonschema` from 0.7.7 to 0.7.11 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.7.7...v0.7.11) --- updated-dependencies: - dependency-name: github.com/aws/smithy-go dependency-version: 1.25.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.7.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
d9ff008
v0.21.0
Andrey Nering created
5975b48
fix(openaicompat): parse "reasoning" field and include reasoning_content on tool call messages (#196)
Some OpenAI-compatible providers (e.g. Moonshot AI/Kimi) send reasoning content under the "reasoning" JSON field rather than "reasoning_content". The ReasoningData struct only looked for "reasoning_content", silently dropping all reasoning from these providers. Additionally, when thinking is enabled, providers like Kimi require reasoning_content to be present on all assistant tool call messages, even if empty. Without this, multi-turn conversations with tool calls fail with "thinking is enabled but reasoning_content is missing". Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
carsonfarmer and Claude Opus 4.6 (1M context) created
6d22b85
feat(openai): add gpt-5.5 responses models (#211)
Michael Suchacz created
b852eff
v0.20.0
Andrey Nering created
95dcd6e
feat(anthropic): add document support for pdf and text file content blocks (#197)
Nic-vdwalt created
471520c
fix(anthropic/openai/google): wrap `io.ErrUnexpectedEOF` as `ProviderError` (#198)
Lauri Jutila created
3bfd3c8
chore(deps): bump github.com/ardanlabs/kronk in the kronk group (#207)
Bumps the kronk group with 1 update: [github.com/ardanlabs/kronk](https://github.com/ardanlabs/kronk). Updates `github.com/ardanlabs/kronk` from 1.22.2 to 1.23.1 - [Release notes](https://github.com/ardanlabs/kronk/releases) - [Commits](https://github.com/ardanlabs/kronk/compare/v1.22.2...v1.23.1) --- updated-dependencies: - dependency-name: github.com/ardanlabs/kronk dependency-version: 1.23.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: kronk ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
12cec64
chore(deps): bump the all group with 4 updates (#206)
Bumps the all group with 4 updates: [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/smithy-go](https://github.com/aws/smithy-go) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/aws/aws-sdk-go-v2` from 1.41.5 to 1.41.6 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.41.5...v1.41.6) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.14 to 1.32.16 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.14...config/v1.32.16) Updates `github.com/aws/smithy-go` from 1.24.3 to 1.25.0 - [Release notes](https://github.com/aws/smithy-go/releases) - [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws/smithy-go/compare/v1.24.3...v1.25.0) Updates `google.golang.org/genai` from 1.53.0 to 1.54.0 - [Release notes](https://github.com/googleapis/go-genai/releases) - [Changelog](https://github.com/googleapis/go-genai/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/go-genai/compare/v1.53.0...v1.54.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-version: 1.41.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.16 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/aws/smithy-go dependency-version: 1.25.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.54.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
b2c4b61
v0.19.0
Andrey Nering created
f60d4fe
feat(anthropic): add `EffortXHigh` constant (#204)
Danielle Maywood created
402a113
v0.18.0
Christian Rocha created
61bc0b2
feat(agent): add the ability to stop a turn and end the agent loop
Christian Rocha created
d9b6308
v0.17.2
Christian Rocha created
15bced7
chore(agent): move tool execution after stream loop + add test
Christian Rocha created
bbf53dc
fix(agent): buffer tool calls
Wait until streaming has finished before dispatching tool calls to avoid getting tool results without a matching call: essentially orphans.
Christian Rocha created
ce26050
ci: fix govulncheck by updating to go 1.26.2 (#201)
Andrey Nering created
5f01141
chore(deps): bump github.com/ardanlabs/kronk in the kronk group (#200)
dependabot[bot] created
06f2e8f
chore(deps): bump the all group with 2 updates (#199)
dependabot[bot] created
c8896d3
chore: add `CODEOWNERS` to ask review from me
Andrey Nering created
92dc3ae
chore(deps): bump github.com/ardanlabs/kronk in the kronk group (#194)
Bumps the kronk group with 1 update: [github.com/ardanlabs/kronk](https://github.com/ardanlabs/kronk). Updates `github.com/ardanlabs/kronk` from 1.21.4 to 1.22.0 - [Release notes](https://github.com/ardanlabs/kronk/releases) - [Commits](https://github.com/ardanlabs/kronk/compare/v1.21.4...v1.22.0) --- updated-dependencies: - dependency-name: github.com/ardanlabs/kronk dependency-version: 1.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: kronk ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
783847b
chore(deps): bump the all group with 3 updates (#193)
Bumps the all group with 3 updates: [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/smithy-go](https://github.com/aws/smithy-go) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.13 to 1.32.14 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.13...config/v1.32.14) Updates `github.com/aws/smithy-go` from 1.24.2 to 1.24.3 - [Release notes](https://github.com/aws/smithy-go/releases) - [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md) - [Commits](https://github.com/aws/smithy-go/compare/v1.24.2...v1.24.3) Updates `google.golang.org/genai` from 1.52.0 to 1.52.1 - [Release notes](https://github.com/googleapis/go-genai/releases) - [Changelog](https://github.com/googleapis/go-genai/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/go-genai/compare/v1.52.0...v1.52.1) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.14 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/aws/smithy-go dependency-version: 1.24.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.52.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
32045be
chore(deps): bump the all group with 5 updates (#190)
Bumps the all group with 5 updates: | Package | From | To | | --- | --- | --- | | [cloud.google.com/go/auth](https://github.com/googleapis/google-cloud-go) | `0.18.2` | `0.19.0` | | [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.41.4` | `1.41.5` | | [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.32.12` | `1.32.13` | | [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema) | `0.7.6` | `0.7.7` | | [google.golang.org/genai](https://github.com/googleapis/go-genai) | `1.51.0` | `1.52.0` | Updates `cloud.google.com/go/auth` from 0.18.2 to 0.19.0 - [Release notes](https://github.com/googleapis/google-cloud-go/releases) - [Changelog](https://github.com/googleapis/google-cloud-go/blob/main/CHANGES.md) - [Commits](https://github.com/googleapis/google-cloud-go/compare/auth/v0.18.2...v0.19.0) Updates `github.com/aws/aws-sdk-go-v2` from 1.41.4 to 1.41.5 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.41.4...v1.41.5) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.12 to 1.32.13 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.12...config/v1.32.13) Updates `github.com/kaptinlin/jsonschema` from 0.7.6 to 0.7.7 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.7.6...v0.7.7) Updates `google.golang.org/genai` from 1.51.0 to 1.52.0 - [Release notes](https://github.com/googleapis/go-genai/releases) - [Changelog](https://github.com/googleapis/go-genai/blob/v1.52.0/CHANGELOG.md) - [Commits](https://github.com/googleapis/go-genai/compare/v1.51.0...v1.52.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/auth dependency-version: 0.19.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-version: 1.41.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.7.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.52.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
11a1e0f
v0.17.1
Andrey Nering created
d13521a
chore(openai): add missing constants and checks for some thinking effort levels (#186)
We were missing some "none", "minimal" and "xhigh" constants, for the `openai`, `openaicompat` and `openrouter` packages. Added the missing checks to ensure they work as well. Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Michael Suchacz and Andrey Nering created
ebc9cb1
chore: run modernize (#188)
Andrey Nering created
4620329
fix(providers/openai): emit source parts for Responses API streaming annotations (#187)
The Responses API streaming path was missing a handler for "response.output_text.annotation.added" events. This meant that url_citation and file_citation annotations—which carry source URLs and titles for web search results—were silently dropped during streaming. The non-streaming Generate path and the Chat Completions API streaming path both handled annotations correctly; only the Responses API Stream path was affected. Add a case for "response.output_text.annotation.added" that parses the annotation map and yields StreamPartTypeSource parts for url_citation and file_citation types, matching the behavior of the existing Generate path and the Anthropic provider. Update TestResponsesStream_WebSearchResponse to include annotation.added events in the mock stream and assert that source parts are emitted with the correct URL, title, and type.
Kyle Carberry created
99e504c
v0.17.0
Andrey Nering created
46820ff
chore(examples): go mod tidy
Andrey Nering created
0cab8bf
feat: anthropic computer use (#185)
Hugo Dutka created
bdfda5e
chore(deps): bump github.com/ardanlabs/kronk in the kronk group (#184)
Bumps the kronk group with 1 update: [github.com/ardanlabs/kronk](https://github.com/ardanlabs/kronk). Updates `github.com/ardanlabs/kronk` from 1.21.3 to 1.21.4 - [Release notes](https://github.com/ardanlabs/kronk/releases) - [Commits](https://github.com/ardanlabs/kronk/compare/v1.21.3...v1.21.4) --- updated-dependencies: - dependency-name: github.com/ardanlabs/kronk dependency-version: 1.21.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: kronk ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
eec5a32
chore(deps): bump the all group with 2 updates (#183)
Bumps the all group with 2 updates: [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/kaptinlin/jsonschema` from 0.7.5 to 0.7.6 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.7.5...v0.7.6) Updates `google.golang.org/genai` from 1.50.0 to 1.51.0 - [Release notes](https://github.com/googleapis/go-genai/releases) - [Changelog](https://github.com/googleapis/go-genai/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/go-genai/compare/v1.50.0...v1.51.0) --- updated-dependencies: - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.7.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.51.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
ca0e707
v0.16.0
Andrey Nering created
a5bee40
fix(openai): relax tool call validation for ollama compatibility (#113)
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Gustave and Andrey Nering created
238e34d
fix: address tool calls with empty arguments in copilot (#156)
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Martin and Andrey Nering created
aa7e82f
fix(bedrock): don't default baseURL to anthropic API when using bedrock
When useBedrock is true, the DefaultURL ("https://api.anthropic.com") was
being set on providerOptions.baseURL in New(). This caused LanguageModel()
to append option.WithBaseURL("https://api.anthropic.com") after
bedrock.WithConfig had already set the correct bedrock-runtime URL,
overwriting it.
Only set the default base URL for non-bedrock providers. Bedrock gets its
URL from bedrock.WithConfig() in the SDK.
🐙 Generated with Crush
Assisted-by: AWS Claude Opus 4.6 via Crush <crush@charm.land>
Aleks Clark created
8924b01
fix(bedrock): apply base URL override after bedrock.WithConfig
bedrock.WithConfig internally calls option.WithBaseURL with the default regional endpoint, clobbering any user-provided base_url. Move the custom base URL append to after the bedrock config block so last-write wins. 🐨 Generated with Crush Assisted-by: AWS Claude Opus 4.6 via Crush <crush@charm.land>
Aleks Clark created
277f9fb
feat(bedrock): add WithBaseURL option
Allows overriding the default Bedrock endpoint URL, enabling use with custom or proxy endpoints. 🐙 Generated with Crush Assisted-by: AWS Claude Opus 4.6 via Crush <crush@charm.land>
Aleks Clark created
236fedf
fix(providertests/testdata): update summary thinking fixtures
Michael Suchacz created
ee77281
fix(providers/openai): skip ephemeral replay items
Michael Suchacz created
57940a9
v0.15.1
Andrey Nering created
5e4a443
test: re-record openrouter fixtures
Andrey Nering created
c3f0da5
test(openrouter): simplify list of providers and models to test
Make it shorter (one per major provider) and favor smaller models.
Andrey Nering created
b00cf24
chore: remove unused test function
Andrey Nering created