summaryrefslogtreecommitdiffhomepage
path: root/packages/credential-store/src/extension.ts
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-05 21:20:12 +0900
committerAdam Malczewski <[email protected]>2026-06-05 21:20:12 +0900
commit7fb3269c698ae583ea7997ce206c4ae252fd3218 (patch)
tree247d03408ecccd633290ea56b1b08811ebe460ec /packages/credential-store/src/extension.ts
parent4283d1f8a0bc3953e65962a2364c903d0015f047 (diff)
downloaddispatch-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.ts29
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);
+ },
+ };
+}