Skip to content

refactor(provider): effectify Provider service#20160

Merged
kitlangton merged 1 commit intodevfrom
effectify-provider
Mar 31, 2026
Merged

refactor(provider): effectify Provider service#20160
kitlangton merged 1 commit intodevfrom
effectify-provider

Conversation

@kitlangton
Copy link
Copy Markdown
Contributor

Summary

  • Convert Provider from Instance.state + async functions to the standard Effect service pattern (ServiceMap.Service, InstanceState.make, Layer.effect, Effect.fn, makeRuntime)
  • Async facades preserve the existing public API — no consumer changes needed
  • list and getProvider use InstanceState.use for concise property selection
  • Update effect migration checklist (also marks Session, SessionProcessor, SessionPrompt, SessionCompaction as done)

Test plan

  • bun run typecheck passes
  • All 1604 tests pass (0 failures)
  • Manual: run opencode, verify provider listing and model selection work

@kitlangton kitlangton force-pushed the effectify-provider branch 2 times, most recently from c82ccd3 to 12ecb57 Compare March 31, 2026 01:09
Convert Provider from Instance.state + async functions to Effect service
pattern (ServiceMap.Service, InstanceState, Layer.effect, Effect.fn,
makeRuntime). Async facades preserve the existing public API so no
consumer changes are needed.
@kitlangton kitlangton merged commit 3df18dc into dev Mar 31, 2026
8 checks passed
@kitlangton kitlangton deleted the effectify-provider branch March 31, 2026 01:56
h33h pushed a commit to h33h/opencode that referenced this pull request Mar 31, 2026
jeromelau pushed a commit to jeromelau/opencode that referenced this pull request Apr 2, 2026
vicary pushed a commit to vicary/opencode that referenced this pull request Apr 6, 2026
balcsida pushed a commit to balcsida/opencode that referenced this pull request Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant