diff options
| author | Adam Malczewski <[email protected]> | 2026-06-05 21:20:12 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-05 21:20:12 +0900 |
| commit | 7fb3269c698ae583ea7997ce206c4ae252fd3218 (patch) | |
| tree | 247d03408ecccd633290ea56b1b08811ebe460ec /packages/credential-store/src/extension.ts | |
| parent | 4283d1f8a0bc3953e65962a2364c903d0015f047 (diff) | |
| download | dispatch-7fb3269c698ae583ea7997ce206c4ae252fd3218.tar.gz dispatch-7fb3269c698ae583ea7997ce206c4ae252fd3218.zip | |
feat(backend): credential-store + model selection/catalog (GET /models) + per-turn cwd through orchestrator/transport/host-bin
Diffstat (limited to 'packages/credential-store/src/extension.ts')
| -rw-r--r-- | packages/credential-store/src/extension.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/credential-store/src/extension.ts b/packages/credential-store/src/extension.ts new file mode 100644 index 0000000..8f2a826 --- /dev/null +++ b/packages/credential-store/src/extension.ts @@ -0,0 +1,29 @@ +import type { Extension, Manifest } from "@dispatch/kernel"; +import type { Credential } from "./registry.js"; +import { createCredentialStore } from "./registry.js"; +import { credentialStoreHandle } from "./service.js"; + +export const manifest: Manifest = { + id: "credential-store", + name: "Credential Store", + version: "0.0.0", + apiVersion: "^0.1.0", + trust: "bundled", + activation: "eager", + contributes: { services: ["credential-store/registry"] }, +}; + +export function createCredentialStoreExtension(deps: { + credentials: readonly Credential[]; +}): Extension { + return { + manifest, + activate(host) { + const store = createCredentialStore({ + credentials: deps.credentials, + getProvider: (id) => host.getProviders().get(id), + }); + host.provideService(credentialStoreHandle, store); + }, + }; +} |
