import { ok } from "@atcute/client"; import type { OAuthUserAgent } from "@atcute/oauth-browser-client"; import { spindleXrpc, type SpindleTarget } from "#lib/api/spindlewrite.ts"; import { mainSchema as approvePipelineSchema } from "#lib/api/lexicons/types/org/tangled/ci/approvePipeline.ts"; import { mainSchema as retryPipelineSchema } from "#lib/api/lexicons/types/org/tangled/ci/retryPipeline.ts"; export const approvePipeline = async ( agent: OAuthUserAgent, spindle: URL, target: SpindleTarget, pipeline: string ): Promise => { await ok( (await spindleXrpc(agent, spindle, target)).call(approvePipelineSchema, { input: { repo: target.repoDid, pipeline } }) ); }; export const retryPipeline = async ( agent: OAuthUserAgent, spindle: URL, target: SpindleTarget, pipeline: string ): Promise => { const retried = await ok( (await spindleXrpc(agent, spindle, target)).call(retryPipelineSchema, { input: { repo: target.repoDid, pipeline } }) ); return retried.pipeline; };