summaryrefslogtreecommitdiffhomepage
path: root/packages/host-bin
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-05 00:50:05 +0900
committerAdam Malczewski <[email protected]>2026-06-05 00:50:05 +0900
commitab74946c3b6e1c2e55e47690d11ad838468d5c2f (patch)
tree7c12ea79b1817dbff939d85d1690866313d4b0f9 /packages/host-bin
parentefb4737fd22572f757e7a9eb1034dd96ae1b6593 (diff)
downloaddispatch-ab74946c3b6e1c2e55e47690d11ad838468d5c2f.tar.gz
dispatch-ab74946c3b6e1c2e55e47690d11ad838468d5c2f.zip
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)
Diffstat (limited to 'packages/host-bin')
-rw-r--r--packages/host-bin/src/main.ts5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/host-bin/src/main.ts b/packages/host-bin/src/main.ts
index a3eb164..fe36e80 100644
--- a/packages/host-bin/src/main.ts
+++ b/packages/host-bin/src/main.ts
@@ -57,6 +57,8 @@ function buildPostActivationHostAPI(
host: {
getProviders: () => ReadonlyMap<string, unknown>;
getTools: () => ReadonlyMap<string, unknown>;
+ getAuthProviders: () => ReadonlyMap<string, unknown>;
+ getAuthProvider: (id: string) => unknown;
},
deps: HostDeps,
): HostAPI {
@@ -79,6 +81,9 @@ function buildPostActivationHostAPI(
logger: deps.logger,
getProviders: () => host.getProviders() as ReturnType<HostAPI["getProviders"]>,
getTools: () => host.getTools() as ReturnType<HostAPI["getTools"]>,
+ getAuthProviders: () => host.getAuthProviders() as ReturnType<HostAPI["getAuthProviders"]>,
+ getAuthProvider: (id: string) =>
+ host.getAuthProvider(id) as ReturnType<HostAPI["getAuthProvider"]>,
scheduler: { register: (job: ScheduledJob) => deps.scheduler.register(job) },
};
}