Skip to content

feat(deps): integrate llm-kernel for shared provider, vault, and MCP types#17

Merged
epicsagas merged 1 commit into
mainfrom
feat/15-llm-kernel-integration
Jun 8, 2026
Merged

feat(deps): integrate llm-kernel for shared provider, vault, and MCP types#17
epicsagas merged 1 commit into
mainfrom
feat/15-llm-kernel-integration

Conversation

@epicsagas

Copy link
Copy Markdown
Owner

Closes #15

Changes

Replaces claudy's local implementations with shared types from llm-kernel (v0.3.x):

Module Before After
providers/index.rs Local ProviderIndex, ServiceDescriptor, embedded catalog (~130 lines) Re-export from llm_kernel::provider + local ModelDescriptor
providers/capabilities.rs Local AuthStrategy, CapabilityProfile trait + impls Re-export trait from llm-kernel; keep LaunchTarget impl
config/vault.rs Local SecretVault struct + Deref/DerefMut + load/persist helpers Re-export from llm_kernel::secrets; keep prune_outdated + claudy-specific fns
adapters/mcp/server.rs Manual JSON-RPC response builders Use McpServer for initialize_response() + tools(); keep async server_loop

Key decisions

  • ModelDescriptor kept local: llm-kernel's ModelChoice is not re-exported from the provider module, so claudy keeps its own ModelDescriptor with identical fields
  • Async MCP preserved: llm-kernel's Handler is synchronous, but claudy needs async runner::run_agent + MCP isError support, so the custom server_loop is retained
  • Catalog compatibility verified: llm-kernel's catalog.json contains all 16 of claudy's providers plus 4 additional ones

Stats

  • -428 net lines (600 removed, 172 added)
  • All 318 tests pass
  • Clippy clean

… and MCP protocol

- Re-export ProviderIndex, ServiceDescriptor from llm_kernel::provider
- Re-export SecretVault, redact_credential from llm_kernel::secrets
- Use McpServer for initialize_response() and tools() generation
- Keep local ModelDescriptor (llm-kernel ModelChoice not re-exported)
- Keep custom async server_loop for async agent runner + isError support
- Map ModelChoice -> ModelDescriptor in builtin.rs config wizard
- 600 lines removed, 172 added — net 428 line reduction
@epicsagas epicsagas merged commit b572596 into main Jun 8, 2026
5 checks passed
@epicsagas epicsagas deleted the feat/15-llm-kernel-integration branch June 8, 2026 20:33
@epicsagas epicsagas restored the feat/15-llm-kernel-integration branch June 8, 2026 20:57
@epicsagas epicsagas deleted the feat/15-llm-kernel-integration branch June 13, 2026 14:53
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.

Integrate llm-kernel: replace duplicated provider catalog, secrets vault, and MCP server

1 participant