From ab74946c3b6e1c2e55e47690d11ad838468d5c2f Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Fri, 5 Jun 2026 00:50:05 +0900 Subject: feat(auth): provider resolves credentials via AuthContract, not config - kernel HostAPI: add getAuthProviders()/getAuthProvider(id) read-views (mirrors getProviders) - provider-openai-compat: activate() resolves creds via host.getAuthProvider("apikey").resolve(); dependsOn auth-apikey; model stays config-driven - host-bin: mirror the new getters in post-activation HostAPI stub - auth-apikey is no longer vestigial; auth seam exercised end-to-end - 185 tests pass; typecheck + biome clean; verified live (curl returns real response) --- packages/kernel/src/contracts/extension.ts | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'packages/kernel/src/contracts') diff --git a/packages/kernel/src/contracts/extension.ts b/packages/kernel/src/contracts/extension.ts index 7078a9a..424f714 100644 --- a/packages/kernel/src/contracts/extension.ts +++ b/packages/kernel/src/contracts/extension.ts @@ -230,6 +230,12 @@ export interface HostAPI { /** Read-only view of all registered tools. */ readonly getTools: () => ReadonlyMap; + /** Read-only view of all registered auth providers. */ + readonly getAuthProviders: () => ReadonlyMap; + + /** Look up a single auth provider by id. */ + readonly getAuthProvider: (id: string) => AuthContract | undefined; + /** Register a scheduled job with the host's scheduler. */ readonly scheduler: { readonly register: (job: ScheduledJob) => void; -- cgit v1.2.3