Skip to content

feat: go-llm-sdk integration (v2.0.0) - #198

Merged
jkyberneees merged 2 commits into
mainfrom
feat/go-llm-sdk-v2
Sep 4, 2026
Merged

feat: go-llm-sdk integration (v2.0.0)#198
jkyberneees merged 2 commits into
mainfrom
feat/go-llm-sdk-v2

Conversation

@jkyberneees

Copy link
Copy Markdown
Contributor

Summary

  • Replace internal/llm with go-llm-sdk. LLM identity is now provider + model + providers{} (this is the v2.0.0 break).
  • Keep v1 base_url / api_key as loud aliases (infer provider, or register legacy). ./odek.json cannot set provider / providers / llm.
  • Persist conversation state as session.Message (v1 nested tool_calls on disk). Sub-agents inherit provider identity in the task envelope.
  • Pin the SDK gap-fix commit (cache usage, idle timeout, reasoning_content replay, separate OpenAI system messages). Companion: feat: odek v2 merge-blocker gaps (cache usage, idle timeout, reasoning replay) go-llm-sdk#4

Test plan

  • go test -count=1 ./internal/loop/ ./internal/session/ ./internal/llmclient/ ./internal/config/ ./internal/memory/extended/ .
  • go test -count=1 ./cmd/odek/ -run 'TestGlobalConfigTemplate|TestLocalConfigTemplate|TestConfigView|TestHandleProfiles|TestHandleModelList'
  • go test -count=1 ./cmd/odek/ (full CLI package)
  • CI golangci-lint + govulncheck
  • Live smoke: odek run --provider deepseek and a v1 base_url-only ~/.odek/config.json

See docs/MIGRATION.md.

Made with Cursor

v2.0.0: LLM identity is provider+model via the SDK registry. v1
base_url/api_key remain loud aliases. Sessions keep the nested
tool_calls JSON shape so existing ~/.odek/sessions still load.

Co-authored-by: Cursor <cursoragent@cursor.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 4, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
odek 1ae3dc9 Commit Preview URL

Branch Preview URL
Sep 04 2026, 06:47 PM

Pin go-llm-sdk v0.2.1, persist session provider, fill provider keys
from env before leftover Unsetenv, and make GET /api/models the
picker catalog.

BREAKING CHANGE: GET /api/profiles is removed. Clients must use
GET /api/models (configured model + provider ListModels).

Co-authored-by: Cursor <cursoragent@cursor.com>
@jkyberneees
jkyberneees merged commit 5376639 into main Sep 4, 2026
10 checks passed
@jkyberneees
jkyberneees deleted the feat/go-llm-sdk-v2 branch September 4, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant