aaea4a2
chore: gofumpt
Christian Rocha created
aaea4a2
chore: gofumpt
Christian Rocha created
af77186
chore(useragent): bump version during task release
Christian Rocha created
5b6dc4d
chore(useragent): propogate UA to objects helpers, normalize headers
Christian Rocha created
88b79c1
docs(useragent): copy correction
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Christian Rocha and Copilot created
351a3c3
chore(useragent): comment copyedit
Christian Rocha created
29f9675
chore(useragent): get version number from version.txt via go:embed
Christian Rocha created
4228d2e
chore(useragent): drop model detail option
Christian Rocha created
08d368d
feat(useragent): allow UA to be set on the agent level
Christian Rocha created
059b888
feat(useragent): forward UA to provider wrappers
Christian Rocha created
9e76f15
feat(useragent): configuratble provider-level user agent
Note that the user agent defaults to Charm Fantasy/<version>, which means we need to maintain a const.
Christian Rocha created
8d2ec4f
chore(deps): bump github.com/ardanlabs/kronk in the all group (#153)
Bumps the all group with 1 update: [github.com/ardanlabs/kronk](https://github.com/ardanlabs/kronk). Updates `github.com/ardanlabs/kronk` from 1.20.1 to 1.20.3 - [Release notes](https://github.com/ardanlabs/kronk/releases) - [Commits](https://github.com/ardanlabs/kronk/compare/v1.20.1...v1.20.3) --- updated-dependencies: - dependency-name: github.com/ardanlabs/kronk dependency-version: 1.20.3 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
5442a7f
v0.11.0
Andrey Nering created
8f24e95
chore(deps): bump the all group with 4 updates (#150)
Bumps the all group with 4 updates: [github.com/ardanlabs/kronk](https://github.com/ardanlabs/kronk), [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) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/ardanlabs/kronk` from 1.19.6 to 1.20.1 - [Release notes](https://github.com/ardanlabs/kronk/releases) - [Commits](https://github.com/ardanlabs/kronk/compare/v1.19.6...v1.20.1) Updates `github.com/aws/aws-sdk-go-v2` from 1.41.1 to 1.41.2 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.41.1...v1.41.2) Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.9 to 1.32.10 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.32.9...config/v1.32.10) Updates `google.golang.org/genai` from 1.47.0 to 1.48.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.47.0...v1.48.0) --- updated-dependencies: - dependency-name: github.com/ardanlabs/kronk dependency-version: 1.20.1 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.2 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.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.48.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
8a1457c
feat: add support for anthropic thinking effort (#147)
Co-authored-by: Andrey Nering <andreynering@users.noreply.github.com>
Kyle Carberry and Andrey Nering created
26a572c
v0.10.0
Andrey Nering created
cf3151e
lint: fix missing doc comment
Andrey Nering created
4e71eb6
test: unify gemini 2 and gemini 3 thinking tests
Andrey Nering created
bd6d47d
feat(google): add ThinkingLevel support for Gemini 3+ models
Gemini 3+ uses thinking_level (LOW/MEDIUM/HIGH/MINIMAL) instead of thinking_budget. The two are mutually exclusive per Google's API. Maps to genai.ThinkingConfig.ThinkingLevel already available in v1.45.0.
Xavier Capaldi created
54b30ae
feat: detect context-too-large errors (#125)
mhpenta created
b802c67
chore: update anthropic-sdk-go from our fork (#148)
The `fantasy` branch was updated from upstream. See: * https://github.com/charmbracelet/anthropic-sdk-go/pull/1 * https://github.com/charmbracelet/fantasy/pull/147
Andrey Nering created
7d7c4b3
chore(deps): bump the all group with 3 updates (#146)
Bumps the all group with 3 updates: [github.com/ardanlabs/kronk](https://github.com/ardanlabs/kronk), [github.com/aws/smithy-go](https://github.com/aws/smithy-go) and [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema). Updates `github.com/ardanlabs/kronk` from 1.19.2 to 1.19.6 - [Release notes](https://github.com/ardanlabs/kronk/releases) - [Commits](https://github.com/ardanlabs/kronk/compare/v1.19.2...v1.19.6) Updates `github.com/aws/smithy-go` from 1.24.0 to 1.24.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.24.0...v1.24.1) Updates `github.com/kaptinlin/jsonschema` from 0.7.2 to 0.7.3 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.7.2...v0.7.3) --- updated-dependencies: - dependency-name: github.com/ardanlabs/kronk dependency-version: 1.19.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/aws/smithy-go dependency-version: 1.24.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.7.3 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
b2eb8d1
v0.9.0
Andrey Nering created
dae536f
chore(deps): bump the all group with 3 updates (#144)
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/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/aws/aws-sdk-go-v2/config` from 1.32.7 to 1.32.9 - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.32.7...config/v1.32.9) Updates `github.com/kaptinlin/jsonschema` from 0.7.1 to 0.7.2 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.7.1...v0.7.2) Updates `google.golang.org/genai` from 1.46.0 to 1.47.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.46.0...v1.47.0) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/config dependency-version: 1.32.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.7.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.47.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
385607b
chore(deps): bump the all group in /examples with 2 updates (#143)
Bumps the all group in /examples with 2 updates: [github.com/charmbracelet/lipgloss/v2](https://github.com/charmbracelet/lipgloss) and [github.com/charmbracelet/x/term](https://github.com/charmbracelet/x). Updates `github.com/charmbracelet/lipgloss/v2` from 2.0.0-beta.3.0.20250917201909-41ff0bf215ea to 2.0.0-beta1 - [Release notes](https://github.com/charmbracelet/lipgloss/releases) - [Commits](https://github.com/charmbracelet/lipgloss/commits) Updates `github.com/charmbracelet/x/term` from 0.2.1 to 0.2.2 - [Commits](https://github.com/charmbracelet/x/compare/ansi/v0.2.1...ansi/v0.2.2) --- updated-dependencies: - dependency-name: github.com/charmbracelet/lipgloss/v2 dependency-version: 2.0.0-beta1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/charmbracelet/x/term dependency-version: 0.2.2 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
121d1a4
ci(dependabot): add `examples/` dir to be updated as well
Andrey Nering created
211a29e
feat: add kronk provider (#142)
Co-authored-by: William Kennedy <bill@ardanlabs.com>
Andrey Nering and William Kennedy created
720e86d
chore(deps): bump the all group with 3 updates (#141)
Bumps the all group with 3 updates: [cloud.google.com/go/auth](https://github.com/googleapis/google-cloud-go), [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `cloud.google.com/go/auth` from 0.18.1 to 0.18.2 - [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.1...auth/v0.18.2) Updates `github.com/kaptinlin/jsonschema` from 0.6.10 to 0.7.1 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.6.10...v0.7.1) Updates `google.golang.org/genai` from 1.45.0 to 1.46.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.45.0...v1.46.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/auth dependency-version: 0.18.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.46.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
ab99ce7
v0.8.1
Andrey Nering created
e1c26df
fix: normalize mcp tool schemas for openai compatibility (#138)
Convert JSON Schema type arrays to `anyOf` and ensure bare array types have items, preventing OpenAI "array schema missing items" errors. Assisted-by: Claude Opus 4.6 via Crush <crush@charm.land>
Andrey Nering created
070c5ec
fix(goreleaser): remove unneeded `npm_key` attribute
This was preventing releases to work trigger on new tags.
Andrey Nering created
b1ed877
v0.8.0
Andrey Nering created
29c0314
chore: fix lint
Andrey Nering created
7e79eab
ci: fix lint on ci
Andrey Nering created
25abf03
refactor: use our `jsonrepair` package and remove external package
Andrey Nering created
a54e123
feat: add `jsonrepair` package
Added `charm.land/jsonrepair` package, to repair malformed JSON output by LLM models. This was written by GPT 5.2 Codex based on the Python version: https://github.com/mangiucugna/json_repair Assisted-by: GPT 5.2 Codex via Crush <crush@charm.land>
Andrey Nering created
f240ab1
v0.7.2
Andrey Nering created
94eb286
chore: prepare for openai gpt 5.3 + codex (#136)
Andrey Nering created
52bfb10
chore: update NOTICE copyright
Christian Rocha created
81c0e00
chore(deps): bump the all group with 3 updates (#133)
Bumps the all group with 3 updates: [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema), [golang.org/x/oauth2](https://github.com/golang/oauth2) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/kaptinlin/jsonschema` from 0.6.9 to 0.6.10 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.6.9...v0.6.10) Updates `golang.org/x/oauth2` from 0.34.0 to 0.35.0 - [Commits](https://github.com/golang/oauth2/compare/v0.34.0...v0.35.0) Updates `google.golang.org/genai` from 1.44.0 to 1.45.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.44.0...v1.45.0) --- updated-dependencies: - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.6.10 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: golang.org/x/oauth2 dependency-version: 0.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.45.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
e60b360
chore: run `modernize`
Andrey Nering created
4dcbd58
v0.7.1
Andrey Nering created
281a714
fix(anthropic): thinking budget should not add to max tokens (#131)
Carlos Alexandro Becker created
8f4cfdb
v0.7.0
Andrey Nering created
30a5f02
feat: add vercel provider (#129)
Kujtim Hoxha created
cf8bd23
chore(deps): bump the all group with 3 updates (#128)
Bumps the all group with 3 updates: [github.com/RealAlexandreAI/json-repair](https://github.com/RealAlexandreAI/json-repair), [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/RealAlexandreAI/json-repair` from 0.0.14 to 0.0.15 - [Release notes](https://github.com/RealAlexandreAI/json-repair/releases) - [Changelog](https://github.com/RealAlexandreAI/json-repair/blob/main/CHANGELOG.md) - [Commits](https://github.com/RealAlexandreAI/json-repair/compare/v0.0.14...v0.0.15) Updates `github.com/kaptinlin/jsonschema` from 0.6.7 to 0.6.9 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.6.7...v0.6.9) Updates `google.golang.org/genai` from 1.43.0 to 1.44.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.43.0...v1.44.0) --- updated-dependencies: - dependency-name: github.com/RealAlexandreAI/json-repair dependency-version: 0.0.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.6.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.44.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
6d9ff0c
chore(deps): bump the all group with 3 updates (#124)
Bumps the all group with 3 updates: [cloud.google.com/go/auth](https://github.com/googleapis/google-cloud-go), [github.com/kaptinlin/jsonschema](https://github.com/kaptinlin/jsonschema) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `cloud.google.com/go/auth` from 0.18.0 to 0.18.1 - [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/v0.18.0...auth/v0.18.1) Updates `github.com/kaptinlin/jsonschema` from 0.6.6 to 0.6.7 - [Commits](https://github.com/kaptinlin/jsonschema/compare/v0.6.6...v0.6.7) Updates `google.golang.org/genai` from 1.42.0 to 1.43.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.42.0...v1.43.0) --- updated-dependencies: - dependency-name: cloud.google.com/go/auth dependency-version: 0.18.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: github.com/kaptinlin/jsonschema dependency-version: 0.6.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.43.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
3e8997b
Handle ToolChoiceRequired for OpenAI (#119)
* Fix OpenAI provider to handle ToolChoiceRequired The OpenAI provider's toOpenAiTools() function was missing a case for fantasy.ToolChoiceRequired, causing it to fall through to the default case and treat "required" as a function name. This resulted in API errors: 'Invalid value for function_call: no function named "required" was specified in the functions parameter. OpenAI's API supports tool_choice: "required" (added April 2024), so this fix adds the missing case to properly map ToolChoiceRequired to "required" in the OpenAI API format. * Add test for ToolChoiceRequired handling
h8mankind created
60e7ccb
chore(deps): bump the all group with 2 updates (#120)
Bumps the all group with 2 updates: [github.com/go-viper/mapstructure/v2](https://github.com/go-viper/mapstructure) and [google.golang.org/genai](https://github.com/googleapis/go-genai). Updates `github.com/go-viper/mapstructure/v2` from 2.4.0 to 2.5.0 - [Release notes](https://github.com/go-viper/mapstructure/releases) - [Changelog](https://github.com/go-viper/mapstructure/blob/main/CHANGELOG.md) - [Commits](https://github.com/go-viper/mapstructure/compare/v2.4.0...v2.5.0) Updates `google.golang.org/genai` from 1.41.0 to 1.42.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.41.0...v1.42.0) --- updated-dependencies: - dependency-name: github.com/go-viper/mapstructure/v2 dependency-version: 2.5.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all - dependency-name: google.golang.org/genai dependency-version: 1.42.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
d75c71e
v0.6.1
Andrey Nering created
5d40603
refactor(google): couple of tiny enhancements
Andrey Nering created