blob: 8f2a8264f944618b576de4eacf625f05d6cadbb4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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);
},
};
}
|