import type { BobbinContext, QueryValue, XrpcRequestInit } from './client'; import { jsonGet, rawGet } from './_request'; import type * as Archive from './lexicons/types/sh/tangled/repo/archive'; import type * as Blob_ from './lexicons/types/sh/tangled/repo/blob'; import type * as Branch from './lexicons/types/sh/tangled/repo/branch'; import type * as Branches from './lexicons/types/sh/tangled/repo/branches'; import type * as Compare from './lexicons/types/sh/tangled/repo/compare'; import type * as DescribeRepo from './lexicons/types/sh/tangled/repo/describeRepo'; import type * as Diff from './lexicons/types/sh/tangled/repo/diff'; import type * as GetDefaultBranch from './lexicons/types/sh/tangled/repo/getDefaultBranch'; import type * as Languages from './lexicons/types/sh/tangled/repo/languages'; import type * as ListSecrets from './lexicons/types/sh/tangled/repo/listSecrets'; import type * as Log from './lexicons/types/sh/tangled/repo/log'; import type * as Tag from './lexicons/types/sh/tangled/repo/tag'; import type * as Tags from './lexicons/types/sh/tangled/repo/tags'; import type * as Tree from './lexicons/types/sh/tangled/repo/tree'; // wrappers for bobbin's knot-proxied repo endpoints. const asParams = (params: object): Record => params as unknown as Record; export const tree = (ctx: BobbinContext, params: Tree.$params, init?: XrpcRequestInit) => jsonGet(ctx, 'sh.tangled.repo.tree', asParams(params), init); export const blob = (ctx: BobbinContext, params: Blob_.$params, init?: XrpcRequestInit) => jsonGet(ctx, 'sh.tangled.repo.blob', asParams(params), init); export const branch = (ctx: BobbinContext, params: Branch.$params, init?: XrpcRequestInit) => jsonGet(ctx, 'sh.tangled.repo.branch', asParams(params), init); export const getDefaultBranch = ( ctx: BobbinContext, params: GetDefaultBranch.$params, init?: XrpcRequestInit ) => jsonGet( ctx, 'sh.tangled.repo.getDefaultBranch', asParams(params), init ); export const describeRepo = ( ctx: BobbinContext, params: DescribeRepo.$params, init?: XrpcRequestInit ) => jsonGet(ctx, 'sh.tangled.repo.describeRepo', asParams(params), init); export const languages = (ctx: BobbinContext, params: Languages.$params, init?: XrpcRequestInit) => jsonGet(ctx, 'sh.tangled.repo.languages', asParams(params), init); export const listSecrets = ( ctx: BobbinContext, params: ListSecrets.$params, init?: XrpcRequestInit ) => jsonGet(ctx, 'sh.tangled.repo.listSecrets', asParams(params), init); // schema-less json passthroughs; callers supply the shape. export const log = (ctx: BobbinContext, params: Log.$params, init?: XrpcRequestInit) => jsonGet(ctx, 'sh.tangled.repo.log', asParams(params), init); export const diff = ( ctx: BobbinContext, params: Diff.$params, init?: XrpcRequestInit ) => jsonGet(ctx, 'sh.tangled.repo.diff', asParams(params), init); export const compare = ( ctx: BobbinContext, params: Compare.$params, init?: XrpcRequestInit ) => jsonGet(ctx, 'sh.tangled.repo.compare', asParams(params), init); export const branches = ( ctx: BobbinContext, params: Branches.$params, init?: XrpcRequestInit ) => jsonGet(ctx, 'sh.tangled.repo.branches', asParams(params), init); export const tags = ( ctx: BobbinContext, params: Tags.$params, init?: XrpcRequestInit ) => jsonGet(ctx, 'sh.tangled.repo.tags', asParams(params), init); export const tag = (ctx: BobbinContext, params: Tag.$params, init?: XrpcRequestInit) => jsonGet(ctx, 'sh.tangled.repo.tag', asParams(params), init); // raw response for streaming/download. export const archive = (ctx: BobbinContext, params: Archive.$params, init?: XrpcRequestInit) => rawGet(ctx, 'sh.tangled.repo.archive', asParams(params), init);