import { Credential } from "@opencode-ai/core/credential" import { Schema } from "effect" import { HttpApiEndpoint, HttpApiGroup, HttpApiSchema, OpenApi } from "effect/unstable/httpapi" export const CredentialGroup = HttpApiGroup.make("server.credential") .add( HttpApiEndpoint.patch("credential.update", "/api/credential/:credentialID", { params: { credentialID: Credential.ID }, payload: Schema.Struct({ label: Schema.String }), success: HttpApiSchema.NoContent, }).annotateMerge( OpenApi.annotations({ identifier: "v2.credential.update", summary: "Update credential", description: "Update a stored credential label.", }), ), ) .add( HttpApiEndpoint.delete("credential.remove", "/api/credential/:credentialID", { params: { credentialID: Credential.ID }, success: HttpApiSchema.NoContent, }).annotateMerge( OpenApi.annotations({ identifier: "v2.credential.remove", summary: "Remove credential", description: "Remove a stored integration credential.", }), ), )