summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/contracts
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/kernel/src/contracts
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/kernel/src/contracts')
-rw-r--r--packages/kernel/src/contracts/extension.ts6
1 files changed, 6 insertions, 0 deletions
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<string, ToolContract>;
+ /** Read-only view of all registered auth providers. */
+ readonly getAuthProviders: () => ReadonlyMap<string, AuthContract>;
+
+ /** 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;